Remove extraneous dir.

git-svn-id: https://svn.apache.org/repos/asf/tika/tags/0.9@1070386 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/trunk/CHANGES.txt b/trunk/CHANGES.txt
deleted file mode 100644
index 0223a46..0000000
--- a/trunk/CHANGES.txt
+++ /dev/null
@@ -1,891 +0,0 @@
-Apache Tika Change Log
-======================
- 
-Release 0.9 - 02/13/2011
-
-The most notable changes in Tika 0.9 over previous releases are:
-
- * A critical bugfix preventing metadata from printing to the 
-   command line when the underlying Parser didn't generate 
-   XHTML output was fixed. (TIKA-596)
-   
- * The 0.8 version of Tika included a NetCDF jar file that pulled 
-   in tremendous amounts of redundant dependencies. This has 
-   been addressed in Tika 0.9 by republishing a minimal NetCDF 
-   jar and changing Tika to depend on that. (TIKA-556)
-   
- * MIME detection for iWork, and OpenXML documents has been 
-   improved. (TIKA-533, TIKA-562, TIKA-588)
-   
- * A critical backwards incompatible bug in PDF parsing that 
-   was introduced in Tika 0.8 has been fixed. (TIKA-548)
-   
- * Support for forked parsing in separate processes was added. 
-   (TIKA-416)
- 
- * Tika's language identifier now supports the Lithuanian 
-   language. (TIKA-582)
-
-Tika relies on the current set of major dependencies (generated using 
-mvn dependency:tree from the top-level tika src dir):
-
-org.apache.tika:tika-parent:pom:0.9-SNAPSHOT
-org.apache.tika:tika-core:bundle:0.9-SNAPSHOT
-+- org.osgi:org.osgi.core:jar:4.0.0:provided
-\- junit:junit:jar:3.8.1:test
-org.apache.tika:tika-parsers:bundle:0.9-SNAPSHOT
-+- org.apache.tika:tika-core:jar:0.9-SNAPSHOT:compile
-+- edu.ucar:netcdf:jar:4.2-min:compile
-|  \- org.slf4j:slf4j-api:jar:1.5.6:compile
-+- commons-httpclient:commons-httpclient:jar:3.1:compile
-|  +- commons-logging:commons-logging:jar:1.1.1:compile (version managed from 1.0.4)
-|  \- commons-codec:commons-codec:jar:1.2:compile
-+- org.apache.james:apache-mime4j:jar:0.6:compile
-+- org.apache.commons:commons-compress:jar:1.1:compile
-+- org.apache.pdfbox:pdfbox:jar:1.4.0:compile
-|  +- org.apache.pdfbox:fontbox:jar:1.4.0:compile
-|  \- org.apache.pdfbox:jempbox:jar:1.4.0:compile
-+- org.bouncycastle:bcmail-jdk15:jar:1.45:compile
-+- org.bouncycastle:bcprov-jdk15:jar:1.45:compile
-+- org.apache.poi:poi:jar:3.7:compile
-+- org.apache.poi:poi-scratchpad:jar:3.7:compile
-+- org.apache.poi:poi-ooxml:jar:3.7:compile
-|  +- org.apache.poi:poi-ooxml-schemas:jar:3.7:compile
-|  |  \- org.apache.xmlbeans:xmlbeans:jar:2.3.0:compile
-|  \- dom4j:dom4j:jar:1.6.1:compile
-+- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile
-+- org.ccil.cowan.tagsoup:tagsoup:jar:1.2:compile
-+- asm:asm:jar:3.1:compile
-+- com.drewnoakes:metadata-extractor:jar:2.4.0-beta-1:compile
-+- de.l3s.boilerpipe:boilerpipe:jar:1.1.0:compile
-+- rome:rome:jar:0.9:compile
-|  \- jdom:jdom:jar:1.0:compile
-+- junit:junit:jar:3.8.1:test
-+- org.mockito:mockito-core:jar:1.7:test
-|  +- org.hamcrest:hamcrest-core:jar:1.1:test
-|  \- org.objenesis:objenesis:jar:1.0:test
-\- org.slf4j:slf4j-log4j12:jar:1.5.6:test
-   \- log4j:log4j:jar:1.2.14:test
-org.apache.tika:tika-app:bundle:0.9-SNAPSHOT
-+- org.apache.tika:tika-parsers:jar:0.9-SNAPSHOT:provided
-|  +- org.apache.tika:tika-core:jar:0.9-SNAPSHOT:provided
-|  +- edu.ucar:netcdf:jar:4.2-min:provided
-|  +- commons-httpclient:commons-httpclient:jar:3.1:provided
-|  |  +- commons-logging:commons-logging:jar:1.0.4:provided
-|  |  \- commons-codec:commons-codec:jar:1.2:provided
-|  +- org.apache.james:apache-mime4j:jar:0.6:provided
-|  +- org.apache.commons:commons-compress:jar:1.1:provided
-|  +- org.apache.pdfbox:pdfbox:jar:1.4.0:provided
-|  |  +- org.apache.pdfbox:fontbox:jar:1.4.0:provided
-|  |  \- org.apache.pdfbox:jempbox:jar:1.4.0:provided
-|  +- org.bouncycastle:bcmail-jdk15:jar:1.45:provided
-|  +- org.bouncycastle:bcprov-jdk15:jar:1.45:provided
-|  +- org.apache.poi:poi:jar:3.7:provided
-|  +- org.apache.poi:poi-scratchpad:jar:3.7:provided
-|  +- org.apache.poi:poi-ooxml:jar:3.7:provided
-|  |  +- org.apache.poi:poi-ooxml-schemas:jar:3.7:provided
-|  |  |  \- org.apache.xmlbeans:xmlbeans:jar:2.3.0:provided
-|  |  \- dom4j:dom4j:jar:1.6.1:provided
-|  +- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:provided
-|  +- org.ccil.cowan.tagsoup:tagsoup:jar:1.2:provided
-|  +- asm:asm:jar:3.1:provided
-|  +- com.drewnoakes:metadata-extractor:jar:2.4.0-beta-1:provided
-|  +- de.l3s.boilerpipe:boilerpipe:jar:1.1.0:provided
-|  \- rome:rome:jar:0.9:provided
-|     \- jdom:jdom:jar:1.0:provided
-\- org.slf4j:slf4j-log4j12:jar:1.5.6:provided
-   +- org.slf4j:slf4j-api:jar:1.5.6:provided
-   \- log4j:log4j:jar:1.2.14:provided
-org.apache.tika:tika-bundle:bundle:0.9-SNAPSHOT
-+- org.apache.tika:tika-core:jar:0.9-SNAPSHOT:provided
-\- org.apache.tika:tika-parsers:jar:0.9-SNAPSHOT:provided
-   +- edu.ucar:netcdf:jar:4.2-min:provided
-   |  \- org.slf4j:slf4j-api:jar:1.5.6:provided
-   +- commons-httpclient:commons-httpclient:jar:3.1:provided
-   |  +- commons-logging:commons-logging:jar:1.0.4:provided
-   |  \- commons-codec:commons-codec:jar:1.2:provided
-   +- org.apache.james:apache-mime4j:jar:0.6:provided
-   +- org.apache.commons:commons-compress:jar:1.1:provided
-   +- org.apache.pdfbox:pdfbox:jar:1.4.0:provided
-   |  +- org.apache.pdfbox:fontbox:jar:1.4.0:provided
-   |  \- org.apache.pdfbox:jempbox:jar:1.4.0:provided
-   +- org.bouncycastle:bcmail-jdk15:jar:1.45:provided
-   +- org.bouncycastle:bcprov-jdk15:jar:1.45:provided
-   +- org.apache.poi:poi:jar:3.7:provided
-   +- org.apache.poi:poi-scratchpad:jar:3.7:provided
-   +- org.apache.poi:poi-ooxml:jar:3.7:provided
-   |  +- org.apache.poi:poi-ooxml-schemas:jar:3.7:provided
-   |  |  \- org.apache.xmlbeans:xmlbeans:jar:2.3.0:provided
-   |  \- dom4j:dom4j:jar:1.6.1:provided
-   +- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:provided
-   +- org.ccil.cowan.tagsoup:tagsoup:jar:1.2:provided
-   +- asm:asm:jar:3.1:provided
-   +- com.drewnoakes:metadata-extractor:jar:2.4.0-beta-1:provided
-   +- de.l3s.boilerpipe:boilerpipe:jar:1.1.0:provided
-   \- rome:rome:jar:0.9:provided
-      \- jdom:jdom:jar:1.0:provided
-org.apache.tika:tika:pom:0.9-SNAPSHOT
-
-The following people have contributed to Tika 0.9 by submitting or commenting
-on the issues resolved in this release:
-
-Alex Skochin
-Alexander Chow
-Antoine L.
-Antoni Mylka
-Benjamin Douglas
-Benson Margulies
-Chris A. Mattmann
-Cristian Vat
-Cyriel Vringer
-David Benson
-Erik Hetzner
-Gabriel Miklos
-Geoff Jarrad
-Jukka Zitting
-Ken Krugler
-Kostya Gribov
-Leszek Piotrowicz
-Martijn van Groningen
-Maxim Valyanskiy
-Michel Tremblay
-Nick Burch
-paul
-Paul Pearcy
-Peter van Raamsdonk
-Piotr Bartosiewicz
-Reinhard Schwab
-Scott Severtson
-Shinsuke Sugaya
-Staffan Olsson
-Steve Kearns
-Tom Klonikowski
-Žygimantas Medelis
-
-See http://s.apache.org/qi for more details on these contributions.
-
-
-Release 0.8 - 11/07/2010
-
-The most notable changes in Tika 0.8 over previous releases are:
-
- * Language identification is now dynamically configurable, 
-   managed via a config file loaded from the classpath. (TIKA-490)
-
- * Tika now supports parsing Feeds by wrapping the underlying
-   Rome library. (TIKA-466)
-
- * A quick-start guide for Tika parsing was contributed. (TIKA-464)
-
- * An approach for plumbing through XHTML attributes was added. (TIKA-379)
-
- * Media type hierarchy information is now taken into account when
-   selecting the best parser for a given input document. (TIKA-298)
-
- * Support for parsing common scientific data formats including netCDF
-   and HDF4/5 was added (TIKA-400 and TIKA-399).
-
- * Unit tests for Windows have been fixed, allowing TestParsers
-   to complete. (TIKA-398)
-
-Tika relies on the current set of major dependencies (generated using 
-mvn dependency:tree from the top-level tika src dir):
-
-org.apache.tika:tika-parent:pom:0.8-SNAPSHOT
-org.apache.tika:tika-core:bundle:0.8-SNAPSHOT
-\- junit:junit:jar:3.8.1:test
-org.apache.tika:tika-parsers:bundle:0.8-SNAPSHOT
-+- org.apache.tika:tika-core:jar:0.8-SNAPSHOT:compile
-+- edu.ucar:netcdf:jar:4.2:compile
-|  \- org.slf4j:slf4j-api:jar:1.5.6:compile
-+- commons-httpclient:commons-httpclient:jar:3.1:compile
-|  +- commons-logging:commons-logging:jar:1.1.1:compile (version managed from 1.0.4)
-|  \- commons-codec:commons-codec:jar:1.2:compile
-+- org.apache.commons:commons-compress:jar:1.1:compile
-+- org.apache.pdfbox:pdfbox:jar:1.3.1:compile
-|  +- org.apache.pdfbox:fontbox:jar:1.3.1:compile
-|  \- org.apache.pdfbox:jempbox:jar:1.3.1:compile
-+- org.bouncycastle:bcmail-jdk15:jar:1.45:compile
-+- org.bouncycastle:bcprov-jdk15:jar:1.45:compile
-+- org.apache.poi:poi:jar:3.7:compile
-+- org.apache.poi:poi-scratchpad:jar:3.7:compile
-+- org.apache.poi:poi-ooxml:jar:3.7:compile
-|  +- org.apache.poi:poi-ooxml-schemas:jar:3.7:compile
-|  |  \- org.apache.xmlbeans:xmlbeans:jar:2.3.0:compile
-|  \- dom4j:dom4j:jar:1.6.1:compile
-+- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile
-+- org.ccil.cowan.tagsoup:tagsoup:jar:1.2:compile
-+- asm:asm:jar:3.1:compile
-+- com.drewnoakes:metadata-extractor:jar:2.4.0-beta-1:compile
-+- de.l3s.boilerpipe:boilerpipe:jar:1.1.0:compile
-+- rome:rome:jar:0.9:compile
-|  \- jdom:jdom:jar:1.0:compile
-+- junit:junit:jar:3.8.1:test
-+- org.mockito:mockito-core:jar:1.7:test
-|  +- org.hamcrest:hamcrest-core:jar:1.1:test
-|  \- org.objenesis:objenesis:jar:1.0:test
-\- org.slf4j:slf4j-log4j12:jar:1.5.6:test
-   \- log4j:log4j:jar:1.2.14:test
-org.apache.tika:tika-app:bundle:0.8-SNAPSHOT
-+- org.apache.tika:tika-parsers:jar:0.8-SNAPSHOT:provided
-|  +- org.apache.tika:tika-core:jar:0.8-SNAPSHOT:provided
-|  +- edu.ucar:netcdf:jar:4.2:provided
-|  +- commons-httpclient:commons-httpclient:jar:3.1:provided
-|  |  +- commons-logging:commons-logging:jar:1.0.4:provided
-|  |  \- commons-codec:commons-codec:jar:1.2:provided
-|  +- org.apache.commons:commons-compress:jar:1.1:provided
-|  +- org.apache.pdfbox:pdfbox:jar:1.3.1:provided
-|  |  +- org.apache.pdfbox:fontbox:jar:1.3.1:provided
-|  |  \- org.apache.pdfbox:jempbox:jar:1.3.1:provided
-|  +- org.bouncycastle:bcmail-jdk15:jar:1.45:provided
-|  +- org.bouncycastle:bcprov-jdk15:jar:1.45:provided
-|  +- org.apache.poi:poi:jar:3.7:provided
-|  +- org.apache.poi:poi-scratchpad:jar:3.7:provided
-|  +- org.apache.poi:poi-ooxml:jar:3.7:provided
-|  |  +- org.apache.poi:poi-ooxml-schemas:jar:3.7:provided
-|  |  |  \- org.apache.xmlbeans:xmlbeans:jar:2.3.0:provided
-|  |  \- dom4j:dom4j:jar:1.6.1:provided
-|  +- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:provided
-|  +- org.ccil.cowan.tagsoup:tagsoup:jar:1.2:provided
-|  +- asm:asm:jar:3.1:provided
-|  +- com.drewnoakes:metadata-extractor:jar:2.4.0-beta-1:provided
-|  +- de.l3s.boilerpipe:boilerpipe:jar:1.1.0:provided
-|  \- rome:rome:jar:0.9:provided
-|     \- jdom:jdom:jar:1.0:provided
-\- org.slf4j:slf4j-log4j12:jar:1.5.6:provided
-   +- org.slf4j:slf4j-api:jar:1.5.6:provided
-   \- log4j:log4j:jar:1.2.14:provided
-org.apache.tika:tika-bundle:bundle:0.8-SNAPSHOT
-+- org.apache.tika:tika-core:jar:0.8-SNAPSHOT:provided
-\- org.apache.tika:tika-parsers:jar:0.8-SNAPSHOT:provided
-   +- edu.ucar:netcdf:jar:4.2:provided
-   |  \- org.slf4j:slf4j-api:jar:1.5.6:provided
-   +- commons-httpclient:commons-httpclient:jar:3.1:provided
-   |  +- commons-logging:commons-logging:jar:1.0.4:provided
-   |  \- commons-codec:commons-codec:jar:1.2:provided
-   +- org.apache.commons:commons-compress:jar:1.1:provided
-   +- org.apache.pdfbox:pdfbox:jar:1.3.1:provided
-   |  +- org.apache.pdfbox:fontbox:jar:1.3.1:provided
-   |  \- org.apache.pdfbox:jempbox:jar:1.3.1:provided
-   +- org.bouncycastle:bcmail-jdk15:jar:1.45:provided
-   +- org.bouncycastle:bcprov-jdk15:jar:1.45:provided
-   +- org.apache.poi:poi:jar:3.7:provided
-   +- org.apache.poi:poi-scratchpad:jar:3.7:provided
-   +- org.apache.poi:poi-ooxml:jar:3.7:provided
-   |  +- org.apache.poi:poi-ooxml-schemas:jar:3.7:provided
-   |  |  \- org.apache.xmlbeans:xmlbeans:jar:2.3.0:provided
-   |  \- dom4j:dom4j:jar:1.6.1:provided
-   +- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:provided
-   +- org.ccil.cowan.tagsoup:tagsoup:jar:1.2:provided
-   +- asm:asm:jar:3.1:provided
-   +- com.drewnoakes:metadata-extractor:jar:2.4.0-beta-1:provided
-   +- de.l3s.boilerpipe:boilerpipe:jar:1.1.0:provided
-   \- rome:rome:jar:0.9:provided
-      \- jdom:jdom:jar:1.0:provided
-
-The following people have contributed to Tika 0.8 by submitting or commenting
-on the issues resolved in this release:
-
-Łukasz Wiktor
-Adam Wilmer
-Alex Baranau
-Alex Ott
-André Ricardo
-Andrey Barhatov
-Andrey Sidorenko
-Antoni Mylka
-Antoni Mylka
-Arturo Beltran
-Attila Király
-Brad Greenlee
-Bruno Dumon
-Chris A. Mattmann
-Chris Bamford
-Christophe Gourmelon
-Dave Meikle
-David Weekly
-Dmitry Kuzmenko
-Erik Hetzner
-Geoff Jarrad
-Gerd Bremer
-Grant Ingersoll
-Jan Høydahl
-Jean-Philippe Ricard
-Jeremias Maerki
-Joao Garcia
-Jukka Zitting
-Julien Nioche
-Ken Krugler
-Liam O'Boyle
-Mads Hansen
-Marcel May
-Markus Goldbach
-Martijn van Groningen
-Maxim Valyanskiy
-Mike Hays
-Miroslav Pokorny
-Nick Burch
-Otis Gospodnetic
-Peter van Raamsdonk
-Peter Wolanin
-Peter_Lenahan@ibi.com
-Piotr Bartosiewicz
-Radek
-Rajiv Kumar
-Reinhard Schwab
-rick cameron
-Robert Muir
-Sanjeev Rao
-Simon Tyler
-Sjoerd Smeets
-Slavomir Varchula
-Staffan Olsson
-Tom De Leu
-Uwe Schindler
-Victor Kazakov
-
-See http://s.apache.org/ab0 for more details on these contributions.
-
-Release 0.7 - 3/31/2010
----------------------------------
-
-The most notable changes in Tika 0.7 over previous releases are:
-
- * MP3 file parsing was improved, including Channel and SampleRate 
-   extraction and ID3v2 support (TIKA-368, TIKA-372). Further, audio
-   parsing mime detection was also improved for the MIDI format. (TIKA-199)
-
- * Tika no longer relies on X11 for its RTF parsing functionality. (TIKA-386)
-
- * A Thread-safe bug in the AutoDetectParser was discovered and 
-   addressed. (TIKA-374)
-
- * Upgrade to PDFBox 1.0.0. The new PDFBox version improves PDF parsing
-   performance and fixes a number of text extraction issues. (TIKA-380)
-   
-The following people have contributed to Tika 0.7 by submitting or commenting
-on the issues resolved in this release:
-
-Adam Rauch 
-Benson Margulies 
-Brett S. 
-Chris A. Mattmann 
-Daan de Wit 
-Dave Meikle 
-Durville 
-Ingo Renner 
-Jukka Zitting 
-Ken Krugler 
-Kenny Neal 
-Markus Goldbach
-Maxim Valyanskiy 
-Nick Burch  
-Sami Siren 
-Uwe Schindler 
-
-See http://tinyurl.com/yklopby for more details on these contributions.
-
-Release 0.6 - 01/20/2010
----------------------------------
-
-The most notable changes in Tika 0.6 over the previous release are:
-
- * Mime-type detection for HTML (and all types) has been improved, allowing malformed
-   HTML files and those HTML files that require a bit more observed content
-   before the type is properly detected, are now correctly identified by 
-   the AutoDetectParser. (TIKA-327, TIKA-357, TIKA-366, TIKA-367)
-
- * Tika now has an additional OSGi bundle packaging that includes all the
-   required parser libraries. This bundle package makes it easy to use all
-   Tika features in an OSGi environment. (TIKA-340, TIKA-342)
-
- * The Apache POI dependency used for parsing Microsoft Office file formats
-   has been upgraded to version 3.6. The most visible improvement in this
-   version is the notably reduced ooxml jar file size. The tika-app jar size
-   is now down to 15MB from the 25MB in Tika 0.5. (TIKA-353)
-
- * Handling of character encoding information in input metadata and HTML
-   <meta> tags has been improved. When no applicable encoding information is
-   available, the encoding is detected by looking at the input data.
-   (TIKA-332, TIKA-334, TIKA-335, TIKA-341) 
-
- * Some document types like Excel spreadsheets contain content like
-   numbers or formulas whose exact text format depends on the current locale.
-   So far Tika has used the platform default locale in such cases, but
-   clients can now explicitly specify the locale by passing a Locale instance
-   in the parse context. (TIKA-125)
-
- * The default text output encoding of the tika-app jar is now UTF-8
-   when running on Mac OS X. This is because the default encoding used
-   by Java is not compatible with the console application in Mac OS X.
-   On all other platforms the text output from tika-app still uses
-   the platform default encoding. (TIKA-324)
-
- * A flash video (video/x-flv) parser has been added. (TIKA-328)
- 
- * The handling of Number and Date cell formatting within the Microsoft Excel
-   documents has been added. This include currencies, percentages and
-   scientific formats. (TIKA-103)
-   
-The following people have contributed to Tika 0.6 by submitting or commenting
-on the issues resolved in this release:
-
-Andrzej Bialecki
-Bertrand Delacretaz
-Chris A. Mattmann
-Dave Meikle
-Erik Hetzner
-Felix Meschberger
-Jukka Zitting
-Julien Nioche
-Ken Krugler  
-Luke Nezda
-Maxim Valyanskiy
-Niall Pemberton
-Peter Wolanin 
-Piotr B.
-Sami Siren
-Yuan-Fang Li
-
-See http://tinyurl.com/yc3dk67 for more details on these contributions.
-
-Release 0.5 - 11/14/2009
-------------------------
-
-The most notable changes in Tika 0.5 over the previous release are:
-
- * Improved RDF/OWL mime detection using both MIME magic as well as
-   pattern matching (TIKA-309)
-
- * An org.apache.tika.Tika facade class has been added to simplify common
-   text extraction and type detection use cases. (TIKA-269)
-
- * A new parse context argument was added to the Parser.parse() method.
-   This context map can be used to pass things like a delegate parser or
-   other settings to the parsing process. The previous parse() method
-   signature has been deprecated and will be removed in Tika 1.0. (TIKA-275)
-
- * A simple ngram-based language detection mechanism has been added along
-   with predefined language profiles for 18 languages. (TIKA-209)
-
- * The media type registry in Tika was synchronized with the MIME type
-   configuration in the Apache HTTP Server. Tika now knows about 1274
-   different media types and can detect 672 of those using 927 file
-   extension and 280 magic byte patterns. (TIKA-285)
-
- * Tika now uses the Apache PDFBox version 0.8.0-incubating for parsing PDF
-   documents. This version is notably better than the 0.7.3 release used
-   earlier. (TIKA-158)
-
-The following people have contributed to Tika 0.5 by submitting or commenting
-on the issues resolved in this release:
-
-Alex Baranov
-Bart Hanssens
-Benson Margulies
-Chris A. Mattmann
-Daan de Wit
-Erik Hetzner
-Frank Hellwig
-Jeff Cadow
-Joachim Zittmayr
-Jukka Zitting 
-Julien Nioche
-Ken Krugler
-Maxim Valyanskiy
-MRIT64
-Paul Borgermans
-Piotr B.
-Robert Newson
-Sascha Szott
-Ted Dunning
-Thilo Goetz
-Uwe Schindler
-Yuan-Fang Li
-
-See http://tinyurl.com/yl9prwp for more details on these contributions.
-
-Release 0.4 - 07/14/2009
-------------------------
-
-The most notable changes in Tika 0.4 over the previous release are:
-
-  * Tika has been split to three different components for increased
-    modularity. The tika-core component contains the key interfaces and
-    core functionality of Tika, tika-parsers contains all the adapters
-    to external parser libraries, and tika-app bundles everything together
-    in a single executable jar file. (TIKA-219)
-
-  * All the three Tika components are packaged as OSGi bundles. (TIKA-228)
-
-  * Tika now uses the new Commons Compress library for improved support
-    of compression and packaging formats like gzip, bzip2, tar, cpio,
-    ar, zip and jar. (TIKA-204)
-
-  * The memory use of parsing Excel sheets with lots of numbers
-    has been considerably reduced. (TIKA-211)
-
-  * The AutoDetectParser now has basic protection against "zip bomb"
-    attacks, where a specially crafted input document can expand to
-    practically infinite amount of output text. (TIKA-216)
-
-  * The ParsingReader class can now use a thread pool or a more complex
-    execution model (java.util.concurrent.Executor) for the background
-    parsing task. (TIKA-215)
-
-  * Automatic type detection of text- and XML-based documents has been
-    improved. (TIKA-225)
-
-  * Charset detection functionality from the ICU4J library was inlined
-    in Tika to avoid the dependency to the large ICU4J jar. (TIKA-229)
-
-  * Composite parsers like the AutoDetectParser now make sure that any
-    RuntimeExceptions, IOExceptions or SAXExceptions unrelated to the given
-    document stream or content handler are converted to TikaExceptions
-    before being passed to the client. (TIKA-198, TIKA-237)
-    
-The following people have contributed to Tika 0.4 by submitting or commenting
-on the issues resolved in this release:
-
-Chris A. Mattmann 
-Daan de Wit
-Dave Meikle 
-David Weekly
-Jeremias Maerki  	
-Jonathan Koren
-Jukka Zitting
-Karl Heinz Marbaise
-Keith R. Bennett
-Maxim Valyanskiy
-Niall Pemberton 
-Robert Burrell Donkin
-Sami Siren
-Siddharth Gargate 
-Uwe Schindler 
-
-See http://tinyurl.com/mgv9o3 for more details on these contributions.
-
-Release 0.3 - 03/09/2009
-------------------------
-
-The most notable changes in Tika 0.3 over the previous release are:
-
-  * Tika now supports mime type glob patterns specified using
-    standard JDK 1.4 (and beyond) syntax via the isregex attribute
-    on the glob tag. See:
-    
-    http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html
-    
-    for more information. (TIKA-194)
-
-  * Tika now supports the Office Open XML format used by
-    Microsoft Office 2007. (TIKA-152)
-
-  * All the metadata keys for Microsoft Office document properties are now
-    included as constants in the MSOffice interface. Clients should use
-    these constants instead of the raw string values to refer to specific
-    metadata items. (TIKA-186)
-
-  * Automatic detection of document types in Tika has been improved.
-    For example Tika can now detect plain text just by looking at the first
-    few bytes of the document. (TIKA-154)
-
-  * Tika now disables the loading of all external entities in XML files
-    that it parses as input documents. This improves security and avoids
-    problems with potentially broken references. (TIKA-185)
-
-  * Tika now replaces all invalid XML characters in the extracted text
-    content with spaces. This prevents problems when output from Tika
-    is processed with XML tools. (TIKA-180)
-
-  * The Tika CLI now correctly flushes its buffers when invoked with the
-    --text argument. This prevents the end of the text output from being
-    lost. (TIKA-179)
-
-  * Embedded text in MIDI files is now extracted. For example many karaoke
-    files contain song lyrics embedded as MIDI text.
-
-  * The text content of Microsoft Outlook message files no longer appears as
-    multiple copies in the extracted text. (TIKA-197)
-
-  * The ParsingReader class now makes most document metadata available
-    already before any of the extracted text is consumed. This makes it
-    easier for example to construct Lucene Document instances that contain
-    both extracted text and metadata. (TIKA-203)
-
-See http://tinyurl.com/tika-0-3-changes for a list of all changes in Tika 0.3.
-
-The following people have contributed to Tika 0.3 by submitting or commenting
-on the issues resolved in this release:
-
-    Andrzej Rusin
-    Chris A. Mattmann
-    Dave Meikle
-    Georger Ara�jo
-    Guillermo Arribas
-    Jonathan Koren
-    Jukka Zitting
-    Karl Heinz Marbaise
-    Kumar Raja Jana
-    Paul Borgermans
-    Peter Becker
-    S�bastien Michel
-    Uwe Schindler
-
-See http://tinyurl.com/tika-0-3-contributions for more details on
-these contributions.
-
-Release 0.2 - 12/04/2008
-------------------------
-
-1.  TIKA-109 - WordParser fails on some Word files (Dave Meikle)
-
-2.  TIKA-105 - Excel parser implementation based on POI's Event API
-               (Niall Pemberton)
-
-3.  TIKA-116 - Streaming parser for OpenDocument files (Jukka Zitting)
-
-4.  TIKA-117 - Drop JDOM and Jaxen dependencies (Jukka Zitting)
-
-5.  TIKA-115 - Tika package with all the dependencies (Jukka Zitting)
-
-6.  TIKA-97  - Tika GUI (Jukka Zitting)
-
-7.  TIKA-96  - Tika CLI (Jukka Zitting)
-
-8.  TIKA-112 - Use Commons IO 1.4 (Jukka Zitting)
-
-9.  TIKA-127 - Add support for Visio files (Jukka Zitting)
-
-10. TIKA-129 - node() support for the streaming XPath utility (Jukka Zitting)
-
-11. TIKA-130 - self-or-descendant axis does not match self in streaming XPath
-               (Jukka Zitting)
-
-12. TIKA-131 - Lazy XHTML prefix generation (Jukka Zitting)
-
-13. TIKA-128 - HTML parser should produce XHTML SAX events (Jukka Zitting)
-
-14. TIKA-133 - TeeContentHandler constructor should use varargs (Jukka Zitting)
-
-15. TIKA-132 - Refactor Excel extractor to parse per sheet and add
-               hyperlink support (Niall Pemberton)
-
-16. TIKA-134 - mvn package does not produce packages for bin/src
-               (Karl Heinz Marbaise)
-
-17. TIKA-138 - Ignore HTML style and script content (Jukka Zitting)
-
-18. TIKA-113 - Metadata (such as title) should not be part of content
-               (Jukka Zitting)
-
-19. TIKA-139 - Add a composite parser (Jukka Zitting)
-
-20. TIKA-142 - Include application/xhtml+xml as valid mime type for XMLParser
-               (mattmann)
-
-21. TIKA-143 - Add ParsingReader (Jukka Zitting)
-
-22. TIKA-144 - Upgrade nekohtml dependency (Jukka Zitting)
-
-23. TIKA-145 - Separate NOTICEs and LICENSEs for binary and source packages
-               (Jukka Zitting)
-
-24. TIKA-146 - Upgrade to POI 3.1 (Jukka Zitting)
-
-25. TIKA-99  - Support external parser programs (Jukka Zitting)
-
-26. TIKA-149 - Parser for Zip files (Dave Meikle & Jukka Zitting)
-
-27. TIKA-150 - Parser for tar files (Jukka Zitting)
-
-28. TIKA-151 - Stream compression support (Jukka Zitting)
-
-29. TIKA-156 - Some MIME magic patterns are ignored by MimeTypes
-               (Jukka Zitting)
-
-30. TIKA-155 - Java class file parser (Dave Brosius & Jukka Zitting)
-
-31. TIKA-108 - New Tika logos (Yongqian Li & Jukka Zitting)
-
-32. TIKA-120 - Add support for retrieving ID3 tags from MP3 files
-               (Dave Meikle & Jukka Zitting)
-
-33. TIKA-54  - Outlook msg parser
-               (Rida Benjelloun, Dave Meikle & Jukka Zitting)
-
-34. TIKA-114 - PDFParser : Getting content of the document using
-               "writer.ToString ()" , some words are stuck together
-               (Dave Meikle)
-
-35. TIKA-161 - Enable PMD reports (Jukka Zitting)
-
-36. TIKA-159 - Add support for parsing basic audio types: wav, aiff, au, midi
-               (Sami Siren)
-
-37. TIKA-140 - HTML parser unable to extract text
-               (Julien Nioche & Jukka Zitting)
-
-38. TIKA-163 - GUI does not support drag and drop in Gnome or KDE (Dave Meikle)
-
-39. TIKA-166 - Update HTMLParser to parse contents of meta tags (Dave Meikle)
-
-40. TIKA-164 - Upgrade of the nekohtml dependency to 1.9.9 (Jukka Zitting)
-
-41. TIKA-165 - Upgrade of the ICU4J dependency to version 3.8 (Jukka Zitting)
-
-42. TIKA-172 - New Open Document Parser that emits structured XHTML content
-               (Uwe Schindler & Jukka Zitting)
-
-43. TIKA-175 - Retrotranslate Tika for use in Java 1.4 environments (Jukka Zitting)
-
-44. TIKA-177 - Improvements to build instruction in README (Chris Hostetter & Jukka Zitting)
-
-45. TIKA-171 - New ContentHandler for plain text output that has no problem with
-               missing white space after XHTML block tags (Uwe Schindler & Jukka Zitting)
-
-Release 0.1-incubating - 12/27/2007
------------------------------------
-
-1. TIKA-5 - Port Metadata Framework from Nutch (mattmann)
-
-2. TIKA-11 - Consolidate test classes into a src/test/java directory tree (mattmann)
-
-3. TIKA-15 - Utils.print does not print a Content having no value (jukka)
-
-4. TIKA-19 - org.apache.tika.TestParsers fails (bdelacretaz)
-
-5. TIKA-16 - Issues with data files used for testing by TestParsers (bdelacretaz)
-
-6. TIKA-14 - MimeTypeUtils.getMimeType() returns the default mime type for
-             .odt (Open Office) file (bdelacretaz)
-
-7. TIKA-12 - Add URL capability to MimeTypesUtils (jukka)
-
-8. TIKA-13 - Fix obsolete package names in config.xml (siren)
-
-9. TIKA-10 - Remove MimeInfoException catch clauses and import from TestParsers (siren)
-
-10. TIKA-8 - Replaced the jmimeinfo dependency with a trivial mime type detector (jukka)
-
-11. TIKA-7 - Added the Lius Lite code. Added missing dependencies to POM (jukka)
-
-12. TIKA-18 - "Office" interface should be renamed "MSOffice" (mattmann)
-
-13. TIKA-23 - Decouple Parser from ParserConfig (jukka)
-
-14. TIKA-6 - Port Nutch (or better) MimeType detection system into Tika (J. Charron & mattmann)
-
-15. TIKA-25 - Removed hardcoded reference to C:\oo.xml in OpenOfficeParser (K. Bennett & jukka)
-
-16. TIKA-17 - Need to support URL's for input resources. (K. Bennett & mattmann)
-
-17. TIKA-22 - Remove @author tags from the java source (mattmann)
-
-18. TIKA-21 - Simplified configuration code (jukka)
-
-19. TIKA-17 - Rename all "Lius" classes to be "Tika" classes (jukka)
-
-20. TIKA-30 - Added utility constructors to TikaConfig (K. Bennett & jukka)
-
-21. TIKA-28 - Rename config.xml to tika-config.xml or similar (mattmann)
-
-22. TIKA-26 - Use Map<String, Content> instead of List<Content> (jukka)
-
-23. TIKA-31 - protected Parser.parse(InputStream stream,
-              Iterable<Content> contents) (jukka & K. Bennett)
-
-24. TIKA-36 - A convenience method for getting a document's content's text
-              would be helpful (K. Bennett & mattmann)
-
-25. TIKA-33 - Stateless parsers (jukka)
-
-26. TIKA-38 - TXTParser adds a space to the content it reads from a file (K. Bennett & ridabenjelloun)
-
-27. TIKA-35 - Extract MsOffice properties, use RereadableInputStream devloped by K. Bennett (ridabenjelloun & K. Bennett)
-
-28. TIKA-39 - Excel parsing improvements (siren & ridabenjelloun)
-
-29. TIKA-34 - Provide a method that will return a default configuration
-              (TikaConfig) (K. Bennett & mattmann)
-
-30. TIKA-42 - Content class needs (String, String, String) constructor (K. Bennett)
-
-31. TIKA-43 - Parser interface (jukka)
-
-32. TIKA-47 - Remove TikaLogger (jukka)
-
-33. TIKA-46 - Use Metadata in Parser (jukka & mattmann)
-
-34. TIKA-48 - Merge MS Extractors and Parsers (jukka)
-
-35. TIKA-45 - RereadableInputStream needs to be able to read to
-              the end of the original stream on first rewind. (K. Bennett)
-
-36. TIKA-41 - Resource files occur twice in jar file. (jukka)
-
-37. TIKA-49 - Some files have old-style license headers, fixed (Robert Burrell Donkin & bdelacretaz)
-
-38. TIKA-51 - Leftover temp files after running Tika tests, fixed (bdelacretaz)
-
-39. TIKA-40 - Tika needs to support diverse character encodings (jukka)
-
-40. TIKA-55 - ParseUtils.getParser() method variants should have consistent parameter orders
-              (K. Bennett)
-
-41. TIKA-52 - RereadableInputStream needs to support not closing the input stream it wraps.
-              (K. Bennett via bdelacretaz)
-
-42. TIKA-53 - XHTML SAX events from parsers (jukka)
-
-43. TIKA-57 - Rename org.apache.tika.ms to org.apache.tika.parser.ms (jukka)
-
-44. TIKA-62 - Use TikaConfig.getDefaultConfig() instead of a hardcoded
-              config path in TestParsers (jukka)
-
-45. TIKA-58 - Replace jtidy html parser with nekohtml based parser (siren)
-
-46. TIKA-60 - Rename Microsoft parser classes (jukka)
-
-47. TIKA-63 - Avoid multiple passes over the input stream in Microsoft parsers
-              (jukka)
-
-48. TIKA-66 - Use Java 5 features in org.apache.tika.mime (jukka)
-
-49. TIKA-56 - Mime type detection fails with upper case file extensions such as "PDF"
-             (mattmann)
-
-50. TIKA-65 - Add encode detection support for HTML parser (siren)
-
-51. TIKA-68 - Add dummy parser classes to be used as sentinels (jukka)
-
-52. TIKA-67 - Add an auto-detecting Parser implementation (jukka)
-
-53. TIKA-70 - Better MIME information for the Open Document formats (jukka)
-
-54. TIKA-71 - Remove ParserConfig and ParserFactory (jukka)
-
-55. TIKA-83 - Create a org.apache.tika.sax package for SAX utilities (jukka)
-
-56. TIKA-84 - Add MimeTypes.getMimeType(InputStream) (jukka)
-
-57. TIKA-85 - Add glob patterns from the ASF svn:eol-style documentation (jukka)
-
-58. TIKA-100 - Structured PDF parsing (jukka)
-
-59. TIKA-101 - Improve site and build (mattmann)
-
-60. TIKA-102 - Parser implementations loading a large amount of content
-               into a single String could be problematic (Niall Pemberton)
-
-61. TIKA-107 - Remove use of assertions for argument checking (Niall Pemberton)
-
-62. TIKA-104 - Add utility methods to throw IOException with the caused
-               intialized (jukka & Niall Pemberton)
-
-63. TIKA-106 - Remove dependency on Jakarta ORO - use JDK 1.4 Regex
-               (Niall Pemberton)
-
-64. TIKA-111 - Missing license headers (jukka)
-
-65. TIKA-112 - XMLParser improvement (ridabenjelloun)
diff --git a/trunk/HEADER.txt b/trunk/HEADER.txt
deleted file mode 100644
index 2944f98..0000000
--- a/trunk/HEADER.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
diff --git a/trunk/KEYS b/trunk/KEYS
deleted file mode 100644
index a543e7e..0000000
--- a/trunk/KEYS
+++ /dev/null
@@ -1,216 +0,0 @@
-This file contains the PGP keys of various developers.
-Please don't use them for email unless you have to. Their main
-purpose is code signing.
-
-Users:
-    pgp < KEYS
-    gpg --import KEYS
-
-Developers: 
-    pgp -kxa <your name>   # and append to KEYS (this file)
-    (pgpk -ll <your name> && pgpk -xa <your name>) >> KEYS
-    (gpg --list-sigs <your name> && gpg --armor --export <your name>) >> KEYS
-
-----
-
-pub   1024D/A355A63E 2006-09-19
-uid                  Jukka Zitting <jukka@apache.org>
-sig 3        A355A63E 2006-09-19  Jukka Zitting <jukka@apache.org>
-sig 3        A355A63E 2006-09-19  Jukka Zitting <jukka@apache.org>
-sig          E04F9A89 2006-10-13  Roy T. Fielding <fielding@gbiv.com>
-sig          AB821FBC 2006-10-14  Andrew McIntyre <fuzzylogic@apache.org>
-sig          9992ADFC 2006-10-17  Jeff McAdams (General purpose key) <jeffm@iglou.com>
-sig          5F7898A9 2006-10-17  William Glass-Husain <wglass@apache.org>
-sig          08C975E5 2006-10-18  Jim Jagielski <jim@apache.org>
-sig          BB550746 2006-10-23  J. Daniel Kulp <dan@kulp.com>
-sig          9BCFCE2F 2006-10-24  Garrett Rooney <rooneg@electricjellyfish.net>
-sig          BFD0307C 2006-10-25  J Aaron Farr <aaron.farr@jadetower.com>
-sig          2C5E4EC0 2006-10-28  Henri Yandell (For signing ASF releases) <bayard@apache.org>
-sig          D872E270 2006-10-30  Bozhong Lin <blin@iona.com>
-sig 3        669C4AB5 2006-10-16  Cezar Cristian Andrei <cezar@apache.org>
-sig          665E0760 2006-12-15  Afkham Azeez (WSO2 Email) <azeez@wso2.com>
-sig          329D80D2 2006-12-16  Sanka Samaranayake (Oxygenating The Web Service Platform) <sanka@wso2.com>
-sig          E41EDC7E 2006-12-17  Carsten Ziegeler <cziegeler@apache.org>
-sig          9C85222B 2007-05-14  Henning Schmiedehausen <hps@intermeta.de>
-sub   2048g/2542C54A 2006-09-19
-sig          A355A63E 2006-09-19  Jukka Zitting <jukka@apache.org>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.5 (GNU/Linux)
-
-mQGiBEUQYOcRBADsCu4zTVaB4TOhV7NyTvHhG1bqN+3Va5t4vpGQJg4M4U0Yu0ut
-4bCZP8I6rlXGj+TqDKVUx9kfGpIKX6Kw2TvZUYbHIDWh3UhQO1hD4xy4b8rOak1w
-3vDAMYA5L/jsZshNHp++aTgmvSoXGS5S1xsjrbrOics6iTtHXMV9TCRelwCgkwGj
-WHzPJnlSj0z4jAlRG4ZubAkD/3LOfrXtti1oirfDTnBZcxhvldyCT2yiE3LRe8N2
-ijmtNO6fl2fqXSWuP0L125ytlOvww1r6Gd8sVXiVwt2oKZVQ+A5028BbHa0u4e3y
-54nA21OBKLCC/hJvyOkPf9/kZk6S7fV+Tour/auixX4WqUg+siMRe/EwHw6bQDD/
-1OK8A/4rVPPCDTLvcQbT+B3z0IEfryMkivJMu7dEoENDXDK7N5KginugnCpJd+g9
-GbYgTYI2YPNB6A2eaR4lH8yQCMyDXC5+bGL+1NL3SP1qR4JE//nUcbx+iMTYR5uX
-kwmaGMXRl7z47OgtaWM/dVipNuNaqkD9WkuMGb4rdSNHrI+amrQgSnVra2EgWml0
-dGluZyA8anVra2FAYXBhY2hlLm9yZz6IXgQTEQIAHgUCRRBg5wIbAwYLCQgHAwID
-FQIDAxYCAQIeAQIXgAAKCRCnMFKco1WmPjMkAKCDzBKvBWCxE+NWc98LsnvMRXxy
-1gCdFNXW4qAnNrjwJeNZa9YqUy1e9+6IXgQTEQIAHgUCRRBg5wIbAwYLCQgHAwID
-FQIDAxYCAQIeAQIXgAAKCRCnMFKco1WmPjMkAJ9orvc5AMXyquJ3LTMw4ZZpfu2p
-cgCeNCIzVWrUnsm8fwq6QCZ2E0zC0aWIRgQQEQIABgUCRS8wYAAKCRBbloAQ4E+a
-ia2JAJ9JQKm04OY7mmePtbo3X3duAIJ2+ACdGjapH2csm0eN0ASY8LmZfbQ+2x+I
-RgQQEQIABgUCRTCZoQAKCRAN8HRdq4IfvC7dAJ0TbVWoLCMFJlJJEIgI+7SdIUXP
-FACgoNoQqRE1ddJwlvShuAr/TGkPWFWIRgQQEQIABgUCRTQd3AAKCRBeRSbOmZKt
-/N55AKDi8FaRU4mZE6Y1UeI4tedJjQuiyQCgyPQ4TNh1kQVAobJOaKfH5oOaq9SI
-RgQQEQIABgUCRTQwXwAKCRCZLEP9X3iYqZFSAJ4t6A3DaBAH38U2894lcxF4i89Z
-owCdGLGJemsJYJ0tG35klJ6LgptPJCGIRgQQEQIABgUCRTZPigAKCRCLOmAfCMl1
-5XQnAKDbXvf1/Ikkwk/Mm2gU/Oww3nenDQCeMXbNLANP61ZQVbiq2ptLprB9GIyI
-RgQQEQIABgUCRTzy9gAKCRCryO45u1UHRokqAKCSnWGzdBc7rUA8Hk+dSnotxAAk
-CACghNdwrn9yZOj9PkaC5AZHooTApbiIRgQQEQIABgUCRT4RZQAKCRDJHbjam8/O
-L25YAJ9PvcRqiI28JTR+2nPklshBIl4RPQCg4RVhfHfYYhrnp/PTPvsXwLwbmCiI
-RgQQEQIABgUCRT61ywAKCRBr4o6uv9AwfCzwAJ9B0LfpHiNiEcu4fiKwYRkrq23W
-2QCfQMXeANfjrLF5rOLBTlybG/iFVoOIRgQQEQIABgUCRUKpkgAKCRASQbyHLF5O
-wHbRAJ4kAkT2/s9+jxnQaYGxvGdhAWAv8wCghnhoDt5wEVO9g5B354EeQtBkgQKI
-RgQQEQIABgUCRUWYPwAKCRCXe/3Q2HLicG8SAJ9MsVvqPH2GtW9z6JGYwd72dL6q
-awCgulT1Osiy3BMvsS3GFLeojlxu1XaIRgQTEQIABgUCRTQR+QAKCRB4voXZZpxK
-ta2vAJ9LnSiN1u4vEI8gMfqSE45w+8laKgCfSFhq6NE6E+6pLWRjb/vaMxG34bKI
-RgQQEQIABgUCRYKMPAAKCRBK4siHZl4HYEhpAJ9E5g6gYEoB1o9eFreeeHEfJr2+
-SgCgt0rvIcRJt33Ya34WXjW2ec7ZYnGIRgQQEQIABgUCRYQagwAKCRD8d3QRMp2A
-0kLOAJ9zBUwMNkOQq5Zi5XymM8z3lkKE0ACdEqTWfzT30T7Gqcqam7rlnvjMlk2I
-RgQQEQIABgUCRYWMRQAKCRATLknU5B7cflKmAKCQp7dA9URTfyZeATsuuu1zrkMO
-7ACfRg4Ygus7DlFZpa8tDGTqCBkZByiIcQQQEQIAMQUCRkjN6CocSGVubmluZyBT
-Y2htaWVkZWhhdXNlbiA8aHBzQGludGVybWV0YS5kZT4ACgkQMoZOQZyFIiuU5ACf
-TfCWT2kwScYYl42+uhwXK8oUcQMAningCO/sTpoHOxSXI1PvlNXOFGXHuQINBEUQ
-YQMQCACkfsPxWTFYmAfnMI7sjWbYhMF/ym78xwwK+kIdHuqBCnjK8sGJD4BeRtA9
-E+fE7y9A2VIvvA4N9gj2EoOSiLmkU2XOEEj2K96FSt93He4wiOjBmT5QwGFqIfg+
-lrOTDcVXsmEqbSsD1Vfkee6MaZmNbKYT7JVEmFH13LRdCj5vjr3VV7wJ70vuPSPw
-HMJwLACFM60QrEGeKifjoouCvRxoNrz0LUcbxAkKpCs34dFt+PTtmzgeMmXYK4lj
-qqX9/UaUbElhlPQXF8iy3TV0B00WmkPwknUj49gStZ2CSbWtAOQBlcQ3uvC2KEeP
-oDQQSquzWiCRfPJezTl8m6tS0jn/AAUTB/0eq/QnmTLNIDeZWFLNJjWk6F6JU/ql
-ZYoKxnrEsz3Q9Z6QAewQ2+8XSa2gAA5LodgqiDmoMcmZ7uOvXTB1qXKdJ+AIMLO3
-WqbZ29e8STr2Pu+ouaoCQoSKv//Vdo+UYrEDcRiOXhTwfF2o6HD8UClZGYmdx7Op
-4T5H64Piky6CLsMudVr3SGU+9E1h8G61ddLynt2G6IJrl5s/FyW9xboX+Z/pkPAN
-K6GR108O7s4Pfp5uaIPpEcnCx+f+47PixEbmiBg2qIHk46Qo7nMFXO2ByZZzcALM
-0JvKSKcOY0ecBp6I9ZHfFOnxnA1rQEMsYFflFSxSE/nueFCvSJ+WW5uyiEkEGBEC
-AAkFAkUQYQMCGwwACgkQpzBSnKNVpj6lWACeMtA8UqDpB2tSJhgJBpy1zYbH06UA
-n2vnHhk+T9mBMOTPjgR9lLrdsnYg
-=Mj6z
------END PGP PUBLIC KEY BLOCK-----
-pub   1024D/B876884A 2007-12-24
-uid                  Chris Mattmann (CODE SIGNING KEY) <mattmann@apache.org>
-sig 3        B876884A 2007-12-24  Chris Mattmann (CODE SIGNING KEY) <mattmann@apache.org>
-sub   2048g/D3B4F350 2007-12-24
-sig          B876884A 2007-12-24  Chris Mattmann (CODE SIGNING KEY) <mattmann@apache.org>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.8 (Darwin)
-
-mQGiBEdvL9QRBACuaV06by+pxZHXIxBsfAFYJk7XJgsqR23m5ClCDPusMeaI4XGB
-eU8Nw4iVwgG3p5VLWLXeMIm/KPz3pmxiNyEP/dHoDxOPR+hAqlP5v03D1iK19H7q
-46BIecIwo8q0ei70fBLvMQN+apIFlvYDqVCTm1lxoCQafagqd9p2JtTf+wCg70yM
-nGtrejB+ZTTcb08f7SAHsLED/11vIdcxViN3u+3klhbb99bd/g9KvCU/I/7+MDx1
-3zrSvJV2b2wrxabUJ1Oxsb4/4BXq8A1FyhC1h/d2PsawqiY0GZ02cucbzEmdXH51
-UnrRLM9/txtZ2b7V6YkDmPf0k6rD0SjqAAy1ERekEVUOxnY4sPGmJoyac4j9+pO9
-1vH/A/9LRoJlPTfv/mFYty6/Egckhv48YoRUBo1dNh6IPQY0oVpAFbcXc3GiTyCu
-5iQp7utxP7hoJTUM2Hn5tF9D7IniRC9wsrcW8Gi/f82O4HlmyV4+Tt75nWx018oI
-ObGmwitT27EkOnFcQc9F+Q53nKr+a22SBbpfffF9Xdbkw7V73bQ3Q2hyaXMgTWF0
-dG1hbm4gKENPREUgU0lHTklORyBLRVkpIDxtYXR0bWFubkBhcGFjaGUub3JnPohg
-BBMRAgAgBQJHby/UAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQcPCcxrh2
-iEr8KwCffMIKMu3TBrGZVu1BPLbMBhjsrl8AoI15rg+tzYZZmZJD6tDS40klTsVA
-uQINBEdvL9QQCAClHjwXMu38iDR3nvbYkWmcz5rfBFvDm/KVQGLnnY96C1r890Ir
-cHxAlSpbGb6qPi5n27v87LoS2bYEitqCUUwB7AQLOgqmLvqMJ4qp5HUfTQ/wH9Br
-wK2LX1oGFJXH14lbZ7xW36n9A/JtXHY8vGz3GuDvKYqbdOCFo8fBLwotdFOHhNYy
-bBYS1G4gtmemXwzH8kcuoIW6LuoRNxluHi1tJGFC1F1uBoxKir7F7BC38DDNvhak
-dSJpm3WxFkEEkIUyIERVGVRoFzLlk72W0R3kZVvnXbtgPklTg/2Sy13Gb+MzTBYt
-5TF841neM/kHdgt45EgBhchHN3Ys3ljabihbAAMFB/4ke4Xe573V78UR/WTMUzfw
-pIysMUzEjNKqOfnAoNnR4WDDca4MwIUl62QqGTRrWZxTD8fAGYxc+m0qmygGKtYq
-LUYB5N/pLGu1sg2j23G8aBKthiCCE+jOr3uebU/j0BTzN/BwXCqIGogELFlPC5Tj
-Hr6c8LpkRFIOjVfuYB2TV4o2RfSFzrSFHCbrU82ojxhYSwyqDGAdD6EGtbbqaEMX
-tGZzHaMVm2gDeV9W2veurxOulgndNg2+FXvgUlOa+KZ2J2DxNBcJv1uBtDAWDyR9
-dTgTbK62ZnSjsnRYbgf0HdA+kW9n9XBMEHwgYk0q+doOWUOQFqC84TgrrhyDd1XZ
-iEkEGBECAAkFAkdvL9QCGwwACgkQcPCcxrh2iEplXwCgraY3ELlDStqpJDSUzVsN
-rGuNiwsAoKz92ycEjcMnoLnX8AaPADdo1m/P
-=zEfO
------END PGP PUBLIC KEY BLOCK-----
-pub   1024D/9740DD55 2008-10-15
-uid                  David Meikle (CODE SIGNING KEY) <dmeikle@apache.org>
-sig 3        9740DD55 2008-10-15  David Meikle (CODE SIGNING KEY) <dmeikle@apache.org>
-sub   2048g/C151A408 2008-10-15
-sig          9740DD55 2008-10-15  David Meikle (CODE SIGNING KEY) <dmeikle@apache.org>
-
-pub   4096R/AEA8C6AB 2010-03-27
-uid                  David Meikle (CODE SIGNING KEY) <dmeikle@apache.org>
-sig 3        AEA8C6AB 2010-03-27  David Meikle (CODE SIGNING KEY) <dmeikle@apache.org>
-sub   4096R/C35FC378 2010-03-27
-sig          AEA8C6AB 2010-03-27  David Meikle (CODE SIGNING KEY) <dmeikle@apache.org>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-
-mQGiBEj2VswRBACppF4XWDc5n0oSwNj8qXlv9kYp/iZn/T4hzFCjaGvAUn6fBHW/
-AYiwOneS/8vzSDfmURw9DpRFNt8W2Qsrzg2nuQxz+vcYk8qQp3bXpKVlpbMGYT8C
-hdYPg7C0FGHrpNUWGqc8nkRaqQq7whZZcL5ciSOqnxcDckOlA+8jw8tVcwCghxzk
-D3Sx+kraGE9kH6ZDFerhnmcD/R02g+eYIYrFbEauoErBoCpSRj/d9+wxlWvGGYen
-IBcu27xHfuaEAOtRXZOTs9M9poz6Peo1wZnp+mkJjXCLWCHBDL9mVUCYkHOr5cmc
-PdvkWxEUrRK9poRuYLjOcq4QWEin3P+mLmxVaT9XHvbdtS1zIRvnIvv9F3t0/8oa
-hyQcBACB4BJEqPD7SMz354Zl+Ke4R2sraMzbkW1TocG1S63bzPInNhJnPTQed9IY
-5gNpRKHjowzOX3ALAZf9pasHb2QiVTjm2zItn/BCrXFSIyCha97bOE5o+gYCwpQS
-a2czj6ZQRDNqh+eRfYLLdKQVcuHqCwkrkpq96Z28GLDbF8tURrQ0RGF2aWQgTWVp
-a2xlIChDT0RFIFNJR05JTkcgS0VZKSA8ZG1laWtsZUBhcGFjaGUub3JnPohgBBMR
-AgAgBQJI9lbMAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQWg3t75dA3VUk
-YACeL6o1ljt8Z8+pU1UaYGQnXZ831bcAnRakxk95qY5rPZbXg7dcWP0D7A3euQIN
-BEj2Vs8QCAC27/Nhska9l9g9mAm/qrLCGIMGiDKdVoYxkmRBW77HGB5WrXNv+0aO
-1NJIyOjmJCMkM2tCDKaVBRHkIEs/eaERuf23wUs/UilYZKEUgljtZDJh1VkmxkA1
-HWLX33jwweZgiz6SCj1w7FGeYqCZkS3ivfbaH67xMCLnsai7rw9RWy6+tDwxBOM1
-FQxK+al+rM47LXdLWqbVL2+ziUciTVyxD5w9bEImZFiUEdcR026AVLfNGyY/EFrU
-DGA+eJn+QwsuhXX4xk2MSCajvRVUYsYD2Ud/mfzE1W4OeszJPMdp8tCm5n11UtE6
-SVh1gFVjzGEncEgpMekJS+/ZUj9Dx50rAAMFB/9B7f3+mCzIHEZzYuzlqNjJVZaB
-XhPolX/Jb8I92TheqJnBoOcSqJ+J6rs4Nvm06XbVQbDB9287NQuarbtTC4jbBPwc
-Bnd8VVLYLWbc/y9M7ajGCAIIAS9TkpgjLhb09VzWK5nZS2MPYUiqiaRilIhJg2fP
-Z1AtTtLlisfmteIRBIBpkJs8JsxhbvP4h7w3veQd6HGPeaXtkshBN3ul+Mlc6U+8
-sJUtot5fClxToR1EkWuSw31W/YglH1ZimoIlwWCwwktHw0oS68OFVxbknEVB6W6q
-3v1hWdyikTwJF86Y13nNqKofEc65JZ3kSqhFrurhEmktNh0DXxG4kOtoKPy+iEkE
-GBECAAkFAkj2Vs8CGwwACgkQWg3t75dA3VU4PQCeNMHJYVMojKYy9zNB13vOztD7
-HCMAmQFUTckcVLR2qWXAWAzAmv8lawZGmQINBEuuMQwBEADs/GZ6i/YJxep0pi/w
-A80qQ2hb1pdYvghZFhUQT0iTAesMN3QIfdntd7Q89NJmg22uSVBtDuasFXF/AwsM
-lW7KMO+mE7z0G82rLmgTgKGPuNkUDOy/7/d7ltP9NQvcho2nBujS24R/UvcynPE4
-YgjyoE0yrbgV3ipmXBhn7fFrne34dXSvUI01tGEMmsCgD4Fof6XzGrrPLMZDF8eE
-IYk8wmzJ/3kGHaynMOvBnIFCtuyhY4tCcUWC23VNk1TqCXTjA4/Xw8/WocxSq44o
-+sfCmu1eCEBCVFc/9TvEDtAF/wLsfYQrDKntc9PL9JZve4yCxV4N8q50zh5P5gP3
-zTou78uC35L33axO+6dd2SyI/hQ3s7wUHnLfnscCOz076F+IIhTIMUzpSrHTNrEU
-njhSsYDAyJMgCWBq8DL6CSNb2JZ3SfbSUAdTaLF4HoWo5nkhx67tHiXINtqw2IZK
-0ASjJ8EpK7MFyQOnLIY88A8N7/3girMhkwCnbzKzh4JHgpSE+DHFl+8hv8EW7d9d
-Xh6mkrACAnR8wQBaBfTnWTJetOoez5pqrJpieZCqPeGbhFfdfMymKAB+FWGJQznK
-EJYWXncqfdK8DcNvYRp925CIOzr/Zm2JoLoou1LKreoquCKu5nMDDGma3Z7NYVpK
-naD2xmOehQ7O0XdSVO5P0kjDxwARAQABtDREYXZpZCBNZWlrbGUgKENPREUgU0lH
-TklORyBLRVkpIDxkbWVpa2xlQGFwYWNoZS5vcmc+iQI3BBMBAgAhAhsDAh4BAheA
-BQJLrjHwBQsJCAcDBRUKCQgLBRYCAwEAAAoJEGBlJ+auqMarJ9sP/RD9Qa3GS/S5
-c4ESbpshfrqmD2BF3HJgbAJms49/V2pyC6lpVNARretn7G070WRqcBVIPNW0LLGk
-UeMLrtUMTiL+IIUz8I5REAd0e5NXXx0dnUMkkicJJ0IW6Xu6YS1NgTB5IoTonhKS
-3eIjuDUYWGHS1ESEr0WI6Hv65IukkWFohl0awvgcqrS6unXFLtzEWedJn5hYyoFG
-VpeuIBjrId6rZvTOJCFomdsgoN6rCJdLdK3RCaPyTk3ArVz0zuMcs29iKBq9liVk
-t5CyvSagsTrlXv5gD6+pgRas7oE2ZvRBHjg0qBqvhibfqDEXFg+jcke131OS1e7K
-nrep0G32oXwszDDj2uGUk0Tw9RdzqZDZISehpQrhQ5uxNVyhF2Ms7sFnhjNd8G0l
-OfQkeVi1lkS3utdMya5bRI4ursnY6Kam658ZqzviYoXoHextpOlEPGHAiGfDlS3u
-KU3FqBX6jqZY3uxLpe/YAdxZcN8TjYnjXYTdcaTuXdvVvO3+xPVKG/STPoY3PU72
-u6xpjMhf/jSzwi5BfMSKw20q63zcUMHk1Das2zUTUoXgKPJJAKaCU8THcBX8TEJ8
-v8NEPEmtJe6ZnkXdt4b+9EqJC3h+LnzqoIZEiKnVirdatvuIMkTOln19WFRKDgOB
-LM5qzDMWO/C2onb46vCf9rIiGmyoHVghuQINBEuuMQwBEAC4aY7Ecu8JmuRForjm
-/nbRSk4uy7XHvGBzVO4gSfeSmPFRog+raLWjmh61nA95nGJOK+C8ztZ3dPmSmQ2T
-GIsTwRd1nb60Gz+G7bgiSbLXWZ5r8k9bGKCAHtXJF6uKXzdc1bM3vDYeXTSVEtKQ
-siyCIgQVVmNP1cqzOVWbpDhb5RfvN7ZMJNguJXI5M8OM7h8wUejmR3TJ05kE/uxR
-hve5YvX+fYZkOmKp8kHE5TQ98SDSm6tGvbdwQp4kgna7IpIkvYiNdQq75jElIwh/
-m/wuK1r3ip6w6FvhfqNt9nHkLigYZJ7DLNv4blFx7OhIGp2cl7jYNDFyzQJ0Lrfm
-ytPCtcWmSVTRNCxOvG+ry4v+b+HcSdf7rTKr+itPOSNDxgjK1d9nS1eFqfFD4qeC
-up/XkvDGAo3gD7115Tsj/lzcjdqztG3oeVhadIikvJkQ5QWAwV5feBm9qqiDTxZR
-yPyjmAC8xIjgweDBVbYUK+IvEdS4xnFCm/tpNqq46mCdkZtj11Viy7zHkBk/YJK3
-MRii8iGTFKd8UOxjzJ5ADab22hnJSTv/3bvKC0AlwSo6J9Y5PExB7ZOqvDqOhMAO
-AHVaxz+R/d+MAkaoK/MBTRI7RG3fyIdYQDTi1MJJEkdp/krtm1pTjTe/2E2Qeda4
-YY3lx6uSbdFZpD46oSANeIuEBQARAQABiQIfBBgBAgAJBQJLrjEMAhsMAAoJEGBl
-J+auqMarO+YQAJgYbXbmK6WRBNj4YukelrJEGQpd8lBaD1VoVjsx4nEfUU5i56Kd
-1remEs+AyttEdfc//jDuCKOEuWZyIsezE0pu6syL3X4EESR0VnQtwgwZj83/Drpw
-ObN448OfBKf7w2/jEFomuT7LaNCB2PFUd09kAySPfIvOYVLRjsnTL+qUyKKt5q/y
-xC1BLDstQ2NWppWly4I47zhbFbXSZ0Ggov3KS0GlW3LxEbCEUSxMLBmN4/J7s44q
-vDLuAhMx7lrnFwRYBzJPbyQwt5DaFUOGQAZqR7h5c/TRvcpsj+WlY4BODXs7//Fh
-BCPfLi+cutvmi5bwONgTdR/xmBdWX+0YgH2LGLj92oOoqVQMb38+U4EFgEBzhD6A
-SgFdCtqOdLGnKqTRB9UNWIy4Lj47Nlw7LF1ZpqdeKkMTUo4kzljzOT0611MZMA9z
-4EGV97e8OG1j29BghlfQoriEo9HWhZ/jnYDf4YEV4RUJr5te8F9XAG4MEPAgg7A4
-tFwSf6oikLFa1AGBrgyEyD3kBsV/tBdbpeC70kVKto5KSgRB4JajrBIthpLdCJlF
-kfdrwjmlka3INRFZ6pd9nzsS2oX542c+5m1g1yuIMAsbqTH60UD+pfG6ZUiXZBlP
-OXzKg4YqqSSvCKVQSOzFPkfcMMIkYzfKOk1PAgvcemNciWspXcFk3kBt
-=nwS9
------END PGP PUBLIC KEY BLOCK-----
diff --git a/trunk/LICENSE.txt b/trunk/LICENSE.txt
deleted file mode 100644
index 65491e8..0000000
--- a/trunk/LICENSE.txt
+++ /dev/null
@@ -1,302 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   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.
-
-
-
-APACHE TIKA SUBCOMPONENTS
-
-Apache Tika includes a number of subcomponents with separate copyright notices
-and license terms. Your use of these subcomponents is subject to the terms and
-conditions of the following licenses.
-
-MIME type information from file-4.26.tar.gz (http://www.darwinsys.com/file/)
-
-    Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.
-    Software written by Ian F. Darwin and others;
-    maintained 1994- Christos Zoulas.
-
-    This software is not subject to any export provision of the United States
-    Department of Commerce, and may be exported to any country or planet.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions
-    are met:
-    1. Redistributions of source code must retain the above copyright
-       notice immediately at the beginning of the file, without modification,
-       this list of conditions, and the following disclaimer.
-    2. Redistributions in binary form must reproduce the above copyright
-       notice, this list of conditions and the following disclaimer in the
-       documentation and/or other materials provided with the distribution.
-
-    THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
-    ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-    SUCH DAMAGE.
-
-Charset detection code from ICU4J (http://site.icu-project.org/)
-
-    Copyright (c) 1995-2009 International Business Machines Corporation
-    and others
-
-    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, and/or sell copies of the Software, and to permit persons
-    to whom the Software is furnished to do so, provided that the above
-    copyright notice(s) and this permission notice appear in all copies
-    of the Software and that both the above copyright notice(s) and this
-    permission notice appear in supporting documentation.
-
-    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 OF THIRD PARTY RIGHTS.
-    IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
-    BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
-    OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-    WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-    ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-    SOFTWARE.
-
-    Except as contained in this notice, the name of a copyright holder shall
-    not be used in advertising or otherwise to promote the sale, use or other
-    dealings in this Software without prior written authorization of the
-    copyright holder.
-
-
-Parsing functionality provided by the NetCDF Java Library (http://www.unidata.ucar.edu/software/netcdf-java/)
-    
-    Copyright 1993-2010 University Corporation for Atmospheric Research/Unidata
-    
-    Portions of this software were developed by the Unidata Program at the University 
-    Corporation for Atmospheric Research.
-    
-    Access and use of this software shall impose the following obligations and understandings 
-    on the user. The user is granted the right, without any fee or cost, to use, copy, modify, 
-    alter, enhance and distribute this software, and any derivative works thereof, and its 
-    supporting documentation for any purpose whatsoever, provided that this entire notice 
-    appears in all copies of the software, derivative works and supporting documentation. Further, 
-    UCAR requests that the user credit UCAR/Unidata in any publications that result from the use 
-    of this software or in any product that includes this software, although this is not an obligation. 
-    The names UCAR and/or Unidata, however, may not be used in any advertising or publicity to endorse 
-    or promote any products or commercial entity unless specific written permission is obtained from 
-    UCAR/Unidata. The user also understands that UCAR/Unidata is not obligated to provide the user with 
-    any support, consulting, training or assistance of any kind with regard to the use, operation and 
-    performance of this software nor to provide the user with any updates, revisions, new versions or 
-    "bug fixes."
-    
-    THIS SOFTWARE IS PROVIDED BY UCAR/UNIDATA "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, 
-    BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
-    ARE DISCLAIMED. IN NO EVENT SHALL UCAR/UNIDATA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 
-    DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 
-    OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE ACCESS, 
-    USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/trunk/NOTICE.txt b/trunk/NOTICE.txt
deleted file mode 100644
index b40043e..0000000
--- a/trunk/NOTICE.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Apache Tika
-Copyright 2011 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-Copyright 1993-2010 University Corporation for Atmospheric Research/Unidata
-This software contains code derived from UCAR/Unidata's NetCDF library.
-
diff --git a/trunk/README.txt b/trunk/README.txt
deleted file mode 100644
index d93ffac..0000000
--- a/trunk/README.txt
+++ /dev/null
@@ -1,102 +0,0 @@
-=================================================
-Welcome to Apache Tika  <http://tika.apache.org/>
-=================================================
-
-Apache Tika(TM) is a toolkit for detecting and extracting metadata and
-structured text content from various documents using existing parser
-libraries.
-
-Tika is a project of the Apache Software Foundation <http://www.apache.org/>.
-
-Apache Tika, Tika, Apache, the Apache feather logo, and the Apache Tika
-project logo are trademarks of The Apache Software Foundation.
-
-Getting Started
-===============
-
-Tika is based on Java 5 and uses the Maven 2 <http://maven.apache.org/>
-build system. To build Tika, use the following command in this directory:
-
-    mvn clean install
-
-The build consists of a number of components, including a standalone runnable
-jar that you can use to try out Tika features. You can run it like this:
-
-    java -jar tika-app/target/tika-app-*.jar --help
-
-License (see also LICENSE.txt)
-==============================
-
-Collective work: Copyright 2011 The Apache Software Foundation.
-
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You 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.
-
-Apache Tika includes a number of subcomponents with separate copyright
-notices and license terms. Your use of these subcomponents is subject to
-the terms and conditions of the licenses listed in the LICENSE.txt file.
-
-Export control
-==============
-
-This distribution includes cryptographic software.  The country in  which
-you currently reside may have restrictions on the import,  possession, use,
-and/or re-export to another country, of encryption software.  BEFORE using
-any encryption software, please  check your country's laws, regulations and
-policies concerning the import, possession, or use, and re-export of
-encryption software, to  see if this is permitted.  See
-<http://www.wassenaar.org/> for more information.
-
-The U.S. Government Department of Commerce, Bureau of Industry and
-Security (BIS), has classified this software as Export Commodity Control
-Number (ECCN) 5D002.C.1, which includes information security software using
-or performing cryptographic functions with asymmetric algorithms.  The form
-and manner of this Apache Software Foundation distribution makes it eligible
-for export under the License Exception ENC Technology Software Unrestricted
-(TSU) exception (see the BIS Export Administration Regulations, Section
-740.13) for both object code and source code.
-
-The following provides more details on the included cryptographic software:
-
-    Apache Tika uses the Bouncy Castle generic encryption libraries for
-    extracting text content and metadata from encrypted PDF files.
-    See http://www.bouncycastle.org/ for more details on Bouncy Castle.
-
-Mailing Lists
-=============
-
-Discussion about Tika takes place on the following mailing lists:
-
-    user@tika.apache.org    - About using Tika
-    dev@tika.apache.org     - About developing Tika
-
-Notification on all code changes are sent to the following mailing list:
-
-    commits@tika.apache.org
-
-The mailing lists are open to anyone and publicly archived.
-
-You can subscribe the mailing lists by sending a message to
-<LIST>-subscribe@tika.apache.org (for example user-subscribe@...).
-To unsubscribe, send a message to <LIST>-unsubscribe@tika.apache.org.
-For more instructions, send a message to <LIST>-help@tika.apache.org.
-
-Issue Tracker
-=============
-
-If you encounter errors in Tika or want to suggest an improvement or
-a new feature, please visit the Tika issue tracker at
-https://issues.apache.org/jira/browse/TIKA. There you can also find the
-latest information on known issues and recent bug fixes and enhancements.
diff --git a/trunk/assembly.xml b/trunk/assembly.xml
deleted file mode 100644
index cd79117..0000000
--- a/trunk/assembly.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You 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.
--->
-<assembly>
-  <id>src</id>
-  <formats>
-    <format>zip</format>
-  </formats>
-  <fileSets>
-    <fileSet>
-      <directory>${project.basedir}</directory>
-      <outputDirectory></outputDirectory>
-      <excludes>
-        <exclude>**/target/**</exclude>
-        <exclude>**/.*/**</exclude>
-      </excludes>
-    </fileSet>
-  </fileSets>
-</assembly>
diff --git a/trunk/pom.xml b/trunk/pom.xml
deleted file mode 100644
index 7df2056..0000000
--- a/trunk/pom.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you 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.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.tika</groupId>
-    <artifactId>tika-parent</artifactId>
-    <version>0.9</version>
-    <relativePath>tika-parent/pom.xml</relativePath>
-  </parent>
-
-  <artifactId>tika</artifactId>
-  <packaging>pom</packaging>
-  <name>Apache Tika</name>
-  <url>http://tika.apache.org</url>
-
-  <scm>
-    <connection>
-      scm:svn:http://svn.apache.org/repos/asf/tika/tags/0.9
-    </connection>
-    <developerConnection>
-      scm:svn:https://svn.apache.org/repos/asf/tika/tags/0.9
-    </developerConnection>
-    <url>http://svn.apache.org/viewvc/tika/tags/0.9</url>
-  </scm>
-
-  <modules>
-    <module>tika-parent</module>
-    <module>tika-core</module>
-    <module>tika-parsers</module>
-    <module>tika-app</module>
-    <module>tika-bundle</module>
-  </modules>
-
-  <build>
-    <plugins>
-      <plugin>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <configuration>
-          <skip>true</skip> <!-- No need to deploy the reactor -->
-        </configuration>
-      </plugin>
-       <plugin>
-        <artifactId>maven-site-plugin</artifactId>
-        <configuration>
-          <templateDirectory>src/site</templateDirectory>
-          <template>site.vm</template>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.rat</groupId>
-        <artifactId>apache-rat-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>.*/**</exclude>
-            <exclude>CHANGES.txt</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-  <profiles>
-    <profile>
-      <id>apache-release</id>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-assembly-plugin</artifactId>
-            <executions>
-              <execution>
-                <goals>
-                  <goal>single</goal>
-                </goals>
-                <phase>package</phase>
-                <configuration>
-                  <descriptors>
-                    <descriptor>assembly.xml</descriptor>
-                  </descriptors>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <profile>
-      <id>integrationTesting</id>
-      <modules>
-        <module>tika-bundle-it</module>
-      </modules>
-    </profile>
-  </profiles>
-
-</project>
diff --git a/trunk/src/site/apt/detection.apt b/trunk/src/site/apt/detection.apt
deleted file mode 100644
index 4fd9883..0000000
--- a/trunk/src/site/apt/detection.apt
+++ /dev/null
@@ -1,152 +0,0 @@
-                          -----------------
-                          Content Detection
-                          -----------------
-
-~~ Licensed to the Apache Software Foundation (ASF) under one or more
-~~ contributor license agreements.  See the NOTICE file distributed with
-~~ this work for additional information regarding copyright ownership.
-~~ The ASF licenses this file to You 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.
-
-Content Detection
-
-   This page gives you information on how content and language detection
-   works with Apache Tika, and how to tune the behaviour of Tika.
-
-%{toc|section=1|fromDepth=1}
-
-* {The Detector Interface}
-
-  The
-  {{{./api/org/apache/tika/detect/Detector.html}org.apache.tika.detect.Detector}}
-  interface is the basis for most of the content type detection in Apache
-  Tika. All the different ways of detecting content all implement the
-  same common method:
-
----
-MediaType detect(java.io.InputStream input,
-                 Metadata metadata) throws java.io.IOException
----
-
-   The <<<detect>>> method takes the stream to inspect, and a 
-   <<<Metadata>>> object that holds any additional information on
-   the content. The detector will return a 
-   {{{./api/org/apache/tika/mime/MediaType.html}MediaType}} object describing
-   its best guess as to the type of the file.
-
-   In general, only two keys on the Metadata object are used by Detectors.
-   These are <<<Metadata.RESOURCE_NAME_KEY>>> which should hold the name
-   of the file (where known), and <<<Metadata.CONTENT_TYPE>>> which should
-   hold the advertised content type of the file (eg from a webserver or
-   a content repository).
-
-
-* {Mime Magic Detction}
-
-  By looking for special ("magic") patterns of bytes near the start of
-  the file, it is often possible to detect the type of the file. For
-  some file types, this is a simple process. For others, typically
-  container based formats, the magic detection may not be enough. (More
-  detail on detecting container formats below)
-
-  Tika is able to make use of a a mime magic info file, in the 
-  {{{http://www.freedesktop.org/standards/shared-mime-info}Freedesktop MIME-info}} 
-  format to peform mime magic detection.
-
-  This is provided within Tika by
-  {{{./api/org/apache/tika/detect/MagicDetector.html}org.apache.tika.detect.MagicDetector}}. It is most commonly access via
-  {{{./api/org/apache/tika/mime/MimeTypes.html}org.apache.tika.mime.MimeTypes}},
-  normally sourced from the <<<tika-mimetypes.xml>>> file.
-   
-
-* {Resource Name Based Detection}
-
-  Where the name of the file is known, it is sometimes possible to guess 
-  the file type from the name or extension. Within the 
-  <<<tika-mimetypes.xml>>> file is a list of patterns which are used to
-  identify the type from the filename.
-
-  However, because files may be renamed, this method of detection is quick
-  but not always as accurate.
-
-  This is provided within Tika by
-  {{{./api/org/apache/tika/detect/NameDetector.html}org.apache.tika.detect.NameDetector}}.
-
-
-* {Known Content Type "Detection}
-
-  Sometimes, the mime type for a file is already known, such as when
-  downloading from a webserver, or when retrieving from a content store.
-  This information can be used by detectors, such as
-  {{{./api/org/apache/tika/mime/MimeTypes.html}org.apache.tika.mime.MimeTypes}},
-
-
-* {The default Mime Types Detector}
-
-  By default, the mime type detection in Tika is provided by
-  {{{./api/org/apache/tika/mime/MimeTypes.html}org.apache.tika.mime.MimeTypes}}.
-  This detector makes use of <<<tika-mimetypes.xml>>> to power
-  magic based and filename based detection.
-
-  Firstly, magic based detection is used on the start of the file.
-  If the file is an XML file, then the start of the XML is processed
-  to look for root elements. Next, if available, the filename 
-  (from <<<Metadata.RESOURCE_NAME_KEY>>>) is
-  then used to improve the detail of the detection, such as when magic
-  detects a text file, and the filename hints it's really a CSV. Finally,
-  if available, the supplied content type (from <<<Metadata.CONTENT_TYPE>>>)
-  is used to further refine the type.
-
-
-* {Container Aware Detection}
-
-  Several common file formats are actually held within a common container
-  format. One example is the PowerPoint .ppt and Word .doc formats, which
-  are both held within an OLE2 container. Another is Apple iWork formats,
-  which are actually a series of XML files within a Zip file.
-
-  Using magic detection, it is easy to spot that a given file is an OLE2
-  document, or a Zip file. Using magic detection alone, it is very difficult
-  (and often impossible) to tell what kind of file lives inside the container.
-
-  For some use cases, speed is important, so having a quick way to know the
-  container type is sufficient. For other cases however, you don't mind 
-  spending a bit of time (and memory!) processing the container to get a 
-  more accurate answer on its contents. For these cases, a container
-  aware detector should be used.
-
-  Tika provides a wrapping detector in the parsers bundle, of
-  {{{./api/org/apache/tika/detect/ContainerAwareDetector.html}org.apache.tika.detect.ContainerAwareDetector}}.
-  This detector will check for certain known containers, and if found,
-  will open them and detect the appropriate type based on the contents.
-  If the file isn't a known container, it will fall back to another
-  detector for the answer (most commonly the default 
-  <<<MimeTypes>>> detector)
-
-  Because this detector needs to read the whole file to process the
-  container, it must be used with a 
-  {{{./api/org/apache/tika/io/TikaInputStream.html}org.apache.tika.io.TikaInputStream}}.
-  If called with a regular <<<InputStream>>>, then all work will be done
-  by the fallback detector.
-
-  For more information on container formats and Tika, see
-  {{{http://wiki.apache.org/tika/MetadataDiscussion}}}
-
-
-* {Language Detection}
-
-  Tika is able to help identify the language of a piece of text, which
-  is useful when extracting text from document formats which do not include
-  language information in their metadata.
-
-  The language detection is provided by
-  {{{./api/org/apache/tika/language/LanguageIdentifier.html}org.apache.tika.language.LanguageIdentifier}}
diff --git a/trunk/src/site/apt/formats.apt b/trunk/src/site/apt/formats.apt
deleted file mode 100644
index 01086cc..0000000
--- a/trunk/src/site/apt/formats.apt
+++ /dev/null
@@ -1,145 +0,0 @@
-                       --------------------------
-                       Supported Document Formats
-                       --------------------------
-
-~~ Licensed to the Apache Software Foundation (ASF) under one or more
-~~ contributor license agreements.  See the NOTICE file distributed with
-~~ this work for additional information regarding copyright ownership.
-~~ The ASF licenses this file to You 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.
-
-Supported Document Formats
-
-   This page lists all the document formats supported by Apache Tika 0.6.
-   Follow the links to the various parser class javadocs for more detailed
-   information about each document format and how it is parsed by Tika.
-
-%{toc|section=1|fromDepth=1}
-
-* {HyperText Markup Language}
-
-   The HyperText Markup Language (HTML) is the lingua franca of the web.
-   Tika uses the {{{http://home.ccil.org/~cowan/XML/tagsoup/}TagSoup}}
-   library to support virtually any kind of HTML found on the web.
-   The output from the
-   {{{api/org/apache/tika/parser/html/HtmlParser.html}HtmlParser}} class
-   is guaranteed to be well-formed and valid XHTML, and various heuristics
-   are used to prevent things like inline scripts from cluttering the
-   extracted text content.
-
-* {XML and derived formats}
-
-   The Extensible Markup Language (XML) format is a generic format that can
-   be used for all kinds of content. Tika has custom parsers for some widely
-   used XML vocabularies like XHTML, OOXML and ODF, but the default
-   {{{api/org/apache/tika/parser/xml/DcXMLParser.html}DcXMLParser}}
-   class simply extracts the text content of the document and ignores any XML
-   structure. The only exception to this rule are Dublin Core metadata
-   elements that are used for the document metadata.
-
-* {Microsoft Office document formats}
-
-   Microsoft Office and some related applications produce documents in the
-   generic OLE 2 Compound Document and Office Open XML (OOXML) formats. The
-   older OLE 2 format was introduced in Microsoft Office version 97 and was
-   the default format until Office version 2007 and the new XML-based
-   OOXML format. The
-   {{{api/org/apache/tika/parser/microsoft/OfficeParser.html}OfficeParser}}
-   and
-   {{{api/org/apache/tika/parser/microsoft/ooxml/OOXMLParser.html}OOXMLParser}}
-   classes use {{{http://poi.apache.org/}Apache POI}} libraries to support
-   text and metadata extraction from both OLE2 and OOXML documents.
-
-* {OpenDocument Format}
-
-   The OpenDocument format (ODF) is used most notably as the default format
-   of the OpenOffice.org office suite. The
-   {{{api/org/apache/tika/parser/odf/OpenDocumentParser.html}OpenDocumentParser}}
-   class supports this format and the earlier OpenOffice 1.0 format on which
-   ODF is based.
-
-* {Portable Document Format}
-
-   The {{{api/org/apache/tika/parser/pdf/PDFParser.html}PDFParser}} class
-   parsers Portable Document Format (PDF) documents using the
-   {{{http://pdfbox.apache.org/}Apache PDFBox}} library.
-
-* {Electronic Publication Format}
-
-   The {{{api/org/apache/tika/parser/epub/EpubParser.html}EpubParser}} class
-   supports the Electronic Publication Format (EPUB) used for many digital
-   books.
-
-* {Rich Text Format}
-
-   The {{{api/org/apache/tika/parser/rtf/RTFParser.html}RTFParser}} class
-   uses the standard javax.swing.text.rtf feature to extract text content
-   from Rich Text Format (RTF) documents.
-
-* {Compression and packaging formats}
-
-   Tika uses the {{{http://commons.apache.org/compress/}Commons Compress}}
-   library to support various compression and packaging formats. The
-   {{{api/org/apache/tika/parser/pkg/PackageParser.html}PackageParser}}
-   class and its subclasses first parse the top level compression or
-   packaging format and then pass the unpacked document streams to a
-   second parsing stage using the parser instance specified in the
-   parse context.
-
-* {Text formats}
-
-   Extracting text content from plain text files seems like a simple task
-   until you start thinking of all the possible character encodings. The
-   {{{api/org/apache/tika/parser/txt/TXTParser.html}TXTParser}} class uses
-   encoding detection code from the {{{http://site.icu-project.org/}ICU}}
-   project to automatically detect the character encoding of a text document.
-
-* {Audio formats}
-
-   Tika can detect several common audio formats and extract metadata
-   from them. Even text extraction is supported for some audio files that
-   contain lyrics or other textual content. The
-   {{{api/org/apache/tika/parser/audio/AudioParser.html}AudioParser}}
-   and {{{api/org/apache/tika/parser/audio/MidiParser.html}MidiParser}}
-   classes use standard javax.sound features to process simple audio
-   formats, and the
-   {{{api/org/apache/tika/parser/mp3/Mp3Parser.html}Mp3Parser}} class
-   adds support for the widely used MP3 format.
-
-* {Image formats}
-
-   The {{{api/org/apache/tika/parser/image/ImageParser.html}ImageParser}}
-   class uses the standard javax.imageio feature to extract simple metadata
-   from image formats supported by the Java platform. More complex image
-   metadata is available through the
-   {{{api/org/apache/tika/parser/jpeg/JpegParser.html}JpegParser}} class
-   that uses the metadata-extractor library to supports Exif metadata
-   extraction from Jpeg images.
-
-* {Video formats}
-
-   Currently Tika only supports the Flash video format using a simple
-   parsing algorithm implemented in the
-   {{{api/org/apache/tika/parser/flv/FLVParser}FLVParser}} class.
-
-* {Java class files and archives}
-
-   The {{{api/org/apache/tika/parser/asm/ClassParser}ClassParser}} class
-   extracts class names and method signatures from Java class files, and
-   the {{{api/org/apache/tika/parser/pkg/ZipParser.html}ZipParser}} class
-   supports also jar archives.
-
-* {The mbox format}
-
-   The {{{api/org/apache/tika/parser/mbox/MboxParser.html}MboxParser}} can
-   extract email messages from the mbox format used by many email archives
-   and Unix-style mailboxes.
diff --git a/trunk/src/site/apt/gettingstarted.apt b/trunk/src/site/apt/gettingstarted.apt
deleted file mode 100644
index d692f98..0000000
--- a/trunk/src/site/apt/gettingstarted.apt
+++ /dev/null
@@ -1,207 +0,0 @@
-                     --------------------------------
-                     Getting Started with Apache Tika
-                     --------------------------------
-
-~~ Licensed to the Apache Software Foundation (ASF) under one or more
-~~ contributor license agreements.  See the NOTICE file distributed with
-~~ this work for additional information regarding copyright ownership.
-~~ The ASF licenses this file to You 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.
-
-Getting Started with Apache Tika
-
- This document describes how to build Apache Tika from sources and
- how to start using Tika in an application.
-
-Getting and building the sources
-
- To build Tika from sources you first need to either
- {{{../download.html}download}} a source release or
- {{{../source-repository.html}checkout}} the latest sources from
- version control.
-
- Once you have the sources, you can build them using the
- {{{http://maven.apache.org/}Maven 2}} build system. Executing the
- following command in the base directory will build the sources
- and install the resulting artifacts in your local Maven repository.
-
----
-mvn install
----
-
- See the Maven documentation for more information about the available
- build options.
-
- Note that you need Java 5 or higher to build Tika.
-
-Build artifacts
-
- The Tika 0.8 build consists of a number of components and produces
- the following main binaries:
-
- [tika-core/target/tika-core-0.8.jar]
-  Tika core library. Contains the core interfaces and classes of Tika,
-  but none of the parser implementations. Depends only on Java 5.
-
- [tika-parsers/target/tika-parsers-0.8.jar]
-  Tika parsers. Collection of classes that implement the Tika Parser
-  interface based on various external parser libraries.
-
- [tika-app/target/tika-app-0.8.jar]
-  Tika application. Combines the above libraries and all the external
-  parser libraries into a single runnable jar with a GUI and a command
-  line interface.
-
- [tika-bundle/target/tika-bundle-0.8.jar]
-  Tika bundle. An OSGi bundle that includes everything you need to use all
-  Tika functionality in an OSGi environment.
-
-Using Tika as a Maven dependency
-
- The core library, tika-core, contains the key interfaces and classes of Tika
- and can be used by itself if you don't need the full set of parsers from
- the tika-parsers component. The tika-core dependency looks like this:
-
----
-  <dependency>
-    <groupId>org.apache.tika</groupId>
-    <artifactId>tika-core</artifactId>
-    <version>0.8</version>
-  </dependency>
----
-
- If you want to use Tika to parse documents (instead  of simply detecting
- document types, etc.), you'll want to depend on tika-parsers instead: 
-
----
-  <dependency>
-    <groupId>org.apache.tika</groupId>
-    <artifactId>tika-parsers</artifactId>
-    <version>0.8</version>
-  </dependency>
----
-
- Note that adding this dependency will introduce a number of
- transitive dependencies to your project, including one on tika-core.
- You need to make sure that these dependencies won't conflict with your
- existing project dependencies. The listing below shows all the
- compile-scope dependencies of tika-parsers in the Tika 0.8 release.
-
----
-org.apache.tika:tika-parsers:bundle:0.8
-+- org.apache.tika:tika-core:jar:0.8:compile
-+- org.apache.commons:commons-compress:jar:1.0:compile
-+- org.apache.pdfbox:pdfbox:jar:0.8.0-incubating:compile
-|  +- org.apache.pdfbox:fontbox:jar:0.8.0-incubator:compile
-|  \- org.apache.pdfbox:jempbox:jar:0.8.0-incubator:compile
-+- org.apache.poi:poi:jar:3.6:compile
-+- org.apache.poi:poi-scratchpad:jar:3.6:compile
-+- org.apache.poi:poi-ooxml:jar:3.6:compile
-|  +- org.apache.poi:poi-ooxml-schemas:jar:3.6:compile
-|  |  \- org.apache.xmlbeans:xmlbeans:jar:2.3.0:compile
-|  \- dom4j:dom4j:jar:1.6.1:compile
-|     \- xml-apis:xml-apis:jar:1.0.b2:compile
-+- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile
-+- commons-logging:commons-logging:jar:1.1.1:compile
-+- org.ccil.cowan.tagsoup:tagsoup:jar:1.2:compile
-+- asm:asm:jar:3.1:compile
-+- log4j:log4j:jar:1.2.14:compile
-\- com.drewnoakes:metadata-extractor:jar:2.4.0-beta-1:compile
----
-
-Using Tika in an Ant project
-
- Unless you use a dependency manager tool like
- {{{http://ant.apache.org/ivy/}Apache Ivy}}, to use Tika in you application
- you can include the Tika jar files and the dependencies individually.
-
----
-<classpath>
-  ... <!-- your other classpath entries -->
-  <pathelement location="path/to/tika-core-0.8.jar"/>
-  <pathelement location="path/to/tika-parsers-0.8.jar"/>
-  <pathelement location="path/to/commons-logging-1.1.1.jar"/>
-  <pathelement location="path/to/commons-compress-1.0.jar"/>
-  <pathelement location="path/to/pdfbox-0.8.0-incubating.jar"/>
-  <pathelement location="path/to/fontbox-0.8.0-incubator.jar"/>
-  <pathelement location="path/to/jempbox-0.8.0-incubator.jar"/>
-  <pathelement location="path/to/poi-3.6.jar"/>
-  <pathelement location="path/to/poi-scratchpad-3.6.jar"/>
-  <pathelement location="path/to/poi-ooxml-3.6.jar"/>
-  <pathelement location="path/to/poi-ooxml-schemas-3.6.jar"/>
-  <pathelement location="path/to/xmlbeans-2.3.0.jar"/>
-  <pathelement location="path/to/dom4j-1.6.1.jar"/>
-  <pathelement location="path/to/xml-apis-1.0.b2.jar"/>
-  <pathelement location="path/to/geronimo-stax-api_1.0_spec-1.0.jar"/>
-  <pathelement location="path/to/tagsoup-1.2.jar"/>
-  <pathelement location="path/to/asm-3.1.jar"/>
-  <pathelement location="path/to/log4j-1.2.14.jar"/>
-  <pathelement location="path/to/metadata-extractor-2.4.0-beta-1.jar"/>
-</classpath>
----
-
- An easy way to gather all these libraries is to run
- "mvn dependency:copy-dependencies" in the tika-parsers source directory.
- This will copy all Tika dependencies to the <<<target/dependencies>>>
- directory.
-
- Alternatively you can simply drop the entire tika-app jar to your
- classpath to get all of the above dependencies in a single archive.
-
-Using Tika as a command line utility
-
- The Tika application jar (tika-app-0.8.jar) can be used as a command
- line utility for extracting text content and metadata from all sorts of
- files. This runnable jar contains all the dependencies it needs, so
- you don't need to worry about classpath settings to run it.
-
- The usage instructions are shown below.
-
----
-usage: java -jar tika-app-0.8.jar [option] [file]
-
-Options:
-    -? or --help       Print this usage message
-    -v or --verbose    Print debug level messages
-    -g or --gui        Start the Apache Tika GUI
-    -x or --xml        Output XHTML content (default)
-    -h or --html       Output HTML content
-    -t or --text       Output plain text content
-    -m or --metadata   Output only metadata
-
-Description:
-    Apache Tika will parse the file(s) specified on the
-    command line and output the extracted text content
-    or metadata to standard output.
-
-    Instead of a file name you can also specify the URL
-    of a document to be parsed.
-
-    If no file name or URL is specified (or the special
-    name "-" is used), then the standard input stream
-    is parsed.
-
-    Use the "--gui" (or "-g") option to start
-    the Apache Tika GUI. You can drag and drop files
-    from a normal file explorer to the GUI window to
-    extract text content and metadata from the files.
----
-
- You can also use the jar as a component in a Unix pipeline or
- as an external tool in many scripting languages.
-
----
-# Check if an Internet resource contains a specific keyword
-curl http://.../document.doc \
-  | java -jar tika-app-0.8.jar --text \
-  | grep -q keyword
----
diff --git a/trunk/src/site/apt/index.apt b/trunk/src/site/apt/index.apt
deleted file mode 100644
index 32d3408..0000000
--- a/trunk/src/site/apt/index.apt
+++ /dev/null
@@ -1,34 +0,0 @@
-                       ---------------
-                       Apache Tika 0.8
-                       ---------------
-
-~~ Licensed to the Apache Software Foundation (ASF) under one or more
-~~ contributor license agreements.  See the NOTICE file distributed with
-~~ this work for additional information regarding copyright ownership.
-~~ The ASF licenses this file to You 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.
-
-Apache Tika 0.9
-
-
-   The most notable changes in Tika 0.9 over the previous release are:
-
-      * TBD
-   
-
-   The following people have contributed to Tika 0.9 by submitting or
-   commenting on the issues resolved in this release:
-
-      * TBD
-
-
-   See TBD for more details on these contributions.
diff --git a/trunk/src/site/apt/parser.apt b/trunk/src/site/apt/parser.apt
deleted file mode 100644
index 9f35aaa..0000000
--- a/trunk/src/site/apt/parser.apt
+++ /dev/null
@@ -1,245 +0,0 @@
-                       --------------------
-                       The Parser interface
-                       --------------------
-
-~~ Licensed to the Apache Software Foundation (ASF) under one or more
-~~ contributor license agreements.  See the NOTICE file distributed with
-~~ this work for additional information regarding copyright ownership.
-~~ The ASF licenses this file to You 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.
-
-The Parser interface
-
-   The
-   {{{api/org/apache/tika/parser/Parser.html}org.apache.tika.parser.Parser}}
-   interface is the key concept of Apache Tika. It hides the complexity of
-   different file formats and parsing libraries while providing a simple and
-   powerful mechanism for client applications to extract structured text
-   content and metadata from all sorts of documents. All this is achieved
-   with a single method:
-
----
-void parse(
-    InputStream stream, ContentHandler handler, Metadata metadata,
-    ParseContext context) throws IOException, SAXException, TikaException;
----
-
-   The <<<parse>>> method takes the document to be parsed and related metadata
-   as input and outputs the results as XHTML SAX events and extra metadata.
-   The parse context argument is used to specify context information (like
-   the current local) that is not related to any individual document.
-   The main criteria that lead to this design were:
-
-   [Streamed parsing] The interface should require neither the client
-     application nor the parser implementation to keep the full document
-     content in memory or spooled to disk. This allows even huge documents
-     to be parsed without excessive resource requirements.
-
-   [Structured content] A parser implementation should be able to
-     include structural information (headings, links, etc.) in the extracted
-     content. A client application can use this information for example to
-     better judge the relevance of different parts of the parsed document.
-
-   [Input metadata] A client application should be able to include metadata
-     like the file name or declared content type with the document to be
-     parsed. The parser implementation can use this information to better
-     guide the parsing process.
-
-   [Output metadata] A parser implementation should be able to return
-     document metadata in addition to document content. Many document
-     formats contain metadata like the name of the author that may be useful
-     to client applications.
-
-   [Context sensitivity] While the default settings and behaviour of Tika
-     parsers should work well for most use cases, there are still situations
-     where more fine-grained control over the parsing process is desirable.
-     It should be easy to inject such context-specific information to the
-     parsing process without breaking the layers of abstraction.
-
-   []
-
-   These criteria are reflected in the arguments of the <<<parse>>> method.
-
-* Document input stream
-
-   The first argument is an
-   {{{http://java.sun.com/j2se/1.5.0/docs/api/java/io/InputStream.html}InputStream}}
-   for reading the document to be parsed.
-
-   If this document stream can not be read, then parsing stops and the thrown
-   {{{http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html}IOException}}
-   is passed up to the client application. If the stream can be read but
-   not parsed (for example if the document is corrupted), then the parser
-   throws a {{{api/org/apache/tika/exception/TikaException.html}TikaException}}.
-
-   The parser implementation will consume this stream but <will not close it>.
-   Closing the stream is the responsibility of the client application that
-   opened it in the first place. The recommended pattern for using streams
-   with the <<<parse>>> method is:
-
----
-InputStream stream = ...;      // open the stream
-try {
-    parser.parse(stream, ...); // parse the stream
-} finally {
-    stream.close();            // close the stream
-}
----
-
-   Some document formats like the OLE2 Compound Document Format used by
-   Microsoft Office are best parsed as random access files. In such cases the
-   content of the input stream is automatically spooled to a temporary file
-   that gets removed once parsed. A future version of Tika may make it possible
-   to avoid this extra file if the input document is already a file in the
-   local file system. See
-   {{{https://issues.apache.org/jira/browse/TIKA-153}TIKA-153}} for the status
-   of this feature request.
-
-* XHTML SAX events
-
-   The parsed content of the document stream is returned to the client
-   application as a sequence of XHTML SAX events. XHTML is used to express
-   structured content of the document and SAX events enable streamed
-   processing. Note that the XHTML format is used here only to convey
-   structural information, not to render the documents for browsing!
-
-   The XHTML SAX events produced by the parser implementation are sent to a
-   {{{http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/ContentHandler.html}ContentHandler}}
-   instance given to the <<<parse>>> method. If this the content handler
-   fails to process an event, then parsing stops and the thrown
-   {{{http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/SAXException.html}SAXException}}
-   is passed up to the client application.
-
-   The overall structure of the generated event stream is (with indenting
-   added for clarity):
-
----
-<html xmlns="http://www.w3.org/1999/xhtml">
-  <head>
-    <title>...</title>
-  </head>
-  <body>
-    ...
-  </body>
-</html>
----
-
-   Parser implementations typically use the
-   {{{apidocs/org/apache/tika/sax/XHTMLContentHandler.html}XHTMLContentHandler}}
-   utility class to generate the XHTML output.
-
-   Dealing with the raw SAX events can be a bit complex, so Apache Tika
-   comes with a number of utility classes that can be used to process and
-   convert the event stream to other representations.
-
-   For example, the
-   {{{api/org/apache/tika/sax/BodyContentHandler.html}BodyContentHandler}}
-   class can be used to extract just the body part of the XHTML output and
-   feed it either as SAX events to another content handler or as characters
-   to an output stream, a writer, or simply a string. The following code
-   snippet parses a document from the standard input stream and outputs the
-   extracted text content to standard output:
-
----
-ContentHandler handler = new BodyContentHandler(System.out);
-parser.parse(System.in, handler, ...);
----
-
-   Another useful class is
-   {{{api/org/apache/tika/parser/ParsingReader.html}ParsingReader}} that
-   uses a background thread to parse the document and returns the extracted
-   text content as a character stream:
-
----
-InputStream stream = ...; // the document to be parsed
-Reader reader = new ParsingReader(parser, stream, ...);
-try {
-    ...;                  // read the document text using the reader
-} finally {
-    reader.close();       // the document stream is closed automatically
-}
----
-
-* Document metadata
-
-   The third argument to the <<<parse>>> method is used to pass document
-   metadata both in and out of the parser. Document metadata is expressed
-   as an {{{api/org/apache/tika/metadata/Metadata.html}Metadata}} object.
-
-   The following are some of the more interesting metadata properties:
-
-   [Metadata.RESOURCE_NAME_KEY] The name of the file or resource that contains
-    the document.
-
-    A client application can set this property to allow the parser to use
-    file name heuristics to determine the format of the document.
-
-    The parser implementation may set this property if the file format
-    contains the canonical name of the file (for example the Gzip format
-    has a slot for the file name).
-
-   [Metadata.CONTENT_TYPE] The declared content type of the document.
-
-    A client application can set this property based on for example a HTTP
-    Content-Type header. The declared content type may help the parser to
-    correctly interpret the document.
-
-    The parser implementation sets this property to the content type according
-    to which the document was parsed.
-
-   [Metadata.TITLE] The title of the document.
-
-    The parser implementation sets this property if the document format
-    contains an explicit title field.
-
-   [Metadata.AUTHOR] The name of the author of the document.
-
-    The parser implementation sets this property if the document format
-    contains an explicit author field.
-
-   []
-
-   Note that metadata handling is still being discussed by the Tika development
-   team, and it is likely that there will be some (backwards incompatible)
-   changes in metadata handling before Tika 1.0.
-
-* Parse context
-
-   The final argument to the <<<parse>>> method is used to inject
-   context-specific information to the parsing process. This is useful
-   for example when dealing with locale-specific date and number formats
-   in Microsoft Excel spreadsheets. Another important use of the parse
-   context is passing in the delegate parser instance to be used by
-   two-phase parsers like the
-   {{{api/org/apache/parser/pkg/PackageParser.html}PackageParser}} subclasses.
-   Some parser classes allow customization of the parsing process through
-   strategy objects in the parse context.
-
-* Parser implementations
-
-   Apache Tika comes with a number of parser classes for parsing
-   {{{formats.html}various document formats}}. You can also extend Tika
-   with your own parsers, and of course any contributions to Tika are
-   warmly welcome.
-
-   The goal of Tika is to reuse existing parser libraries like
-   {{{http://www.pdfbox.org/}PDFBox}} or
-   {{{http://poi.apache.org/}Apache POI}} as much as possible, and so most
-   of the parser classes in Tika are adapters to such external libraries.
-
-   Tika also contains some general purpose parser implementations that are
-   not targeted at any specific document formats. The most notable of these
-   is the {{{apidocs/org/apache/tika/parser/AutoDetectParser.html}AutoDetectParser}}
-   class that encapsulates all Tika functionality into a single parser that
-   can handle any types of documents. This parser will automatically determine
-   the type of the incoming document based on various heuristics and will then
-   parse the document accordingly.
diff --git a/trunk/src/site/apt/parser_guide.apt b/trunk/src/site/apt/parser_guide.apt
deleted file mode 100644
index 778d50c..0000000
--- a/trunk/src/site/apt/parser_guide.apt
+++ /dev/null
@@ -1,135 +0,0 @@
-                       --------------------------------------------
-                       Get Tika parsing up and running in 5 minutes
-                       --------------------------------------------
-					   Arturo Beltran
-					   --------------------------------------------
-
-~~ Licensed to the Apache Software Foundation (ASF) under one or more
-~~ contributor license agreements.  See the NOTICE file distributed with
-~~ this work for additional information regarding copyright ownership.
-~~ The ASF licenses this file to You 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.
-
-Get Tika parsing up and running in 5 minutes
-
-   This page is a quick start guide showing how to add a new parser to Apache Tika.
-   Following the simple steps listed below your new parser can be running in only 5 minutes.
-
-%{toc|section=1|fromDepth=1}
-
-* {Getting Started}
-
-   The {{{gettingstarted.html}Getting Started}} document describes how to 
-   build Apache Tika from sources and how to start using Tika in an application. Pay close attention 
-   and follow the instructions in the "Getting and building the sources" section.
-   
-
-* {Add your MIME-Type}
-
-   You first need to modify {{{http://svn.apache.org/repos/asf/tika/trunk/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml}tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml}}
-   in order to Tika can map the file extension with its MIME-Type. You should add something like this:
-   
----
- <mime-type type="application/hello">
-	<glob pattern="*.hi"/>
- </mime-type>
----
-
-* {Create your Parser class}
-
-   Now, you need to create your new parser. This is a class that must implement the Parser interface 
-   offered by Tika. A very simple Tika Parser looks like this:
-   
----
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- * 
- * @Author: Arturo Beltran
- */
-package org.apache.tika.parser.hello;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-public class HelloParser implements Parser {
-
-	private static final Set<MediaType> SUPPORTED_TYPES = Collections.singleton(MediaType.application("hello"));
-	public static final String HELLO_MIME_TYPE = "application/hello";
-	
-	public Set<MediaType> getSupportedTypes(ParseContext context) {
-		return SUPPORTED_TYPES;
-	}
-
-	public void parse(
-			InputStream stream, ContentHandler handler,
-			Metadata metadata, ParseContext context)
-			throws IOException, SAXException, TikaException {
-
-		metadata.set(Metadata.CONTENT_TYPE, HELLO_MIME_TYPE);
-		metadata.set("Hello", "World");
-
-		XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-		xhtml.startDocument();
-		xhtml.endDocument();
-	}
-
-	/**
-	 * @deprecated This method will be removed in Apache Tika 1.0.
-	 */
-	public void parse(
-			InputStream stream, ContentHandler handler, Metadata metadata)
-			throws IOException, SAXException, TikaException {
-		parse(stream, handler, metadata, new ParseContext());
-	}
-}
----
-   
-   Pay special attention to the definition of the SUPPORTED_TYPES static class 
-   field in the parser class that defines what MIME-Types it supports. 
-   
-   Is in the "parse" method where you will do all your work. This is, extract 
-   the information of the resource and then set the metadata.
-
-* {List the new parser}
-
-   Finally, you should explicitly tell the AutoDetectParser to include your new 
-   parser. This step is only needed if you want to use the AutoDetectParser functionality. 
-   If you figure out the correct parser in a different way, it isn't needed. 
-   
-   List your new parser in:
-    {{{http://svn.apache.org/repos/asf/tika/trunk/tika-parsers/src/main/resources/META-INF/services/org.apache.tika.parser.Parser}tika-parsers/src/main/resources/META-INF/services/org.apache.tika.parser.Parser}}
-   
-
diff --git a/trunk/src/site/resources/css/site.css b/trunk/src/site/resources/css/site.css
deleted file mode 100644
index 0d3b63b..0000000
--- a/trunk/src/site/resources/css/site.css
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-
-#search {
-    position: relative;
-    right: 10px;
-    width: 100%;
-    font-size: 70%;
-    white-space: nowrap;
-    text-align: right;
-    z-index:0;
-
-    bottom: -1px; /* compensate for IE rendering issue */
-}
-
-#bookpromo {
-    position: relative;
-    top: 35px;
-    left: 10px;
-    width: 100%;
-    white-space: nowrap;
-    text-align: center;
-    z-index:0;
-    bottom: -1px;
-}
-
-#searchform {
-}
-
-body {
-  margin: 0px;
-  padding: 0px 0px 10px 0px;
-}
-
-/* From maven-theme.css */
-
-body, td, select, input, li {
-  font-family: Verdana, Helvetica, Arial, sans-serif;
-  font-size: 13px;
-}
-
-code{
-  font-family: Courier, monospace;
-  font-size: 13px;
-}
-a {
-  text-decoration: none;
-}
-a:link {
-  color:#36a;
-}
-a:visited  {
-  color:#47a;
-}
-a:active, a:hover {
-  color:#69c;
-}
-#legend li.externalLink {
-  background: url(../images/external.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
-  background: url(../images/external.png) right center no-repeat;
-  padding-right: 18px;
-}
-#legend li.newWindow {
-  background: url(../images/newwindow.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
-  background: url(../images/newwindow.png) right center no-repeat;
-  padding-right: 18px;
-}
-h2 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #999;
-  color: #900;
-  background-color: #ddd;
-  font-weight:900;
-  font-size: x-large;
-}
-h3 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  color: #900;
-  background-color: #eee;
-  font-weight: normal;
-  font-size: large;
-}
-h4 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #bbb;
-  color: #900;
-  background-color: #fff;
-  font-weight: normal;
-  font-size: large;
-}
-h5 {
-  padding: 4px 4px 4px 6px;
-  color: #900;
-  font-size: normal;
-}
-p {
-  line-height: 1.3em;
-  font-size: small;
-}
-#breadcrumbs {
-  border-top: 1px solid #aaa;
-  border-bottom: 1px solid #aaa;
-  background-color: #ccc;
-}
-#leftColumn {
-  margin: 10px 0 0 5px;
-  border: 1px solid #999;
-  background-color: #eee;
-}
-#navcolumn h5 {
-  font-size: smaller;
-  border-bottom: 1px solid #aaaaaa;
-  padding-top: 2px;
-  color: #000;
-}
-
-table.bodyTable th {
-  color: white;
-  background-color: #bbb;
-  text-align: left;
-  font-weight: bold;
-}
-
-table.bodyTable th, table.bodyTable td {
-  font-size: 1em;
-}
-
-table.bodyTable tr.a {
-  background-color: #ddd;
-}
-
-table.bodyTable tr.b {
-  background-color: #eee;
-}
-
-.source {
-  border: 1px solid #999;
-}
-dl {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  background-color: #ffc;
-}
-dt {
-  color: #900;
-}
-#organizationLogo img, #projectLogo img, #projectLogo span{
-  margin: 8px;
-}
-#banner {
-  border-bottom: 1px solid #fff;
-}
-.errormark, .warningmark, .donemark, .infomark {
-  background: url(../images/icon_error_sml.gif) no-repeat;
-}
-
-.warningmark {
-  background-image: url(../images/icon_warning_sml.gif);
-}
-
-.donemark {
-  background-image: url(../images/icon_success_sml.gif);
-}
-
-.infomark {
-  background-image: url(../images/icon_info_sml.gif);
-}
-
-/* From maven-base.css */
-
-img {
-  border:none;
-}
-table {
-  padding:0px;
-  width: 100%;
-  margin-left: -2px;
-  margin-right: -2px;
-}
-acronym {
-  cursor: help;
-  border-bottom: 1px dotted #feb;
-}
-table.bodyTable th, table.bodyTable td {
-  padding: 2px 4px 2px 4px;
-  vertical-align: top;
-}
-div.clear{
-  clear:both;
-  visibility: hidden;
-}
-div.clear hr{
-  display: none;
-}
-#bannerLeft, #bannerRight {
-  font-size: xx-large;
-  font-weight: bold;
-}
-#bannerLeft img, #bannerRight img {
-  margin: 0px;
-}
-.xleft, #bannerLeft img {
-  float:left;
-  text-shadow: #7CFC00 1px 1px 1px;
-}
-.xright, #bannerRight {
-  float:right;
-  text-shadow: #7CFC00 1px 1px 1px;
-}
-#banner {
-  padding: 0px;
-}
-#banner img {
-  border: none;
-}
-#breadcrumbs {
-  padding: 3px 10px 3px 10px;
-}
-#leftColumn {
- width: 170px;
- float:left;
- overflow: auto;
-}
-#bodyColumn {
-  margin-right: 1.5em;
-  margin-left: 197px;
-}
-#legend {
-  padding: 8px 0 8px 0;
-}
-#navcolumn {
-  padding: 8px 4px 0 8px;
-}
-#navcolumn h5 {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn ul {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn li {
-  list-style-type: none;
-  background-image: none;
-  background-repeat: no-repeat;
-  background-position: 0 0.4em;
-  padding-left: 16px;
-  list-style-position: outside;
-  line-height: 1.2em;
-  font-size: smaller;
-}
-#navcolumn li.expanded {
-  background-image: url(../images/expanded.gif);
-}
-#navcolumn li.collapsed {
-  background-image: url(../images/collapsed.gif);
-}
-#navcolumn img {
-  margin-top: 10px;
-  margin-bottom: 3px;
-}
-#search img {
-    margin: 0px;
-    display: block;
-}
-#search #q, #search #btnG {
-    border: 1px solid #999;
-    margin-bottom:10px;
-}
-#search form {
-    margin: 0px;
-}
-#lastPublished {
-  font-size: x-small;
-}
-.navSection {
-  margin-bottom: 2px;
-  padding: 8px;
-}
-.navSectionHead {
-  font-weight: bold;
-  font-size: x-small;
-}
-.section {
-  padding: 4px;
-}
-#footer p {
-  padding: 3px 10px 3px 10px;
-  font-size: x-small;
-  text-align: center;
-}
-.source {
-  padding: 12px;
-  margin: 1em 7px 1em 7px;
-}
-.source pre {
-  margin: 0px;
-  padding: 0px;
-}
diff --git a/trunk/src/site/resources/tika.png b/trunk/src/site/resources/tika.png
deleted file mode 100644
index 1ed6844..0000000
--- a/trunk/src/site/resources/tika.png
+++ /dev/null
Binary files differ
diff --git a/trunk/src/site/resources/tika.svg b/trunk/src/site/resources/tika.svg
deleted file mode 100644
index dd01d85..0000000
--- a/trunk/src/site/resources/tika.svg
+++ /dev/null
@@ -1,5318 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You 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.
--->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="363px"
-   height="94px"
-   viewBox="82px 238px 363px 94px"
-   id="svg2"
-   sodipodi:version="0.32"
-   inkscape:version="0.45.1"
-   sodipodi:docname="tika logo v10.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   sodipodi:docbase="C:\Users\Jukka Zitting\Desktop"
-   inkscape:export-filename="C:\Users\Jukka Zitting\Desktop\tika logo v10.png"
-   inkscape:export-xdpi="76.820831"
-   inkscape:export-ydpi="76.820831">
-  <metadata
-     id="metadata1566">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs1564">
-    <linearGradient
-       id="XMLID_1_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3662.4312"
-       y1="-3617.1401"
-       x2="-3663.4963"
-       y2="-3588.9297"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop173" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop175" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop177" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop179" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop181" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop183" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop185" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop187" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_2_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3672.1465"
-       y1="-3607.502"
-       x2="-3673.0225"
-       y2="-3584.3003"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop192" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop194" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop196" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop198" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop200" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop202" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop204" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop206" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_3_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3681.2422"
-       y1="-3614.8345"
-       x2="-3682.1765"
-       y2="-3590.0845"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop211" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop213" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop215" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop217" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop219" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop221" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop223" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop225" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_4_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3689.5493"
-       y1="-3608.1592"
-       x2="-3690.4253"
-       y2="-3584.9575"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop230" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop232" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop234" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop236" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop238" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop240" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop242" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop244" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_5_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3699.7769"
-       y1="-3613.4175"
-       x2="-3700.6736"
-       y2="-3589.6692"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop249" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop251" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop253" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop255" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop257" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop259" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop261" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop263" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_6_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3706.9673"
-       y1="-3608.8169"
-       x2="-3707.8433"
-       y2="-3585.6152"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop268" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop270" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop272" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop274" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop276" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop278" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop280" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop282" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_7_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3716.0044"
-       y1="-3611.9541"
-       x2="-3716.7644"
-       y2="-3591.8245"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop287" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop289" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop291" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop293" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop295" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop297" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop299" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop301" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_8_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3725.0508"
-       y1="-3609.4995"
-       x2="-3725.9268"
-       y2="-3586.2979"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop306" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop308" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop310" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop312" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop314" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop316" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop318" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop320" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_9_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3733.1665"
-       y1="-3613.2212"
-       x2="-3733.397"
-       y2="-3602.4053"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop325" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop327" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop329" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop331" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop333" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop335" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_10_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3742.7129"
-       y1="-3619.499"
-       x2="-3739.1846"
-       y2="-3596.0273"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop340" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop342" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop344" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop346" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop348" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop350" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_11_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3747.291"
-       y1="-3613.5225"
-       x2="-3747.5215"
-       y2="-3602.7065"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop355" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop357" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop359" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop361" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop363" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop365" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_12_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3756.9526"
-       y1="-3617.3584"
-       x2="-3753.4243"
-       y2="-3593.8867"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop370" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop372" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop374" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop376" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop378" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop380" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_13_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3759.7539"
-       y1="-3613.7876"
-       x2="-3759.9844"
-       y2="-3602.9717"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop385" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop387" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop389" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop391" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop393" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop395" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_14_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3763.1528"
-       y1="-3613.8604"
-       x2="-3763.3833"
-       y2="-3603.0444"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop400" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop402" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop404" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop406" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop408" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop410" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_15_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3766.9253"
-       y1="-3606.5742"
-       x2="-3767.0735"
-       y2="-3599.615"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop415" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop417" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop419" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop421" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop423" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop425" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_16_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3767.0049"
-       y1="-3613.9424"
-       x2="-3767.2354"
-       y2="-3603.1265"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop430" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop432" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop434" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop436" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop438" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop440" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_17_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3664.459"
-       y1="-3609.6206"
-       x2="-3674.479"
-       y2="-3642.6406"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop445" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop447" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop449" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop451" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop453" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop455" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop457" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop459" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_18_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3679.1553"
-       y1="-3625.2759"
-       x2="-3697.104"
-       y2="-3651.5425"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop464" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop466" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop468" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop470" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop472" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop474" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop476" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop478" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_19_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3680.7471"
-       y1="-3604.6782"
-       x2="-3690.7671"
-       y2="-3637.6982"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop483" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop485" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop487" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop489" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop491" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop493" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop495" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop497" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_20_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3693.1763"
-       y1="-3615.6953"
-       x2="-3711.125"
-       y2="-3641.9619"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop502" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop504" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop506" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop508" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop510" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop512" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop514" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop516" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_21_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3698.873"
-       y1="-3599.1777"
-       x2="-3708.8931"
-       y2="-3632.1978"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop521" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop523" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop525" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop527" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop529" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop531" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop533" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop535" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_22_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3707.5356"
-       y1="-3605.8828"
-       x2="-3725.4844"
-       y2="-3632.1494"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop540" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop542" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop544" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop546" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop548" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop550" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop552" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop554" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_23_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3718.1577"
-       y1="-3593.3257"
-       x2="-3728.1777"
-       y2="-3626.3457"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop559" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop561" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop563" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop565" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop567" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop569" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop571" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop573" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_24_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3740.3467"
-       y1="-3613.374"
-       x2="-3740.5771"
-       y2="-3602.5581"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop578" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop580" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop582" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop584" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop586" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop588" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_25_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3735.0215"
-       y1="-3620.6553"
-       x2="-3731.4932"
-       y2="-3597.1836"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop593" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop595" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop597" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop599" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop601" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop603" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_26_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3748.5347"
-       y1="-3618.624"
-       x2="-3745.0063"
-       y2="-3595.1523"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop608" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop610" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop612" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop614" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop616" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop618" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_27_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3761.7197"
-       y1="-3616.6421"
-       x2="-3758.1914"
-       y2="-3593.1704"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop623" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop625" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop627" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop629" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop631" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop633" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_28_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3763.478"
-       y1="-3613.8672"
-       x2="-3763.7085"
-       y2="-3603.0513"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop638" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop640" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop642" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop644" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop646" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop648" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_29_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3754.6851"
-       y1="-3613.6797"
-       x2="-3754.9155"
-       y2="-3602.8638"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop653" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop655" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop657" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop659" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop661" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop663" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_30_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3511.8975"
-       y1="-3643.6323"
-       x2="-3504.0176"
-       y2="-3620.4302"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop668" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop670" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop672" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop674" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop676" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop678" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop680" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop682" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop684" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_31_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3517.9097"
-       y1="-3641.5903"
-       x2="-3510.0298"
-       y2="-3618.3882"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop689" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop691" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop693" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop695" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop697" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop699" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop701" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop703" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop705" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_32_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3524.9941"
-       y1="-3639.1846"
-       x2="-3517.1143"
-       y2="-3615.9824"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop710" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop712" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop714" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop716" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop718" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop720" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop722" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop724" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop726" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_33_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3532.7456"
-       y1="-3636.5518"
-       x2="-3524.8657"
-       y2="-3613.3496"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop731" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop733" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop735" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop737" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop739" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop741" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop743" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop745" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop747" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_34_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3612.71"
-       y1="-3562.9639"
-       x2="-3607.5464"
-       y2="-3533.6799"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,105.42691,1026.1774)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop752" />
-      <stop
-         offset="0.082"
-         style="stop-color:#711282"
-         id="stop754" />
-      <stop
-         offset="0.211"
-         style="stop-color:#88137F"
-         id="stop756" />
-      <stop
-         offset="0.3709"
-         style="stop-color:#AD167A"
-         id="stop758" />
-      <stop
-         offset="0.5538"
-         style="stop-color:#DF1A73"
-         id="stop760" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#F21B71"
-         id="stop762" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop764" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_35_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3543.3057"
-       y1="-3626.2104"
-       x2="-3540.6792"
-       y2="-3608.2617"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop769" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop771" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop773" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop775" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop777" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop779" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop781" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop783" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop785" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_36_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3551.1382"
-       y1="-3625.064"
-       x2="-3548.5117"
-       y2="-3607.1152"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop790" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop792" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop794" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop796" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop798" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop800" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop802" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop804" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop806" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_37_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3558.2891"
-       y1="-3625.9536"
-       x2="-3554.1504"
-       y2="-3586.3257"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop811" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop813" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop815" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop817" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop819" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop821" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop823" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop825" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop827" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_38_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3568.6143"
-       y1="-3622.5068"
-       x2="-3565.9878"
-       y2="-3604.5581"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop832" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop834" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop836" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop838" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop840" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop842" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop844" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop846" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop848" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_39_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3576.6631"
-       y1="-3624.0347"
-       x2="-3572.5244"
-       y2="-3584.4067"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop853" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop855" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop857" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop859" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop861" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop863" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop865" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop867" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop869" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_40_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3583.9473"
-       y1="-3623.7251"
-       x2="-3582.5107"
-       y2="-3603.1548"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop874" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop876" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop878" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop880" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop882" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop884" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop886" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop888" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop890" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_41_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3591.7266"
-       y1="-3619.7495"
-       x2="-3589.9756"
-       y2="-3592.6074"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop895" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop897" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop899" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop901" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop903" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop905" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop907" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop909" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop911" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_42_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3599.0938"
-       y1="-3619.2744"
-       x2="-3597.3428"
-       y2="-3592.1323"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop916" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop918" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop920" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop922" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop924" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop926" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop928" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop930" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop932" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_43_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3606.6357"
-       y1="-3620.9043"
-       x2="-3602.4971"
-       y2="-3581.2764"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop937" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop939" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop941" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop943" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop945" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop947" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop949" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop951" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop953" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_44_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3616.3291"
-       y1="-3619.8916"
-       x2="-3612.1904"
-       y2="-3580.2637"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop958" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop960" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop962" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop964" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop966" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop968" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop970" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop972" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop974" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_45_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3622.9634"
-       y1="-3614.5537"
-       x2="-3620.3369"
-       y2="-3596.605"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop979" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop981" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop983" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop985" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop987" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop989" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop991" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop993" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop995" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_46_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3631.832"
-       y1="-3618.2729"
-       x2="-3627.6934"
-       y2="-3578.645"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop1000" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop1002" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop1004" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop1006" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop1008" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop1010" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop1012" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1014" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1016" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_47_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3638.7656"
-       y1="-3612.2417"
-       x2="-3636.1392"
-       y2="-3594.293"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop1021" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop1023" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop1025" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop1027" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop1029" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop1031" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop1033" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1035" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1037" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_48_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3647.9785"
-       y1="-3616.5864"
-       x2="-3643.8398"
-       y2="-3576.9585"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop1042" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop1044" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop1046" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop1048" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop1050" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop1052" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop1054" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1056" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1058" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_49_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3655.8188"
-       y1="-3609.7461"
-       x2="-3653.1924"
-       y2="-3591.7974"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop1063" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop1065" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop1067" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop1069" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop1071" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop1073" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop1075" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1077" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1079" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_50_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3513.0679"
-       y1="-3655.561"
-       x2="-3523.0879"
-       y2="-3688.5811"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1084" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1086" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1088" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1090" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1092" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1094" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1096" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1098" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_51_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3518.1055"
-       y1="-3653.4717"
-       x2="-3529.9253"
-       y2="-3685.4292"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1103" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1105" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1107" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1109" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1111" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1113" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1115" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1117" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_52_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3524.8926"
-       y1="-3651.9727"
-       x2="-3534.9126"
-       y2="-3684.9927"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1122" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1124" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1126" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1128" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1130" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1132" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1134" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1136" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_53_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3531.4272"
-       y1="-3648.5444"
-       x2="-3543.2471"
-       y2="-3680.502"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1141" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1143" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1145" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1147" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1149" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1151" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1153" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1155" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_54_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3540.4351"
-       y1="-3647.2563"
-       x2="-3550.4551"
-       y2="-3680.2764"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1160" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1162" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1164" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1166" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1168" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1170" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1172" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1174" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_55_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3546.5405"
-       y1="-3642.9551"
-       x2="-3558.3604"
-       y2="-3674.9126"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1179" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1181" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1183" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1185" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1187" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1189" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1191" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1193" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_56_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3556.0371"
-       y1="-3642.522"
-       x2="-3566.0571"
-       y2="-3675.542"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1198" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1200" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1202" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1204" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1206" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1208" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1210" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1212" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_57_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3565.9399"
-       y1="-3639.5166"
-       x2="-3575.96"
-       y2="-3672.5366"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1217" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1219" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1221" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1223" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1225" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1227" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1229" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1231" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_58_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3572.1245"
-       y1="-3633.4922"
-       x2="-3583.9443"
-       y2="-3665.4497"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1236" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1238" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1240" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1242" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1244" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1246" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1248" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1250" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_59_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3581.0527"
-       y1="-3634.9307"
-       x2="-3591.0728"
-       y2="-3667.9507"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1255" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1257" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1259" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1261" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1263" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1265" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1267" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1269" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_60_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3586.04"
-       y1="-3628.3457"
-       x2="-3597.8599"
-       y2="-3660.3032"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1274" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1276" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1278" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1280" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1282" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1284" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1286" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1288" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_61_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3595.1567"
-       y1="-3630.6509"
-       x2="-3605.1768"
-       y2="-3663.6709"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1293" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1295" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1297" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1299" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1301" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1303" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1305" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1307" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_62_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3598.8574"
-       y1="-3623.605"
-       x2="-3610.6772"
-       y2="-3655.5625"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1312" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1314" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1316" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1318" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1320" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1322" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1324" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1326" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_63_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3610.3208"
-       y1="-3626.0493"
-       x2="-3620.3408"
-       y2="-3659.0693"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1331" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1333" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1335" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1337" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1339" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1341" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1343" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1345" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_64_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3613.4258"
-       y1="-3618.2168"
-       x2="-3625.2456"
-       y2="-3650.1743"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1350" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1352" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1354" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1356" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1358" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1360" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1362" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1364" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_65_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3625.0215"
-       y1="-3621.5884"
-       x2="-3635.0415"
-       y2="-3654.6084"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1369" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1371" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1373" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1375" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1377" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1379" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1381" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1383" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_66_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3631.4028"
-       y1="-3619.6519"
-       x2="-3641.4229"
-       y2="-3652.6719"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1388" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1390" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1392" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1394" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1396" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1398" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1400" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1402" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_67_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3639.3081"
-       y1="-3617.2529"
-       x2="-3649.3281"
-       y2="-3650.2729"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1407" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1409" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1411" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1413" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1415" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1417" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1419" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1421" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_68_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3644.0654"
-       y1="-3622.0806"
-       x2="-3668.9834"
-       y2="-3650.0459"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1426" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1428" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1430" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1432" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1434" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1436" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1438" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1440" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_69_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3649.6221"
-       y1="-3617.1294"
-       x2="-3674.54"
-       y2="-3645.0947"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1445" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1447" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1449" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1451" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1453" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1455" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1457" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1459" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_79_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3586.4019"
-       y1="-3601.3828"
-       x2="-3570.2441"
-       y2="-3549.8223"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1709" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1711" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1713" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1715" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1717" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1719" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1721" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1723" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1725" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1727" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1729" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1731" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_78_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3581.9321"
-       y1="-3602.7837"
-       x2="-3565.7744"
-       y2="-3551.2231"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1682" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1684" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1686" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1688" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1690" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1692" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1694" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1696" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1698" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1700" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1702" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1704" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_77_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3576.8662"
-       y1="-3604.3711"
-       x2="-3560.7085"
-       y2="-3552.8105"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1655" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1657" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1659" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1661" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1663" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1665" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1667" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1669" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1671" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1673" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1675" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1677" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_76_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3577.7891"
-       y1="-3604.082"
-       x2="-3561.6313"
-       y2="-3552.5215"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1628" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1630" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1632" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1634" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1636" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1638" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1640" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1642" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1644" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1646" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1648" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1650" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_75_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3584.2759"
-       y1="-3602.0488"
-       x2="-3568.1182"
-       y2="-3550.4883"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1601" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1603" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1605" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1607" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1609" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1611" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1613" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1615" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1617" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1619" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1621" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1623" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_74_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3578.7671"
-       y1="-3603.7754"
-       x2="-3562.6094"
-       y2="-3552.2148"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1574" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1576" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1578" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1580" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1582" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1584" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1586" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1588" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1590" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1592" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1594" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1596" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_73_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3584.6758"
-       y1="-3601.9238"
-       x2="-3568.5181"
-       y2="-3550.3633"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1547" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1549" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1551" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1553" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1555" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1557" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1559" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1561" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1563" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1565" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1567" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1569" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_72_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3580.1533"
-       y1="-3603.3408"
-       x2="-3563.9956"
-       y2="-3551.7803"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1520" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1522" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1524" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1526" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1528" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1530" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1532" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1534" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1536" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1538" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1540" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1542" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_71_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3578.5146"
-       y1="-3603.8545"
-       x2="-3562.3569"
-       y2="-3552.2939"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1493" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1495" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1497" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1499" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1501" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1503" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1505" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1507" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1509" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1511" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1513" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1515" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_70_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3581.9316"
-       y1="-3602.7837"
-       x2="-3565.7739"
-       y2="-3551.2231"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1466" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1468" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1470" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1472" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1474" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1476" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1478" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1480" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1482" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1484" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1486" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1488" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient2902">
-      <stop
-         style="stop-color:#000000;stop-opacity:1;"
-         offset="0"
-         id="stop2904" />
-      <stop
-         style="stop-color:#000000;stop-opacity:0;"
-         offset="1"
-         id="stop2906" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient5149">
-      <stop
-         style="stop-color:#3cc23c;stop-opacity:1;"
-         offset="0"
-         id="stop5151" />
-      <stop
-         style="stop-color:#b4ffb4;stop-opacity:1;"
-         offset="1"
-         id="stop5153" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient5149"
-       id="linearGradient5155"
-       x1="209.40289"
-       y1="196.93959"
-       x2="402.86024"
-       y2="201.399"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.3124104,-0.1174332,0.1174332,0.3124104,43.759948,18.537169)" />
-    <linearGradient
-       id="linearGradient3195">
-      <stop
-         style="stop-color:#0be254;stop-opacity:1;"
-         offset="0"
-         id="stop3197" />
-      <stop
-         style="stop-color:#ffffff;stop-opacity:1;"
-         offset="1"
-         id="stop3199" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient3195"
-       id="linearGradient3201"
-       x1="372.93762"
-       y1="201.399"
-       x2="191.42549"
-       y2="205.16872"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.3124104,-0.1174332,0.1174332,0.3124104,43.759948,18.537169)" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2902"
-       id="linearGradient2908"
-       x1="-111.49345"
-       y1="98.656258"
-       x2="14.666016"
-       y2="89.682144"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2902"
-       id="linearGradient2914"
-       gradientUnits="userSpaceOnUse"
-       x1="78.814453"
-       y1="146.72023"
-       x2="78.814453"
-       y2="32.644054" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2902"
-       id="linearGradient3669"
-       gradientUnits="userSpaceOnUse"
-       x1="78.814453"
-       y1="194.78421"
-       x2="78.814453"
-       y2="18.507591" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2902"
-       id="linearGradient9226"
-       gradientUnits="userSpaceOnUse"
-       x1="78.814453"
-       y1="194.78421"
-       x2="78.814453"
-       y2="18.507591" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2902"
-       id="linearGradient9228"
-       gradientUnits="userSpaceOnUse"
-       x1="78.814453"
-       y1="194.78421"
-       x2="78.814453"
-       y2="18.507591" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2902"
-       id="linearGradient9230"
-       gradientUnits="userSpaceOnUse"
-       x1="78.814453"
-       y1="194.78421"
-       x2="78.814453"
-       y2="18.507591" />
-  </defs>
-  <sodipodi:namedview
-     inkscape:window-height="764"
-     inkscape:window-width="1264"
-     inkscape:pageshadow="2"
-     inkscape:pageopacity="0.0"
-     guidetolerance="10.0"
-     gridtolerance="10.0"
-     objecttolerance="10.0"
-     borderopacity="1.0"
-     bordercolor="#666666"
-     pagecolor="#ffffff"
-     id="base"
-     inkscape:zoom="5.2984309"
-     inkscape:cx="189.61448"
-     inkscape:cy="23.24562"
-     inkscape:window-x="0"
-     inkscape:window-y="0"
-     inkscape:current-layer="g6" />
-  <title
-     id="title4">generated by pstoedit version:3.45 from Z:/asf_logo_1999.eps</title>
-  <g
-     xml:space="preserve"
-     id="g6"
-     transform="translate(-2.6691177,-22.954412)">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<clipPath
-   id="clippath1"> 	<path
-   d="M 201.762,284.016 L 201.762,284.016 L 200.309,284.512 L 198.891,284.629 L 197.473,284.402 L 196.055,283.828 L 194.676,283.059 L 193.297,282.066 L 191.992,280.922 L 190.691,279.695 L 189.465,278.434 L 188.316,277.168 L 187.203,275.945 L 186.168,274.797 L 185.211,273.84 L 184.328,273.078 L 183.563,272.578 L 182.871,272.348 L 182.871,272.348 L 183.449,272.387 L 184.059,272.422 L 184.75,272.5 L 185.438,272.574 L 186.129,272.652 L 186.82,272.73 L 187.508,272.766 L 188.121,272.844 L 188.121,272.844 L 189.078,273.723 L 189.996,274.566 L 190.801,275.406 L 191.531,276.25 L 192.258,277.051 L 192.949,277.855 L 193.598,278.617 L 194.289,279.348 L 194.98,280.074 L 195.711,280.727 L 196.477,281.375 L 197.355,281.984 L 198.277,282.562 L 199.309,283.098 L 200.461,283.594 L 201.762,284.016"
-   id="path657" />
-</clipPath>
-<path
-   d="M 146.41619,62.696027 C 142.62485,65.569644 129.70379,77.249461 123.31721,81.838063 C 118.18169,85.530297 112.55653,88.526567 107.06272,91.260526 C 105.64199,91.967054 103.02634,93.1178 101.17315,93.67506 C 99.827079,93.854801 97.128165,94.825804 95.80891,94.506847 C 107.56985,90.318569 111.82247,88.150989 123.07148,80.688964 C 127.64352,77.674484 142.56869,64.986455 146.41619,62.696027 z "
-   id="path8874"
-   style="stroke:#000000;stroke-width:0.20699584" /><path
-   d="M 136.08322,75.96456 L 135.84827,76.444287 L 135.52884,76.821806 L 135.12422,77.113635 L 134.63488,77.320749 L 134.10787,77.471469 L 133.52446,77.566277 L 132.92233,77.605399 L 132.30147,77.623884 L 131.69022,77.615944 L 131.0965,77.587142 L 130.52269,77.559544 L 129.98606,77.531729 L 129.51547,77.531972 L 129.11155,77.56102 L 128.80004,77.626292 L 128.57468,77.73983 L 128.72516,77.607097 L 128.88474,77.466238 L 129.07313,77.315738 L 129.26058,77.164773 L 129.44943,77.0143 L 129.6376,76.863585 L 129.81641,76.703506 L 129.9856,76.571758 L 130.43701,76.552809 L 130.8702,76.533371 L 131.27483,76.542489 L 131.66146,76.570577 L 132.03683,76.58881 L 132.40377,76.617369 L 132.75175,76.644745 L 133.10069,76.653861 L 133.44845,76.663222 L 133.78756,76.643787 L 134.13578,76.615231 L 134.5025,76.548532 L 134.86991,76.464317 L 135.2556,76.341686 L 135.65997,76.181138 L 136.08322,75.96456 z "
-   id="path189"
-   style="fill:url(#XMLID_1_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 137.20254,74.749258 L 136.85432,75.230434 L 136.47802,75.625449 L 136.08347,75.94608 L 135.66037,76.199765 L 135.21832,76.379263 L 134.77506,76.501913 L 134.30469,76.595989 L 133.83456,76.634152 L 133.35455,76.662957 L 132.87482,76.65359 L 132.37563,76.62575 L 131.89566,76.598397 L 131.4068,76.579448 L 130.91696,76.561459 L 130.44683,76.562175 L 129.9858,76.590236 L 130.08852,76.505751 L 130.19245,76.401822 L 130.29637,76.317112 L 130.40844,76.223287 L 130.52171,76.128252 L 130.64433,76.04401 L 130.75617,75.949472 L 130.86943,75.856358 L 130.982,75.762036 L 131.10438,75.657889 L 131.22725,75.5734 L 131.34917,75.46972 L 131.4711,75.366015 L 131.59327,75.262087 L 131.70631,75.149042 L 131.82872,75.045852 L 132.04545,75.092174 L 132.30872,75.149067 L 132.62862,75.204972 L 132.96773,75.261373 L 133.35386,75.308188 L 133.74914,75.344902 L 134.16287,75.382355 L 134.57661,75.400589 L 134.99134,75.400589 L 135.39548,75.391965 L 135.79123,75.352841 L 136.14857,75.296443 L 136.47785,75.210994 L 136.76992,75.088833 L 137.014,74.937894 L 137.20259,74.749307 L 137.20254,74.749258 z "
-   id="path208"
-   style="fill:url(#XMLID_2_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 137.98324,73.986796 L 137.77612,74.250536 L 137.56903,74.495078 L 137.34342,74.702441 L 137.08952,74.881494 L 136.82604,75.051407 L 136.53442,75.174036 L 136.22436,75.277225 L 135.86631,75.353061 L 135.48976,75.40993 L 135.08539,75.43895 L 134.64238,75.429344 L 134.17249,75.411082 L 133.64498,75.354439 L 133.08052,75.280049 L 132.47839,75.186224 L 131.81938,75.055192 L 131.97897,74.894617 L 132.1393,74.75351 L 132.30898,74.621273 L 132.47819,74.489525 L 132.6476,74.358491 L 132.81609,74.225543 L 132.9853,74.056343 L 133.16386,73.87778 L 133.46576,73.876824 L 133.76645,73.895795 L 134.05902,73.905159 L 134.36907,73.933 L 134.67027,73.951483 L 134.97124,73.989402 L 135.27219,74.007142 L 135.57458,74.044569 L 135.87505,74.063764 L 136.17601,74.082488 L 136.48631,74.091855 L 136.77885,74.100748 L 137.07933,74.081555 L 137.38073,74.062365 L 137.68143,74.043393 L 137.98324,73.986796 z "
-   id="path227"
-   style="fill:url(#XMLID_3_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 138.7627,73.129575 L 138.67896,73.403388 L 138.51959,73.638103 L 138.29281,73.807768 L 138.00195,73.93064 L 137.6717,74.015131 L 137.28578,74.062167 L 136.88187,74.090722 L 136.43932,74.082564 L 135.99726,74.053764 L 135.53599,74.026878 L 135.09345,73.97935 L 134.66052,73.941922 L 134.2367,73.895379 L 133.85129,73.868028 L 133.50282,73.858441 L 133.20113,73.858686 L 134.30219,72.945284 L 134.56617,72.982247 L 134.83856,73.009872 L 135.10254,73.048746 L 135.36485,73.085461 L 135.62886,73.123379 L 135.90221,73.150978 L 136.16595,73.188186 L 136.43858,73.216497 L 136.71143,73.225366 L 136.99366,73.243602 L 137.26747,73.253922 L 137.55834,73.243356 L 137.84993,73.233992 L 138.15207,73.215044 L 138.45301,73.177594 L 138.7627,73.129575 z "
-   id="path8879"
-   style="fill:url(#XMLID_4_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 140.21128,71.246126 L 140.10759,71.726591 L 139.95783,72.122101 L 139.74182,72.451845 L 139.47784,72.715829 L 139.17688,72.922702 L 138.84811,73.083006 L 138.48115,73.185481 L 138.07652,73.252693 L 137.64408,73.271887 L 137.2008,73.28221 L 136.73955,73.233721 L 136.26892,73.197472 L 135.78916,73.131956 L 135.30006,73.057568 L 134.82008,72.973104 L 134.34922,72.897758 L 134.54673,72.756869 L 134.68759,72.634243 L 134.79104,72.549041 L 134.88535,72.473941 L 134.9792,72.399306 L 135.06392,72.314103 L 135.19565,72.200593 L 135.36485,72.049628 L 135.79804,72.124752 L 136.21131,72.180909 L 136.61666,72.228191 L 137.01191,72.227945 L 137.37886,72.218116 L 137.7367,72.199168 L 138.08443,72.151886 L 138.40482,72.094994 L 138.70552,72.019403 L 138.99759,71.9342 L 139.25128,71.830763 L 139.48673,71.727329 L 139.71257,71.614287 L 139.90096,71.500747 L 140.06991,71.368758 L 140.21128,71.246126 z "
-   id="path265"
-   style="fill:url(#XMLID_5_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 141.02917,70.313512 L 140.7652,70.652841 L 140.49354,70.963863 L 140.19188,71.227133 L 139.88204,71.462558 L 139.57174,71.661492 L 139.23312,71.830692 L 138.89401,71.962436 L 138.53642,72.056978 L 138.16972,72.142398 L 137.80227,72.189681 L 137.41658,72.218237 L 137.02182,72.21799 L 136.6268,72.199267 L 136.22169,72.153187 L 135.80673,72.096789 L 135.393,72.021932 L 135.59099,71.843149 L 135.8166,71.654024 L 136.03236,71.475708 L 136.23972,71.28707 L 136.42833,71.136351 L 136.57809,71.003891 L 136.69115,70.910064 L 136.74729,70.872148 L 136.78521,70.872615 L 136.87904,70.872367 L 137.02976,70.8719 L 137.21815,70.872638 L 137.43463,70.881755 L 137.69811,70.881758 L 137.9808,70.880798 L 138.29111,70.872419 L 138.62036,70.842191 L 138.96788,70.814347 L 139.3077,70.776895 L 139.66504,70.720003 L 140.02192,70.644412 L 140.36993,70.559456 L 140.70928,70.446191 L 141.02917,70.313512 z "
-   id="path284"
-   style="fill:url(#XMLID_6_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 142.25166,69.221573 L 142.04502,69.522765 L 141.8185,69.786745 L 141.53675,70.012811 L 141.23555,70.219931 L 140.89741,70.390085 L 140.54917,70.530457 L 140.18223,70.653088 L 139.78675,70.748116 L 139.40157,70.814592 L 139.00632,70.870523 L 138.61153,70.908689 L 138.21579,70.928131 L 137.82029,70.928618 L 137.44424,70.928864 L 137.08594,70.909892 L 136.73771,70.88183 L 136.85097,70.768561 L 137.00192,70.637285 L 137.16101,70.49593 L 137.32109,70.335846 L 137.4898,70.203119 L 137.65059,70.062479 L 137.78212,69.950168 L 137.90453,69.864724 L 137.92347,69.883672 L 138.00796,69.892319 L 138.18676,69.883917 L 138.42195,69.855114 L 138.71378,69.826336 L 139.05218,69.789374 L 139.42006,69.742094 L 139.79588,69.684517 L 140.19066,69.627157 L 140.58617,69.571471 L 140.96248,69.514826 L 141.31141,69.448106 L 141.63108,69.391485 L 141.90397,69.325474 L 142.11084,69.268364 L 142.25166,69.221573 z "
-   id="path303"
-   style="fill:url(#XMLID_7_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 143.52144,67.931146 L 143.52144,68.232088 L 143.38896,68.495606 L 143.14441,68.740639 L 142.80625,68.948251 L 142.39178,69.136644 L 141.92284,69.287826 L 141.4047,69.428691 L 140.87745,69.542693 L 140.33171,69.63679 L 139.80517,69.71312 L 139.30719,69.77913 L 138.85432,69.817267 L 138.46888,69.864796 L 138.16794,69.883524 L 137.97042,69.893847 L 137.88521,69.903208 L 138.01696,69.790186 L 138.15807,69.666821 L 138.3083,69.534827 L 138.45902,69.404263 L 138.62774,69.271068 L 138.78831,69.129713 L 138.94836,68.989316 L 139.11802,68.838377 L 139.39018,68.772121 L 139.66281,68.70685 L 139.9453,68.648535 L 140.20927,68.593338 L 140.49081,68.535983 L 140.77374,68.497816 L 141.05549,68.441663 L 141.32884,68.393917 L 141.62042,68.346168 L 141.89353,68.299597 L 142.17552,68.243195 L 142.44815,68.195669 L 142.72078,68.129905 L 142.99439,68.063675 L 143.25741,68.00654 L 143.52144,67.931146 z "
-   id="path8884"
-   style="fill:url(#XMLID_8_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 144.48045,67.008161 L 144.37655,67.224864 L 144.24527,67.412759 L 144.09454,67.581713 L 143.90687,67.715132 L 143.69929,67.827215 L 143.46482,67.931636 L 143.19218,68.016127 L 142.89051,68.091716 L 142.55186,68.167308 L 142.18491,68.233316 L 141.78029,68.300036 L 141.33798,68.384772 L 140.84914,68.479089 L 140.32189,68.573386 L 139.75743,68.686649 L 139.14521,68.828497 L 139.31537,68.677556 L 139.50353,68.508607 L 139.66313,68.348524 L 139.83234,68.198051 L 139.98255,68.066062 L 140.10471,67.962626 L 140.18967,67.896889 L 140.2271,67.8772 L 140.27436,67.886565 L 140.38741,67.88681 L 140.54771,67.8772 L 140.76344,67.867839 L 141.02647,67.848645 L 141.32884,67.829922 L 141.63868,67.800872 L 141.98716,67.753834 L 142.33514,67.706307 L 142.69272,67.649661 L 143.03113,67.573823 L 143.37982,67.489115 L 143.69898,67.394553 L 143.99994,67.281754 L 144.26321,67.149517 L 144.48045,67.008161 z "
-   id="path337"
-   style="fill:url(#XMLID_9_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 145.06337,66.217387 L 144.93186,66.517867 L 144.73387,66.790721 L 144.47085,67.018211 L 144.15117,67.206359 L 143.79358,67.3758 L 143.41729,67.507326 L 143.00379,67.621797 L 142.58933,67.696921 L 142.18472,67.763152 L 141.77987,67.810432 L 141.4038,67.848596 L 141.0551,67.857468 L 140.75391,67.877374 L 140.50961,67.876418 L 140.33178,67.886739 L 140.21756,67.886736 L 140.37764,67.745383 L 140.5293,67.613389 L 140.67881,67.482114 L 140.83841,67.35899 L 140.98,67.237542 L 141.13094,67.104836 L 141.29918,66.973067 L 141.45926,66.831714 L 141.6755,66.822351 L 141.9018,66.802421 L 142.1178,66.793301 L 142.35347,66.783718 L 142.59824,66.783716 L 142.83319,66.774353 L 143.07773,66.755409 L 143.32253,66.73572 L 143.55821,66.707906 L 143.79292,66.680058 L 144.02834,66.631846 L 144.24387,66.584806 L 144.47068,66.509682 L 144.67705,66.433846 L 144.87529,66.330654 L 145.06337,66.217387 z "
-   id="path352"
-   style="fill:url(#XMLID_10_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 145.62687,65.125916 L 145.5705,65.445344 L 145.46777,65.717486 L 145.31729,65.943797 L 145.13852,66.141797 L 144.91267,66.293228 L 144.66741,66.424262 L 144.39503,66.528163 L 144.09458,66.603508 L 143.79292,66.660401 L 143.45455,66.698318 L 143.12456,66.726875 L 142.78569,66.746069 L 142.44778,66.765288 L 142.10845,66.765288 L 141.77942,66.77514 L 141.45857,66.793621 L 141.57234,66.700015 L 141.7041,66.605697 L 141.83538,66.492653 L 141.97651,66.370736 L 142.1361,66.247613 L 142.29618,66.106753 L 142.47472,65.964685 L 142.63431,65.823329 L 142.79486,65.889314 L 142.97318,65.936594 L 143.14333,65.973804 L 143.33197,65.992529 L 143.51964,65.992995 L 143.71787,65.982921 L 143.91467,65.973333 L 144.1117,65.926544 L 144.31017,65.879263 L 144.50793,65.813035 L 144.71455,65.737933 L 144.90319,65.643365 L 145.09157,65.530815 L 145.27855,65.417768 L 145.45782,65.275949 L 145.62687,65.125916 z "
-   id="path367"
-   style="fill:url(#XMLID_11_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 146.2295,64.24009 L 146.13447,64.465664 L 146.01233,64.682856 L 145.86233,64.889482 L 145.66456,65.08773 L 145.46681,65.266757 L 145.23164,65.445319 L 144.97772,65.586918 L 144.72431,65.728027 L 144.45118,65.832177 L 144.17783,65.916886 L 143.91456,65.973287 L 143.64194,66.002579 L 143.37795,66.00209 L 143.12427,65.974488 L 142.87947,65.899117 L 142.66252,65.795462 L 142.78539,65.692248 L 142.90756,65.58832 L 143.04845,65.484884 L 143.18069,65.371374 L 143.31173,65.259064 L 143.45282,65.136192 L 143.60355,65.00469 L 143.77272,64.853259 L 143.93304,64.881571 L 144.10271,64.900543 L 144.26255,64.910124 L 144.41279,64.910127 L 144.56327,64.909907 L 144.70487,64.880611 L 144.85534,64.862597 L 144.9967,64.833552 L 145.13734,64.786982 L 145.28781,64.73009 L 145.43803,64.673446 L 145.58875,64.598566 L 145.7397,64.522482 L 145.8988,64.438238 L 146.05909,64.334558 L 146.2295,64.24009 z "
-   id="path8889"
-   style="fill:url(#XMLID_12_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 146.48292,63.722199 L 146.48266,63.835243 L 146.43489,63.957873 L 146.3509,64.080255 L 146.23785,64.193299 L 146.09675,64.315685 L 145.92828,64.428952 L 145.73003,64.532139 L 145.53299,64.636043 L 145.31604,64.72053 L 145.08974,64.796146 L 144.85526,64.862623 L 144.62871,64.900049 L 144.39353,64.928853 L 144.16818,64.928605 L 143.97042,64.900272 L 143.7727,64.853234 L 143.86701,64.779066 L 143.95172,64.712595 L 144.05515,64.627886 L 144.14923,64.552047 L 144.24333,64.477165 L 144.32755,64.410691 L 144.39355,64.345171 L 144.45932,64.278919 L 144.49698,64.316592 L 144.65637,64.306986 L 144.90164,64.269063 L 145.21242,64.203056 L 145.55968,64.09962 L 145.90887,63.995695 L 146.22829,63.863479 L 146.48292,63.722199 z "
-   id="path397"
-   style="fill:url(#XMLID_13_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 146.49156,63.18558 L 146.60411,63.336523 L 146.64133,63.468292 L 146.6046,63.581338 L 146.52014,63.703252 L 146.37904,63.807398 L 146.19064,63.901228 L 145.99362,63.985938 L 145.76754,64.061776 L 145.53186,64.127535 L 145.29715,64.17504 L 145.06218,64.222793 L 144.86372,64.250855 L 144.68518,64.278698 L 144.55344,64.297644 L 144.46897,64.307255 L 144.44088,64.297892 L 145.25852,63.647762 L 145.3521,63.629036 L 145.49417,63.581533 L 145.66337,63.525626 L 145.84238,63.458902 L 146.03993,63.393386 L 146.20865,63.317794 L 146.36921,63.251811 L 146.49156,63.18558 z "
-   id="path412"
-   style="fill:url(#XMLID_14_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 145.25849,63.647834 L 145.42818,63.497364 L 145.57891,63.365861 L 145.71951,63.24299 L 145.85102,63.129722 L 145.9739,63.026506 L 146.10492,62.913217 L 146.24626,62.809785 L 146.41617,62.69605 L 146.56638,62.90388 L 146.56686,63.072833 L 146.43511,63.205068 L 146.21888,63.327724 L 145.96423,63.411966 L 145.69138,63.497167 L 145.44659,63.572536 L 145.25849,63.647834 z "
-   id="path427"
-   style="fill:url(#XMLID_15_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 145.19322,63.526385 L 145.38137,63.393437 L 145.54096,63.271299 L 145.69121,63.177227 L 145.83256,63.072834 L 145.9732,62.988366 L 146.11432,62.903878 L 146.27486,62.800445 L 146.45364,62.697007 L 146.25564,62.480281 L 146.03919,62.433245 L 145.85991,62.517957 L 145.67295,62.688111 L 145.52201,62.913462 L 145.38139,63.149138 L 145.27796,63.365863 L 145.19322,63.526385 z "
-   id="path8894"
-   style="fill:url(#XMLID_16_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 131.57981,69.493713 L 131.00598,69.747379 L 130.50706,70.040409 L 130.11275,70.379026 L 129.78325,70.74598 L 129.52023,71.16068 L 129.32296,71.583542 L 129.18183,72.045281 L 129.06928,72.515889 L 128.9944,73.005938 L 128.94734,73.504634 L 128.91111,74.012206 L 128.89192,74.520982 L 128.86383,75.019436 L 128.82711,75.508772 L 128.78008,75.989211 L 128.70568,76.460063 L 128.81797,76.383733 L 128.93078,76.28966 L 129.04382,76.195834 L 129.15662,76.120487 L 129.27016,76.026172 L 129.38295,75.932095 L 129.50462,75.828168 L 129.61768,75.734342 L 129.73,75.63931 L 129.85334,75.536122 L 129.98462,75.442297 L 130.09742,75.347732 L 130.22051,75.244293 L 130.35106,75.150223 L 130.48256,75.036955 L 130.61477,74.942639 L 130.57732,74.717528 L 130.53844,74.435314 L 130.4919,74.105568 L 130.47246,73.747731 L 130.4439,73.362051 L 130.43453,72.957179 L 130.44317,72.533829 L 130.46164,72.119348 L 130.50917,71.695531 L 130.57445,71.292354 L 130.65844,70.905986 L 130.78131,70.538788 L 130.92193,70.209042 L 131.10071,69.916971 L 131.32607,69.672398 L 131.57981,69.493713 z "
-   id="path461"
-   style="fill:url(#XMLID_17_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 132.44545,68.946309 L 132.12482,69.097518 L 131.84307,69.267898 L 131.5899,69.44621 L 131.34416,69.654065 L 131.14735,69.888758 L 130.96882,70.16186 L 130.81835,70.443856 L 130.69646,70.7736 L 130.59348,71.140556 L 130.52772,71.546138 L 130.48045,71.987947 L 130.46246,72.477771 L 130.46295,73.02304 L 130.50109,73.606942 L 130.55823,74.246748 L 130.63357,74.943201 L 130.81284,74.783148 L 130.98083,74.650688 L 131.13205,74.518693 L 131.28206,74.406141 L 131.43277,74.292878 L 131.59236,74.170739 L 131.78075,74.038033 L 131.99745,73.878938 L 132.02579,73.568382 L 132.03491,73.257832 L 132.0438,72.927837 L 132.03373,72.61682 L 132.03373,72.297641 L 132.03347,71.978215 L 132.02365,71.666947 L 132.02365,71.346786 L 132.03325,71.036235 L 132.06111,70.726174 L 132.07959,70.424488 L 132.10767,70.114185 L 132.16386,69.813238 L 132.24832,69.520919 L 132.33302,69.229339 L 132.44545,68.946309 z "
-   id="path480"
-   style="fill:url(#XMLID_18_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 133.44239,68.36263 L 133.1136,68.390964 L 132.83978,68.514086 L 132.60532,68.712084 L 132.43637,68.975112 L 132.29501,69.30461 L 132.19228,69.671808 L 132.11694,70.085552 L 132.0699,70.5281 L 132.04159,70.989369 L 132.02382,71.45976 L 132.01516,71.92103 L 132.02455,72.382519 L 132.03414,72.805383 L 132.02552,73.209515 L 132.01616,73.5587 L 131.9876,73.869475 L 133.13572,72.96519 L 133.11673,72.682729 L 133.0973,72.399797 L 133.06897,72.126698 L 133.04977,71.845436 L 133.03105,71.562728 L 133.00224,71.271365 L 132.99215,70.979537 L 132.98207,70.706411 L 132.99168,70.414587 L 133.00129,70.123249 L 133.02936,69.83071 L 133.07593,69.539374 L 133.13255,69.238431 L 133.21677,68.946357 L 133.32019,68.654778 L 133.44239,68.36263 z "
-   id="path499"
-   style="fill:url(#XMLID_19_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 135.64356,67.476607 L 135.08824,67.485724 L 134.6181,67.561783 L 134.22308,67.694241 L 133.88421,67.882414 L 133.61158,68.136812 L 133.39534,68.428886 L 133.23601,68.777354 L 133.1136,69.14453 L 133.03874,69.558274 L 133.00154,69.990496 L 132.98305,70.461598 L 133.00202,70.932209 L 133.02125,71.421788 L 133.069,71.920244 L 133.11649,72.418941 L 133.16355,72.917641 L 133.35266,72.748196 L 133.51154,72.606619 L 133.64353,72.493844 L 133.77552,72.399306 L 133.90679,72.30548 L 134.04791,72.201329 L 134.20751,72.080128 L 134.40525,71.937567 L 134.34837,71.486152 L 134.31069,71.072188 L 134.30059,70.667559 L 134.30996,70.300631 L 134.35652,69.953118 L 134.41243,69.632736 L 134.47794,69.340688 L 134.57276,69.058224 L 134.6757,68.803603 L 134.7885,68.578004 L 134.92001,68.35194 L 135.05201,68.14507 L 135.19167,67.966043 L 135.33398,67.787258 L 135.49357,67.627668 L 135.64356,67.476607 z "
-   id="path8899"
-   style="fill:url(#XMLID_20_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 136.99879,66.628254 L 136.57426,66.826258 L 136.19819,67.033349 L 135.86004,67.278361 L 135.56845,67.532048 L 135.2956,67.805395 L 135.0705,68.106833 L 134.87296,68.418097 L 134.71337,68.748086 L 134.57177,69.095576 L 134.47794,69.453389 L 134.39348,69.83929 L 134.34718,70.224474 L 134.31912,70.629816 L 134.31954,71.04309 L 134.34809,71.467648 L 134.39561,71.909699 L 134.62119,71.740749 L 134.87437,71.54228 L 135.12899,71.344282 L 135.38361,71.146278 L 135.61832,70.967251 L 135.7971,70.826854 L 135.92885,70.713343 L 135.9754,70.665814 L 135.9754,70.628855 L 135.985,70.543901 L 135.98525,70.412126 L 135.98453,70.242933 L 135.98526,70.035814 L 136.0028,69.809992 L 136.02224,69.546723 L 136.04983,69.254649 L 136.10598,68.953238 L 136.16213,68.633594 L 136.24662,68.303355 L 136.35055,67.956089 L 136.47247,67.625872 L 136.62247,67.287724 L 136.79119,66.948121 L 136.99879,66.628254 z "
-   id="path537"
-   style="fill:url(#XMLID_21_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 138.55942,65.403567 L 138.20254,65.554995 L 137.8728,65.734051 L 137.5721,65.978129 L 137.3086,66.242113 L 137.06455,66.544262 L 136.84832,66.872803 L 136.66976,67.221273 L 136.50034,67.598056 L 136.36882,67.974347 L 136.2469,68.360249 L 136.16244,68.76487 L 136.07822,69.169252 L 136.03192,69.556358 L 135.99399,69.9514 L 135.97574,70.327225 L 135.9767,70.684814 L 136.10748,70.57226 L 136.27669,70.440512 L 136.46461,70.289549 L 136.66233,70.129715 L 136.85984,69.969167 L 137.03887,69.82759 L 137.18885,69.695845 L 137.29254,69.592162 L 137.27383,69.572968 L 137.27383,69.478898 L 137.30143,69.319775 L 137.34798,69.0841 L 137.41423,68.811468 L 137.48911,68.490838 L 137.58294,68.133028 L 137.68687,67.767034 L 137.78889,67.399612 L 137.90142,67.022585 L 138.02477,66.65541 L 138.13756,66.318001 L 138.25037,66.015134 L 138.36221,65.752603 L 138.46611,65.553647 L 138.55942,65.403567 z "
-   id="path556"
-   style="fill:url(#XMLID_22_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 140.14937,64.357952 L 139.8105,64.283071 L 139.49037,64.358443 L 139.1995,64.557157 L 138.9175,64.839155 L 138.67271,65.215418 L 138.43753,65.657965 L 138.22154,66.157157 L 138.03389,66.664974 L 137.85556,67.201834 L 137.71467,67.719016 L 137.58343,68.209307 L 137.47953,68.670333 L 137.39625,69.055989 L 137.32977,69.348063 L 137.29184,69.553974 L 137.26401,69.639419 L 137.42455,69.535986 L 137.59351,69.404925 L 137.77204,69.262368 L 137.95084,69.102284 L 138.1486,68.942919 L 138.34611,68.78188 L 138.54337,68.641236 L 138.74113,68.500104 L 138.8352,68.236121 L 138.9187,67.981721 L 139.00438,67.70884 L 139.07876,67.445323 L 139.16347,67.190701 L 139.2386,66.927433 L 139.32306,66.654328 L 139.39844,66.391306 L 139.48196,66.135946 L 139.55709,65.873166 L 139.65187,65.609899 L 139.74572,65.365352 L 139.82972,65.110458 L 139.93341,64.857021 L 140.03567,64.602153 L 140.14937,64.357952 z "
-   id="path575"
-   style="fill:url(#XMLID_23_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 142.28431,63.123433 L 141.92672,63.180567 L 141.60681,63.330575 L 141.3253,63.538649 L 141.06253,63.801921 L 140.8355,64.122084 L 140.63874,64.489748 L 140.46928,64.866062 L 140.31978,65.261325 L 140.20648,65.656836 L 140.09417,66.051854 L 140.01932,66.428633 L 139.95356,66.757886 L 139.89762,67.059079 L 139.86955,67.313234 L 139.8415,67.491549 L 139.83262,67.595478 L 140.00133,67.463238 L 140.16139,67.341075 L 140.30177,67.238132 L 140.43403,67.124129 L 140.57488,67.001499 L 140.71553,66.89831 L 140.87585,66.775437 L 141.04409,66.643664 L 141.09208,66.427676 L 141.1384,66.210482 L 141.1763,65.966185 L 141.22334,65.731002 L 141.26989,65.477093 L 141.31716,65.222941 L 141.36372,64.968539 L 141.42011,64.723997 L 141.47675,64.478713 L 141.56029,64.243999 L 141.64571,64.008817 L 141.73932,63.800985 L 141.85209,63.595072 L 141.97447,63.415088 L 142.12469,63.264861 L 142.28431,63.123433 z "
-   id="path8904"
-   style="fill:url(#XMLID_24_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 141.39156,63.472395 L 141.12707,63.529019 L 140.88324,63.623087 L 140.68503,63.745469 L 140.49759,63.896435 L 140.33726,64.074999 L 140.19591,64.291209 L 140.06393,64.555658 L 139.93361,64.837162 L 139.81121,65.167404 L 139.68834,65.515873 L 139.56692,65.9205 L 139.43588,66.353461 L 139.28494,66.824069 L 139.11648,67.332844 L 138.93817,67.886958 L 138.72171,68.48069 L 138.88227,68.3398 L 139.06969,68.188347 L 139.25809,68.03834 L 139.45559,67.896025 L 139.6255,67.764502 L 139.757,67.671385 L 139.85061,67.595084 L 139.87963,67.548759 L 139.87867,67.51084 L 139.89812,67.397821 L 139.90698,67.237272 L 139.93531,67.039986 L 139.97248,66.79544 L 140.02913,66.513194 L 140.08527,66.211296 L 140.15991,65.891402 L 140.25352,65.553032 L 140.34806,65.214166 L 140.47838,64.875058 L 140.61924,64.545557 L 140.78028,64.23525 L 140.96723,63.951827 L 141.16593,63.698413 L 141.39156,63.472395 z "
-   id="path605"
-   style="fill:url(#XMLID_25_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 143.51738,62.849373 L 143.15933,62.831136 L 142.8399,62.868342 L 142.5668,62.953791 L 142.32225,63.085536 L 142.12475,63.264811 L 141.94597,63.481044 L 141.78588,63.735691 L 141.65486,63.999674 L 141.55216,64.309737 L 141.45759,64.610681 L 141.38246,64.949298 L 141.30782,65.288899 L 141.23246,65.627763 L 141.1763,65.966133 L 141.12063,66.305955 L 141.04527,66.625136 L 141.1768,66.531065 L 141.30854,66.418042 L 141.47821,66.305488 L 141.6467,66.172539 L 141.82572,66.032387 L 142.01338,65.880711 L 142.1924,65.740072 L 142.37143,65.598003 L 142.30542,65.419686 L 142.26775,65.249998 L 142.23895,65.071435 L 142.2392,64.883045 L 142.24878,64.704483 L 142.28549,64.535308 L 142.34189,64.345958 L 142.40765,64.167397 L 142.49237,63.988618 L 142.59509,63.810054 L 142.7086,63.640365 L 142.83964,63.470452 L 142.99035,63.301503 L 143.15089,63.141447 L 143.32871,62.999599 L 143.51738,62.849373 z "
-   id="path620"
-   style="fill:url(#XMLID_26_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 145.29545,62.311059 L 145.1728,62.283462 L 145.03192,62.292823 L 144.87233,62.340596 L 144.72161,62.415476 L 144.56177,62.519134 L 144.40243,62.660736 L 144.25195,62.811698 L 144.09162,62.990263 L 143.95989,63.178183 L 143.82861,63.385796 L 143.72444,63.602251 L 143.64046,63.818264 L 143.57444,64.035455 L 143.53725,64.260806 L 143.53725,64.46817 L 143.55691,64.675042 L 143.65988,64.609525 L 143.78228,64.524569 L 143.90419,64.440105 L 144.02637,64.354411 L 144.1293,64.269704 L 144.21498,64.204186 L 144.27111,64.148035 L 144.29007,64.129085 L 144.30854,64.072217 L 144.34551,63.92197 L 144.43047,63.686321 L 144.53437,63.413934 L 144.67501,63.121616 L 144.85354,62.81106 L 145.05081,62.537958 L 145.29545,62.311059 z "
-   id="path635"
-   style="fill:url(#XMLID_27_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 145.9072,62.470673 L 145.76631,62.312043 L 145.61561,62.236205 L 145.47379,62.227331 L 145.32356,62.283489 L 145.18222,62.386456 L 145.05094,62.537885 L 144.91895,62.707328 L 144.78766,62.914446 L 144.68422,63.130682 L 144.58126,63.347381 L 144.48718,63.554747 L 144.4123,63.742917 L 144.3559,63.912607 L 144.29975,64.044598 L 144.29015,64.12906 L 144.27982,64.157127 L 145.16417,63.534841 L 145.20281,63.441014 L 145.2772,63.309024 L 145.35232,63.158547 L 145.44639,62.988638 L 145.54983,62.828579 L 145.66312,62.678821 L 145.78525,62.556195 L 145.9072,62.470673 z "
-   id="path8909"
-   style="fill:url(#XMLID_28_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 144.65565,62.462758 L 144.38279,62.490848 L 144.12864,62.55686 L 143.86562,62.651886 L 143.611,62.792774 L 143.37531,62.953103 L 143.15092,63.123237 L 142.94381,63.330842 L 142.75495,63.555239 L 142.59584,63.791156 L 142.46457,64.054894 L 142.36088,64.309269 L 142.28552,64.572784 L 142.2392,64.84564 L 142.23897,65.108912 L 142.28625,65.363066 L 142.3712,65.617001 L 142.50345,65.503978 L 142.6347,65.41062 L 142.76645,65.296618 L 142.91692,65.183596 L 143.06764,65.071264 L 143.21786,64.93927 L 143.39664,64.817112 L 143.57424,64.675043 L 143.54736,64.534424 L 143.53754,64.393068 L 143.54713,64.251959 L 143.56514,64.10149 L 143.60256,63.950773 L 143.64936,63.790688 L 143.706,63.639482 L 143.78159,63.489476 L 143.85646,63.33876 L 143.95033,63.188283 L 144.04464,63.056516 L 144.15743,62.924055 L 144.27048,62.792776 L 144.39216,62.670616 L 144.52415,62.557348 L 144.65565,62.462758 z "
-   id="path665"
-   style="fill:url(#XMLID_29_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 106.64878,91.467152 L 106.65864,91.514901 L 106.68669,91.637529 L 106.74334,91.825208 L 106.80955,92.06039 L 106.89332,92.333737 L 106.9975,92.625563 L 107.13861,92.936584 L 107.28982,93.236569 L 107.46958,93.528151 L 107.6762,93.773654 L 107.91188,93.989177 L 108.16603,94.148765 L 108.45836,94.233721 L 108.78714,94.242347 L 109.14449,94.148053 L 109.53112,93.950054 L 109.34153,93.855513 L 109.1625,93.734089 L 108.98443,93.611706 L 108.79626,93.460988 L 108.61721,93.301152 L 108.43889,93.122837 L 108.27834,92.944054 L 108.10843,92.755909 L 107.94813,92.558154 L 107.78829,92.36185 L 107.64719,92.16363 L 107.52453,91.96612 L 107.39229,91.778196 L 107.28886,91.598922 L 107.19407,91.41149 L 107.10986,91.250942 L 107.04433,91.279498 L 106.99658,91.307587 L 106.93107,91.335651 L 106.88379,91.365191 L 106.82717,91.383916 L 106.7806,91.411268 L 106.71437,91.439111 L 106.64878,91.467152 z "
-   id="path686"
-   style="fill:url(#XMLID_30_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 107.1002,91.279228 L 107.48706,91.928644 L 107.86362,92.492859 L 108.22167,92.944054 L 108.57015,93.310762 L 108.89964,93.602367 L 109.21978,93.809214 L 109.5212,93.959932 L 109.79407,94.06241 L 110.05783,94.100082 L 110.30191,94.099838 L 110.50949,94.062656 L 110.69668,94.006502 L 110.87643,93.920834 L 111.00795,93.82676 L 111.12026,93.732688 L 111.21457,93.638369 L 111.00745,93.544051 L 110.80059,93.449979 L 110.58411,93.328063 L 110.37675,93.196536 L 110.15092,93.045574 L 109.9342,92.886942 L 109.71725,92.727107 L 109.50151,92.548325 L 109.29343,92.3604 L 109.08607,92.153529 L 108.89864,91.945945 L 108.70951,91.720838 L 108.54009,91.495241 L 108.37114,91.249959 L 108.22931,91.015489 L 108.08796,90.761336 L 107.93773,90.835724 L 107.78655,90.912054 L 107.64544,90.978307 L 107.51441,91.052721 L 107.40111,91.110324 L 107.2792,91.175619 L 107.18535,91.232019 L 107.1002,91.279228 z "
-   id="path707"
-   style="fill:url(#XMLID_31_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 108.09782,90.751481 L 108.22885,90.996247 L 108.40883,91.287607 L 108.63441,91.58951 L 108.90797,91.898613 L 109.21804,92.228827 L 109.5382,92.548005 L 109.88642,92.839119 L 110.24497,93.103104 L 110.60327,93.327965 L 110.96061,93.515888 L 111.31843,93.628442 L 111.64721,93.675945 L 111.96807,93.637313 L 112.24907,93.505567 L 112.49483,93.279477 L 112.69186,92.931743 L 112.41828,92.865514 L 112.13628,92.790387 L 111.86293,92.687444 L 111.60903,92.584229 L 111.35537,92.443365 L 111.10986,92.311594 L 110.87467,92.151268 L 110.639,91.991433 L 110.42255,91.812871 L 110.20656,91.615608 L 110.00881,91.417854 L 109.81992,91.192994 L 109.63178,90.967397 L 109.4712,90.731969 L 109.30106,90.486957 L 109.16019,90.233295 L 109.02869,90.28994 L 108.87871,90.365065 L 108.72777,90.440658 L 108.57705,90.516029 L 108.4268,90.591867 L 108.2953,90.648021 L 108.18154,90.704174 L 108.09782,90.751481 z "
-   id="path728"
-   style="fill:url(#XMLID_32_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 114.39445,92.261265 L 114.1595,92.535571 L 113.87655,92.742688 L 113.56696,92.865071 L 113.23768,92.931301 L 112.87002,92.939926 L 112.49373,92.88424 L 112.11768,92.771686 L 111.72242,92.621681 L 111.33626,92.424173 L 110.94941,92.188991 L 110.5827,91.916848 L 110.24359,91.616125 L 109.92368,91.2967 L 109.63163,90.948474 L 109.37725,90.5813 L 109.16943,90.204984 L 109.31054,90.138731 L 109.45285,90.072255 L 109.59303,89.988258 L 109.74421,89.911928 L 109.89468,89.837295 L 110.05452,89.752806 L 110.20499,89.677189 L 110.36457,89.592455 L 110.56209,89.789963 L 110.77832,90.005706 L 111.03365,90.24138 L 111.29716,90.485679 L 111.56069,90.729978 L 111.83357,90.984132 L 112.135,91.228455 L 112.4165,91.454274 L 112.70921,91.670411 L 112.98183,91.868165 L 113.265,92.036626 L 113.52877,92.168864 L 113.77307,92.261977 L 114.00921,92.309482 L 114.21559,92.30899 L 114.39445,92.261265 z "
-   id="path749"
-   style="fill:url(#XMLID_33_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 110.383,89.592356 L 110.515,89.535711 L 110.63716,89.469728 L 110.74971,89.413795 L 110.86345,89.337957 L 110.98537,89.272219 L 111.0984,89.214862 L 111.22128,89.149099 L 111.35232,89.093412 L 111.55941,89.262611 L 111.77587,89.458915 L 112.01154,89.67537 L 112.25633,89.901435 L 112.49201,90.136617 L 112.74569,90.389812 L 113.01038,90.634848 L 113.26432,90.869563 L 113.52808,91.095874 L 113.80069,91.311863 L 114.07403,91.490154 L 114.32844,91.65048 L 114.60035,91.772643 L 114.86387,91.866248 L 115.11898,91.913997 L 115.37265,91.904167 L 115.0345,92.110794 L 114.7146,92.242539 L 114.39519,92.299897 L 114.08414,92.309014 L 113.77312,92.261979 L 113.46303,92.159746 L 113.16208,92.009053 L 112.8693,91.830492 L 112.56737,91.605386 L 112.26689,91.360103 L 111.97458,91.087002 L 111.66332,90.79638 L 111.35325,90.504552 L 111.03308,90.203608 L 110.72229,89.893301 L 110.383,89.592356 z "
-   id="path766"
-   style="fill:url(#XMLID_34_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 116.89653,91.111725 L 116.50199,91.469806 L 116.10673,91.715309 L 115.72154,91.856172 L 115.34476,91.912793 L 114.96844,91.875366 L 114.60964,91.763304 L 114.24348,91.602977 L 113.88543,91.377379 L 113.54631,91.114108 L 113.20841,90.832382 L 112.8777,90.521829 L 112.56739,90.212013 L 112.24653,89.89163 L 111.9458,89.591398 L 111.64436,89.327414 L 111.3619,89.083336 L 111.49343,89.007989 L 111.61534,88.94176 L 111.72838,88.886319 L 111.85125,88.819131 L 111.97293,88.753148 L 112.08548,88.697215 L 112.19875,88.621844 L 112.33077,88.546005 L 112.349,88.583458 L 112.39653,88.667947 L 112.48126,88.791067 L 112.58516,88.951148 L 112.73588,89.138334 L 112.90533,89.346165 L 113.1122,89.572254 L 113.36682,89.807215 L 113.6493,90.033525 L 113.97856,90.26679 L 114.35608,90.473908 L 114.76022,90.671662 L 115.22196,90.831473 L 115.73913,90.97236 L 116.28487,91.065475 L 116.89653,91.111725 z "
-   id="path787"
-   style="fill:url(#XMLID_35_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 118.58105,90.235039 L 118.37369,90.536475 L 118.1013,90.772886 L 117.7718,90.932476 L 117.39502,91.045274 L 116.98199,91.102165 L 116.53944,91.111749 L 116.06904,91.056087 L 115.58834,90.953143 L 115.11797,90.801958 L 114.63776,90.604941 L 114.16641,90.360617 L 113.72458,90.070461 L 113.30963,89.750078 L 112.92324,89.383838 L 112.60333,88.989066 L 112.32108,88.555639 L 113.4968,87.943429 L 113.63839,88.103264 L 113.8083,88.29141 L 114.01446,88.478843 L 114.26021,88.685223 L 114.52325,88.893053 L 114.82467,89.099924 L 115.13548,89.316159 L 115.4837,89.5132 L 115.84154,89.700633 L 116.20871,89.860936 L 116.58525,90.010941 L 116.981,90.123985 L 117.37601,90.218058 L 117.78111,90.264603 L 118.18549,90.273475 L 118.58105,90.235039 z "
-   id="path808"
-   style="fill:url(#XMLID_36_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 113.45967,87.943159 L 113.6471,87.848864 L 113.87316,87.716873 L 114.13715,87.584414 L 114.39968,87.434188 L 114.66391,87.302417 L 114.91711,87.160595 L 115.13358,87.038188 L 115.29389,86.934506 L 115.5291,87.13226 L 115.77413,87.356654 L 116.02828,87.573847 L 116.28219,87.809029 L 116.55553,88.024772 L 116.82934,88.260691 L 117.10196,88.47668 L 117.38442,88.683798 L 117.66618,88.871967 L 117.9496,89.041166 L 118.25054,89.190435 L 118.5419,89.312816 L 118.84381,89.407355 L 119.13513,89.453927 L 119.42672,89.482015 L 119.72816,89.463778 L 119.5681,89.680017 L 119.36148,89.867915 L 119.11717,90.018632 L 118.83518,90.132144 L 118.51479,90.206778 L 118.1661,90.254527 L 117.79003,90.255682 L 117.36646,90.2084 L 116.94287,90.12369 L 116.4912,89.972481 L 116.0201,89.785515 L 115.52285,89.531607 L 115.02199,89.221299 L 114.51467,88.864669 L 113.98646,88.431954 L 113.45967,87.943159 z "
-   id="path829"
-   style="fill:url(#XMLID_37_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 121.14868,88.416151 L 120.7448,88.859902 L 120.3493,89.17957 L 119.93579,89.387623 L 119.52999,89.472334 L 119.12629,89.48194 L 118.72096,89.416424 L 118.33529,89.275069 L 117.9398,89.069157 L 117.56325,88.843805 L 117.18647,88.560603 L 116.83849,88.269735 L 116.48977,87.97862 L 116.16027,87.667846 L 115.84925,87.395212 L 115.55789,87.140812 L 115.28455,86.925069 L 115.44416,86.821633 L 115.58623,86.736186 L 115.72685,86.670914 L 115.85717,86.595788 L 115.99973,86.510833 L 116.13076,86.434507 L 116.29059,86.350507 L 116.4694,86.246114 L 116.75307,86.472671 L 117.02451,86.688903 L 117.29784,86.905139 L 117.57097,87.101443 L 117.83567,87.309029 L 118.09894,87.496951 L 118.3615,87.666372 L 118.62574,87.835101 L 118.89909,87.976458 L 119.18132,88.10749 L 119.4729,88.211419 L 119.77458,88.305737 L 120.10312,88.370785 L 120.43311,88.417577 L 120.78134,88.426917 L 121.14868,88.416151 z "
-   id="path850"
-   style="fill:url(#XMLID_38_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 122.49332,87.484272 L 122.13598,87.880001 L 121.75944,88.161974 L 121.3649,88.351078 L 120.95044,88.445864 L 120.53644,88.464344 L 120.11313,88.417307 L 119.68979,88.29635 L 119.26598,88.136513 L 118.85199,87.947634 L 118.44737,87.713407 L 118.07034,87.468398 L 117.70341,87.196965 L 117.35542,86.942567 L 117.04416,86.688412 L 116.75187,86.453229 L 116.5066,86.246853 L 116.66789,86.143171 L 116.80828,86.05797 L 116.93979,85.983088 L 117.06265,85.898111 L 117.18387,85.832594 L 117.3065,85.746434 L 117.4656,85.662189 L 117.63551,85.5489 L 118.05045,85.869284 L 118.45507,86.161109 L 118.84097,86.41455 L 119.20818,86.649733 L 119.5569,86.846281 L 119.90488,87.024842 L 120.22477,87.156589 L 120.53603,87.279217 L 120.82737,87.382407 L 121.11032,87.456574 L 121.37384,87.494494 L 121.61839,87.531675 L 121.86293,87.550623 L 122.07938,87.540549 L 122.29585,87.512237 L 122.49332,87.484272 z "
-   id="path871"
-   style="fill:url(#XMLID_39_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 123.70721,86.551186 L 123.36834,86.928436 L 123.00185,87.201783 L 122.61475,87.380591 L 122.20126,87.493633 L 121.78774,87.513072 L 121.36417,87.485007 L 120.93098,87.391156 L 120.49851,87.260613 L 120.07466,87.099823 L 119.66068,86.893194 L 119.26492,86.667843 L 118.87926,86.433375 L 118.52082,86.207777 L 118.19107,85.972593 L 117.9002,85.756581 L 117.63548,85.568189 L 117.76701,85.474117 L 117.90862,85.389628 L 118.05021,85.304206 L 118.19132,85.219718 L 118.33314,85.134518 L 118.47329,85.049559 L 118.61441,84.964608 L 118.76538,84.871244 L 118.95281,85.03995 L 119.17913,85.20915 L 119.42392,85.378597 L 119.71553,85.538183 L 120.02629,85.716498 L 120.35531,85.857854 L 120.70378,86.017201 L 121.05272,86.158776 L 121.42015,86.280935 L 121.78731,86.384127 L 122.13458,86.468834 L 122.48278,86.533396 L 122.8219,86.590285 L 123.14252,86.608987 L 123.44275,86.590039 L 123.70721,86.551186 z "
-   id="path892"
-   style="fill:url(#XMLID_40_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 125.09819,85.591244 L 124.77951,86.004986 L 124.39337,86.297057 L 123.96089,86.485694 L 123.49003,86.580259 L 122.99156,86.609257 L 122.48303,86.553348 L 121.95697,86.440059 L 121.43837,86.299663 L 120.93993,86.102644 L 120.46857,85.895283 L 120.03562,85.688412 L 119.63124,85.47267 L 119.31061,85.26533 L 119.04709,85.096376 L 118.85916,84.964629 L 118.76531,84.87127 L 118.93352,84.757758 L 119.09383,84.654078 L 119.26279,84.559982 L 119.42284,84.456544 L 119.59202,84.362224 L 119.74273,84.267193 L 119.89321,84.173342 L 120.03503,84.069908 L 120.24215,84.182951 L 120.47683,84.324059 L 120.74922,84.483651 L 121.06073,84.661718 L 121.39073,84.840529 L 121.73825,85.019556 L 122.09533,85.188017 L 122.47332,85.357707 L 122.84962,85.507464 L 123.21633,85.629847 L 123.58398,85.733531 L 123.93196,85.799292 L 124.27058,85.816817 L 124.57153,85.798089 L 124.85398,85.722989 L 125.09819,85.591244 z "
-   id="path913"
-   style="fill:url(#XMLID_41_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 125.90718,84.687204 L 125.64414,85.100945 L 125.3439,85.401669 L 125.00479,85.609746 L 124.6191,85.732377 L 124.22337,85.770048 L 123.80913,85.751322 L 123.36802,85.667327 L 122.925,85.54492 L 122.49134,85.376213 L 122.05914,85.188777 L 121.65404,84.972322 L 121.25804,84.765452 L 120.9007,84.558801 L 120.58943,84.361269 L 120.30719,84.192315 L 120.08206,84.060322 L 120.20373,83.976106 L 120.31702,83.88154 L 120.42886,83.806661 L 120.53279,83.740184 L 120.64584,83.664596 L 120.74999,83.598832 L 120.8431,83.542186 L 120.93788,83.467553 L 121.18292,83.654493 L 121.45531,83.833744 L 121.73777,84.001982 L 122.01063,84.163021 L 122.31207,84.312779 L 122.61374,84.444061 L 122.91494,84.557594 L 123.23507,84.651202 L 123.55499,84.745028 L 123.88449,84.810547 L 124.22357,84.84726 L 124.54278,84.866455 L 124.89171,84.856845 L 125.2205,84.828509 L 125.55961,84.771621 L 125.90718,84.687204 z "
-   id="path934"
-   style="fill:url(#XMLID_42_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 127.14889,83.782454 L 126.86739,84.064944 L 126.56574,84.309981 L 126.23694,84.507244 L 125.88775,84.667789 L 125.52177,84.771716 L 125.12625,84.847557 L 124.73195,84.866995 L 124.31846,84.866747 L 123.90302,84.81035 L 123.47968,84.726354 L 123.04602,84.594607 L 122.61382,84.444135 L 122.19001,84.246846 L 121.76618,84.012109 L 121.34211,83.758444 L 120.93795,83.467579 L 121.08819,83.373037 L 121.22953,83.269136 L 121.38959,83.165699 L 121.52974,83.062019 L 121.6711,82.959046 L 121.81149,82.873845 L 121.95332,82.769918 L 122.09443,82.68543 L 122.34905,82.826317 L 122.60295,82.986155 L 122.85758,83.127042 L 123.1026,83.276554 L 123.35674,83.417419 L 123.61016,83.55902 L 123.87365,83.671819 L 124.15611,83.784372 L 124.44769,83.869574 L 124.75871,83.95308 L 125.08846,83.999625 L 125.44555,84.018818 L 125.81322,84.009208 L 126.22671,83.971511 L 126.6786,83.895918 L 127.14889,83.782454 z "
-   id="path955"
-   style="fill:url(#XMLID_43_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 128.85116,82.434913 L 128.51278,82.83138 L 128.13671,83.169999 L 127.75106,83.442855 L 127.34621,83.660046 L 126.93246,83.829464 L 126.49953,83.943223 L 126.05698,84.008495 L 125.60604,84.00874 L 125.16396,83.981389 L 124.7118,83.906018 L 124.25919,83.794201 L 123.81809,83.634833 L 123.37578,83.436365 L 122.94214,83.211504 L 122.5284,82.948454 L 122.13169,82.66646 L 122.25433,82.581257 L 122.39618,82.497014 L 122.52651,82.403162 L 122.65824,82.308379 L 122.79024,82.214773 L 122.9412,82.119989 L 123.08209,82.016549 L 123.23328,81.921985 L 123.50542,82.119272 L 123.79724,82.29781 L 124.10925,82.457647 L 124.42868,82.588927 L 124.76658,82.702215 L 125.11554,82.804445 L 125.47336,82.88004 L 125.83982,82.927814 L 126.21708,82.965265 L 126.59267,82.964061 L 126.9697,82.944155 L 127.35513,82.897608 L 127.73167,82.821525 L 128.11757,82.718334 L 128.48477,82.595461 L 128.85116,82.434913 z "
-   id="path976"
-   style="fill:url(#XMLID_44_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 129.7818,81.690932 L 129.45278,81.983005 L 129.10506,82.237626 L 128.72827,82.464156 L 128.32439,82.642941 L 127.91929,82.784543 L 127.48732,82.897829 L 127.05414,82.972957 L 126.61183,83.001511 L 126.17001,82.992639 L 125.71881,82.955679 L 125.27482,82.870726 L 124.84234,82.757929 L 124.41973,82.598803 L 124.00549,82.410658 L 123.60878,82.184842 L 123.2332,81.92206 L 123.35437,81.837353 L 123.45806,81.751904 L 123.55263,81.676557 L 123.64648,81.601922 L 123.74056,81.526083 L 123.85333,81.451205 L 123.98436,81.357133 L 124.13532,81.24313 L 124.54066,81.384482 L 124.9069,81.525125 L 125.26498,81.657116 L 125.59449,81.779253 L 125.924,81.882693 L 126.22592,81.976295 L 126.52686,82.050709 L 126.8278,82.106886 L 127.13882,82.153924 L 127.44913,82.162798 L 127.78799,82.163263 L 128.12612,82.125591 L 128.50315,82.068229 L 128.89816,81.973667 L 129.32102,81.851751 L 129.7818,81.690932 z "
-   id="path997"
-   style="fill:url(#XMLID_45_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 131.38111,80.278343 L 130.93879,80.758559 L 130.48761,81.173755 L 130.0362,81.494137 L 129.57493,81.748047 L 129.10504,81.936656 L 128.64353,82.058329 L 128.17316,82.135123 L 127.703,82.153139 L 127.23263,82.13537 L 126.76174,82.079218 L 126.30983,81.985854 L 125.84856,81.862489 L 125.3974,81.731923 L 124.96399,81.582165 L 124.53031,81.412965 L 124.11681,81.243303 L 124.20994,81.167931 L 124.34239,81.073856 L 124.50198,80.951718 L 124.66206,80.829091 L 124.84109,80.706685 L 124.99181,80.593417 L 125.12262,80.500057 L 125.21647,80.423509 L 125.59351,80.574447 L 125.98012,80.715799 L 126.36622,80.81828 L 126.74181,80.912131 L 127.11859,80.968309 L 127.50379,81.015098 L 127.88057,81.033331 L 128.2763,81.034045 L 128.65237,81.015098 L 129.03876,80.966611 L 129.43331,80.910459 L 129.81994,80.825258 L 130.20513,80.721354 L 130.60018,80.58936 L 130.9856,80.447762 L 131.38111,80.278343 z "
-   id="path1018"
-   style="fill:url(#XMLID_46_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 132.40611,79.514972 L 132.14284,79.760011 L 131.84214,79.985851 L 131.49342,80.202553 L 131.09914,80.390947 L 130.6854,80.561345 L 130.24237,80.702948 L 129.77222,80.816459 L 129.28338,80.910776 L 128.77532,80.967642 L 128.26703,81.005561 L 127.7496,80.996939 L 127.22139,80.95973 L 126.71358,80.883894 L 126.20601,80.77134 L 125.70684,80.611998 L 125.22613,80.414489 L 125.38692,80.292569 L 125.54652,80.169451 L 125.70587,80.028341 L 125.87528,79.896815 L 126.01614,79.774189 L 126.14836,79.679868 L 126.2609,79.604768 L 126.3365,79.585798 L 126.63769,79.547657 L 126.94849,79.519565 L 127.29672,79.50974 L 127.64469,79.499664 L 128.0114,79.509247 L 128.39683,79.517897 L 128.79259,79.536868 L 129.18881,79.555814 L 129.59294,79.583659 L 129.99732,79.593022 L 130.40195,79.602139 L 130.81591,79.600936 L 131.22991,79.601178 L 131.62492,79.581028 L 132.02043,79.562795 L 132.40611,79.514972 z "
-   id="path1039"
-   style="fill:url(#XMLID_47_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 133.77909,78.14003 L 133.69485,78.545858 L 133.50695,78.865284 L 133.25304,79.119685 L 132.92353,79.31766 L 132.52851,79.449187 L 132.08575,79.533896 L 131.58755,79.581891 L 131.06076,79.60086 L 130.49558,79.582381 L 129.91242,79.563653 L 129.30042,79.536303 L 128.68917,79.509198 L 128.08679,79.490472 L 127.47505,79.481108 L 126.89119,79.500545 L 126.33655,79.548294 L 126.44095,79.4439 L 126.58059,79.340714 L 126.73156,79.208472 L 126.90099,79.096169 L 127.07067,78.963928 L 127.24899,78.841302 L 127.41795,78.728967 L 127.55929,78.624573 L 128.0105,78.605848 L 128.46191,78.586899 L 128.91453,78.585915 L 129.36617,78.585919 L 129.80775,78.594545 L 130.25101,78.603904 L 130.69332,78.613735 L 131.10728,78.612532 L 131.52102,78.611548 L 131.91653,78.593314 L 132.28323,78.564512 L 132.63146,78.517722 L 132.96074,78.451493 L 133.26193,78.3759 L 133.53432,78.271998 L 133.77909,78.14003 z "
-   id="path1060"
-   style="fill:url(#XMLID_48_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 134.96487,77.198074 L 134.57873,77.584712 L 134.17482,77.914209 L 133.7505,78.149393 L 133.30869,78.34835 L 132.86615,78.488972 L 132.40562,78.573703 L 131.93501,78.631553 L 131.46439,78.650035 L 130.97506,78.650771 L 130.4862,78.631823 L 130.00548,78.603732 L 129.50678,78.576384 L 129.00808,78.549031 L 128.50963,78.539177 L 128.02005,78.558393 L 127.53094,78.596314 L 127.63459,78.512314 L 127.75627,78.408879 L 127.91632,78.285291 L 128.06703,78.154726 L 128.22685,78.030891 L 128.34901,77.927456 L 128.45292,77.843706 L 128.50907,77.787059 L 128.70635,77.664187 L 128.94156,77.579233 L 129.20508,77.523571 L 129.5161,77.494275 L 129.85425,77.49354 L 130.23103,77.512265 L 130.62654,77.531483 L 131.04029,77.567459 L 131.49194,77.586653 L 131.94361,77.604422 L 132.43343,77.604173 L 132.92277,77.586184 L 133.4306,77.547798 L 133.9389,77.471959 L 134.4465,77.358447 L 134.96487,77.198074 z "
-   id="path1081"
-   style="fill:url(#XMLID_49_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 106.27173,90.394629 L 106.23405,90.356955 L 106.12103,90.263595 L 105.95208,90.113369 L 105.74403,89.924978 L 105.49924,89.699405 L 105.25445,89.43638 L 105.00029,89.1635 L 104.75455,88.863047 L 104.55704,88.552739 L 104.38809,88.232111 L 104.26474,87.922049 L 104.2266,87.602624 L 104.2554,87.309838 L 104.38718,87.027375 L 104.63165,86.763587 L 104.99811,86.547378 L 104.99786,86.73626 L 105.02642,86.933302 L 105.08282,87.159121 L 105.15843,87.38494 L 105.253,87.629263 L 105.35621,87.864937 L 105.4798,88.118132 L 105.61083,88.382116 L 105.74332,88.626415 L 105.89453,88.871206 L 106.04404,89.116218 L 106.18586,89.350687 L 106.33633,89.577489 L 106.47746,89.793477 L 106.60921,89.981402 L 106.73209,90.159963 L 106.67618,90.197636 L 106.62914,90.226439 L 106.56338,90.253815 L 106.5161,90.282862 L 106.45945,90.30063 L 106.40281,90.320314 L 106.34641,90.358479 L 106.27173,90.394629 z "
-   id="path1100"
-   style="fill:url(#XMLID_50_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 106.76059,90.18847 L 106.27101,89.454565 L 105.8844,88.804902 L 105.57338,88.230833 L 105.33746,87.733338 L 105.17787,87.308782 L 105.07372,86.942075 L 105.03531,86.641598 L 105.03578,86.396807 L 105.08233,86.17986 L 105.15721,86.029633 L 105.27096,85.896658 L 105.39335,85.812661 L 105.53372,85.747145 L 105.67458,85.700354 L 105.81643,85.671307 L 105.9482,85.652826 L 105.93864,85.906808 L 105.94847,86.178705 L 105.96719,86.424454 L 105.996,86.696105 L 106.04303,86.951438 L 106.09869,87.214463 L 106.16517,87.468592 L 106.25059,87.722992 L 106.34466,87.986042 L 106.45769,88.249313 L 106.57097,88.513296 L 106.70297,88.776813 L 106.85415,89.039372 L 107.00438,89.302889 L 107.16539,89.575277 L 107.34346,89.848845 L 107.21221,89.942204 L 107.11863,90.018043 L 107.04257,90.056208 L 106.98594,90.074934 L 106.93962,90.103023 L 106.88248,90.122708 L 106.8352,90.150772 L 106.76059,90.18847 z "
-   id="path1119"
-   style="fill:url(#XMLID_51_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 107.40977,89.895931 L 107.21201,89.642489 L 107.00536,89.340341 L 106.79753,88.982751 L 106.58945,88.588447 L 106.40178,88.155019 L 106.24074,87.713187 L 106.09938,87.271379 L 105.99548,86.82908 L 105.92996,86.405015 L 105.91075,86.009998 L 105.94817,85.6529 L 106.05065,85.341634 L 106.2297,85.087726 L 106.48384,84.908452 L 106.81333,84.824209 L 107.24577,84.823251 L 107.19896,85.114833 L 107.18073,85.416268 L 107.17112,85.708095 L 107.17161,85.990805 L 107.18083,86.28219 L 107.22836,86.57355 L 107.28546,86.85626 L 107.35123,87.128402 L 107.43618,87.421212 L 107.54033,87.693846 L 107.65337,87.97631 L 107.79473,88.248699 L 107.9452,88.530204 L 108.12374,88.803797 L 108.31284,89.08604 L 108.51898,89.368503 L 108.38866,89.442646 L 108.23796,89.518484 L 108.07766,89.60344 L 107.90824,89.678787 L 107.74841,89.745483 L 107.60705,89.810999 L 107.48536,89.858282 L 107.40977,89.895931 z "
-   id="path1138"
-   style="fill:url(#XMLID_52_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 108.60998,83.759157 L 108.23369,83.834504 L 107.92314,83.97608 L 107.65965,84.182951 L 107.46214,84.43708 L 107.30205,84.747855 L 107.19911,85.096548 L 107.15185,85.482694 L 107.14249,85.887566 L 107.18112,86.300572 L 107.25671,86.752455 L 107.38871,87.204117 L 107.54925,87.64595 L 107.74797,88.088495 L 107.9918,88.520964 L 108.25578,88.935199 L 108.56655,89.320386 L 108.70791,89.235651 L 108.84927,89.151409 L 108.99927,89.075325 L 109.15024,89.000199 L 109.31943,88.925074 L 109.46991,88.830288 L 109.62013,88.7559 L 109.76099,88.651997 L 109.62971,88.350807 L 109.46892,88.040254 L 109.32782,87.710999 L 109.17808,87.39037 L 109.0264,87.052466 L 108.88409,86.704264 L 108.75305,86.365376 L 108.63089,86.036342 L 108.52579,85.707063 L 108.45066,85.38668 L 108.39355,85.067501 L 108.36595,84.774937 L 108.37436,84.483822 L 108.41274,84.219839 L 108.48713,83.975539 L 108.60998,83.759157 z "
-   id="path1157"
-   style="fill:url(#XMLID_53_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 109.92628,83.00488 L 109.40935,83.203125 L 109.00495,83.438553 L 108.71312,83.711654 L 108.5065,84.013335 L 108.38414,84.342566 L 108.34598,84.700401 L 108.36637,85.076446 L 108.44171,85.471463 L 108.56387,85.876335 L 108.73403,86.289832 L 108.91306,86.71461 L 109.1017,87.127861 L 109.29994,87.550722 L 109.50706,87.964711 L 109.68609,88.369337 L 109.83702,88.7646 L 109.94958,88.670281 L 110.07221,88.604273 L 110.19413,88.538043 L 110.32611,88.480907 L 110.44878,88.416349 L 110.58029,88.359237 L 110.71182,88.28389 L 110.83373,88.198442 L 110.80589,88.151873 L 110.72118,88.048437 L 110.62689,87.897965 L 110.48554,87.700433 L 110.33484,87.4566 L 110.175,87.164306 L 110.00534,86.84439 L 109.85437,86.487046 L 109.72165,86.111467 L 109.60836,85.715959 L 109.53274,85.282777 L 109.49458,84.850087 L 109.5049,84.38857 L 109.57953,83.937153 L 109.71128,83.465586 L 109.92628,83.00488 z "
-   id="path8936"
-   style="fill:url(#XMLID_54_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 111.45958,81.865661 L 111.0828,81.922279 L 110.73457,82.064127 L 110.43413,82.289234 L 110.18044,82.56258 L 109.95413,82.901198 L 109.78517,83.296682 L 109.66397,83.720255 L 109.57951,84.181993 L 109.55144,84.679979 L 109.57064,85.189245 L 109.65584,85.705933 L 109.78783,86.233433 L 109.9671,86.75012 L 110.21189,87.258895 L 110.5138,87.728792 L 110.88146,88.190038 L 112.10396,87.473434 L 112.00028,87.257936 L 111.88653,86.993486 L 111.76439,86.721097 L 111.64174,86.41079 L 111.52893,86.07146 L 111.40627,85.724191 L 111.30213,85.35606 L 111.20804,84.980236 L 111.13316,84.584751 L 111.08517,84.180617 L 111.06643,83.7856 L 111.06523,83.38987 L 111.10219,82.995344 L 111.18715,82.608954 L 111.29995,82.232169 L 111.45958,81.865661 z "
-   id="path1195"
-   style="fill:url(#XMLID_55_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 112.12294,87.51069 L 112.29188,87.398357 L 112.50788,87.257224 L 112.74355,87.134841 L 112.99842,86.992773 L 113.25162,86.870612 L 113.47792,86.738374 L 113.68409,86.625354 L 113.85326,86.531035 L 113.7119,86.202026 L 113.57079,85.854046 L 113.42969,85.505573 L 113.27825,85.147763 L 113.12802,84.790664 L 112.99555,84.433075 L 112.87337,84.066147 L 112.7505,83.698948 L 112.65594,83.342319 L 112.58922,82.993871 L 112.54268,82.6454 L 112.5242,82.306755 L 112.52373,81.986616 L 112.57052,81.675842 L 112.6641,81.374407 L 112.78649,81.101774 L 112.50353,81.15913 L 112.23135,81.26232 L 111.97672,81.403676 L 111.742,81.60143 L 111.53513,81.845757 L 111.35632,82.138296 L 111.21521,82.467549 L 111.11298,82.852982 L 111.04626,83.277268 L 111.02835,83.747411 L 111.06626,84.274419 L 111.15218,84.829272 L 111.30289,85.431628 L 111.5009,86.080331 L 111.78336,86.77703 L 112.12294,87.51069 z "
-   id="path1214"
-   style="fill:url(#XMLID_56_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 114.37572,80.319874 L 113.78294,80.499394 L 113.31283,80.724746 L 112.96437,81.017038 L 112.7203,81.356151 L 112.57919,81.722366 L 112.50432,82.137066 L 112.51464,82.560637 L 112.58062,83.022129 L 112.70324,83.483156 L 112.85443,83.953521 L 113.04307,84.423884 L 113.24105,84.884418 L 113.42921,85.33608 L 113.6176,85.769238 L 113.78727,86.164009 L 113.92958,86.530494 L 114.07959,86.417942 L 114.21999,86.33274 L 114.34311,86.248497 L 114.47488,86.172905 L 114.6064,86.097558 L 114.74751,86.01307 L 114.88862,85.909413 L 115.05687,85.796367 L 114.92583,85.419585 L 114.78376,85.052412 L 114.6525,84.695068 L 114.52963,84.347089 L 114.407,83.998863 L 114.31243,83.660956 L 114.21883,83.321602 L 114.14251,83.001929 L 114.08564,82.662355 L 114.05708,82.33379 L 114.03859,82.014364 L 114.0475,81.684862 L 114.08519,81.344797 L 114.15025,81.016255 L 114.25393,80.667805 L 114.37572,80.319874 z "
-   id="path8940"
-   style="fill:url(#XMLID_57_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 115.88115,79.490248 L 115.34456,79.651042 L 114.92145,79.886006 L 114.5922,80.178298 L 114.3383,80.526277 L 114.17845,80.912643 L 114.08512,81.344871 L 114.04769,81.797022 L 114.06664,82.268589 L 114.14248,82.757681 L 114.23702,83.246305 L 114.36014,83.726057 L 114.51038,84.196908 L 114.67114,84.658159 L 114.82136,85.072367 L 114.98262,85.457307 L 115.11388,85.796418 L 115.28283,85.68315 L 115.43401,85.588587 L 115.5749,85.503385 L 115.69706,85.418676 L 115.83792,85.334434 L 115.9795,85.249476 L 116.12997,85.136459 L 116.309,85.014049 L 116.10142,84.468071 L 115.92239,83.950645 L 115.76135,83.471851 L 115.62935,83.019699 L 115.51705,82.605465 L 115.42177,82.228461 L 115.3654,81.872073 L 115.30828,81.532745 L 115.29868,81.22219 L 115.30804,80.930119 L 115.33589,80.657509 L 115.39229,80.394237 L 115.47723,80.158099 L 115.57946,79.92385 L 115.72104,79.705945 L 115.88115,79.490248 z "
-   id="path1252"
-   style="fill:url(#XMLID_58_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 117.01941,78.858821 L 116.52096,79.037604 L 116.12428,79.283106 L 115.82429,79.583587 L 115.5891,79.933484 L 115.43863,80.309063 L 115.34552,80.723761 L 115.31792,81.166088 L 115.32704,81.627332 L 115.39351,82.087891 L 115.48758,82.558254 L 115.6011,83.028397 L 115.74221,83.470945 L 115.88477,83.91302 L 116.04461,84.318604 L 116.18643,84.684598 L 116.31866,85.023707 L 116.4593,84.938752 L 116.59034,84.863406 L 116.71321,84.777985 L 116.83583,84.712469 L 116.95822,84.627981 L 117.0799,84.543267 L 117.22124,84.4576 L 117.36211,84.354633 L 117.23108,84.109866 L 117.10749,83.818285 L 117.0038,83.508224 L 116.90015,83.160244 L 116.80587,82.802896 L 116.73963,82.416507 L 116.67315,82.030853 L 116.62587,81.626006 L 116.60715,81.231482 L 116.59707,80.825898 L 116.60619,80.440487 L 116.64339,80.082677 L 116.69979,79.724841 L 116.77516,79.404704 L 116.87813,79.113589 L 117.01941,78.858821 z "
-   id="path1271"
-   style="fill:url(#XMLID_59_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 118.35473,78.066848 L 117.81933,78.227884 L 117.3955,78.482287 L 117.06626,78.830756 L 116.84114,79.244995 L 116.68106,79.706019 L 116.59587,80.223198 L 116.56848,80.76075 L 116.58771,81.305526 L 116.64506,81.851974 L 116.73913,82.379008 L 116.84401,82.876992 L 116.97577,83.328406 L 117.09865,83.714775 L 117.21096,84.034446 L 117.31461,84.251391 L 117.38084,84.373311 L 117.55026,84.26051 L 117.70047,84.165969 L 117.85117,84.071899 L 118.00236,83.977336 L 118.15258,83.883727 L 118.28361,83.789163 L 118.4252,83.685483 L 118.56608,83.582048 L 118.49049,83.337476 L 118.38731,83.045648 L 118.28315,82.716396 L 118.18884,82.358091 L 118.07532,81.963789 L 117.97213,81.558672 L 117.88597,81.154758 L 117.80172,80.730692 L 117.74462,80.316461 L 117.71653,79.911589 L 117.71606,79.517038 L 117.75302,79.159471 L 117.82839,78.820119 L 117.95105,78.528045 L 118.12937,78.274872 L 118.35473,78.066848 z "
-   id="path1290"
-   style="fill:url(#XMLID_60_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 119.42748,77.595989 L 118.90959,77.70014 L 118.49609,77.888039 L 118.18579,78.142659 L 117.95012,78.471913 L 117.80011,78.848451 L 117.71635,79.272517 L 117.6878,79.714814 L 117.71734,80.194075 L 117.78357,80.675031 L 117.87669,81.163654 L 118.00002,81.64412 L 118.13226,82.113771 L 118.27386,82.537587 L 118.40608,82.932849 L 118.52824,83.261882 L 118.62231,83.544105 L 118.75429,83.450007 L 118.87623,83.384266 L 118.98902,83.32809 L 119.09246,83.280341 L 119.20575,83.223227 L 119.30894,83.176656 L 119.40372,83.120261 L 119.50595,83.054006 L 119.35573,82.734801 L 119.22373,82.395938 L 119.10111,82.065945 L 118.98855,81.727302 L 118.89472,81.369493 L 118.81792,81.031565 L 118.76128,80.673481 L 118.72335,80.315895 L 118.70441,79.958057 L 118.7229,79.601179 L 118.75983,79.262317 L 118.82609,78.913844 L 118.92903,78.565149 L 119.05141,78.235898 L 119.22062,77.915513 L 119.42748,77.595989 z "
-   id="path1309"
-   style="fill:url(#XMLID_61_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 120.63176,76.841933 L 120.25447,77.011845 L 119.91657,77.21921 L 119.6154,77.482481 L 119.37062,77.765657 L 119.15485,78.095159 L 118.98589,78.433527 L 118.86349,78.819428 L 118.76964,79.233882 L 118.72331,79.657483 L 118.72378,80.109145 L 118.75209,80.570416 L 118.81857,81.050633 L 118.92272,81.548866 L 119.08252,82.047563 L 119.2618,82.565234 L 119.48786,83.072094 L 119.62919,82.968656 L 119.76959,82.86571 L 119.92101,82.7709 L 120.08086,82.686412 L 120.23108,82.592807 L 120.39115,82.508096 L 120.54162,82.414245 L 120.68272,82.309606 L 120.56009,82.01849 L 120.42764,81.71755 L 120.30572,81.42523 L 120.17277,81.124285 L 120.06958,80.813731 L 119.97477,80.513036 L 119.89101,80.183043 L 119.8339,79.86337 L 119.81447,79.524752 L 119.80487,79.176774 L 119.84234,78.818717 L 119.90784,78.451766 L 120.02065,78.074981 L 120.17114,77.67972 L 120.37681,77.265754 L 120.63176,76.841933 z "
-   id="path1328"
-   style="fill:url(#XMLID_62_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 122.35296,75.777373 L 121.8456,75.985204 L 121.39299,76.248698 L 121.01717,76.531379 L 120.67879,76.851518 L 120.41505,77.20933 L 120.19882,77.595475 L 120.0392,77.999857 L 119.92639,78.433259 L 119.88033,78.874843 L 119.86185,79.344961 L 119.89926,79.816774 L 119.9756,80.305867 L 120.09847,80.804099 L 120.26742,81.293656 L 120.45656,81.783238 L 120.69149,82.281223 L 120.82324,82.187372 L 120.95501,82.093053 L 121.10594,81.980498 L 121.2473,81.875612 L 121.39752,81.763775 L 121.548,81.649772 L 121.69826,81.53697 L 121.84851,81.424171 L 121.65099,81.094648 L 121.50078,80.756276 L 121.35917,80.408297 L 121.25453,80.041588 L 121.17941,79.683755 L 121.13237,79.316554 L 121.10381,78.949599 L 121.11268,78.582181 L 121.15012,78.205866 L 121.2341,77.839649 L 121.33729,77.471494 L 121.46905,77.114149 L 121.64736,76.765926 L 121.84536,76.417231 L 122.08007,76.088444 L 122.35296,75.777373 z "
-   id="path8947"
-   style="fill:url(#XMLID_63_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 123.1142,75.165383 L 122.7475,75.438509 L 122.4096,75.720729 L 122.1089,76.040644 L 121.84517,76.380218 L 121.61981,76.756266 L 121.43167,77.133541 L 121.28141,77.528559 L 121.16839,77.943016 L 121.10287,78.366585 L 121.07578,78.808419 L 121.09422,79.241602 L 121.15112,79.693017 L 121.26463,80.144927 L 121.41559,80.596344 L 121.62247,81.048471 L 121.8778,81.490524 L 121.9995,81.38613 L 122.10293,81.30142 L 122.2157,81.226542 L 122.32896,81.15117 L 122.44152,81.075086 L 122.55453,81.000453 L 122.69567,80.915497 L 122.83631,80.812308 L 122.7233,80.379124 L 122.61028,79.96467 L 122.50564,79.598454 L 122.39356,79.240619 L 122.31772,78.901732 L 122.24258,78.581838 L 122.17631,78.271332 L 122.14729,77.961026 L 122.13768,77.650471 L 122.16553,77.339922 L 122.22264,77.019759 L 122.30713,76.690504 L 122.44728,76.341564 L 122.61648,75.984219 L 122.84207,75.58871 L 123.1142,75.165383 z "
-   id="path1366"
-   style="fill:url(#XMLID_64_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 124.80708,73.865618 L 124.22438,74.2237 L 123.71633,74.600233 L 123.29321,74.986383 L 122.95482,75.400615 L 122.68193,75.82419 L 122.47529,76.257371 L 122.32457,76.689815 L 122.24969,77.142903 L 122.20337,77.602972 L 122.21393,78.064241 L 122.26073,78.525759 L 122.33702,78.996148 L 122.44024,79.456927 L 122.57248,79.927562 L 122.7232,80.379222 L 122.88375,80.840223 L 122.96821,80.773994 L 123.08052,80.679923 L 123.22163,80.595435 L 123.36348,80.491041 L 123.5137,80.397431 L 123.6553,80.31201 L 123.76712,80.217939 L 123.86168,80.142592 L 123.71986,79.719975 L 123.61618,79.31486 L 123.54083,78.900623 L 123.49356,78.496709 L 123.46475,78.091617 L 123.4645,77.695862 L 123.50217,77.30156 L 123.55834,76.906074 L 123.64186,76.519684 L 123.74579,76.134028 L 123.87756,75.757493 L 124.0182,75.372085 L 124.18738,74.995057 L 124.37529,74.618985 L 124.58266,74.241715 L 124.80708,73.865618 z "
-   id="path1385"
-   style="fill:url(#XMLID_65_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 125.79416,73.064772 L 125.48503,73.280758 L 125.20231,73.545235 L 124.91073,73.855541 L 124.64771,74.213134 L 124.40292,74.590874 L 124.17782,75.004615 L 123.97984,75.446917 L 123.81088,75.917796 L 123.6705,76.416246 L 123.57737,76.924532 L 123.51211,77.441929 L 123.4845,77.978327 L 123.51257,78.515189 L 123.57856,79.051098 L 123.70168,79.587468 L 123.88049,80.123839 L 124.02209,80.001459 L 124.17184,79.889148 L 124.33239,79.785223 L 124.49198,79.681318 L 124.63262,79.596363 L 124.75598,79.530603 L 124.83998,79.464348 L 124.87766,79.408438 L 124.95349,79.106513 L 125.00893,78.78709 L 125.05573,78.438859 L 125.0934,78.062297 L 125.12148,77.676156 L 125.14859,77.271774 L 125.18603,76.857071 L 125.21409,76.434926 L 125.25176,76.001249 L 125.2885,75.568068 L 125.33578,75.126264 L 125.4013,74.702196 L 125.47593,74.269013 L 125.56018,73.86417 L 125.67273,73.45018 L 125.79416,73.064772 z "
-   id="path1404"
-   style="fill:url(#XMLID_66_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 127.40354,72.168646 L 126.9334,72.169361 L 126.53861,72.28287 L 126.21798,72.49021 L 125.96429,72.781792 L 125.75767,73.139602 L 125.59807,73.5819 L 125.48551,74.072219 L 125.38208,74.607635 L 125.3264,75.191287 L 125.26978,75.793666 L 125.23306,76.415461 L 125.19563,77.036543 L 125.14931,77.667012 L 125.08426,78.278758 L 125.00051,78.871306 L 124.88722,79.436725 L 125.00889,79.351523 L 125.14063,79.238014 L 125.30119,79.097616 L 125.46101,78.956017 L 125.62948,78.805791 L 125.79003,78.645242 L 125.93113,78.504131 L 126.0528,78.381478 L 126.11881,77.939181 L 126.16538,77.497592 L 126.21171,77.054337 L 126.23043,76.621868 L 126.25849,76.198294 L 126.27723,75.783126 L 126.29521,75.369627 L 126.32306,74.965002 L 126.37968,74.569984 L 126.43558,74.193916 L 126.5203,73.826494 L 126.63237,73.468659 L 126.77349,73.120186 L 126.94294,72.781324 L 127.15938,72.470304 L 127.40354,72.168646 z "
-   id="path1423"
-   style="fill:url(#XMLID_67_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 128.45684,71.339955 L 127.96748,71.642105 L 127.56311,71.971627 L 127.23409,72.338093 L 126.97083,72.734805 L 126.77403,73.15813 L 126.61419,73.600674 L 126.50189,74.071041 L 126.41742,74.551012 L 126.37036,75.049709 L 126.32429,75.5489 L 126.30556,76.056717 L 126.27725,76.574608 L 126.24004,77.082672 L 126.20357,77.590486 L 126.11862,78.089677 L 126.02573,78.579013 L 126.1282,78.49477 L 126.26906,78.390866 L 126.42987,78.268459 L 126.58033,78.135731 L 126.74042,78.014525 L 126.88105,77.909419 L 126.98449,77.826134 L 127.05047,77.778385 L 127.21894,77.608939 L 127.34202,77.39271 L 127.43515,77.1287 L 127.50137,76.818639 L 127.53856,76.479531 L 127.56689,76.09363 L 127.58466,75.679418 L 127.60312,75.246234 L 127.62231,74.794082 L 127.65015,74.315046 L 127.70608,73.825708 L 127.78093,73.336128 L 127.89253,72.827597 L 128.03367,72.328898 L 128.21245,71.829952 L 128.45684,71.339955 z "
-   id="path1442"
-   style="fill:url(#XMLID_68_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 129.97143,70.482956 L 129.42545,70.633426 L 128.97402,70.916848 L 128.61644,71.27444 L 128.32606,71.716491 L 128.10024,72.225513 L 127.93057,72.790194 L 127.80915,73.383459 L 127.71557,73.985347 L 127.66899,74.596843 L 127.6318,75.199469 L 127.58572,75.774009 L 127.54757,76.300304 L 127.50103,76.761576 L 127.4259,77.156371 L 127.31335,77.458053 L 127.16358,77.664925 L 127.33255,77.533864 L 127.52093,77.401163 L 127.72734,77.250444 L 127.94404,77.091347 L 128.15067,76.921191 L 128.36737,76.761109 L 128.55552,76.591686 L 128.72492,76.440505 L 128.78996,75.97948 L 128.83724,75.555904 L 128.86484,75.151526 L 128.89243,74.766361 L 128.9013,74.39845 L 128.9013,74.041326 L 128.91979,73.683024 L 128.93803,73.344627 L 128.96658,73.015126 L 129.02249,72.676018 L 129.09712,72.337402 L 129.20103,71.989665 L 129.33254,71.631611 L 129.50175,71.274267 L 129.71749,70.88763 L 129.97143,70.482956 z "
-   id="path1461"
-   style="fill:url(#XMLID_69_);stroke:#000000;stroke-width:0.0882756" /><g
-   style="stroke:#000000"
-   id="g1463"
-   transform="matrix(0.2457491,-0.2457491,0.2457491,0.2457491,95.022367,94.120824)">
-					<linearGradient
-   id="linearGradient8956"
-   gradientUnits="userSpaceOnUse"
-   x1="-3581.9316"
-   y1="-3602.7837"
-   x2="-3565.7739"
-   y2="-3551.2231"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop8958" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop8960" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop8962" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop8964" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop8966" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop8968" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop8970" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop8972" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop8974" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop8976" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop8978" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop8980" />
-				</linearGradient>
-				<path
-   d="M 26.439,7.3066 L 26.2476,6.9238 L 26.0943,6.5039 L 25.942,6.081 L 25.8287,5.6601 L 25.7115,5.2011 L 25.5963,4.705 L 25.5192,4.246 L 25.4772,3.746 L 25.4411,3.287 L 25.4059,2.789 L 25.4049,2.29 L 25.4401,1.83 L 25.4762,1.371 L 25.5563,0.914 L 25.6686,0.4531 L 25.7829,0.0332 L 25.1716,0.8369 L 24.7126,1.7187 L 24.3679,2.5605 L 24.1784,3.4404 L 24.1022,4.3593 L 24.1022,5.2792 L 24.2184,6.1972 L 24.4127,7.1171 L 24.6402,8.0351 L 24.9498,8.9179 L 25.2926,9.7968 L 25.6354,10.6767 L 26.0202,11.5195 L 26.3669,12.3613 L 26.7126,13.1259 L 27.0554,13.8925 L 26.9812,13.7402 L 26.9441,13.4716 L 26.9021,13.206 L 26.9021,12.8613 L 26.865,12.4375 L 26.865,12.0166 L 26.865,11.5566 L 26.864,11.0605 L 26.8259,10.5615 L 26.8259,10.0635 L 26.7868,9.5293 L 26.7468,9.0313 L 26.7087,8.5704 L 26.6306,8.1095 L 26.5554,7.6896 L 26.439,7.3066 z "
-   id="path1490"
-   style="fill:url(#XMLID_70_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient8983"
-   gradientUnits="userSpaceOnUse"
-   x1="-3578.5146"
-   y1="-3603.8545"
-   x2="-3562.3569"
-   y2="-3552.2939"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop8985" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop8987" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop8989" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop8991" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop8993" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop8995" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop8997" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop8999" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9001" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9003" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9005" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9007" />
-				</linearGradient>
-				<path
-   d="M 14.77,23.209 L 15.4985,22.7871 L 16.228,22.3252 L 16.9145,21.9043 L 17.603,21.4824 L 18.2534,21.0996 L 18.9048,20.6777 L 19.521,20.2929 L 20.1304,19.873 L 20.7837,19.4892 L 21.3911,19.1054 L 22.0054,18.6835 L 22.6577,18.3017 L 23.269,17.916 L 23.9233,17.5742 L 24.6088,17.1885 L 25.2983,16.8067 L 24.688,17.417 L 24.0747,18.0332 L 23.4614,18.6445 L 22.8491,19.2207 L 22.1987,19.832 L 21.5473,20.3681 L 20.8969,20.9072 L 20.2094,21.4043 L 19.558,21.8652 L 18.8685,22.248 L 18.2171,22.5937 L 17.5296,22.8623 L 16.8411,23.0918 L 16.1526,23.207 L 15.4612,23.2441 L 14.77,23.209 z "
-   id="path1517"
-   style="fill:url(#XMLID_71_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9010"
-   gradientUnits="userSpaceOnUse"
-   x1="-3580.1533"
-   y1="-3603.3408"
-   x2="-3563.9956"
-   y2="-3551.7803"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9012" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9014" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9016" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9018" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9020" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9022" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9024" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9026" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9028" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9030" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9032" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9034" />
-				</linearGradient>
-				<path
-   d="M 20.4663,7.8848 L 21.0024,8.1924 L 21.5024,8.5371 L 21.9975,8.8818 L 22.4584,9.2256 L 22.9184,9.5684 L 23.3373,9.9512 L 23.7611,10.3721 L 24.184,10.7549 L 24.5678,11.1768 L 24.9516,11.5987 L 25.3334,12.0196 L 25.6781,12.4766 L 26.0609,12.8985 L 26.4066,13.3575 L 26.7504,13.8165 L 27.0961,14.2755 L 26.9428,13.7794 L 26.7504,13.2804 L 26.559,12.7433 L 26.3295,12.2091 L 26.0981,11.673 L 25.8335,11.174 L 25.5239,10.676 L 25.1782,10.1809 L 24.7964,9.7209 L 24.3355,9.34 L 23.8375,8.9552 L 23.3004,8.6114 L 22.688,8.3428 L 22.0357,8.1133 L 21.271,7.9609 L 20.4663,7.8848 z "
-   id="path1544"
-   style="fill:url(#XMLID_72_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9037"
-   gradientUnits="userSpaceOnUse"
-   x1="-3584.6758"
-   y1="-3601.9238"
-   x2="-3568.5181"
-   y2="-3550.3633"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9039" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9041" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9043" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9045" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9047" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9049" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9051" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9053" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9055" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9057" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9059" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9061" />
-				</linearGradient>
-				<path
-   d="M 26.1694,3.2852 L 26.3227,4.0518 L 26.437,4.8184 L 26.5913,5.584 L 26.7075,6.2735 L 26.7837,7 L 26.898,7.6895 L 26.9771,8.379 L 27.0923,9.0685 L 27.1675,9.757 L 27.2847,10.4465 L 27.3589,11.0979 L 27.4771,11.7874 L 27.5933,12.4769 L 27.7085,13.1664 L 27.8589,13.8559 L 28.0161,14.5825 L 28.0923,13.7407 L 28.2056,12.936 L 28.2827,12.0932 L 28.3589,11.2524 L 28.396,10.4458 L 28.4341,9.6411 L 28.395,8.8359 L 28.356,8.0723 L 28.2798,7.3057 L 28.1636,6.6172 L 27.9693,5.9277 L 27.7408,5.2763 L 27.4722,4.7031 L 27.0884,4.166 L 26.6665,3.706 L 26.1694,3.2852 z "
-   id="path1571"
-   style="fill:url(#XMLID_73_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9064"
-   gradientUnits="userSpaceOnUse"
-   x1="-3578.7671"
-   y1="-3603.7754"
-   x2="-3562.6094"
-   y2="-3552.2148"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9066" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9068" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9070" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9072" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9074" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9076" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9078" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9080" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9082" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9084" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9086" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9088" />
-				</linearGradient>
-				<path
-   d="M 22.0698,2.0273 L 21.3774,2.6757 L 20.9614,3.4042 L 20.772,4.1699 L 20.732,4.9746 L 20.8853,5.7783 L 21.1919,6.6211 L 21.6157,7.4649 L 22.1137,8.3057 L 22.6889,9.1094 L 23.3002,9.9141 L 23.9535,10.6778 L 24.6039,11.3673 L 25.2182,12.0568 L 25.7524,12.6291 L 26.2153,13.1682 L 26.5981,13.5862 L 26.521,12.4387 L 26.3667,11.4436 L 26.1753,10.5998 L 25.8687,9.8361 L 25.563,9.1855 L 25.1773,8.6113 L 24.7955,8.0761 L 24.3717,7.5751 L 23.9889,7.079 L 23.5649,6.584 L 23.1831,6.0459 L 22.8765,5.4326 L 22.5699,4.7441 L 22.3394,3.9785 L 22.145,3.0596 L 22.0698,2.0273 z "
-   id="path1598"
-   style="fill:url(#XMLID_74_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9091"
-   gradientUnits="userSpaceOnUse"
-   x1="-3584.2759"
-   y1="-3602.0488"
-   x2="-3568.1182"
-   y2="-3550.4883"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9093" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9095" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9097" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9099" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9101" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9103" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9105" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9107" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9109" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9111" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9113" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9115" />
-				</linearGradient>
-				<path
-   d="M 26.981,14.2754 L 26.981,13.4707 L 27.0201,12.7061 L 27.0543,11.9415 L 27.0943,11.1739 L 27.1304,10.4454 L 27.2075,9.7188 L 27.2837,8.9922 L 27.3569,8.3008 L 27.4741,7.6123 L 27.5884,6.8848 L 27.7779,6.1953 L 27.9302,5.5058 L 28.1236,4.8163 L 28.3912,4.1268 L 28.6197,3.4373 L 28.9254,2.7478 L 27.814,3.8213 L 26.896,4.8555 L 26.2466,5.8145 L 25.7896,6.7344 L 25.481,7.6133 L 25.3296,8.418 L 25.2925,9.2237 L 25.3696,9.9503 L 25.5649,10.6398 L 25.7514,11.2912 L 26.0209,11.9045 L 26.2914,12.4377 L 26.5219,12.9748 L 26.7504,13.4338 L 26.9027,13.8928 L 26.981,14.2754 z "
-   id="path1625"
-   style="fill:url(#XMLID_75_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9118"
-   gradientUnits="userSpaceOnUse"
-   x1="-3577.7891"
-   y1="-3604.082"
-   x2="-3561.6313"
-   y2="-3552.5215"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9120" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9122" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9124" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9126" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9128" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9130" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9132" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9134" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9136" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9138" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9140" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9142" />
-				</linearGradient>
-				<path
-   d="M 15.7612,16.9268 L 16.3745,17.0411 L 16.9888,17.1573 L 17.6001,17.2325 L 18.2134,17.3077 L 18.8228,17.3458 L 19.439,17.3829 L 20.0523,17.3829 L 20.6275,17.3829 L 21.2398,17.3438 L 21.814,17.3438 L 22.4273,17.2667 L 23.0005,17.2286 L 23.6138,17.1886 L 24.189,17.1134 L 24.8013,17.0343 L 25.3755,16.9591 L 24.8775,17.1876 L 24.3795,17.38 L 23.8443,17.6114 L 23.3072,17.8018 L 22.733,17.9952 L 22.1568,18.1466 L 21.5464,18.3029 L 20.936,18.3791 L 20.3237,18.4182 L 19.6723,18.4182 L 19.0209,18.3791 L 18.3666,18.2287 L 17.7152,18.0373 L 17.0638,17.7678 L 16.4154,17.3869 L 15.7612,16.9268 z "
-   id="path1652"
-   style="fill:url(#XMLID_76_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9145"
-   gradientUnits="userSpaceOnUse"
-   x1="-3576.8662"
-   y1="-3604.3711"
-   x2="-3560.7085"
-   y2="-3552.8105"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9147" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9149" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9151" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9153" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9155" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9157" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9159" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9161" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9163" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9165" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9167" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9169" />
-				</linearGradient>
-				<path
-   d="M 19.3267,20.0264 L 18.8658,20.1045 L 18.4469,20.1797 L 17.986,20.2949 L 17.529,20.4101 L 17.0661,20.6044 L 16.61,20.7558 L 16.1891,20.9472 L 15.7291,21.1777 L 15.3082,21.4082 L 14.8873,21.6748 L 14.5045,21.9453 L 14.1188,22.2129 L 13.776,22.5195 L 13.4684,22.8261 L 13.1647,23.1327 L 12.8952,23.4765 L 13.1638,22.5595 L 13.5857,21.7519 L 14.0798,21.0644 L 14.695,20.413 L 15.3825,19.8769 L 16.1501,19.3769 L 16.9899,18.956 L 17.8717,18.6093 L 18.7906,18.3036 L 19.7095,17.997 L 20.6646,17.7656 L 21.6226,17.5351 L 22.5796,17.3417 L 23.4985,17.1522 L 24.3413,16.9979 L 25.1831,16.8055 L 24.7632,16.9588 L 24.189,17.2645 L 23.4986,17.7274 L 22.6578,18.2245 L 21.815,18.7597 L 20.9361,19.2587 L 20.0943,19.7187 L 19.3267,20.0264 z "
-   id="path1679"
-   style="fill:url(#XMLID_77_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9172"
-   gradientUnits="userSpaceOnUse"
-   x1="-3581.9321"
-   y1="-3602.7837"
-   x2="-3565.7744"
-   y2="-3551.2231"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9174" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9176" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9178" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9180" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9182" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9184" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9186" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9188" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9190" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9192" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9194" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9196" />
-				</linearGradient>
-				<path
-   d="M 17.5698,26.8828 L 17.2251,26.0019 L 17.1079,25.1581 L 17.2241,24.3163 L 17.5307,23.5507 L 17.9877,22.8222 L 18.6,22.0956 L 19.3275,21.4052 L 20.1312,20.7909 L 20.974,20.1776 L 21.8529,19.6415 L 22.7718,19.1034 L 23.6556,18.6444 L 24.4564,18.2245 L 25.223,17.8378 L 25.8744,17.494 L 26.3705,17.1854 L 25.8383,18.2987 L 25.3002,19.2176 L 24.727,19.9451 L 24.1909,20.5974 L 23.6167,21.0954 L 23.0425,21.5544 L 22.4683,21.9001 L 21.8941,22.2458 L 21.3228,22.5915 L 20.7457,22.9733 L 20.1734,23.3571 L 19.6373,23.8171 L 19.1002,24.3903 L 18.565,25.0817 L 18.0679,25.8874 L 17.5698,26.8828 z "
-   id="path1706"
-   style="fill:url(#XMLID_78_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9199"
-   gradientUnits="userSpaceOnUse"
-   x1="-3586.4019"
-   y1="-3601.3828"
-   x2="-3570.2441"
-   y2="-3549.8223"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9201" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9203" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9205" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9207" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9209" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9211" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9213" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9215" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9217" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9219" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9221" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9223" />
-				</linearGradient>
-				<path
-   d="M 27.2144,17.4531 L 26.7925,18.1054 L 26.3726,18.7577 L 25.9517,19.4081 L 25.5718,20.0214 L 25.2261,20.6347 L 24.8814,21.2841 L 24.5357,21.8984 L 24.231,22.5117 L 23.9273,23.164 L 23.6597,23.8144 L 23.3882,24.4277 L 23.1597,25.0781 L 22.9693,25.7676 L 22.7769,26.418 L 22.6246,27.1075 L 22.4723,27.838 L 22.0885,26.3829 L 21.8971,25.1183 L 21.8561,23.9689 L 21.9713,22.9748 L 22.1998,22.131 L 22.5455,21.3654 L 22.9654,20.7131 L 23.4234,20.176 L 23.9615,19.677 L 24.4967,19.2561 L 25.0699,18.9104 L 25.607,18.6047 L 26.1031,18.299 L 26.5631,18.0314 L 26.9049,17.7248 L 27.2144,17.4531 z "
-   id="path1733"
-   style="fill:url(#XMLID_79_);stroke-width:0.25400001" />
-			</g><g
-   id="g659"> 
-</g>
-
-<clipPath
-   id="clippath2"> 	<path
-   d="M 206.512,283.82 L 206.512,283.82 L 204.824,284.09 L 203.254,284.129 L 201.801,283.977 L 200.422,283.633 L 199.16,283.098 L 198.008,282.445 L 196.859,281.68 L 195.824,280.801 L 194.789,279.883 L 193.832,278.887 L 192.871,277.816 L 191.953,276.785 L 190.996,275.75 L 190.035,274.719 L 189.078,273.762 L 188.082,272.883 L 188.082,272.883 L 188.465,272.918 L 188.887,272.918 L 189.27,272.957 L 189.691,272.992 L 190.113,273.031 L 190.535,273.109 L 190.953,273.145 L 191.375,273.184 L 191.793,273.223 L 192.258,273.262 L 192.676,273.34 L 193.137,273.375 L 193.598,273.414 L 194.055,273.449 L 194.516,273.449 L 194.973,273.488 L 194.973,273.488 L 195.32,274.023 L 195.742,274.676 L 196.277,275.441 L 196.852,276.242 L 197.543,277.125 L 198.273,278.004 L 199.039,278.922 L 199.844,279.801 L 200.688,280.645 L 201.527,281.449 L 202.41,282.176 L 203.254,282.789 L 204.098,283.285 L 204.941,283.629 L 205.742,283.82 L 206.512,283.82"
-   id="path666" />
-</clipPath>
-<g
-   id="g668"> 
-</g>
-
-<clipPath
-   id="clippath3"> 	<path
-   d="M 209.652,283.855 L 209.652,283.855 L 208.695,283.973 L 207.773,284.047 L 206.895,284.012 L 206.012,283.855 L 205.133,283.668 L 204.289,283.324 L 203.449,282.902 L 202.566,282.328 L 201.684,281.676 L 200.801,280.914 L 199.918,279.992 L 199,279 L 198.043,277.812 L 197.043,276.512 L 196.012,275.098 L 194.938,273.488 L 194.938,273.488 L 195.59,273.488 L 196.203,273.527 L 196.816,273.602 L 197.426,273.676 L 198.039,273.758 L 198.652,273.828 L 199.34,273.828 L 200.066,273.828 L 200.066,273.828 L 200.684,274.441 L 201.258,275.09 L 201.832,275.707 L 202.406,276.395 L 202.98,277.043 L 203.52,277.734 L 204.094,278.383 L 204.633,279.074 L 205.207,279.723 L 205.781,280.371 L 206.391,281.023 L 206.969,281.637 L 207.617,282.211 L 208.273,282.785 L 208.922,283.355 L 209.652,283.855"
-   id="path675" />
-</clipPath>
-<g
-   id="g677"> 
-</g>
-
-<clipPath
-   id="clippath4"> 	<path
-   d="M 212.98,283.699 L 212.98,283.699 L 212.254,284.086 L 211.453,284.238 L 210.645,284.121 L 209.805,283.781 L 208.961,283.281 L 208.078,282.59 L 207.199,281.828 L 206.316,280.91 L 205.473,279.953 L 204.59,278.957 L 203.785,277.961 L 202.98,277.004 L 202.215,276.047 L 201.484,275.207 L 200.797,274.48 L 200.184,273.863 L 204.281,274.246 L 204.281,274.246 L 204.742,274.859 L 205.242,275.469 L 205.699,276.086 L 206.16,276.695 L 206.617,277.309 L 207.117,277.922 L 207.578,278.535 L 208.078,279.145 L 208.613,279.719 L 209.152,280.332 L 209.688,280.91 L 210.301,281.477 L 210.91,282.051 L 211.566,282.629 L 212.254,283.164 L 212.98,283.699"
-   id="path684" />
-</clipPath>
-<g
-   id="g686"> 
-</g>
-
-<clipPath
-   id="clippath5"> 	<path
-   d="M 219.762,282.812 L 219.762,282.812 L 218.574,283.578 L 217.465,284.078 L 216.352,284.309 L 215.277,284.309 L 214.246,284.117 L 213.25,283.777 L 212.293,283.238 L 211.336,282.551 L 210.414,281.711 L 209.492,280.832 L 208.652,279.793 L 207.77,278.762 L 206.926,277.652 L 206.082,276.508 L 205.277,275.359 L 204.473,274.246 L 204.473,274.246 L 205.16,274.363 L 205.699,274.398 L 206.082,274.434 L 206.426,274.477 L 206.77,274.516 L 207.113,274.512 L 207.613,274.551 L 208.266,274.586 L 208.266,274.586 L 208.992,275.621 L 209.723,276.578 L 210.449,277.496 L 211.254,278.301 L 212.02,279.027 L 212.785,279.719 L 213.59,280.328 L 214.359,280.863 L 215.125,281.324 L 215.891,281.742 L 216.617,282.047 L 217.309,282.316 L 217.996,282.547 L 218.609,282.699 L 219.223,282.773 L 219.762,282.812"
-   id="path693" />
-</clipPath>
-<g
-   id="g695"> 
-</g>
-
-<clipPath
-   id="clippath6"> 	<path
-   d="M 223.324,282.578 L 223.324,282.578 L 222.094,282.73 L 220.91,282.812 L 219.762,282.734 L 218.652,282.582 L 217.613,282.355 L 216.582,282.012 L 215.621,281.59 L 214.703,281.055 L 213.785,280.48 L 212.941,279.832 L 212.098,279.105 L 211.293,278.301 L 210.527,277.461 L 209.797,276.543 L 209.07,275.582 L 208.379,274.59 L 208.379,274.59 L 209.145,274.629 L 209.988,274.703 L 210.789,274.777 L 211.598,274.816 L 212.285,274.895 L 212.859,274.926 L 213.281,274.969 L 213.473,275.004 L 213.473,275.004 L 213.551,275.082 L 213.742,275.273 L 214.047,275.578 L 214.43,275.965 L 214.852,276.422 L 215.391,276.957 L 215.965,277.531 L 216.613,278.145 L 217.348,278.754 L 218.109,279.406 L 218.879,280.02 L 219.719,280.633 L 220.598,281.203 L 221.48,281.738 L 222.402,282.199 L 223.324,282.578"
-   id="path702" />
-</clipPath>
-<g
-   id="g704"> 
-</g>
-
-<clipPath
-   id="clippath7"> 	<path
-   d="M 228.031,282.844 L 228.031,282.844 L 226.996,283.039 L 226,283.113 L 224.969,283 L 223.934,282.809 L 222.898,282.469 L 221.906,282.043 L 220.91,281.547 L 219.91,280.934 L 218.992,280.289 L 218.074,279.598 L 217.191,278.871 L 216.348,278.105 L 215.543,277.301 L 214.777,276.539 L 214.086,275.77 L 213.434,275.004 L 213.434,275.004 L 213.895,275.004 L 214.469,275.043 L 215.082,275.082 L 215.73,275.082 L 216.348,275.152 L 216.961,275.195 L 217.457,275.234 L 217.879,275.309 L 217.879,275.309 L 217.879,275.387 L 218.031,275.574 L 218.414,275.922 L 218.949,276.344 L 219.602,276.879 L 220.367,277.488 L 221.211,278.145 L 222.094,278.789 L 223.012,279.477 L 223.93,280.168 L 224.813,280.82 L 225.656,281.395 L 226.422,281.926 L 227.113,282.348 L 227.648,282.652 L 228.031,282.844"
-   id="path711" />
-</clipPath>
-<g
-   id="g713"> 
-</g>
-
-<clipPath
-   id="clippath8"> 	<path
-   d="M 233.238,282.801 L 233.238,282.801 L 232.629,283.414 L 231.824,283.68 L 230.828,283.684 L 229.715,283.418 L 228.488,282.957 L 227.227,282.309 L 225.887,281.543 L 224.582,280.703 L 223.281,279.785 L 222.055,278.867 L 220.906,277.988 L 219.906,277.145 L 219.027,276.457 L 218.375,275.883 L 217.953,275.504 L 217.762,275.348 L 217.762,275.348 L 218.258,275.387 L 218.797,275.422 L 219.371,275.461 L 219.945,275.5 L 220.559,275.574 L 221.172,275.613 L 221.785,275.652 L 222.434,275.691 L 222.434,275.691 L 223.125,276.109 L 223.813,276.531 L 224.504,276.988 L 225.156,277.41 L 225.844,277.867 L 226.496,278.363 L 227.184,278.824 L 227.84,279.285 L 228.527,279.781 L 229.18,280.238 L 229.867,280.699 L 230.52,281.156 L 231.207,281.578 L 231.898,282 L 232.551,282.418 L 233.238,282.801"
-   id="path720" />
-</clipPath>
-<g
-   id="g722"> 
-</g>
-
-<clipPath
-   id="clippath9"> 	<path
-   d="M 237.07,282.875 L 237.07,282.875 L 236.418,283.105 L 235.77,283.223 L 235.117,283.258 L 234.465,283.148 L 233.813,282.953 L 233.125,282.687 L 232.398,282.305 L 231.629,281.848 L 230.785,281.309 L 229.906,280.699 L 228.949,280.012 L 227.875,279.285 L 226.688,278.48 L 225.422,277.602 L 224.043,276.68 L 222.512,275.727 L 222.512,275.727 L 223.164,275.766 L 223.891,275.801 L 224.539,275.801 L 225.191,275.84 L 225.766,275.879 L 226.223,275.914 L 226.531,275.953 L 226.648,275.988 L 226.648,275.988 L 226.723,276.105 L 226.953,276.336 L 227.301,276.645 L 227.758,277.062 L 228.332,277.559 L 228.984,278.137 L 229.676,278.707 L 230.48,279.32 L 231.285,279.93 L 232.129,280.543 L 232.969,281.078 L 233.852,281.613 L 234.695,282.074 L 235.535,282.457 L 236.34,282.723 L 237.07,282.875"
-   id="path729" />
-</clipPath>
-<g
-   id="g731"> 
-</g>
-
-<clipPath
-   id="clippath10"> 	<path
-   d="M 239.863,282.453 L 239.863,282.453 L 238.984,282.797 L 238.027,282.949 L 237.031,282.879 L 235.996,282.609 L 234.922,282.227 L 233.891,281.727 L 232.816,281.121 L 231.82,280.43 L 230.863,279.742 L 229.941,279.016 L 229.098,278.328 L 228.371,277.637 L 227.719,277.062 L 227.223,276.562 L 226.84,276.223 L 226.609,275.988 L 226.609,275.988 L 227.223,276.027 L 227.797,276.07 L 228.371,276.105 L 228.945,276.18 L 229.48,276.223 L 230.059,276.258 L 230.668,276.332 L 231.281,276.371 L 231.281,276.371 L 231.738,276.793 L 232.242,277.211 L 232.699,277.633 L 233.199,278.094 L 233.695,278.59 L 234.195,279.051 L 234.73,279.508 L 235.27,279.965 L 235.805,280.391 L 236.34,280.809 L 236.914,281.191 L 237.449,281.535 L 238.063,281.844 L 238.637,282.105 L 239.25,282.301 L 239.863,282.453"
-   id="path738" />
-</clipPath>
-<g
-   id="g740"> 
-</g>
-
-<clipPath
-   id="clippath11"> 	<path
-   d="M 243.23,281.379 L 243.23,281.379 L 242.469,281.914 L 241.703,282.258 L 240.938,282.414 L 240.172,282.453 L 239.402,282.301 L 238.637,282.07 L 237.871,281.727 L 237.105,281.27 L 236.379,280.77 L 235.613,280.16 L 234.883,279.547 L 234.156,278.895 L 233.426,278.246 L 232.738,277.555 L 232.047,276.906 L 231.355,276.293 L 231.355,276.293 L 231.781,276.332 L 232.238,276.41 L 232.734,276.445 L 233.273,276.484 L 233.848,276.559 L 234.461,276.598 L 235.109,276.672 L 235.723,276.711 L 235.723,276.711 L 235.914,277.172 L 236.184,277.629 L 236.453,278.051 L 236.797,278.473 L 237.18,278.855 L 237.602,279.238 L 238.023,279.617 L 238.52,279.926 L 239.02,280.23 L 239.555,280.5 L 240.129,280.77 L 240.707,280.961 L 241.32,281.113 L 241.93,281.266 L 242.582,281.34 L 243.23,281.379"
-   id="path747" />
-</clipPath>
-<g
-   id="g749"> 
-</g>
-
-<clipPath
-   id="clippath12"> 	<path
-   d="M 246.262,280.801 L 246.262,280.801 L 245.605,281.07 L 244.918,281.262 L 244.191,281.379 L 243.387,281.379 L 242.617,281.34 L 241.777,281.227 L 240.973,280.996 L 240.168,280.77 L 239.402,280.422 L 238.672,280.039 L 238.023,279.617 L 237.41,279.125 L 236.871,278.586 L 236.414,278.016 L 236.07,277.363 L 235.84,276.711 L 235.84,276.711 L 236.297,276.75 L 236.758,276.789 L 237.254,276.863 L 237.754,276.902 L 238.25,276.941 L 238.785,276.977 L 239.359,277.016 L 240.016,277.051 L 240.016,277.051 L 240.281,277.434 L 240.59,277.82 L 240.895,278.164 L 241.199,278.469 L 241.508,278.777 L 241.855,279.004 L 242.199,279.273 L 242.543,279.504 L 242.926,279.695 L 243.348,279.883 L 243.77,280.074 L 244.227,280.227 L 244.688,280.383 L 245.184,280.535 L 245.723,280.648 L 246.262,280.801"
-   id="path756" />
-</clipPath>
-<g
-   id="g758"> 
-</g>
-
-<clipPath
-   id="clippath13"> 	<path
-   d="M 247.828,280.266 L 247.828,280.266 L 247.598,280.492 L 247.254,280.648 L 246.832,280.727 L 246.371,280.727 L 245.836,280.687 L 245.262,280.574 L 244.648,280.383 L 244.035,280.191 L 243.422,279.922 L 242.809,279.613 L 242.199,279.273 L 241.66,278.891 L 241.121,278.469 L 240.664,278.012 L 240.32,277.551 L 240.016,277.051 L 240.016,277.051 L 240.355,277.094 L 240.664,277.129 L 241.047,277.168 L 241.395,277.207 L 241.734,277.242 L 242.043,277.281 L 242.309,277.281 L 242.578,277.281 L 242.578,277.281 L 242.578,277.434 L 242.922,277.738 L 243.5,278.16 L 244.266,278.66 L 245.184,279.156 L 246.105,279.652 L 247.023,280.035 L 247.828,280.266"
-   id="path765" />
-</clipPath>
-<g
-   id="g767"> 
-</g>
-
-<clipPath
-   id="clippath14"> 	<path
-   d="M 248.938,279.191 L 248.938,279.191 L 248.859,279.727 L 248.668,280.07 L 248.363,280.227 L 247.945,280.301 L 247.445,280.227 L 246.871,280.035 L 246.297,279.805 L 245.684,279.5 L 245.07,279.156 L 244.496,278.773 L 243.918,278.395 L 243.461,278.047 L 243.039,277.738 L 242.73,277.512 L 242.539,277.359 L 242.504,277.281 L 245.488,277.621 L 245.488,277.621 L 245.719,277.773 L 246.102,277.969 L 246.563,278.199 L 247.063,278.426 L 247.598,278.695 L 248.094,278.883 L 248.555,279.078 L 248.938,279.191"
-   id="path774" />
-</clipPath>
-<g
-   id="g776"> 
-</g>
-
-<clipPath
-   id="clippath15"> 	<path
-   d="M 245.488,277.621 L 245.488,277.621 L 246.141,277.66 L 246.715,277.699 L 247.25,277.738 L 247.75,277.773 L 248.211,277.812 L 248.707,277.852 L 249.203,277.926 L 249.781,278.043 L 249.781,278.043 L 249.664,278.77 L 249.32,279.113 L 248.785,279.113 L 248.094,278.926 L 247.406,278.578 L 246.676,278.195 L 246.027,277.852 L 245.488,277.621"
-   id="path783" />
-</clipPath>
-<g
-   id="g785"> 
-</g>
-
-<clipPath
-   id="clippath16"> 	<path
-   d="M 245.602,277.242 L 245.602,277.242 L 246.258,277.355 L 246.832,277.43 L 247.328,277.547 L 247.828,277.621 L 248.285,277.734 L 248.742,277.852 L 249.281,277.965 L 249.855,278.117 L 249.855,278.117 L 249.895,277.277 L 249.547,276.738 L 249.012,276.547 L 248.285,276.512 L 247.52,276.664 L 246.754,276.859 L 246.102,277.09 L 245.602,277.242"
-   id="path792" />
-</clipPath>
-<g
-   id="g794"> 
-</g>
-
-<clipPath
-   id="clippath17"> 	<path
-   d="M 205.766,261.684 L 205.766,261.684 L 204.082,261.035 L 202.469,260.613 L 200.977,260.504 L 199.563,260.578 L 198.184,260.887 L 196.922,261.348 L 195.695,261.996 L 194.508,262.727 L 193.359,263.57 L 192.246,264.488 L 191.141,265.449 L 190.066,266.445 L 188.996,267.402 L 187.926,268.324 L 186.852,269.207 L 185.742,270.012 L 185.742,270.012 L 186.129,270.086 L 186.547,270.121 L 186.969,270.164 L 187.352,270.238 L 187.773,270.277 L 188.195,270.316 L 188.656,270.352 L 189.074,270.391 L 189.496,270.426 L 189.957,270.469 L 190.414,270.543 L 190.84,270.582 L 191.297,270.621 L 191.758,270.695 L 192.254,270.73 L 192.715,270.809 L 192.715,270.809 L 193.098,270.273 L 193.594,269.621 L 194.168,268.855 L 194.855,268.09 L 195.582,267.246 L 196.387,266.402 L 197.266,265.559 L 198.148,264.754 L 199.105,263.988 L 200.059,263.301 L 201.016,262.684 L 202.016,262.187 L 202.973,261.801 L 203.93,261.574 L 204.887,261.535 L 205.766,261.684"
-   id="path801" />
-</clipPath>
-<g
-   id="g803"> 
-</g>
-
-<clipPath
-   id="clippath18"> 	<path
-   d="M 208.641,262.332 L 208.641,262.332 L 207.68,261.988 L 206.762,261.762 L 205.883,261.609 L 204.961,261.531 L 204.082,261.609 L 203.16,261.801 L 202.281,262.07 L 201.363,262.492 L 200.406,263.031 L 199.449,263.723 L 198.453,264.523 L 197.418,265.484 L 196.313,266.594 L 195.203,267.859 L 194.016,269.277 L 192.754,270.848 L 192.754,270.848 L 193.441,270.887 L 194.055,270.961 L 194.629,270.996 L 195.164,271.074 L 195.703,271.152 L 196.273,271.227 L 196.926,271.34 L 197.691,271.457 L 197.691,271.457 L 198.383,270.883 L 199.031,270.27 L 199.723,269.617 L 200.336,268.965 L 200.984,268.312 L 201.633,267.664 L 202.246,267.012 L 202.898,266.359 L 203.547,265.746 L 204.234,265.172 L 204.887,264.598 L 205.578,264.023 L 206.301,263.523 L 207.07,263.102 L 207.836,262.68 L 208.641,262.332"
-   id="path810" />
-</clipPath>
-<g
-   id="g812"> 
-</g>
-
-<clipPath
-   id="clippath19"> 	<path
-   d="M 211.855,263.176 L 211.855,263.176 L 211.129,262.562 L 210.32,262.258 L 209.441,262.18 L 208.563,262.371 L 207.605,262.758 L 206.648,263.293 L 205.652,263.984 L 204.656,264.789 L 203.66,265.668 L 202.668,266.59 L 201.711,267.512 L 200.793,268.469 L 199.953,269.348 L 199.109,270.152 L 198.383,270.844 L 197.691,271.418 L 201.867,271.914 L 201.867,271.914 L 202.402,271.301 L 202.941,270.684 L 203.438,270.074 L 203.973,269.461 L 204.508,268.848 L 205.043,268.195 L 205.613,267.582 L 206.152,267.008 L 206.766,266.43 L 207.375,265.859 L 208.027,265.32 L 208.715,264.824 L 209.445,264.324 L 210.211,263.902 L 211.012,263.52 L 211.855,263.176"
-   id="path819" />
-</clipPath>
-<g
-   id="g821"> 
-</g>
-
-<clipPath
-   id="clippath20"> 	<path
-   d="M 218.137,265.852 L 218.137,265.852 L 216.988,264.738 L 215.879,263.937 L 214.805,263.402 L 213.73,263.098 L 212.66,263.059 L 211.625,263.215 L 210.594,263.598 L 209.598,264.098 L 208.602,264.785 L 207.648,265.59 L 206.652,266.512 L 205.73,267.508 L 204.773,268.543 L 203.855,269.652 L 202.941,270.766 L 202.02,271.875 L 202.02,271.875 L 202.75,271.914 L 203.359,271.949 L 203.859,271.988 L 204.32,272.066 L 204.777,272.141 L 205.277,272.215 L 205.848,272.293 L 206.539,272.406 L 206.539,272.406 L 207.344,271.371 L 208.109,270.453 L 208.91,269.609 L 209.676,268.883 L 210.48,268.27 L 211.246,267.73 L 211.973,267.27 L 212.738,266.891 L 213.469,266.582 L 214.156,266.352 L 214.883,266.16 L 215.574,266.008 L 216.223,265.926 L 216.875,265.852 L 217.523,265.852 L 218.137,265.852"
-   id="path828" />
-</clipPath>
-<g
-   id="g830"> 
-</g>
-
-<clipPath
-   id="clippath21"> 	<path
-   d="M 222.621,266.883 L 222.621,266.883 L 221.352,266.422 L 220.168,266.078 L 218.98,265.887 L 217.871,265.809 L 216.762,265.809 L 215.688,265.965 L 214.652,266.199 L 213.656,266.543 L 212.66,266.965 L 211.742,267.5 L 210.785,268.113 L 209.91,268.801 L 209.027,269.57 L 208.188,270.414 L 207.383,271.336 L 206.578,272.332 L 206.578,272.332 L 207.383,272.445 L 208.301,272.555 L 209.223,272.672 L 210.141,272.789 L 210.984,272.902 L 211.633,272.98 L 212.133,273.016 L 212.324,273.016 L 212.324,273.016 L 212.398,272.937 L 212.59,272.785 L 212.859,272.52 L 213.203,272.172 L 213.625,271.754 L 214.121,271.328 L 214.695,270.832 L 215.348,270.293 L 216.074,269.797 L 216.84,269.258 L 217.68,268.758 L 218.598,268.266 L 219.52,267.84 L 220.512,267.457 L 221.547,267.109 L 222.621,266.883"
-   id="path837" />
-</clipPath>
-<g
-   id="g839"> 
-</g>
-
-<clipPath
-   id="clippath22"> 	<path
-   d="M 228.285,267.566 L 228.285,267.566 L 227.254,267.148 L 226.219,266.84 L 225.109,266.727 L 224.035,266.727 L 222.926,266.844 L 221.816,267.074 L 220.742,267.418 L 219.633,267.84 L 218.598,268.34 L 217.566,268.875 L 216.57,269.527 L 215.578,270.176 L 214.695,270.871 L 213.816,271.598 L 213.012,272.324 L 212.285,273.055 L 212.285,273.055 L 212.781,273.094 L 213.395,273.168 L 214.086,273.242 L 214.813,273.32 L 215.539,273.395 L 216.191,273.473 L 216.766,273.508 L 217.188,273.508 L 217.188,273.508 L 217.188,273.43 L 217.379,273.238 L 217.762,272.973 L 218.336,272.59 L 219.023,272.168 L 219.828,271.668 L 220.746,271.133 L 221.703,270.598 L 222.66,270.059 L 223.656,269.52 L 224.652,269.023 L 225.57,268.566 L 226.414,268.18 L 227.176,267.871 L 227.793,267.68 L 228.285,267.566"
-   id="path846" />
-</clipPath>
-<g
-   id="g848"> 
-</g>
-
-<clipPath
-   id="clippath23"> 	<path
-   d="M 233.648,268.672 L 233.648,268.672 L 233.113,267.832 L 232.309,267.332 L 231.313,267.145 L 230.164,267.145 L 228.902,267.414 L 227.523,267.836 L 226.066,268.41 L 224.652,269.062 L 223.195,269.793 L 221.855,270.555 L 220.594,271.289 L 219.445,272.016 L 218.488,272.629 L 217.762,273.09 L 217.266,273.43 L 217.035,273.547 L 217.035,273.547 L 217.57,273.664 L 218.18,273.738 L 218.836,273.812 L 219.523,273.852 L 220.25,273.93 L 220.98,274.004 L 221.668,274.117 L 222.355,274.234 L 222.355,274.234 L 223.086,273.891 L 223.773,273.543 L 224.504,273.16 L 225.191,272.777 L 225.879,272.43 L 226.57,272.047 L 227.297,271.664 L 227.984,271.281 L 228.672,270.93 L 229.359,270.551 L 230.09,270.207 L 230.777,269.902 L 231.469,269.551 L 232.195,269.246 L 232.922,268.937 L 233.648,268.672"
-   id="path855" />
-</clipPath>
-<g
-   id="g857"> 
-</g>
-
-<clipPath
-   id="clippath24"> 	<path
-   d="M 240.504,270.504 L 240.504,270.504 L 239.66,269.895 L 238.707,269.547 L 237.711,269.398 L 236.641,269.398 L 235.527,269.59 L 234.379,269.934 L 233.266,270.355 L 232.16,270.855 L 231.121,271.43 L 230.09,272.008 L 229.172,272.621 L 228.367,273.156 L 227.641,273.656 L 227.066,274.113 L 226.648,274.422 L 226.418,274.613 L 226.418,274.613 L 227.031,274.687 L 227.605,274.766 L 228.098,274.844 L 228.602,274.879 L 229.137,274.918 L 229.633,274.992 L 230.211,275.07 L 230.82,275.145 L 230.82,275.145 L 231.355,274.801 L 231.895,274.453 L 232.469,274.035 L 233.039,273.652 L 233.652,273.23 L 234.266,272.809 L 234.879,272.387 L 235.488,272.004 L 236.105,271.617 L 236.754,271.309 L 237.406,271.008 L 238.02,270.773 L 238.664,270.586 L 239.281,270.469 L 239.895,270.469 L 240.504,270.504"
-   id="path864" />
-</clipPath>
-<g
-   id="g866"> 
-</g>
-
-<clipPath
-   id="clippath25"> 	<path
-   d="M 237.977,269.398 L 237.977,269.398 L 237.324,268.977 L 236.637,268.672 L 235.984,268.516 L 235.297,268.441 L 234.605,268.48 L 233.879,268.633 L 233.074,268.902 L 232.234,269.207 L 231.316,269.633 L 230.355,270.09 L 229.285,270.668 L 228.137,271.281 L 226.871,271.93 L 225.496,272.621 L 224.004,273.387 L 222.355,274.156 L 222.355,274.156 L 222.969,274.195 L 223.66,274.27 L 224.348,274.348 L 225.039,274.461 L 225.652,274.539 L 226.109,274.613 L 226.457,274.652 L 226.609,274.613 L 226.609,274.613 L 226.684,274.535 L 226.953,274.348 L 227.297,274.039 L 227.758,273.695 L 228.332,273.273 L 229.02,272.812 L 229.746,272.312 L 230.551,271.812 L 231.43,271.316 L 232.313,270.82 L 233.266,270.395 L 234.223,270.012 L 235.184,269.707 L 236.141,269.512 L 237.059,269.398 L 237.977,269.398"
-   id="path873" />
-</clipPath>
-<g
-   id="g875"> 
-</g>
-
-<clipPath
-   id="clippath26"> 	<path
-   d="M 243.57,272.457 L 243.57,272.457 L 242.879,271.691 L 242.156,271.113 L 241.426,270.734 L 240.66,270.504 L 239.895,270.469 L 239.09,270.543 L 238.246,270.734 L 237.441,271.008 L 236.602,271.426 L 235.797,271.848 L 234.957,272.383 L 234.113,272.922 L 233.27,273.461 L 232.469,274.035 L 231.66,274.613 L 230.859,275.109 L 230.859,275.109 L 231.32,275.184 L 231.816,275.223 L 232.391,275.34 L 233.004,275.41 L 233.652,275.488 L 234.344,275.562 L 234.992,275.641 L 235.648,275.715 L 235.648,275.715 L 235.875,275.219 L 236.145,274.797 L 236.449,274.375 L 236.832,273.992 L 237.215,273.648 L 237.637,273.379 L 238.137,273.109 L 238.633,272.879 L 239.168,272.687 L 239.738,272.535 L 240.316,272.418 L 240.93,272.34 L 241.578,272.301 L 242.23,272.305 L 242.883,272.379 L 243.57,272.457"
-   id="path882" />
-</clipPath>
-<g
-   id="g884"> 
-</g>
-
-<clipPath
-   id="clippath27"> 	<path
-   d="M 248.285,274.977 L 248.285,274.977 L 248.09,274.672 L 247.785,274.406 L 247.363,274.176 L 246.906,274.023 L 246.367,273.91 L 245.758,273.871 L 245.145,273.871 L 244.453,273.91 L 243.801,274.023 L 243.113,274.18 L 242.461,274.41 L 241.852,274.676 L 241.273,274.984 L 240.738,275.367 L 240.32,275.789 L 239.938,276.25 L 239.938,276.25 L 240.281,276.328 L 240.703,276.402 L 241.121,276.48 L 241.543,276.551 L 241.926,276.59 L 242.234,276.633 L 242.465,276.633 L 242.539,276.633 L 242.539,276.633 L 242.695,276.551 L 243.074,276.324 L 243.727,276.016 L 244.492,275.672 L 245.371,275.363 L 246.367,275.098 L 247.324,274.941 L 248.285,274.977"
-   id="path891" />
-</clipPath>
-<g
-   id="g893"> 
-</g>
-
-<clipPath
-   id="clippath28"> 	<path
-   d="M 249.203,276.547 L 249.203,276.547 L 249.238,275.937 L 249.09,275.477 L 248.816,275.172 L 248.398,274.98 L 247.902,274.902 L 247.324,274.941 L 246.711,275.02 L 246.023,275.172 L 245.371,275.402 L 244.723,275.633 L 244.109,275.863 L 243.574,276.094 L 243.113,276.324 L 242.73,276.48 L 242.539,276.633 L 242.461,276.668 L 245.527,277.199 L 245.527,277.199 L 245.797,277.09 L 246.219,276.973 L 246.676,276.816 L 247.215,276.664 L 247.75,276.547 L 248.285,276.473 L 248.781,276.473 L 249.203,276.547"
-   id="path900" />
-</clipPath>
-<g
-   id="g902"> 
-</g>
-
-<clipPath
-   id="clippath29"> 	<path
-   d="M 246.672,273.984 L 246.672,273.984 L 246.063,273.488 L 245.41,273.105 L 244.68,272.762 L 243.879,272.531 L 243.07,272.379 L 242.27,272.266 L 241.426,272.27 L 240.586,272.34 L 239.781,272.496 L 238.977,272.766 L 238.246,273.074 L 237.559,273.457 L 236.91,273.918 L 236.371,274.453 L 235.953,275.066 L 235.609,275.754 L 235.609,275.754 L 236.105,275.793 L 236.566,275.871 L 237.066,275.906 L 237.602,275.984 L 238.137,276.059 L 238.711,276.098 L 239.324,276.215 L 239.973,276.285 L 239.973,276.285 L 240.203,275.945 L 240.473,275.637 L 240.777,275.367 L 241.121,275.102 L 241.504,274.867 L 241.926,274.641 L 242.348,274.445 L 242.805,274.297 L 243.266,274.141 L 243.762,274.027 L 244.223,273.949 L 244.723,273.91 L 245.219,273.871 L 245.715,273.871 L 246.215,273.91 L 246.672,273.984"
-   id="path909" />
-</clipPath>
-<g
-   id="g911"> 
-</g>
-
-<clipPath
-   id="clippath30"> 	<path
-   d="M 110.332,255.668 L 110.332,255.668 L 110.258,255.785 L 110.063,256.094 L 109.797,256.59 L 109.453,257.203 L 109.066,257.93 L 108.684,258.734 L 108.34,259.656 L 108.035,260.574 L 107.809,261.531 L 107.73,262.453 L 107.773,263.367 L 107.965,264.211 L 108.387,264.98 L 109.035,265.664 L 109.957,266.199 L 111.145,266.586 L 111.145,266.586 L 110.953,266.008 L 110.836,265.395 L 110.723,264.785 L 110.645,264.094 L 110.605,263.406 L 110.605,262.68 L 110.645,261.988 L 110.68,261.262 L 110.758,260.531 L 110.832,259.805 L 110.949,259.117 L 111.098,258.465 L 111.215,257.812 L 111.367,257.238 L 111.555,256.664 L 111.711,256.168 L 111.711,256.168 L 111.52,256.09 L 111.363,256.051 L 111.176,255.977 L 111.02,255.937 L 110.863,255.863 L 110.715,255.824 L 110.523,255.742 L 110.332,255.668"
-   id="path918" />
-</clipPath>
-<g
-   id="g920"> 
-</g>
-
-<clipPath
-   id="clippath31"> 	<path
-   d="M 111.633,256.203 L 111.633,256.203 L 111.098,258.312 L 110.719,260.227 L 110.527,261.871 L 110.492,263.328 L 110.57,264.594 L 110.797,265.664 L 111.105,266.586 L 111.453,267.348 L 111.91,267.961 L 112.41,268.457 L 112.906,268.805 L 113.402,269.07 L 113.941,269.262 L 114.402,269.34 L 114.82,269.375 L 115.207,269.375 L 115.207,269.375 L 114.977,268.762 L 114.746,268.148 L 114.555,267.461 L 114.398,266.773 L 114.246,266.004 L 114.129,265.242 L 114.012,264.477 L 113.938,263.672 L 113.898,262.867 L 113.895,262.023 L 113.938,261.219 L 114.012,260.379 L 114.125,259.574 L 114.281,258.73 L 114.469,257.965 L 114.699,257.16 L 114.699,257.16 L 114.238,257.008 L 113.777,256.855 L 113.355,256.703 L 112.938,256.586 L 112.59,256.473 L 112.211,256.359 L 111.902,256.281 L 111.633,256.203"
-   id="path927" />
-</clipPath>
-<g
-   id="g929"> 
-</g>
-
-<clipPath
-   id="clippath32"> 	<path
-   d="M 114.738,257.16 L 114.738,257.16 L 114.508,257.926 L 114.281,258.883 L 114.125,259.957 L 114.051,261.145 L 114.012,262.445 L 114.012,263.746 L 114.129,265.047 L 114.32,266.312 L 114.594,267.5 L 114.938,268.609 L 115.438,269.566 L 116.008,270.332 L 116.738,270.906 L 117.582,271.211 L 118.539,271.25 L 119.648,270.945 L 119.648,270.945 L 119.227,270.254 L 118.805,269.527 L 118.461,268.762 L 118.152,268.035 L 117.922,267.23 L 117.691,266.465 L 117.539,265.66 L 117.387,264.855 L 117.309,264.051 L 117.27,263.211 L 117.27,262.406 L 117.344,261.562 L 117.418,260.723 L 117.57,259.914 L 117.723,259.07 L 117.953,258.27 L 117.953,258.27 L 117.57,258.113 L 117.113,257.965 L 116.652,257.809 L 116.191,257.656 L 115.73,257.504 L 115.348,257.352 L 115.004,257.234 L 114.738,257.16"
-   id="path936" />
-</clipPath>
-<g
-   id="g938"> 
-</g>
-
-<clipPath
-   id="clippath33"> 	<path
-   d="M 124.477,273.043 L 124.477,273.043 L 123.441,273.121 L 122.445,272.969 L 121.566,272.59 L 120.762,272.051 L 119.992,271.324 L 119.344,270.445 L 118.805,269.449 L 118.305,268.34 L 117.922,267.152 L 117.613,265.887 L 117.422,264.586 L 117.344,263.285 L 117.344,261.984 L 117.457,260.68 L 117.688,259.418 L 118.031,258.23 L 118.031,258.23 L 118.453,258.383 L 118.875,258.535 L 119.332,258.648 L 119.793,258.801 L 120.254,258.957 L 120.75,259.109 L 121.211,259.262 L 121.707,259.414 L 121.707,259.414 L 121.707,260.219 L 121.707,261.098 L 121.746,262.098 L 121.785,263.129 L 121.828,264.164 L 121.863,265.234 L 121.98,266.344 L 122.094,267.379 L 122.25,268.414 L 122.402,269.367 L 122.637,270.289 L 122.902,271.094 L 123.211,271.781 L 123.594,272.359 L 124.016,272.777 L 124.477,273.043"
-   id="path945" />
-</clipPath>
-<g
-   id="g947"> 
-</g>
-
-<clipPath
-   id="clippath34"> 	<path
-   d="M 121.746,259.453 L 121.746,259.453 L 122.129,259.605 L 122.512,259.719 L 122.855,259.836 L 123.238,259.91 L 123.621,260.027 L 123.969,260.141 L 124.352,260.254 L 124.73,260.41 L 124.73,260.41 L 124.809,261.176 L 124.852,262.016 L 124.891,262.934 L 124.926,263.891 L 124.93,264.852 L 124.93,265.883 L 124.969,266.918 L 125.008,267.914 L 125.086,268.91 L 125.199,269.902 L 125.395,270.824 L 125.586,271.668 L 125.891,272.469 L 126.234,273.195 L 126.656,273.809 L 127.195,274.305 L 127.195,274.305 L 126.086,274.039 L 125.164,273.656 L 124.398,273.121 L 123.746,272.508 L 123.211,271.781 L 122.789,270.941 L 122.48,270.023 L 122.25,269.062 L 122.094,267.992 L 121.98,266.883 L 121.941,265.73 L 121.902,264.508 L 121.863,263.281 L 121.824,262.02 L 121.824,260.754 L 121.746,259.453"
-   id="path954" />
-</clipPath>
-<g
-   id="g956"> 
-</g>
-
-<clipPath
-   id="clippath35"> 	<path
-   d="M 131.906,275.797 L 131.906,275.797 L 130.375,275.723 L 129.07,275.418 L 128,274.918 L 127.117,274.27 L 126.43,273.426 L 125.926,272.469 L 125.508,271.398 L 125.238,270.211 L 125.086,268.984 L 124.973,267.723 L 124.93,266.418 L 124.93,265.156 L 124.926,263.852 L 124.926,262.629 L 124.852,261.48 L 124.773,260.406 L 124.773,260.406 L 125.195,260.523 L 125.578,260.637 L 125.918,260.754 L 126.305,260.863 L 126.688,260.98 L 127.031,261.094 L 127.414,261.172 L 127.836,261.285 L 127.836,261.285 L 127.797,261.398 L 127.723,261.668 L 127.645,262.09 L 127.531,262.629 L 127.457,263.316 L 127.379,264.082 L 127.34,264.965 L 127.379,265.961 L 127.492,266.992 L 127.688,268.141 L 128.035,269.328 L 128.457,270.551 L 129.07,271.816 L 129.836,273.156 L 130.758,274.457 L 131.906,275.797"
-   id="path963" />
-</clipPath>
-<g
-   id="g965"> 
-</g>
-
-<clipPath
-   id="clippath36"> 	<path
-   d="M 137.117,277.437 L 137.117,277.437 L 136.082,277.629 L 135.047,277.555 L 134.051,277.211 L 133.055,276.676 L 132.098,275.949 L 131.18,275.07 L 130.336,273.996 L 129.566,272.809 L 128.918,271.547 L 128.344,270.168 L 127.879,268.711 L 127.57,267.223 L 127.379,265.727 L 127.34,264.195 L 127.488,262.742 L 127.797,261.285 L 131.434,262.43 L 131.434,262.43 L 131.398,263.047 L 131.359,263.773 L 131.398,264.574 L 131.48,265.492 L 131.594,266.453 L 131.785,267.488 L 131.977,268.559 L 132.285,269.668 L 132.633,270.777 L 133.051,271.852 L 133.512,272.922 L 134.09,273.957 L 134.699,274.953 L 135.43,275.871 L 136.234,276.711 L 137.117,277.437"
-   id="path972" />
-</clipPath>
-<g
-   id="g974"> 
-</g>
-
-<clipPath
-   id="clippath37"> 	<path
-   d="M 131.359,262.355 L 131.359,262.355 L 131.934,262.547 L 132.66,262.738 L 133.469,263.004 L 134.309,263.234 L 135.113,263.504 L 135.918,263.73 L 136.605,263.922 L 137.145,264.035 L 137.145,264.035 L 137.223,264.918 L 137.262,265.871 L 137.34,266.832 L 137.375,267.824 L 137.492,268.82 L 137.57,269.859 L 137.684,270.852 L 137.84,271.848 L 138.031,272.805 L 138.262,273.727 L 138.57,274.641 L 138.914,275.484 L 139.336,276.289 L 139.836,276.977 L 140.371,277.629 L 141.02,278.203 L 141.02,278.203 L 140.254,278.316 L 139.453,278.281 L 138.648,278.09 L 137.844,277.746 L 137.039,277.246 L 136.234,276.633 L 135.465,275.871 L 134.699,274.914 L 134.012,273.879 L 133.398,272.652 L 132.82,271.312 L 132.328,269.785 L 131.938,268.137 L 131.633,266.379 L 131.438,264.422 L 131.359,262.355"
-   id="path981" />
-</clipPath>
-<g
-   id="g983"> 
-</g>
-
-<clipPath
-   id="clippath38"> 	<path
-   d="M 146.043,278.961 L 146.043,278.961 L 144.316,279.043 L 142.863,278.891 L 141.598,278.473 L 140.598,277.816 L 139.758,277.016 L 139.066,276.059 L 138.57,274.984 L 138.184,273.762 L 137.879,272.539 L 137.688,271.195 L 137.57,269.895 L 137.453,268.594 L 137.414,267.289 L 137.336,266.102 L 137.262,264.992 L 137.145,263.996 L 137.145,263.996 L 137.68,264.113 L 138.145,264.227 L 138.563,264.379 L 138.98,264.492 L 139.441,264.609 L 139.863,264.723 L 140.359,264.875 L 140.938,265.027 L 140.938,265.027 L 141.051,266.066 L 141.164,267.055 L 141.281,268.051 L 141.438,269.008 L 141.555,269.969 L 141.707,270.887 L 141.898,271.766 L 142.09,272.648 L 142.359,273.488 L 142.668,274.332 L 143.047,275.137 L 143.473,275.941 L 144.008,276.742 L 144.582,277.508 L 145.273,278.238 L 146.043,278.961"
-   id="path990" />
-</clipPath>
-<g
-   id="g992"> 
-</g>
-
-<clipPath
-   id="clippath39"> 	<path
-   d="M 150.672,279.801 L 150.672,279.801 L 149.141,279.879 L 147.801,279.687 L 146.613,279.27 L 145.578,278.617 L 144.699,277.816 L 143.934,276.859 L 143.316,275.75 L 142.781,274.562 L 142.324,273.336 L 141.977,272.035 L 141.707,270.77 L 141.512,269.473 L 141.324,268.246 L 141.207,267.098 L 141.09,266.023 L 141.012,265.105 L 141.012,265.105 L 141.551,265.223 L 142.008,265.332 L 142.43,265.449 L 142.852,265.527 L 143.23,265.641 L 143.656,265.715 L 144.152,265.863 L 144.727,265.98 L 144.727,265.98 L 144.918,267.477 L 145.148,268.895 L 145.418,270.195 L 145.688,271.422 L 145.996,272.531 L 146.344,273.602 L 146.723,274.52 L 147.109,275.402 L 147.492,276.207 L 147.914,276.93 L 148.375,277.547 L 148.797,278.117 L 149.258,278.656 L 149.719,279.074 L 150.215,279.457 L 150.672,279.801"
-   id="path999" />
-</clipPath>
-<g
-   id="g1001"> 
-</g>
-
-<clipPath
-   id="clippath40"> 	<path
-   d="M 155.043,280.371 L 155.043,280.371 L 153.586,280.453 L 152.285,280.262 L 151.133,279.84 L 150.059,279.227 L 149.18,278.426 L 148.375,277.508 L 147.684,276.434 L 147.07,275.289 L 146.535,274.098 L 146.113,272.836 L 145.766,271.574 L 145.461,270.309 L 145.188,269.121 L 144.996,267.973 L 144.844,266.941 L 144.688,266.02 L 144.688,266.02 L 145.148,266.098 L 145.605,266.211 L 146.07,266.328 L 146.527,266.441 L 146.988,266.555 L 147.449,266.668 L 147.91,266.785 L 148.406,266.902 L 148.406,266.902 L 148.445,267.625 L 148.559,268.43 L 148.715,269.273 L 148.98,270.191 L 149.25,271.184 L 149.633,272.145 L 150.02,273.176 L 150.441,274.176 L 150.938,275.172 L 151.477,276.129 L 152.012,277.008 L 152.586,277.848 L 153.16,278.652 L 153.777,279.344 L 154.426,279.914 L 155.043,280.371"
-   id="path1008" />
-</clipPath>
-<g
-   id="g1010"> 
-</g>
-
-<clipPath
-   id="clippath41"> 	<path
-   d="M 159.824,281.25 L 159.824,281.25 L 158.336,281.445 L 156.957,281.254 L 155.691,280.758 L 154.539,279.988 L 153.469,279.035 L 152.547,277.887 L 151.707,276.586 L 150.938,275.246 L 150.324,273.832 L 149.785,272.449 L 149.328,271.148 L 148.945,269.887 L 148.715,268.812 L 148.52,267.93 L 148.406,267.281 L 148.406,266.902 L 148.406,266.902 L 148.977,267.012 L 149.516,267.129 L 150.051,267.281 L 150.586,267.395 L 151.121,267.547 L 151.621,267.66 L 152.121,267.777 L 152.617,267.855 L 152.617,267.855 L 152.809,268.504 L 153,269.27 L 153.23,270.148 L 153.504,271.145 L 153.809,272.18 L 154.152,273.25 L 154.535,274.32 L 154.961,275.434 L 155.422,276.504 L 155.918,277.5 L 156.457,278.461 L 157.031,279.301 L 157.684,280.027 L 158.332,280.602 L 159.059,281.023 L 159.824,281.25"
-   id="path1017" />
-</clipPath>
-<g
-   id="g1019"> 
-</g>
-
-<clipPath
-   id="clippath42"> 	<path
-   d="M 163.309,281.055 L 163.309,281.055 L 161.934,281.363 L 160.711,281.363 L 159.598,281.098 L 158.563,280.562 L 157.68,279.836 L 156.879,278.953 L 156.152,277.887 L 155.496,276.734 L 154.961,275.508 L 154.461,274.246 L 154.078,272.984 L 153.691,271.758 L 153.387,270.609 L 153.156,269.574 L 152.922,268.656 L 152.734,267.93 L 152.734,267.93 L 153.152,268.008 L 153.578,268.043 L 153.957,268.117 L 154.301,268.195 L 154.688,268.273 L 155.031,268.352 L 155.336,268.426 L 155.68,268.465 L 155.68,268.465 L 155.801,269.344 L 155.988,270.262 L 156.223,271.18 L 156.449,272.062 L 156.758,272.98 L 157.105,273.863 L 157.484,274.707 L 157.949,275.547 L 158.406,276.391 L 158.945,277.191 L 159.559,277.957 L 160.168,278.645 L 160.898,279.336 L 161.625,279.949 L 162.43,280.523 L 163.309,281.055"
-   id="path1026" />
-</clipPath>
-<g
-   id="g1028"> 
-</g>
-
-<clipPath
-   id="clippath43"> 	<path
-   d="M 167.676,281.742 L 167.676,281.742 L 166.531,281.742 L 165.418,281.629 L 164.348,281.359 L 163.309,280.977 L 162.355,280.445 L 161.395,279.793 L 160.555,279.031 L 159.715,278.191 L 158.98,277.23 L 158.293,276.199 L 157.676,275.047 L 157.105,273.863 L 156.645,272.598 L 156.258,271.258 L 155.91,269.879 L 155.68,268.465 L 155.68,268.465 L 156.18,268.578 L 156.68,268.656 L 157.215,268.77 L 157.711,268.844 L 158.207,268.922 L 158.668,269.035 L 159.168,269.113 L 159.625,269.227 L 159.625,269.227 L 159.855,270.031 L 160.047,270.871 L 160.281,271.676 L 160.473,272.48 L 160.707,273.285 L 160.934,274.09 L 161.238,274.855 L 161.586,275.656 L 162.004,276.426 L 162.469,277.227 L 163.043,277.992 L 163.73,278.758 L 164.5,279.488 L 165.418,280.25 L 166.488,281.016 L 167.676,281.742"
-   id="path1035" />
-</clipPath>
-<g
-   id="g1037"> 
-</g>
-
-<clipPath
-   id="clippath44"> 	<path
-   d="M 173.883,282.465 L 173.883,282.465 L 172.387,282.582 L 170.934,282.508 L 169.594,282.277 L 168.328,281.895 L 167.141,281.398 L 166.031,280.746 L 164.996,279.98 L 164.078,279.062 L 163.234,278.109 L 162.469,277.035 L 161.773,275.887 L 161.203,274.664 L 160.707,273.363 L 160.281,272.023 L 159.973,270.645 L 159.738,269.266 L 159.738,269.266 L 160.164,269.34 L 160.621,269.457 L 161.078,269.531 L 161.539,269.605 L 162,269.684 L 162.5,269.801 L 162.996,269.875 L 163.496,269.988 L 163.496,269.988 L 163.648,270.945 L 163.879,271.902 L 164.188,272.863 L 164.57,273.781 L 165.027,274.699 L 165.531,275.613 L 166.105,276.496 L 166.754,277.34 L 167.445,278.184 L 168.211,278.945 L 169.02,279.672 L 169.898,280.359 L 170.82,280.973 L 171.813,281.547 L 172.809,282.043 L 173.883,282.465"
-   id="path1044" />
-</clipPath>
-<g
-   id="g1046"> 
-</g>
-
-<clipPath
-   id="clippath45"> 	<path
-   d="M 177.289,282.844 L 177.289,282.844 L 176.027,282.77 L 174.801,282.578 L 173.574,282.273 L 172.387,281.816 L 171.277,281.281 L 170.164,280.633 L 169.133,279.902 L 168.172,279.059 L 167.293,278.145 L 166.449,277.152 L 165.719,276.074 L 165.07,274.965 L 164.535,273.781 L 164.074,272.555 L 163.727,271.289 L 163.496,269.988 L 163.496,269.988 L 163.914,270.066 L 164.301,270.102 L 164.645,270.141 L 164.988,270.18 L 165.336,270.219 L 165.715,270.293 L 166.172,270.367 L 166.715,270.445 L 166.715,270.445 L 167.25,271.555 L 167.711,272.59 L 168.168,273.586 L 168.59,274.504 L 169.051,275.387 L 169.473,276.191 L 169.934,276.953 L 170.434,277.68 L 170.973,278.41 L 171.586,279.059 L 172.273,279.746 L 173.035,280.359 L 173.922,281.012 L 174.918,281.621 L 176.027,282.234 L 177.289,282.844"
-   id="path1053" />
-</clipPath>
-<g
-   id="g1055"> 
-</g>
-
-<clipPath
-   id="clippath46"> 	<path
-   d="M 183.418,283.223 L 183.418,283.223 L 181.539,283.301 L 179.777,283.227 L 178.207,282.961 L 176.754,282.539 L 175.414,281.969 L 174.227,281.277 L 173.113,280.477 L 172.121,279.555 L 171.199,278.562 L 170.355,277.488 L 169.625,276.379 L 168.938,275.191 L 168.285,274.008 L 167.711,272.82 L 167.172,271.594 L 166.676,270.406 L 166.676,270.406 L 167.02,270.445 L 167.477,270.523 L 168.051,270.598 L 168.629,270.676 L 169.238,270.789 L 169.777,270.863 L 170.234,270.941 L 170.582,270.977 L 170.582,270.977 L 171.039,272.051 L 171.539,273.125 L 172.117,274.117 L 172.691,275.074 L 173.344,275.957 L 174.031,276.836 L 174.762,277.637 L 175.563,278.445 L 176.367,279.172 L 177.254,279.859 L 178.168,280.547 L 179.129,281.16 L 180.125,281.73 L 181.195,282.27 L 182.27,282.766 L 183.418,283.223"
-   id="path1062" />
-</clipPath>
-<g
-   id="g1064"> 
-</g>
-
-<clipPath
-   id="clippath47"> 	<path
-   d="M 187.055,283.758 L 187.055,283.758 L 186.023,283.719 L 184.953,283.566 L 183.801,283.297 L 182.613,282.879 L 181.426,282.383 L 180.238,281.77 L 179.051,281.043 L 177.863,280.242 L 176.715,279.324 L 175.602,278.367 L 174.566,277.297 L 173.57,276.148 L 172.691,274.961 L 171.887,273.699 L 171.195,272.359 L 170.617,270.977 L 170.617,270.977 L 171.195,271.055 L 171.77,271.133 L 172.379,271.168 L 172.992,271.246 L 173.527,271.281 L 173.988,271.359 L 174.371,271.434 L 174.563,271.551 L 174.563,271.551 L 175.254,272.086 L 175.945,272.66 L 176.672,273.352 L 177.402,274.039 L 178.129,274.801 L 178.895,275.605 L 179.66,276.449 L 180.426,277.293 L 181.195,278.172 L 181.996,279.016 L 182.801,279.855 L 183.648,280.695 L 184.488,281.539 L 185.332,282.301 L 186.176,283.07 L 187.055,283.758"
-   id="path1071" />
-</clipPath>
-<g
-   id="g1073"> 
-</g>
-
-<clipPath
-   id="clippath48"> 	<path
-   d="M 192.648,283.754 L 192.648,283.754 L 191.652,284.406 L 190.617,284.672 L 189.586,284.676 L 188.512,284.406 L 187.441,283.871 L 186.367,283.145 L 185.254,282.227 L 184.145,281.195 L 183.031,280.008 L 181.883,278.781 L 180.695,277.48 L 179.508,276.18 L 178.32,274.918 L 177.094,273.656 L 175.863,272.508 L 174.641,271.477 L 174.641,271.477 L 175.066,271.477 L 175.559,271.551 L 176.137,271.586 L 176.707,271.703 L 177.324,271.781 L 177.934,271.895 L 178.508,272.008 L 179.008,272.082 L 179.008,272.082 L 179.965,272.965 L 180.918,273.844 L 181.844,274.762 L 182.762,275.68 L 183.645,276.598 L 184.527,277.52 L 185.406,278.437 L 186.25,279.277 L 187.094,280.117 L 187.934,280.887 L 188.738,281.574 L 189.543,282.184 L 190.348,282.723 L 191.113,283.18 L 191.883,283.523 L 192.648,283.754"
-   id="path1080" />
-</clipPath>
-<g
-   id="g1082"> 
-</g>
-
-<clipPath
-   id="clippath49"> 	<path
-   d="M 196.977,284.246 L 196.977,284.246 L 195.406,284.25 L 193.91,284.098 L 192.57,283.715 L 191.266,283.219 L 190.082,282.605 L 188.973,281.84 L 187.895,281 L 186.902,280.082 L 185.902,279.086 L 184.949,278.051 L 184.027,277.02 L 183.066,275.949 L 182.109,274.879 L 181.113,273.844 L 180.078,272.887 L 179.008,271.969 L 179.008,271.969 L 179.391,272.008 L 179.848,272.047 L 180.422,272.117 L 180.996,272.16 L 181.574,272.234 L 182.031,272.273 L 182.414,272.312 L 182.645,272.312 L 182.645,272.312 L 183.293,272.465 L 183.945,272.77 L 184.598,273.191 L 185.289,273.766 L 185.977,274.453 L 186.707,275.258 L 187.473,276.102 L 188.238,277.016 L 189.121,277.973 L 190.004,278.926 L 191,279.926 L 192.031,280.883 L 193.145,281.84 L 194.332,282.719 L 195.598,283.52 L 196.977,284.246"
-   id="path1089" />
-</clipPath>
-<g
-   id="g1091"> 
-</g>
-
-<clipPath
-   id="clippath50"> 	<path
-   d="M 111.746,252.719 L 111.746,252.719 L 111.746,252.566 L 111.707,252.145 L 111.668,251.496 L 111.629,250.691 L 111.59,249.734 L 111.629,248.699 L 111.664,247.629 L 111.777,246.516 L 112.008,245.484 L 112.316,244.488 L 112.695,243.605 L 113.27,242.879 L 113.922,242.34 L 114.766,242.035 L 115.797,241.992 L 116.984,242.301 L 116.984,242.301 L 116.598,242.684 L 116.258,243.145 L 115.91,243.719 L 115.605,244.332 L 115.301,245.02 L 115.031,245.711 L 114.77,246.477 L 114.496,247.281 L 114.27,248.047 L 114.082,248.852 L 113.887,249.656 L 113.699,250.422 L 113.543,251.187 L 113.391,251.914 L 113.277,252.566 L 113.16,253.176 L 113.16,253.176 L 112.973,253.141 L 112.816,253.105 L 112.629,253.027 L 112.473,252.988 L 112.32,252.91 L 112.164,252.836 L 111.973,252.797 L 111.746,252.719"
-   id="path1098" />
-</clipPath>
-<g
-   id="g1100"> 
-</g>
-
-<clipPath
-   id="clippath51"> 	<path
-   d="M 113.16,253.293 L 113.16,253.293 L 113.66,250.805 L 114.195,248.695 L 114.73,246.895 L 115.262,245.402 L 115.801,244.215 L 116.336,243.258 L 116.867,242.566 L 117.367,242.07 L 117.902,241.723 L 118.359,241.57 L 118.863,241.531 L 119.285,241.609 L 119.703,241.762 L 120.086,241.953 L 120.43,242.184 L 120.738,242.414 L 120.738,242.414 L 120.203,242.91 L 119.668,243.484 L 119.207,244.023 L 118.711,244.633 L 118.289,245.246 L 117.867,245.898 L 117.484,246.551 L 117.141,247.238 L 116.797,247.969 L 116.492,248.734 L 116.184,249.5 L 115.918,250.305 L 115.691,251.148 L 115.461,251.988 L 115.234,252.871 L 115.039,253.789 L 115.039,253.789 L 114.582,253.711 L 114.238,253.676 L 114.004,253.598 L 113.852,253.523 L 113.699,253.484 L 113.543,253.41 L 113.391,253.367 L 113.16,253.293"
-   id="path1107" />
-</clipPath>
-<g
-   id="g1109"> 
-</g>
-
-<clipPath
-   id="clippath52"> 	<path
-   d="M 115.078,254.02 L 115.078,254.02 L 115.191,253.102 L 115.387,252.066 L 115.691,250.918 L 116.07,249.691 L 116.57,248.426 L 117.141,247.199 L 117.754,246.016 L 118.441,244.902 L 119.168,243.906 L 119.934,243.062 L 120.738,242.414 L 121.578,241.988 L 122.461,241.836 L 123.344,241.988 L 124.184,242.488 L 125.066,243.363 L 125.066,243.363 L 124.379,243.863 L 123.727,244.441 L 123.113,245.016 L 122.539,245.59 L 121.965,246.203 L 121.469,246.891 L 121.012,247.582 L 120.59,248.27 L 120.168,249.039 L 119.824,249.805 L 119.48,250.609 L 119.215,251.453 L 118.945,252.332 L 118.754,253.25 L 118.563,254.211 L 118.41,255.203 L 118.41,255.203 L 117.992,255.09 L 117.531,254.937 L 117.031,254.785 L 116.535,254.594 L 116.074,254.402 L 115.652,254.246 L 115.309,254.098 L 115.078,254.02"
-   id="path1116" />
-</clipPath>
-<g
-   id="g1118"> 
-</g>
-
-<clipPath
-   id="clippath53"> 	<path
-   d="M 130.008,243.977 L 130.008,243.977 L 129.086,243.363 L 128.168,243.02 L 127.211,242.906 L 126.289,243.02 L 125.332,243.328 L 124.414,243.828 L 123.531,244.516 L 122.691,245.32 L 121.926,246.238 L 121.16,247.312 L 120.512,248.5 L 119.941,249.727 L 119.445,251.031 L 119.059,252.406 L 118.754,253.785 L 118.602,255.203 L 118.602,255.203 L 119.063,255.316 L 119.523,255.434 L 119.98,255.586 L 120.441,255.738 L 120.938,255.93 L 121.438,256.043 L 121.895,256.199 L 122.395,256.273 L 122.395,256.273 L 122.738,255.395 L 123.043,254.434 L 123.426,253.477 L 123.773,252.52 L 124.152,251.523 L 124.57,250.527 L 124.992,249.57 L 125.414,248.652 L 125.871,247.77 L 126.371,246.965 L 126.902,246.199 L 127.441,245.547 L 128.051,244.973 L 128.668,244.512 L 129.316,244.168 L 130.008,243.977"
-   id="path1125" />
-</clipPath>
-<g
-   id="g1127"> 
-</g>
-
-<clipPath
-   id="clippath54"> 	<path
-   d="M 134.219,245.117 L 134.219,245.117 L 132.766,244.473 L 131.461,244.129 L 130.313,244.09 L 129.277,244.281 L 128.359,244.703 L 127.555,245.355 L 126.832,246.16 L 126.18,247.117 L 125.605,248.191 L 125.109,249.379 L 124.609,250.605 L 124.152,251.832 L 123.695,253.094 L 123.273,254.359 L 122.816,255.547 L 122.32,256.656 L 122.32,256.656 L 122.738,256.695 L 123.121,256.809 L 123.508,256.922 L 123.891,257.074 L 124.273,257.191 L 124.656,257.344 L 125.078,257.457 L 125.496,257.531 L 125.496,257.531 L 125.535,257.383 L 125.574,256.996 L 125.688,256.5 L 125.801,255.809 L 125.992,255.008 L 126.262,254.09 L 126.566,253.094 L 126.988,252.059 L 127.48,251.023 L 128.055,249.988 L 128.785,248.953 L 129.586,247.996 L 130.547,247.078 L 131.617,246.309 L 132.844,245.617 L 134.219,245.117"
-   id="path1134" />
-</clipPath>
-<g
-   id="g1136"> 
-</g>
-
-<clipPath
-   id="clippath55"> 	<path
-   d="M 139.656,245.922 L 139.656,245.922 L 138.773,245.27 L 137.777,244.852 L 136.707,244.695 L 135.637,244.738 L 134.484,244.965 L 133.34,245.426 L 132.23,246.043 L 131.117,246.809 L 130.047,247.766 L 129.051,248.84 L 128.172,250.066 L 127.367,251.406 L 126.68,252.824 L 126.145,254.355 L 125.801,255.926 L 125.613,257.613 L 129.559,258.641 L 129.559,258.641 L 129.785,257.992 L 130.094,257.223 L 130.398,256.422 L 130.781,255.539 L 131.238,254.617 L 131.699,253.664 L 132.234,252.703 L 132.809,251.746 L 133.461,250.789 L 134.184,249.867 L 134.949,249.027 L 135.754,248.219 L 136.633,247.492 L 137.59,246.879 L 138.586,246.344 L 139.656,245.922"
-   id="path1143" />
-</clipPath>
-<g
-   id="g1145"> 
-</g>
-
-<clipPath
-   id="clippath56"> 	<path
-   d="M 129.52,258.758 L 129.52,258.758 L 130.094,258.871 L 130.82,259.023 L 131.547,259.254 L 132.355,259.484 L 133.117,259.75 L 133.848,259.941 L 134.496,260.133 L 135.035,260.285 L 135.035,260.285 L 135.414,259.328 L 135.836,258.332 L 136.258,257.336 L 136.68,256.301 L 137.098,255.266 L 137.559,254.27 L 138.055,253.273 L 138.551,252.277 L 139.086,251.359 L 139.66,250.516 L 140.273,249.711 L 140.926,248.984 L 141.574,248.332 L 142.301,247.797 L 143.105,247.371 L 143.91,247.066 L 143.91,247.066 L 143.219,246.609 L 142.453,246.266 L 141.648,246.035 L 140.77,245.957 L 139.852,246.035 L 138.891,246.266 L 137.934,246.648 L 136.941,247.227 L 135.945,247.953 L 134.949,248.871 L 133.957,250.023 L 133,251.324 L 132.082,252.859 L 131.164,254.582 L 130.324,256.574 L 129.52,258.758"
-   id="path1152" />
-</clipPath>
-<g
-   id="g1154"> 
-</g>
-
-<clipPath
-   id="clippath57"> 	<path
-   d="M 148.734,248.711 L 148.734,248.711 L 147.164,247.867 L 145.746,247.371 L 144.445,247.258 L 143.258,247.449 L 142.227,247.906 L 141.23,248.598 L 140.391,249.48 L 139.586,250.555 L 138.895,251.742 L 138.246,253.008 L 137.672,254.348 L 137.141,255.687 L 136.602,256.988 L 136.105,258.254 L 135.648,259.402 L 135.191,260.437 L 135.191,260.437 L 135.723,260.516 L 136.184,260.625 L 136.605,260.707 L 137.027,260.82 L 137.449,260.934 L 137.906,261.051 L 138.406,261.125 L 138.977,261.238 L 138.977,261.238 L 139.477,260.203 L 139.934,259.168 L 140.395,258.176 L 140.852,257.215 L 141.313,256.258 L 141.809,255.379 L 142.309,254.496 L 142.801,253.691 L 143.379,252.887 L 143.988,252.16 L 144.602,251.473 L 145.289,250.82 L 146.059,250.203 L 146.859,249.668 L 147.777,249.168 L 148.734,248.711"
-   id="path1161" />
-</clipPath>
-<g
-   id="g1163"> 
-</g>
-
-<clipPath
-   id="clippath58"> 	<path
-   d="M 153.484,250.086 L 153.484,250.086 L 152.066,249.32 L 150.727,248.937 L 149.465,248.863 L 148.238,249.051 L 147.129,249.516 L 146.059,250.203 L 145.063,251.047 L 144.141,252.047 L 143.301,253.195 L 142.496,254.383 L 141.773,255.609 L 141.121,256.871 L 140.508,258.137 L 139.973,259.285 L 139.516,260.398 L 139.094,261.355 L 139.094,261.355 L 139.668,261.469 L 140.168,261.582 L 140.629,261.695 L 141.047,261.773 L 141.508,261.887 L 141.969,262.004 L 142.504,262.078 L 143.117,262.195 L 143.117,262.195 L 143.805,260.66 L 144.492,259.242 L 145.141,257.941 L 145.793,256.754 L 146.406,255.68 L 146.98,254.723 L 147.59,253.883 L 148.164,253.074 L 148.777,252.422 L 149.391,251.848 L 150,251.352 L 150.652,250.93 L 151.305,250.621 L 151.988,250.352 L 152.723,250.199 L 153.484,250.086"
-   id="path1170" />
-</clipPath>
-<g
-   id="g1172"> 
-</g>
-
-<clipPath
-   id="clippath59"> 	<path
-   d="M 157.086,251.113 L 157.086,251.113 L 155.707,250.465 L 154.402,250.156 L 153.18,250.16 L 151.988,250.391 L 150.918,250.852 L 149.887,251.504 L 148.93,252.348 L 148.012,253.305 L 147.207,254.379 L 146.441,255.527 L 145.719,256.715 L 145.102,257.902 L 144.492,259.09 L 143.992,260.238 L 143.539,261.273 L 143.117,262.234 L 143.117,262.234 L 143.578,262.348 L 143.996,262.461 L 144.418,262.535 L 144.801,262.652 L 145.223,262.73 L 145.645,262.805 L 146.105,262.918 L 146.602,262.992 L 146.602,262.992 L 146.832,262.23 L 147.176,261.387 L 147.594,260.543 L 148.094,259.625 L 148.629,258.707 L 149.277,257.785 L 149.926,256.863 L 150.656,255.945 L 151.418,255.105 L 152.223,254.258 L 153.027,253.492 L 153.832,252.84 L 154.672,252.227 L 155.477,251.73 L 156.281,251.348 L 157.086,251.113"
-   id="path1179" />
-</clipPath>
-<g
-   id="g1181"> 
-</g>
-
-<clipPath
-   id="clippath60"> 	<path
-   d="M 161.414,252.223 L 161.414,252.223 L 159.996,251.461 L 158.617,251.113 L 157.238,251.152 L 155.938,251.539 L 154.672,252.152 L 153.449,253.031 L 152.297,254.066 L 151.23,255.215 L 150.234,256.445 L 149.352,257.707 L 148.555,258.934 L 147.902,260.121 L 147.367,261.156 L 146.945,262.035 L 146.715,262.687 L 146.602,263.07 L 146.602,263.07 L 147.176,263.184 L 147.672,263.301 L 148.172,263.414 L 148.672,263.531 L 149.168,263.645 L 149.629,263.719 L 150.125,263.797 L 150.621,263.871 L 150.621,263.871 L 150.969,263.223 L 151.352,262.418 L 151.809,261.535 L 152.348,260.613 L 152.918,259.582 L 153.531,258.547 L 154.176,257.551 L 154.867,256.516 L 155.598,255.555 L 156.363,254.676 L 157.164,253.871 L 157.969,253.219 L 158.809,252.684 L 159.656,252.34 L 160.531,252.184 L 161.414,252.223"
-   id="path1188" />
-</clipPath>
-<g
-   id="g1190"> 
-</g>
-
-<clipPath
-   id="clippath61"> 	<path
-   d="M 164.555,253.445 L 164.555,253.445 L 163.289,252.605 L 162.066,252.145 L 160.914,252.031 L 159.766,252.223 L 158.695,252.684 L 157.66,253.375 L 156.703,254.219 L 155.789,255.254 L 154.945,256.363 L 154.141,257.551 L 153.414,258.777 L 152.727,260.004 L 152.152,261.152 L 151.617,262.227 L 151.199,263.145 L 150.816,263.91 L 150.816,263.91 L 151.273,263.988 L 151.656,264.102 L 152,264.215 L 152.309,264.328 L 152.656,264.445 L 152.961,264.559 L 153.266,264.637 L 153.609,264.711 L 153.609,264.711 L 153.953,263.754 L 154.375,262.797 L 154.797,261.875 L 155.258,260.957 L 155.793,260.039 L 156.324,259.195 L 156.938,258.352 L 157.59,257.547 L 158.277,256.781 L 159.039,256.094 L 159.805,255.477 L 160.648,254.902 L 161.57,254.402 L 162.488,253.984 L 163.484,253.676 L 164.555,253.445"
-   id="path1197" />
-</clipPath>
-<g
-   id="g1199"> 
-</g>
-
-<clipPath
-   id="clippath62"> 	<path
-   d="M 168.539,254.363 L 168.539,254.363 L 167.426,253.941 L 166.316,253.676 L 165.168,253.598 L 164.094,253.676 L 162.984,253.906 L 161.953,254.25 L 160.918,254.789 L 159.883,255.441 L 158.926,256.207 L 158.012,257.129 L 157.129,258.121 L 156.285,259.234 L 155.484,260.461 L 154.797,261.801 L 154.105,263.219 L 153.535,264.711 L 153.535,264.711 L 154.035,264.789 L 154.531,264.863 L 155.031,264.98 L 155.527,265.133 L 156.023,265.246 L 156.523,265.402 L 157.02,265.516 L 157.52,265.59 L 157.52,265.59 L 157.859,264.746 L 158.203,263.867 L 158.551,263.023 L 158.895,262.141 L 159.316,261.301 L 159.734,260.492 L 160.234,259.652 L 160.77,258.887 L 161.418,258.156 L 162.105,257.43 L 162.91,256.777 L 163.789,256.164 L 164.785,255.629 L 165.898,255.129 L 167.16,254.707 L 168.539,254.363"
-   id="path1206" />
-</clipPath>
-<g
-   id="g1208"> 
-</g>
-
-<clipPath
-   id="clippath63"> 	<path
-   d="M 174.207,255.699 L 174.207,255.699 L 172.754,255.09 L 171.293,254.703 L 169.957,254.516 L 168.613,254.477 L 167.352,254.668 L 166.125,255.016 L 164.977,255.512 L 163.867,256.164 L 162.875,256.969 L 161.879,257.887 L 160.996,258.926 L 160.156,260.074 L 159.395,261.34 L 158.738,262.676 L 158.129,264.059 L 157.594,265.551 L 157.594,265.551 L 158.051,265.629 L 158.512,265.703 L 159.047,265.781 L 159.551,265.855 L 160.082,265.934 L 160.621,266.008 L 161.156,266.086 L 161.691,266.16 L 161.691,266.16 L 161.961,265.09 L 162.344,264.094 L 162.762,263.098 L 163.297,262.141 L 163.871,261.258 L 164.523,260.414 L 165.211,259.609 L 165.977,258.883 L 166.82,258.191 L 167.734,257.617 L 168.695,257.078 L 169.688,256.617 L 170.762,256.273 L 171.871,255.969 L 173.02,255.777 L 174.207,255.699"
-   id="path1215" />
-</clipPath>
-<g
-   id="g1217"> 
-</g>
-
-<clipPath
-   id="clippath64"> 	<path
-   d="M 177,256 L 177,256 L 175.699,255.809 L 174.438,255.699 L 173.176,255.738 L 171.949,255.891 L 170.723,256.199 L 169.574,256.582 L 168.465,257.082 L 167.391,257.695 L 166.395,258.422 L 165.441,259.266 L 164.598,260.184 L 163.793,261.219 L 163.105,262.367 L 162.496,263.594 L 161.996,264.934 L 161.617,266.355 L 161.617,266.355 L 162.078,266.391 L 162.461,266.426 L 162.84,266.504 L 163.223,266.582 L 163.609,266.656 L 163.988,266.734 L 164.449,266.848 L 164.945,266.926 L 164.945,266.926 L 165.598,265.812 L 166.211,264.738 L 166.742,263.781 L 167.242,262.828 L 167.777,261.984 L 168.277,261.18 L 168.773,260.414 L 169.348,259.723 L 169.957,259.07 L 170.648,258.496 L 171.414,257.961 L 172.258,257.461 L 173.25,257.039 L 174.324,256.656 L 175.586,256.309 L 177,256"
-   id="path1224" />
-</clipPath>
-<g
-   id="g1226"> 
-</g>
-
-<clipPath
-   id="clippath65"> 	<path
-   d="M 183.09,256.801 L 183.09,256.801 L 181.176,256.344 L 179.375,256.078 L 177.73,256 L 176.199,256.156 L 174.781,256.461 L 173.48,256.922 L 172.293,257.496 L 171.219,258.266 L 170.188,259.109 L 169.273,260.066 L 168.426,261.102 L 167.625,262.215 L 166.898,263.363 L 166.211,264.59 L 165.598,265.812 L 164.984,267.078 L 164.984,267.078 L 165.293,267.113 L 165.715,267.152 L 166.172,267.27 L 166.672,267.344 L 167.168,267.461 L 167.633,267.574 L 168.051,267.609 L 168.395,267.648 L 168.395,267.648 L 168.969,266.5 L 169.582,265.465 L 170.27,264.469 L 170.996,263.551 L 171.762,262.668 L 172.566,261.863 L 173.445,261.137 L 174.363,260.445 L 175.32,259.832 L 176.316,259.258 L 177.348,258.758 L 178.418,258.262 L 179.531,257.84 L 180.68,257.457 L 181.867,257.109 L 183.09,256.801"
-   id="path1233" />
-</clipPath>
-<g
-   id="g1235"> 
-</g>
-
-<clipPath
-   id="clippath66"> 	<path
-   d="M 186.727,257.18 L 186.727,257.18 L 185.66,256.988 L 184.547,256.953 L 183.32,256.992 L 182.059,257.184 L 180.793,257.453 L 179.492,257.84 L 178.191,258.336 L 176.887,258.949 L 175.59,259.676 L 174.363,260.523 L 173.18,261.441 L 172.031,262.477 L 170.996,263.629 L 170.039,264.852 L 169.199,266.195 L 168.473,267.648 L 168.473,267.648 L 169.008,267.687 L 169.543,267.766 L 170.082,267.879 L 170.617,267.992 L 171.074,268.105 L 171.461,268.223 L 171.766,268.258 L 171.957,268.223 L 171.957,268.223 L 172.723,267.762 L 173.488,267.227 L 174.289,266.613 L 175.133,265.922 L 175.977,265.195 L 176.855,264.426 L 177.773,263.66 L 178.691,262.855 L 179.648,262.051 L 180.605,261.242 L 181.602,260.441 L 182.598,259.711 L 183.629,258.984 L 184.625,258.332 L 185.695,257.719 L 186.727,257.18"
-   id="path1242" />
-</clipPath>
-<g
-   id="g1244"> 
-</g>
-
-<clipPath
-   id="clippath67"> 	<path
-   d="M 191.824,258.633 L 191.824,258.633 L 190.867,257.676 L 189.832,257.105 L 188.758,256.871 L 187.648,256.949 L 186.5,257.258 L 185.277,257.832 L 184.051,258.602 L 182.75,259.48 L 181.449,260.555 L 180.109,261.664 L 178.77,262.855 L 177.43,264.043 L 176.051,265.23 L 174.676,266.344 L 173.297,267.379 L 171.918,268.301 L 171.918,268.301 L 172.34,268.371 L 172.84,268.41 L 173.449,268.453 L 174.063,268.488 L 174.711,268.527 L 175.363,268.527 L 175.941,268.527 L 176.438,268.523 L 176.438,268.523 L 177.473,267.758 L 178.465,266.953 L 179.461,266.148 L 180.379,265.305 L 181.297,264.5 L 182.18,263.695 L 183.059,262.891 L 183.938,262.121 L 184.855,261.434 L 185.734,260.781 L 186.656,260.207 L 187.609,259.707 L 188.605,259.285 L 189.641,258.941 L 190.715,258.746 L 191.824,258.633"
-   id="path1251" />
-</clipPath>
-<g
-   id="g1253"> 
-</g>
-
-<clipPath
-   id="clippath68"> 	<path
-   d="M 195.656,259.09 L 195.656,259.09 L 194.043,258.707 L 192.551,258.555 L 191.137,258.633 L 189.793,258.902 L 188.531,259.363 L 187.305,259.937 L 186.121,260.668 L 184.973,261.473 L 183.859,262.391 L 182.754,263.312 L 181.68,264.309 L 180.57,265.305 L 179.461,266.262 L 178.352,267.223 L 177.164,268.062 L 175.98,268.871 L 175.98,268.871 L 176.359,268.906 L 176.855,268.984 L 177.434,269.059 L 178.012,269.098 L 178.582,269.176 L 179.082,269.246 L 179.461,269.289 L 179.695,269.328 L 179.695,269.328 L 180.383,269.324 L 181.07,269.137 L 181.797,268.789 L 182.563,268.293 L 183.328,267.676 L 184.172,266.949 L 185.051,266.145 L 185.969,265.301 L 186.93,264.418 L 187.961,263.5 L 189.07,262.617 L 190.219,261.773 L 191.48,260.969 L 192.781,260.238 L 194.16,259.59 L 195.656,259.09"
-   id="path1260" />
-</clipPath>
-<g
-   id="g1262"> 
-</g>
-
-<clipPath
-   id="clippath69"> 	<path
-   d="M 200.48,260.426 L 200.48,260.426 L 199.063,259.621 L 197.566,259.281 L 196.113,259.281 L 194.621,259.59 L 193.129,260.164 L 191.633,260.969 L 190.18,261.926 L 188.766,262.961 L 187.426,264.113 L 186.121,265.262 L 184.859,266.336 L 183.711,267.332 L 182.68,268.176 L 181.723,268.824 L 180.879,269.211 L 180.156,269.324 L 180.156,269.324 L 180.766,269.402 L 181.418,269.516 L 182.145,269.629 L 182.91,269.746 L 183.676,269.82 L 184.441,269.934 L 185.168,269.973 L 185.824,270.012 L 185.824,270.012 L 186.895,269.207 L 187.852,268.441 L 188.73,267.672 L 189.57,266.945 L 190.336,266.215 L 191.063,265.488 L 191.828,264.797 L 192.555,264.145 L 193.285,263.535 L 194.086,262.957 L 194.926,262.422 L 195.848,261.926 L 196.844,261.465 L 197.914,261.082 L 199.141,260.734 L 200.48,260.426"
-   id="path1269" />
-</clipPath>
-<g
-   id="g1271"> 
-</g>
-
-<clipPath
-   id="clippath70"> 	<path
-   d="M 107.719,244.719 L 107.719,244.719 L 107.527,244.336 L 107.371,243.918 L 107.223,243.492 L 107.105,243.074 L 106.988,242.613 L 106.875,242.117 L 106.797,241.66 L 106.758,241.16 L 106.719,240.699 L 106.684,240.203 L 106.684,239.703 L 106.719,239.242 L 106.754,238.785 L 106.836,238.328 L 106.949,237.863 L 107.063,237.445 L 107.063,237.445 L 106.449,238.25 L 105.992,239.133 L 105.648,239.973 L 105.457,240.852 L 105.383,241.773 L 105.383,242.691 L 105.496,243.609 L 105.691,244.531 L 105.918,245.449 L 106.227,246.332 L 106.57,247.211 L 106.914,248.09 L 107.297,248.93 L 107.645,249.773 L 107.992,250.539 L 108.336,251.305 L 108.336,251.305 L 108.262,251.152 L 108.223,250.883 L 108.18,250.617 L 108.18,250.273 L 108.145,249.852 L 108.145,249.43 L 108.145,248.969 L 108.145,248.473 L 108.105,247.973 L 108.105,247.477 L 108.066,246.941 L 108.027,246.445 L 107.988,245.984 L 107.91,245.523 L 107.836,245.102 L 107.719,244.719"
-   id="path1278" />
-</clipPath>
-<g
-   id="g1280"> 
-</g>
-
-<clipPath
-   id="clippath71"> 	<path
-   d="M 96.0469,260.621 L 96.0469,260.621 L 96.7773,260.199 L 97.5078,259.738 L 98.1953,259.316 L 98.8828,258.895 L 99.5313,258.512 L 100.184,258.09 L 100.801,257.707 L 101.41,257.285 L 102.063,256.902 L 102.668,256.52 L 103.285,256.098 L 103.938,255.715 L 104.547,255.328 L 105.203,254.988 L 105.887,254.602 L 106.578,254.219 L 106.578,254.219 L 105.969,254.828 L 105.352,255.445 L 104.738,256.055 L 104.129,256.633 L 103.477,257.242 L 102.828,257.781 L 102.176,258.32 L 101.488,258.816 L 100.836,259.277 L 100.148,259.66 L 99.4961,260.008 L 98.8086,260.273 L 98.1211,260.504 L 97.4297,260.617 L 96.7383,260.656 L 96.0469,260.621"
-   id="path1287" />
-</clipPath>
-<g
-   id="g1289"> 
-</g>
-
-<clipPath
-   id="clippath72"> 	<path
-   d="M 101.746,245.297 L 101.746,245.297 L 102.281,245.605 L 102.781,245.949 L 103.277,246.293 L 103.738,246.637 L 104.199,246.98 L 104.617,247.363 L 105.039,247.785 L 105.465,248.168 L 105.848,248.59 L 106.23,249.012 L 106.613,249.43 L 106.957,249.891 L 107.34,250.309 L 107.684,250.77 L 108.031,251.23 L 108.375,251.687 L 108.375,251.687 L 108.223,251.191 L 108.031,250.691 L 107.84,250.156 L 107.609,249.621 L 107.379,249.086 L 107.113,248.586 L 106.801,248.09 L 106.457,247.594 L 106.074,247.133 L 105.613,246.754 L 105.117,246.367 L 104.578,246.023 L 103.969,245.754 L 103.316,245.527 L 102.551,245.371 L 101.746,245.297"
-   id="path1296" />
-</clipPath>
-<g
-   id="g1298"> 
-</g>
-
-<clipPath
-   id="clippath73"> 	<path
-   d="M 107.449,240.699 L 107.449,240.699 L 107.602,241.465 L 107.715,242.23 L 107.871,242.996 L 107.984,243.684 L 108.063,244.414 L 108.176,245.102 L 108.258,245.793 L 108.371,246.48 L 108.445,247.168 L 108.563,247.859 L 108.637,248.512 L 108.758,249.199 L 108.871,249.891 L 108.988,250.578 L 109.137,251.27 L 109.293,251.992 L 109.293,251.992 L 109.371,251.152 L 109.484,250.348 L 109.563,249.504 L 109.637,248.664 L 109.676,247.859 L 109.715,247.051 L 109.672,246.246 L 109.637,245.484 L 109.559,244.719 L 109.441,244.031 L 109.246,243.34 L 109.02,242.687 L 108.75,242.113 L 108.367,241.578 L 107.945,241.117 L 107.449,240.699"
-   id="path1305" />
-</clipPath>
-<g
-   id="g1307"> 
-</g>
-
-<clipPath
-   id="clippath74"> 	<path
-   d="M 103.348,239.441 L 103.348,239.441 L 102.656,240.09 L 102.238,240.816 L 102.051,241.582 L 102.012,242.387 L 102.164,243.191 L 102.473,244.035 L 102.895,244.879 L 103.395,245.719 L 103.969,246.523 L 104.578,247.328 L 105.23,248.09 L 105.883,248.781 L 106.496,249.469 L 107.031,250.043 L 107.492,250.582 L 107.879,250.996 L 107.879,250.996 L 107.801,249.852 L 107.645,248.855 L 107.453,248.012 L 107.148,247.246 L 106.844,246.598 L 106.457,246.023 L 106.074,245.488 L 105.652,244.988 L 105.27,244.492 L 104.844,243.996 L 104.461,243.457 L 104.156,242.844 L 103.848,242.156 L 103.617,241.391 L 103.422,240.473 L 103.348,239.441"
-   id="path1314" />
-</clipPath>
-<g
-   id="g1316"> 
-</g>
-
-<clipPath
-   id="clippath75"> 	<path
-   d="M 108.262,251.687 L 108.262,251.687 L 108.262,250.883 L 108.297,250.117 L 108.332,249.355 L 108.371,248.586 L 108.41,247.859 L 108.484,247.133 L 108.563,246.406 L 108.637,245.715 L 108.754,245.023 L 108.867,244.297 L 109.055,243.609 L 109.211,242.918 L 109.402,242.23 L 109.668,241.539 L 109.898,240.852 L 110.203,240.16 L 110.203,240.16 L 109.094,241.234 L 108.176,242.27 L 107.527,243.227 L 107.07,244.148 L 106.762,245.027 L 106.609,245.832 L 106.57,246.637 L 106.648,247.363 L 106.844,248.051 L 107.031,248.703 L 107.301,249.316 L 107.57,249.852 L 107.801,250.387 L 108.031,250.848 L 108.18,251.305 L 108.262,251.687"
-   id="path1323" />
-</clipPath>
-<g
-   id="g1325"> 
-</g>
-
-<clipPath
-   id="clippath76"> 	<path
-   d="M 97.0391,254.34 L 97.0391,254.34 L 97.6523,254.453 L 98.2695,254.57 L 98.8789,254.645 L 99.4922,254.719 L 100.102,254.758 L 100.719,254.797 L 101.332,254.797 L 101.906,254.797 L 102.52,254.758 L 103.094,254.758 L 103.707,254.68 L 104.281,254.641 L 104.895,254.602 L 105.469,254.527 L 106.082,254.445 L 106.656,254.371 L 106.656,254.371 L 106.156,254.602 L 105.66,254.793 L 105.121,255.023 L 104.586,255.215 L 104.012,255.406 L 103.434,255.559 L 102.824,255.715 L 102.215,255.793 L 101.602,255.832 L 100.953,255.832 L 100.301,255.793 L 99.6445,255.641 L 98.9922,255.449 L 98.3438,255.18 L 97.6953,254.801 L 97.0391,254.34"
-   id="path1332" />
-</clipPath>
-<g
-   id="g1334"> 
-</g>
-
-<clipPath
-   id="clippath77"> 	<path
-   d="M 100.605,257.437 L 100.605,257.437 L 100.145,257.516 L 99.7266,257.594 L 99.2656,257.707 L 98.8086,257.824 L 98.3438,258.016 L 97.8906,258.168 L 97.4688,258.359 L 97.0078,258.59 L 96.5859,258.82 L 96.1641,259.086 L 95.7852,259.359 L 95.3984,259.625 L 95.0547,259.93 L 94.7461,260.238 L 94.4453,260.547 L 94.1719,260.891 L 94.1719,260.891 L 94.4414,259.973 L 94.8633,259.164 L 95.3594,258.477 L 95.9727,257.824 L 96.6602,257.289 L 97.4297,256.789 L 98.2695,256.367 L 99.1523,256.023 L 100.07,255.715 L 100.988,255.41 L 101.945,255.176 L 102.902,254.949 L 103.859,254.754 L 104.777,254.566 L 105.621,254.41 L 106.461,254.219 L 106.461,254.219 L 106.043,254.371 L 105.469,254.676 L 104.777,255.141 L 103.938,255.637 L 103.094,256.172 L 102.215,256.672 L 101.371,257.133 L 100.605,257.437"
-   id="path1341" />
-</clipPath>
-<g
-   id="g1343"> 
-</g>
-
-<clipPath
-   id="clippath78"> 	<path
-   d="M 98.8477,264.297 L 98.8477,264.297 L 98.5039,263.414 L 98.3867,262.57 L 98.5039,261.73 L 98.8086,260.965 L 99.2656,260.234 L 99.8789,259.508 L 100.605,258.816 L 101.41,258.203 L 102.254,257.59 L 103.133,257.055 L 104.051,256.516 L 104.934,256.055 L 105.734,255.637 L 106.504,255.25 L 107.152,254.906 L 107.648,254.598 L 107.648,254.598 L 107.117,255.711 L 106.578,256.629 L 106.008,257.359 L 105.469,258.012 L 104.895,258.508 L 104.32,258.969 L 103.746,259.312 L 103.172,259.66 L 102.602,260.004 L 102.023,260.387 L 101.453,260.77 L 100.914,261.23 L 100.379,261.801 L 99.8438,262.492 L 99.3477,263.301 L 98.8477,264.297"
-   id="path1350" />
-</clipPath>
-<g
-   id="g1352"> 
-</g>
-
-<clipPath
-   id="clippath79"> 	<path
-   d="M 108.492,254.863 L 108.492,254.863 L 108.07,255.52 L 107.652,256.172 L 107.23,256.82 L 106.852,257.434 L 106.504,258.047 L 106.16,258.695 L 105.816,259.309 L 105.512,259.926 L 105.207,260.578 L 104.938,261.227 L 104.668,261.84 L 104.438,262.488 L 104.246,263.18 L 104.055,263.832 L 103.902,264.52 L 103.75,265.25 L 103.75,265.25 L 103.367,263.797 L 103.176,262.531 L 103.137,261.383 L 103.25,260.387 L 103.477,259.543 L 103.824,258.777 L 104.242,258.125 L 104.703,257.59 L 105.238,257.09 L 105.777,256.668 L 106.348,256.324 L 106.887,256.016 L 107.383,255.711 L 107.844,255.445 L 108.184,255.137 L 108.492,254.863"
-   id="path1359" />
-</clipPath>
-<g
-   id="g1361"> 
-</g>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<flowRoot
-   xml:space="preserve"
-   id="flowRoot2898"
-   transform="matrix(0.3776217,0,0,0.3776217,94.044679,45.940478)"
-   style="fill:url(#linearGradient3669);fill-opacity:1"><flowRegion
-     id="flowRegion2900"
-     style="fill:url(#linearGradient9226);fill-opacity:1"><rect
-       id="rect2902"
-       width="132.38824"
-       height="126.51618"
-       x="13.879412"
-       y="32.076469"
-       style="fill:url(#linearGradient9228);fill-opacity:1" /></flowRegion><flowPara
-     id="flowPara2904"
-     style="fill:url(#linearGradient9230);fill-opacity:1">1010100101010101011010101110101011101011101010111101011100101011101011010011000010101010101111011000110101010101100101110111010110011101</flowPara></flowRoot><path
-   style="fill:url(#linearGradient3201);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient5155);stroke-width:1.27600002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-   d="M 120.77778,62.052336 C 151.84292,16.081843 187.99543,38.077582 188.24589,38.743884 L 190.59972,32.295271 L 196.28191,51.75545 L 177.29362,48.14096 L 181.99895,45.132138 C 165.68448,34.231278 142.30462,47.848087 130.18353,69.108155 L 120.77778,62.052336 z "
-   id="path2190"
-   sodipodi:nodetypes="cccccccc" /><text
-   xml:space="preserve"
-   style="font-size:45.0126915px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
-   x="131.8634"
-   y="92.587715"
-   id="text4638"><tspan
-     sodipodi:role="line"
-     id="tspan4640"
-     x="131.8634"
-     y="92.587715">&lt;Apache Tika/&gt;</tspan></text>
-</g></svg>
diff --git a/trunk/src/site/resources/tikaNoText.svg b/trunk/src/site/resources/tikaNoText.svg
deleted file mode 100644
index 1ebadbd..0000000
--- a/trunk/src/site/resources/tikaNoText.svg
+++ /dev/null
@@ -1,5305 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You 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.
--->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="363px"
-   height="94px"
-   viewBox="82px 238px 363px 94px"
-   id="svg2"
-   sodipodi:version="0.32"
-   inkscape:version="0.45.1"
-   sodipodi:docname="tikaNoText.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   sodipodi:docbase="C:\src\tika\trunk\src\site\resources"
-   inkscape:export-filename="C:\Users\Jukka Zitting\Desktop\tikaNoText16.png"
-   inkscape:export-xdpi="27.52"
-   inkscape:export-ydpi="27.52">
-  <metadata
-     id="metadata1566">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs1564">
-    <linearGradient
-       id="XMLID_1_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3662.4312"
-       y1="-3617.1401"
-       x2="-3663.4963"
-       y2="-3588.9297"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop173" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop175" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop177" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop179" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop181" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop183" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop185" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop187" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_2_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3672.1465"
-       y1="-3607.502"
-       x2="-3673.0225"
-       y2="-3584.3003"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop192" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop194" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop196" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop198" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop200" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop202" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop204" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop206" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_3_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3681.2422"
-       y1="-3614.8345"
-       x2="-3682.1765"
-       y2="-3590.0845"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop211" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop213" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop215" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop217" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop219" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop221" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop223" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop225" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_4_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3689.5493"
-       y1="-3608.1592"
-       x2="-3690.4253"
-       y2="-3584.9575"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop230" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop232" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop234" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop236" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop238" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop240" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop242" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop244" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_5_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3699.7769"
-       y1="-3613.4175"
-       x2="-3700.6736"
-       y2="-3589.6692"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop249" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop251" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop253" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop255" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop257" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop259" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop261" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop263" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_6_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3706.9673"
-       y1="-3608.8169"
-       x2="-3707.8433"
-       y2="-3585.6152"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop268" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop270" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop272" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop274" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop276" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop278" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop280" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop282" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_7_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3716.0044"
-       y1="-3611.9541"
-       x2="-3716.7644"
-       y2="-3591.8245"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop287" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop289" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop291" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop293" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop295" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop297" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop299" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop301" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_8_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3725.0508"
-       y1="-3609.4995"
-       x2="-3725.9268"
-       y2="-3586.2979"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop306" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop308" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop310" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop312" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop314" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop316" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop318" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop320" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_9_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3733.1665"
-       y1="-3613.2212"
-       x2="-3733.397"
-       y2="-3602.4053"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop325" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop327" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop329" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop331" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop333" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop335" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_10_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3742.7129"
-       y1="-3619.499"
-       x2="-3739.1846"
-       y2="-3596.0273"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop340" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop342" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop344" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop346" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop348" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop350" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_11_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3747.291"
-       y1="-3613.5225"
-       x2="-3747.5215"
-       y2="-3602.7065"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop355" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop357" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop359" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop361" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop363" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop365" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_12_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3756.9526"
-       y1="-3617.3584"
-       x2="-3753.4243"
-       y2="-3593.8867"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop370" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop372" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop374" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop376" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop378" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop380" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_13_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3759.7539"
-       y1="-3613.7876"
-       x2="-3759.9844"
-       y2="-3602.9717"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop385" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop387" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop389" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop391" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop393" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop395" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_14_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3763.1528"
-       y1="-3613.8604"
-       x2="-3763.3833"
-       y2="-3603.0444"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop400" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop402" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop404" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop406" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop408" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop410" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_15_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3766.9253"
-       y1="-3606.5742"
-       x2="-3767.0735"
-       y2="-3599.615"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop415" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop417" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop419" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop421" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop423" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop425" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_16_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3767.0049"
-       y1="-3613.9424"
-       x2="-3767.2354"
-       y2="-3603.1265"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop430" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop432" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop434" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop436" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop438" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop440" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_17_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3664.459"
-       y1="-3609.6206"
-       x2="-3674.479"
-       y2="-3642.6406"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop445" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop447" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop449" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop451" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop453" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop455" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop457" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop459" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_18_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3679.1553"
-       y1="-3625.2759"
-       x2="-3697.104"
-       y2="-3651.5425"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop464" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop466" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop468" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop470" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop472" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop474" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop476" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop478" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_19_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3680.7471"
-       y1="-3604.6782"
-       x2="-3690.7671"
-       y2="-3637.6982"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop483" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop485" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop487" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop489" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop491" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop493" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop495" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop497" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_20_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3693.1763"
-       y1="-3615.6953"
-       x2="-3711.125"
-       y2="-3641.9619"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop502" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop504" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop506" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop508" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop510" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop512" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop514" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop516" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_21_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3698.873"
-       y1="-3599.1777"
-       x2="-3708.8931"
-       y2="-3632.1978"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop521" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop523" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop525" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop527" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop529" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop531" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop533" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop535" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_22_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3707.5356"
-       y1="-3605.8828"
-       x2="-3725.4844"
-       y2="-3632.1494"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop540" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop542" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop544" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop546" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop548" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop550" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop552" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop554" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_23_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3718.1577"
-       y1="-3593.3257"
-       x2="-3728.1777"
-       y2="-3626.3457"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop559" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop561" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop563" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop565" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop567" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop569" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop571" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop573" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_24_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3740.3467"
-       y1="-3613.374"
-       x2="-3740.5771"
-       y2="-3602.5581"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop578" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop580" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop582" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop584" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop586" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop588" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_25_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3735.0215"
-       y1="-3620.6553"
-       x2="-3731.4932"
-       y2="-3597.1836"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop593" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop595" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop597" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop599" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop601" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop603" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_26_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3748.5347"
-       y1="-3618.624"
-       x2="-3745.0063"
-       y2="-3595.1523"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop608" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop610" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop612" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop614" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop616" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop618" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_27_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3761.7197"
-       y1="-3616.6421"
-       x2="-3758.1914"
-       y2="-3593.1704"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop623" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop625" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop627" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop629" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop631" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop633" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_28_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3763.478"
-       y1="-3613.8672"
-       x2="-3763.7085"
-       y2="-3603.0513"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop638" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop640" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop642" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop644" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop646" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop648" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_29_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3754.6851"
-       y1="-3613.6797"
-       x2="-3754.9155"
-       y2="-3602.8638"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#F7EE5F"
-         id="stop653" />
-      <stop
-         offset="0.1872"
-         style="stop-color:#F6D65D"
-         id="stop655" />
-      <stop
-         offset="0.3829"
-         style="stop-color:#F4C35B"
-         id="stop657" />
-      <stop
-         offset="0.5198"
-         style="stop-color:#F4BC5A"
-         id="stop659" />
-      <stop
-         offset="0.7816"
-         style="stop-color:#F6DA5D"
-         id="stop661" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop663" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_30_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3511.8975"
-       y1="-3643.6323"
-       x2="-3504.0176"
-       y2="-3620.4302"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop668" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop670" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop672" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop674" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop676" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop678" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop680" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop682" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop684" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_31_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3517.9097"
-       y1="-3641.5903"
-       x2="-3510.0298"
-       y2="-3618.3882"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop689" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop691" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop693" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop695" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop697" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop699" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop701" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop703" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop705" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_32_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3524.9941"
-       y1="-3639.1846"
-       x2="-3517.1143"
-       y2="-3615.9824"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop710" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop712" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop714" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop716" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop718" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop720" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop722" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop724" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop726" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_33_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3532.7456"
-       y1="-3636.5518"
-       x2="-3524.8657"
-       y2="-3613.3496"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop731" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop733" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop735" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop737" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop739" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop741" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop743" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop745" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop747" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_34_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3612.71"
-       y1="-3562.9639"
-       x2="-3607.5464"
-       y2="-3533.6799"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,105.42691,1026.1774)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop752" />
-      <stop
-         offset="0.082"
-         style="stop-color:#711282"
-         id="stop754" />
-      <stop
-         offset="0.211"
-         style="stop-color:#88137F"
-         id="stop756" />
-      <stop
-         offset="0.3709"
-         style="stop-color:#AD167A"
-         id="stop758" />
-      <stop
-         offset="0.5538"
-         style="stop-color:#DF1A73"
-         id="stop760" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#F21B71"
-         id="stop762" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop764" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_35_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3543.3057"
-       y1="-3626.2104"
-       x2="-3540.6792"
-       y2="-3608.2617"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop769" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop771" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop773" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop775" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop777" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop779" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop781" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop783" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop785" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_36_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3551.1382"
-       y1="-3625.064"
-       x2="-3548.5117"
-       y2="-3607.1152"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop790" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop792" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop794" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop796" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop798" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop800" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop802" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop804" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop806" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_37_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3558.2891"
-       y1="-3625.9536"
-       x2="-3554.1504"
-       y2="-3586.3257"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop811" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop813" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop815" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop817" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop819" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop821" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop823" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop825" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop827" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_38_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3568.6143"
-       y1="-3622.5068"
-       x2="-3565.9878"
-       y2="-3604.5581"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop832" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop834" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop836" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop838" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop840" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop842" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop844" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop846" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop848" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_39_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3576.6631"
-       y1="-3624.0347"
-       x2="-3572.5244"
-       y2="-3584.4067"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop853" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop855" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop857" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop859" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop861" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop863" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop865" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop867" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop869" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_40_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3583.9473"
-       y1="-3623.7251"
-       x2="-3582.5107"
-       y2="-3603.1548"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop874" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop876" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop878" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop880" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop882" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop884" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop886" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop888" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop890" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_41_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3591.7266"
-       y1="-3619.7495"
-       x2="-3589.9756"
-       y2="-3592.6074"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop895" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop897" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop899" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop901" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop903" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop905" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop907" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop909" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop911" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_42_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3599.0938"
-       y1="-3619.2744"
-       x2="-3597.3428"
-       y2="-3592.1323"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop916" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop918" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop920" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop922" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop924" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop926" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop928" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop930" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop932" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_43_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3606.6357"
-       y1="-3620.9043"
-       x2="-3602.4971"
-       y2="-3581.2764"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop937" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop939" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop941" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop943" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop945" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop947" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop949" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop951" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop953" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_44_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3616.3291"
-       y1="-3619.8916"
-       x2="-3612.1904"
-       y2="-3580.2637"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop958" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop960" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop962" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop964" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop966" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop968" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop970" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop972" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop974" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_45_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3622.9634"
-       y1="-3614.5537"
-       x2="-3620.3369"
-       y2="-3596.605"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop979" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop981" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop983" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop985" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop987" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop989" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop991" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop993" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop995" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_46_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3631.832"
-       y1="-3618.2729"
-       x2="-3627.6934"
-       y2="-3578.645"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop1000" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop1002" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop1004" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop1006" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop1008" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop1010" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop1012" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1014" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1016" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_47_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3638.7656"
-       y1="-3612.2417"
-       x2="-3636.1392"
-       y2="-3594.293"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop1021" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop1023" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop1025" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop1027" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop1029" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop1031" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop1033" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1035" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1037" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_48_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3647.9785"
-       y1="-3616.5864"
-       x2="-3643.8398"
-       y2="-3576.9585"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop1042" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop1044" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop1046" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop1048" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop1050" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop1052" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop1054" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1056" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1058" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_49_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3655.8188"
-       y1="-3609.7461"
-       x2="-3653.1924"
-       y2="-3591.7974"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#691183"
-         id="stop1063" />
-      <stop
-         offset="0.0485"
-         style="stop-color:#840E73"
-         id="stop1065" />
-      <stop
-         offset="0.125"
-         style="stop-color:#A80A5E"
-         id="stop1067" />
-      <stop
-         offset="0.2057"
-         style="stop-color:#C6064D"
-         id="stop1069" />
-      <stop
-         offset="0.2906"
-         style="stop-color:#DD0340"
-         id="stop1071" />
-      <stop
-         offset="0.3816"
-         style="stop-color:#ED0136"
-         id="stop1073" />
-      <stop
-         offset="0.483"
-         style="stop-color:#F70031"
-         id="stop1075" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1077" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1079" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_50_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3513.0679"
-       y1="-3655.561"
-       x2="-3523.0879"
-       y2="-3688.5811"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1084" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1086" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1088" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1090" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1092" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1094" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1096" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1098" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_51_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3518.1055"
-       y1="-3653.4717"
-       x2="-3529.9253"
-       y2="-3685.4292"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1103" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1105" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1107" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1109" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1111" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1113" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1115" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1117" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_52_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3524.8926"
-       y1="-3651.9727"
-       x2="-3534.9126"
-       y2="-3684.9927"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1122" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1124" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1126" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1128" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1130" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1132" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1134" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1136" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_53_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3531.4272"
-       y1="-3648.5444"
-       x2="-3543.2471"
-       y2="-3680.502"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1141" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1143" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1145" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1147" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1149" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1151" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1153" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1155" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_54_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3540.4351"
-       y1="-3647.2563"
-       x2="-3550.4551"
-       y2="-3680.2764"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1160" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1162" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1164" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1166" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1168" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1170" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1172" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1174" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_55_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3546.5405"
-       y1="-3642.9551"
-       x2="-3558.3604"
-       y2="-3674.9126"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1179" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1181" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1183" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1185" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1187" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1189" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1191" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1193" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_56_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3556.0371"
-       y1="-3642.522"
-       x2="-3566.0571"
-       y2="-3675.542"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1198" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1200" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1202" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1204" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1206" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1208" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1210" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1212" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_57_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3565.9399"
-       y1="-3639.5166"
-       x2="-3575.96"
-       y2="-3672.5366"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1217" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1219" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1221" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1223" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1225" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1227" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1229" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1231" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_58_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3572.1245"
-       y1="-3633.4922"
-       x2="-3583.9443"
-       y2="-3665.4497"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1236" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1238" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1240" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1242" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1244" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1246" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1248" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1250" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_59_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3581.0527"
-       y1="-3634.9307"
-       x2="-3591.0728"
-       y2="-3667.9507"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1255" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1257" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1259" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1261" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1263" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1265" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1267" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1269" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_60_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3586.04"
-       y1="-3628.3457"
-       x2="-3597.8599"
-       y2="-3660.3032"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1274" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1276" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1278" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1280" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1282" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1284" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1286" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1288" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_61_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3595.1567"
-       y1="-3630.6509"
-       x2="-3605.1768"
-       y2="-3663.6709"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1293" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1295" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1297" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1299" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1301" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1303" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1305" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1307" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_62_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3598.8574"
-       y1="-3623.605"
-       x2="-3610.6772"
-       y2="-3655.5625"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1312" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1314" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1316" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1318" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1320" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1322" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1324" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1326" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_63_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3610.3208"
-       y1="-3626.0493"
-       x2="-3620.3408"
-       y2="-3659.0693"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1331" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1333" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1335" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1337" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1339" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1341" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1343" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1345" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_64_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3613.4258"
-       y1="-3618.2168"
-       x2="-3625.2456"
-       y2="-3650.1743"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1350" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1352" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1354" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1356" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1358" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1360" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1362" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1364" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_65_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3625.0215"
-       y1="-3621.5884"
-       x2="-3635.0415"
-       y2="-3654.6084"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1369" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1371" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1373" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1375" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1377" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1379" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1381" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1383" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_66_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3631.4028"
-       y1="-3619.6519"
-       x2="-3641.4229"
-       y2="-3652.6719"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1388" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1390" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1392" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1394" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1396" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1398" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1400" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1402" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_67_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3639.3081"
-       y1="-3617.2529"
-       x2="-3649.3281"
-       y2="-3650.2729"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1407" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1409" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1411" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1413" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1415" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1417" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1419" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1421" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_68_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3644.0654"
-       y1="-3622.0806"
-       x2="-3668.9834"
-       y2="-3650.0459"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1426" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1428" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1430" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1432" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1434" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1436" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1438" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1440" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_69_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3649.6221"
-       y1="-3617.1294"
-       x2="-3674.54"
-       y2="-3645.0947"
-       gradientTransform="matrix(-0.1305911,0.1307877,0.1307877,0.1305911,125.19076,1026.4282)">
-      <stop
-         offset="0"
-         style="stop-color:#500C81"
-         id="stop1445" />
-      <stop
-         offset="0.0374"
-         style="stop-color:#5F0B7A"
-         id="stop1447" />
-      <stop
-         offset="0.1836"
-         style="stop-color:#96075F"
-         id="stop1449" />
-      <stop
-         offset="0.3196"
-         style="stop-color:#C1044A"
-         id="stop1451" />
-      <stop
-         offset="0.4412"
-         style="stop-color:#E0023B"
-         id="stop1453" />
-      <stop
-         offset="0.5441"
-         style="stop-color:#F30032"
-         id="stop1455" />
-      <stop
-         offset="0.6158"
-         style="stop-color:#FA002F"
-         id="stop1457" />
-      <stop
-         offset="1"
-         style="stop-color:#F7EE5F"
-         id="stop1459" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_79_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3586.4019"
-       y1="-3601.3828"
-       x2="-3570.2441"
-       y2="-3549.8223"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1709" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1711" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1713" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1715" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1717" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1719" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1721" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1723" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1725" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1727" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1729" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1731" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_78_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3581.9321"
-       y1="-3602.7837"
-       x2="-3565.7744"
-       y2="-3551.2231"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1682" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1684" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1686" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1688" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1690" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1692" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1694" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1696" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1698" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1700" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1702" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1704" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_77_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3576.8662"
-       y1="-3604.3711"
-       x2="-3560.7085"
-       y2="-3552.8105"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1655" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1657" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1659" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1661" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1663" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1665" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1667" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1669" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1671" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1673" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1675" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1677" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_76_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3577.7891"
-       y1="-3604.082"
-       x2="-3561.6313"
-       y2="-3552.5215"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1628" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1630" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1632" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1634" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1636" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1638" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1640" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1642" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1644" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1646" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1648" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1650" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_75_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3584.2759"
-       y1="-3602.0488"
-       x2="-3568.1182"
-       y2="-3550.4883"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1601" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1603" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1605" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1607" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1609" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1611" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1613" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1615" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1617" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1619" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1621" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1623" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_74_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3578.7671"
-       y1="-3603.7754"
-       x2="-3562.6094"
-       y2="-3552.2148"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1574" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1576" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1578" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1580" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1582" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1584" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1586" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1588" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1590" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1592" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1594" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1596" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_73_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3584.6758"
-       y1="-3601.9238"
-       x2="-3568.5181"
-       y2="-3550.3633"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1547" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1549" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1551" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1553" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1555" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1557" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1559" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1561" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1563" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1565" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1567" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1569" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_72_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3580.1533"
-       y1="-3603.3408"
-       x2="-3563.9956"
-       y2="-3551.7803"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1520" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1522" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1524" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1526" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1528" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1530" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1532" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1534" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1536" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1538" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1540" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1542" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_71_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3578.5146"
-       y1="-3603.8545"
-       x2="-3562.3569"
-       y2="-3552.2939"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1493" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1495" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1497" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1499" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1501" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1503" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1505" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1507" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1509" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1511" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1513" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1515" />
-    </linearGradient>
-    <linearGradient
-       id="XMLID_70_"
-       gradientUnits="userSpaceOnUse"
-       x1="-3581.9316"
-       y1="-3602.7837"
-       x2="-3565.7739"
-       y2="-3551.2231"
-       gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-      <stop
-         offset="0"
-         style="stop-color:#D8E7EB"
-         id="stop1466" />
-      <stop
-         offset="0.0684"
-         style="stop-color:#D0DFE4"
-         id="stop1468" />
-      <stop
-         offset="0.1761"
-         style="stop-color:#B9CAD0"
-         id="stop1470" />
-      <stop
-         offset="0.3096"
-         style="stop-color:#94A7B0"
-         id="stop1472" />
-      <stop
-         offset="0.4622"
-         style="stop-color:#627784"
-         id="stop1474" />
-      <stop
-         offset="0.5537"
-         style="stop-color:#405766"
-         id="stop1476" />
-      <stop
-         offset="0.6113"
-         style="stop-color:#607682"
-         id="stop1478" />
-      <stop
-         offset="0.6983"
-         style="stop-color:#8B9EA8"
-         id="stop1480" />
-      <stop
-         offset="0.7829"
-         style="stop-color:#ADBEC5"
-         id="stop1482" />
-      <stop
-         offset="0.8633"
-         style="stop-color:#C5D5DA"
-         id="stop1484" />
-      <stop
-         offset="0.9376"
-         style="stop-color:#D3E2E7"
-         id="stop1486" />
-      <stop
-         offset="1"
-         style="stop-color:#D8E7EB"
-         id="stop1488" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient2902">
-      <stop
-         style="stop-color:#000000;stop-opacity:1;"
-         offset="0"
-         id="stop2904" />
-      <stop
-         style="stop-color:#000000;stop-opacity:0;"
-         offset="1"
-         id="stop2906" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient5149">
-      <stop
-         style="stop-color:#3cc23c;stop-opacity:1;"
-         offset="0"
-         id="stop5151" />
-      <stop
-         style="stop-color:#b4ffb4;stop-opacity:1;"
-         offset="1"
-         id="stop5153" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient5149"
-       id="linearGradient5155"
-       x1="209.40289"
-       y1="196.93959"
-       x2="402.86024"
-       y2="201.399"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.3124104,-0.1174332,0.1174332,0.3124104,43.759948,18.537169)" />
-    <linearGradient
-       id="linearGradient3195">
-      <stop
-         style="stop-color:#0be254;stop-opacity:1;"
-         offset="0"
-         id="stop3197" />
-      <stop
-         style="stop-color:#ffffff;stop-opacity:1;"
-         offset="1"
-         id="stop3199" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient3195"
-       id="linearGradient3201"
-       x1="372.93762"
-       y1="201.399"
-       x2="191.42549"
-       y2="205.16872"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.3124104,-0.1174332,0.1174332,0.3124104,43.759948,18.537169)" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2902"
-       id="linearGradient2908"
-       x1="-111.49345"
-       y1="98.656258"
-       x2="14.666016"
-       y2="89.682144"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2902"
-       id="linearGradient2914"
-       gradientUnits="userSpaceOnUse"
-       x1="78.814453"
-       y1="146.72023"
-       x2="78.814453"
-       y2="32.644054" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2902"
-       id="linearGradient3669"
-       gradientUnits="userSpaceOnUse"
-       x1="78.814453"
-       y1="194.78421"
-       x2="78.814453"
-       y2="18.507591" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2902"
-       id="linearGradient9226"
-       gradientUnits="userSpaceOnUse"
-       x1="78.814453"
-       y1="194.78421"
-       x2="78.814453"
-       y2="18.507591" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2902"
-       id="linearGradient9228"
-       gradientUnits="userSpaceOnUse"
-       x1="78.814453"
-       y1="194.78421"
-       x2="78.814453"
-       y2="18.507591" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2902"
-       id="linearGradient9230"
-       gradientUnits="userSpaceOnUse"
-       x1="78.814453"
-       y1="194.78421"
-       x2="78.814453"
-       y2="18.507591" />
-  </defs>
-  <sodipodi:namedview
-     inkscape:window-height="764"
-     inkscape:window-width="1264"
-     inkscape:pageshadow="2"
-     inkscape:pageopacity="0.0"
-     guidetolerance="10.0"
-     gridtolerance="10.0"
-     objecttolerance="10.0"
-     borderopacity="1.0"
-     bordercolor="#666666"
-     pagecolor="#ffffff"
-     id="base"
-     inkscape:zoom="5.2984309"
-     inkscape:cx="113.24292"
-     inkscape:cy="23.24562"
-     inkscape:window-x="0"
-     inkscape:window-y="0"
-     inkscape:current-layer="g6" />
-  <title
-     id="title4">generated by pstoedit version:3.45 from Z:/asf_logo_1999.eps</title>
-  <g
-     xml:space="preserve"
-     id="g6"
-     transform="translate(-2.6691177,-22.954412)">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<clipPath
-   id="clippath1"> 	<path
-   d="M 201.762,284.016 L 201.762,284.016 L 200.309,284.512 L 198.891,284.629 L 197.473,284.402 L 196.055,283.828 L 194.676,283.059 L 193.297,282.066 L 191.992,280.922 L 190.691,279.695 L 189.465,278.434 L 188.316,277.168 L 187.203,275.945 L 186.168,274.797 L 185.211,273.84 L 184.328,273.078 L 183.563,272.578 L 182.871,272.348 L 182.871,272.348 L 183.449,272.387 L 184.059,272.422 L 184.75,272.5 L 185.438,272.574 L 186.129,272.652 L 186.82,272.73 L 187.508,272.766 L 188.121,272.844 L 188.121,272.844 L 189.078,273.723 L 189.996,274.566 L 190.801,275.406 L 191.531,276.25 L 192.258,277.051 L 192.949,277.855 L 193.598,278.617 L 194.289,279.348 L 194.98,280.074 L 195.711,280.727 L 196.477,281.375 L 197.355,281.984 L 198.277,282.562 L 199.309,283.098 L 200.461,283.594 L 201.762,284.016"
-   id="path657" />
-</clipPath>
-<path
-   d="M 146.41619,62.696027 C 142.62485,65.569644 129.70379,77.249461 123.31721,81.838063 C 118.18169,85.530297 112.55653,88.526567 107.06272,91.260526 C 105.64199,91.967054 103.02634,93.1178 101.17315,93.67506 C 99.827079,93.854801 97.128165,94.825804 95.80891,94.506847 C 107.56985,90.318569 111.82247,88.150989 123.07148,80.688964 C 127.64352,77.674484 142.56869,64.986455 146.41619,62.696027 z "
-   id="path8874"
-   style="stroke:#000000;stroke-width:0.20699584" /><path
-   d="M 136.08322,75.96456 L 135.84827,76.444287 L 135.52884,76.821806 L 135.12422,77.113635 L 134.63488,77.320749 L 134.10787,77.471469 L 133.52446,77.566277 L 132.92233,77.605399 L 132.30147,77.623884 L 131.69022,77.615944 L 131.0965,77.587142 L 130.52269,77.559544 L 129.98606,77.531729 L 129.51547,77.531972 L 129.11155,77.56102 L 128.80004,77.626292 L 128.57468,77.73983 L 128.72516,77.607097 L 128.88474,77.466238 L 129.07313,77.315738 L 129.26058,77.164773 L 129.44943,77.0143 L 129.6376,76.863585 L 129.81641,76.703506 L 129.9856,76.571758 L 130.43701,76.552809 L 130.8702,76.533371 L 131.27483,76.542489 L 131.66146,76.570577 L 132.03683,76.58881 L 132.40377,76.617369 L 132.75175,76.644745 L 133.10069,76.653861 L 133.44845,76.663222 L 133.78756,76.643787 L 134.13578,76.615231 L 134.5025,76.548532 L 134.86991,76.464317 L 135.2556,76.341686 L 135.65997,76.181138 L 136.08322,75.96456 z "
-   id="path189"
-   style="fill:url(#XMLID_1_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 137.20254,74.749258 L 136.85432,75.230434 L 136.47802,75.625449 L 136.08347,75.94608 L 135.66037,76.199765 L 135.21832,76.379263 L 134.77506,76.501913 L 134.30469,76.595989 L 133.83456,76.634152 L 133.35455,76.662957 L 132.87482,76.65359 L 132.37563,76.62575 L 131.89566,76.598397 L 131.4068,76.579448 L 130.91696,76.561459 L 130.44683,76.562175 L 129.9858,76.590236 L 130.08852,76.505751 L 130.19245,76.401822 L 130.29637,76.317112 L 130.40844,76.223287 L 130.52171,76.128252 L 130.64433,76.04401 L 130.75617,75.949472 L 130.86943,75.856358 L 130.982,75.762036 L 131.10438,75.657889 L 131.22725,75.5734 L 131.34917,75.46972 L 131.4711,75.366015 L 131.59327,75.262087 L 131.70631,75.149042 L 131.82872,75.045852 L 132.04545,75.092174 L 132.30872,75.149067 L 132.62862,75.204972 L 132.96773,75.261373 L 133.35386,75.308188 L 133.74914,75.344902 L 134.16287,75.382355 L 134.57661,75.400589 L 134.99134,75.400589 L 135.39548,75.391965 L 135.79123,75.352841 L 136.14857,75.296443 L 136.47785,75.210994 L 136.76992,75.088833 L 137.014,74.937894 L 137.20259,74.749307 L 137.20254,74.749258 z "
-   id="path208"
-   style="fill:url(#XMLID_2_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 137.98324,73.986796 L 137.77612,74.250536 L 137.56903,74.495078 L 137.34342,74.702441 L 137.08952,74.881494 L 136.82604,75.051407 L 136.53442,75.174036 L 136.22436,75.277225 L 135.86631,75.353061 L 135.48976,75.40993 L 135.08539,75.43895 L 134.64238,75.429344 L 134.17249,75.411082 L 133.64498,75.354439 L 133.08052,75.280049 L 132.47839,75.186224 L 131.81938,75.055192 L 131.97897,74.894617 L 132.1393,74.75351 L 132.30898,74.621273 L 132.47819,74.489525 L 132.6476,74.358491 L 132.81609,74.225543 L 132.9853,74.056343 L 133.16386,73.87778 L 133.46576,73.876824 L 133.76645,73.895795 L 134.05902,73.905159 L 134.36907,73.933 L 134.67027,73.951483 L 134.97124,73.989402 L 135.27219,74.007142 L 135.57458,74.044569 L 135.87505,74.063764 L 136.17601,74.082488 L 136.48631,74.091855 L 136.77885,74.100748 L 137.07933,74.081555 L 137.38073,74.062365 L 137.68143,74.043393 L 137.98324,73.986796 z "
-   id="path227"
-   style="fill:url(#XMLID_3_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 138.7627,73.129575 L 138.67896,73.403388 L 138.51959,73.638103 L 138.29281,73.807768 L 138.00195,73.93064 L 137.6717,74.015131 L 137.28578,74.062167 L 136.88187,74.090722 L 136.43932,74.082564 L 135.99726,74.053764 L 135.53599,74.026878 L 135.09345,73.97935 L 134.66052,73.941922 L 134.2367,73.895379 L 133.85129,73.868028 L 133.50282,73.858441 L 133.20113,73.858686 L 134.30219,72.945284 L 134.56617,72.982247 L 134.83856,73.009872 L 135.10254,73.048746 L 135.36485,73.085461 L 135.62886,73.123379 L 135.90221,73.150978 L 136.16595,73.188186 L 136.43858,73.216497 L 136.71143,73.225366 L 136.99366,73.243602 L 137.26747,73.253922 L 137.55834,73.243356 L 137.84993,73.233992 L 138.15207,73.215044 L 138.45301,73.177594 L 138.7627,73.129575 z "
-   id="path8879"
-   style="fill:url(#XMLID_4_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 140.21128,71.246126 L 140.10759,71.726591 L 139.95783,72.122101 L 139.74182,72.451845 L 139.47784,72.715829 L 139.17688,72.922702 L 138.84811,73.083006 L 138.48115,73.185481 L 138.07652,73.252693 L 137.64408,73.271887 L 137.2008,73.28221 L 136.73955,73.233721 L 136.26892,73.197472 L 135.78916,73.131956 L 135.30006,73.057568 L 134.82008,72.973104 L 134.34922,72.897758 L 134.54673,72.756869 L 134.68759,72.634243 L 134.79104,72.549041 L 134.88535,72.473941 L 134.9792,72.399306 L 135.06392,72.314103 L 135.19565,72.200593 L 135.36485,72.049628 L 135.79804,72.124752 L 136.21131,72.180909 L 136.61666,72.228191 L 137.01191,72.227945 L 137.37886,72.218116 L 137.7367,72.199168 L 138.08443,72.151886 L 138.40482,72.094994 L 138.70552,72.019403 L 138.99759,71.9342 L 139.25128,71.830763 L 139.48673,71.727329 L 139.71257,71.614287 L 139.90096,71.500747 L 140.06991,71.368758 L 140.21128,71.246126 z "
-   id="path265"
-   style="fill:url(#XMLID_5_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 141.02917,70.313512 L 140.7652,70.652841 L 140.49354,70.963863 L 140.19188,71.227133 L 139.88204,71.462558 L 139.57174,71.661492 L 139.23312,71.830692 L 138.89401,71.962436 L 138.53642,72.056978 L 138.16972,72.142398 L 137.80227,72.189681 L 137.41658,72.218237 L 137.02182,72.21799 L 136.6268,72.199267 L 136.22169,72.153187 L 135.80673,72.096789 L 135.393,72.021932 L 135.59099,71.843149 L 135.8166,71.654024 L 136.03236,71.475708 L 136.23972,71.28707 L 136.42833,71.136351 L 136.57809,71.003891 L 136.69115,70.910064 L 136.74729,70.872148 L 136.78521,70.872615 L 136.87904,70.872367 L 137.02976,70.8719 L 137.21815,70.872638 L 137.43463,70.881755 L 137.69811,70.881758 L 137.9808,70.880798 L 138.29111,70.872419 L 138.62036,70.842191 L 138.96788,70.814347 L 139.3077,70.776895 L 139.66504,70.720003 L 140.02192,70.644412 L 140.36993,70.559456 L 140.70928,70.446191 L 141.02917,70.313512 z "
-   id="path284"
-   style="fill:url(#XMLID_6_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 142.25166,69.221573 L 142.04502,69.522765 L 141.8185,69.786745 L 141.53675,70.012811 L 141.23555,70.219931 L 140.89741,70.390085 L 140.54917,70.530457 L 140.18223,70.653088 L 139.78675,70.748116 L 139.40157,70.814592 L 139.00632,70.870523 L 138.61153,70.908689 L 138.21579,70.928131 L 137.82029,70.928618 L 137.44424,70.928864 L 137.08594,70.909892 L 136.73771,70.88183 L 136.85097,70.768561 L 137.00192,70.637285 L 137.16101,70.49593 L 137.32109,70.335846 L 137.4898,70.203119 L 137.65059,70.062479 L 137.78212,69.950168 L 137.90453,69.864724 L 137.92347,69.883672 L 138.00796,69.892319 L 138.18676,69.883917 L 138.42195,69.855114 L 138.71378,69.826336 L 139.05218,69.789374 L 139.42006,69.742094 L 139.79588,69.684517 L 140.19066,69.627157 L 140.58617,69.571471 L 140.96248,69.514826 L 141.31141,69.448106 L 141.63108,69.391485 L 141.90397,69.325474 L 142.11084,69.268364 L 142.25166,69.221573 z "
-   id="path303"
-   style="fill:url(#XMLID_7_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 143.52144,67.931146 L 143.52144,68.232088 L 143.38896,68.495606 L 143.14441,68.740639 L 142.80625,68.948251 L 142.39178,69.136644 L 141.92284,69.287826 L 141.4047,69.428691 L 140.87745,69.542693 L 140.33171,69.63679 L 139.80517,69.71312 L 139.30719,69.77913 L 138.85432,69.817267 L 138.46888,69.864796 L 138.16794,69.883524 L 137.97042,69.893847 L 137.88521,69.903208 L 138.01696,69.790186 L 138.15807,69.666821 L 138.3083,69.534827 L 138.45902,69.404263 L 138.62774,69.271068 L 138.78831,69.129713 L 138.94836,68.989316 L 139.11802,68.838377 L 139.39018,68.772121 L 139.66281,68.70685 L 139.9453,68.648535 L 140.20927,68.593338 L 140.49081,68.535983 L 140.77374,68.497816 L 141.05549,68.441663 L 141.32884,68.393917 L 141.62042,68.346168 L 141.89353,68.299597 L 142.17552,68.243195 L 142.44815,68.195669 L 142.72078,68.129905 L 142.99439,68.063675 L 143.25741,68.00654 L 143.52144,67.931146 z "
-   id="path8884"
-   style="fill:url(#XMLID_8_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 144.48045,67.008161 L 144.37655,67.224864 L 144.24527,67.412759 L 144.09454,67.581713 L 143.90687,67.715132 L 143.69929,67.827215 L 143.46482,67.931636 L 143.19218,68.016127 L 142.89051,68.091716 L 142.55186,68.167308 L 142.18491,68.233316 L 141.78029,68.300036 L 141.33798,68.384772 L 140.84914,68.479089 L 140.32189,68.573386 L 139.75743,68.686649 L 139.14521,68.828497 L 139.31537,68.677556 L 139.50353,68.508607 L 139.66313,68.348524 L 139.83234,68.198051 L 139.98255,68.066062 L 140.10471,67.962626 L 140.18967,67.896889 L 140.2271,67.8772 L 140.27436,67.886565 L 140.38741,67.88681 L 140.54771,67.8772 L 140.76344,67.867839 L 141.02647,67.848645 L 141.32884,67.829922 L 141.63868,67.800872 L 141.98716,67.753834 L 142.33514,67.706307 L 142.69272,67.649661 L 143.03113,67.573823 L 143.37982,67.489115 L 143.69898,67.394553 L 143.99994,67.281754 L 144.26321,67.149517 L 144.48045,67.008161 z "
-   id="path337"
-   style="fill:url(#XMLID_9_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 145.06337,66.217387 L 144.93186,66.517867 L 144.73387,66.790721 L 144.47085,67.018211 L 144.15117,67.206359 L 143.79358,67.3758 L 143.41729,67.507326 L 143.00379,67.621797 L 142.58933,67.696921 L 142.18472,67.763152 L 141.77987,67.810432 L 141.4038,67.848596 L 141.0551,67.857468 L 140.75391,67.877374 L 140.50961,67.876418 L 140.33178,67.886739 L 140.21756,67.886736 L 140.37764,67.745383 L 140.5293,67.613389 L 140.67881,67.482114 L 140.83841,67.35899 L 140.98,67.237542 L 141.13094,67.104836 L 141.29918,66.973067 L 141.45926,66.831714 L 141.6755,66.822351 L 141.9018,66.802421 L 142.1178,66.793301 L 142.35347,66.783718 L 142.59824,66.783716 L 142.83319,66.774353 L 143.07773,66.755409 L 143.32253,66.73572 L 143.55821,66.707906 L 143.79292,66.680058 L 144.02834,66.631846 L 144.24387,66.584806 L 144.47068,66.509682 L 144.67705,66.433846 L 144.87529,66.330654 L 145.06337,66.217387 z "
-   id="path352"
-   style="fill:url(#XMLID_10_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 145.62687,65.125916 L 145.5705,65.445344 L 145.46777,65.717486 L 145.31729,65.943797 L 145.13852,66.141797 L 144.91267,66.293228 L 144.66741,66.424262 L 144.39503,66.528163 L 144.09458,66.603508 L 143.79292,66.660401 L 143.45455,66.698318 L 143.12456,66.726875 L 142.78569,66.746069 L 142.44778,66.765288 L 142.10845,66.765288 L 141.77942,66.77514 L 141.45857,66.793621 L 141.57234,66.700015 L 141.7041,66.605697 L 141.83538,66.492653 L 141.97651,66.370736 L 142.1361,66.247613 L 142.29618,66.106753 L 142.47472,65.964685 L 142.63431,65.823329 L 142.79486,65.889314 L 142.97318,65.936594 L 143.14333,65.973804 L 143.33197,65.992529 L 143.51964,65.992995 L 143.71787,65.982921 L 143.91467,65.973333 L 144.1117,65.926544 L 144.31017,65.879263 L 144.50793,65.813035 L 144.71455,65.737933 L 144.90319,65.643365 L 145.09157,65.530815 L 145.27855,65.417768 L 145.45782,65.275949 L 145.62687,65.125916 z "
-   id="path367"
-   style="fill:url(#XMLID_11_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 146.2295,64.24009 L 146.13447,64.465664 L 146.01233,64.682856 L 145.86233,64.889482 L 145.66456,65.08773 L 145.46681,65.266757 L 145.23164,65.445319 L 144.97772,65.586918 L 144.72431,65.728027 L 144.45118,65.832177 L 144.17783,65.916886 L 143.91456,65.973287 L 143.64194,66.002579 L 143.37795,66.00209 L 143.12427,65.974488 L 142.87947,65.899117 L 142.66252,65.795462 L 142.78539,65.692248 L 142.90756,65.58832 L 143.04845,65.484884 L 143.18069,65.371374 L 143.31173,65.259064 L 143.45282,65.136192 L 143.60355,65.00469 L 143.77272,64.853259 L 143.93304,64.881571 L 144.10271,64.900543 L 144.26255,64.910124 L 144.41279,64.910127 L 144.56327,64.909907 L 144.70487,64.880611 L 144.85534,64.862597 L 144.9967,64.833552 L 145.13734,64.786982 L 145.28781,64.73009 L 145.43803,64.673446 L 145.58875,64.598566 L 145.7397,64.522482 L 145.8988,64.438238 L 146.05909,64.334558 L 146.2295,64.24009 z "
-   id="path8889"
-   style="fill:url(#XMLID_12_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 146.48292,63.722199 L 146.48266,63.835243 L 146.43489,63.957873 L 146.3509,64.080255 L 146.23785,64.193299 L 146.09675,64.315685 L 145.92828,64.428952 L 145.73003,64.532139 L 145.53299,64.636043 L 145.31604,64.72053 L 145.08974,64.796146 L 144.85526,64.862623 L 144.62871,64.900049 L 144.39353,64.928853 L 144.16818,64.928605 L 143.97042,64.900272 L 143.7727,64.853234 L 143.86701,64.779066 L 143.95172,64.712595 L 144.05515,64.627886 L 144.14923,64.552047 L 144.24333,64.477165 L 144.32755,64.410691 L 144.39355,64.345171 L 144.45932,64.278919 L 144.49698,64.316592 L 144.65637,64.306986 L 144.90164,64.269063 L 145.21242,64.203056 L 145.55968,64.09962 L 145.90887,63.995695 L 146.22829,63.863479 L 146.48292,63.722199 z "
-   id="path397"
-   style="fill:url(#XMLID_13_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 146.49156,63.18558 L 146.60411,63.336523 L 146.64133,63.468292 L 146.6046,63.581338 L 146.52014,63.703252 L 146.37904,63.807398 L 146.19064,63.901228 L 145.99362,63.985938 L 145.76754,64.061776 L 145.53186,64.127535 L 145.29715,64.17504 L 145.06218,64.222793 L 144.86372,64.250855 L 144.68518,64.278698 L 144.55344,64.297644 L 144.46897,64.307255 L 144.44088,64.297892 L 145.25852,63.647762 L 145.3521,63.629036 L 145.49417,63.581533 L 145.66337,63.525626 L 145.84238,63.458902 L 146.03993,63.393386 L 146.20865,63.317794 L 146.36921,63.251811 L 146.49156,63.18558 z "
-   id="path412"
-   style="fill:url(#XMLID_14_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 145.25849,63.647834 L 145.42818,63.497364 L 145.57891,63.365861 L 145.71951,63.24299 L 145.85102,63.129722 L 145.9739,63.026506 L 146.10492,62.913217 L 146.24626,62.809785 L 146.41617,62.69605 L 146.56638,62.90388 L 146.56686,63.072833 L 146.43511,63.205068 L 146.21888,63.327724 L 145.96423,63.411966 L 145.69138,63.497167 L 145.44659,63.572536 L 145.25849,63.647834 z "
-   id="path427"
-   style="fill:url(#XMLID_15_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 145.19322,63.526385 L 145.38137,63.393437 L 145.54096,63.271299 L 145.69121,63.177227 L 145.83256,63.072834 L 145.9732,62.988366 L 146.11432,62.903878 L 146.27486,62.800445 L 146.45364,62.697007 L 146.25564,62.480281 L 146.03919,62.433245 L 145.85991,62.517957 L 145.67295,62.688111 L 145.52201,62.913462 L 145.38139,63.149138 L 145.27796,63.365863 L 145.19322,63.526385 z "
-   id="path8894"
-   style="fill:url(#XMLID_16_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 131.57981,69.493713 L 131.00598,69.747379 L 130.50706,70.040409 L 130.11275,70.379026 L 129.78325,70.74598 L 129.52023,71.16068 L 129.32296,71.583542 L 129.18183,72.045281 L 129.06928,72.515889 L 128.9944,73.005938 L 128.94734,73.504634 L 128.91111,74.012206 L 128.89192,74.520982 L 128.86383,75.019436 L 128.82711,75.508772 L 128.78008,75.989211 L 128.70568,76.460063 L 128.81797,76.383733 L 128.93078,76.28966 L 129.04382,76.195834 L 129.15662,76.120487 L 129.27016,76.026172 L 129.38295,75.932095 L 129.50462,75.828168 L 129.61768,75.734342 L 129.73,75.63931 L 129.85334,75.536122 L 129.98462,75.442297 L 130.09742,75.347732 L 130.22051,75.244293 L 130.35106,75.150223 L 130.48256,75.036955 L 130.61477,74.942639 L 130.57732,74.717528 L 130.53844,74.435314 L 130.4919,74.105568 L 130.47246,73.747731 L 130.4439,73.362051 L 130.43453,72.957179 L 130.44317,72.533829 L 130.46164,72.119348 L 130.50917,71.695531 L 130.57445,71.292354 L 130.65844,70.905986 L 130.78131,70.538788 L 130.92193,70.209042 L 131.10071,69.916971 L 131.32607,69.672398 L 131.57981,69.493713 z "
-   id="path461"
-   style="fill:url(#XMLID_17_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 132.44545,68.946309 L 132.12482,69.097518 L 131.84307,69.267898 L 131.5899,69.44621 L 131.34416,69.654065 L 131.14735,69.888758 L 130.96882,70.16186 L 130.81835,70.443856 L 130.69646,70.7736 L 130.59348,71.140556 L 130.52772,71.546138 L 130.48045,71.987947 L 130.46246,72.477771 L 130.46295,73.02304 L 130.50109,73.606942 L 130.55823,74.246748 L 130.63357,74.943201 L 130.81284,74.783148 L 130.98083,74.650688 L 131.13205,74.518693 L 131.28206,74.406141 L 131.43277,74.292878 L 131.59236,74.170739 L 131.78075,74.038033 L 131.99745,73.878938 L 132.02579,73.568382 L 132.03491,73.257832 L 132.0438,72.927837 L 132.03373,72.61682 L 132.03373,72.297641 L 132.03347,71.978215 L 132.02365,71.666947 L 132.02365,71.346786 L 132.03325,71.036235 L 132.06111,70.726174 L 132.07959,70.424488 L 132.10767,70.114185 L 132.16386,69.813238 L 132.24832,69.520919 L 132.33302,69.229339 L 132.44545,68.946309 z "
-   id="path480"
-   style="fill:url(#XMLID_18_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 133.44239,68.36263 L 133.1136,68.390964 L 132.83978,68.514086 L 132.60532,68.712084 L 132.43637,68.975112 L 132.29501,69.30461 L 132.19228,69.671808 L 132.11694,70.085552 L 132.0699,70.5281 L 132.04159,70.989369 L 132.02382,71.45976 L 132.01516,71.92103 L 132.02455,72.382519 L 132.03414,72.805383 L 132.02552,73.209515 L 132.01616,73.5587 L 131.9876,73.869475 L 133.13572,72.96519 L 133.11673,72.682729 L 133.0973,72.399797 L 133.06897,72.126698 L 133.04977,71.845436 L 133.03105,71.562728 L 133.00224,71.271365 L 132.99215,70.979537 L 132.98207,70.706411 L 132.99168,70.414587 L 133.00129,70.123249 L 133.02936,69.83071 L 133.07593,69.539374 L 133.13255,69.238431 L 133.21677,68.946357 L 133.32019,68.654778 L 133.44239,68.36263 z "
-   id="path499"
-   style="fill:url(#XMLID_19_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 135.64356,67.476607 L 135.08824,67.485724 L 134.6181,67.561783 L 134.22308,67.694241 L 133.88421,67.882414 L 133.61158,68.136812 L 133.39534,68.428886 L 133.23601,68.777354 L 133.1136,69.14453 L 133.03874,69.558274 L 133.00154,69.990496 L 132.98305,70.461598 L 133.00202,70.932209 L 133.02125,71.421788 L 133.069,71.920244 L 133.11649,72.418941 L 133.16355,72.917641 L 133.35266,72.748196 L 133.51154,72.606619 L 133.64353,72.493844 L 133.77552,72.399306 L 133.90679,72.30548 L 134.04791,72.201329 L 134.20751,72.080128 L 134.40525,71.937567 L 134.34837,71.486152 L 134.31069,71.072188 L 134.30059,70.667559 L 134.30996,70.300631 L 134.35652,69.953118 L 134.41243,69.632736 L 134.47794,69.340688 L 134.57276,69.058224 L 134.6757,68.803603 L 134.7885,68.578004 L 134.92001,68.35194 L 135.05201,68.14507 L 135.19167,67.966043 L 135.33398,67.787258 L 135.49357,67.627668 L 135.64356,67.476607 z "
-   id="path8899"
-   style="fill:url(#XMLID_20_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 136.99879,66.628254 L 136.57426,66.826258 L 136.19819,67.033349 L 135.86004,67.278361 L 135.56845,67.532048 L 135.2956,67.805395 L 135.0705,68.106833 L 134.87296,68.418097 L 134.71337,68.748086 L 134.57177,69.095576 L 134.47794,69.453389 L 134.39348,69.83929 L 134.34718,70.224474 L 134.31912,70.629816 L 134.31954,71.04309 L 134.34809,71.467648 L 134.39561,71.909699 L 134.62119,71.740749 L 134.87437,71.54228 L 135.12899,71.344282 L 135.38361,71.146278 L 135.61832,70.967251 L 135.7971,70.826854 L 135.92885,70.713343 L 135.9754,70.665814 L 135.9754,70.628855 L 135.985,70.543901 L 135.98525,70.412126 L 135.98453,70.242933 L 135.98526,70.035814 L 136.0028,69.809992 L 136.02224,69.546723 L 136.04983,69.254649 L 136.10598,68.953238 L 136.16213,68.633594 L 136.24662,68.303355 L 136.35055,67.956089 L 136.47247,67.625872 L 136.62247,67.287724 L 136.79119,66.948121 L 136.99879,66.628254 z "
-   id="path537"
-   style="fill:url(#XMLID_21_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 138.55942,65.403567 L 138.20254,65.554995 L 137.8728,65.734051 L 137.5721,65.978129 L 137.3086,66.242113 L 137.06455,66.544262 L 136.84832,66.872803 L 136.66976,67.221273 L 136.50034,67.598056 L 136.36882,67.974347 L 136.2469,68.360249 L 136.16244,68.76487 L 136.07822,69.169252 L 136.03192,69.556358 L 135.99399,69.9514 L 135.97574,70.327225 L 135.9767,70.684814 L 136.10748,70.57226 L 136.27669,70.440512 L 136.46461,70.289549 L 136.66233,70.129715 L 136.85984,69.969167 L 137.03887,69.82759 L 137.18885,69.695845 L 137.29254,69.592162 L 137.27383,69.572968 L 137.27383,69.478898 L 137.30143,69.319775 L 137.34798,69.0841 L 137.41423,68.811468 L 137.48911,68.490838 L 137.58294,68.133028 L 137.68687,67.767034 L 137.78889,67.399612 L 137.90142,67.022585 L 138.02477,66.65541 L 138.13756,66.318001 L 138.25037,66.015134 L 138.36221,65.752603 L 138.46611,65.553647 L 138.55942,65.403567 z "
-   id="path556"
-   style="fill:url(#XMLID_22_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 140.14937,64.357952 L 139.8105,64.283071 L 139.49037,64.358443 L 139.1995,64.557157 L 138.9175,64.839155 L 138.67271,65.215418 L 138.43753,65.657965 L 138.22154,66.157157 L 138.03389,66.664974 L 137.85556,67.201834 L 137.71467,67.719016 L 137.58343,68.209307 L 137.47953,68.670333 L 137.39625,69.055989 L 137.32977,69.348063 L 137.29184,69.553974 L 137.26401,69.639419 L 137.42455,69.535986 L 137.59351,69.404925 L 137.77204,69.262368 L 137.95084,69.102284 L 138.1486,68.942919 L 138.34611,68.78188 L 138.54337,68.641236 L 138.74113,68.500104 L 138.8352,68.236121 L 138.9187,67.981721 L 139.00438,67.70884 L 139.07876,67.445323 L 139.16347,67.190701 L 139.2386,66.927433 L 139.32306,66.654328 L 139.39844,66.391306 L 139.48196,66.135946 L 139.55709,65.873166 L 139.65187,65.609899 L 139.74572,65.365352 L 139.82972,65.110458 L 139.93341,64.857021 L 140.03567,64.602153 L 140.14937,64.357952 z "
-   id="path575"
-   style="fill:url(#XMLID_23_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 142.28431,63.123433 L 141.92672,63.180567 L 141.60681,63.330575 L 141.3253,63.538649 L 141.06253,63.801921 L 140.8355,64.122084 L 140.63874,64.489748 L 140.46928,64.866062 L 140.31978,65.261325 L 140.20648,65.656836 L 140.09417,66.051854 L 140.01932,66.428633 L 139.95356,66.757886 L 139.89762,67.059079 L 139.86955,67.313234 L 139.8415,67.491549 L 139.83262,67.595478 L 140.00133,67.463238 L 140.16139,67.341075 L 140.30177,67.238132 L 140.43403,67.124129 L 140.57488,67.001499 L 140.71553,66.89831 L 140.87585,66.775437 L 141.04409,66.643664 L 141.09208,66.427676 L 141.1384,66.210482 L 141.1763,65.966185 L 141.22334,65.731002 L 141.26989,65.477093 L 141.31716,65.222941 L 141.36372,64.968539 L 141.42011,64.723997 L 141.47675,64.478713 L 141.56029,64.243999 L 141.64571,64.008817 L 141.73932,63.800985 L 141.85209,63.595072 L 141.97447,63.415088 L 142.12469,63.264861 L 142.28431,63.123433 z "
-   id="path8904"
-   style="fill:url(#XMLID_24_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 141.39156,63.472395 L 141.12707,63.529019 L 140.88324,63.623087 L 140.68503,63.745469 L 140.49759,63.896435 L 140.33726,64.074999 L 140.19591,64.291209 L 140.06393,64.555658 L 139.93361,64.837162 L 139.81121,65.167404 L 139.68834,65.515873 L 139.56692,65.9205 L 139.43588,66.353461 L 139.28494,66.824069 L 139.11648,67.332844 L 138.93817,67.886958 L 138.72171,68.48069 L 138.88227,68.3398 L 139.06969,68.188347 L 139.25809,68.03834 L 139.45559,67.896025 L 139.6255,67.764502 L 139.757,67.671385 L 139.85061,67.595084 L 139.87963,67.548759 L 139.87867,67.51084 L 139.89812,67.397821 L 139.90698,67.237272 L 139.93531,67.039986 L 139.97248,66.79544 L 140.02913,66.513194 L 140.08527,66.211296 L 140.15991,65.891402 L 140.25352,65.553032 L 140.34806,65.214166 L 140.47838,64.875058 L 140.61924,64.545557 L 140.78028,64.23525 L 140.96723,63.951827 L 141.16593,63.698413 L 141.39156,63.472395 z "
-   id="path605"
-   style="fill:url(#XMLID_25_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 143.51738,62.849373 L 143.15933,62.831136 L 142.8399,62.868342 L 142.5668,62.953791 L 142.32225,63.085536 L 142.12475,63.264811 L 141.94597,63.481044 L 141.78588,63.735691 L 141.65486,63.999674 L 141.55216,64.309737 L 141.45759,64.610681 L 141.38246,64.949298 L 141.30782,65.288899 L 141.23246,65.627763 L 141.1763,65.966133 L 141.12063,66.305955 L 141.04527,66.625136 L 141.1768,66.531065 L 141.30854,66.418042 L 141.47821,66.305488 L 141.6467,66.172539 L 141.82572,66.032387 L 142.01338,65.880711 L 142.1924,65.740072 L 142.37143,65.598003 L 142.30542,65.419686 L 142.26775,65.249998 L 142.23895,65.071435 L 142.2392,64.883045 L 142.24878,64.704483 L 142.28549,64.535308 L 142.34189,64.345958 L 142.40765,64.167397 L 142.49237,63.988618 L 142.59509,63.810054 L 142.7086,63.640365 L 142.83964,63.470452 L 142.99035,63.301503 L 143.15089,63.141447 L 143.32871,62.999599 L 143.51738,62.849373 z "
-   id="path620"
-   style="fill:url(#XMLID_26_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 145.29545,62.311059 L 145.1728,62.283462 L 145.03192,62.292823 L 144.87233,62.340596 L 144.72161,62.415476 L 144.56177,62.519134 L 144.40243,62.660736 L 144.25195,62.811698 L 144.09162,62.990263 L 143.95989,63.178183 L 143.82861,63.385796 L 143.72444,63.602251 L 143.64046,63.818264 L 143.57444,64.035455 L 143.53725,64.260806 L 143.53725,64.46817 L 143.55691,64.675042 L 143.65988,64.609525 L 143.78228,64.524569 L 143.90419,64.440105 L 144.02637,64.354411 L 144.1293,64.269704 L 144.21498,64.204186 L 144.27111,64.148035 L 144.29007,64.129085 L 144.30854,64.072217 L 144.34551,63.92197 L 144.43047,63.686321 L 144.53437,63.413934 L 144.67501,63.121616 L 144.85354,62.81106 L 145.05081,62.537958 L 145.29545,62.311059 z "
-   id="path635"
-   style="fill:url(#XMLID_27_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 145.9072,62.470673 L 145.76631,62.312043 L 145.61561,62.236205 L 145.47379,62.227331 L 145.32356,62.283489 L 145.18222,62.386456 L 145.05094,62.537885 L 144.91895,62.707328 L 144.78766,62.914446 L 144.68422,63.130682 L 144.58126,63.347381 L 144.48718,63.554747 L 144.4123,63.742917 L 144.3559,63.912607 L 144.29975,64.044598 L 144.29015,64.12906 L 144.27982,64.157127 L 145.16417,63.534841 L 145.20281,63.441014 L 145.2772,63.309024 L 145.35232,63.158547 L 145.44639,62.988638 L 145.54983,62.828579 L 145.66312,62.678821 L 145.78525,62.556195 L 145.9072,62.470673 z "
-   id="path8909"
-   style="fill:url(#XMLID_28_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 144.65565,62.462758 L 144.38279,62.490848 L 144.12864,62.55686 L 143.86562,62.651886 L 143.611,62.792774 L 143.37531,62.953103 L 143.15092,63.123237 L 142.94381,63.330842 L 142.75495,63.555239 L 142.59584,63.791156 L 142.46457,64.054894 L 142.36088,64.309269 L 142.28552,64.572784 L 142.2392,64.84564 L 142.23897,65.108912 L 142.28625,65.363066 L 142.3712,65.617001 L 142.50345,65.503978 L 142.6347,65.41062 L 142.76645,65.296618 L 142.91692,65.183596 L 143.06764,65.071264 L 143.21786,64.93927 L 143.39664,64.817112 L 143.57424,64.675043 L 143.54736,64.534424 L 143.53754,64.393068 L 143.54713,64.251959 L 143.56514,64.10149 L 143.60256,63.950773 L 143.64936,63.790688 L 143.706,63.639482 L 143.78159,63.489476 L 143.85646,63.33876 L 143.95033,63.188283 L 144.04464,63.056516 L 144.15743,62.924055 L 144.27048,62.792776 L 144.39216,62.670616 L 144.52415,62.557348 L 144.65565,62.462758 z "
-   id="path665"
-   style="fill:url(#XMLID_29_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 106.64878,91.467152 L 106.65864,91.514901 L 106.68669,91.637529 L 106.74334,91.825208 L 106.80955,92.06039 L 106.89332,92.333737 L 106.9975,92.625563 L 107.13861,92.936584 L 107.28982,93.236569 L 107.46958,93.528151 L 107.6762,93.773654 L 107.91188,93.989177 L 108.16603,94.148765 L 108.45836,94.233721 L 108.78714,94.242347 L 109.14449,94.148053 L 109.53112,93.950054 L 109.34153,93.855513 L 109.1625,93.734089 L 108.98443,93.611706 L 108.79626,93.460988 L 108.61721,93.301152 L 108.43889,93.122837 L 108.27834,92.944054 L 108.10843,92.755909 L 107.94813,92.558154 L 107.78829,92.36185 L 107.64719,92.16363 L 107.52453,91.96612 L 107.39229,91.778196 L 107.28886,91.598922 L 107.19407,91.41149 L 107.10986,91.250942 L 107.04433,91.279498 L 106.99658,91.307587 L 106.93107,91.335651 L 106.88379,91.365191 L 106.82717,91.383916 L 106.7806,91.411268 L 106.71437,91.439111 L 106.64878,91.467152 z "
-   id="path686"
-   style="fill:url(#XMLID_30_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 107.1002,91.279228 L 107.48706,91.928644 L 107.86362,92.492859 L 108.22167,92.944054 L 108.57015,93.310762 L 108.89964,93.602367 L 109.21978,93.809214 L 109.5212,93.959932 L 109.79407,94.06241 L 110.05783,94.100082 L 110.30191,94.099838 L 110.50949,94.062656 L 110.69668,94.006502 L 110.87643,93.920834 L 111.00795,93.82676 L 111.12026,93.732688 L 111.21457,93.638369 L 111.00745,93.544051 L 110.80059,93.449979 L 110.58411,93.328063 L 110.37675,93.196536 L 110.15092,93.045574 L 109.9342,92.886942 L 109.71725,92.727107 L 109.50151,92.548325 L 109.29343,92.3604 L 109.08607,92.153529 L 108.89864,91.945945 L 108.70951,91.720838 L 108.54009,91.495241 L 108.37114,91.249959 L 108.22931,91.015489 L 108.08796,90.761336 L 107.93773,90.835724 L 107.78655,90.912054 L 107.64544,90.978307 L 107.51441,91.052721 L 107.40111,91.110324 L 107.2792,91.175619 L 107.18535,91.232019 L 107.1002,91.279228 z "
-   id="path707"
-   style="fill:url(#XMLID_31_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 108.09782,90.751481 L 108.22885,90.996247 L 108.40883,91.287607 L 108.63441,91.58951 L 108.90797,91.898613 L 109.21804,92.228827 L 109.5382,92.548005 L 109.88642,92.839119 L 110.24497,93.103104 L 110.60327,93.327965 L 110.96061,93.515888 L 111.31843,93.628442 L 111.64721,93.675945 L 111.96807,93.637313 L 112.24907,93.505567 L 112.49483,93.279477 L 112.69186,92.931743 L 112.41828,92.865514 L 112.13628,92.790387 L 111.86293,92.687444 L 111.60903,92.584229 L 111.35537,92.443365 L 111.10986,92.311594 L 110.87467,92.151268 L 110.639,91.991433 L 110.42255,91.812871 L 110.20656,91.615608 L 110.00881,91.417854 L 109.81992,91.192994 L 109.63178,90.967397 L 109.4712,90.731969 L 109.30106,90.486957 L 109.16019,90.233295 L 109.02869,90.28994 L 108.87871,90.365065 L 108.72777,90.440658 L 108.57705,90.516029 L 108.4268,90.591867 L 108.2953,90.648021 L 108.18154,90.704174 L 108.09782,90.751481 z "
-   id="path728"
-   style="fill:url(#XMLID_32_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 114.39445,92.261265 L 114.1595,92.535571 L 113.87655,92.742688 L 113.56696,92.865071 L 113.23768,92.931301 L 112.87002,92.939926 L 112.49373,92.88424 L 112.11768,92.771686 L 111.72242,92.621681 L 111.33626,92.424173 L 110.94941,92.188991 L 110.5827,91.916848 L 110.24359,91.616125 L 109.92368,91.2967 L 109.63163,90.948474 L 109.37725,90.5813 L 109.16943,90.204984 L 109.31054,90.138731 L 109.45285,90.072255 L 109.59303,89.988258 L 109.74421,89.911928 L 109.89468,89.837295 L 110.05452,89.752806 L 110.20499,89.677189 L 110.36457,89.592455 L 110.56209,89.789963 L 110.77832,90.005706 L 111.03365,90.24138 L 111.29716,90.485679 L 111.56069,90.729978 L 111.83357,90.984132 L 112.135,91.228455 L 112.4165,91.454274 L 112.70921,91.670411 L 112.98183,91.868165 L 113.265,92.036626 L 113.52877,92.168864 L 113.77307,92.261977 L 114.00921,92.309482 L 114.21559,92.30899 L 114.39445,92.261265 z "
-   id="path749"
-   style="fill:url(#XMLID_33_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 110.383,89.592356 L 110.515,89.535711 L 110.63716,89.469728 L 110.74971,89.413795 L 110.86345,89.337957 L 110.98537,89.272219 L 111.0984,89.214862 L 111.22128,89.149099 L 111.35232,89.093412 L 111.55941,89.262611 L 111.77587,89.458915 L 112.01154,89.67537 L 112.25633,89.901435 L 112.49201,90.136617 L 112.74569,90.389812 L 113.01038,90.634848 L 113.26432,90.869563 L 113.52808,91.095874 L 113.80069,91.311863 L 114.07403,91.490154 L 114.32844,91.65048 L 114.60035,91.772643 L 114.86387,91.866248 L 115.11898,91.913997 L 115.37265,91.904167 L 115.0345,92.110794 L 114.7146,92.242539 L 114.39519,92.299897 L 114.08414,92.309014 L 113.77312,92.261979 L 113.46303,92.159746 L 113.16208,92.009053 L 112.8693,91.830492 L 112.56737,91.605386 L 112.26689,91.360103 L 111.97458,91.087002 L 111.66332,90.79638 L 111.35325,90.504552 L 111.03308,90.203608 L 110.72229,89.893301 L 110.383,89.592356 z "
-   id="path766"
-   style="fill:url(#XMLID_34_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 116.89653,91.111725 L 116.50199,91.469806 L 116.10673,91.715309 L 115.72154,91.856172 L 115.34476,91.912793 L 114.96844,91.875366 L 114.60964,91.763304 L 114.24348,91.602977 L 113.88543,91.377379 L 113.54631,91.114108 L 113.20841,90.832382 L 112.8777,90.521829 L 112.56739,90.212013 L 112.24653,89.89163 L 111.9458,89.591398 L 111.64436,89.327414 L 111.3619,89.083336 L 111.49343,89.007989 L 111.61534,88.94176 L 111.72838,88.886319 L 111.85125,88.819131 L 111.97293,88.753148 L 112.08548,88.697215 L 112.19875,88.621844 L 112.33077,88.546005 L 112.349,88.583458 L 112.39653,88.667947 L 112.48126,88.791067 L 112.58516,88.951148 L 112.73588,89.138334 L 112.90533,89.346165 L 113.1122,89.572254 L 113.36682,89.807215 L 113.6493,90.033525 L 113.97856,90.26679 L 114.35608,90.473908 L 114.76022,90.671662 L 115.22196,90.831473 L 115.73913,90.97236 L 116.28487,91.065475 L 116.89653,91.111725 z "
-   id="path787"
-   style="fill:url(#XMLID_35_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 118.58105,90.235039 L 118.37369,90.536475 L 118.1013,90.772886 L 117.7718,90.932476 L 117.39502,91.045274 L 116.98199,91.102165 L 116.53944,91.111749 L 116.06904,91.056087 L 115.58834,90.953143 L 115.11797,90.801958 L 114.63776,90.604941 L 114.16641,90.360617 L 113.72458,90.070461 L 113.30963,89.750078 L 112.92324,89.383838 L 112.60333,88.989066 L 112.32108,88.555639 L 113.4968,87.943429 L 113.63839,88.103264 L 113.8083,88.29141 L 114.01446,88.478843 L 114.26021,88.685223 L 114.52325,88.893053 L 114.82467,89.099924 L 115.13548,89.316159 L 115.4837,89.5132 L 115.84154,89.700633 L 116.20871,89.860936 L 116.58525,90.010941 L 116.981,90.123985 L 117.37601,90.218058 L 117.78111,90.264603 L 118.18549,90.273475 L 118.58105,90.235039 z "
-   id="path808"
-   style="fill:url(#XMLID_36_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 113.45967,87.943159 L 113.6471,87.848864 L 113.87316,87.716873 L 114.13715,87.584414 L 114.39968,87.434188 L 114.66391,87.302417 L 114.91711,87.160595 L 115.13358,87.038188 L 115.29389,86.934506 L 115.5291,87.13226 L 115.77413,87.356654 L 116.02828,87.573847 L 116.28219,87.809029 L 116.55553,88.024772 L 116.82934,88.260691 L 117.10196,88.47668 L 117.38442,88.683798 L 117.66618,88.871967 L 117.9496,89.041166 L 118.25054,89.190435 L 118.5419,89.312816 L 118.84381,89.407355 L 119.13513,89.453927 L 119.42672,89.482015 L 119.72816,89.463778 L 119.5681,89.680017 L 119.36148,89.867915 L 119.11717,90.018632 L 118.83518,90.132144 L 118.51479,90.206778 L 118.1661,90.254527 L 117.79003,90.255682 L 117.36646,90.2084 L 116.94287,90.12369 L 116.4912,89.972481 L 116.0201,89.785515 L 115.52285,89.531607 L 115.02199,89.221299 L 114.51467,88.864669 L 113.98646,88.431954 L 113.45967,87.943159 z "
-   id="path829"
-   style="fill:url(#XMLID_37_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 121.14868,88.416151 L 120.7448,88.859902 L 120.3493,89.17957 L 119.93579,89.387623 L 119.52999,89.472334 L 119.12629,89.48194 L 118.72096,89.416424 L 118.33529,89.275069 L 117.9398,89.069157 L 117.56325,88.843805 L 117.18647,88.560603 L 116.83849,88.269735 L 116.48977,87.97862 L 116.16027,87.667846 L 115.84925,87.395212 L 115.55789,87.140812 L 115.28455,86.925069 L 115.44416,86.821633 L 115.58623,86.736186 L 115.72685,86.670914 L 115.85717,86.595788 L 115.99973,86.510833 L 116.13076,86.434507 L 116.29059,86.350507 L 116.4694,86.246114 L 116.75307,86.472671 L 117.02451,86.688903 L 117.29784,86.905139 L 117.57097,87.101443 L 117.83567,87.309029 L 118.09894,87.496951 L 118.3615,87.666372 L 118.62574,87.835101 L 118.89909,87.976458 L 119.18132,88.10749 L 119.4729,88.211419 L 119.77458,88.305737 L 120.10312,88.370785 L 120.43311,88.417577 L 120.78134,88.426917 L 121.14868,88.416151 z "
-   id="path850"
-   style="fill:url(#XMLID_38_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 122.49332,87.484272 L 122.13598,87.880001 L 121.75944,88.161974 L 121.3649,88.351078 L 120.95044,88.445864 L 120.53644,88.464344 L 120.11313,88.417307 L 119.68979,88.29635 L 119.26598,88.136513 L 118.85199,87.947634 L 118.44737,87.713407 L 118.07034,87.468398 L 117.70341,87.196965 L 117.35542,86.942567 L 117.04416,86.688412 L 116.75187,86.453229 L 116.5066,86.246853 L 116.66789,86.143171 L 116.80828,86.05797 L 116.93979,85.983088 L 117.06265,85.898111 L 117.18387,85.832594 L 117.3065,85.746434 L 117.4656,85.662189 L 117.63551,85.5489 L 118.05045,85.869284 L 118.45507,86.161109 L 118.84097,86.41455 L 119.20818,86.649733 L 119.5569,86.846281 L 119.90488,87.024842 L 120.22477,87.156589 L 120.53603,87.279217 L 120.82737,87.382407 L 121.11032,87.456574 L 121.37384,87.494494 L 121.61839,87.531675 L 121.86293,87.550623 L 122.07938,87.540549 L 122.29585,87.512237 L 122.49332,87.484272 z "
-   id="path871"
-   style="fill:url(#XMLID_39_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 123.70721,86.551186 L 123.36834,86.928436 L 123.00185,87.201783 L 122.61475,87.380591 L 122.20126,87.493633 L 121.78774,87.513072 L 121.36417,87.485007 L 120.93098,87.391156 L 120.49851,87.260613 L 120.07466,87.099823 L 119.66068,86.893194 L 119.26492,86.667843 L 118.87926,86.433375 L 118.52082,86.207777 L 118.19107,85.972593 L 117.9002,85.756581 L 117.63548,85.568189 L 117.76701,85.474117 L 117.90862,85.389628 L 118.05021,85.304206 L 118.19132,85.219718 L 118.33314,85.134518 L 118.47329,85.049559 L 118.61441,84.964608 L 118.76538,84.871244 L 118.95281,85.03995 L 119.17913,85.20915 L 119.42392,85.378597 L 119.71553,85.538183 L 120.02629,85.716498 L 120.35531,85.857854 L 120.70378,86.017201 L 121.05272,86.158776 L 121.42015,86.280935 L 121.78731,86.384127 L 122.13458,86.468834 L 122.48278,86.533396 L 122.8219,86.590285 L 123.14252,86.608987 L 123.44275,86.590039 L 123.70721,86.551186 z "
-   id="path892"
-   style="fill:url(#XMLID_40_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 125.09819,85.591244 L 124.77951,86.004986 L 124.39337,86.297057 L 123.96089,86.485694 L 123.49003,86.580259 L 122.99156,86.609257 L 122.48303,86.553348 L 121.95697,86.440059 L 121.43837,86.299663 L 120.93993,86.102644 L 120.46857,85.895283 L 120.03562,85.688412 L 119.63124,85.47267 L 119.31061,85.26533 L 119.04709,85.096376 L 118.85916,84.964629 L 118.76531,84.87127 L 118.93352,84.757758 L 119.09383,84.654078 L 119.26279,84.559982 L 119.42284,84.456544 L 119.59202,84.362224 L 119.74273,84.267193 L 119.89321,84.173342 L 120.03503,84.069908 L 120.24215,84.182951 L 120.47683,84.324059 L 120.74922,84.483651 L 121.06073,84.661718 L 121.39073,84.840529 L 121.73825,85.019556 L 122.09533,85.188017 L 122.47332,85.357707 L 122.84962,85.507464 L 123.21633,85.629847 L 123.58398,85.733531 L 123.93196,85.799292 L 124.27058,85.816817 L 124.57153,85.798089 L 124.85398,85.722989 L 125.09819,85.591244 z "
-   id="path913"
-   style="fill:url(#XMLID_41_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 125.90718,84.687204 L 125.64414,85.100945 L 125.3439,85.401669 L 125.00479,85.609746 L 124.6191,85.732377 L 124.22337,85.770048 L 123.80913,85.751322 L 123.36802,85.667327 L 122.925,85.54492 L 122.49134,85.376213 L 122.05914,85.188777 L 121.65404,84.972322 L 121.25804,84.765452 L 120.9007,84.558801 L 120.58943,84.361269 L 120.30719,84.192315 L 120.08206,84.060322 L 120.20373,83.976106 L 120.31702,83.88154 L 120.42886,83.806661 L 120.53279,83.740184 L 120.64584,83.664596 L 120.74999,83.598832 L 120.8431,83.542186 L 120.93788,83.467553 L 121.18292,83.654493 L 121.45531,83.833744 L 121.73777,84.001982 L 122.01063,84.163021 L 122.31207,84.312779 L 122.61374,84.444061 L 122.91494,84.557594 L 123.23507,84.651202 L 123.55499,84.745028 L 123.88449,84.810547 L 124.22357,84.84726 L 124.54278,84.866455 L 124.89171,84.856845 L 125.2205,84.828509 L 125.55961,84.771621 L 125.90718,84.687204 z "
-   id="path934"
-   style="fill:url(#XMLID_42_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 127.14889,83.782454 L 126.86739,84.064944 L 126.56574,84.309981 L 126.23694,84.507244 L 125.88775,84.667789 L 125.52177,84.771716 L 125.12625,84.847557 L 124.73195,84.866995 L 124.31846,84.866747 L 123.90302,84.81035 L 123.47968,84.726354 L 123.04602,84.594607 L 122.61382,84.444135 L 122.19001,84.246846 L 121.76618,84.012109 L 121.34211,83.758444 L 120.93795,83.467579 L 121.08819,83.373037 L 121.22953,83.269136 L 121.38959,83.165699 L 121.52974,83.062019 L 121.6711,82.959046 L 121.81149,82.873845 L 121.95332,82.769918 L 122.09443,82.68543 L 122.34905,82.826317 L 122.60295,82.986155 L 122.85758,83.127042 L 123.1026,83.276554 L 123.35674,83.417419 L 123.61016,83.55902 L 123.87365,83.671819 L 124.15611,83.784372 L 124.44769,83.869574 L 124.75871,83.95308 L 125.08846,83.999625 L 125.44555,84.018818 L 125.81322,84.009208 L 126.22671,83.971511 L 126.6786,83.895918 L 127.14889,83.782454 z "
-   id="path955"
-   style="fill:url(#XMLID_43_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 128.85116,82.434913 L 128.51278,82.83138 L 128.13671,83.169999 L 127.75106,83.442855 L 127.34621,83.660046 L 126.93246,83.829464 L 126.49953,83.943223 L 126.05698,84.008495 L 125.60604,84.00874 L 125.16396,83.981389 L 124.7118,83.906018 L 124.25919,83.794201 L 123.81809,83.634833 L 123.37578,83.436365 L 122.94214,83.211504 L 122.5284,82.948454 L 122.13169,82.66646 L 122.25433,82.581257 L 122.39618,82.497014 L 122.52651,82.403162 L 122.65824,82.308379 L 122.79024,82.214773 L 122.9412,82.119989 L 123.08209,82.016549 L 123.23328,81.921985 L 123.50542,82.119272 L 123.79724,82.29781 L 124.10925,82.457647 L 124.42868,82.588927 L 124.76658,82.702215 L 125.11554,82.804445 L 125.47336,82.88004 L 125.83982,82.927814 L 126.21708,82.965265 L 126.59267,82.964061 L 126.9697,82.944155 L 127.35513,82.897608 L 127.73167,82.821525 L 128.11757,82.718334 L 128.48477,82.595461 L 128.85116,82.434913 z "
-   id="path976"
-   style="fill:url(#XMLID_44_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 129.7818,81.690932 L 129.45278,81.983005 L 129.10506,82.237626 L 128.72827,82.464156 L 128.32439,82.642941 L 127.91929,82.784543 L 127.48732,82.897829 L 127.05414,82.972957 L 126.61183,83.001511 L 126.17001,82.992639 L 125.71881,82.955679 L 125.27482,82.870726 L 124.84234,82.757929 L 124.41973,82.598803 L 124.00549,82.410658 L 123.60878,82.184842 L 123.2332,81.92206 L 123.35437,81.837353 L 123.45806,81.751904 L 123.55263,81.676557 L 123.64648,81.601922 L 123.74056,81.526083 L 123.85333,81.451205 L 123.98436,81.357133 L 124.13532,81.24313 L 124.54066,81.384482 L 124.9069,81.525125 L 125.26498,81.657116 L 125.59449,81.779253 L 125.924,81.882693 L 126.22592,81.976295 L 126.52686,82.050709 L 126.8278,82.106886 L 127.13882,82.153924 L 127.44913,82.162798 L 127.78799,82.163263 L 128.12612,82.125591 L 128.50315,82.068229 L 128.89816,81.973667 L 129.32102,81.851751 L 129.7818,81.690932 z "
-   id="path997"
-   style="fill:url(#XMLID_45_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 131.38111,80.278343 L 130.93879,80.758559 L 130.48761,81.173755 L 130.0362,81.494137 L 129.57493,81.748047 L 129.10504,81.936656 L 128.64353,82.058329 L 128.17316,82.135123 L 127.703,82.153139 L 127.23263,82.13537 L 126.76174,82.079218 L 126.30983,81.985854 L 125.84856,81.862489 L 125.3974,81.731923 L 124.96399,81.582165 L 124.53031,81.412965 L 124.11681,81.243303 L 124.20994,81.167931 L 124.34239,81.073856 L 124.50198,80.951718 L 124.66206,80.829091 L 124.84109,80.706685 L 124.99181,80.593417 L 125.12262,80.500057 L 125.21647,80.423509 L 125.59351,80.574447 L 125.98012,80.715799 L 126.36622,80.81828 L 126.74181,80.912131 L 127.11859,80.968309 L 127.50379,81.015098 L 127.88057,81.033331 L 128.2763,81.034045 L 128.65237,81.015098 L 129.03876,80.966611 L 129.43331,80.910459 L 129.81994,80.825258 L 130.20513,80.721354 L 130.60018,80.58936 L 130.9856,80.447762 L 131.38111,80.278343 z "
-   id="path1018"
-   style="fill:url(#XMLID_46_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 132.40611,79.514972 L 132.14284,79.760011 L 131.84214,79.985851 L 131.49342,80.202553 L 131.09914,80.390947 L 130.6854,80.561345 L 130.24237,80.702948 L 129.77222,80.816459 L 129.28338,80.910776 L 128.77532,80.967642 L 128.26703,81.005561 L 127.7496,80.996939 L 127.22139,80.95973 L 126.71358,80.883894 L 126.20601,80.77134 L 125.70684,80.611998 L 125.22613,80.414489 L 125.38692,80.292569 L 125.54652,80.169451 L 125.70587,80.028341 L 125.87528,79.896815 L 126.01614,79.774189 L 126.14836,79.679868 L 126.2609,79.604768 L 126.3365,79.585798 L 126.63769,79.547657 L 126.94849,79.519565 L 127.29672,79.50974 L 127.64469,79.499664 L 128.0114,79.509247 L 128.39683,79.517897 L 128.79259,79.536868 L 129.18881,79.555814 L 129.59294,79.583659 L 129.99732,79.593022 L 130.40195,79.602139 L 130.81591,79.600936 L 131.22991,79.601178 L 131.62492,79.581028 L 132.02043,79.562795 L 132.40611,79.514972 z "
-   id="path1039"
-   style="fill:url(#XMLID_47_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 133.77909,78.14003 L 133.69485,78.545858 L 133.50695,78.865284 L 133.25304,79.119685 L 132.92353,79.31766 L 132.52851,79.449187 L 132.08575,79.533896 L 131.58755,79.581891 L 131.06076,79.60086 L 130.49558,79.582381 L 129.91242,79.563653 L 129.30042,79.536303 L 128.68917,79.509198 L 128.08679,79.490472 L 127.47505,79.481108 L 126.89119,79.500545 L 126.33655,79.548294 L 126.44095,79.4439 L 126.58059,79.340714 L 126.73156,79.208472 L 126.90099,79.096169 L 127.07067,78.963928 L 127.24899,78.841302 L 127.41795,78.728967 L 127.55929,78.624573 L 128.0105,78.605848 L 128.46191,78.586899 L 128.91453,78.585915 L 129.36617,78.585919 L 129.80775,78.594545 L 130.25101,78.603904 L 130.69332,78.613735 L 131.10728,78.612532 L 131.52102,78.611548 L 131.91653,78.593314 L 132.28323,78.564512 L 132.63146,78.517722 L 132.96074,78.451493 L 133.26193,78.3759 L 133.53432,78.271998 L 133.77909,78.14003 z "
-   id="path1060"
-   style="fill:url(#XMLID_48_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 134.96487,77.198074 L 134.57873,77.584712 L 134.17482,77.914209 L 133.7505,78.149393 L 133.30869,78.34835 L 132.86615,78.488972 L 132.40562,78.573703 L 131.93501,78.631553 L 131.46439,78.650035 L 130.97506,78.650771 L 130.4862,78.631823 L 130.00548,78.603732 L 129.50678,78.576384 L 129.00808,78.549031 L 128.50963,78.539177 L 128.02005,78.558393 L 127.53094,78.596314 L 127.63459,78.512314 L 127.75627,78.408879 L 127.91632,78.285291 L 128.06703,78.154726 L 128.22685,78.030891 L 128.34901,77.927456 L 128.45292,77.843706 L 128.50907,77.787059 L 128.70635,77.664187 L 128.94156,77.579233 L 129.20508,77.523571 L 129.5161,77.494275 L 129.85425,77.49354 L 130.23103,77.512265 L 130.62654,77.531483 L 131.04029,77.567459 L 131.49194,77.586653 L 131.94361,77.604422 L 132.43343,77.604173 L 132.92277,77.586184 L 133.4306,77.547798 L 133.9389,77.471959 L 134.4465,77.358447 L 134.96487,77.198074 z "
-   id="path1081"
-   style="fill:url(#XMLID_49_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 106.27173,90.394629 L 106.23405,90.356955 L 106.12103,90.263595 L 105.95208,90.113369 L 105.74403,89.924978 L 105.49924,89.699405 L 105.25445,89.43638 L 105.00029,89.1635 L 104.75455,88.863047 L 104.55704,88.552739 L 104.38809,88.232111 L 104.26474,87.922049 L 104.2266,87.602624 L 104.2554,87.309838 L 104.38718,87.027375 L 104.63165,86.763587 L 104.99811,86.547378 L 104.99786,86.73626 L 105.02642,86.933302 L 105.08282,87.159121 L 105.15843,87.38494 L 105.253,87.629263 L 105.35621,87.864937 L 105.4798,88.118132 L 105.61083,88.382116 L 105.74332,88.626415 L 105.89453,88.871206 L 106.04404,89.116218 L 106.18586,89.350687 L 106.33633,89.577489 L 106.47746,89.793477 L 106.60921,89.981402 L 106.73209,90.159963 L 106.67618,90.197636 L 106.62914,90.226439 L 106.56338,90.253815 L 106.5161,90.282862 L 106.45945,90.30063 L 106.40281,90.320314 L 106.34641,90.358479 L 106.27173,90.394629 z "
-   id="path1100"
-   style="fill:url(#XMLID_50_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 106.76059,90.18847 L 106.27101,89.454565 L 105.8844,88.804902 L 105.57338,88.230833 L 105.33746,87.733338 L 105.17787,87.308782 L 105.07372,86.942075 L 105.03531,86.641598 L 105.03578,86.396807 L 105.08233,86.17986 L 105.15721,86.029633 L 105.27096,85.896658 L 105.39335,85.812661 L 105.53372,85.747145 L 105.67458,85.700354 L 105.81643,85.671307 L 105.9482,85.652826 L 105.93864,85.906808 L 105.94847,86.178705 L 105.96719,86.424454 L 105.996,86.696105 L 106.04303,86.951438 L 106.09869,87.214463 L 106.16517,87.468592 L 106.25059,87.722992 L 106.34466,87.986042 L 106.45769,88.249313 L 106.57097,88.513296 L 106.70297,88.776813 L 106.85415,89.039372 L 107.00438,89.302889 L 107.16539,89.575277 L 107.34346,89.848845 L 107.21221,89.942204 L 107.11863,90.018043 L 107.04257,90.056208 L 106.98594,90.074934 L 106.93962,90.103023 L 106.88248,90.122708 L 106.8352,90.150772 L 106.76059,90.18847 z "
-   id="path1119"
-   style="fill:url(#XMLID_51_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 107.40977,89.895931 L 107.21201,89.642489 L 107.00536,89.340341 L 106.79753,88.982751 L 106.58945,88.588447 L 106.40178,88.155019 L 106.24074,87.713187 L 106.09938,87.271379 L 105.99548,86.82908 L 105.92996,86.405015 L 105.91075,86.009998 L 105.94817,85.6529 L 106.05065,85.341634 L 106.2297,85.087726 L 106.48384,84.908452 L 106.81333,84.824209 L 107.24577,84.823251 L 107.19896,85.114833 L 107.18073,85.416268 L 107.17112,85.708095 L 107.17161,85.990805 L 107.18083,86.28219 L 107.22836,86.57355 L 107.28546,86.85626 L 107.35123,87.128402 L 107.43618,87.421212 L 107.54033,87.693846 L 107.65337,87.97631 L 107.79473,88.248699 L 107.9452,88.530204 L 108.12374,88.803797 L 108.31284,89.08604 L 108.51898,89.368503 L 108.38866,89.442646 L 108.23796,89.518484 L 108.07766,89.60344 L 107.90824,89.678787 L 107.74841,89.745483 L 107.60705,89.810999 L 107.48536,89.858282 L 107.40977,89.895931 z "
-   id="path1138"
-   style="fill:url(#XMLID_52_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 108.60998,83.759157 L 108.23369,83.834504 L 107.92314,83.97608 L 107.65965,84.182951 L 107.46214,84.43708 L 107.30205,84.747855 L 107.19911,85.096548 L 107.15185,85.482694 L 107.14249,85.887566 L 107.18112,86.300572 L 107.25671,86.752455 L 107.38871,87.204117 L 107.54925,87.64595 L 107.74797,88.088495 L 107.9918,88.520964 L 108.25578,88.935199 L 108.56655,89.320386 L 108.70791,89.235651 L 108.84927,89.151409 L 108.99927,89.075325 L 109.15024,89.000199 L 109.31943,88.925074 L 109.46991,88.830288 L 109.62013,88.7559 L 109.76099,88.651997 L 109.62971,88.350807 L 109.46892,88.040254 L 109.32782,87.710999 L 109.17808,87.39037 L 109.0264,87.052466 L 108.88409,86.704264 L 108.75305,86.365376 L 108.63089,86.036342 L 108.52579,85.707063 L 108.45066,85.38668 L 108.39355,85.067501 L 108.36595,84.774937 L 108.37436,84.483822 L 108.41274,84.219839 L 108.48713,83.975539 L 108.60998,83.759157 z "
-   id="path1157"
-   style="fill:url(#XMLID_53_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 109.92628,83.00488 L 109.40935,83.203125 L 109.00495,83.438553 L 108.71312,83.711654 L 108.5065,84.013335 L 108.38414,84.342566 L 108.34598,84.700401 L 108.36637,85.076446 L 108.44171,85.471463 L 108.56387,85.876335 L 108.73403,86.289832 L 108.91306,86.71461 L 109.1017,87.127861 L 109.29994,87.550722 L 109.50706,87.964711 L 109.68609,88.369337 L 109.83702,88.7646 L 109.94958,88.670281 L 110.07221,88.604273 L 110.19413,88.538043 L 110.32611,88.480907 L 110.44878,88.416349 L 110.58029,88.359237 L 110.71182,88.28389 L 110.83373,88.198442 L 110.80589,88.151873 L 110.72118,88.048437 L 110.62689,87.897965 L 110.48554,87.700433 L 110.33484,87.4566 L 110.175,87.164306 L 110.00534,86.84439 L 109.85437,86.487046 L 109.72165,86.111467 L 109.60836,85.715959 L 109.53274,85.282777 L 109.49458,84.850087 L 109.5049,84.38857 L 109.57953,83.937153 L 109.71128,83.465586 L 109.92628,83.00488 z "
-   id="path8936"
-   style="fill:url(#XMLID_54_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 111.45958,81.865661 L 111.0828,81.922279 L 110.73457,82.064127 L 110.43413,82.289234 L 110.18044,82.56258 L 109.95413,82.901198 L 109.78517,83.296682 L 109.66397,83.720255 L 109.57951,84.181993 L 109.55144,84.679979 L 109.57064,85.189245 L 109.65584,85.705933 L 109.78783,86.233433 L 109.9671,86.75012 L 110.21189,87.258895 L 110.5138,87.728792 L 110.88146,88.190038 L 112.10396,87.473434 L 112.00028,87.257936 L 111.88653,86.993486 L 111.76439,86.721097 L 111.64174,86.41079 L 111.52893,86.07146 L 111.40627,85.724191 L 111.30213,85.35606 L 111.20804,84.980236 L 111.13316,84.584751 L 111.08517,84.180617 L 111.06643,83.7856 L 111.06523,83.38987 L 111.10219,82.995344 L 111.18715,82.608954 L 111.29995,82.232169 L 111.45958,81.865661 z "
-   id="path1195"
-   style="fill:url(#XMLID_55_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 112.12294,87.51069 L 112.29188,87.398357 L 112.50788,87.257224 L 112.74355,87.134841 L 112.99842,86.992773 L 113.25162,86.870612 L 113.47792,86.738374 L 113.68409,86.625354 L 113.85326,86.531035 L 113.7119,86.202026 L 113.57079,85.854046 L 113.42969,85.505573 L 113.27825,85.147763 L 113.12802,84.790664 L 112.99555,84.433075 L 112.87337,84.066147 L 112.7505,83.698948 L 112.65594,83.342319 L 112.58922,82.993871 L 112.54268,82.6454 L 112.5242,82.306755 L 112.52373,81.986616 L 112.57052,81.675842 L 112.6641,81.374407 L 112.78649,81.101774 L 112.50353,81.15913 L 112.23135,81.26232 L 111.97672,81.403676 L 111.742,81.60143 L 111.53513,81.845757 L 111.35632,82.138296 L 111.21521,82.467549 L 111.11298,82.852982 L 111.04626,83.277268 L 111.02835,83.747411 L 111.06626,84.274419 L 111.15218,84.829272 L 111.30289,85.431628 L 111.5009,86.080331 L 111.78336,86.77703 L 112.12294,87.51069 z "
-   id="path1214"
-   style="fill:url(#XMLID_56_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 114.37572,80.319874 L 113.78294,80.499394 L 113.31283,80.724746 L 112.96437,81.017038 L 112.7203,81.356151 L 112.57919,81.722366 L 112.50432,82.137066 L 112.51464,82.560637 L 112.58062,83.022129 L 112.70324,83.483156 L 112.85443,83.953521 L 113.04307,84.423884 L 113.24105,84.884418 L 113.42921,85.33608 L 113.6176,85.769238 L 113.78727,86.164009 L 113.92958,86.530494 L 114.07959,86.417942 L 114.21999,86.33274 L 114.34311,86.248497 L 114.47488,86.172905 L 114.6064,86.097558 L 114.74751,86.01307 L 114.88862,85.909413 L 115.05687,85.796367 L 114.92583,85.419585 L 114.78376,85.052412 L 114.6525,84.695068 L 114.52963,84.347089 L 114.407,83.998863 L 114.31243,83.660956 L 114.21883,83.321602 L 114.14251,83.001929 L 114.08564,82.662355 L 114.05708,82.33379 L 114.03859,82.014364 L 114.0475,81.684862 L 114.08519,81.344797 L 114.15025,81.016255 L 114.25393,80.667805 L 114.37572,80.319874 z "
-   id="path8940"
-   style="fill:url(#XMLID_57_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 115.88115,79.490248 L 115.34456,79.651042 L 114.92145,79.886006 L 114.5922,80.178298 L 114.3383,80.526277 L 114.17845,80.912643 L 114.08512,81.344871 L 114.04769,81.797022 L 114.06664,82.268589 L 114.14248,82.757681 L 114.23702,83.246305 L 114.36014,83.726057 L 114.51038,84.196908 L 114.67114,84.658159 L 114.82136,85.072367 L 114.98262,85.457307 L 115.11388,85.796418 L 115.28283,85.68315 L 115.43401,85.588587 L 115.5749,85.503385 L 115.69706,85.418676 L 115.83792,85.334434 L 115.9795,85.249476 L 116.12997,85.136459 L 116.309,85.014049 L 116.10142,84.468071 L 115.92239,83.950645 L 115.76135,83.471851 L 115.62935,83.019699 L 115.51705,82.605465 L 115.42177,82.228461 L 115.3654,81.872073 L 115.30828,81.532745 L 115.29868,81.22219 L 115.30804,80.930119 L 115.33589,80.657509 L 115.39229,80.394237 L 115.47723,80.158099 L 115.57946,79.92385 L 115.72104,79.705945 L 115.88115,79.490248 z "
-   id="path1252"
-   style="fill:url(#XMLID_58_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 117.01941,78.858821 L 116.52096,79.037604 L 116.12428,79.283106 L 115.82429,79.583587 L 115.5891,79.933484 L 115.43863,80.309063 L 115.34552,80.723761 L 115.31792,81.166088 L 115.32704,81.627332 L 115.39351,82.087891 L 115.48758,82.558254 L 115.6011,83.028397 L 115.74221,83.470945 L 115.88477,83.91302 L 116.04461,84.318604 L 116.18643,84.684598 L 116.31866,85.023707 L 116.4593,84.938752 L 116.59034,84.863406 L 116.71321,84.777985 L 116.83583,84.712469 L 116.95822,84.627981 L 117.0799,84.543267 L 117.22124,84.4576 L 117.36211,84.354633 L 117.23108,84.109866 L 117.10749,83.818285 L 117.0038,83.508224 L 116.90015,83.160244 L 116.80587,82.802896 L 116.73963,82.416507 L 116.67315,82.030853 L 116.62587,81.626006 L 116.60715,81.231482 L 116.59707,80.825898 L 116.60619,80.440487 L 116.64339,80.082677 L 116.69979,79.724841 L 116.77516,79.404704 L 116.87813,79.113589 L 117.01941,78.858821 z "
-   id="path1271"
-   style="fill:url(#XMLID_59_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 118.35473,78.066848 L 117.81933,78.227884 L 117.3955,78.482287 L 117.06626,78.830756 L 116.84114,79.244995 L 116.68106,79.706019 L 116.59587,80.223198 L 116.56848,80.76075 L 116.58771,81.305526 L 116.64506,81.851974 L 116.73913,82.379008 L 116.84401,82.876992 L 116.97577,83.328406 L 117.09865,83.714775 L 117.21096,84.034446 L 117.31461,84.251391 L 117.38084,84.373311 L 117.55026,84.26051 L 117.70047,84.165969 L 117.85117,84.071899 L 118.00236,83.977336 L 118.15258,83.883727 L 118.28361,83.789163 L 118.4252,83.685483 L 118.56608,83.582048 L 118.49049,83.337476 L 118.38731,83.045648 L 118.28315,82.716396 L 118.18884,82.358091 L 118.07532,81.963789 L 117.97213,81.558672 L 117.88597,81.154758 L 117.80172,80.730692 L 117.74462,80.316461 L 117.71653,79.911589 L 117.71606,79.517038 L 117.75302,79.159471 L 117.82839,78.820119 L 117.95105,78.528045 L 118.12937,78.274872 L 118.35473,78.066848 z "
-   id="path1290"
-   style="fill:url(#XMLID_60_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 119.42748,77.595989 L 118.90959,77.70014 L 118.49609,77.888039 L 118.18579,78.142659 L 117.95012,78.471913 L 117.80011,78.848451 L 117.71635,79.272517 L 117.6878,79.714814 L 117.71734,80.194075 L 117.78357,80.675031 L 117.87669,81.163654 L 118.00002,81.64412 L 118.13226,82.113771 L 118.27386,82.537587 L 118.40608,82.932849 L 118.52824,83.261882 L 118.62231,83.544105 L 118.75429,83.450007 L 118.87623,83.384266 L 118.98902,83.32809 L 119.09246,83.280341 L 119.20575,83.223227 L 119.30894,83.176656 L 119.40372,83.120261 L 119.50595,83.054006 L 119.35573,82.734801 L 119.22373,82.395938 L 119.10111,82.065945 L 118.98855,81.727302 L 118.89472,81.369493 L 118.81792,81.031565 L 118.76128,80.673481 L 118.72335,80.315895 L 118.70441,79.958057 L 118.7229,79.601179 L 118.75983,79.262317 L 118.82609,78.913844 L 118.92903,78.565149 L 119.05141,78.235898 L 119.22062,77.915513 L 119.42748,77.595989 z "
-   id="path1309"
-   style="fill:url(#XMLID_61_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 120.63176,76.841933 L 120.25447,77.011845 L 119.91657,77.21921 L 119.6154,77.482481 L 119.37062,77.765657 L 119.15485,78.095159 L 118.98589,78.433527 L 118.86349,78.819428 L 118.76964,79.233882 L 118.72331,79.657483 L 118.72378,80.109145 L 118.75209,80.570416 L 118.81857,81.050633 L 118.92272,81.548866 L 119.08252,82.047563 L 119.2618,82.565234 L 119.48786,83.072094 L 119.62919,82.968656 L 119.76959,82.86571 L 119.92101,82.7709 L 120.08086,82.686412 L 120.23108,82.592807 L 120.39115,82.508096 L 120.54162,82.414245 L 120.68272,82.309606 L 120.56009,82.01849 L 120.42764,81.71755 L 120.30572,81.42523 L 120.17277,81.124285 L 120.06958,80.813731 L 119.97477,80.513036 L 119.89101,80.183043 L 119.8339,79.86337 L 119.81447,79.524752 L 119.80487,79.176774 L 119.84234,78.818717 L 119.90784,78.451766 L 120.02065,78.074981 L 120.17114,77.67972 L 120.37681,77.265754 L 120.63176,76.841933 z "
-   id="path1328"
-   style="fill:url(#XMLID_62_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 122.35296,75.777373 L 121.8456,75.985204 L 121.39299,76.248698 L 121.01717,76.531379 L 120.67879,76.851518 L 120.41505,77.20933 L 120.19882,77.595475 L 120.0392,77.999857 L 119.92639,78.433259 L 119.88033,78.874843 L 119.86185,79.344961 L 119.89926,79.816774 L 119.9756,80.305867 L 120.09847,80.804099 L 120.26742,81.293656 L 120.45656,81.783238 L 120.69149,82.281223 L 120.82324,82.187372 L 120.95501,82.093053 L 121.10594,81.980498 L 121.2473,81.875612 L 121.39752,81.763775 L 121.548,81.649772 L 121.69826,81.53697 L 121.84851,81.424171 L 121.65099,81.094648 L 121.50078,80.756276 L 121.35917,80.408297 L 121.25453,80.041588 L 121.17941,79.683755 L 121.13237,79.316554 L 121.10381,78.949599 L 121.11268,78.582181 L 121.15012,78.205866 L 121.2341,77.839649 L 121.33729,77.471494 L 121.46905,77.114149 L 121.64736,76.765926 L 121.84536,76.417231 L 122.08007,76.088444 L 122.35296,75.777373 z "
-   id="path8947"
-   style="fill:url(#XMLID_63_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 123.1142,75.165383 L 122.7475,75.438509 L 122.4096,75.720729 L 122.1089,76.040644 L 121.84517,76.380218 L 121.61981,76.756266 L 121.43167,77.133541 L 121.28141,77.528559 L 121.16839,77.943016 L 121.10287,78.366585 L 121.07578,78.808419 L 121.09422,79.241602 L 121.15112,79.693017 L 121.26463,80.144927 L 121.41559,80.596344 L 121.62247,81.048471 L 121.8778,81.490524 L 121.9995,81.38613 L 122.10293,81.30142 L 122.2157,81.226542 L 122.32896,81.15117 L 122.44152,81.075086 L 122.55453,81.000453 L 122.69567,80.915497 L 122.83631,80.812308 L 122.7233,80.379124 L 122.61028,79.96467 L 122.50564,79.598454 L 122.39356,79.240619 L 122.31772,78.901732 L 122.24258,78.581838 L 122.17631,78.271332 L 122.14729,77.961026 L 122.13768,77.650471 L 122.16553,77.339922 L 122.22264,77.019759 L 122.30713,76.690504 L 122.44728,76.341564 L 122.61648,75.984219 L 122.84207,75.58871 L 123.1142,75.165383 z "
-   id="path1366"
-   style="fill:url(#XMLID_64_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 124.80708,73.865618 L 124.22438,74.2237 L 123.71633,74.600233 L 123.29321,74.986383 L 122.95482,75.400615 L 122.68193,75.82419 L 122.47529,76.257371 L 122.32457,76.689815 L 122.24969,77.142903 L 122.20337,77.602972 L 122.21393,78.064241 L 122.26073,78.525759 L 122.33702,78.996148 L 122.44024,79.456927 L 122.57248,79.927562 L 122.7232,80.379222 L 122.88375,80.840223 L 122.96821,80.773994 L 123.08052,80.679923 L 123.22163,80.595435 L 123.36348,80.491041 L 123.5137,80.397431 L 123.6553,80.31201 L 123.76712,80.217939 L 123.86168,80.142592 L 123.71986,79.719975 L 123.61618,79.31486 L 123.54083,78.900623 L 123.49356,78.496709 L 123.46475,78.091617 L 123.4645,77.695862 L 123.50217,77.30156 L 123.55834,76.906074 L 123.64186,76.519684 L 123.74579,76.134028 L 123.87756,75.757493 L 124.0182,75.372085 L 124.18738,74.995057 L 124.37529,74.618985 L 124.58266,74.241715 L 124.80708,73.865618 z "
-   id="path1385"
-   style="fill:url(#XMLID_65_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 125.79416,73.064772 L 125.48503,73.280758 L 125.20231,73.545235 L 124.91073,73.855541 L 124.64771,74.213134 L 124.40292,74.590874 L 124.17782,75.004615 L 123.97984,75.446917 L 123.81088,75.917796 L 123.6705,76.416246 L 123.57737,76.924532 L 123.51211,77.441929 L 123.4845,77.978327 L 123.51257,78.515189 L 123.57856,79.051098 L 123.70168,79.587468 L 123.88049,80.123839 L 124.02209,80.001459 L 124.17184,79.889148 L 124.33239,79.785223 L 124.49198,79.681318 L 124.63262,79.596363 L 124.75598,79.530603 L 124.83998,79.464348 L 124.87766,79.408438 L 124.95349,79.106513 L 125.00893,78.78709 L 125.05573,78.438859 L 125.0934,78.062297 L 125.12148,77.676156 L 125.14859,77.271774 L 125.18603,76.857071 L 125.21409,76.434926 L 125.25176,76.001249 L 125.2885,75.568068 L 125.33578,75.126264 L 125.4013,74.702196 L 125.47593,74.269013 L 125.56018,73.86417 L 125.67273,73.45018 L 125.79416,73.064772 z "
-   id="path1404"
-   style="fill:url(#XMLID_66_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 127.40354,72.168646 L 126.9334,72.169361 L 126.53861,72.28287 L 126.21798,72.49021 L 125.96429,72.781792 L 125.75767,73.139602 L 125.59807,73.5819 L 125.48551,74.072219 L 125.38208,74.607635 L 125.3264,75.191287 L 125.26978,75.793666 L 125.23306,76.415461 L 125.19563,77.036543 L 125.14931,77.667012 L 125.08426,78.278758 L 125.00051,78.871306 L 124.88722,79.436725 L 125.00889,79.351523 L 125.14063,79.238014 L 125.30119,79.097616 L 125.46101,78.956017 L 125.62948,78.805791 L 125.79003,78.645242 L 125.93113,78.504131 L 126.0528,78.381478 L 126.11881,77.939181 L 126.16538,77.497592 L 126.21171,77.054337 L 126.23043,76.621868 L 126.25849,76.198294 L 126.27723,75.783126 L 126.29521,75.369627 L 126.32306,74.965002 L 126.37968,74.569984 L 126.43558,74.193916 L 126.5203,73.826494 L 126.63237,73.468659 L 126.77349,73.120186 L 126.94294,72.781324 L 127.15938,72.470304 L 127.40354,72.168646 z "
-   id="path1423"
-   style="fill:url(#XMLID_67_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 128.45684,71.339955 L 127.96748,71.642105 L 127.56311,71.971627 L 127.23409,72.338093 L 126.97083,72.734805 L 126.77403,73.15813 L 126.61419,73.600674 L 126.50189,74.071041 L 126.41742,74.551012 L 126.37036,75.049709 L 126.32429,75.5489 L 126.30556,76.056717 L 126.27725,76.574608 L 126.24004,77.082672 L 126.20357,77.590486 L 126.11862,78.089677 L 126.02573,78.579013 L 126.1282,78.49477 L 126.26906,78.390866 L 126.42987,78.268459 L 126.58033,78.135731 L 126.74042,78.014525 L 126.88105,77.909419 L 126.98449,77.826134 L 127.05047,77.778385 L 127.21894,77.608939 L 127.34202,77.39271 L 127.43515,77.1287 L 127.50137,76.818639 L 127.53856,76.479531 L 127.56689,76.09363 L 127.58466,75.679418 L 127.60312,75.246234 L 127.62231,74.794082 L 127.65015,74.315046 L 127.70608,73.825708 L 127.78093,73.336128 L 127.89253,72.827597 L 128.03367,72.328898 L 128.21245,71.829952 L 128.45684,71.339955 z "
-   id="path1442"
-   style="fill:url(#XMLID_68_);stroke:#000000;stroke-width:0.0882756" /><path
-   d="M 129.97143,70.482956 L 129.42545,70.633426 L 128.97402,70.916848 L 128.61644,71.27444 L 128.32606,71.716491 L 128.10024,72.225513 L 127.93057,72.790194 L 127.80915,73.383459 L 127.71557,73.985347 L 127.66899,74.596843 L 127.6318,75.199469 L 127.58572,75.774009 L 127.54757,76.300304 L 127.50103,76.761576 L 127.4259,77.156371 L 127.31335,77.458053 L 127.16358,77.664925 L 127.33255,77.533864 L 127.52093,77.401163 L 127.72734,77.250444 L 127.94404,77.091347 L 128.15067,76.921191 L 128.36737,76.761109 L 128.55552,76.591686 L 128.72492,76.440505 L 128.78996,75.97948 L 128.83724,75.555904 L 128.86484,75.151526 L 128.89243,74.766361 L 128.9013,74.39845 L 128.9013,74.041326 L 128.91979,73.683024 L 128.93803,73.344627 L 128.96658,73.015126 L 129.02249,72.676018 L 129.09712,72.337402 L 129.20103,71.989665 L 129.33254,71.631611 L 129.50175,71.274267 L 129.71749,70.88763 L 129.97143,70.482956 z "
-   id="path1461"
-   style="fill:url(#XMLID_69_);stroke:#000000;stroke-width:0.0882756" /><g
-   style="stroke:#000000"
-   id="g1463"
-   transform="matrix(0.2457491,-0.2457491,0.2457491,0.2457491,95.022367,94.120824)">
-					<linearGradient
-   id="linearGradient8956"
-   gradientUnits="userSpaceOnUse"
-   x1="-3581.9316"
-   y1="-3602.7837"
-   x2="-3565.7739"
-   y2="-3551.2231"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop8958" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop8960" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop8962" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop8964" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop8966" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop8968" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop8970" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop8972" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop8974" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop8976" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop8978" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop8980" />
-				</linearGradient>
-				<path
-   d="M 26.439,7.3066 L 26.2476,6.9238 L 26.0943,6.5039 L 25.942,6.081 L 25.8287,5.6601 L 25.7115,5.2011 L 25.5963,4.705 L 25.5192,4.246 L 25.4772,3.746 L 25.4411,3.287 L 25.4059,2.789 L 25.4049,2.29 L 25.4401,1.83 L 25.4762,1.371 L 25.5563,0.914 L 25.6686,0.4531 L 25.7829,0.0332 L 25.1716,0.8369 L 24.7126,1.7187 L 24.3679,2.5605 L 24.1784,3.4404 L 24.1022,4.3593 L 24.1022,5.2792 L 24.2184,6.1972 L 24.4127,7.1171 L 24.6402,8.0351 L 24.9498,8.9179 L 25.2926,9.7968 L 25.6354,10.6767 L 26.0202,11.5195 L 26.3669,12.3613 L 26.7126,13.1259 L 27.0554,13.8925 L 26.9812,13.7402 L 26.9441,13.4716 L 26.9021,13.206 L 26.9021,12.8613 L 26.865,12.4375 L 26.865,12.0166 L 26.865,11.5566 L 26.864,11.0605 L 26.8259,10.5615 L 26.8259,10.0635 L 26.7868,9.5293 L 26.7468,9.0313 L 26.7087,8.5704 L 26.6306,8.1095 L 26.5554,7.6896 L 26.439,7.3066 z "
-   id="path1490"
-   style="fill:url(#XMLID_70_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient8983"
-   gradientUnits="userSpaceOnUse"
-   x1="-3578.5146"
-   y1="-3603.8545"
-   x2="-3562.3569"
-   y2="-3552.2939"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop8985" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop8987" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop8989" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop8991" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop8993" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop8995" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop8997" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop8999" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9001" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9003" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9005" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9007" />
-				</linearGradient>
-				<path
-   d="M 14.77,23.209 L 15.4985,22.7871 L 16.228,22.3252 L 16.9145,21.9043 L 17.603,21.4824 L 18.2534,21.0996 L 18.9048,20.6777 L 19.521,20.2929 L 20.1304,19.873 L 20.7837,19.4892 L 21.3911,19.1054 L 22.0054,18.6835 L 22.6577,18.3017 L 23.269,17.916 L 23.9233,17.5742 L 24.6088,17.1885 L 25.2983,16.8067 L 24.688,17.417 L 24.0747,18.0332 L 23.4614,18.6445 L 22.8491,19.2207 L 22.1987,19.832 L 21.5473,20.3681 L 20.8969,20.9072 L 20.2094,21.4043 L 19.558,21.8652 L 18.8685,22.248 L 18.2171,22.5937 L 17.5296,22.8623 L 16.8411,23.0918 L 16.1526,23.207 L 15.4612,23.2441 L 14.77,23.209 z "
-   id="path1517"
-   style="fill:url(#XMLID_71_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9010"
-   gradientUnits="userSpaceOnUse"
-   x1="-3580.1533"
-   y1="-3603.3408"
-   x2="-3563.9956"
-   y2="-3551.7803"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9012" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9014" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9016" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9018" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9020" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9022" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9024" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9026" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9028" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9030" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9032" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9034" />
-				</linearGradient>
-				<path
-   d="M 20.4663,7.8848 L 21.0024,8.1924 L 21.5024,8.5371 L 21.9975,8.8818 L 22.4584,9.2256 L 22.9184,9.5684 L 23.3373,9.9512 L 23.7611,10.3721 L 24.184,10.7549 L 24.5678,11.1768 L 24.9516,11.5987 L 25.3334,12.0196 L 25.6781,12.4766 L 26.0609,12.8985 L 26.4066,13.3575 L 26.7504,13.8165 L 27.0961,14.2755 L 26.9428,13.7794 L 26.7504,13.2804 L 26.559,12.7433 L 26.3295,12.2091 L 26.0981,11.673 L 25.8335,11.174 L 25.5239,10.676 L 25.1782,10.1809 L 24.7964,9.7209 L 24.3355,9.34 L 23.8375,8.9552 L 23.3004,8.6114 L 22.688,8.3428 L 22.0357,8.1133 L 21.271,7.9609 L 20.4663,7.8848 z "
-   id="path1544"
-   style="fill:url(#XMLID_72_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9037"
-   gradientUnits="userSpaceOnUse"
-   x1="-3584.6758"
-   y1="-3601.9238"
-   x2="-3568.5181"
-   y2="-3550.3633"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9039" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9041" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9043" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9045" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9047" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9049" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9051" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9053" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9055" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9057" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9059" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9061" />
-				</linearGradient>
-				<path
-   d="M 26.1694,3.2852 L 26.3227,4.0518 L 26.437,4.8184 L 26.5913,5.584 L 26.7075,6.2735 L 26.7837,7 L 26.898,7.6895 L 26.9771,8.379 L 27.0923,9.0685 L 27.1675,9.757 L 27.2847,10.4465 L 27.3589,11.0979 L 27.4771,11.7874 L 27.5933,12.4769 L 27.7085,13.1664 L 27.8589,13.8559 L 28.0161,14.5825 L 28.0923,13.7407 L 28.2056,12.936 L 28.2827,12.0932 L 28.3589,11.2524 L 28.396,10.4458 L 28.4341,9.6411 L 28.395,8.8359 L 28.356,8.0723 L 28.2798,7.3057 L 28.1636,6.6172 L 27.9693,5.9277 L 27.7408,5.2763 L 27.4722,4.7031 L 27.0884,4.166 L 26.6665,3.706 L 26.1694,3.2852 z "
-   id="path1571"
-   style="fill:url(#XMLID_73_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9064"
-   gradientUnits="userSpaceOnUse"
-   x1="-3578.7671"
-   y1="-3603.7754"
-   x2="-3562.6094"
-   y2="-3552.2148"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9066" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9068" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9070" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9072" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9074" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9076" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9078" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9080" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9082" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9084" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9086" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9088" />
-				</linearGradient>
-				<path
-   d="M 22.0698,2.0273 L 21.3774,2.6757 L 20.9614,3.4042 L 20.772,4.1699 L 20.732,4.9746 L 20.8853,5.7783 L 21.1919,6.6211 L 21.6157,7.4649 L 22.1137,8.3057 L 22.6889,9.1094 L 23.3002,9.9141 L 23.9535,10.6778 L 24.6039,11.3673 L 25.2182,12.0568 L 25.7524,12.6291 L 26.2153,13.1682 L 26.5981,13.5862 L 26.521,12.4387 L 26.3667,11.4436 L 26.1753,10.5998 L 25.8687,9.8361 L 25.563,9.1855 L 25.1773,8.6113 L 24.7955,8.0761 L 24.3717,7.5751 L 23.9889,7.079 L 23.5649,6.584 L 23.1831,6.0459 L 22.8765,5.4326 L 22.5699,4.7441 L 22.3394,3.9785 L 22.145,3.0596 L 22.0698,2.0273 z "
-   id="path1598"
-   style="fill:url(#XMLID_74_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9091"
-   gradientUnits="userSpaceOnUse"
-   x1="-3584.2759"
-   y1="-3602.0488"
-   x2="-3568.1182"
-   y2="-3550.4883"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9093" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9095" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9097" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9099" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9101" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9103" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9105" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9107" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9109" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9111" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9113" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9115" />
-				</linearGradient>
-				<path
-   d="M 26.981,14.2754 L 26.981,13.4707 L 27.0201,12.7061 L 27.0543,11.9415 L 27.0943,11.1739 L 27.1304,10.4454 L 27.2075,9.7188 L 27.2837,8.9922 L 27.3569,8.3008 L 27.4741,7.6123 L 27.5884,6.8848 L 27.7779,6.1953 L 27.9302,5.5058 L 28.1236,4.8163 L 28.3912,4.1268 L 28.6197,3.4373 L 28.9254,2.7478 L 27.814,3.8213 L 26.896,4.8555 L 26.2466,5.8145 L 25.7896,6.7344 L 25.481,7.6133 L 25.3296,8.418 L 25.2925,9.2237 L 25.3696,9.9503 L 25.5649,10.6398 L 25.7514,11.2912 L 26.0209,11.9045 L 26.2914,12.4377 L 26.5219,12.9748 L 26.7504,13.4338 L 26.9027,13.8928 L 26.981,14.2754 z "
-   id="path1625"
-   style="fill:url(#XMLID_75_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9118"
-   gradientUnits="userSpaceOnUse"
-   x1="-3577.7891"
-   y1="-3604.082"
-   x2="-3561.6313"
-   y2="-3552.5215"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9120" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9122" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9124" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9126" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9128" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9130" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9132" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9134" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9136" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9138" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9140" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9142" />
-				</linearGradient>
-				<path
-   d="M 15.7612,16.9268 L 16.3745,17.0411 L 16.9888,17.1573 L 17.6001,17.2325 L 18.2134,17.3077 L 18.8228,17.3458 L 19.439,17.3829 L 20.0523,17.3829 L 20.6275,17.3829 L 21.2398,17.3438 L 21.814,17.3438 L 22.4273,17.2667 L 23.0005,17.2286 L 23.6138,17.1886 L 24.189,17.1134 L 24.8013,17.0343 L 25.3755,16.9591 L 24.8775,17.1876 L 24.3795,17.38 L 23.8443,17.6114 L 23.3072,17.8018 L 22.733,17.9952 L 22.1568,18.1466 L 21.5464,18.3029 L 20.936,18.3791 L 20.3237,18.4182 L 19.6723,18.4182 L 19.0209,18.3791 L 18.3666,18.2287 L 17.7152,18.0373 L 17.0638,17.7678 L 16.4154,17.3869 L 15.7612,16.9268 z "
-   id="path1652"
-   style="fill:url(#XMLID_76_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9145"
-   gradientUnits="userSpaceOnUse"
-   x1="-3576.8662"
-   y1="-3604.3711"
-   x2="-3560.7085"
-   y2="-3552.8105"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9147" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9149" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9151" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9153" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9155" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9157" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9159" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9161" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9163" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9165" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9167" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9169" />
-				</linearGradient>
-				<path
-   d="M 19.3267,20.0264 L 18.8658,20.1045 L 18.4469,20.1797 L 17.986,20.2949 L 17.529,20.4101 L 17.0661,20.6044 L 16.61,20.7558 L 16.1891,20.9472 L 15.7291,21.1777 L 15.3082,21.4082 L 14.8873,21.6748 L 14.5045,21.9453 L 14.1188,22.2129 L 13.776,22.5195 L 13.4684,22.8261 L 13.1647,23.1327 L 12.8952,23.4765 L 13.1638,22.5595 L 13.5857,21.7519 L 14.0798,21.0644 L 14.695,20.413 L 15.3825,19.8769 L 16.1501,19.3769 L 16.9899,18.956 L 17.8717,18.6093 L 18.7906,18.3036 L 19.7095,17.997 L 20.6646,17.7656 L 21.6226,17.5351 L 22.5796,17.3417 L 23.4985,17.1522 L 24.3413,16.9979 L 25.1831,16.8055 L 24.7632,16.9588 L 24.189,17.2645 L 23.4986,17.7274 L 22.6578,18.2245 L 21.815,18.7597 L 20.9361,19.2587 L 20.0943,19.7187 L 19.3267,20.0264 z "
-   id="path1679"
-   style="fill:url(#XMLID_77_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9172"
-   gradientUnits="userSpaceOnUse"
-   x1="-3581.9321"
-   y1="-3602.7837"
-   x2="-3565.7744"
-   y2="-3551.2231"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9174" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9176" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9178" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9180" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9182" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9184" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9186" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9188" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9190" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9192" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9194" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9196" />
-				</linearGradient>
-				<path
-   d="M 17.5698,26.8828 L 17.2251,26.0019 L 17.1079,25.1581 L 17.2241,24.3163 L 17.5307,23.5507 L 17.9877,22.8222 L 18.6,22.0956 L 19.3275,21.4052 L 20.1312,20.7909 L 20.974,20.1776 L 21.8529,19.6415 L 22.7718,19.1034 L 23.6556,18.6444 L 24.4564,18.2245 L 25.223,17.8378 L 25.8744,17.494 L 26.3705,17.1854 L 25.8383,18.2987 L 25.3002,19.2176 L 24.727,19.9451 L 24.1909,20.5974 L 23.6167,21.0954 L 23.0425,21.5544 L 22.4683,21.9001 L 21.8941,22.2458 L 21.3228,22.5915 L 20.7457,22.9733 L 20.1734,23.3571 L 19.6373,23.8171 L 19.1002,24.3903 L 18.565,25.0817 L 18.0679,25.8874 L 17.5698,26.8828 z "
-   id="path1706"
-   style="fill:url(#XMLID_78_);stroke-width:0.25400001" />
-					<linearGradient
-   id="linearGradient9199"
-   gradientUnits="userSpaceOnUse"
-   x1="-3586.4019"
-   y1="-3601.3828"
-   x2="-3570.2441"
-   y2="-3549.8223"
-   gradientTransform="matrix(-0.5318,4e-4,4e-4,0.5318,-1875.189,1917.5271)">
-					<stop
-   offset="0"
-   style="stop-color:#D8E7EB"
-   id="stop9201" />
-					<stop
-   offset="0.0684"
-   style="stop-color:#D0DFE4"
-   id="stop9203" />
-					<stop
-   offset="0.1761"
-   style="stop-color:#B9CAD0"
-   id="stop9205" />
-					<stop
-   offset="0.3096"
-   style="stop-color:#94A7B0"
-   id="stop9207" />
-					<stop
-   offset="0.4622"
-   style="stop-color:#627784"
-   id="stop9209" />
-					<stop
-   offset="0.5537"
-   style="stop-color:#405766"
-   id="stop9211" />
-					<stop
-   offset="0.6113"
-   style="stop-color:#607682"
-   id="stop9213" />
-					<stop
-   offset="0.6983"
-   style="stop-color:#8B9EA8"
-   id="stop9215" />
-					<stop
-   offset="0.7829"
-   style="stop-color:#ADBEC5"
-   id="stop9217" />
-					<stop
-   offset="0.8633"
-   style="stop-color:#C5D5DA"
-   id="stop9219" />
-					<stop
-   offset="0.9376"
-   style="stop-color:#D3E2E7"
-   id="stop9221" />
-					<stop
-   offset="1"
-   style="stop-color:#D8E7EB"
-   id="stop9223" />
-				</linearGradient>
-				<path
-   d="M 27.2144,17.4531 L 26.7925,18.1054 L 26.3726,18.7577 L 25.9517,19.4081 L 25.5718,20.0214 L 25.2261,20.6347 L 24.8814,21.2841 L 24.5357,21.8984 L 24.231,22.5117 L 23.9273,23.164 L 23.6597,23.8144 L 23.3882,24.4277 L 23.1597,25.0781 L 22.9693,25.7676 L 22.7769,26.418 L 22.6246,27.1075 L 22.4723,27.838 L 22.0885,26.3829 L 21.8971,25.1183 L 21.8561,23.9689 L 21.9713,22.9748 L 22.1998,22.131 L 22.5455,21.3654 L 22.9654,20.7131 L 23.4234,20.176 L 23.9615,19.677 L 24.4967,19.2561 L 25.0699,18.9104 L 25.607,18.6047 L 26.1031,18.299 L 26.5631,18.0314 L 26.9049,17.7248 L 27.2144,17.4531 z "
-   id="path1733"
-   style="fill:url(#XMLID_79_);stroke-width:0.25400001" />
-			</g><g
-   id="g659"> 
-</g>
-
-<clipPath
-   id="clippath2"> 	<path
-   d="M 206.512,283.82 L 206.512,283.82 L 204.824,284.09 L 203.254,284.129 L 201.801,283.977 L 200.422,283.633 L 199.16,283.098 L 198.008,282.445 L 196.859,281.68 L 195.824,280.801 L 194.789,279.883 L 193.832,278.887 L 192.871,277.816 L 191.953,276.785 L 190.996,275.75 L 190.035,274.719 L 189.078,273.762 L 188.082,272.883 L 188.082,272.883 L 188.465,272.918 L 188.887,272.918 L 189.27,272.957 L 189.691,272.992 L 190.113,273.031 L 190.535,273.109 L 190.953,273.145 L 191.375,273.184 L 191.793,273.223 L 192.258,273.262 L 192.676,273.34 L 193.137,273.375 L 193.598,273.414 L 194.055,273.449 L 194.516,273.449 L 194.973,273.488 L 194.973,273.488 L 195.32,274.023 L 195.742,274.676 L 196.277,275.441 L 196.852,276.242 L 197.543,277.125 L 198.273,278.004 L 199.039,278.922 L 199.844,279.801 L 200.688,280.645 L 201.527,281.449 L 202.41,282.176 L 203.254,282.789 L 204.098,283.285 L 204.941,283.629 L 205.742,283.82 L 206.512,283.82"
-   id="path666" />
-</clipPath>
-<g
-   id="g668"> 
-</g>
-
-<clipPath
-   id="clippath3"> 	<path
-   d="M 209.652,283.855 L 209.652,283.855 L 208.695,283.973 L 207.773,284.047 L 206.895,284.012 L 206.012,283.855 L 205.133,283.668 L 204.289,283.324 L 203.449,282.902 L 202.566,282.328 L 201.684,281.676 L 200.801,280.914 L 199.918,279.992 L 199,279 L 198.043,277.812 L 197.043,276.512 L 196.012,275.098 L 194.938,273.488 L 194.938,273.488 L 195.59,273.488 L 196.203,273.527 L 196.816,273.602 L 197.426,273.676 L 198.039,273.758 L 198.652,273.828 L 199.34,273.828 L 200.066,273.828 L 200.066,273.828 L 200.684,274.441 L 201.258,275.09 L 201.832,275.707 L 202.406,276.395 L 202.98,277.043 L 203.52,277.734 L 204.094,278.383 L 204.633,279.074 L 205.207,279.723 L 205.781,280.371 L 206.391,281.023 L 206.969,281.637 L 207.617,282.211 L 208.273,282.785 L 208.922,283.355 L 209.652,283.855"
-   id="path675" />
-</clipPath>
-<g
-   id="g677"> 
-</g>
-
-<clipPath
-   id="clippath4"> 	<path
-   d="M 212.98,283.699 L 212.98,283.699 L 212.254,284.086 L 211.453,284.238 L 210.645,284.121 L 209.805,283.781 L 208.961,283.281 L 208.078,282.59 L 207.199,281.828 L 206.316,280.91 L 205.473,279.953 L 204.59,278.957 L 203.785,277.961 L 202.98,277.004 L 202.215,276.047 L 201.484,275.207 L 200.797,274.48 L 200.184,273.863 L 204.281,274.246 L 204.281,274.246 L 204.742,274.859 L 205.242,275.469 L 205.699,276.086 L 206.16,276.695 L 206.617,277.309 L 207.117,277.922 L 207.578,278.535 L 208.078,279.145 L 208.613,279.719 L 209.152,280.332 L 209.688,280.91 L 210.301,281.477 L 210.91,282.051 L 211.566,282.629 L 212.254,283.164 L 212.98,283.699"
-   id="path684" />
-</clipPath>
-<g
-   id="g686"> 
-</g>
-
-<clipPath
-   id="clippath5"> 	<path
-   d="M 219.762,282.812 L 219.762,282.812 L 218.574,283.578 L 217.465,284.078 L 216.352,284.309 L 215.277,284.309 L 214.246,284.117 L 213.25,283.777 L 212.293,283.238 L 211.336,282.551 L 210.414,281.711 L 209.492,280.832 L 208.652,279.793 L 207.77,278.762 L 206.926,277.652 L 206.082,276.508 L 205.277,275.359 L 204.473,274.246 L 204.473,274.246 L 205.16,274.363 L 205.699,274.398 L 206.082,274.434 L 206.426,274.477 L 206.77,274.516 L 207.113,274.512 L 207.613,274.551 L 208.266,274.586 L 208.266,274.586 L 208.992,275.621 L 209.723,276.578 L 210.449,277.496 L 211.254,278.301 L 212.02,279.027 L 212.785,279.719 L 213.59,280.328 L 214.359,280.863 L 215.125,281.324 L 215.891,281.742 L 216.617,282.047 L 217.309,282.316 L 217.996,282.547 L 218.609,282.699 L 219.223,282.773 L 219.762,282.812"
-   id="path693" />
-</clipPath>
-<g
-   id="g695"> 
-</g>
-
-<clipPath
-   id="clippath6"> 	<path
-   d="M 223.324,282.578 L 223.324,282.578 L 222.094,282.73 L 220.91,282.812 L 219.762,282.734 L 218.652,282.582 L 217.613,282.355 L 216.582,282.012 L 215.621,281.59 L 214.703,281.055 L 213.785,280.48 L 212.941,279.832 L 212.098,279.105 L 211.293,278.301 L 210.527,277.461 L 209.797,276.543 L 209.07,275.582 L 208.379,274.59 L 208.379,274.59 L 209.145,274.629 L 209.988,274.703 L 210.789,274.777 L 211.598,274.816 L 212.285,274.895 L 212.859,274.926 L 213.281,274.969 L 213.473,275.004 L 213.473,275.004 L 213.551,275.082 L 213.742,275.273 L 214.047,275.578 L 214.43,275.965 L 214.852,276.422 L 215.391,276.957 L 215.965,277.531 L 216.613,278.145 L 217.348,278.754 L 218.109,279.406 L 218.879,280.02 L 219.719,280.633 L 220.598,281.203 L 221.48,281.738 L 222.402,282.199 L 223.324,282.578"
-   id="path702" />
-</clipPath>
-<g
-   id="g704"> 
-</g>
-
-<clipPath
-   id="clippath7"> 	<path
-   d="M 228.031,282.844 L 228.031,282.844 L 226.996,283.039 L 226,283.113 L 224.969,283 L 223.934,282.809 L 222.898,282.469 L 221.906,282.043 L 220.91,281.547 L 219.91,280.934 L 218.992,280.289 L 218.074,279.598 L 217.191,278.871 L 216.348,278.105 L 215.543,277.301 L 214.777,276.539 L 214.086,275.77 L 213.434,275.004 L 213.434,275.004 L 213.895,275.004 L 214.469,275.043 L 215.082,275.082 L 215.73,275.082 L 216.348,275.152 L 216.961,275.195 L 217.457,275.234 L 217.879,275.309 L 217.879,275.309 L 217.879,275.387 L 218.031,275.574 L 218.414,275.922 L 218.949,276.344 L 219.602,276.879 L 220.367,277.488 L 221.211,278.145 L 222.094,278.789 L 223.012,279.477 L 223.93,280.168 L 224.813,280.82 L 225.656,281.395 L 226.422,281.926 L 227.113,282.348 L 227.648,282.652 L 228.031,282.844"
-   id="path711" />
-</clipPath>
-<g
-   id="g713"> 
-</g>
-
-<clipPath
-   id="clippath8"> 	<path
-   d="M 233.238,282.801 L 233.238,282.801 L 232.629,283.414 L 231.824,283.68 L 230.828,283.684 L 229.715,283.418 L 228.488,282.957 L 227.227,282.309 L 225.887,281.543 L 224.582,280.703 L 223.281,279.785 L 222.055,278.867 L 220.906,277.988 L 219.906,277.145 L 219.027,276.457 L 218.375,275.883 L 217.953,275.504 L 217.762,275.348 L 217.762,275.348 L 218.258,275.387 L 218.797,275.422 L 219.371,275.461 L 219.945,275.5 L 220.559,275.574 L 221.172,275.613 L 221.785,275.652 L 222.434,275.691 L 222.434,275.691 L 223.125,276.109 L 223.813,276.531 L 224.504,276.988 L 225.156,277.41 L 225.844,277.867 L 226.496,278.363 L 227.184,278.824 L 227.84,279.285 L 228.527,279.781 L 229.18,280.238 L 229.867,280.699 L 230.52,281.156 L 231.207,281.578 L 231.898,282 L 232.551,282.418 L 233.238,282.801"
-   id="path720" />
-</clipPath>
-<g
-   id="g722"> 
-</g>
-
-<clipPath
-   id="clippath9"> 	<path
-   d="M 237.07,282.875 L 237.07,282.875 L 236.418,283.105 L 235.77,283.223 L 235.117,283.258 L 234.465,283.148 L 233.813,282.953 L 233.125,282.687 L 232.398,282.305 L 231.629,281.848 L 230.785,281.309 L 229.906,280.699 L 228.949,280.012 L 227.875,279.285 L 226.688,278.48 L 225.422,277.602 L 224.043,276.68 L 222.512,275.727 L 222.512,275.727 L 223.164,275.766 L 223.891,275.801 L 224.539,275.801 L 225.191,275.84 L 225.766,275.879 L 226.223,275.914 L 226.531,275.953 L 226.648,275.988 L 226.648,275.988 L 226.723,276.105 L 226.953,276.336 L 227.301,276.645 L 227.758,277.062 L 228.332,277.559 L 228.984,278.137 L 229.676,278.707 L 230.48,279.32 L 231.285,279.93 L 232.129,280.543 L 232.969,281.078 L 233.852,281.613 L 234.695,282.074 L 235.535,282.457 L 236.34,282.723 L 237.07,282.875"
-   id="path729" />
-</clipPath>
-<g
-   id="g731"> 
-</g>
-
-<clipPath
-   id="clippath10"> 	<path
-   d="M 239.863,282.453 L 239.863,282.453 L 238.984,282.797 L 238.027,282.949 L 237.031,282.879 L 235.996,282.609 L 234.922,282.227 L 233.891,281.727 L 232.816,281.121 L 231.82,280.43 L 230.863,279.742 L 229.941,279.016 L 229.098,278.328 L 228.371,277.637 L 227.719,277.062 L 227.223,276.562 L 226.84,276.223 L 226.609,275.988 L 226.609,275.988 L 227.223,276.027 L 227.797,276.07 L 228.371,276.105 L 228.945,276.18 L 229.48,276.223 L 230.059,276.258 L 230.668,276.332 L 231.281,276.371 L 231.281,276.371 L 231.738,276.793 L 232.242,277.211 L 232.699,277.633 L 233.199,278.094 L 233.695,278.59 L 234.195,279.051 L 234.73,279.508 L 235.27,279.965 L 235.805,280.391 L 236.34,280.809 L 236.914,281.191 L 237.449,281.535 L 238.063,281.844 L 238.637,282.105 L 239.25,282.301 L 239.863,282.453"
-   id="path738" />
-</clipPath>
-<g
-   id="g740"> 
-</g>
-
-<clipPath
-   id="clippath11"> 	<path
-   d="M 243.23,281.379 L 243.23,281.379 L 242.469,281.914 L 241.703,282.258 L 240.938,282.414 L 240.172,282.453 L 239.402,282.301 L 238.637,282.07 L 237.871,281.727 L 237.105,281.27 L 236.379,280.77 L 235.613,280.16 L 234.883,279.547 L 234.156,278.895 L 233.426,278.246 L 232.738,277.555 L 232.047,276.906 L 231.355,276.293 L 231.355,276.293 L 231.781,276.332 L 232.238,276.41 L 232.734,276.445 L 233.273,276.484 L 233.848,276.559 L 234.461,276.598 L 235.109,276.672 L 235.723,276.711 L 235.723,276.711 L 235.914,277.172 L 236.184,277.629 L 236.453,278.051 L 236.797,278.473 L 237.18,278.855 L 237.602,279.238 L 238.023,279.617 L 238.52,279.926 L 239.02,280.23 L 239.555,280.5 L 240.129,280.77 L 240.707,280.961 L 241.32,281.113 L 241.93,281.266 L 242.582,281.34 L 243.23,281.379"
-   id="path747" />
-</clipPath>
-<g
-   id="g749"> 
-</g>
-
-<clipPath
-   id="clippath12"> 	<path
-   d="M 246.262,280.801 L 246.262,280.801 L 245.605,281.07 L 244.918,281.262 L 244.191,281.379 L 243.387,281.379 L 242.617,281.34 L 241.777,281.227 L 240.973,280.996 L 240.168,280.77 L 239.402,280.422 L 238.672,280.039 L 238.023,279.617 L 237.41,279.125 L 236.871,278.586 L 236.414,278.016 L 236.07,277.363 L 235.84,276.711 L 235.84,276.711 L 236.297,276.75 L 236.758,276.789 L 237.254,276.863 L 237.754,276.902 L 238.25,276.941 L 238.785,276.977 L 239.359,277.016 L 240.016,277.051 L 240.016,277.051 L 240.281,277.434 L 240.59,277.82 L 240.895,278.164 L 241.199,278.469 L 241.508,278.777 L 241.855,279.004 L 242.199,279.273 L 242.543,279.504 L 242.926,279.695 L 243.348,279.883 L 243.77,280.074 L 244.227,280.227 L 244.688,280.383 L 245.184,280.535 L 245.723,280.648 L 246.262,280.801"
-   id="path756" />
-</clipPath>
-<g
-   id="g758"> 
-</g>
-
-<clipPath
-   id="clippath13"> 	<path
-   d="M 247.828,280.266 L 247.828,280.266 L 247.598,280.492 L 247.254,280.648 L 246.832,280.727 L 246.371,280.727 L 245.836,280.687 L 245.262,280.574 L 244.648,280.383 L 244.035,280.191 L 243.422,279.922 L 242.809,279.613 L 242.199,279.273 L 241.66,278.891 L 241.121,278.469 L 240.664,278.012 L 240.32,277.551 L 240.016,277.051 L 240.016,277.051 L 240.355,277.094 L 240.664,277.129 L 241.047,277.168 L 241.395,277.207 L 241.734,277.242 L 242.043,277.281 L 242.309,277.281 L 242.578,277.281 L 242.578,277.281 L 242.578,277.434 L 242.922,277.738 L 243.5,278.16 L 244.266,278.66 L 245.184,279.156 L 246.105,279.652 L 247.023,280.035 L 247.828,280.266"
-   id="path765" />
-</clipPath>
-<g
-   id="g767"> 
-</g>
-
-<clipPath
-   id="clippath14"> 	<path
-   d="M 248.938,279.191 L 248.938,279.191 L 248.859,279.727 L 248.668,280.07 L 248.363,280.227 L 247.945,280.301 L 247.445,280.227 L 246.871,280.035 L 246.297,279.805 L 245.684,279.5 L 245.07,279.156 L 244.496,278.773 L 243.918,278.395 L 243.461,278.047 L 243.039,277.738 L 242.73,277.512 L 242.539,277.359 L 242.504,277.281 L 245.488,277.621 L 245.488,277.621 L 245.719,277.773 L 246.102,277.969 L 246.563,278.199 L 247.063,278.426 L 247.598,278.695 L 248.094,278.883 L 248.555,279.078 L 248.938,279.191"
-   id="path774" />
-</clipPath>
-<g
-   id="g776"> 
-</g>
-
-<clipPath
-   id="clippath15"> 	<path
-   d="M 245.488,277.621 L 245.488,277.621 L 246.141,277.66 L 246.715,277.699 L 247.25,277.738 L 247.75,277.773 L 248.211,277.812 L 248.707,277.852 L 249.203,277.926 L 249.781,278.043 L 249.781,278.043 L 249.664,278.77 L 249.32,279.113 L 248.785,279.113 L 248.094,278.926 L 247.406,278.578 L 246.676,278.195 L 246.027,277.852 L 245.488,277.621"
-   id="path783" />
-</clipPath>
-<g
-   id="g785"> 
-</g>
-
-<clipPath
-   id="clippath16"> 	<path
-   d="M 245.602,277.242 L 245.602,277.242 L 246.258,277.355 L 246.832,277.43 L 247.328,277.547 L 247.828,277.621 L 248.285,277.734 L 248.742,277.852 L 249.281,277.965 L 249.855,278.117 L 249.855,278.117 L 249.895,277.277 L 249.547,276.738 L 249.012,276.547 L 248.285,276.512 L 247.52,276.664 L 246.754,276.859 L 246.102,277.09 L 245.602,277.242"
-   id="path792" />
-</clipPath>
-<g
-   id="g794"> 
-</g>
-
-<clipPath
-   id="clippath17"> 	<path
-   d="M 205.766,261.684 L 205.766,261.684 L 204.082,261.035 L 202.469,260.613 L 200.977,260.504 L 199.563,260.578 L 198.184,260.887 L 196.922,261.348 L 195.695,261.996 L 194.508,262.727 L 193.359,263.57 L 192.246,264.488 L 191.141,265.449 L 190.066,266.445 L 188.996,267.402 L 187.926,268.324 L 186.852,269.207 L 185.742,270.012 L 185.742,270.012 L 186.129,270.086 L 186.547,270.121 L 186.969,270.164 L 187.352,270.238 L 187.773,270.277 L 188.195,270.316 L 188.656,270.352 L 189.074,270.391 L 189.496,270.426 L 189.957,270.469 L 190.414,270.543 L 190.84,270.582 L 191.297,270.621 L 191.758,270.695 L 192.254,270.73 L 192.715,270.809 L 192.715,270.809 L 193.098,270.273 L 193.594,269.621 L 194.168,268.855 L 194.855,268.09 L 195.582,267.246 L 196.387,266.402 L 197.266,265.559 L 198.148,264.754 L 199.105,263.988 L 200.059,263.301 L 201.016,262.684 L 202.016,262.187 L 202.973,261.801 L 203.93,261.574 L 204.887,261.535 L 205.766,261.684"
-   id="path801" />
-</clipPath>
-<g
-   id="g803"> 
-</g>
-
-<clipPath
-   id="clippath18"> 	<path
-   d="M 208.641,262.332 L 208.641,262.332 L 207.68,261.988 L 206.762,261.762 L 205.883,261.609 L 204.961,261.531 L 204.082,261.609 L 203.16,261.801 L 202.281,262.07 L 201.363,262.492 L 200.406,263.031 L 199.449,263.723 L 198.453,264.523 L 197.418,265.484 L 196.313,266.594 L 195.203,267.859 L 194.016,269.277 L 192.754,270.848 L 192.754,270.848 L 193.441,270.887 L 194.055,270.961 L 194.629,270.996 L 195.164,271.074 L 195.703,271.152 L 196.273,271.227 L 196.926,271.34 L 197.691,271.457 L 197.691,271.457 L 198.383,270.883 L 199.031,270.27 L 199.723,269.617 L 200.336,268.965 L 200.984,268.312 L 201.633,267.664 L 202.246,267.012 L 202.898,266.359 L 203.547,265.746 L 204.234,265.172 L 204.887,264.598 L 205.578,264.023 L 206.301,263.523 L 207.07,263.102 L 207.836,262.68 L 208.641,262.332"
-   id="path810" />
-</clipPath>
-<g
-   id="g812"> 
-</g>
-
-<clipPath
-   id="clippath19"> 	<path
-   d="M 211.855,263.176 L 211.855,263.176 L 211.129,262.562 L 210.32,262.258 L 209.441,262.18 L 208.563,262.371 L 207.605,262.758 L 206.648,263.293 L 205.652,263.984 L 204.656,264.789 L 203.66,265.668 L 202.668,266.59 L 201.711,267.512 L 200.793,268.469 L 199.953,269.348 L 199.109,270.152 L 198.383,270.844 L 197.691,271.418 L 201.867,271.914 L 201.867,271.914 L 202.402,271.301 L 202.941,270.684 L 203.438,270.074 L 203.973,269.461 L 204.508,268.848 L 205.043,268.195 L 205.613,267.582 L 206.152,267.008 L 206.766,266.43 L 207.375,265.859 L 208.027,265.32 L 208.715,264.824 L 209.445,264.324 L 210.211,263.902 L 211.012,263.52 L 211.855,263.176"
-   id="path819" />
-</clipPath>
-<g
-   id="g821"> 
-</g>
-
-<clipPath
-   id="clippath20"> 	<path
-   d="M 218.137,265.852 L 218.137,265.852 L 216.988,264.738 L 215.879,263.937 L 214.805,263.402 L 213.73,263.098 L 212.66,263.059 L 211.625,263.215 L 210.594,263.598 L 209.598,264.098 L 208.602,264.785 L 207.648,265.59 L 206.652,266.512 L 205.73,267.508 L 204.773,268.543 L 203.855,269.652 L 202.941,270.766 L 202.02,271.875 L 202.02,271.875 L 202.75,271.914 L 203.359,271.949 L 203.859,271.988 L 204.32,272.066 L 204.777,272.141 L 205.277,272.215 L 205.848,272.293 L 206.539,272.406 L 206.539,272.406 L 207.344,271.371 L 208.109,270.453 L 208.91,269.609 L 209.676,268.883 L 210.48,268.27 L 211.246,267.73 L 211.973,267.27 L 212.738,266.891 L 213.469,266.582 L 214.156,266.352 L 214.883,266.16 L 215.574,266.008 L 216.223,265.926 L 216.875,265.852 L 217.523,265.852 L 218.137,265.852"
-   id="path828" />
-</clipPath>
-<g
-   id="g830"> 
-</g>
-
-<clipPath
-   id="clippath21"> 	<path
-   d="M 222.621,266.883 L 222.621,266.883 L 221.352,266.422 L 220.168,266.078 L 218.98,265.887 L 217.871,265.809 L 216.762,265.809 L 215.688,265.965 L 214.652,266.199 L 213.656,266.543 L 212.66,266.965 L 211.742,267.5 L 210.785,268.113 L 209.91,268.801 L 209.027,269.57 L 208.188,270.414 L 207.383,271.336 L 206.578,272.332 L 206.578,272.332 L 207.383,272.445 L 208.301,272.555 L 209.223,272.672 L 210.141,272.789 L 210.984,272.902 L 211.633,272.98 L 212.133,273.016 L 212.324,273.016 L 212.324,273.016 L 212.398,272.937 L 212.59,272.785 L 212.859,272.52 L 213.203,272.172 L 213.625,271.754 L 214.121,271.328 L 214.695,270.832 L 215.348,270.293 L 216.074,269.797 L 216.84,269.258 L 217.68,268.758 L 218.598,268.266 L 219.52,267.84 L 220.512,267.457 L 221.547,267.109 L 222.621,266.883"
-   id="path837" />
-</clipPath>
-<g
-   id="g839"> 
-</g>
-
-<clipPath
-   id="clippath22"> 	<path
-   d="M 228.285,267.566 L 228.285,267.566 L 227.254,267.148 L 226.219,266.84 L 225.109,266.727 L 224.035,266.727 L 222.926,266.844 L 221.816,267.074 L 220.742,267.418 L 219.633,267.84 L 218.598,268.34 L 217.566,268.875 L 216.57,269.527 L 215.578,270.176 L 214.695,270.871 L 213.816,271.598 L 213.012,272.324 L 212.285,273.055 L 212.285,273.055 L 212.781,273.094 L 213.395,273.168 L 214.086,273.242 L 214.813,273.32 L 215.539,273.395 L 216.191,273.473 L 216.766,273.508 L 217.188,273.508 L 217.188,273.508 L 217.188,273.43 L 217.379,273.238 L 217.762,272.973 L 218.336,272.59 L 219.023,272.168 L 219.828,271.668 L 220.746,271.133 L 221.703,270.598 L 222.66,270.059 L 223.656,269.52 L 224.652,269.023 L 225.57,268.566 L 226.414,268.18 L 227.176,267.871 L 227.793,267.68 L 228.285,267.566"
-   id="path846" />
-</clipPath>
-<g
-   id="g848"> 
-</g>
-
-<clipPath
-   id="clippath23"> 	<path
-   d="M 233.648,268.672 L 233.648,268.672 L 233.113,267.832 L 232.309,267.332 L 231.313,267.145 L 230.164,267.145 L 228.902,267.414 L 227.523,267.836 L 226.066,268.41 L 224.652,269.062 L 223.195,269.793 L 221.855,270.555 L 220.594,271.289 L 219.445,272.016 L 218.488,272.629 L 217.762,273.09 L 217.266,273.43 L 217.035,273.547 L 217.035,273.547 L 217.57,273.664 L 218.18,273.738 L 218.836,273.812 L 219.523,273.852 L 220.25,273.93 L 220.98,274.004 L 221.668,274.117 L 222.355,274.234 L 222.355,274.234 L 223.086,273.891 L 223.773,273.543 L 224.504,273.16 L 225.191,272.777 L 225.879,272.43 L 226.57,272.047 L 227.297,271.664 L 227.984,271.281 L 228.672,270.93 L 229.359,270.551 L 230.09,270.207 L 230.777,269.902 L 231.469,269.551 L 232.195,269.246 L 232.922,268.937 L 233.648,268.672"
-   id="path855" />
-</clipPath>
-<g
-   id="g857"> 
-</g>
-
-<clipPath
-   id="clippath24"> 	<path
-   d="M 240.504,270.504 L 240.504,270.504 L 239.66,269.895 L 238.707,269.547 L 237.711,269.398 L 236.641,269.398 L 235.527,269.59 L 234.379,269.934 L 233.266,270.355 L 232.16,270.855 L 231.121,271.43 L 230.09,272.008 L 229.172,272.621 L 228.367,273.156 L 227.641,273.656 L 227.066,274.113 L 226.648,274.422 L 226.418,274.613 L 226.418,274.613 L 227.031,274.687 L 227.605,274.766 L 228.098,274.844 L 228.602,274.879 L 229.137,274.918 L 229.633,274.992 L 230.211,275.07 L 230.82,275.145 L 230.82,275.145 L 231.355,274.801 L 231.895,274.453 L 232.469,274.035 L 233.039,273.652 L 233.652,273.23 L 234.266,272.809 L 234.879,272.387 L 235.488,272.004 L 236.105,271.617 L 236.754,271.309 L 237.406,271.008 L 238.02,270.773 L 238.664,270.586 L 239.281,270.469 L 239.895,270.469 L 240.504,270.504"
-   id="path864" />
-</clipPath>
-<g
-   id="g866"> 
-</g>
-
-<clipPath
-   id="clippath25"> 	<path
-   d="M 237.977,269.398 L 237.977,269.398 L 237.324,268.977 L 236.637,268.672 L 235.984,268.516 L 235.297,268.441 L 234.605,268.48 L 233.879,268.633 L 233.074,268.902 L 232.234,269.207 L 231.316,269.633 L 230.355,270.09 L 229.285,270.668 L 228.137,271.281 L 226.871,271.93 L 225.496,272.621 L 224.004,273.387 L 222.355,274.156 L 222.355,274.156 L 222.969,274.195 L 223.66,274.27 L 224.348,274.348 L 225.039,274.461 L 225.652,274.539 L 226.109,274.613 L 226.457,274.652 L 226.609,274.613 L 226.609,274.613 L 226.684,274.535 L 226.953,274.348 L 227.297,274.039 L 227.758,273.695 L 228.332,273.273 L 229.02,272.812 L 229.746,272.312 L 230.551,271.812 L 231.43,271.316 L 232.313,270.82 L 233.266,270.395 L 234.223,270.012 L 235.184,269.707 L 236.141,269.512 L 237.059,269.398 L 237.977,269.398"
-   id="path873" />
-</clipPath>
-<g
-   id="g875"> 
-</g>
-
-<clipPath
-   id="clippath26"> 	<path
-   d="M 243.57,272.457 L 243.57,272.457 L 242.879,271.691 L 242.156,271.113 L 241.426,270.734 L 240.66,270.504 L 239.895,270.469 L 239.09,270.543 L 238.246,270.734 L 237.441,271.008 L 236.602,271.426 L 235.797,271.848 L 234.957,272.383 L 234.113,272.922 L 233.27,273.461 L 232.469,274.035 L 231.66,274.613 L 230.859,275.109 L 230.859,275.109 L 231.32,275.184 L 231.816,275.223 L 232.391,275.34 L 233.004,275.41 L 233.652,275.488 L 234.344,275.562 L 234.992,275.641 L 235.648,275.715 L 235.648,275.715 L 235.875,275.219 L 236.145,274.797 L 236.449,274.375 L 236.832,273.992 L 237.215,273.648 L 237.637,273.379 L 238.137,273.109 L 238.633,272.879 L 239.168,272.687 L 239.738,272.535 L 240.316,272.418 L 240.93,272.34 L 241.578,272.301 L 242.23,272.305 L 242.883,272.379 L 243.57,272.457"
-   id="path882" />
-</clipPath>
-<g
-   id="g884"> 
-</g>
-
-<clipPath
-   id="clippath27"> 	<path
-   d="M 248.285,274.977 L 248.285,274.977 L 248.09,274.672 L 247.785,274.406 L 247.363,274.176 L 246.906,274.023 L 246.367,273.91 L 245.758,273.871 L 245.145,273.871 L 244.453,273.91 L 243.801,274.023 L 243.113,274.18 L 242.461,274.41 L 241.852,274.676 L 241.273,274.984 L 240.738,275.367 L 240.32,275.789 L 239.938,276.25 L 239.938,276.25 L 240.281,276.328 L 240.703,276.402 L 241.121,276.48 L 241.543,276.551 L 241.926,276.59 L 242.234,276.633 L 242.465,276.633 L 242.539,276.633 L 242.539,276.633 L 242.695,276.551 L 243.074,276.324 L 243.727,276.016 L 244.492,275.672 L 245.371,275.363 L 246.367,275.098 L 247.324,274.941 L 248.285,274.977"
-   id="path891" />
-</clipPath>
-<g
-   id="g893"> 
-</g>
-
-<clipPath
-   id="clippath28"> 	<path
-   d="M 249.203,276.547 L 249.203,276.547 L 249.238,275.937 L 249.09,275.477 L 248.816,275.172 L 248.398,274.98 L 247.902,274.902 L 247.324,274.941 L 246.711,275.02 L 246.023,275.172 L 245.371,275.402 L 244.723,275.633 L 244.109,275.863 L 243.574,276.094 L 243.113,276.324 L 242.73,276.48 L 242.539,276.633 L 242.461,276.668 L 245.527,277.199 L 245.527,277.199 L 245.797,277.09 L 246.219,276.973 L 246.676,276.816 L 247.215,276.664 L 247.75,276.547 L 248.285,276.473 L 248.781,276.473 L 249.203,276.547"
-   id="path900" />
-</clipPath>
-<g
-   id="g902"> 
-</g>
-
-<clipPath
-   id="clippath29"> 	<path
-   d="M 246.672,273.984 L 246.672,273.984 L 246.063,273.488 L 245.41,273.105 L 244.68,272.762 L 243.879,272.531 L 243.07,272.379 L 242.27,272.266 L 241.426,272.27 L 240.586,272.34 L 239.781,272.496 L 238.977,272.766 L 238.246,273.074 L 237.559,273.457 L 236.91,273.918 L 236.371,274.453 L 235.953,275.066 L 235.609,275.754 L 235.609,275.754 L 236.105,275.793 L 236.566,275.871 L 237.066,275.906 L 237.602,275.984 L 238.137,276.059 L 238.711,276.098 L 239.324,276.215 L 239.973,276.285 L 239.973,276.285 L 240.203,275.945 L 240.473,275.637 L 240.777,275.367 L 241.121,275.102 L 241.504,274.867 L 241.926,274.641 L 242.348,274.445 L 242.805,274.297 L 243.266,274.141 L 243.762,274.027 L 244.223,273.949 L 244.723,273.91 L 245.219,273.871 L 245.715,273.871 L 246.215,273.91 L 246.672,273.984"
-   id="path909" />
-</clipPath>
-<g
-   id="g911"> 
-</g>
-
-<clipPath
-   id="clippath30"> 	<path
-   d="M 110.332,255.668 L 110.332,255.668 L 110.258,255.785 L 110.063,256.094 L 109.797,256.59 L 109.453,257.203 L 109.066,257.93 L 108.684,258.734 L 108.34,259.656 L 108.035,260.574 L 107.809,261.531 L 107.73,262.453 L 107.773,263.367 L 107.965,264.211 L 108.387,264.98 L 109.035,265.664 L 109.957,266.199 L 111.145,266.586 L 111.145,266.586 L 110.953,266.008 L 110.836,265.395 L 110.723,264.785 L 110.645,264.094 L 110.605,263.406 L 110.605,262.68 L 110.645,261.988 L 110.68,261.262 L 110.758,260.531 L 110.832,259.805 L 110.949,259.117 L 111.098,258.465 L 111.215,257.812 L 111.367,257.238 L 111.555,256.664 L 111.711,256.168 L 111.711,256.168 L 111.52,256.09 L 111.363,256.051 L 111.176,255.977 L 111.02,255.937 L 110.863,255.863 L 110.715,255.824 L 110.523,255.742 L 110.332,255.668"
-   id="path918" />
-</clipPath>
-<g
-   id="g920"> 
-</g>
-
-<clipPath
-   id="clippath31"> 	<path
-   d="M 111.633,256.203 L 111.633,256.203 L 111.098,258.312 L 110.719,260.227 L 110.527,261.871 L 110.492,263.328 L 110.57,264.594 L 110.797,265.664 L 111.105,266.586 L 111.453,267.348 L 111.91,267.961 L 112.41,268.457 L 112.906,268.805 L 113.402,269.07 L 113.941,269.262 L 114.402,269.34 L 114.82,269.375 L 115.207,269.375 L 115.207,269.375 L 114.977,268.762 L 114.746,268.148 L 114.555,267.461 L 114.398,266.773 L 114.246,266.004 L 114.129,265.242 L 114.012,264.477 L 113.938,263.672 L 113.898,262.867 L 113.895,262.023 L 113.938,261.219 L 114.012,260.379 L 114.125,259.574 L 114.281,258.73 L 114.469,257.965 L 114.699,257.16 L 114.699,257.16 L 114.238,257.008 L 113.777,256.855 L 113.355,256.703 L 112.938,256.586 L 112.59,256.473 L 112.211,256.359 L 111.902,256.281 L 111.633,256.203"
-   id="path927" />
-</clipPath>
-<g
-   id="g929"> 
-</g>
-
-<clipPath
-   id="clippath32"> 	<path
-   d="M 114.738,257.16 L 114.738,257.16 L 114.508,257.926 L 114.281,258.883 L 114.125,259.957 L 114.051,261.145 L 114.012,262.445 L 114.012,263.746 L 114.129,265.047 L 114.32,266.312 L 114.594,267.5 L 114.938,268.609 L 115.438,269.566 L 116.008,270.332 L 116.738,270.906 L 117.582,271.211 L 118.539,271.25 L 119.648,270.945 L 119.648,270.945 L 119.227,270.254 L 118.805,269.527 L 118.461,268.762 L 118.152,268.035 L 117.922,267.23 L 117.691,266.465 L 117.539,265.66 L 117.387,264.855 L 117.309,264.051 L 117.27,263.211 L 117.27,262.406 L 117.344,261.562 L 117.418,260.723 L 117.57,259.914 L 117.723,259.07 L 117.953,258.27 L 117.953,258.27 L 117.57,258.113 L 117.113,257.965 L 116.652,257.809 L 116.191,257.656 L 115.73,257.504 L 115.348,257.352 L 115.004,257.234 L 114.738,257.16"
-   id="path936" />
-</clipPath>
-<g
-   id="g938"> 
-</g>
-
-<clipPath
-   id="clippath33"> 	<path
-   d="M 124.477,273.043 L 124.477,273.043 L 123.441,273.121 L 122.445,272.969 L 121.566,272.59 L 120.762,272.051 L 119.992,271.324 L 119.344,270.445 L 118.805,269.449 L 118.305,268.34 L 117.922,267.152 L 117.613,265.887 L 117.422,264.586 L 117.344,263.285 L 117.344,261.984 L 117.457,260.68 L 117.688,259.418 L 118.031,258.23 L 118.031,258.23 L 118.453,258.383 L 118.875,258.535 L 119.332,258.648 L 119.793,258.801 L 120.254,258.957 L 120.75,259.109 L 121.211,259.262 L 121.707,259.414 L 121.707,259.414 L 121.707,260.219 L 121.707,261.098 L 121.746,262.098 L 121.785,263.129 L 121.828,264.164 L 121.863,265.234 L 121.98,266.344 L 122.094,267.379 L 122.25,268.414 L 122.402,269.367 L 122.637,270.289 L 122.902,271.094 L 123.211,271.781 L 123.594,272.359 L 124.016,272.777 L 124.477,273.043"
-   id="path945" />
-</clipPath>
-<g
-   id="g947"> 
-</g>
-
-<clipPath
-   id="clippath34"> 	<path
-   d="M 121.746,259.453 L 121.746,259.453 L 122.129,259.605 L 122.512,259.719 L 122.855,259.836 L 123.238,259.91 L 123.621,260.027 L 123.969,260.141 L 124.352,260.254 L 124.73,260.41 L 124.73,260.41 L 124.809,261.176 L 124.852,262.016 L 124.891,262.934 L 124.926,263.891 L 124.93,264.852 L 124.93,265.883 L 124.969,266.918 L 125.008,267.914 L 125.086,268.91 L 125.199,269.902 L 125.395,270.824 L 125.586,271.668 L 125.891,272.469 L 126.234,273.195 L 126.656,273.809 L 127.195,274.305 L 127.195,274.305 L 126.086,274.039 L 125.164,273.656 L 124.398,273.121 L 123.746,272.508 L 123.211,271.781 L 122.789,270.941 L 122.48,270.023 L 122.25,269.062 L 122.094,267.992 L 121.98,266.883 L 121.941,265.73 L 121.902,264.508 L 121.863,263.281 L 121.824,262.02 L 121.824,260.754 L 121.746,259.453"
-   id="path954" />
-</clipPath>
-<g
-   id="g956"> 
-</g>
-
-<clipPath
-   id="clippath35"> 	<path
-   d="M 131.906,275.797 L 131.906,275.797 L 130.375,275.723 L 129.07,275.418 L 128,274.918 L 127.117,274.27 L 126.43,273.426 L 125.926,272.469 L 125.508,271.398 L 125.238,270.211 L 125.086,268.984 L 124.973,267.723 L 124.93,266.418 L 124.93,265.156 L 124.926,263.852 L 124.926,262.629 L 124.852,261.48 L 124.773,260.406 L 124.773,260.406 L 125.195,260.523 L 125.578,260.637 L 125.918,260.754 L 126.305,260.863 L 126.688,260.98 L 127.031,261.094 L 127.414,261.172 L 127.836,261.285 L 127.836,261.285 L 127.797,261.398 L 127.723,261.668 L 127.645,262.09 L 127.531,262.629 L 127.457,263.316 L 127.379,264.082 L 127.34,264.965 L 127.379,265.961 L 127.492,266.992 L 127.688,268.141 L 128.035,269.328 L 128.457,270.551 L 129.07,271.816 L 129.836,273.156 L 130.758,274.457 L 131.906,275.797"
-   id="path963" />
-</clipPath>
-<g
-   id="g965"> 
-</g>
-
-<clipPath
-   id="clippath36"> 	<path
-   d="M 137.117,277.437 L 137.117,277.437 L 136.082,277.629 L 135.047,277.555 L 134.051,277.211 L 133.055,276.676 L 132.098,275.949 L 131.18,275.07 L 130.336,273.996 L 129.566,272.809 L 128.918,271.547 L 128.344,270.168 L 127.879,268.711 L 127.57,267.223 L 127.379,265.727 L 127.34,264.195 L 127.488,262.742 L 127.797,261.285 L 131.434,262.43 L 131.434,262.43 L 131.398,263.047 L 131.359,263.773 L 131.398,264.574 L 131.48,265.492 L 131.594,266.453 L 131.785,267.488 L 131.977,268.559 L 132.285,269.668 L 132.633,270.777 L 133.051,271.852 L 133.512,272.922 L 134.09,273.957 L 134.699,274.953 L 135.43,275.871 L 136.234,276.711 L 137.117,277.437"
-   id="path972" />
-</clipPath>
-<g
-   id="g974"> 
-</g>
-
-<clipPath
-   id="clippath37"> 	<path
-   d="M 131.359,262.355 L 131.359,262.355 L 131.934,262.547 L 132.66,262.738 L 133.469,263.004 L 134.309,263.234 L 135.113,263.504 L 135.918,263.73 L 136.605,263.922 L 137.145,264.035 L 137.145,264.035 L 137.223,264.918 L 137.262,265.871 L 137.34,266.832 L 137.375,267.824 L 137.492,268.82 L 137.57,269.859 L 137.684,270.852 L 137.84,271.848 L 138.031,272.805 L 138.262,273.727 L 138.57,274.641 L 138.914,275.484 L 139.336,276.289 L 139.836,276.977 L 140.371,277.629 L 141.02,278.203 L 141.02,278.203 L 140.254,278.316 L 139.453,278.281 L 138.648,278.09 L 137.844,277.746 L 137.039,277.246 L 136.234,276.633 L 135.465,275.871 L 134.699,274.914 L 134.012,273.879 L 133.398,272.652 L 132.82,271.312 L 132.328,269.785 L 131.938,268.137 L 131.633,266.379 L 131.438,264.422 L 131.359,262.355"
-   id="path981" />
-</clipPath>
-<g
-   id="g983"> 
-</g>
-
-<clipPath
-   id="clippath38"> 	<path
-   d="M 146.043,278.961 L 146.043,278.961 L 144.316,279.043 L 142.863,278.891 L 141.598,278.473 L 140.598,277.816 L 139.758,277.016 L 139.066,276.059 L 138.57,274.984 L 138.184,273.762 L 137.879,272.539 L 137.688,271.195 L 137.57,269.895 L 137.453,268.594 L 137.414,267.289 L 137.336,266.102 L 137.262,264.992 L 137.145,263.996 L 137.145,263.996 L 137.68,264.113 L 138.145,264.227 L 138.563,264.379 L 138.98,264.492 L 139.441,264.609 L 139.863,264.723 L 140.359,264.875 L 140.938,265.027 L 140.938,265.027 L 141.051,266.066 L 141.164,267.055 L 141.281,268.051 L 141.438,269.008 L 141.555,269.969 L 141.707,270.887 L 141.898,271.766 L 142.09,272.648 L 142.359,273.488 L 142.668,274.332 L 143.047,275.137 L 143.473,275.941 L 144.008,276.742 L 144.582,277.508 L 145.273,278.238 L 146.043,278.961"
-   id="path990" />
-</clipPath>
-<g
-   id="g992"> 
-</g>
-
-<clipPath
-   id="clippath39"> 	<path
-   d="M 150.672,279.801 L 150.672,279.801 L 149.141,279.879 L 147.801,279.687 L 146.613,279.27 L 145.578,278.617 L 144.699,277.816 L 143.934,276.859 L 143.316,275.75 L 142.781,274.562 L 142.324,273.336 L 141.977,272.035 L 141.707,270.77 L 141.512,269.473 L 141.324,268.246 L 141.207,267.098 L 141.09,266.023 L 141.012,265.105 L 141.012,265.105 L 141.551,265.223 L 142.008,265.332 L 142.43,265.449 L 142.852,265.527 L 143.23,265.641 L 143.656,265.715 L 144.152,265.863 L 144.727,265.98 L 144.727,265.98 L 144.918,267.477 L 145.148,268.895 L 145.418,270.195 L 145.688,271.422 L 145.996,272.531 L 146.344,273.602 L 146.723,274.52 L 147.109,275.402 L 147.492,276.207 L 147.914,276.93 L 148.375,277.547 L 148.797,278.117 L 149.258,278.656 L 149.719,279.074 L 150.215,279.457 L 150.672,279.801"
-   id="path999" />
-</clipPath>
-<g
-   id="g1001"> 
-</g>
-
-<clipPath
-   id="clippath40"> 	<path
-   d="M 155.043,280.371 L 155.043,280.371 L 153.586,280.453 L 152.285,280.262 L 151.133,279.84 L 150.059,279.227 L 149.18,278.426 L 148.375,277.508 L 147.684,276.434 L 147.07,275.289 L 146.535,274.098 L 146.113,272.836 L 145.766,271.574 L 145.461,270.309 L 145.188,269.121 L 144.996,267.973 L 144.844,266.941 L 144.688,266.02 L 144.688,266.02 L 145.148,266.098 L 145.605,266.211 L 146.07,266.328 L 146.527,266.441 L 146.988,266.555 L 147.449,266.668 L 147.91,266.785 L 148.406,266.902 L 148.406,266.902 L 148.445,267.625 L 148.559,268.43 L 148.715,269.273 L 148.98,270.191 L 149.25,271.184 L 149.633,272.145 L 150.02,273.176 L 150.441,274.176 L 150.938,275.172 L 151.477,276.129 L 152.012,277.008 L 152.586,277.848 L 153.16,278.652 L 153.777,279.344 L 154.426,279.914 L 155.043,280.371"
-   id="path1008" />
-</clipPath>
-<g
-   id="g1010"> 
-</g>
-
-<clipPath
-   id="clippath41"> 	<path
-   d="M 159.824,281.25 L 159.824,281.25 L 158.336,281.445 L 156.957,281.254 L 155.691,280.758 L 154.539,279.988 L 153.469,279.035 L 152.547,277.887 L 151.707,276.586 L 150.938,275.246 L 150.324,273.832 L 149.785,272.449 L 149.328,271.148 L 148.945,269.887 L 148.715,268.812 L 148.52,267.93 L 148.406,267.281 L 148.406,266.902 L 148.406,266.902 L 148.977,267.012 L 149.516,267.129 L 150.051,267.281 L 150.586,267.395 L 151.121,267.547 L 151.621,267.66 L 152.121,267.777 L 152.617,267.855 L 152.617,267.855 L 152.809,268.504 L 153,269.27 L 153.23,270.148 L 153.504,271.145 L 153.809,272.18 L 154.152,273.25 L 154.535,274.32 L 154.961,275.434 L 155.422,276.504 L 155.918,277.5 L 156.457,278.461 L 157.031,279.301 L 157.684,280.027 L 158.332,280.602 L 159.059,281.023 L 159.824,281.25"
-   id="path1017" />
-</clipPath>
-<g
-   id="g1019"> 
-</g>
-
-<clipPath
-   id="clippath42"> 	<path
-   d="M 163.309,281.055 L 163.309,281.055 L 161.934,281.363 L 160.711,281.363 L 159.598,281.098 L 158.563,280.562 L 157.68,279.836 L 156.879,278.953 L 156.152,277.887 L 155.496,276.734 L 154.961,275.508 L 154.461,274.246 L 154.078,272.984 L 153.691,271.758 L 153.387,270.609 L 153.156,269.574 L 152.922,268.656 L 152.734,267.93 L 152.734,267.93 L 153.152,268.008 L 153.578,268.043 L 153.957,268.117 L 154.301,268.195 L 154.688,268.273 L 155.031,268.352 L 155.336,268.426 L 155.68,268.465 L 155.68,268.465 L 155.801,269.344 L 155.988,270.262 L 156.223,271.18 L 156.449,272.062 L 156.758,272.98 L 157.105,273.863 L 157.484,274.707 L 157.949,275.547 L 158.406,276.391 L 158.945,277.191 L 159.559,277.957 L 160.168,278.645 L 160.898,279.336 L 161.625,279.949 L 162.43,280.523 L 163.309,281.055"
-   id="path1026" />
-</clipPath>
-<g
-   id="g1028"> 
-</g>
-
-<clipPath
-   id="clippath43"> 	<path
-   d="M 167.676,281.742 L 167.676,281.742 L 166.531,281.742 L 165.418,281.629 L 164.348,281.359 L 163.309,280.977 L 162.355,280.445 L 161.395,279.793 L 160.555,279.031 L 159.715,278.191 L 158.98,277.23 L 158.293,276.199 L 157.676,275.047 L 157.105,273.863 L 156.645,272.598 L 156.258,271.258 L 155.91,269.879 L 155.68,268.465 L 155.68,268.465 L 156.18,268.578 L 156.68,268.656 L 157.215,268.77 L 157.711,268.844 L 158.207,268.922 L 158.668,269.035 L 159.168,269.113 L 159.625,269.227 L 159.625,269.227 L 159.855,270.031 L 160.047,270.871 L 160.281,271.676 L 160.473,272.48 L 160.707,273.285 L 160.934,274.09 L 161.238,274.855 L 161.586,275.656 L 162.004,276.426 L 162.469,277.227 L 163.043,277.992 L 163.73,278.758 L 164.5,279.488 L 165.418,280.25 L 166.488,281.016 L 167.676,281.742"
-   id="path1035" />
-</clipPath>
-<g
-   id="g1037"> 
-</g>
-
-<clipPath
-   id="clippath44"> 	<path
-   d="M 173.883,282.465 L 173.883,282.465 L 172.387,282.582 L 170.934,282.508 L 169.594,282.277 L 168.328,281.895 L 167.141,281.398 L 166.031,280.746 L 164.996,279.98 L 164.078,279.062 L 163.234,278.109 L 162.469,277.035 L 161.773,275.887 L 161.203,274.664 L 160.707,273.363 L 160.281,272.023 L 159.973,270.645 L 159.738,269.266 L 159.738,269.266 L 160.164,269.34 L 160.621,269.457 L 161.078,269.531 L 161.539,269.605 L 162,269.684 L 162.5,269.801 L 162.996,269.875 L 163.496,269.988 L 163.496,269.988 L 163.648,270.945 L 163.879,271.902 L 164.188,272.863 L 164.57,273.781 L 165.027,274.699 L 165.531,275.613 L 166.105,276.496 L 166.754,277.34 L 167.445,278.184 L 168.211,278.945 L 169.02,279.672 L 169.898,280.359 L 170.82,280.973 L 171.813,281.547 L 172.809,282.043 L 173.883,282.465"
-   id="path1044" />
-</clipPath>
-<g
-   id="g1046"> 
-</g>
-
-<clipPath
-   id="clippath45"> 	<path
-   d="M 177.289,282.844 L 177.289,282.844 L 176.027,282.77 L 174.801,282.578 L 173.574,282.273 L 172.387,281.816 L 171.277,281.281 L 170.164,280.633 L 169.133,279.902 L 168.172,279.059 L 167.293,278.145 L 166.449,277.152 L 165.719,276.074 L 165.07,274.965 L 164.535,273.781 L 164.074,272.555 L 163.727,271.289 L 163.496,269.988 L 163.496,269.988 L 163.914,270.066 L 164.301,270.102 L 164.645,270.141 L 164.988,270.18 L 165.336,270.219 L 165.715,270.293 L 166.172,270.367 L 166.715,270.445 L 166.715,270.445 L 167.25,271.555 L 167.711,272.59 L 168.168,273.586 L 168.59,274.504 L 169.051,275.387 L 169.473,276.191 L 169.934,276.953 L 170.434,277.68 L 170.973,278.41 L 171.586,279.059 L 172.273,279.746 L 173.035,280.359 L 173.922,281.012 L 174.918,281.621 L 176.027,282.234 L 177.289,282.844"
-   id="path1053" />
-</clipPath>
-<g
-   id="g1055"> 
-</g>
-
-<clipPath
-   id="clippath46"> 	<path
-   d="M 183.418,283.223 L 183.418,283.223 L 181.539,283.301 L 179.777,283.227 L 178.207,282.961 L 176.754,282.539 L 175.414,281.969 L 174.227,281.277 L 173.113,280.477 L 172.121,279.555 L 171.199,278.562 L 170.355,277.488 L 169.625,276.379 L 168.938,275.191 L 168.285,274.008 L 167.711,272.82 L 167.172,271.594 L 166.676,270.406 L 166.676,270.406 L 167.02,270.445 L 167.477,270.523 L 168.051,270.598 L 168.629,270.676 L 169.238,270.789 L 169.777,270.863 L 170.234,270.941 L 170.582,270.977 L 170.582,270.977 L 171.039,272.051 L 171.539,273.125 L 172.117,274.117 L 172.691,275.074 L 173.344,275.957 L 174.031,276.836 L 174.762,277.637 L 175.563,278.445 L 176.367,279.172 L 177.254,279.859 L 178.168,280.547 L 179.129,281.16 L 180.125,281.73 L 181.195,282.27 L 182.27,282.766 L 183.418,283.223"
-   id="path1062" />
-</clipPath>
-<g
-   id="g1064"> 
-</g>
-
-<clipPath
-   id="clippath47"> 	<path
-   d="M 187.055,283.758 L 187.055,283.758 L 186.023,283.719 L 184.953,283.566 L 183.801,283.297 L 182.613,282.879 L 181.426,282.383 L 180.238,281.77 L 179.051,281.043 L 177.863,280.242 L 176.715,279.324 L 175.602,278.367 L 174.566,277.297 L 173.57,276.148 L 172.691,274.961 L 171.887,273.699 L 171.195,272.359 L 170.617,270.977 L 170.617,270.977 L 171.195,271.055 L 171.77,271.133 L 172.379,271.168 L 172.992,271.246 L 173.527,271.281 L 173.988,271.359 L 174.371,271.434 L 174.563,271.551 L 174.563,271.551 L 175.254,272.086 L 175.945,272.66 L 176.672,273.352 L 177.402,274.039 L 178.129,274.801 L 178.895,275.605 L 179.66,276.449 L 180.426,277.293 L 181.195,278.172 L 181.996,279.016 L 182.801,279.855 L 183.648,280.695 L 184.488,281.539 L 185.332,282.301 L 186.176,283.07 L 187.055,283.758"
-   id="path1071" />
-</clipPath>
-<g
-   id="g1073"> 
-</g>
-
-<clipPath
-   id="clippath48"> 	<path
-   d="M 192.648,283.754 L 192.648,283.754 L 191.652,284.406 L 190.617,284.672 L 189.586,284.676 L 188.512,284.406 L 187.441,283.871 L 186.367,283.145 L 185.254,282.227 L 184.145,281.195 L 183.031,280.008 L 181.883,278.781 L 180.695,277.48 L 179.508,276.18 L 178.32,274.918 L 177.094,273.656 L 175.863,272.508 L 174.641,271.477 L 174.641,271.477 L 175.066,271.477 L 175.559,271.551 L 176.137,271.586 L 176.707,271.703 L 177.324,271.781 L 177.934,271.895 L 178.508,272.008 L 179.008,272.082 L 179.008,272.082 L 179.965,272.965 L 180.918,273.844 L 181.844,274.762 L 182.762,275.68 L 183.645,276.598 L 184.527,277.52 L 185.406,278.437 L 186.25,279.277 L 187.094,280.117 L 187.934,280.887 L 188.738,281.574 L 189.543,282.184 L 190.348,282.723 L 191.113,283.18 L 191.883,283.523 L 192.648,283.754"
-   id="path1080" />
-</clipPath>
-<g
-   id="g1082"> 
-</g>
-
-<clipPath
-   id="clippath49"> 	<path
-   d="M 196.977,284.246 L 196.977,284.246 L 195.406,284.25 L 193.91,284.098 L 192.57,283.715 L 191.266,283.219 L 190.082,282.605 L 188.973,281.84 L 187.895,281 L 186.902,280.082 L 185.902,279.086 L 184.949,278.051 L 184.027,277.02 L 183.066,275.949 L 182.109,274.879 L 181.113,273.844 L 180.078,272.887 L 179.008,271.969 L 179.008,271.969 L 179.391,272.008 L 179.848,272.047 L 180.422,272.117 L 180.996,272.16 L 181.574,272.234 L 182.031,272.273 L 182.414,272.312 L 182.645,272.312 L 182.645,272.312 L 183.293,272.465 L 183.945,272.77 L 184.598,273.191 L 185.289,273.766 L 185.977,274.453 L 186.707,275.258 L 187.473,276.102 L 188.238,277.016 L 189.121,277.973 L 190.004,278.926 L 191,279.926 L 192.031,280.883 L 193.145,281.84 L 194.332,282.719 L 195.598,283.52 L 196.977,284.246"
-   id="path1089" />
-</clipPath>
-<g
-   id="g1091"> 
-</g>
-
-<clipPath
-   id="clippath50"> 	<path
-   d="M 111.746,252.719 L 111.746,252.719 L 111.746,252.566 L 111.707,252.145 L 111.668,251.496 L 111.629,250.691 L 111.59,249.734 L 111.629,248.699 L 111.664,247.629 L 111.777,246.516 L 112.008,245.484 L 112.316,244.488 L 112.695,243.605 L 113.27,242.879 L 113.922,242.34 L 114.766,242.035 L 115.797,241.992 L 116.984,242.301 L 116.984,242.301 L 116.598,242.684 L 116.258,243.145 L 115.91,243.719 L 115.605,244.332 L 115.301,245.02 L 115.031,245.711 L 114.77,246.477 L 114.496,247.281 L 114.27,248.047 L 114.082,248.852 L 113.887,249.656 L 113.699,250.422 L 113.543,251.187 L 113.391,251.914 L 113.277,252.566 L 113.16,253.176 L 113.16,253.176 L 112.973,253.141 L 112.816,253.105 L 112.629,253.027 L 112.473,252.988 L 112.32,252.91 L 112.164,252.836 L 111.973,252.797 L 111.746,252.719"
-   id="path1098" />
-</clipPath>
-<g
-   id="g1100"> 
-</g>
-
-<clipPath
-   id="clippath51"> 	<path
-   d="M 113.16,253.293 L 113.16,253.293 L 113.66,250.805 L 114.195,248.695 L 114.73,246.895 L 115.262,245.402 L 115.801,244.215 L 116.336,243.258 L 116.867,242.566 L 117.367,242.07 L 117.902,241.723 L 118.359,241.57 L 118.863,241.531 L 119.285,241.609 L 119.703,241.762 L 120.086,241.953 L 120.43,242.184 L 120.738,242.414 L 120.738,242.414 L 120.203,242.91 L 119.668,243.484 L 119.207,244.023 L 118.711,244.633 L 118.289,245.246 L 117.867,245.898 L 117.484,246.551 L 117.141,247.238 L 116.797,247.969 L 116.492,248.734 L 116.184,249.5 L 115.918,250.305 L 115.691,251.148 L 115.461,251.988 L 115.234,252.871 L 115.039,253.789 L 115.039,253.789 L 114.582,253.711 L 114.238,253.676 L 114.004,253.598 L 113.852,253.523 L 113.699,253.484 L 113.543,253.41 L 113.391,253.367 L 113.16,253.293"
-   id="path1107" />
-</clipPath>
-<g
-   id="g1109"> 
-</g>
-
-<clipPath
-   id="clippath52"> 	<path
-   d="M 115.078,254.02 L 115.078,254.02 L 115.191,253.102 L 115.387,252.066 L 115.691,250.918 L 116.07,249.691 L 116.57,248.426 L 117.141,247.199 L 117.754,246.016 L 118.441,244.902 L 119.168,243.906 L 119.934,243.062 L 120.738,242.414 L 121.578,241.988 L 122.461,241.836 L 123.344,241.988 L 124.184,242.488 L 125.066,243.363 L 125.066,243.363 L 124.379,243.863 L 123.727,244.441 L 123.113,245.016 L 122.539,245.59 L 121.965,246.203 L 121.469,246.891 L 121.012,247.582 L 120.59,248.27 L 120.168,249.039 L 119.824,249.805 L 119.48,250.609 L 119.215,251.453 L 118.945,252.332 L 118.754,253.25 L 118.563,254.211 L 118.41,255.203 L 118.41,255.203 L 117.992,255.09 L 117.531,254.937 L 117.031,254.785 L 116.535,254.594 L 116.074,254.402 L 115.652,254.246 L 115.309,254.098 L 115.078,254.02"
-   id="path1116" />
-</clipPath>
-<g
-   id="g1118"> 
-</g>
-
-<clipPath
-   id="clippath53"> 	<path
-   d="M 130.008,243.977 L 130.008,243.977 L 129.086,243.363 L 128.168,243.02 L 127.211,242.906 L 126.289,243.02 L 125.332,243.328 L 124.414,243.828 L 123.531,244.516 L 122.691,245.32 L 121.926,246.238 L 121.16,247.312 L 120.512,248.5 L 119.941,249.727 L 119.445,251.031 L 119.059,252.406 L 118.754,253.785 L 118.602,255.203 L 118.602,255.203 L 119.063,255.316 L 119.523,255.434 L 119.98,255.586 L 120.441,255.738 L 120.938,255.93 L 121.438,256.043 L 121.895,256.199 L 122.395,256.273 L 122.395,256.273 L 122.738,255.395 L 123.043,254.434 L 123.426,253.477 L 123.773,252.52 L 124.152,251.523 L 124.57,250.527 L 124.992,249.57 L 125.414,248.652 L 125.871,247.77 L 126.371,246.965 L 126.902,246.199 L 127.441,245.547 L 128.051,244.973 L 128.668,244.512 L 129.316,244.168 L 130.008,243.977"
-   id="path1125" />
-</clipPath>
-<g
-   id="g1127"> 
-</g>
-
-<clipPath
-   id="clippath54"> 	<path
-   d="M 134.219,245.117 L 134.219,245.117 L 132.766,244.473 L 131.461,244.129 L 130.313,244.09 L 129.277,244.281 L 128.359,244.703 L 127.555,245.355 L 126.832,246.16 L 126.18,247.117 L 125.605,248.191 L 125.109,249.379 L 124.609,250.605 L 124.152,251.832 L 123.695,253.094 L 123.273,254.359 L 122.816,255.547 L 122.32,256.656 L 122.32,256.656 L 122.738,256.695 L 123.121,256.809 L 123.508,256.922 L 123.891,257.074 L 124.273,257.191 L 124.656,257.344 L 125.078,257.457 L 125.496,257.531 L 125.496,257.531 L 125.535,257.383 L 125.574,256.996 L 125.688,256.5 L 125.801,255.809 L 125.992,255.008 L 126.262,254.09 L 126.566,253.094 L 126.988,252.059 L 127.48,251.023 L 128.055,249.988 L 128.785,248.953 L 129.586,247.996 L 130.547,247.078 L 131.617,246.309 L 132.844,245.617 L 134.219,245.117"
-   id="path1134" />
-</clipPath>
-<g
-   id="g1136"> 
-</g>
-
-<clipPath
-   id="clippath55"> 	<path
-   d="M 139.656,245.922 L 139.656,245.922 L 138.773,245.27 L 137.777,244.852 L 136.707,244.695 L 135.637,244.738 L 134.484,244.965 L 133.34,245.426 L 132.23,246.043 L 131.117,246.809 L 130.047,247.766 L 129.051,248.84 L 128.172,250.066 L 127.367,251.406 L 126.68,252.824 L 126.145,254.355 L 125.801,255.926 L 125.613,257.613 L 129.559,258.641 L 129.559,258.641 L 129.785,257.992 L 130.094,257.223 L 130.398,256.422 L 130.781,255.539 L 131.238,254.617 L 131.699,253.664 L 132.234,252.703 L 132.809,251.746 L 133.461,250.789 L 134.184,249.867 L 134.949,249.027 L 135.754,248.219 L 136.633,247.492 L 137.59,246.879 L 138.586,246.344 L 139.656,245.922"
-   id="path1143" />
-</clipPath>
-<g
-   id="g1145"> 
-</g>
-
-<clipPath
-   id="clippath56"> 	<path
-   d="M 129.52,258.758 L 129.52,258.758 L 130.094,258.871 L 130.82,259.023 L 131.547,259.254 L 132.355,259.484 L 133.117,259.75 L 133.848,259.941 L 134.496,260.133 L 135.035,260.285 L 135.035,260.285 L 135.414,259.328 L 135.836,258.332 L 136.258,257.336 L 136.68,256.301 L 137.098,255.266 L 137.559,254.27 L 138.055,253.273 L 138.551,252.277 L 139.086,251.359 L 139.66,250.516 L 140.273,249.711 L 140.926,248.984 L 141.574,248.332 L 142.301,247.797 L 143.105,247.371 L 143.91,247.066 L 143.91,247.066 L 143.219,246.609 L 142.453,246.266 L 141.648,246.035 L 140.77,245.957 L 139.852,246.035 L 138.891,246.266 L 137.934,246.648 L 136.941,247.227 L 135.945,247.953 L 134.949,248.871 L 133.957,250.023 L 133,251.324 L 132.082,252.859 L 131.164,254.582 L 130.324,256.574 L 129.52,258.758"
-   id="path1152" />
-</clipPath>
-<g
-   id="g1154"> 
-</g>
-
-<clipPath
-   id="clippath57"> 	<path
-   d="M 148.734,248.711 L 148.734,248.711 L 147.164,247.867 L 145.746,247.371 L 144.445,247.258 L 143.258,247.449 L 142.227,247.906 L 141.23,248.598 L 140.391,249.48 L 139.586,250.555 L 138.895,251.742 L 138.246,253.008 L 137.672,254.348 L 137.141,255.687 L 136.602,256.988 L 136.105,258.254 L 135.648,259.402 L 135.191,260.437 L 135.191,260.437 L 135.723,260.516 L 136.184,260.625 L 136.605,260.707 L 137.027,260.82 L 137.449,260.934 L 137.906,261.051 L 138.406,261.125 L 138.977,261.238 L 138.977,261.238 L 139.477,260.203 L 139.934,259.168 L 140.395,258.176 L 140.852,257.215 L 141.313,256.258 L 141.809,255.379 L 142.309,254.496 L 142.801,253.691 L 143.379,252.887 L 143.988,252.16 L 144.602,251.473 L 145.289,250.82 L 146.059,250.203 L 146.859,249.668 L 147.777,249.168 L 148.734,248.711"
-   id="path1161" />
-</clipPath>
-<g
-   id="g1163"> 
-</g>
-
-<clipPath
-   id="clippath58"> 	<path
-   d="M 153.484,250.086 L 153.484,250.086 L 152.066,249.32 L 150.727,248.937 L 149.465,248.863 L 148.238,249.051 L 147.129,249.516 L 146.059,250.203 L 145.063,251.047 L 144.141,252.047 L 143.301,253.195 L 142.496,254.383 L 141.773,255.609 L 141.121,256.871 L 140.508,258.137 L 139.973,259.285 L 139.516,260.398 L 139.094,261.355 L 139.094,261.355 L 139.668,261.469 L 140.168,261.582 L 140.629,261.695 L 141.047,261.773 L 141.508,261.887 L 141.969,262.004 L 142.504,262.078 L 143.117,262.195 L 143.117,262.195 L 143.805,260.66 L 144.492,259.242 L 145.141,257.941 L 145.793,256.754 L 146.406,255.68 L 146.98,254.723 L 147.59,253.883 L 148.164,253.074 L 148.777,252.422 L 149.391,251.848 L 150,251.352 L 150.652,250.93 L 151.305,250.621 L 151.988,250.352 L 152.723,250.199 L 153.484,250.086"
-   id="path1170" />
-</clipPath>
-<g
-   id="g1172"> 
-</g>
-
-<clipPath
-   id="clippath59"> 	<path
-   d="M 157.086,251.113 L 157.086,251.113 L 155.707,250.465 L 154.402,250.156 L 153.18,250.16 L 151.988,250.391 L 150.918,250.852 L 149.887,251.504 L 148.93,252.348 L 148.012,253.305 L 147.207,254.379 L 146.441,255.527 L 145.719,256.715 L 145.102,257.902 L 144.492,259.09 L 143.992,260.238 L 143.539,261.273 L 143.117,262.234 L 143.117,262.234 L 143.578,262.348 L 143.996,262.461 L 144.418,262.535 L 144.801,262.652 L 145.223,262.73 L 145.645,262.805 L 146.105,262.918 L 146.602,262.992 L 146.602,262.992 L 146.832,262.23 L 147.176,261.387 L 147.594,260.543 L 148.094,259.625 L 148.629,258.707 L 149.277,257.785 L 149.926,256.863 L 150.656,255.945 L 151.418,255.105 L 152.223,254.258 L 153.027,253.492 L 153.832,252.84 L 154.672,252.227 L 155.477,251.73 L 156.281,251.348 L 157.086,251.113"
-   id="path1179" />
-</clipPath>
-<g
-   id="g1181"> 
-</g>
-
-<clipPath
-   id="clippath60"> 	<path
-   d="M 161.414,252.223 L 161.414,252.223 L 159.996,251.461 L 158.617,251.113 L 157.238,251.152 L 155.938,251.539 L 154.672,252.152 L 153.449,253.031 L 152.297,254.066 L 151.23,255.215 L 150.234,256.445 L 149.352,257.707 L 148.555,258.934 L 147.902,260.121 L 147.367,261.156 L 146.945,262.035 L 146.715,262.687 L 146.602,263.07 L 146.602,263.07 L 147.176,263.184 L 147.672,263.301 L 148.172,263.414 L 148.672,263.531 L 149.168,263.645 L 149.629,263.719 L 150.125,263.797 L 150.621,263.871 L 150.621,263.871 L 150.969,263.223 L 151.352,262.418 L 151.809,261.535 L 152.348,260.613 L 152.918,259.582 L 153.531,258.547 L 154.176,257.551 L 154.867,256.516 L 155.598,255.555 L 156.363,254.676 L 157.164,253.871 L 157.969,253.219 L 158.809,252.684 L 159.656,252.34 L 160.531,252.184 L 161.414,252.223"
-   id="path1188" />
-</clipPath>
-<g
-   id="g1190"> 
-</g>
-
-<clipPath
-   id="clippath61"> 	<path
-   d="M 164.555,253.445 L 164.555,253.445 L 163.289,252.605 L 162.066,252.145 L 160.914,252.031 L 159.766,252.223 L 158.695,252.684 L 157.66,253.375 L 156.703,254.219 L 155.789,255.254 L 154.945,256.363 L 154.141,257.551 L 153.414,258.777 L 152.727,260.004 L 152.152,261.152 L 151.617,262.227 L 151.199,263.145 L 150.816,263.91 L 150.816,263.91 L 151.273,263.988 L 151.656,264.102 L 152,264.215 L 152.309,264.328 L 152.656,264.445 L 152.961,264.559 L 153.266,264.637 L 153.609,264.711 L 153.609,264.711 L 153.953,263.754 L 154.375,262.797 L 154.797,261.875 L 155.258,260.957 L 155.793,260.039 L 156.324,259.195 L 156.938,258.352 L 157.59,257.547 L 158.277,256.781 L 159.039,256.094 L 159.805,255.477 L 160.648,254.902 L 161.57,254.402 L 162.488,253.984 L 163.484,253.676 L 164.555,253.445"
-   id="path1197" />
-</clipPath>
-<g
-   id="g1199"> 
-</g>
-
-<clipPath
-   id="clippath62"> 	<path
-   d="M 168.539,254.363 L 168.539,254.363 L 167.426,253.941 L 166.316,253.676 L 165.168,253.598 L 164.094,253.676 L 162.984,253.906 L 161.953,254.25 L 160.918,254.789 L 159.883,255.441 L 158.926,256.207 L 158.012,257.129 L 157.129,258.121 L 156.285,259.234 L 155.484,260.461 L 154.797,261.801 L 154.105,263.219 L 153.535,264.711 L 153.535,264.711 L 154.035,264.789 L 154.531,264.863 L 155.031,264.98 L 155.527,265.133 L 156.023,265.246 L 156.523,265.402 L 157.02,265.516 L 157.52,265.59 L 157.52,265.59 L 157.859,264.746 L 158.203,263.867 L 158.551,263.023 L 158.895,262.141 L 159.316,261.301 L 159.734,260.492 L 160.234,259.652 L 160.77,258.887 L 161.418,258.156 L 162.105,257.43 L 162.91,256.777 L 163.789,256.164 L 164.785,255.629 L 165.898,255.129 L 167.16,254.707 L 168.539,254.363"
-   id="path1206" />
-</clipPath>
-<g
-   id="g1208"> 
-</g>
-
-<clipPath
-   id="clippath63"> 	<path
-   d="M 174.207,255.699 L 174.207,255.699 L 172.754,255.09 L 171.293,254.703 L 169.957,254.516 L 168.613,254.477 L 167.352,254.668 L 166.125,255.016 L 164.977,255.512 L 163.867,256.164 L 162.875,256.969 L 161.879,257.887 L 160.996,258.926 L 160.156,260.074 L 159.395,261.34 L 158.738,262.676 L 158.129,264.059 L 157.594,265.551 L 157.594,265.551 L 158.051,265.629 L 158.512,265.703 L 159.047,265.781 L 159.551,265.855 L 160.082,265.934 L 160.621,266.008 L 161.156,266.086 L 161.691,266.16 L 161.691,266.16 L 161.961,265.09 L 162.344,264.094 L 162.762,263.098 L 163.297,262.141 L 163.871,261.258 L 164.523,260.414 L 165.211,259.609 L 165.977,258.883 L 166.82,258.191 L 167.734,257.617 L 168.695,257.078 L 169.688,256.617 L 170.762,256.273 L 171.871,255.969 L 173.02,255.777 L 174.207,255.699"
-   id="path1215" />
-</clipPath>
-<g
-   id="g1217"> 
-</g>
-
-<clipPath
-   id="clippath64"> 	<path
-   d="M 177,256 L 177,256 L 175.699,255.809 L 174.438,255.699 L 173.176,255.738 L 171.949,255.891 L 170.723,256.199 L 169.574,256.582 L 168.465,257.082 L 167.391,257.695 L 166.395,258.422 L 165.441,259.266 L 164.598,260.184 L 163.793,261.219 L 163.105,262.367 L 162.496,263.594 L 161.996,264.934 L 161.617,266.355 L 161.617,266.355 L 162.078,266.391 L 162.461,266.426 L 162.84,266.504 L 163.223,266.582 L 163.609,266.656 L 163.988,266.734 L 164.449,266.848 L 164.945,266.926 L 164.945,266.926 L 165.598,265.812 L 166.211,264.738 L 166.742,263.781 L 167.242,262.828 L 167.777,261.984 L 168.277,261.18 L 168.773,260.414 L 169.348,259.723 L 169.957,259.07 L 170.648,258.496 L 171.414,257.961 L 172.258,257.461 L 173.25,257.039 L 174.324,256.656 L 175.586,256.309 L 177,256"
-   id="path1224" />
-</clipPath>
-<g
-   id="g1226"> 
-</g>
-
-<clipPath
-   id="clippath65"> 	<path
-   d="M 183.09,256.801 L 183.09,256.801 L 181.176,256.344 L 179.375,256.078 L 177.73,256 L 176.199,256.156 L 174.781,256.461 L 173.48,256.922 L 172.293,257.496 L 171.219,258.266 L 170.188,259.109 L 169.273,260.066 L 168.426,261.102 L 167.625,262.215 L 166.898,263.363 L 166.211,264.59 L 165.598,265.812 L 164.984,267.078 L 164.984,267.078 L 165.293,267.113 L 165.715,267.152 L 166.172,267.27 L 166.672,267.344 L 167.168,267.461 L 167.633,267.574 L 168.051,267.609 L 168.395,267.648 L 168.395,267.648 L 168.969,266.5 L 169.582,265.465 L 170.27,264.469 L 170.996,263.551 L 171.762,262.668 L 172.566,261.863 L 173.445,261.137 L 174.363,260.445 L 175.32,259.832 L 176.316,259.258 L 177.348,258.758 L 178.418,258.262 L 179.531,257.84 L 180.68,257.457 L 181.867,257.109 L 183.09,256.801"
-   id="path1233" />
-</clipPath>
-<g
-   id="g1235"> 
-</g>
-
-<clipPath
-   id="clippath66"> 	<path
-   d="M 186.727,257.18 L 186.727,257.18 L 185.66,256.988 L 184.547,256.953 L 183.32,256.992 L 182.059,257.184 L 180.793,257.453 L 179.492,257.84 L 178.191,258.336 L 176.887,258.949 L 175.59,259.676 L 174.363,260.523 L 173.18,261.441 L 172.031,262.477 L 170.996,263.629 L 170.039,264.852 L 169.199,266.195 L 168.473,267.648 L 168.473,267.648 L 169.008,267.687 L 169.543,267.766 L 170.082,267.879 L 170.617,267.992 L 171.074,268.105 L 171.461,268.223 L 171.766,268.258 L 171.957,268.223 L 171.957,268.223 L 172.723,267.762 L 173.488,267.227 L 174.289,266.613 L 175.133,265.922 L 175.977,265.195 L 176.855,264.426 L 177.773,263.66 L 178.691,262.855 L 179.648,262.051 L 180.605,261.242 L 181.602,260.441 L 182.598,259.711 L 183.629,258.984 L 184.625,258.332 L 185.695,257.719 L 186.727,257.18"
-   id="path1242" />
-</clipPath>
-<g
-   id="g1244"> 
-</g>
-
-<clipPath
-   id="clippath67"> 	<path
-   d="M 191.824,258.633 L 191.824,258.633 L 190.867,257.676 L 189.832,257.105 L 188.758,256.871 L 187.648,256.949 L 186.5,257.258 L 185.277,257.832 L 184.051,258.602 L 182.75,259.48 L 181.449,260.555 L 180.109,261.664 L 178.77,262.855 L 177.43,264.043 L 176.051,265.23 L 174.676,266.344 L 173.297,267.379 L 171.918,268.301 L 171.918,268.301 L 172.34,268.371 L 172.84,268.41 L 173.449,268.453 L 174.063,268.488 L 174.711,268.527 L 175.363,268.527 L 175.941,268.527 L 176.438,268.523 L 176.438,268.523 L 177.473,267.758 L 178.465,266.953 L 179.461,266.148 L 180.379,265.305 L 181.297,264.5 L 182.18,263.695 L 183.059,262.891 L 183.938,262.121 L 184.855,261.434 L 185.734,260.781 L 186.656,260.207 L 187.609,259.707 L 188.605,259.285 L 189.641,258.941 L 190.715,258.746 L 191.824,258.633"
-   id="path1251" />
-</clipPath>
-<g
-   id="g1253"> 
-</g>
-
-<clipPath
-   id="clippath68"> 	<path
-   d="M 195.656,259.09 L 195.656,259.09 L 194.043,258.707 L 192.551,258.555 L 191.137,258.633 L 189.793,258.902 L 188.531,259.363 L 187.305,259.937 L 186.121,260.668 L 184.973,261.473 L 183.859,262.391 L 182.754,263.312 L 181.68,264.309 L 180.57,265.305 L 179.461,266.262 L 178.352,267.223 L 177.164,268.062 L 175.98,268.871 L 175.98,268.871 L 176.359,268.906 L 176.855,268.984 L 177.434,269.059 L 178.012,269.098 L 178.582,269.176 L 179.082,269.246 L 179.461,269.289 L 179.695,269.328 L 179.695,269.328 L 180.383,269.324 L 181.07,269.137 L 181.797,268.789 L 182.563,268.293 L 183.328,267.676 L 184.172,266.949 L 185.051,266.145 L 185.969,265.301 L 186.93,264.418 L 187.961,263.5 L 189.07,262.617 L 190.219,261.773 L 191.48,260.969 L 192.781,260.238 L 194.16,259.59 L 195.656,259.09"
-   id="path1260" />
-</clipPath>
-<g
-   id="g1262"> 
-</g>
-
-<clipPath
-   id="clippath69"> 	<path
-   d="M 200.48,260.426 L 200.48,260.426 L 199.063,259.621 L 197.566,259.281 L 196.113,259.281 L 194.621,259.59 L 193.129,260.164 L 191.633,260.969 L 190.18,261.926 L 188.766,262.961 L 187.426,264.113 L 186.121,265.262 L 184.859,266.336 L 183.711,267.332 L 182.68,268.176 L 181.723,268.824 L 180.879,269.211 L 180.156,269.324 L 180.156,269.324 L 180.766,269.402 L 181.418,269.516 L 182.145,269.629 L 182.91,269.746 L 183.676,269.82 L 184.441,269.934 L 185.168,269.973 L 185.824,270.012 L 185.824,270.012 L 186.895,269.207 L 187.852,268.441 L 188.73,267.672 L 189.57,266.945 L 190.336,266.215 L 191.063,265.488 L 191.828,264.797 L 192.555,264.145 L 193.285,263.535 L 194.086,262.957 L 194.926,262.422 L 195.848,261.926 L 196.844,261.465 L 197.914,261.082 L 199.141,260.734 L 200.48,260.426"
-   id="path1269" />
-</clipPath>
-<g
-   id="g1271"> 
-</g>
-
-<clipPath
-   id="clippath70"> 	<path
-   d="M 107.719,244.719 L 107.719,244.719 L 107.527,244.336 L 107.371,243.918 L 107.223,243.492 L 107.105,243.074 L 106.988,242.613 L 106.875,242.117 L 106.797,241.66 L 106.758,241.16 L 106.719,240.699 L 106.684,240.203 L 106.684,239.703 L 106.719,239.242 L 106.754,238.785 L 106.836,238.328 L 106.949,237.863 L 107.063,237.445 L 107.063,237.445 L 106.449,238.25 L 105.992,239.133 L 105.648,239.973 L 105.457,240.852 L 105.383,241.773 L 105.383,242.691 L 105.496,243.609 L 105.691,244.531 L 105.918,245.449 L 106.227,246.332 L 106.57,247.211 L 106.914,248.09 L 107.297,248.93 L 107.645,249.773 L 107.992,250.539 L 108.336,251.305 L 108.336,251.305 L 108.262,251.152 L 108.223,250.883 L 108.18,250.617 L 108.18,250.273 L 108.145,249.852 L 108.145,249.43 L 108.145,248.969 L 108.145,248.473 L 108.105,247.973 L 108.105,247.477 L 108.066,246.941 L 108.027,246.445 L 107.988,245.984 L 107.91,245.523 L 107.836,245.102 L 107.719,244.719"
-   id="path1278" />
-</clipPath>
-<g
-   id="g1280"> 
-</g>
-
-<clipPath
-   id="clippath71"> 	<path
-   d="M 96.0469,260.621 L 96.0469,260.621 L 96.7773,260.199 L 97.5078,259.738 L 98.1953,259.316 L 98.8828,258.895 L 99.5313,258.512 L 100.184,258.09 L 100.801,257.707 L 101.41,257.285 L 102.063,256.902 L 102.668,256.52 L 103.285,256.098 L 103.938,255.715 L 104.547,255.328 L 105.203,254.988 L 105.887,254.602 L 106.578,254.219 L 106.578,254.219 L 105.969,254.828 L 105.352,255.445 L 104.738,256.055 L 104.129,256.633 L 103.477,257.242 L 102.828,257.781 L 102.176,258.32 L 101.488,258.816 L 100.836,259.277 L 100.148,259.66 L 99.4961,260.008 L 98.8086,260.273 L 98.1211,260.504 L 97.4297,260.617 L 96.7383,260.656 L 96.0469,260.621"
-   id="path1287" />
-</clipPath>
-<g
-   id="g1289"> 
-</g>
-
-<clipPath
-   id="clippath72"> 	<path
-   d="M 101.746,245.297 L 101.746,245.297 L 102.281,245.605 L 102.781,245.949 L 103.277,246.293 L 103.738,246.637 L 104.199,246.98 L 104.617,247.363 L 105.039,247.785 L 105.465,248.168 L 105.848,248.59 L 106.23,249.012 L 106.613,249.43 L 106.957,249.891 L 107.34,250.309 L 107.684,250.77 L 108.031,251.23 L 108.375,251.687 L 108.375,251.687 L 108.223,251.191 L 108.031,250.691 L 107.84,250.156 L 107.609,249.621 L 107.379,249.086 L 107.113,248.586 L 106.801,248.09 L 106.457,247.594 L 106.074,247.133 L 105.613,246.754 L 105.117,246.367 L 104.578,246.023 L 103.969,245.754 L 103.316,245.527 L 102.551,245.371 L 101.746,245.297"
-   id="path1296" />
-</clipPath>
-<g
-   id="g1298"> 
-</g>
-
-<clipPath
-   id="clippath73"> 	<path
-   d="M 107.449,240.699 L 107.449,240.699 L 107.602,241.465 L 107.715,242.23 L 107.871,242.996 L 107.984,243.684 L 108.063,244.414 L 108.176,245.102 L 108.258,245.793 L 108.371,246.48 L 108.445,247.168 L 108.563,247.859 L 108.637,248.512 L 108.758,249.199 L 108.871,249.891 L 108.988,250.578 L 109.137,251.27 L 109.293,251.992 L 109.293,251.992 L 109.371,251.152 L 109.484,250.348 L 109.563,249.504 L 109.637,248.664 L 109.676,247.859 L 109.715,247.051 L 109.672,246.246 L 109.637,245.484 L 109.559,244.719 L 109.441,244.031 L 109.246,243.34 L 109.02,242.687 L 108.75,242.113 L 108.367,241.578 L 107.945,241.117 L 107.449,240.699"
-   id="path1305" />
-</clipPath>
-<g
-   id="g1307"> 
-</g>
-
-<clipPath
-   id="clippath74"> 	<path
-   d="M 103.348,239.441 L 103.348,239.441 L 102.656,240.09 L 102.238,240.816 L 102.051,241.582 L 102.012,242.387 L 102.164,243.191 L 102.473,244.035 L 102.895,244.879 L 103.395,245.719 L 103.969,246.523 L 104.578,247.328 L 105.23,248.09 L 105.883,248.781 L 106.496,249.469 L 107.031,250.043 L 107.492,250.582 L 107.879,250.996 L 107.879,250.996 L 107.801,249.852 L 107.645,248.855 L 107.453,248.012 L 107.148,247.246 L 106.844,246.598 L 106.457,246.023 L 106.074,245.488 L 105.652,244.988 L 105.27,244.492 L 104.844,243.996 L 104.461,243.457 L 104.156,242.844 L 103.848,242.156 L 103.617,241.391 L 103.422,240.473 L 103.348,239.441"
-   id="path1314" />
-</clipPath>
-<g
-   id="g1316"> 
-</g>
-
-<clipPath
-   id="clippath75"> 	<path
-   d="M 108.262,251.687 L 108.262,251.687 L 108.262,250.883 L 108.297,250.117 L 108.332,249.355 L 108.371,248.586 L 108.41,247.859 L 108.484,247.133 L 108.563,246.406 L 108.637,245.715 L 108.754,245.023 L 108.867,244.297 L 109.055,243.609 L 109.211,242.918 L 109.402,242.23 L 109.668,241.539 L 109.898,240.852 L 110.203,240.16 L 110.203,240.16 L 109.094,241.234 L 108.176,242.27 L 107.527,243.227 L 107.07,244.148 L 106.762,245.027 L 106.609,245.832 L 106.57,246.637 L 106.648,247.363 L 106.844,248.051 L 107.031,248.703 L 107.301,249.316 L 107.57,249.852 L 107.801,250.387 L 108.031,250.848 L 108.18,251.305 L 108.262,251.687"
-   id="path1323" />
-</clipPath>
-<g
-   id="g1325"> 
-</g>
-
-<clipPath
-   id="clippath76"> 	<path
-   d="M 97.0391,254.34 L 97.0391,254.34 L 97.6523,254.453 L 98.2695,254.57 L 98.8789,254.645 L 99.4922,254.719 L 100.102,254.758 L 100.719,254.797 L 101.332,254.797 L 101.906,254.797 L 102.52,254.758 L 103.094,254.758 L 103.707,254.68 L 104.281,254.641 L 104.895,254.602 L 105.469,254.527 L 106.082,254.445 L 106.656,254.371 L 106.656,254.371 L 106.156,254.602 L 105.66,254.793 L 105.121,255.023 L 104.586,255.215 L 104.012,255.406 L 103.434,255.559 L 102.824,255.715 L 102.215,255.793 L 101.602,255.832 L 100.953,255.832 L 100.301,255.793 L 99.6445,255.641 L 98.9922,255.449 L 98.3438,255.18 L 97.6953,254.801 L 97.0391,254.34"
-   id="path1332" />
-</clipPath>
-<g
-   id="g1334"> 
-</g>
-
-<clipPath
-   id="clippath77"> 	<path
-   d="M 100.605,257.437 L 100.605,257.437 L 100.145,257.516 L 99.7266,257.594 L 99.2656,257.707 L 98.8086,257.824 L 98.3438,258.016 L 97.8906,258.168 L 97.4688,258.359 L 97.0078,258.59 L 96.5859,258.82 L 96.1641,259.086 L 95.7852,259.359 L 95.3984,259.625 L 95.0547,259.93 L 94.7461,260.238 L 94.4453,260.547 L 94.1719,260.891 L 94.1719,260.891 L 94.4414,259.973 L 94.8633,259.164 L 95.3594,258.477 L 95.9727,257.824 L 96.6602,257.289 L 97.4297,256.789 L 98.2695,256.367 L 99.1523,256.023 L 100.07,255.715 L 100.988,255.41 L 101.945,255.176 L 102.902,254.949 L 103.859,254.754 L 104.777,254.566 L 105.621,254.41 L 106.461,254.219 L 106.461,254.219 L 106.043,254.371 L 105.469,254.676 L 104.777,255.141 L 103.938,255.637 L 103.094,256.172 L 102.215,256.672 L 101.371,257.133 L 100.605,257.437"
-   id="path1341" />
-</clipPath>
-<g
-   id="g1343"> 
-</g>
-
-<clipPath
-   id="clippath78"> 	<path
-   d="M 98.8477,264.297 L 98.8477,264.297 L 98.5039,263.414 L 98.3867,262.57 L 98.5039,261.73 L 98.8086,260.965 L 99.2656,260.234 L 99.8789,259.508 L 100.605,258.816 L 101.41,258.203 L 102.254,257.59 L 103.133,257.055 L 104.051,256.516 L 104.934,256.055 L 105.734,255.637 L 106.504,255.25 L 107.152,254.906 L 107.648,254.598 L 107.648,254.598 L 107.117,255.711 L 106.578,256.629 L 106.008,257.359 L 105.469,258.012 L 104.895,258.508 L 104.32,258.969 L 103.746,259.312 L 103.172,259.66 L 102.602,260.004 L 102.023,260.387 L 101.453,260.77 L 100.914,261.23 L 100.379,261.801 L 99.8438,262.492 L 99.3477,263.301 L 98.8477,264.297"
-   id="path1350" />
-</clipPath>
-<g
-   id="g1352"> 
-</g>
-
-<clipPath
-   id="clippath79"> 	<path
-   d="M 108.492,254.863 L 108.492,254.863 L 108.07,255.52 L 107.652,256.172 L 107.23,256.82 L 106.852,257.434 L 106.504,258.047 L 106.16,258.695 L 105.816,259.309 L 105.512,259.926 L 105.207,260.578 L 104.938,261.227 L 104.668,261.84 L 104.438,262.488 L 104.246,263.18 L 104.055,263.832 L 103.902,264.52 L 103.75,265.25 L 103.75,265.25 L 103.367,263.797 L 103.176,262.531 L 103.137,261.383 L 103.25,260.387 L 103.477,259.543 L 103.824,258.777 L 104.242,258.125 L 104.703,257.59 L 105.238,257.09 L 105.777,256.668 L 106.348,256.324 L 106.887,256.016 L 107.383,255.711 L 107.844,255.445 L 108.184,255.137 L 108.492,254.863"
-   id="path1359" />
-</clipPath>
-<g
-   id="g1361"> 
-</g>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<flowRoot
-   xml:space="preserve"
-   id="flowRoot2898"
-   transform="matrix(0.3776217,0,0,0.3776217,94.044679,45.940478)"
-   style="fill:url(#linearGradient3669);fill-opacity:1"><flowRegion
-     id="flowRegion2900"
-     style="fill:url(#linearGradient9226);fill-opacity:1"><rect
-       id="rect2902"
-       width="132.38824"
-       height="126.51618"
-       x="13.879412"
-       y="32.076469"
-       style="fill:url(#linearGradient9228);fill-opacity:1" /></flowRegion><flowPara
-     id="flowPara2904"
-     style="fill:url(#linearGradient9230);fill-opacity:1">1010100101010101011010101110101011101011101010111101011100101011101011010011000010101010101111011000110101010101100101110111010110011101</flowPara></flowRoot>
-</g></svg>
diff --git a/trunk/src/site/resources/tikaNoText16.png b/trunk/src/site/resources/tikaNoText16.png
deleted file mode 100644
index 6f16549..0000000
--- a/trunk/src/site/resources/tikaNoText16.png
+++ /dev/null
Binary files differ
diff --git a/trunk/src/site/resources/tikaNoText32.png b/trunk/src/site/resources/tikaNoText32.png
deleted file mode 100644
index caa7033..0000000
--- a/trunk/src/site/resources/tikaNoText32.png
+++ /dev/null
Binary files differ
diff --git a/trunk/src/site/resources/tikaNoText64.png b/trunk/src/site/resources/tikaNoText64.png
deleted file mode 100644
index cf8eddc..0000000
--- a/trunk/src/site/resources/tikaNoText64.png
+++ /dev/null
Binary files differ
diff --git a/trunk/src/site/site.vm b/trunk/src/site/site.vm
deleted file mode 100644
index 647d204..0000000
--- a/trunk/src/site/site.vm
+++ /dev/null
@@ -1,283 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you 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.
--->
-
-#macro ( link $href $name )
-  #if ( ( $href.toLowerCase().startsWith("http") || $href.toLowerCase().startsWith("https") ) )
-    <a href="$href" class="externalLink">$name</a>
-  #else
-    <a href="$href">$name</a>
-  #end
-#end
-
-#macro ( banner $banner $id )
-  #if ( $banner )
-    #if( $banner.href )
-      <a href="$banner.href" id="$id" #if( $banner.alt ) title="$banner.alt" #end >
-    #else
-        <div id="$id">
-    #end
-
-    #if( $banner.src )
-        #set ( $src = $banner.src )
-        #if ( ! ( $src.toLowerCase().startsWith("http") || $src.toLowerCase().startsWith("https") ) )
-            #set ( $src = $PathTool.calculateLink( $src, $relativePath ) )
-            #set ( $src = $src.replaceAll( "\\", "/" ) )
-        #end
-        #if ( $banner.alt )
-            #set ( $alt = $banner.alt )
-        #else
-            #set ( $alt = $banner.name )
-        #end
-        <img src="$src" alt="$alt" />
-    #else
-        $banner.name
-    #end
-
-    #if( $banner.href )
-        </a>
-    #else
-        </div>
-    #end
-  #end
-#end
-
-#macro ( links $links )
-  #set ( $counter = 0 )
-  #foreach( $item in $links )
-    #set ( $counter = $counter + 1 )
-    #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
-    #set ( $currentItemHref = $currentItemHref.replaceAll( "\\", "/" ) )
-    #link( $currentItemHref $item.name )
-    #if ( $links.size() > $counter )
-      |
-    #end
-  #end
-#end
-
-#macro ( breadcrumbs $breadcrumbs )
-  #set ( $counter = 0 )
-  #foreach( $item in $breadcrumbs )
-    #set ( $counter = $counter + 1 )
-    #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
-    #set ( $currentItemHref = $currentItemHref.replaceAll( "\\", "/" ) )
-
-    #if ( $currentItemHref == $alignedFileName || $currentItemHref == "" )
-      $item.name
-    #else
-      #link( $currentItemHref $item.name )
-    #end
-    #if ( $breadcrumbs.size() > $counter )
-      &gt;
-    #end
-  #end
-#end
-
-#macro ( displayTree $display $item )
-  #if ( $item && $item.items && $item.items.size() > 0 )
-    #foreach( $subitem in $item.items )
-      #set ( $subitemHref = $PathTool.calculateLink( $subitem.href, $relativePath ) )
-      #set ( $subitemHref = $subitemHref.replaceAll( "\\", "/" ) )
-      #if ( $alignedFileName == $subitemHref )
-        #set ( $display = true )
-      #end
-
-      #displayTree( $display $subitem )
-    #end
-  #end
-#end
-
-#macro ( menuItem $item )
-  #set ( $collapse = "none" )
-  #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
-  #set ( $currentItemHref = $currentItemHref.replaceAll( "\\", "/" ) )
-
-  #if ( $item && $item.items && $item.items.size() > 0 )
-    #if ( $item.collapse == false )
-      #set ( $collapse = "expanded" )
-    #else
-      ## By default collapsed
-      #set ( $collapse = "collapsed" )
-    #end
-
-    #set ( $display = false )
-    #displayTree( $display $item )
-
-    #if ( $alignedFileName == $currentItemHref || $display )
-      #set ( $collapse = "expanded" )
-    #end
-  #end
-  <li class="$collapse">
-    #if ( $item.img )
-      #if ( ! ( $item.img.toLowerCase().startsWith("http") || $item.img.toLowerCase().startsWith("https") ) )
-        #set ( $src = $PathTool.calculateLink( $item.img, $relativePath ) )
-        #set ( $src = $src.replaceAll( "\\", "/" ) )
-        <img src="$src"/>
-      #else
-        <img src="$item.img" align="absbottom" style="border-width: 0"/>
-      #end
-    #end
-    #if ( $alignedFileName == $currentItemHref )
-      <strong>$item.name</strong>
-    #else
-      #link( $currentItemHref $item.name )
-    #end
-  #if ( $item && $item.items && $item.items.size() > 0 )
-    #if ( $collapse == "expanded" )
-      <ul>
-        #foreach( $subitem in $item.items )
-          #menuItem( $subitem )
-        #end
-      </ul>
-    #end
-  #end
-  </li>
-#end
-
-#macro ( mainMenu $menus )
-  #foreach( $menu in $menus )
-    #if ( $menu.name )
-    <h5>$menu.name</h5>
-    #end
-    #if ( $menu.items && $menu.items.size() > 0 )
-    <ul>
-      #foreach( $item in $menu.items )
-        #menuItem( $item )
-      #end
-    </ul>
-    #end
-  #end
-#end
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=${outputEncoding}" />
-    <title>$title</title>
-    <style type="text/css" media="all">
-      @import url("$relativePath/css/site.css");
-    </style>
-    <link rel="icon" type="image/png" href="$relativePath/tikaNoText16.png" />
-    <script type="text/javascript">
-      function getBlank(form, stdValue) {
-        if (form.value == stdValue) {
-          form.value = '';
-        }
-        return true;
-      }
-      function getPrompt(form, stdValue) {
-        if (form.value == '') {
-          form.value = stdValue;
-        }
-        return true;
-      }
-    </script>
-  </head>
-  <body class="composite">
-    <div id="banner">
-      #banner( $decoration.bannerLeft "bannerLeft" )
-      #banner( $decoration.bannerRight "bannerRight" )
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="search">
-      <script type="text/javascript">
-        function selectProvider(form) {
-          provider = form.elements['searchProvider'].value;
-          if (provider == "any") {
-            if (Math.random() > 0.5) {
-              provider = "lucid";
-            } else {
-              provider = "sl";
-            }
-          }
-
-          if (provider == "lucid") {
-            form.action = "http://search.lucidimagination.com/p:tika";
-          } else if (provider == "sl") {
-            form.action = "http://search-lucene.com/tika";
-          }
-
-          days = 90;
-          date = new Date();
-          date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
-          expires = "; expires=" + date.toGMTString();
-          document.cookie = "searchProvider=" + provider + expires + "; path=/";
-        }
-      </script>
-      <form action="http://search.lucidimagination.com/p:tika" method="get" id="searchform">
-        <input type="text" id="query" name="q" size="30" onFocus="getBlank (this, 'Search with Apache Solr');" value="Search with Apache Solr"></input>
-        <input type="submit" value="Search" name="Search" onclick="selectProvider(this.form)"/>
-        @
-        <select name="searchProvider" id="searchProvider">
-          <option value="any">select provider</option>
-          <option value="lucid">Lucid Find</option>
-          <option value="sl">Search-Lucene</option>
-        </select>
-        <script type="text/javascript">
-          if (document.cookie.length>0) {
-            cStart=document.cookie.indexOf("searchProvider=");
-            if (cStart!=-1) {
-              cStart=cStart + "searchProvider=".length;
-              cEnd=document.cookie.indexOf(";", cStart);
-              if (cEnd==-1) {
-                cEnd=document.cookie.length;
-              }
-              provider = unescape(document.cookie.substring(cStart,cEnd));
-              document.forms['searchform'].elements['searchProvider'].value = provider;
-            }
-          }
-        </script>
-      </form>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-       #mainMenu( $decoration.body.menus )
-      </div>
-      <div id="bookpromo">  
-        <a href="http://manning.com/mattmann"><img src="http://www.manning.com/mattmann/mattmann_cover150.jpg" border="0"/></a>
-      </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        $bodyContent
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <p>
-#set ( $currentYear = ${currentDate.year} + 1900 )
-        Copyright $currentYear
-        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-        Site powered by <a href="http://maven.apache.org/">Apache Maven</a>. 
-        Search powered by <a href="http://www.lucidimagination.com">Lucid Imagination</a> & <a href="http://sematext.com">Sematext</a>.
-      </p>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/trunk/src/site/site.xml b/trunk/src/site/site.xml
deleted file mode 100644
index 9d099c0..0000000
--- a/trunk/src/site/site.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you 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.
--->
-<project name="Apache Tika">
-  <bannerLeft>
-    <alt>Apache Tika</alt>
-    <src>http://tika.apache.org/tika.png</src>
-    <href>http://tika.apache.org</href>
-  </bannerLeft>
-  <bannerRight>
-    <alt>Apache</alt>
-    <src>http://www.apache.org/images/feather-small.gif</src>
-    <href>www.apache.org</href>
-  </bannerRight>
-  <body>
-    <head>
-    </head>
-    <links>
-      <item name="Apache" href="http://www.apache.org/" />
-      <item name="Lucene" href="http://lucene.apache.org/"/>
-    </links>
-    <menu name="Apache Tika">
-      <item name="Changes" href="index.html"/>
-      <item name="Getting Started" href="gettingstarted.html"/>
-      <item name="Supported Formats" href="formats.html"/>
-      <item name="Parser API" href="parser.html"/>
-      <item name="Parser 5min Quick Start Guide" href="parser_guide.html"/>
-    </menu>
-    <menu ref="reports"/>
-  </body>
-</project>
diff --git a/trunk/tika-app/pom.xml b/trunk/tika-app/pom.xml
deleted file mode 100644
index 8569424..0000000
--- a/trunk/tika-app/pom.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you 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.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.tika</groupId>
-    <artifactId>tika-parent</artifactId>
-    <version>0.9</version>
-    <relativePath>../tika-parent/pom.xml</relativePath>
-  </parent>
-
-  <artifactId>tika-app</artifactId>
-  <packaging>bundle</packaging>
-  <name>Apache Tika application</name>
-  <url>http://tika.apache.org/</url>
-
-  <dependencies>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>tika-parsers</artifactId>
-      <version>${project.version}</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-log4j12</artifactId>
-      <version>1.5.6</version>
-      <scope>provided</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Export-Package>org.apache.tika.*</Export-Package>
-            <Embed-Dependency>*;scope=provided;inline=edu/**|Jama/**| loci/**|ncsa/**|net/**|nom/**|opendap/**|resources/**|thredds/**|ucar/**|visad/**|javax/**|org/**|com/**|de/**|font_metrics.properties|repackage/**|schema*/**|META-INF/services/**</Embed-Dependency>
-            <Embed-Transitive>true</Embed-Transitive>
-            <Bundle-DocURL>${project.url}</Bundle-DocURL>
-            <Main-Class>org.apache.tika.cli.TikaCLI</Main-Class>
-          </instructions>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
diff --git a/trunk/tika-app/src/main/appended-resources/META-INF/LICENSE b/trunk/tika-app/src/main/appended-resources/META-INF/LICENSE
deleted file mode 100644
index 9918196..0000000
--- a/trunk/tika-app/src/main/appended-resources/META-INF/LICENSE
+++ /dev/null
@@ -1,280 +0,0 @@
-APACHE TIKA SUBCOMPONENTS
-
-Apache Tika includes a number of subcomponents with separate copyright notices
-and license terms. Your use of these subcomponents is subject to the terms and
-conditions of the following licenses.
-
-Bouncy Castle libraries (bcmail and bcprov)
-
-    Copyright (c) 2000-2009 The Legion Of The Bouncy Castle
-    (http://www.bouncycastle.org)
-
-    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.
-
-Contributions made to the original PDFBox, JempBox and FontBox projects:
-
-    Copyright (c) 2002-2007, www.pdfbox.org
-    Copyright (c) 2006-2007, www.jempbox.org
-    All rights reserved.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    1. Redistributions of source code must retain the above copyright notice,
-       this list of conditions and the following disclaimer.
-
-    2. Redistributions in binary form must reproduce the above copyright
-       notice, this list of conditions and the following disclaimer in the
-       documentation and/or other materials provided with the distribution.
-
-    3. Neither the name of pdfbox; nor the names of its contributors may be
-       used to endorse or promote products derived from this software without
-       specific prior written permission.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-    SUCH DAMAGE.
-
-Adobe Font Metrics (AFM) for PDF Core 14 Fonts
-
-    This file and the 14 PostScript(R) AFM files it accompanies may be used,
-    copied, and distributed for any purpose and without charge, with or without
-    modification, provided that all copyright notices are retained; that the
-    AFM files are not distributed without this file; that all modifications
-    to this file or any of the AFM files are prominently noted in the modified
-    file(s); and that this paragraph is not modified. Adobe Systems has no
-    responsibility or obligation to support the use of the AFM files.
-
-CMaps for PDF Fonts (http://www.adobe.com/devnet/font/#pcfi and
-ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/adobe/)
-
-    Copyright 1990-2001 Adobe Systems Incorporated.
-    All Rights Reserved.
-
-    Patents Pending
-
-    NOTICE: All information contained herein is the property
-    of Adobe Systems Incorporated.
-
-    Permission is granted for redistribution of this file
-    provided this copyright notice is maintained intact and
-    that the contents of this file are not altered in any
-    way from its original form.
-
-    PostScript and Display PostScript are trademarks of
-    Adobe Systems Incorporated which may be registered in
-    certain jurisdictions.
-
-Adobe Glyphlist (http://www.adobe.com/devnet/opentype/archives/glyph.html)
-
-    Copyright (c) 1997,1998,2002,2007 Adobe Systems Incorporated
- 
-    Permission is hereby granted, free of charge, to any person obtaining a
-    copy of this documentation file to use, copy, publish, distribute,
-    sublicense, and/or sell copies of the documentation, and to permit
-    others to do the same, provided that:
-    - No modification, editing or other alteration of this document is
-    allowed; and
-    - The above copyright notice and this permission notice shall be
-    included in all copies of the documentation.
- 
-    Permission is hereby granted, free of charge, to any person obtaining a
-    copy of this documentation file, to create their own derivative works
-    from the content of this document to use, copy, publish, distribute,
-    sublicense, and/or sell the derivative works, and to permit others to do
-    the same, provided that the derived work is not represented as being a
-    copy or version of this document.
- 
-    Adobe shall not be liable to any party for any loss of revenue or profit
-    or for indirect, incidental, special, consequential, or other similar
-    damages, whether based on tort (including without limitation negligence
-    or strict liability), contract or other legal or equitable grounds even
-    if Adobe has been advised or had reason to know of the possibility of
-    such damages. The Adobe materials are provided on an "AS IS" basis.
-    Adobe specifically disclaims all express, statutory, or implied
-    warranties relating to the Adobe materials, including but not limited to
-    those concerning merchantability or fitness for a particular purpose or
-    non-infringement of any third party rights regarding the Adobe
-    materials.
-
-Charset detection code from ICU4J (http://site.icu-project.org/)
-
-    Copyright (c) 1995-2009 International Business Machines Corporation
-    and others
-
-    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, and/or sell copies of the Software, and to permit persons
-    to whom the Software is furnished to do so, provided that the above
-    copyright notice(s) and this permission notice appear in all copies
-    of the Software and that both the above copyright notice(s) and this
-    permission notice appear in supporting documentation.
-
-    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 OF THIRD PARTY RIGHTS.
-    IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
-    BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
-    OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-    WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-    ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-    SOFTWARE.
-
-    Except as contained in this notice, the name of a copyright holder shall
-    not be used in advertising or otherwise to promote the sale, use or other
-    dealings in this Software without prior written authorization of the
-    copyright holder.
-
-ASM library (asm)
-
-    Copyright (c) 2000-2005 INRIA, France Telecom
-    All rights reserved.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions
-    are met:
-
-    1. Redistributions of source code must retain the above copyright
-       notice, this list of conditions and the following disclaimer.
-
-    2. Redistributions in binary form must reproduce the above copyright
-       notice, this list of conditions and the following disclaimer in the
-       documentation and/or other materials provided with the distribution.
-
-    3. Neither the name of the copyright holders nor the names of its
-       contributors may be used to endorse or promote products derived from
-       this software without specific prior written permission.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-    THE POSSIBILITY OF SUCH DAMAGE.
-
-MIME type information from file-4.26.tar.gz (http://www.darwinsys.com/file/)
-
-    Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.
-    Software written by Ian F. Darwin and others;
-    maintained 1994- Christos Zoulas.
-
-    This software is not subject to any export provision of the United States
-    Department of Commerce, and may be exported to any country or planet.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions
-    are met:
-    1. Redistributions of source code must retain the above copyright
-       notice immediately at the beginning of the file, without modification,
-       this list of conditions, and the following disclaimer.
-    2. Redistributions in binary form must reproduce the above copyright
-       notice, this list of conditions and the following disclaimer in the
-       documentation and/or other materials provided with the distribution.
-
-    THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
-    ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-    SUCH DAMAGE.
-
-Office Open XML schemas (ooxml-schemas-1.0.jar)
-
-    The Office Open XML schema definitions used by Apache POI are
-    a part of the Office Open XML ECMA Specification (ECMA-376, [1]).
-    As defined in section 9.4 of the ECMA bylaws [2], this specification
-    is available to all interested parties without restriction:
-
-        9.4 All documents when approved shall be made available to
-            all interested parties without restriction.
-
-    Furthermore, both Microsoft and Adobe have granted patent licenses
-    to this work [3,4,5].
-
-    [1] http://www.ecma-international.org/publications/standards/Ecma-376.htm
-    [2] http://www.ecma-international.org/memento/Ecmabylaws.htm
-    [3] http://www.microsoft.com/interop/osp/
-    [4] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ECMA-376%20Edition%201%20Microsoft%20Patent%20Declaration.pdf
-    [5] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ga-2006-191.pdf
-
-DOM4J library (dom4j-1.6.1.jar)
-
-    Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
-
-    Redistribution and use of this software and associated documentation
-    ("Software"), with or without modification, are permitted provided
-    that the following conditions are met:
-
-    1. Redistributions of source code must retain copyright
-       statements and notices.  Redistributions must also contain a
-       copy of this document.
-
-    2. Redistributions in binary form must reproduce the
-       above copyright notice, this list of conditions and the
-       following disclaimer in the documentation and/or other
-       materials provided with the distribution.
-
-    3. The name "DOM4J" must not be used to endorse or promote
-       products derived from this Software without prior written
-       permission of MetaStuff, Ltd.  For written permission,
-       please contact dom4j-info@metastuff.com.
-
-    4. Products derived from this Software may not be called "DOM4J"
-       nor may "DOM4J" appear in their names without prior written
-       permission of MetaStuff, Ltd. DOM4J is a registered
-       trademark of MetaStuff, Ltd.
-
-    5. Due credit should be given to the DOM4J Project - 
-       http://www.dom4j.org
- 
-    THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
-    ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
-    NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-    FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
-    METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-    OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/trunk/tika-app/src/main/assembly/standalone.xml b/trunk/tika-app/src/main/assembly/standalone.xml
deleted file mode 100644
index a24aa7a..0000000
--- a/trunk/tika-app/src/main/assembly/standalone.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You 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.
--->
-<assembly>
-  <id>standalone</id>
-  <formats>
-    <format>jar</format>
-  </formats>
-  <includeBaseDirectory>false</includeBaseDirectory>
-  <dependencySets>
-    <dependencySet>
-      <outputDirectory></outputDirectory>
-      <unpack>true</unpack>
-      <unpackOptions>
-        <excludes>
-          <exclude>META-INF/MANIFEST.MF</exclude>
-          <exclude>META-INF/README*</exclude>
-          <exclude>META-INF/NOTICE*</exclude>
-          <exclude>META-INF/LICENSE*</exclude>
-          <exclude>README*</exclude>
-          <exclude>NOTICE*</exclude>
-          <exclude>LICENSE*</exclude>
-        </excludes>
-      </unpackOptions>
-    </dependencySet>
-  </dependencySets>
-</assembly>
diff --git a/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java b/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
deleted file mode 100644
index bf7baeb..0000000
--- a/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
+++ /dev/null
@@ -1,646 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.cli;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-import java.lang.reflect.Field;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.net.URL;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import javax.xml.transform.sax.TransformerHandler;
-import javax.xml.transform.stream.StreamResult;
-
-import org.apache.log4j.BasicConfigurator;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.SimpleLayout;
-import org.apache.log4j.WriterAppender;
-import org.apache.tika.config.TikaConfig;
-import org.apache.tika.detect.DefaultDetector;
-import org.apache.tika.detect.Detector;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.extractor.EmbeddedDocumentExtractor;
-import org.apache.tika.fork.ForkParser;
-import org.apache.tika.gui.TikaGUI;
-import org.apache.tika.io.CloseShieldInputStream;
-import org.apache.tika.io.IOUtils;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.language.ProfilingHandler;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.mime.MediaTypeRegistry;
-import org.apache.tika.mime.MimeTypeException;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.CompositeParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.parser.ParserDecorator;
-import org.apache.tika.parser.html.BoilerpipeContentHandler;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-
-/**
- * Simple command line interface for Apache Tika.
- */
-public class TikaCLI {
-
-    public static void main(String[] args) throws Exception {
-        BasicConfigurator.configure(
-                new WriterAppender(new SimpleLayout(), System.err));
-        Logger.getRootLogger().setLevel(Level.INFO);
-
-        TikaCLI cli = new TikaCLI();
-        for (int i = 0; i < args.length; i++) {
-            cli.process(args[i]);
-        }
-        if (cli.pipeMode) {
-            cli.process("-");
-        }
-    }
-
-    private class OutputType {
-
-        public void process(InputStream input, OutputStream output)
-                throws Exception {
-            Parser p = parser;
-            if (fork) {
-                p = new ForkParser(TikaCLI.class.getClassLoader(), p);
-            }
-            ContentHandler handler = getContentHandler(output);
-            p.parse(input, handler, metadata, context);   
-            // fix for TIKA-596: if a parser doesn't generate
-            // XHTML output, the lack of an output document prevents
-            // metadata from being output: this fixes that
-            if (handler instanceof NoDocumentMetHandler){
-                NoDocumentMetHandler metHandler = (NoDocumentMetHandler)handler;
-                if(!metHandler.metOutput()){
-                    metHandler.endDocument();
-                }
-            }
-        }
-
-        protected ContentHandler getContentHandler(OutputStream output)
-                throws Exception {
-            throw new UnsupportedOperationException();
-        }
-        
-    }
-
-    private final OutputType XML = new OutputType() {
-        @Override
-        protected ContentHandler getContentHandler(OutputStream output)
-                throws Exception {
-            return getTransformerHandler(output, "xml", encoding);
-        }
-    };
-
-    private final OutputType HTML = new OutputType() {
-        @Override
-        protected ContentHandler getContentHandler(OutputStream output)
-                throws Exception {
-            return getTransformerHandler(output, "html", encoding);
-        }
-    };
-
-    private final OutputType TEXT = new OutputType() {
-        @Override
-        protected ContentHandler getContentHandler(OutputStream output)
-                throws Exception {
-            return new BodyContentHandler(getOutputWriter(output, encoding));
-        }
-    };
-
-    private final OutputType NO_OUTPUT = new OutputType() {
-        @Override
-        protected ContentHandler getContentHandler(OutputStream output) {
-            return new DefaultHandler();
-        }
-    };
-
-    private final OutputType TEXT_MAIN = new OutputType() {
-        @Override
-        protected ContentHandler getContentHandler(OutputStream output)
-                throws Exception {
-            return new BoilerpipeContentHandler(getOutputWriter(output, encoding));
-        }
-    };
-    
-    private final OutputType METADATA = new OutputType() {
-        @Override
-        protected ContentHandler getContentHandler(OutputStream output)
-                throws Exception {
-            final PrintWriter writer =
-                new PrintWriter(getOutputWriter(output, encoding));
-            return new NoDocumentMetHandler(writer);
-        }
-    };
-
-    private final OutputType LANGUAGE = new OutputType() {
-        @Override
-        protected ContentHandler getContentHandler(OutputStream output)
-                throws Exception {
-            final PrintWriter writer =
-                new PrintWriter(getOutputWriter(output, encoding));
-            return new ProfilingHandler() {
-                public void endDocument() {
-                    writer.println(getLanguage().getLanguage());
-                    writer.flush();
-                }
-            };
-        }
-    };
-
-    private final OutputType DETECT = new OutputType() {
-        @Override
-        public void process(InputStream stream, OutputStream output)
-                throws Exception {
-            PrintWriter writer =
-                new PrintWriter(getOutputWriter(output, encoding));
-            writer.println(detector.detect(stream, metadata).toString());
-            writer.flush();
-        }
-    };
-
-    private ParseContext context;
-    
-    private Detector detector;
-
-    private AutoDetectParser parser;
-
-    private Metadata metadata;
-
-    private OutputType type = XML;
-
-    /**
-     * Output character encoding, or <code>null</code> for platform default
-     */
-    private String encoding = null;
-
-    private boolean pipeMode = true;
-
-    private boolean portMode = false;
-
-    private boolean fork = false;
-
-    public TikaCLI() throws TransformerConfigurationException, IOException, TikaException, SAXException {
-        context = new ParseContext();
-        detector = new DefaultDetector();
-        parser = new AutoDetectParser(detector);
-        context.set(Parser.class, parser);
-    }
-
-    public void process(String arg) throws Exception {
-        if (arg.equals("-?") || arg.equals("--help")) {
-            pipeMode = false;
-            usage();
-        } else if (arg.equals("-v") || arg.equals("--verbose")) {
-            Logger.getRootLogger().setLevel(Level.DEBUG);
-        } else if (arg.equals("-g") || arg.equals("--gui")) {
-            pipeMode = false;
-            TikaGUI.main(new String[0]);
-        } else if (arg.equals("--list-parser") || arg.equals("--list-parsers")) {
-            pipeMode = false;
-            displayParsers(false);
-        } else if (arg.equals("--list-parser-detail") || arg.equals("--list-parser-details")) {
-            pipeMode = false;
-            displayParsers(true);
-        } else if(arg.equals("--list-met-models")){
-            pipeMode = false;
-            displayMetModels();
-        } else if(arg.equals("--list-supported-types")){
-            pipeMode = false;
-            displaySupportedTypes();
-        } else if (arg.equals("--container-aware")
-                || arg.equals("--container-aware-detector")) {
-            // ignore, as container-aware detectors are now always used
-        } else if (arg.equals("-f") || arg.equals("--fork")) {
-            fork = true;
-        } else if (arg.startsWith("-e")) {
-            encoding = arg.substring("-e".length());
-        } else if (arg.startsWith("--encoding=")) {
-            encoding = arg.substring("--encoding=".length());
-        } else if (arg.equals("-x") || arg.equals("--xml")) {
-            type = XML;
-        } else if (arg.equals("-h") || arg.equals("--html")) {
-            type = HTML;
-        } else if (arg.equals("-t") || arg.equals("--text")) {
-            type = TEXT;
-        } else if (arg.equals("-T") || arg.equals("--text-main")) {
-            type = TEXT_MAIN;
-        } else if (arg.equals("-m") || arg.equals("--metadata")) {
-            type = METADATA;
-        } else if (arg.equals("-l") || arg.equals("--language")) {
-            type = LANGUAGE;
-        } else if (arg.equals("-d") || arg.equals("--detect")) {
-            type = DETECT;
-        } else if (arg.equals("-z") || arg.equals("--extract")) {
-            type = NO_OUTPUT;
-            context.set(EmbeddedDocumentExtractor.class, new FileEmbeddedDocumentExtractor());
-        } else if (arg.equals("-p") || arg.equals("--port")) {
-            portMode = true;
-            pipeMode = false;
-        } else {
-            pipeMode = false;
-            metadata = new Metadata();
-            if (portMode) {
-                new TikaServer(Integer.parseInt(arg)).start();
-            } else if (arg.equals("-")) {
-                InputStream stream =
-                    TikaInputStream.get(new CloseShieldInputStream(System.in));
-                try {
-                    type.process(stream, System.out);
-                } finally {
-                    stream.close();
-                }
-            } else {
-                URL url;
-                File file = new File(arg);
-                if (file.isFile()) {
-                    url = file.toURI().toURL();
-                } else {
-                    url = new URL(arg);
-                }
-                InputStream input = TikaInputStream.get(url, metadata);
-                try {
-                    type.process(input, System.out);
-                } finally {
-                    input.close();
-                    System.out.flush();
-                }
-            }
-        }
-    }
-
-    private void usage() {
-        PrintStream out = System.out;
-        out.println("usage: java -jar tika-app.jar [option...] [file|port...]");
-        out.println();
-        out.println("Options:");
-        out.println("    -?  or --help        Print this usage message");
-        out.println("    -v  or --verbose     Print debug level messages");
-        out.println();
-        out.println("    -g  or --gui         Start the Apache Tika GUI");
-        out.println("    -s  or --server      Start the Apache Tika server");
-        out.println();
-        out.println("    -x  or --xml         Output XHTML content (default)");
-        out.println("    -h  or --html        Output HTML content");
-        out.println("    -t  or --text        Output plain text content");
-        out.println("    -T  or --text-main   Output plain text content (main content only)");
-        out.println("    -m  or --metadata    Output only metadata");
-        out.println("    -l  or --language    Output only language");
-        out.println("    -d  or --detect      Detect document type");
-        out.println("    -eX or --encoding=X  Use output encoding X");
-        out.println("    -z  or --extract     Extract all attachements into current directory");        
-        out.println();
-        out.println("    --list-parsers");
-        out.println("         List the available document parsers");
-        out.println("    --list-parser-details");
-        out.println("         List the available document parsers, and their supported mime types");
-        out.println("    --list-met-models");
-        out.println("         List the available metadata models, and their supported keys");
-        out.println("    --list-supported-types");
-        out.println("         List all known media types and related information");
-        out.println();
-        out.println("Description:");
-        out.println("    Apache Tika will parse the file(s) specified on the");
-        out.println("    command line and output the extracted text content");
-        out.println("    or metadata to standard output.");
-        out.println();
-        out.println("    Instead of a file name you can also specify the URL");
-        out.println("    of a document to be parsed.");
-        out.println();
-        out.println("    If no file name or URL is specified (or the special");
-        out.println("    name \"-\" is used), then the standard input stream");
-        out.println("    is parsed.");
-        out.println();
-        out.println("- GUI mode");
-        out.println();
-        out.println("    Use the \"--gui\" (or \"-g\") option to start the");
-        out.println("    Apache Tika GUI. You can drag and drop files from");
-        out.println("    a normal file explorer to the GUI window to extract");
-        out.println("    text content and metadata from the files.");
-        out.println();
-        out.println("- Server mode");
-        out.println();
-        out.println("    Use the \"-server\" (or \"-s\") option to start the");
-        out.println("    Apache Tika server. The server will listen to the");
-        out.println("    ports you specify as one or more arguments.");
-        out.println();
-    }
-
-    private void displayMetModels(){
-        Class<?>[] modelClasses = Metadata.class.getInterfaces();
-        Arrays.sort(modelClasses, new Comparator<Class<?>>() {
-            public int compare(Class<?> o1, Class<?> o2) {
-                return o1.getName().compareTo(o2.getName());
-            }
-        });
-
-        for (Class<?> modelClass: modelClasses) {
-            // we don't care about internal Tika met classes
-            // if we do, then we can take this conditional out
-            if (modelClass.getSimpleName().contains("Tika")) {
-                System.out.println(modelClass.getSimpleName());
-                Field[] keyFields = modelClass.getFields();
-                Arrays.sort(keyFields, new Comparator<Field>() {
-                    public int compare(Field o1, Field o2) {
-                        return o1.getName().compareTo(o2.getName());
-                    }
-                });
-                for (Field keyField: keyFields) {
-                    System.out.println(" "+keyField.getName());
-                }
-            }
-        }
-    }
-
-    /*
-     * Displays loaded parsers and their mime types
-     * If a parser is a composite parser, it will list the
-     * sub parsers and their mime-types.
-     */
-    private void displayParsers(boolean includeMimeTypes) {
-        displayParser(parser, includeMimeTypes, 0);
-    }
-     
-    private void displayParser(Parser p, boolean includeMimeTypes, int i) {
-        boolean isComposite = (p instanceof CompositeParser);
-        String name = (p instanceof ParserDecorator) ?
-                      ((ParserDecorator) p).getWrappedParser().getClass().getName() :
-                      p.getClass().getName();
-        System.out.println(indent(i) + name + (isComposite ? " (Composite Parser):" : ""));
-        if (includeMimeTypes && !isComposite) {
-            for (MediaType mt : p.getSupportedTypes(context)) {
-                System.out.println(indent(i+2) + mt);
-            }
-        }
-        
-        if (isComposite) {
-            Parser[] subParsers = sortParsers(invertMediaTypeMap(((CompositeParser) p).getParsers()));
-            for(Parser sp : subParsers) {
-                displayParser(sp, includeMimeTypes, i+2);
-            }
-        }
-    }
-
-    private String indent(int indent) {
-        return "                     ".substring(0, indent);
-    }
-
-    private Parser[] sortParsers(Map<Parser, Set<MediaType>> parsers) {
-        // Get a nicely sorted list of the parsers
-        Parser[] sortedParsers = parsers.keySet().toArray(new Parser[parsers.size()]);
-        Arrays.sort(sortedParsers, new Comparator<Parser>() {
-            public int compare(Parser p1, Parser p2) {
-                String name1 = p1.getClass().getName();
-                String name2 = p2.getClass().getName();
-                return name1.compareTo(name2);
-            }
-        });
-        return sortedParsers;
-    }
-
-    private Map<Parser, Set<MediaType>> invertMediaTypeMap(Map<MediaType, Parser> supported) {
-        Map<Parser,Set<MediaType>> parsers = new HashMap<Parser, Set<MediaType>>();
-        for(Entry<MediaType, Parser> e : supported.entrySet()) {
-            if (!parsers.containsKey(e.getValue())) {
-                parsers.put(e.getValue(), new HashSet<MediaType>());
-            }
-            parsers.get(e.getValue()).add(e.getKey());
-        }
-        return parsers;
-    }
-
-    /**
-     * Prints all the known media types, aliases and matching parser classes.
-     */
-    private void displaySupportedTypes() {
-        MediaTypeRegistry registry = parser.getMediaTypeRegistry();
-        Map<MediaType, Parser> parsers = parser.getParsers();
-
-        for (MediaType type : registry.getTypes()) {
-            System.out.println(type);
-            for (MediaType alias : registry.getAliases(type)) {
-                System.out.println("  alias:     " + alias);
-            }
-            MediaType supertype = registry.getSupertype(type);
-            if (supertype != null) {
-                System.out.println("  supertype: " + supertype);
-            }
-            Parser parser = parsers.get(type);
-            if (parser != null) {
-                System.out.println("  parser:    " + parser.getClass().getName());
-            }
-        }
-    }
-
-    /**
-     * Returns a output writer with the given encoding.
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-277">TIKA-277</a>
-     * @param output output stream
-     * @param encoding output encoding,
-     *                 or <code>null</code> for the platform default
-     * @return output writer
-     * @throws UnsupportedEncodingException
-     *         if the given encoding is not supported
-     */
-    private static Writer getOutputWriter(OutputStream output, String encoding)
-            throws UnsupportedEncodingException {
-        if (encoding != null) {
-            return new OutputStreamWriter(output, encoding);
-        } else if (System.getProperty("os.name")
-                .toLowerCase().startsWith("mac os x")) {
-            // TIKA-324: Override the default encoding on Mac OS X
-            return new OutputStreamWriter(output, "UTF-8");
-        } else {
-            return new OutputStreamWriter(output);
-        }
-    }
-
-    /**
-     * Returns a transformer handler that serializes incoming SAX events
-     * to XHTML or HTML (depending the given method) using the given output
-     * encoding.
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-277">TIKA-277</a>
-     * @param output output stream
-     * @param method "xml" or "html"
-     * @param encoding output encoding,
-     *                 or <code>null</code> for the platform default
-     * @return {@link System#out} transformer handler
-     * @throws TransformerConfigurationException
-     *         if the transformer can not be created
-     */
-    private static TransformerHandler getTransformerHandler(
-            OutputStream output, String method, String encoding)
-            throws TransformerConfigurationException {
-        SAXTransformerFactory factory = (SAXTransformerFactory)
-                SAXTransformerFactory.newInstance();
-        TransformerHandler handler = factory.newTransformerHandler();
-        handler.getTransformer().setOutputProperty(OutputKeys.METHOD, method);
-        handler.getTransformer().setOutputProperty(OutputKeys.INDENT, "yes");
-        if (encoding != null) {
-            handler.getTransformer().setOutputProperty(
-                    OutputKeys.ENCODING, encoding);
-        }
-        handler.setResult(new StreamResult(output));
-        return handler;
-    }
-
-    private static class FileEmbeddedDocumentExtractor implements EmbeddedDocumentExtractor {
-        private int count = 0;
-        private final TikaConfig config = TikaConfig.getDefaultConfig();
-
-        public boolean shouldParseEmbedded(Metadata metadata) {
-            return true;
-        }
-
-        public void parseEmbedded(InputStream inputStream, ContentHandler contentHandler, Metadata metadata, boolean outputHtml) throws SAXException, IOException {
-            String name = metadata.get(Metadata.RESOURCE_NAME_KEY);
-
-            if (name == null) {
-                name = Integer.toString(count);
-            }
-
-            String contentType = metadata.get(Metadata.CONTENT_TYPE);
-
-            if (name.indexOf('.')==-1 && contentType!=null) {
-                try {
-                    name += config.getMimeRepository().forName(contentType).getExtension();
-                } catch (MimeTypeException e) {
-                    e.printStackTrace();
-                }
-            }
-
-            File outputFile = new File(name);
-            if (outputFile.exists()) {
-                System.err.println("File '"+name+"' already exists; skipping");
-                return;
-            }
-
-            System.out.println("Extracting '"+name+"' ("+contentType+")");
-
-            FileOutputStream os = new FileOutputStream(outputFile);
-
-            IOUtils.copy(inputStream, os);
-
-            os.close();
-
-            count++;
-        }
-    }
-
-    private class TikaServer extends Thread {
-
-        private final ServerSocket server;
-
-        public TikaServer(int port) throws IOException {
-            super("Tika server at port " + port);
-            server = new ServerSocket(port);
-        }
-
-        @Override
-        public void run() {
-            try {
-                try {
-                    while (true) {
-                        processSocketInBackground(server.accept());
-                    }
-                } finally {
-                    server.close();
-                }
-            } catch (IOException e) { 
-                e.printStackTrace();
-            }
-        }
-
-        private void processSocketInBackground(final Socket socket) {
-            Thread thread = new Thread() {
-                @Override
-                public void run() {
-                    try {
-                        try {
-                            OutputStream output = socket.getOutputStream();
-                            type.process(socket.getInputStream(), output);
-                            output.flush();
-                        } finally {
-                            socket.close();
-                        }
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                }
-            };
-            thread.setDaemon(true);
-            thread.start();
-        }
-
-    }
-    
-    private class NoDocumentMetHandler extends DefaultHandler{
-        
-        private PrintWriter writer;
-        
-        private boolean metOutput;
-        
-        public NoDocumentMetHandler(PrintWriter writer){
-            this.writer = writer;
-            this.metOutput = false;
-        }
-        
-        @Override
-        public void endDocument() {
-            String[] names = metadata.names();
-            Arrays.sort(names);
-            for (String name : names) {
-                writer.println(name + ": " + metadata.get(name));
-            }
-            writer.flush();
-            this.metOutput = true;
-        }        
-        
-        public boolean metOutput(){
-            return this.metOutput;
-        }
-        
-    }
-
-}
diff --git a/trunk/tika-app/src/main/java/org/apache/tika/gui/ParsingTransferHandler.java b/trunk/tika-app/src/main/java/org/apache/tika/gui/ParsingTransferHandler.java
deleted file mode 100644
index bf03747..0000000
--- a/trunk/tika-app/src/main/java/org/apache/tika/gui/ParsingTransferHandler.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.gui;
-
-import java.awt.datatransfer.Clipboard;
-import java.awt.datatransfer.DataFlavor;
-import java.awt.datatransfer.Transferable;
-import java.awt.event.InputEvent;
-import java.io.File;
-import java.io.InputStream;
-import java.util.List;
-import java.util.StringTokenizer;
-import java.util.ArrayList;
-import java.net.URI;
-import java.net.URL;
-
-import javax.swing.Icon;
-import javax.swing.JComponent;
-import javax.swing.TransferHandler;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.MetadataHelper;
-
-/**
- * Utility class that turns drag-and-drop events into Tika parse requests.
- */
-class ParsingTransferHandler extends TransferHandler {
-
-    /**
-     * Serial version UID.
-     */
-    private static final long serialVersionUID = -557932290014044494L;
-
-    private final TransferHandler delegate;
-
-    private final TikaGUI tika;
-
-    private static DataFlavor uriListFlavor;
-    private static DataFlavor urlListFlavor;
-    static {
-         try {
-             uriListFlavor = new DataFlavor("text/uri-list;class=java.lang.String");
-             urlListFlavor = new DataFlavor("text/plain;class=java.lang.String");
-         } catch (ClassNotFoundException e) {
-         }
-    }
-
-    public ParsingTransferHandler(TransferHandler delegate, TikaGUI tika) {
-        this.delegate = delegate;
-        this.tika = tika;
-    }
-
-    public boolean canImport(JComponent component, DataFlavor[] flavors) {
-        for (DataFlavor flavor : flavors) {
-            if (flavor.equals(DataFlavor.javaFileListFlavor) || flavor.equals(uriListFlavor) || flavor.equals(urlListFlavor)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    @SuppressWarnings("unchecked")
-    public boolean importData(
-            JComponent component, Transferable transferable) {
-        try {
-            List<File> files = null;
-            if (transferable.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
-                files = (List<File>) transferable.getTransferData(
-                        DataFlavor.javaFileListFlavor);
-            } else if (transferable.isDataFlavorSupported(urlListFlavor)) {
-                Object data = transferable.getTransferData(urlListFlavor);
-                Metadata metadata = new Metadata();
-                InputStream stream = MetadataHelper.getInputStream(
-                        new URL(data.toString()), metadata);
-                tika.importStream(stream, metadata);
-            } else if (transferable.isDataFlavorSupported(uriListFlavor)) {
-                files = uriToFileList(
-                        transferable.getTransferData(uriListFlavor).toString());
-            }
-
-            for (File file : files) {
-                Metadata metadata = new Metadata();
-                InputStream stream = MetadataHelper.getInputStream(
-                        file.toURI().toURL(), metadata);
-                tika.importStream(stream, metadata);
-            }
-            return true;
-        } catch (Exception e) {
-            return false;
-        }
-    }
-
-    public void exportAsDrag(JComponent arg0, InputEvent arg1, int arg2) {
-        delegate.exportAsDrag(arg0, arg1, arg2);
-    }
-
-    public void exportToClipboard(JComponent arg0, Clipboard arg1, int arg2)
-            throws IllegalStateException {
-        delegate.exportToClipboard(arg0, arg1, arg2);
-    }
-
-    public int getSourceActions(JComponent arg0) {
-        return delegate.getSourceActions(arg0);
-    }
-
-    public Icon getVisualRepresentation(Transferable arg0) {
-        return delegate.getVisualRepresentation(arg0);
-    }
-
-    private static List<File> uriToFileList(String data) {
-        List<File> list = new ArrayList<File>();
-        StringTokenizer st = new StringTokenizer(data, "\r\n");
-        while (st.hasMoreTokens())
-        {
-            String s = st.nextToken();
-            if (s.startsWith("#")) {
-                continue;
-            }
-            try {
-                list.add(new File(new URI(s)));
-            } catch (Exception e) {
-            }
-        }
-        return list;
-    }
-}
diff --git a/trunk/tika-app/src/main/java/org/apache/tika/gui/TikaGUI.java b/trunk/tika-app/src/main/java/org/apache/tika/gui/TikaGUI.java
deleted file mode 100644
index 323bb83..0000000
--- a/trunk/tika-app/src/main/java/org/apache/tika/gui/TikaGUI.java
+++ /dev/null
@@ -1,403 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.gui;
-
-import java.awt.Dimension;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import javax.swing.JEditorPane;
-import javax.swing.JFrame;
-import javax.swing.JOptionPane;
-import javax.swing.JScrollPane;
-import javax.swing.JTabbedPane;
-import javax.swing.ProgressMonitorInputStream;
-import javax.swing.SwingUtilities;
-import javax.swing.UIManager;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import javax.xml.transform.sax.TransformerHandler;
-import javax.xml.transform.stream.StreamResult;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.extractor.DocumentSelector;
-import org.apache.tika.io.IOUtils;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.parser.html.BoilerpipeContentHandler;
-import org.apache.tika.sax.BodyContentHandler;
-import org.apache.tika.sax.ContentHandlerDecorator;
-import org.apache.tika.sax.TeeContentHandler;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-/**
- * Simple Swing GUI for Apache Tika. You can drag and drop files on top
- * of the window to have them parsed.
- */
-public class TikaGUI extends JFrame {
-
-    /**
-     * Serial version UID.
-     */
-    private static final long serialVersionUID = 5883906936187059495L;
-
-    /**
-     * Main method. Sets the Swing look and feel to the operating system
-     * settings, and starts the Tika GUI with an {@link AutoDetectParser}
-     * instance as the default parser.
-     *
-     * @param args ignored
-     * @throws Exception if an error occurs
-     */
-    public static void main(String[] args) throws Exception {
-        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
-        SwingUtilities.invokeLater(new Runnable() {
-            public void run() {
-                new TikaGUI(new AutoDetectParser()).setVisible(true);
-            }
-        });
-    }
-
-    /**
-     * Parsing context.
-     */
-    private final ParseContext context;
-
-    /**
-     * Configured parser instance.
-     */
-    private final Parser parser;
-    
-    /**
-     * Captures requested embedded images
-     */
-    private final ImageSavingParser imageParser;
-
-    /**
-     * Tabs in the Tika GUI window.
-     */
-    private final JTabbedPane tabs;
-
-    /**
-     * Formatted XHTML output.
-     */
-    private final JEditorPane html;
-
-    /**
-     * Plain text output.
-     */
-    private final JEditorPane text;
-
-    /**
-     * Main content output.
-     */
-    private final JEditorPane textMain;
-    
-    /**
-     * Raw XHTML source.
-     */
-    private final JEditorPane xml;
-
-    /**
-     * Document metadata.
-     */
-    private final JEditorPane metadata;
-
-    /**
-     * Parsing errors.
-     */
-    private final JEditorPane errors;
-
-    public TikaGUI(Parser parser) {
-        super("Apache Tika");
-        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
-
-        tabs = new JTabbedPane();
-        add(tabs);
-
-        html = createEditor("Formatted text", "text/html");
-        text = createEditor("Plain text", "text/plain");
-        textMain = createEditor("Main content", "text/plain");
-        xml = createEditor("Structured text", "text/plain");
-        metadata = createEditor("Metadata", "text/plain");
-        errors = createEditor("Errors", "text/plain");
-
-        setPreferredSize(new Dimension(500, 400));
-        pack();
-
-        this.context = new ParseContext();
-        this.parser = parser;
-        
-        this.imageParser = new ImageSavingParser(parser);
-        this.context.set(DocumentSelector.class, new ImageDocumentSelector());
-        this.context.set(Parser.class, imageParser);
-    }
-
-   public void importStream(InputStream input, Metadata md)
-           throws IOException {
-        try {
-            StringWriter htmlBuffer = new StringWriter();
-            StringWriter textBuffer = new StringWriter();
-            StringWriter textMainBuffer = new StringWriter();
-            StringWriter xmlBuffer = new StringWriter();
-            StringBuilder metadataBuffer = new StringBuilder();
-
-            ContentHandler handler = new TeeContentHandler(
-                    getHtmlHandler(htmlBuffer),
-                    getTextContentHandler(textBuffer),
-                    getTextMainContentHandler(textMainBuffer),
-                    getXmlContentHandler(xmlBuffer));
-            
-            context.set(DocumentSelector.class, new ImageDocumentSelector());
-
-            input = new ProgressMonitorInputStream(
-                    this, "Parsing stream", input);
-            parser.parse(input, handler, md, context);
-
-            String[] names = md.names();
-            Arrays.sort(names);
-            for (String name : names) {
-                metadataBuffer.append(name);
-                metadataBuffer.append(": ");
-                metadataBuffer.append(md.get(name));
-                metadataBuffer.append("\n");
-            }
-
-            setText(errors, "");
-            setText(metadata, metadataBuffer.toString());
-            setText(xml, xmlBuffer.toString());
-            setText(text, textBuffer.toString());
-            setText(textMain, textMainBuffer.toString());
-            setText(html, htmlBuffer.toString());
-            tabs.setSelectedIndex(0);
-        } catch (Exception e) {
-            StringWriter writer = new StringWriter();
-            e.printStackTrace(new PrintWriter(writer));
-            setText(errors, writer.toString());
-            setText(metadata, "");
-            setText(xml, "");
-            setText(text, "");
-            setText(html, "");
-            tabs.setSelectedIndex(tabs.getTabCount() - 1);
-            JOptionPane.showMessageDialog(
-                    this,
-                    "Apache Tika was unable to parse the file or url.\n "
-                    + " See the errors tab for"
-                    + " the detailed stack trace of this error.",
-                    "Parse error",
-                    JOptionPane.ERROR_MESSAGE);
-        } finally {
-            input.close();
-        }
-    }
-
-    private JEditorPane createEditor(String title, String type) {
-        JEditorPane editor = new JEditorPane();
-        editor.setContentType(type);
-        editor.setTransferHandler(new ParsingTransferHandler(
-                editor.getTransferHandler(), this));
-        tabs.add(title, new JScrollPane(editor));
-        return editor;
-    }
-
-    private void setText(JEditorPane editor, String text) {
-        editor.setText(text);
-        editor.setCaretPosition(0);
-    }
-
-    /**
-     * Creates and returns a content handler that turns XHTML input to
-     * simplified HTML output that can be correctly parsed and displayed
-     * by {@link JEditorPane}.
-     * <p>
-     * The returned content handler is set to output <code>html</code>
-     * to the given writer. The XHTML namespace is removed from the output
-     * to prevent the serializer from using the &lt;tag/&gt; empty element
-     * syntax that causes extra "&gt;" characters to be displayed.
-     * The &lt;head&gt; tags are dropped to prevent the serializer from
-     * generating a &lt;META&gt; content type tag that makes
-     * {@link JEditorPane} fail thinking that the document character set
-     * is inconsistent.
-     * <p>
-     * Additionally, it will use ImageSavingParser to re-write embedded:(image) 
-     * image links to be file:///(temporary file) so that they can be loaded.
-     *
-     * @param writer output writer
-     * @return HTML content handler
-     * @throws TransformerConfigurationException if an error occurs
-     */
-    private ContentHandler getHtmlHandler(Writer writer)
-            throws TransformerConfigurationException {
-        SAXTransformerFactory factory = (SAXTransformerFactory)
-            SAXTransformerFactory.newInstance();
-        TransformerHandler handler = factory.newTransformerHandler();
-        handler.getTransformer().setOutputProperty(OutputKeys.METHOD, "html");
-        handler.setResult(new StreamResult(writer));
-        return new ContentHandlerDecorator(handler) {
-            @Override
-            public void startElement(
-                    String uri, String localName, String name, Attributes atts)
-                    throws SAXException {
-                if (XHTMLContentHandler.XHTML.equals(uri)) {
-                    uri = null;
-                }
-                if (!"head".equals(localName)) {
-                    if("img".equals(localName)) {
-                       AttributesImpl newAttrs;
-                       if(atts instanceof AttributesImpl) {
-                          newAttrs = (AttributesImpl)atts;
-                       } else {
-                          newAttrs = new AttributesImpl(atts);
-                       }
-                       
-                       for(int i=0; i<newAttrs.getLength(); i++) {
-                          if("src".equals(newAttrs.getLocalName(i))) {
-                             String src = newAttrs.getValue(i);
-                             if(src.startsWith("embedded:")) {
-                                String filename = src.substring(src.indexOf(':')+1);
-                                try {
-                                   File img = imageParser.requestSave(filename);
-                                   String newSrc = img.toURI().toString();
-                                   newAttrs.setValue(i, newSrc);
-                                } catch(IOException e) {
-                                   System.err.println("Error creating temp image file " + filename);
-                                   // The html viewer will show a broken image too to alert them
-                                }
-                             }
-                          }
-                       }
-                       super.startElement(uri, localName, name, newAttrs);
-                    } else {
-                       super.startElement(uri, localName, name, atts);
-                    }
-                }
-            }
-            @Override
-            public void endElement(String uri, String localName, String name)
-                    throws SAXException {
-                if (XHTMLContentHandler.XHTML.equals(uri)) {
-                    uri = null;
-                }
-                if (!"head".equals(localName)) {
-                    super.endElement(uri, localName, name);
-                }
-            }
-            @Override
-            public void startPrefixMapping(String prefix, String uri) {
-            }
-            @Override
-            public void endPrefixMapping(String prefix) {
-            }
-        };
-    }
-
-    private ContentHandler getTextContentHandler(Writer writer) {
-        return new BodyContentHandler(writer);
-    }
-    private ContentHandler getTextMainContentHandler(Writer writer) {
-        return new BoilerpipeContentHandler(writer);
-    }
-
-    private ContentHandler getXmlContentHandler(Writer writer)
-            throws TransformerConfigurationException {
-        SAXTransformerFactory factory = (SAXTransformerFactory)
-            SAXTransformerFactory.newInstance();
-        TransformerHandler handler = factory.newTransformerHandler();
-        handler.getTransformer().setOutputProperty(OutputKeys.METHOD, "xml");
-        handler.setResult(new StreamResult(writer));
-        return handler;
-    }
-
-    /**
-     * A {@link DocumentSelector} that accepts only images.
-     */
-    private static class ImageDocumentSelector implements DocumentSelector {
-      public boolean select(Metadata metadata) {
-         String type = metadata.get(Metadata.CONTENT_TYPE);
-         return type != null && type.startsWith("image/");
-      }
-    }
-    
-    /**
-     * A recursive parser that saves certain images into the temporary
-     *  directory, and delegates everything else to another downstream
-     *  parser.
-     */
-    private static class ImageSavingParser implements Parser {
-      private Map<String,File> wanted = new HashMap<String,File>();
-      private Parser downstreamParser;
-      private File tmpDir;
-      
-      private ImageSavingParser(Parser downstreamParser) {
-         this.downstreamParser = downstreamParser;
-         
-         try {
-            File t = File.createTempFile("tika", ".test");
-            tmpDir = t.getParentFile();
-         } catch(IOException e) {}
-      }
-      
-      public File requestSave(String embeddedName) throws IOException {
-         String suffix = embeddedName.substring(embeddedName.lastIndexOf('.'));
-         File tmp = File.createTempFile("tika-embedded-", suffix);
-         wanted.put(embeddedName, tmp);
-         return tmp;
-      }
-      
-      public Set<MediaType> getSupportedTypes(ParseContext context) {
-         // Never used in an auto setup
-         return null;
-      }
-
-      public void parse(InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context) throws IOException,
-            SAXException, TikaException {
-         String name = metadata.get(Metadata.RESOURCE_NAME_KEY);
-         if(name != null && wanted.containsKey(name)) {
-            FileOutputStream out = new FileOutputStream(wanted.get(name));
-            IOUtils.copy(stream, out);
-            out.close();
-         } else {
-            if(downstreamParser != null) {
-               downstreamParser.parse(stream, handler, metadata, context);
-            }
-         }
-      }
-
-      public void parse(InputStream stream, ContentHandler handler,
-            Metadata metadata) throws IOException, SAXException, TikaException {
-         parse(stream, handler, metadata, new ParseContext());
-      }
-    }
-}
diff --git a/trunk/tika-bundle-it/pom.xml b/trunk/tika-bundle-it/pom.xml
deleted file mode 100644
index 33cf9c5..0000000
--- a/trunk/tika-bundle-it/pom.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you 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.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.tika</groupId>
-    <artifactId>tika-parent</artifactId>
-    <version>0.9-SNAPSHOT</version>
-    <relativePath>../tika-parent/pom.xml</relativePath>
-  </parent>
-
-  <artifactId>tika-bundle-it</artifactId>
-  <name>Apache Tika OSGi bundle integration tests</name>
-  <url>http://tika.apache.org/</url>
-
-  <properties>
-    <pax.exam.version>1.2.2</pax.exam.version>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>tika-bundle</artifactId>
-      <version>${project.version}</version>
-      <scope>provided</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>org.ops4j.pax.exam</groupId>
-      <artifactId>pax-exam</artifactId>
-      <version>${pax.exam.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.exam</groupId>
-      <artifactId>pax-exam-container-default</artifactId>
-      <version>${pax.exam.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.exam</groupId>
-      <artifactId>pax-exam-junit</artifactId>
-      <version>${pax.exam.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.4</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.ops4j.pax.exam</groupId>
-        <artifactId>maven-paxexam-plugin</artifactId>
-        <version>${pax.exam.version}</version>
-        <executions>
-          <execution>
-            <goals>
-              <goal>generate-depends-file</goal>
-              <goal>generate-config</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
diff --git a/trunk/tika-bundle-it/src/test/java/org/apache/tika/bundle/BundleTest.java b/trunk/tika-bundle-it/src/test/java/org/apache/tika/bundle/BundleTest.java
deleted file mode 100644
index e2eef62..0000000
--- a/trunk/tika-bundle-it/src/test/java/org/apache/tika/bundle/BundleTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.bundle;
-
-import java.io.ByteArrayInputStream;
-
-import junit.framework.Assert;
-
-import org.apache.tika.Tika;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.ops4j.pax.exam.junit.MavenConfiguredJUnit4TestRunner;
-
-@RunWith(MavenConfiguredJUnit4TestRunner.class)
-public class BundleTest {
-
-    @Test
-    public void testTikaBundle() throws Exception {
-        Tika tika = new Tika();
-
-        // Simple type detection
-        Assert.assertEquals("text/plain", tika.detect("test.txt"));
-        Assert.assertEquals("application/pdf", tika.detect("test.pdf"));
-
-        // Simple text extrction
-        byte[] data = "Hello, World!".getBytes("UTF-8");
-        Assert.assertEquals(
-                "Hello, World!",
-                tika.parseToString(new ByteArrayInputStream(data)).trim());
-    }
-
-}
diff --git a/trunk/tika-bundle/pom.xml b/trunk/tika-bundle/pom.xml
deleted file mode 100644
index 0816853..0000000
--- a/trunk/tika-bundle/pom.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you 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.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.tika</groupId>
-    <artifactId>tika-parent</artifactId>
-    <version>0.9</version>
-    <relativePath>../tika-parent/pom.xml</relativePath>
-  </parent>
-
-  <artifactId>tika-bundle</artifactId>
-  <packaging>bundle</packaging>
-  <name>Apache Tika OSGi bundle</name>
-  <url>http://tika.apache.org/</url>
-
-  <dependencies>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>tika-core</artifactId>
-      <version>${project.version}</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>tika-parsers</artifactId>
-      <version>${project.version}</version>
-      <scope>provided</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <_exportcontents>
-              org.apache.tika.*;version=${project.version}
-            </_exportcontents>
-            <Embed-Dependency>
-              tika-core;inline=true,
-              tika-parsers;inline=true,
-              netcdf,
-              commons-compress,
-              pdfbox,fontbox,jempbox,bcmail-jdk15,bcprov-jdk15,
-              poi,poi-scratchpad,poi-ooxml,poi-ooxml-schemas,
-              xmlbeans, dom4j,
-              tagsoup,
-              asm,
-              metadata-extractor,
-              boilerpipe, rome,
-              apache-mime4j
-            </Embed-Dependency>
-            <Embed-Transitive>true</Embed-Transitive>
-            <Bundle-DocURL>${project.url}</Bundle-DocURL>
-            <Bundle-Activator>org.apache.tika.config.TikaActivator</Bundle-Activator>
-            <Import-Package>
-                org.w3c.dom,
-                *;resolution:=optional
-            </Import-Package>
-          </instructions>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
diff --git a/trunk/tika-bundle/src/main/appended-resources/META-INF/LICENSE b/trunk/tika-bundle/src/main/appended-resources/META-INF/LICENSE
deleted file mode 100644
index 9918196..0000000
--- a/trunk/tika-bundle/src/main/appended-resources/META-INF/LICENSE
+++ /dev/null
@@ -1,280 +0,0 @@
-APACHE TIKA SUBCOMPONENTS
-
-Apache Tika includes a number of subcomponents with separate copyright notices
-and license terms. Your use of these subcomponents is subject to the terms and
-conditions of the following licenses.
-
-Bouncy Castle libraries (bcmail and bcprov)
-
-    Copyright (c) 2000-2009 The Legion Of The Bouncy Castle
-    (http://www.bouncycastle.org)
-
-    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.
-
-Contributions made to the original PDFBox, JempBox and FontBox projects:
-
-    Copyright (c) 2002-2007, www.pdfbox.org
-    Copyright (c) 2006-2007, www.jempbox.org
-    All rights reserved.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    1. Redistributions of source code must retain the above copyright notice,
-       this list of conditions and the following disclaimer.
-
-    2. Redistributions in binary form must reproduce the above copyright
-       notice, this list of conditions and the following disclaimer in the
-       documentation and/or other materials provided with the distribution.
-
-    3. Neither the name of pdfbox; nor the names of its contributors may be
-       used to endorse or promote products derived from this software without
-       specific prior written permission.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-    SUCH DAMAGE.
-
-Adobe Font Metrics (AFM) for PDF Core 14 Fonts
-
-    This file and the 14 PostScript(R) AFM files it accompanies may be used,
-    copied, and distributed for any purpose and without charge, with or without
-    modification, provided that all copyright notices are retained; that the
-    AFM files are not distributed without this file; that all modifications
-    to this file or any of the AFM files are prominently noted in the modified
-    file(s); and that this paragraph is not modified. Adobe Systems has no
-    responsibility or obligation to support the use of the AFM files.
-
-CMaps for PDF Fonts (http://www.adobe.com/devnet/font/#pcfi and
-ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/adobe/)
-
-    Copyright 1990-2001 Adobe Systems Incorporated.
-    All Rights Reserved.
-
-    Patents Pending
-
-    NOTICE: All information contained herein is the property
-    of Adobe Systems Incorporated.
-
-    Permission is granted for redistribution of this file
-    provided this copyright notice is maintained intact and
-    that the contents of this file are not altered in any
-    way from its original form.
-
-    PostScript and Display PostScript are trademarks of
-    Adobe Systems Incorporated which may be registered in
-    certain jurisdictions.
-
-Adobe Glyphlist (http://www.adobe.com/devnet/opentype/archives/glyph.html)
-
-    Copyright (c) 1997,1998,2002,2007 Adobe Systems Incorporated
- 
-    Permission is hereby granted, free of charge, to any person obtaining a
-    copy of this documentation file to use, copy, publish, distribute,
-    sublicense, and/or sell copies of the documentation, and to permit
-    others to do the same, provided that:
-    - No modification, editing or other alteration of this document is
-    allowed; and
-    - The above copyright notice and this permission notice shall be
-    included in all copies of the documentation.
- 
-    Permission is hereby granted, free of charge, to any person obtaining a
-    copy of this documentation file, to create their own derivative works
-    from the content of this document to use, copy, publish, distribute,
-    sublicense, and/or sell the derivative works, and to permit others to do
-    the same, provided that the derived work is not represented as being a
-    copy or version of this document.
- 
-    Adobe shall not be liable to any party for any loss of revenue or profit
-    or for indirect, incidental, special, consequential, or other similar
-    damages, whether based on tort (including without limitation negligence
-    or strict liability), contract or other legal or equitable grounds even
-    if Adobe has been advised or had reason to know of the possibility of
-    such damages. The Adobe materials are provided on an "AS IS" basis.
-    Adobe specifically disclaims all express, statutory, or implied
-    warranties relating to the Adobe materials, including but not limited to
-    those concerning merchantability or fitness for a particular purpose or
-    non-infringement of any third party rights regarding the Adobe
-    materials.
-
-Charset detection code from ICU4J (http://site.icu-project.org/)
-
-    Copyright (c) 1995-2009 International Business Machines Corporation
-    and others
-
-    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, and/or sell copies of the Software, and to permit persons
-    to whom the Software is furnished to do so, provided that the above
-    copyright notice(s) and this permission notice appear in all copies
-    of the Software and that both the above copyright notice(s) and this
-    permission notice appear in supporting documentation.
-
-    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 OF THIRD PARTY RIGHTS.
-    IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
-    BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
-    OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-    WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-    ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-    SOFTWARE.
-
-    Except as contained in this notice, the name of a copyright holder shall
-    not be used in advertising or otherwise to promote the sale, use or other
-    dealings in this Software without prior written authorization of the
-    copyright holder.
-
-ASM library (asm)
-
-    Copyright (c) 2000-2005 INRIA, France Telecom
-    All rights reserved.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions
-    are met:
-
-    1. Redistributions of source code must retain the above copyright
-       notice, this list of conditions and the following disclaimer.
-
-    2. Redistributions in binary form must reproduce the above copyright
-       notice, this list of conditions and the following disclaimer in the
-       documentation and/or other materials provided with the distribution.
-
-    3. Neither the name of the copyright holders nor the names of its
-       contributors may be used to endorse or promote products derived from
-       this software without specific prior written permission.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-    THE POSSIBILITY OF SUCH DAMAGE.
-
-MIME type information from file-4.26.tar.gz (http://www.darwinsys.com/file/)
-
-    Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.
-    Software written by Ian F. Darwin and others;
-    maintained 1994- Christos Zoulas.
-
-    This software is not subject to any export provision of the United States
-    Department of Commerce, and may be exported to any country or planet.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions
-    are met:
-    1. Redistributions of source code must retain the above copyright
-       notice immediately at the beginning of the file, without modification,
-       this list of conditions, and the following disclaimer.
-    2. Redistributions in binary form must reproduce the above copyright
-       notice, this list of conditions and the following disclaimer in the
-       documentation and/or other materials provided with the distribution.
-
-    THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
-    ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-    SUCH DAMAGE.
-
-Office Open XML schemas (ooxml-schemas-1.0.jar)
-
-    The Office Open XML schema definitions used by Apache POI are
-    a part of the Office Open XML ECMA Specification (ECMA-376, [1]).
-    As defined in section 9.4 of the ECMA bylaws [2], this specification
-    is available to all interested parties without restriction:
-
-        9.4 All documents when approved shall be made available to
-            all interested parties without restriction.
-
-    Furthermore, both Microsoft and Adobe have granted patent licenses
-    to this work [3,4,5].
-
-    [1] http://www.ecma-international.org/publications/standards/Ecma-376.htm
-    [2] http://www.ecma-international.org/memento/Ecmabylaws.htm
-    [3] http://www.microsoft.com/interop/osp/
-    [4] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ECMA-376%20Edition%201%20Microsoft%20Patent%20Declaration.pdf
-    [5] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ga-2006-191.pdf
-
-DOM4J library (dom4j-1.6.1.jar)
-
-    Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
-
-    Redistribution and use of this software and associated documentation
-    ("Software"), with or without modification, are permitted provided
-    that the following conditions are met:
-
-    1. Redistributions of source code must retain copyright
-       statements and notices.  Redistributions must also contain a
-       copy of this document.
-
-    2. Redistributions in binary form must reproduce the
-       above copyright notice, this list of conditions and the
-       following disclaimer in the documentation and/or other
-       materials provided with the distribution.
-
-    3. The name "DOM4J" must not be used to endorse or promote
-       products derived from this Software without prior written
-       permission of MetaStuff, Ltd.  For written permission,
-       please contact dom4j-info@metastuff.com.
-
-    4. Products derived from this Software may not be called "DOM4J"
-       nor may "DOM4J" appear in their names without prior written
-       permission of MetaStuff, Ltd. DOM4J is a registered
-       trademark of MetaStuff, Ltd.
-
-    5. Due credit should be given to the DOM4J Project - 
-       http://www.dom4j.org
- 
-    THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
-    ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
-    NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-    FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
-    METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-    OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/trunk/tika-core/pom.xml b/trunk/tika-core/pom.xml
deleted file mode 100644
index 3937340..0000000
--- a/trunk/tika-core/pom.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you 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.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.tika</groupId>
-    <artifactId>tika-parent</artifactId>
-    <version>0.9</version>
-    <relativePath>../tika-parent/pom.xml</relativePath>
-  </parent>
-
-  <artifactId>tika-core</artifactId>
-  <packaging>bundle</packaging>
-  <name>Apache Tika core</name>
-  <url>http://tika.apache.org/</url>
-
-  <dependencies>
-    <!-- Optional OSGi dependency, used only when running within OSGi -->
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.core</artifactId>
-      <version>4.0.0</version>
-      <scope>provided</scope>
-      <optional>true</optional>
-    </dependency>
-
-    <!-- Test dependencies -->
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Import-Package>*</Import-Package>
-            <Bundle-DocURL>${project.url}</Bundle-DocURL>
-            <Bundle-Activator>
-              org.apache.tika.config.TikaActivator
-            </Bundle-Activator>
-          </instructions>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.rat</groupId>
-        <artifactId>apache-rat-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>src/test/resources/org/apache/tika/**</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
diff --git a/trunk/tika-core/src/main/appended-resources/META-INF/LICENSE b/trunk/tika-core/src/main/appended-resources/META-INF/LICENSE
deleted file mode 100644
index de68170..0000000
--- a/trunk/tika-core/src/main/appended-resources/META-INF/LICENSE
+++ /dev/null
@@ -1,36 +0,0 @@
-APACHE TIKA SUBCOMPONENTS
-
-Apache Tika includes a number of subcomponents with separate copyright notices
-and license terms. Your use of these subcomponents is subject to the terms and
-conditions of the following licenses.
-
-MIME type information from file-4.26.tar.gz (http://www.darwinsys.com/file/)
-
-    Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.
-    Software written by Ian F. Darwin and others;
-    maintained 1994- Christos Zoulas.
-
-    This software is not subject to any export provision of the United States
-    Department of Commerce, and may be exported to any country or planet.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions
-    are met:
-    1. Redistributions of source code must retain the above copyright
-       notice immediately at the beginning of the file, without modification,
-       this list of conditions, and the following disclaimer.
-    2. Redistributions in binary form must reproduce the above copyright
-       notice, this list of conditions and the following disclaimer in the
-       documentation and/or other materials provided with the distribution.
-
-    THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
-    ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-    SUCH DAMAGE.
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/Tika.java b/trunk/tika-core/src/main/java/org/apache/tika/Tika.java
deleted file mode 100644
index a249782..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/Tika.java
+++ /dev/null
@@ -1,449 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.net.URL;
-
-import org.apache.tika.config.TikaConfig;
-import org.apache.tika.detect.DefaultDetector;
-import org.apache.tika.detect.Detector;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.parser.ParsingReader;
-import org.apache.tika.sax.BodyContentHandler;
-import org.apache.tika.sax.WriteOutContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Facade class for accessing Tika functionality. This class hides much of
- * the underlying complexity of the lower level Tika classes and provides
- * simple methods for many common parsing and type detection operations.
- *
- * @since Apache Tika 0.5
- * @see Parser
- * @see Detector
- */
-public class Tika {
-
-    /**
-     * The detector instance used by this facade.
-     */
-    private final Detector detector;
-
-    /**
-     * The parser instance used by this facade.
-     */
-    private final Parser parser;
-
-    /**
-     * Maximum length of the strings returned by the parseToString methods.
-     * Used to prevent out of memory problems with huge input documents.
-     * The default setting is 100k characters.
-     */
-    private int maxStringLength = 100 * 1000;
-
-    /**
-     * Creates a Tika facade using the given detector and parser instances.
-     *
-     * @since Apache Tika 0.8
-     * @param detector type detector
-     * @param parser document parser
-     */
-    public Tika(Detector detector, Parser parser) {
-        this.detector = detector;
-        this.parser = parser;
-    }
-
-    /**
-     * Creates a Tika facade using the given configuration.
-     *
-     * @param config Tika configuration
-     */
-    public Tika(TikaConfig config) {
-        this(new DefaultDetector(config.getMimeRepository()),
-                new AutoDetectParser(config));
-    }
-
-    /**
-     * Creates a Tika facade using the default configuration.
-     */
-    public Tika() {
-        this(TikaConfig.getDefaultConfig());
-    }
-
-    /**
-     * Creates a Tika facade using the given detector instance and the
-     * default parser configuration.
-     *
-     * @since Apache Tika 0.8
-     * @param detector type detector
-     */
-    public Tika(Detector detector) {
-        this(detector, new AutoDetectParser(detector));
-    }
-
-    
-    /**
-     * Detects the media type of the given document. The type detection is
-     * based on the content of the given document stream and any given
-     * document metadata. The document stream can be <code>null</code>,
-     * in which case only the given document metadata is used for type
-     * detection.
-     * <p>
-     * If the document stream supports the
-     * {@link InputStream#markSupported() mark feature}, then the stream is
-     * marked and reset to the original position before this method returns.
-     * Only a limited number of bytes are read from the stream.
-     * <p>
-     * The given document stream is <em>not</em> closed by this method.
-     * <p>
-     * Unlike in the {@link #parse(InputStream, Metadata)} method, the
-     * given document metadata is <em>not</em> modified by this method.
-     *
-     * @param stream the document stream, or <code>null</code>
-     * @param metadata document metadata
-     * @return detected media type
-     * @throws IOException if the stream can not be read
-     */
-    public String detect(InputStream stream, Metadata metadata)
-            throws IOException {
-        if (stream == null || stream.markSupported()) {
-            return detector.detect(stream, metadata).toString();
-        } else {
-            return detector.detect(
-                    new BufferedInputStream(stream), metadata).toString();
-        }
-    }
-
-    /**
-     * Detects the media type of the given document. The type detection is
-     * based on the content of the given document stream and the name of the
-     * document.
-     * <p>
-     * If the document stream supports the
-     * {@link InputStream#markSupported() mark feature}, then the stream is
-     * marked and reset to the original position before this method returns.
-     * Only a limited number of bytes are read from the stream.
-     * <p>
-     * The given document stream is <em>not</em> closed by this method.
-     *
-     * @since Apache Tika 0.9
-     * @param stream the document stream
-     * @param name document name
-     * @return detected media type
-     * @throws IOException if the stream can not be read
-     */
-    public String detect(InputStream stream, String name) throws IOException {
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.RESOURCE_NAME_KEY, name);
-        return detect(stream, metadata);
-    }
-
-    /**
-     * Detects the media type of the given document. The type detection is
-     * based on the content of the given document stream.
-     * <p>
-     * If the document stream supports the
-     * {@link InputStream#markSupported() mark feature}, then the stream is
-     * marked and reset to the original position before this method returns.
-     * Only a limited number of bytes are read from the stream.
-     * <p>
-     * The given document stream is <em>not</em> closed by this method.
-     *
-     * @param stream the document stream
-     * @return detected media type
-     * @throws IOException if the stream can not be read
-     */
-    public String detect(InputStream stream) throws IOException {
-        return detect(stream, new Metadata());
-    }
-
-    /**
-     * Detects the media type of the given document. The type detection is
-     * based on the first few bytes of a document and the document name.
-     * <p>
-     * For best results at least a few kilobytes of the document data
-     * are needed. See also the other detect() methods for better
-     * alternatives when you have more than just the document prefix
-     * available for type detection.
-     *
-     * @since Apache Tika 0.9
-     * @param prefix first few bytes of the document
-     * @param name document name
-     * @return detected media type
-     */
-    public String detect(byte[] prefix, String name) {
-        try {
-            return detect(TikaInputStream.get(prefix), name);
-        } catch (IOException e) {
-            throw new IllegalStateException("Unexpected IOException", e);
-        }
-    }
-
-    /**
-     * Detects the media type of the given document. The type detection is
-     * based on the first few bytes of a document.
-     * <p>
-     * For best results at least a few kilobytes of the document data
-     * are needed. See also the other detect() methods for better
-     * alternatives when you have more than just the document prefix
-     * available for type detection.
-     *
-     * @since Apache Tika 0.9
-     * @param prefix first few bytes of the document
-     * @return detected media type
-     */
-    public String detect(byte[] prefix) {
-        try {
-            return detect(TikaInputStream.get(prefix));
-        } catch (IOException e) {
-            throw new IllegalStateException("Unexpected IOException", e);
-        }
-    }
-
-    /**
-     * Detects the media type of the given file. The type detection is
-     * based on the document content and a potential known file extension.
-     * <p>
-     * Use the {@link #detect(String)} method when you want to detect the
-     * type of the document without actually accessing the file.
-     *
-     * @param file the file
-     * @return detected media type
-     * @throws IOException if the file can not be read
-     */
-    public String detect(File file) throws IOException {
-        return detect(file.toURI().toURL());
-    }
-
-    /**
-     * Detects the media type of the resource at the given URL. The type
-     * detection is based on the document content and a potential known
-     * file extension included in the URL.
-     * <p>
-     * Use the {@link #detect(String)} method when you want to detect the
-     * type of the document without actually accessing the URL.
-     *
-     * @param url the URL of the resource
-     * @return detected media type
-     * @throws IOException if the resource can not be read
-     */
-    public String detect(URL url) throws IOException {
-        Metadata metadata = new Metadata();
-        InputStream stream = TikaInputStream.get(url, metadata);
-        try {
-            return detect(stream, metadata);
-        } finally {
-            stream.close();
-        }
-    }
-
-    /**
-     * Detects the media type of a document with the given file name.
-     * The type detection is based on known file name extensions.
-     * <p>
-     * The given name can also be a URL or a full file path. In such cases
-     * only the file name part of the string is used for type detection. 
-     *
-     * @param name the file name of the document
-     * @return detected media type
-     */
-    public String detect(String name) {
-        try {
-            return detect((InputStream) null, name);
-        } catch (IOException e) {
-            throw new IllegalStateException("Unexpected IOException", e);
-        }
-    }
-
-    /**
-     * Parses the given document and returns the extracted text content.
-     * Input metadata like a file name or a content type hint can be passed
-     * in the given metadata instance. Metadata information extracted from
-     * the document is returned in that same metadata instance.
-     *
-     * @param stream the document to be parsed
-     * @return extracted text content
-     * @throws IOException if the document can not be read or parsed
-     */
-    public Reader parse(InputStream stream, Metadata metadata)
-            throws IOException {
-        ParseContext context = new ParseContext();
-        context.set(Parser.class, parser);
-        return new ParsingReader(parser, stream, metadata, context);
-    }
-
-    /**
-     * Parses the given document and returns the extracted text content.
-     *
-     * @param stream the document to be parsed
-     * @return extracted text content
-     * @throws IOException if the document can not be read or parsed
-     */
-    public Reader parse(InputStream stream) throws IOException {
-        return parse(stream, new Metadata());
-    }
-
-    /**
-     * Parses the given file and returns the extracted text content.
-     *
-     * @param file the file to be parsed
-     * @return extracted text content
-     * @throws IOException if the file can not be read or parsed
-     */
-    public Reader parse(File file) throws IOException {
-        return parse(file.toURI().toURL());
-    }
-
-    /**
-     * Parses the resource at the given URL and returns the extracted
-     * text content.
-     *
-     * @param url the URL of the resource to be parsed
-     * @return extracted text content
-     * @throws IOException if the resource can not be read or parsed
-     */
-    public Reader parse(URL url) throws IOException {
-        Metadata metadata = new Metadata();
-        InputStream stream = TikaInputStream.get(url, metadata);
-        return parse(stream, metadata);
-    }
-
-    /**
-     * Parses the given document and returns the extracted text content.
-     * The given input stream is closed by this method.
-     * <p>
-     * To avoid unpredictable excess memory use, the returned string contains
-     * only up to {@link #getMaxStringLength()} first characters extracted
-     * from the input document. Use the {@link #setMaxStringLength(int)}
-     * method to adjust this limitation.
-     *
-     * @param stream the document to be parsed
-     * @param metadata document metadata
-     * @return extracted text content
-     * @throws IOException if the document can not be read
-     * @throws TikaException if the document can not be parsed
-     */
-    public String parseToString(InputStream stream, Metadata metadata)
-            throws IOException, TikaException {
-        WriteOutContentHandler handler =
-            new WriteOutContentHandler(maxStringLength);
-        try {
-            ParseContext context = new ParseContext();
-            context.set(Parser.class, parser);
-            parser.parse(
-                    stream, new BodyContentHandler(handler), metadata, context);
-        } catch (SAXException e) {
-            if (!handler.isWriteLimitReached(e)) {
-                // This should never happen with BodyContentHandler...
-                throw new TikaException("Unexpected SAX processing failure", e);
-            }
-        } finally {
-            stream.close();
-        }
-        return handler.toString();
-    }
-
-    /**
-     * Parses the given document and returns the extracted text content.
-     * The given input stream is closed by this method.
-     * <p>
-     * To avoid unpredictable excess memory use, the returned string contains
-     * only up to {@link #getMaxStringLength()} first characters extracted
-     * from the input document. Use the {@link #setMaxStringLength(int)}
-     * method to adjust this limitation.
-     *
-     * @param stream the document to be parsed
-     * @return extracted text content
-     * @throws IOException if the document can not be read
-     * @throws TikaException if the document can not be parsed
-     */
-    public String parseToString(InputStream stream)
-            throws IOException, TikaException {
-        return parseToString(stream, new Metadata());
-    }
-
-    /**
-     * Parses the given file and returns the extracted text content.
-     * <p>
-     * To avoid unpredictable excess memory use, the returned string contains
-     * only up to {@link #getMaxStringLength()} first characters extracted
-     * from the input document. Use the {@link #setMaxStringLength(int)}
-     * method to adjust this limitation.
-     *
-     * @param file the file to be parsed
-     * @return extracted text content
-     * @throws IOException if the file can not be read
-     * @throws TikaException if the file can not be parsed
-     */
-    public String parseToString(File file) throws IOException, TikaException {
-        return parseToString(file.toURI().toURL());
-    }
-
-    /**
-     * Parses the resource at the given URL and returns the extracted
-     * text content.
-     * <p>
-     * To avoid unpredictable excess memory use, the returned string contains
-     * only up to {@link #getMaxStringLength()} first characters extracted
-     * from the input document. Use the {@link #setMaxStringLength(int)}
-     * method to adjust this limitation.
-     *
-     * @param url the URL of the resource to be parsed
-     * @return extracted text content
-     * @throws IOException if the resource can not be read
-     * @throws TikaException if the resource can not be parsed
-     */
-    public String parseToString(URL url) throws IOException, TikaException {
-        Metadata metadata = new Metadata();
-        InputStream stream = TikaInputStream.get(url, metadata);
-        return parseToString(stream, metadata);
-    }
-
-    /**
-     * Returns the maximum length of strings returned by the
-     * parseToString methods.
-     *
-     * @since Apache Tika 0.7
-     * @return maximum string length, or -1 if the limit has been disabled
-     */
-    public int getMaxStringLength() {
-        return maxStringLength;
-    }
-
-    /**
-     * Sets the maximum length of strings returned by the parseToString
-     * methods.
-     *
-     * @since Apache Tika 0.7
-     * @param maxStringLength maximum string length,
-     *                        or -1 to disable this limit
-     */
-    public void setMaxStringLength(int maxStringLength) {
-        this.maxStringLength = maxStringLength;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/config/LoadErrorHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/config/LoadErrorHandler.java
deleted file mode 100644
index 8dcb892..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/config/LoadErrorHandler.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.config;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * Interface for error handling strategies in service class loading.
- * You can implement this interface for a custom error handling mechanism,
- * or use one of the predefined strategies.
- *
- * @since Apache Tika 0.9
- */
-public interface LoadErrorHandler {
-
-    /**
-     * Handles a problem encountered when trying to load the specified
-     * service class. The implementation can log or otherwise process
-     * the given error information. If the method returns normally, then
-     * the service loader simply skips this class and continues with the
-     * next one.
-     *
-     * @param classname name of the service class
-     * @param throwable the encountered problem
-     */
-    void handleLoadError(String classname, Throwable throwable);
-
-    /**
-     * Strategy that simply ignores all problems.
-     */
-    LoadErrorHandler IGNORE = new LoadErrorHandler() {
-        public void handleLoadError(String classname, Throwable throwable) {
-        }
-    };
-
-    /**
-     * Strategy that logs warnings of all problems using a {@link Logger}
-     * created using the given class name.
-     */
-    LoadErrorHandler WARN = new LoadErrorHandler() {
-        public void handleLoadError(String classname, Throwable throwable) {
-            Logger.getLogger(classname).log(
-                    Level.WARNING, "Unable to load " + classname, throwable);
-        }
-    };
-
-    /**
-     * Strategy that throws a {@link RuntimeException} with the given
-     * throwable as the root cause, thus interrupting the entire service
-     * loading operation.
-     */
-    LoadErrorHandler THROW = new LoadErrorHandler() {
-        public void handleLoadError(String classname, Throwable throwable) {
-            throw new RuntimeException("Unable to load " + classname, throwable);
-        }
-    };
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/config/ServiceLoader.java b/trunk/tika-core/src/main/java/org/apache/tika/config/ServiceLoader.java
deleted file mode 100755
index 70b1294..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/config/ServiceLoader.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.config;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.regex.Pattern;
-
-/**
- * Internal utility class that Tika uses to look up service providers.
- *
- * @since Apache Tika 0.9
- */
-public class ServiceLoader {
-
-    /**
-     * The default context class loader to use for all threads, or
-     * <code>null</code> to automatically select the context class loader.
-     */
-    private static volatile ClassLoader contextClassLoader = null;
-
-    /**
-     * Returns the context class loader of the current thread. If such
-     * a class loader is not available, then the loader of this class or
-     * finally the system class loader is returned.
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-441">TIKA-441</a>
-     * @return context class loader, or <code>null</code> if no loader
-     *         is available
-     */
-    private static ClassLoader getContextClassLoader() {
-        ClassLoader loader = contextClassLoader;
-        if (loader == null) {
-            loader = Thread.currentThread().getContextClassLoader();
-        }
-        if (loader == null) {
-            loader = ServiceLoader.class.getClassLoader();
-        }
-        if (loader == null) {
-            loader = ClassLoader.getSystemClassLoader();
-        }
-        return loader;
-    }
-
-    /**
-     * Sets the context class loader to use for all threads that access
-     * this class. Used for example in an OSGi environment to avoid problems
-     * with the default context class loader.
-     *
-     * @param loader default context class loader,
-     *               or <code>null</code> to automatically pick the loader
-     */
-    public static void setContextClassLoader(ClassLoader loader) {
-        contextClassLoader = loader;
-    }
-
-    private final ClassLoader loader;
-
-    private final LoadErrorHandler handler;
-
-    public ServiceLoader(ClassLoader loader, LoadErrorHandler handler) {
-        this.loader = loader;
-        this.handler = handler;
-    }
-
-    public ServiceLoader(ClassLoader loader) {
-        this(loader, LoadErrorHandler.IGNORE);
-    }
-
-    public ServiceLoader() {
-        this(getContextClassLoader());
-    }
-
-    /**
-     * Returns all the available service providers of the given type.
-     *
-     * @param service service provider interface
-     * @return available service providers
-     */
-    @SuppressWarnings("unchecked")
-    public <T> List<T> loadServiceProviders(Class<T> service) {
-        List<T> providers = new ArrayList<T>();
-
-        if (loader != null) {
-            Set<String> names = new HashSet<String>();
-
-            try {
-                String name = service.getName();
-                Enumeration<URL> resources = loader.getResources("META-INF/services/" + name);
-                for (URL resource : Collections.list(resources)) {
-                    try {
-                        names.addAll(getServiceClassNames(resource));
-                    } catch (IOException e) {
-                        handler.handleLoadError(name, e);
-                    }
-                }
-            } catch (IOException ignore) {
-                // We couldn't get the list of service resource files
-            }
-
-            for (String name : names) {
-                try {
-                    Class<?> klass = loader.loadClass(name);
-                    if (service.isAssignableFrom(klass)) {
-                        providers.add((T) klass.newInstance());
-                    }
-                } catch (Throwable t) {
-                    handler.handleLoadError(name, t);
-                }
-            }
-        }
-
-        return providers;
-    }
-
-    private static final Pattern COMMENT = Pattern.compile("#.*");
-
-    private static final Pattern WHITESPACE = Pattern.compile("\\s+");
-
-    private Set<String> getServiceClassNames(URL resource)
-            throws IOException {
-        Set<String> names = new HashSet<String>();
-        InputStream stream = resource.openStream();
-        try {
-            BufferedReader reader =
-                new BufferedReader(new InputStreamReader(stream, "UTF-8"));
-            String line = reader.readLine();
-            while (line != null) {
-                line = COMMENT.matcher(line).replaceFirst("");
-                line = WHITESPACE.matcher(line).replaceAll("");
-                if (line.length() > 0) {
-                    names.add(line);
-                }
-                line = reader.readLine();
-            }
-        } finally {
-            stream.close();
-        }
-        return names;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/config/TikaActivator.java b/trunk/tika-core/src/main/java/org/apache/tika/config/TikaActivator.java
deleted file mode 100644
index 8afedb9..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/config/TikaActivator.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.config;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * Bundle activator that adjust the class loading mechanism of the
- * {@link ServiceLoader} class to work correctly in an OSGi environment.
- * <p>
- * Note that you should <strong>not</strong> access this class directly.
- * Instead the OSGi environment (if present) will automatically invoke the
- * methods of this class based on the Bundle-Activator setting in the bundle
- * manifest.
- *
- * @since Apache Tika 0.9
- */
-public class TikaActivator implements BundleActivator {
-
-    public void start(BundleContext context) throws Exception {
-        ServiceLoader.setContextClassLoader(
-                TikaActivator.class.getClassLoader());
-    }
-
-    public void stop(BundleContext context) throws Exception {
-        ServiceLoader.setContextClassLoader(null);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/config/TikaConfig.java b/trunk/tika-core/src/main/java/org/apache/tika/config/TikaConfig.java
deleted file mode 100644
index 95ed6f7..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/config/TikaConfig.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.config;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.imageio.spi.ServiceRegistry;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.mime.MediaTypeRegistry;
-import org.apache.tika.mime.MimeTypeException;
-import org.apache.tika.mime.MimeTypes;
-import org.apache.tika.mime.MimeTypesFactory;
-import org.apache.tika.parser.CompositeParser;
-import org.apache.tika.parser.DefaultParser;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.parser.ParserDecorator;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/**
- * Parse xml config file.
- */
-public class TikaConfig {
-
-    private final CompositeParser parser;
-    
-    private final MimeTypes mimeTypes;
-
-    private TikaConfig(CompositeParser parser, MimeTypes mimeTypes) {
-        this.parser = parser;
-        this.mimeTypes = mimeTypes;
-    }
-
-    private TikaConfig(CompositeParser parser) {
-        this(parser, MimeTypes.getDefaultMimeTypes());
-    }
-
-    public TikaConfig(String file)
-            throws TikaException, IOException, SAXException {
-        this(new File(file));
-    }
-
-    public TikaConfig(File file)
-            throws TikaException, IOException, SAXException {
-        this(getBuilder().parse(file));
-    }
-
-    public TikaConfig(URL url)
-            throws TikaException, IOException, SAXException {
-        this(getBuilder().parse(url.toString()));
-    }
-
-    public TikaConfig(InputStream stream)
-            throws TikaException, IOException, SAXException {
-        this(getBuilder().parse(stream));
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-275">TIKA-275</a>
-     */
-    public TikaConfig(InputStream stream, Parser delegate)
-            throws TikaException, IOException, SAXException {
-        this(stream);
-    }
-
-    public TikaConfig(Document document) throws TikaException, IOException {
-        this(document.getDocumentElement());
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-275">TIKA-275</a>
-     */
-    public TikaConfig(Document document, Parser delegate)
-            throws TikaException, IOException {
-        this(document);
-    }
-
-    public TikaConfig(Element element) throws TikaException, IOException {
-        Element mtr = getChild(element, "mimeTypeRepository");
-        if (mtr != null && mtr.hasAttribute("resource")) {
-            mimeTypes = MimeTypesFactory.create(mtr.getAttribute("resource"));
-        } else {
-            mimeTypes = MimeTypes.getDefaultMimeTypes();
-        }
-
-        List<Parser> parsers = new ArrayList<Parser>();
-        NodeList nodes = element.getElementsByTagName("parser");
-        for (int i = 0; i < nodes.getLength(); i++) {
-            Element node = (Element) nodes.item(i);
-            String name = node.getAttribute("class");
-
-            try {
-                Class<?> parserClass = Class.forName(name);
-                Object instance = parserClass.newInstance();
-                if (!(instance instanceof Parser)) {
-                    throw new TikaException(
-                            "Configured class is not a Tika Parser: " + name);
-                }
-                Parser parser = (Parser) instance;
-
-                NodeList mimes = node.getElementsByTagName("mime");
-                if (mimes.getLength() > 0) {
-                    Set<MediaType> types = new HashSet<MediaType>();
-                    for (int j = 0; j < mimes.getLength(); j++) {
-                        String mime = getText(mimes.item(j));
-                        MediaType type = MediaType.parse(mime);
-                        if (type != null) {
-                            types.add(type);
-                        } else {
-                            throw new TikaException(
-                                    "Invalid media type name: " + mime);
-                        }
-                    }
-                    parser = ParserDecorator.withTypes(parser, types);
-                }
-
-                parsers.add(parser);
-            } catch (ClassNotFoundException e) {
-                throw new TikaException(
-                        "Configured parser class not found: " + name, e);
-            } catch (IllegalAccessException e) {
-                throw new TikaException(
-                        "Unable to access a parser class: " + name, e);
-            } catch (InstantiationException e) {
-                throw new TikaException(
-                        "Unable to instantiate a parser class: " + name, e);
-            }
-        }
-        this.parser =
-            new CompositeParser(mimeTypes.getMediaTypeRegistry(), parsers);
-    }
-
-    /**
-     * Creates a Tika configuration from the built-in media type rules
-     * and all the {@link Parser} implementations available through the
-     * {@link ServiceRegistry service provider mechanism} in the given
-     * class loader.
-     *
-     * @since Apache Tika 0.8
-     * @param loader the class loader through which parser implementations
-     *               are loaded, or <code>null</code> for no parsers
-     * @throws MimeTypeException if the built-in media type rules are broken
-     * @throws IOException  if the built-in media type rules can not be read
-     */
-    public TikaConfig(ClassLoader loader)
-            throws MimeTypeException, IOException {
-        this(new DefaultParser(loader));
-    }
-
-    /**
-     * Creates a Tika configuration from the built-in media type rules
-     * and all the {@link Parser} implementations available through the
-     * {@link ServiceRegistry service provider mechanism} in the context
-     * class loader of the current thread.
-     *
-     * @throws MimeTypeException if the built-in media type rules are broken
-     * @throws IOException  if the built-in media type rules can not be read
-     */
-    public TikaConfig() throws MimeTypeException, IOException {
-        this(new DefaultParser());
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-275">TIKA-275</a>
-     */
-    public TikaConfig(Element element, Parser delegate)
-            throws TikaException, IOException {
-        this(element);
-    }
-
-    private String getText(Node node) {
-        if (node.getNodeType() == Node.TEXT_NODE) {
-            return node.getNodeValue();
-        } else if (node.getNodeType() == Node.ELEMENT_NODE) {
-            StringBuilder builder = new StringBuilder();
-            NodeList list = node.getChildNodes();
-            for (int i = 0; i < list.getLength(); i++) {
-                builder.append(getText(list.item(i)));
-            }
-            return builder.toString();
-        } else {
-            return "";
-        }
-    }
-
-    /**
-     * @deprecated Use the {@link #getParser()} method instead
-     */
-    public Parser getParser(MediaType mimeType) {
-        return parser.getParsers().get(mimeType);
-    }
-
-    /**
-     * Returns the configured parser instance.
-     *
-     * @return configured parser
-     */
-    public Parser getParser() {
-        return parser;
-    }
-
-    /**
-     * @deprecated Use the {@link #getParser()} method instead
-     */
-    public Map<MediaType, Parser> getParsers() {
-        return parser.getParsers();
-    }
-
-    public MimeTypes getMimeRepository(){
-        return mimeTypes;
-    }
-
-    public MediaTypeRegistry getMediaTypeRegistry() {
-        return mimeTypes.getMediaTypeRegistry();
-    }
-
-    /**
-     * Provides a default configuration (TikaConfig).  Currently creates a
-     * new instance each time it's called; we may be able to have it
-     * return a shared instance once it is completely immutable.
-     *
-     * @return default configuration
-     */
-    public static TikaConfig getDefaultConfig() {
-        try {
-            return new TikaConfig();
-        } catch (IOException e) {
-            throw new RuntimeException(
-                    "Unable to read default configuration", e);
-        } catch (TikaException e) {
-            throw new RuntimeException(
-                    "Unable to access default configuration", e);
-        }
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-275">TIKA-275</a>
-     */
-    public static TikaConfig getDefaultConfig(Parser delegate)
-            throws TikaException {
-        return getDefaultConfig();
-    }
-
-    private static DocumentBuilder getBuilder() throws TikaException {
-        try {
-            return DocumentBuilderFactory.newInstance().newDocumentBuilder();
-        } catch (ParserConfigurationException e) {
-            throw new TikaException("XML parser not available", e);
-        }
-    }
-
-    private static Element getChild(Element element, String name) {
-        Node child = element.getFirstChild();
-        while (child != null) {
-            if (child.getNodeType() == Node.ELEMENT_NODE
-                    && name.equals(child.getNodeName())) {
-                return (Element) child;
-            }
-            child = child.getNextSibling();
-        }
-        return null;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/detect/CompositeDetector.java b/trunk/tika-core/src/main/java/org/apache/tika/detect/CompositeDetector.java
deleted file mode 100644
index 2874ca6..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/detect/CompositeDetector.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.mime.MediaTypeRegistry;
-
-/**
- * Content type detector that combines multiple different detection mechanisms.
- */
-public class CompositeDetector implements Detector {
-
-    /**
-     * Serial version UID
-     */
-    private static final long serialVersionUID = 5980683158436430252L;
-
-    private final MediaTypeRegistry registry;
-
-    private final List<Detector> detectors;
-
-    public CompositeDetector(
-            MediaTypeRegistry registry, List<Detector> detectors) {
-        this.registry = registry;
-        this.detectors = detectors;
-    }
-
-    public CompositeDetector(List<Detector> detectors) {
-        this(new MediaTypeRegistry(), detectors);
-    }
-
-    public CompositeDetector(Detector... detectors) {
-        this(Arrays.asList(detectors));
-    }
-
-    public MediaType detect(InputStream input, Metadata metadata)
-            throws IOException { 
-        MediaType type = MediaType.OCTET_STREAM;
-        for (Detector detector : detectors) {
-            MediaType detected = detector.detect(input, metadata);
-            if (registry.isSpecializationOf(detected, type)) {
-                type = detected;
-            }
-        }
-        return type;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/detect/DefaultDetector.java b/trunk/tika-core/src/main/java/org/apache/tika/detect/DefaultDetector.java
deleted file mode 100755
index f24d664..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/detect/DefaultDetector.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.imageio.spi.ServiceRegistry;
-
-import org.apache.tika.config.ServiceLoader;
-import org.apache.tika.mime.MimeTypes;
-
-/**
- * A composite detector based on all the {@link Detector} implementations
- * available through the {@link ServiceRegistry service provider mechanism}.
- *
- * @since Apache Tika 0.9
- */
-public class DefaultDetector extends CompositeDetector {
-
-    /** Serial version UID */
-    private static final long serialVersionUID = -8170114575326908027L;
-
-    private static List<Detector> getDefaultDetectors(
-            MimeTypes types, ServiceLoader loader) {
-        List<Detector> detectors = new ArrayList<Detector>();
-        detectors.add(types);
-        detectors.addAll(loader.loadServiceProviders(Detector.class));
-        return detectors;
-    }
-
-    private DefaultDetector(MimeTypes types, ServiceLoader loader) {
-        super(types.getMediaTypeRegistry(), getDefaultDetectors(types, loader));
-    }
-
-    public DefaultDetector(MimeTypes types, ClassLoader loader) {
-        this(types, new ServiceLoader(loader));
-    }
-
-    public DefaultDetector(ClassLoader loader) {
-        this(MimeTypes.getDefaultMimeTypes(), loader);
-    }
-
-    public DefaultDetector(MimeTypes types) {
-        this(types, new ServiceLoader());
-    }
-
-    public DefaultDetector() {
-        this(MimeTypes.getDefaultMimeTypes());
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/detect/Detector.java b/trunk/tika-core/src/main/java/org/apache/tika/detect/Detector.java
deleted file mode 100644
index 30e899a..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/detect/Detector.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Serializable;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-
-/**
- * Content type detector. Implementations of this interface use various
- * heuristics to detect the content type of a document based on given
- * input metadata or the first few bytes of the document stream.
- *
- * @since Apache Tika 0.3
- */
-public interface Detector extends Serializable {
-
-    /**
-     * Detects the content type of the given input document. Returns
-     * <code>application/octet-stream</code> if the type of the document
-     * can not be detected.
-     * <p>
-     * If the document input stream is not available, then the first
-     * argument may be <code>null</code>. Otherwise the detector may
-     * read bytes from the start of the stream to help in type detection.
-     * The given stream is guaranteed to support the
-     * {@link InputStream#markSupported() mark feature} and the detector
-     * is expected to {@link InputStream#mark(int) mark} the stream before
-     * reading any bytes from it, and to {@link InputStream#reset() reset}
-     * the stream before returning. The stream must not be closed by the
-     * detector.
-     * <p>
-     * The given input metadata is only read, not modified, by the detector.
-     *
-     * @param input document input stream, or <code>null</code>
-     * @param metadata input metadata for the document
-     * @return detected media type, or <code>application/octet-stream</code>
-     * @throws IOException if the document input stream could not be read
-     */
-    MediaType detect(InputStream input, Metadata metadata) throws IOException;
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/detect/MagicDetector.java b/trunk/tika-core/src/main/java/org/apache/tika/detect/MagicDetector.java
deleted file mode 100644
index b26a3d1..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/detect/MagicDetector.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-
-/**
- * Content type detection based on magic bytes, i.e. type-specific patterns
- * near the beginning of the document input stream.
- *
- * @since Apache Tika 0.3
- */
-public class MagicDetector implements Detector {
-
-    /**
-     * The matching media type. Returned by the
-     * {@link #detect(InputStream, Metadata)} method if a match is found.
-     */
-    private final MediaType type;
-
-    /**
-     * Length of the comparison window. All the byte arrays here are this long.
-     */
-    private final int length;
-
-    /**
-     * The magic match pattern. If this byte pattern is equal to the
-     * possibly bit-masked bytes from the input stream, then the type
-     * detection succeeds and the configured {@link #type} is returned.
-     */
-    private final byte[] pattern;
-
-    /**
-     * Bit mask that is applied to the source bytes before pattern matching.
-     */
-    private final byte[] mask;
-
-    /**
-     * First offset (inclusive) of the comparison window within the
-     * document input stream. Greater than or equal to zero.
-     */
-    private final int offsetRangeBegin;
-
-    /**
-     * Last offset (inclusive) of the comparison window within the document
-     * input stream. Greater than or equal to the
-     * {@link #offsetRangeBegin first offset}.
-     * <p>
-     * Note that this is <em>not</em> the offset of the last byte read from
-     * the document stream. Instead, the last window of bytes to be compared
-     * starts at this offset.
-     */
-    private final int offsetRangeEnd;
-    
-    private final String asString;
-
-    /**
-     * Creates a detector for input documents that have the exact given byte
-     * pattern at the beginning of the document stream.
-     *
-     * @param type matching media type
-     * @param pattern magic match pattern
-     */
-    public MagicDetector(MediaType type, byte[] pattern) {
-        this(type, pattern, 0);
-    }
-
-    /**
-     * Creates a detector for input documents that have the exact given byte
-     * pattern at the given offset of the document stream.
-     *
-     * @param type matching media type
-     * @param pattern magic match pattern
-     * @param offset offset of the pattern match
-     */
-    public MagicDetector(MediaType type, byte[] pattern, int offset) {
-        this(type, pattern, null, offset, offset);
-    }
-
-    /**
-     * Creates a detector for input documents that meet the specified
-     * magic match.
-     */
-    public MagicDetector(
-            MediaType type, byte[] pattern, byte[] mask,
-            int offsetRangeBegin, int offsetRangeEnd) {
-        if (type == null) {
-            throw new IllegalArgumentException("Matching media type is null");
-        } else if (pattern == null) {
-            throw new IllegalArgumentException("Magic match pattern is null");
-        } else if (offsetRangeBegin < 0
-                || offsetRangeEnd < offsetRangeBegin) {
-            throw new IllegalArgumentException(
-                    "Invalid offset range: ["
-                    + offsetRangeBegin + "," + offsetRangeEnd + "]");
-        }
-
-        this.type = type;
-
-        this.length = Math.max(pattern.length, mask != null ? mask.length : 0);
-
-        this.mask = new byte[length];
-        this.pattern = new byte[length];
-
-        for (int i = 0; i < length; i++) {
-            if (mask != null && i < mask.length) {
-                this.mask[i] = mask[i];
-            } else {
-                this.mask[i] = -1;
-            }
-
-            if (i < pattern.length) {
-                this.pattern[i] = (byte) (pattern[i] & this.mask[i]);
-            } else {
-                this.pattern[i] = 0;
-            }
-        }
-
-        this.offsetRangeBegin = offsetRangeBegin;
-        this.offsetRangeEnd = offsetRangeEnd;
-        
-        // Build the string representation. Needs to be unique, as
-        //  these get compared. Compute now as may get compared a lot!
-        this.asString = "Magic Detection for " + type.toString() +
-          " looking for " + pattern.length + 
-          " bytes = " + this.pattern + 
-          " mask = " + this.mask;
-    }
-
-    /**
-     * 
-     * @param input document input stream, or <code>null</code>
-     * @param metadata ignored
-     */
-    public MediaType detect(InputStream input, Metadata metadata)
-            throws IOException {
-        if (input == null) {
-            return MediaType.OCTET_STREAM;
-        }
-
-        input.mark(offsetRangeEnd + length);
-        try {
-            int offset = 0;
-
-            // Skip bytes at the beginning, using skip() or read()
-            while (offset < offsetRangeBegin) {
-                long n = input.skip(offsetRangeBegin - offset);
-                if (n > 0) {
-                    offset += n;
-                } else if (input.read() != -1) {
-                    offset += 1;
-                } else {
-                    return MediaType.OCTET_STREAM;
-                }
-            }
-
-            // Fill in the comparison window
-            byte[] buffer =
-                new byte[length + (offsetRangeEnd - offsetRangeBegin)];
-            int n = input.read(buffer);
-            if (n > 0) {
-                offset += n;
-            }
-            while (n != -1 && offset < offsetRangeEnd + length) {
-                int bufferOffset = offset - offsetRangeBegin;
-                n = input.read(
-                        buffer, bufferOffset, buffer.length - bufferOffset);
-            }
-            if (offset < offsetRangeBegin + length) {
-                return MediaType.OCTET_STREAM;
-            }
-
-            // Loop until we've covered the entire offset range
-            for (int i = 0; i <= offsetRangeEnd - offsetRangeBegin; i++) {
-                boolean match = true;
-                for (int j = 0; match && j < length; j++) {
-                    match = (buffer[i + j] & mask[j]) == pattern[j];
-                }
-                if (match) {
-                    return type;
-                }
-            }
-
-            return MediaType.OCTET_STREAM;
-        } finally {
-            input.reset();
-        }
-    }
-
-    /**
-     * Returns a string representation of the Detection Rule.
-     * Should sort nicely by type and details, as we sometimes
-     *  compare these.
-     */
-    public String toString() {
-       return asString;
-    }
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/detect/NameDetector.java b/trunk/tika-core/src/main/java/org/apache/tika/detect/NameDetector.java
deleted file mode 100644
index 18418a2..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/detect/NameDetector.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.util.Map;
-import java.util.regex.Pattern;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-
-/**
- * Content type detection based on the resource name. An instance of this
- * class contains a set of regular expression patterns that are matched
- * against the resource name potentially given as a part of the input metadata.
- * <p>
- * If a pattern matches the given name, then the media type associated with
- * that pattern is returned as the likely content type of the input document.
- * Otherwise the returned type is <code>application/octet-stream</code>.
- * <p>
- * See the {@link #detect(InputStream, Metadata)} method for more details
- * of the matching algorithm.
- *
- * @since Apache Tika 0.3
- */
-public class NameDetector implements Detector {
-
-    /**
-     * The regular expression patterns used for type detection.
-     */
-    private final Map<Pattern, MediaType> patterns;
-
-    /**
-     * Creates a new content type detector based on the given name patterns.
-     * The given pattern map is not copied, so the caller may update the
-     * mappings even after this detector instance has been created. However,
-     * the map <em>must not be concurrently modified</em> while this instance
-     * is used for type detection.
-     *
-     * @param patterns map from name patterns to corresponding media types
-     */
-    public NameDetector(Map<Pattern, MediaType> patterns) {
-        this.patterns = patterns;
-    }
-
-    /**
-     * Detects the content type of an input document based on the document
-     * name given in the input metadata. The RESOURCE_NAME_KEY attribute of
-     * the given input metadata is expected to contain the name (normally
-     * a file name or a URL) of the input document.
-     * <p>
-     * If a resource name is given, then it is first processed as follows.
-     * <ol>
-     *   <li>
-     *     Potential URL query (?...) and fragment identifier (#...)
-     *     parts are removed from the end of the resource name.
-     *   </li>
-     *   <li>
-     *     Potential leading path elements (up to the last slash or backslash)
-     *     are removed from the beginning of the resource name.
-     *   </li>
-     *   <li>
-     *     Potential URL encodings (%nn, in UTF-8) are decoded.
-     *   </li>
-     *   <li>
-     *     Any leading and trailing whitespace is removed.
-     *   </li>
-     * </ol>
-     * <p>
-     * The resulting name string (if any) is then matched in sequence against
-     * all the configured name patterns. If a match is found, then the (first)
-     * matching media type is returned.
-     *
-     * @param input ignored
-     * @param metadata input metadata, possibly with a RESOURCE_NAME_KEY value
-     * @return detected media type, or <code>application/octet-stream</code>
-     */
-    public MediaType detect(InputStream input, Metadata metadata) {
-        // Look for a resource name in the input metadata
-        String name = metadata.get(Metadata.RESOURCE_NAME_KEY);
-        if (name != null) {
-            // If the name is a URL, skip the trailing query and fragment parts
-            int question = name.indexOf('?');
-            if (question != -1) {
-                name = name.substring(0, question);
-            }
-            int hash = name.indexOf('#');
-            if (hash != -1) {
-                name = name.substring(0, hash);
-            }
-
-            // If the name is a URL or a path, skip all but the last component
-            int slash = name.lastIndexOf('/');
-            if (slash != -1) {
-                name = name.substring(slash + 1);
-            }
-            int backslash = name.lastIndexOf('\\');
-            if (backslash != -1) {
-                name = name.substring(backslash + 1);
-            }
-
-            // Decode any potential URL encoding
-            int percent = name.indexOf('%');
-            if (percent != -1) {
-                try {
-                    name = URLDecoder.decode(name, "UTF-8");
-                } catch (UnsupportedEncodingException e) {
-                    throw new IllegalStateException("UTF-8 not supported", e);
-                }
-            }
-
-            // Skip any leading or trailing whitespace
-            name = name.trim();
-            if (name.length() > 0) {
-                // Match the name against the registered patterns
-                for (Pattern pattern : patterns.keySet()) {
-                    if (pattern.matcher(name).matches()) {
-                        return patterns.get(pattern);
-                    }
-                }
-            }
-        }
-
-        return MediaType.OCTET_STREAM;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/detect/TextDetector.java b/trunk/tika-core/src/main/java/org/apache/tika/detect/TextDetector.java
deleted file mode 100644
index e8dcf0e..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/detect/TextDetector.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-
-/**
- * Content type detection of plain text documents. This detector looks at the
- * beginning of the document input stream and considers the document to be
- * a text document if no ASCII (ISO-Latin-1, UTF-8, etc.) control bytes are
- * found.
- * <p>
- * Note that text documents with a character encoding like UTF-16 are better
- * detected with {@link MagicDetector} and an appropriate magic byte pattern.
- *
- * @since Apache Tika 0.3
- */
-public class TextDetector implements Detector {
-
-    /**
-     * The number of bytes from the beginning of the document stream
-     * to test for control bytes.
-     */
-    private static final int NUMBER_OF_BYTES_TO_TEST = 512;
-
-    /**
-     * Lookup table for all the ASCII/ISO-Latin/UTF-8/etc. control bytes
-     * in the range below 0x20 (the space character). If an entry in this
-     * table is <code>true</code> then that byte is very unlikely to occur
-     * in a plain text document.
-     * <p>
-     * The contents of this lookup table are based on the following definition
-     * from section 4 of the "Content-Type Processing Model" Internet-draft
-     * (<a href="http://webblaze.cs.berkeley.edu/2009/mime-sniff/mime-sniff.txt"
-     * >draft-abarth-mime-sniff-01</a>).
-     * <pre>
-     * +-------------------------+
-     * | Binary data byte ranges |
-     * +-------------------------+
-     * | 0x00 -- 0x08            |
-     * | 0x0B                    |
-     * | 0x0E -- 0x1A            |
-     * | 0x1C -- 0x1F            |
-     * +-------------------------+
-     * </pre>
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-154">TIKA-154</a>
-     */
-    private static final boolean[] IS_CONTROL_BYTE = new boolean[0x20];
-
-    static {
-        Arrays.fill(IS_CONTROL_BYTE, true);
-        IS_CONTROL_BYTE[0x09] = false; // tabulator
-        IS_CONTROL_BYTE[0x0A] = false; // new line
-        IS_CONTROL_BYTE[0x0C] = false; // new page
-        IS_CONTROL_BYTE[0x0D] = false; // carriage return
-        IS_CONTROL_BYTE[0x1B] = false; // escape
-    }
-
-    /**
-     * Looks at the beginning of the document input stream to determine
-     * whether the document is text or not.
-     *
-     * @param input document input stream, or <code>null</code>
-     * @param metadata ignored
-     * @return "text/plain" if the input stream suggest a text document,
-     *         "application/octet-stream" otherwise
-     */
-    public MediaType detect(InputStream input, Metadata metadata)
-            throws IOException {
-        if (input == null) {
-            return MediaType.OCTET_STREAM;
-        }
-
-        input.mark(NUMBER_OF_BYTES_TO_TEST);
-        try {
-            for (int i = 0; i < NUMBER_OF_BYTES_TO_TEST; i++) {
-                int ch = input.read();
-                if (ch == -1) {
-                    if (i > 0) {
-                        return MediaType.TEXT_PLAIN;
-                    } else {
-                        // See https://issues.apache.org/jira/browse/TIKA-483
-                        return MediaType.OCTET_STREAM;
-                    }
-                } else if (ch < IS_CONTROL_BYTE.length && IS_CONTROL_BYTE[ch]) {
-                    return MediaType.OCTET_STREAM;
-                }
-            }
-            return MediaType.TEXT_PLAIN;
-        } finally {
-            input.reset();
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/detect/TypeDetector.java b/trunk/tika-core/src/main/java/org/apache/tika/detect/TypeDetector.java
deleted file mode 100644
index 5fa7b04..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/detect/TypeDetector.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import java.io.InputStream;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-
-/**
- * Content type detection based on a content type hint. This detector simply
- * trusts any valid content type hint given in the input metadata, and returns
- * that as the likely type of the input document.
- *
- * @since Apache Tika 0.3
- */
-public class TypeDetector implements Detector {
-
-    /**
-     * Detects the content type of an input document based on a type hint
-     * given in the input metadata. The CONTENT_TYPE attribute of the given
-     * input metadata is expected to contain the type of the input document.
-     * If that attribute exists and contains a valid type name, then that
-     * type is returned.
-     *
-     * @param input ignored
-     * @param metadata input metadata, possibly with a CONTENT_TYPE value
-     * @return detected media type, or <code>application/octet-stream</code>
-     */
-    public MediaType detect(InputStream input, Metadata metadata) {
-        // Look for a type hint in the input metadata
-        String hint = metadata.get(Metadata.CONTENT_TYPE);
-        if (hint != null) {
-            MediaType type = MediaType.parse(hint);
-            if (type != null) {
-                return type;
-            }
-        }
-        return MediaType.OCTET_STREAM;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/detect/XmlRootExtractor.java b/trunk/tika-core/src/main/java/org/apache/tika/detect/XmlRootExtractor.java
deleted file mode 100644
index 6f1b45b..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/detect/XmlRootExtractor.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import javax.xml.XMLConstants;
-import javax.xml.namespace.QName;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.apache.tika.sax.OfflineContentHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Utility class that uses a {@link javax.xml.parsers.SAXParser} to determine
- * the namespace URI and local name of the root element of an XML file.
- *
- * @since Apache Tika 0.4
- */
-public class XmlRootExtractor {
-
-    public QName extractRootElement(byte[] data) {
-        return extractRootElement(new ByteArrayInputStream(data));
-    }
-
-    /**
-     * @since Apache Tika 0.9
-     */
-    public QName extractRootElement(InputStream stream) {
-        ExtractorHandler handler = new ExtractorHandler();
-        try {
-            SAXParserFactory factory = SAXParserFactory.newInstance();
-            factory.setNamespaceAware(true);
-            factory.setValidating(false);
-            factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
-            factory.newSAXParser().parse(
-                    stream, new OfflineContentHandler(handler));
-        } catch (Exception ignore) {
-        }
-        return handler.rootElement;
-    }
-
-    private static class ExtractorHandler extends DefaultHandler {
-
-        private QName rootElement = null;
-
-        @Override
-        public void startElement(
-                String uri, String local, String name, Attributes attributes)
-                throws SAXException {
-            this.rootElement = new QName(uri, local);
-            throw new SAXException("Aborting: root element received");
-        }
-
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/exception/TikaException.java b/trunk/tika-core/src/main/java/org/apache/tika/exception/TikaException.java
deleted file mode 100644
index 080ce25..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/exception/TikaException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.exception;
-
-/**
- * Tika exception 
- */
-public class TikaException extends Exception {
-
-    public TikaException(String msg) {
-        super(msg);
-    }
-
-    public TikaException(String msg, Throwable cause) {
-        super(msg, cause);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/extractor/ContainerExtractor.java b/trunk/tika-core/src/main/java/org/apache/tika/extractor/ContainerExtractor.java
deleted file mode 100644
index 4f4c308..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/extractor/ContainerExtractor.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.extractor;
-
-import java.io.IOException;
-import java.io.Serializable;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.TikaInputStream;
-
-/**
- * Tika container extractor interface.
- * Container Extractors provide access to the embedded
- *  resources within container formats such as .zip and .doc 
- */
-public interface ContainerExtractor extends Serializable {
-    /**
-     * Is this Container Extractor able to process the
-     *  supplied container?
-     * @since Apache Tika 0.8
-     */
-    boolean isSupported(TikaInputStream input) throws IOException;
-
-    /**
-     * Processes a container file, and extracts all the embedded
-     * resources from within it.
-     * <p>
-     * The {@link EmbeddedResourceHandler} you supply will
-     * be called for each embedded resource in the container. It is
-     * up to you whether you process the contents of the resource or not. 
-     * <p>
-     * The given document stream is consumed but not closed by this method.
-     * The responsibility to close the stream remains on the caller.
-     * <p>
-     * If required, nested containers (such as a .docx within a .zip)
-     * can automatically be recursed into, and processed inline. If
-     * no recurseExtractor is given, the nested containers will be
-     * treated as with any other embedded resources.
-     *
-     * @since Apache Tika 0.8
-     * @param stream the document stream (input)
-     * @param recurseExtractor the extractor to use on any embedded containers 
-     * @param handler handler for the embedded files (output)
-     * @throws IOException if the document stream could not be read
-     * @throws TikaException if the container could not be parsed
-     */
-    void extract(
-            TikaInputStream stream, ContainerExtractor recurseExtractor,
-            EmbeddedResourceHandler handler)
-            throws IOException, TikaException;
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/extractor/DocumentSelector.java b/trunk/tika-core/src/main/java/org/apache/tika/extractor/DocumentSelector.java
deleted file mode 100644
index 8c91cb8..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/extractor/DocumentSelector.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.extractor;
-
-import org.apache.tika.metadata.Metadata;
-
-/**
- * Interface for different document selection strategies for purposes like
- * embedded document extraction by a {@link ContainerExtractor} instance.
- * An implementation of this interface defines some specific selection
- * criteria to be applied against the document metadata passed to the
- * {@link #select(Metadata)} method.
- *
- * @since Apache Tika 0.8
- */
-public interface DocumentSelector {
-
-    /**
-     * Checks if a document with the given metadata matches the specified
-     * selection criteria.
-     *
-     * @param metadata document metadata
-     * @return <code>true</code> if the document matches the selection criteria,
-     *         <code>false</code> otherwise
-     */
-    boolean select(Metadata metadata);
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/extractor/EmbeddedDocumentExtractor.java b/trunk/tika-core/src/main/java/org/apache/tika/extractor/EmbeddedDocumentExtractor.java
deleted file mode 100644
index 951ff50..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/extractor/EmbeddedDocumentExtractor.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-package org.apache.tika.extractor;
-
-import org.apache.tika.metadata.Metadata;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-public interface EmbeddedDocumentExtractor {
-    boolean shouldParseEmbedded(Metadata metadata);
-
-    /**
-     * Processes the supplied embedded resource, calling the delegating
-     *  parser with the appropriate details.
-     * @param stream The embedded resource
-     * @param handler The handler to use
-     * @param metadata The metadata for the embedded resource
-     * @param outputHtml Should we output HTML for this resource, or has the parser already done so?
-     * @throws org.xml.sax.SAXException
-     * @throws java.io.IOException
-     */
-    void parseEmbedded(
-            InputStream stream, ContentHandler handler, Metadata metadata, boolean outputHtml)
-            throws SAXException, IOException;
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/extractor/EmbeddedResourceHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/extractor/EmbeddedResourceHandler.java
deleted file mode 100644
index 23d0063..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/extractor/EmbeddedResourceHandler.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.extractor;
-
-import java.io.InputStream;
-
-import org.apache.tika.mime.MediaType;
-
-/**
- * Tika container extractor callback interface.
- * To work with a {@link ContainerExtractor}, your code needs
- *  to implement this interface.
- */
-public interface EmbeddedResourceHandler {
-    /**
-     * Called to process an embedded resource within the container.
-     * This will be called once per embedded resource within the
-     *  container, along with whatever details are available on
-     *  the embedded resource.
-     *  
-     * @since Apache Tika 0.8
-     * @param filename The filename of the embedded resource, if known
-     * @param mediaType The media type of the embedded resource, if known
-     * @param stream The contents of the embedded resource
-     */
-    void handle(String filename, MediaType mediaType, InputStream stream);
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParserContainerExtractor.java b/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParserContainerExtractor.java
deleted file mode 100644
index 9f82bf6..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParserContainerExtractor.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.extractor;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Set;
-
-import org.apache.tika.config.TikaConfig;
-import org.apache.tika.detect.DefaultDetector;
-import org.apache.tika.detect.Detector;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.TemporaryFiles;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * An implementation of {@link ContainerExtractor} powered by the regular
- * {@link Parser} API. This allows you to easily extract out all the
- * embedded resources from within container files supported by normal Tika
- * parsers. By default the {@link AutoDetectParser} will be used, to allow
- * extraction from the widest range of containers.
- */
-public class ParserContainerExtractor implements ContainerExtractor {
-
-    /** Serial version UID */
-    private static final long serialVersionUID = 2261131045580861514L;
-
-    private final Parser parser;
-
-    private final Detector detector;
-
-    public ParserContainerExtractor() {
-        this(TikaConfig.getDefaultConfig());
-    }
-
-    public ParserContainerExtractor(TikaConfig config) {
-        this(new AutoDetectParser(config),
-                new DefaultDetector(config.getMimeRepository()));
-    }
-
-    public ParserContainerExtractor(Parser parser, Detector detector) {
-        this.parser = parser;
-        this.detector = detector;
-    }
-
-    public boolean isSupported(TikaInputStream input) throws IOException {
-        MediaType type = detector.detect(input, new Metadata());
-        return parser.getSupportedTypes(new ParseContext()).contains(type);
-    }
-
-    public void extract(
-            TikaInputStream stream, ContainerExtractor recurseExtractor,
-            EmbeddedResourceHandler handler)
-            throws IOException, TikaException {
-        ParseContext context = new ParseContext();
-        context.set(Parser.class, new RecursiveParser(recurseExtractor, handler));
-        try {
-            parser.parse(stream, new DefaultHandler(), new Metadata(), context);
-        } catch (SAXException e) {
-            throw new TikaException("Unexpected SAX exception", e);
-        }
-    }
-
-    private class RecursiveParser implements Parser {
-
-        private final ContainerExtractor extractor;
-
-        private final EmbeddedResourceHandler handler;
-
-        private RecursiveParser(
-                ContainerExtractor extractor,
-                EmbeddedResourceHandler handler) {
-            this.extractor = extractor;
-            this.handler = handler;
-        }
-
-        public Set<MediaType> getSupportedTypes(ParseContext context) {
-            return parser.getSupportedTypes(context);
-        }
-
-        public void parse(
-                InputStream stream, ContentHandler ignored,
-                Metadata metadata, ParseContext context)
-                throws IOException, SAXException, TikaException {
-            TemporaryFiles tmp = new TemporaryFiles();
-            try {
-                TikaInputStream tis = TikaInputStream.get(stream, tmp);
-
-                // Figure out what we have to process
-                String filename = metadata.get(Metadata.RESOURCE_NAME_KEY);
-                MediaType type = detector.detect(tis, metadata);
-
-                if (extractor == null) {
-                    // Let the handler process the embedded resource 
-                    handler.handle(filename, type, tis);
-                } else {
-                    // Use a temporary file to process the stream twice
-                    File file = tis.getFile();
-
-                    // Let the handler process the embedded resource 
-                    handler.handle(filename, type, TikaInputStream.get(file));
-
-                    // Recurse
-                    extractor.extract(tis, extractor, handler);
-                }
-            } finally {
-                tmp.dispose();
-            }
-        }
-
-        public void parse(
-                InputStream stream, ContentHandler handler, Metadata metadata)
-                throws IOException, SAXException, TikaException {
-            parse(stream, handler, metadata, new ParseContext());
-        }
-
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java b/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java
deleted file mode 100644
index ef07d2f..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.extractor;
-
-import static org.apache.tika.sax.XHTMLContentHandler.XHTML;
-
-import java.io.File;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.CloseShieldInputStream;
-import org.apache.tika.io.TemporaryFiles;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.DelegatingParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.apache.tika.sax.EmbeddedContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-/**
- * Helper class for parsers of package archives or other compound document
- * formats that support embedded or attached component documents.
- *
- * @since Apache Tika 0.8
- */
-public class ParsingEmbeddedDocumentExtractor implements EmbeddedDocumentExtractor {
-
-    private static final File ABSTRACT_PATH = new File("");
-
-    private static final Parser DELEGATING_PARSER = new DelegatingParser();
-
-    private final ParseContext context;
-
-    public ParsingEmbeddedDocumentExtractor(ParseContext context) {
-        this.context = context;
-    }
-
-    public boolean shouldParseEmbedded(Metadata metadata) {
-        DocumentSelector selector = context.get(DocumentSelector.class);
-        if (selector != null) {
-            return selector.select(metadata);
-        }
-
-        FilenameFilter filter = context.get(FilenameFilter.class);
-        if (filter != null) {
-            String name = metadata.get(Metadata.RESOURCE_NAME_KEY);
-            if (name != null) {
-                return filter.accept(ABSTRACT_PATH, name);
-            }
-        }
-
-        return true;
-    }
-
-    public void parseEmbedded(
-            InputStream stream, ContentHandler handler, Metadata metadata, boolean outputHtml)
-            throws SAXException, IOException {
-        if(outputHtml) {
-           AttributesImpl attributes = new AttributesImpl();
-           attributes.addAttribute("", "class", "class", "CDATA", "package-entry");
-           handler.startElement(XHTML, "div", "div", attributes);
-        }
-
-        String name = metadata.get(Metadata.RESOURCE_NAME_KEY);
-        if (name != null && name.length() > 0 && outputHtml) {
-            handler.startElement(XHTML, "h1", "h1", new AttributesImpl());
-            char[] chars = name.toCharArray();
-            handler.characters(chars, 0, chars.length);
-            handler.endElement(XHTML, "h1", "h1");
-        }
-
-        // Use the delegate parser to parse this entry
-        TemporaryFiles tmp = new TemporaryFiles();
-        try {
-            DELEGATING_PARSER.parse(
-                    TikaInputStream.get(new CloseShieldInputStream(stream), tmp),
-                    new EmbeddedContentHandler(new BodyContentHandler(handler)),
-                    metadata, context);
-        } catch (TikaException e) {
-            // Could not parse the entry, just skip the content
-        } finally {
-            tmp.dispose();
-        }
-
-        if(outputHtml) {
-           handler.endElement(XHTML, "div", "div");
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/fork/ClassLoaderProxy.java b/trunk/tika-core/src/main/java/org/apache/tika/fork/ClassLoaderProxy.java
deleted file mode 100644
index 920926d..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/fork/ClassLoaderProxy.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.ByteArrayOutputStream;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-class ClassLoaderProxy extends ClassLoader implements ForkProxy {
-
-    /** Serial version UID */
-    private static final long serialVersionUID = -7303109260448540420L;
-
-    /**
-     * Names of resources that could not be found. Used to avoid repeated
-     * lookup of commonly accessed, but often not present, resources like
-     * <code>META-INF/services/javax.xml.parsers.SAXParserFactory</code>.
-     */
-    private final Set<String> notFound = new HashSet<String>();
-
-    private final int resource;
-
-    private transient DataInputStream input;
-
-    private transient DataOutputStream output;
-
-    public ClassLoaderProxy(int resource) {
-        this.resource = resource;
-    }
-
-    public void init(DataInputStream input, DataOutputStream output) {
-        this.input = input;
-        this.output = output;
-    }
-
-    @Override
-    protected synchronized URL findResource(String name) {
-        if (notFound.contains(name)) {
-            return null;
-        }
-        try {
-            // Send a request to load the resource data
-            output.write(ForkServer.RESOURCE);
-            output.write(resource);
-            output.write(1);
-            output.writeUTF(name);
-            output.flush();
-
-            // Receive the response
-            if (input.readBoolean()) {
-                return MemoryURLStreamHandler.createURL(readStream());
-            } else {
-                notFound.add(name);
-                return null;
-            }
-        } catch (IOException e) {
-            return null;
-        }
-    }
-
-    @Override
-    protected synchronized Enumeration<URL> findResources(String name)
-            throws IOException {
-        // Send a request to load the resources
-        output.write(ForkServer.RESOURCE);
-        output.write(resource);
-        output.write(2);
-        output.writeUTF(name);
-        output.flush();
-
-        // Receive the response
-        List<URL> resources = new ArrayList<URL>();
-        while (input.readBoolean()) {
-            resources.add(MemoryURLStreamHandler.createURL(readStream()));
-        }
-        return Collections.enumeration(resources);
-    }
-
-    @Override
-    protected synchronized Class<?> findClass(String name)
-            throws ClassNotFoundException {
-        try {
-            // Send a request to load the class data
-            output.write(ForkServer.RESOURCE);
-            output.write(resource);
-            output.write(1);
-            output.writeUTF(name.replace('.', '/') + ".class");
-            output.flush();
-
-            // Receive the response
-            if (input.readBoolean()) {
-                byte[] data = readStream();
-                return defineClass(name, data, 0, data.length);
-            } else {
-                throw new ClassNotFoundException("Unable to find class " + name);
-            }
-        } catch (IOException e) {
-            throw new ClassNotFoundException("Unable to load class " + name, e);
-        }
-    }
-
-    private byte[] readStream() throws IOException {
-        ByteArrayOutputStream stream = new ByteArrayOutputStream();
-        byte[] buffer = new byte[0xffff];
-        int n;
-        while ((n = input.readUnsignedShort()) > 0) {
-            input.readFully(buffer, 0, n);
-            stream.write(buffer, 0, n);
-        }
-        return stream.toByteArray();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/fork/ClassLoaderResource.java b/trunk/tika-core/src/main/java/org/apache/tika/fork/ClassLoaderResource.java
deleted file mode 100644
index d48171e..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/fork/ClassLoaderResource.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Enumeration;
-
-class ClassLoaderResource implements ForkResource {
-
-    private final ClassLoader loader;
-
-    public ClassLoaderResource(ClassLoader loader) {
-        this.loader = loader;
-    }
-
-    /**
-     * Processes a request for one (code 1) or many (code 2) class loader
-     * resources. The requested resources are sent preceded with a boolean
-     * <code>true</code> value. If the resource was not found (code 1) or
-     * when the last resource has been sent (code 2), a boolean
-     * <code>false</code> value is sent instead.
-     *
-     * @param name resource name
-     * @throws IOException if the resource could not be sent
-     */
-    public Throwable process(DataInputStream input, DataOutputStream output)
-            throws IOException {
-        byte type = input.readByte();
-        String name = input.readUTF();
-        if (type == 1) {
-            InputStream stream = loader.getResourceAsStream(name);
-            if (stream != null) {
-                output.writeBoolean(true);
-                writeAndCloseStream(output, stream);
-            } else {
-                output.writeBoolean(false);
-            }
-        } else if (type == 2) {
-            Enumeration<URL> resources = loader.getResources(name);
-            while (resources.hasMoreElements()) {
-                output.writeBoolean(true);
-                InputStream stream = resources.nextElement().openStream();
-                writeAndCloseStream(output, stream);
-            }
-            output.writeBoolean(false);
-        }
-        output.flush();
-        return null;
-    }
-
-    /**
-     * Sends the contents of the given input stream to the given output.
-     * The stream is sent in chunks of less than 64kB, each preceded by
-     * a 16-bit integer value that indicates the length of the following
-     * chunk. A zero short value is sent at the end to signify the end of
-     * the stream.
-     * <p>
-     * The stream is guaranteed to be closed by this method, regardless of
-     * the way it returns.
-     *
-     * @param stream the stream to be sent
-     * @throws IOException if the stream could not be sent
-     */
-    private void writeAndCloseStream(
-            DataOutputStream output, InputStream stream) throws IOException {
-        try {
-            byte[] buffer = new byte[0x10000 - 1];
-            int n;
-            while ((n = stream.read(buffer)) != -1) {
-                output.writeShort(n);
-                output.write(buffer, 0, n);
-            }
-            output.writeShort(0);
-        } finally {
-            stream.close();
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/fork/ContentHandlerProxy.java b/trunk/tika-core/src/main/java/org/apache/tika/fork/ContentHandlerProxy.java
deleted file mode 100644
index 32f7e83..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/fork/ContentHandlerProxy.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-
-class ContentHandlerProxy implements ContentHandler, ForkProxy {
-
-    public static final int START_DOCUMENT         =  1;
-    public static final int END_DOCUMENT           =  2;
-    public static final int START_PREFIX_MAPPING   =  3;
-    public static final int END_PREFIX_MAPPING     =  4;
-    public static final int START_ELEMENT          =  5;
-    public static final int END_ELEMENT            =  6;
-    public static final int CHARACTERS             =  7;
-    public static final int IGNORABLE_WHITESPACE   =  8;
-    public static final int PROCESSING_INSTRUCTION =  9;
-    public static final int SKIPPED_ENTITY         = 10;
-
-    /** Serial version UID */
-    private static final long serialVersionUID = 737511106054617524L;
-
-    private final int resource;
-
-    private transient DataOutputStream output;
-
-    public ContentHandlerProxy(int resource) {
-        this.resource = resource;
-    }
-
-    public void init(DataInputStream input, DataOutputStream output) {
-        this.output = output;
-    }
-
-    private void sendRequest(int type) throws SAXException {
-        try {
-            output.writeByte(ForkServer.RESOURCE);
-            output.writeByte(resource);
-            output.writeByte(type);
-        } catch (IOException e) {
-            throw new SAXException("Unexpected fork proxy problem", e);
-        }
-    }
-
-    private void sendString(String string) throws SAXException {
-        try {
-            if (string != null) {
-                output.writeBoolean(true);
-                output.writeUTF(string);
-            } else {
-                output.writeBoolean(false);
-            }
-        } catch (IOException e) {
-            throw new SAXException("Unexpected fork proxy problem", e);
-        }
-    }
-
-    private void sendCharacters(char[] ch, int start, int length)
-            throws SAXException {
-        try {
-            output.writeInt(length);
-            for (int i = 0; i < length; i++) {
-                output.writeChar(ch[start + i]);
-            }
-        } catch (IOException e) {
-            throw new SAXException("Unexpected fork proxy problem", e);
-        }
-    }
-
-    private void doneSending() throws SAXException {
-        try {
-            output.flush();
-        } catch (IOException e) {
-            throw new SAXException("Unexpected fork proxy problem", e);
-        }
-    }
-
-    public void setDocumentLocator(Locator locator) {
-        // skip
-    }
-
-    public void startDocument() throws SAXException {
-        sendRequest(START_DOCUMENT);
-        doneSending();
-    }
-
-    public void endDocument() throws SAXException {
-        sendRequest(END_DOCUMENT);
-        doneSending();
-    }
-
-    public void startPrefixMapping(String prefix, String uri)
-            throws SAXException {
-        sendRequest(START_PREFIX_MAPPING);
-        sendString(prefix);
-        sendString(uri);
-        doneSending();
-    }
-
-    public void endPrefixMapping(String prefix) throws SAXException {
-        sendRequest(END_PREFIX_MAPPING);
-        sendString(prefix);
-        doneSending();
-    }
-
-    public void startElement(
-            String uri, String localName, String qName, Attributes atts)
-            throws SAXException {
-        sendRequest(START_ELEMENT);
-        sendString(uri);
-        sendString(localName);
-        sendString(qName);
-        int n = -1;
-        if (atts != null) {
-            n = atts.getLength();
-        }
-        try {
-            output.writeInt(n);
-        } catch (IOException e) {
-            throw new SAXException("Unexpected fork proxy problem", e);
-        }
-        for (int i = 0; i < n; i++) {
-            sendString(atts.getURI(i));
-            sendString(atts.getLocalName(i));
-            sendString(atts.getQName(i));
-            sendString(atts.getType(i));
-            sendString(atts.getValue(i));
-        }
-        doneSending();
-    }
-
-    public void endElement(String uri, String localName, String qName)
-            throws SAXException {
-        sendRequest(END_ELEMENT);
-        sendString(uri);
-        sendString(localName);
-        sendString(qName);
-        doneSending();
-    }
-
-    public void characters(char[] ch, int start, int length)
-            throws SAXException {
-        sendRequest(CHARACTERS);
-        sendCharacters(ch, start, length);
-        doneSending();
-    }
-
-    public void ignorableWhitespace(char[] ch, int start, int length)
-            throws SAXException {
-        sendRequest(IGNORABLE_WHITESPACE);
-        sendCharacters(ch, start, length);
-        doneSending();
-    }
-
-    public void processingInstruction(String target, String data)
-            throws SAXException {
-        sendRequest(PROCESSING_INSTRUCTION);
-        sendString(target);
-        sendString(data);
-        doneSending();
-    }
-
-    public void skippedEntity(String name) throws SAXException {
-        sendRequest(SKIPPED_ENTITY);
-        sendString(name);
-        doneSending();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/fork/ContentHandlerResource.java b/trunk/tika-core/src/main/java/org/apache/tika/fork/ContentHandlerResource.java
deleted file mode 100644
index d6ef5b4..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/fork/ContentHandlerResource.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-class ContentHandlerResource implements ForkResource {
-
-    private final ContentHandler handler;
-
-    public ContentHandlerResource(ContentHandler handler) {
-        this.handler = handler;
-    }
-
-    public Throwable process(DataInputStream input, DataOutputStream output)
-            throws IOException {
-        try {
-            internalProcess(input);
-            return null;
-        } catch (SAXException e) {
-            return e;
-        }
-    }
-
-    private void internalProcess(DataInputStream input)
-            throws IOException, SAXException {
-        int type = input.readUnsignedByte();
-        if (type == ContentHandlerProxy.START_DOCUMENT) {
-            handler.startDocument();
-        } else if (type == ContentHandlerProxy.END_DOCUMENT) {
-            handler.endDocument();
-        } else if (type == ContentHandlerProxy.START_PREFIX_MAPPING) {
-            handler.startPrefixMapping(readString(input), readString(input));
-        } else if (type == ContentHandlerProxy.END_PREFIX_MAPPING) {
-            handler.endPrefixMapping(readString(input));
-        } else if (type == ContentHandlerProxy.START_ELEMENT) {
-            String uri = readString(input);
-            String localName = readString(input);
-            String qName = readString(input);
-            AttributesImpl atts = null;
-            int n = input.readInt();
-            if (n >= 0) {
-                atts = new AttributesImpl();
-                for (int i = 0; i < n; i++) {
-                    atts.addAttribute(
-                            readString(input), readString(input),
-                            readString(input), readString(input),
-                            readString(input));
-                }
-            }
-            handler.startElement(uri, localName, qName, atts);
-        } else if (type == ContentHandlerProxy.END_ELEMENT) {
-            String uri = readString(input);
-            String localName = readString(input);
-            String qName = readString(input);
-            handler.endElement(uri, localName, qName);
-        } else if (type == ContentHandlerProxy.CHARACTERS) {
-            char[] ch = readCharacters(input);
-            handler.characters(ch, 0, ch.length);
-        } else if (type == ContentHandlerProxy.IGNORABLE_WHITESPACE) {
-            char[] ch = readCharacters(input);
-            handler.characters(ch, 0, ch.length);
-        } else if (type == ContentHandlerProxy.PROCESSING_INSTRUCTION) {
-            handler.processingInstruction(readString(input), readString(input));
-        } else if (type == ContentHandlerProxy.SKIPPED_ENTITY) {
-            handler.skippedEntity(readString(input));
-        }
-    }
-
-    private String readString(DataInputStream input) throws IOException {
-        if (input.readBoolean()) {
-            return input.readUTF();
-        } else {
-            return null;
-        }
-    }
-
-    private char[] readCharacters(DataInputStream input) throws IOException {
-        int n = input.readInt();
-        char[] ch = new char[n];
-        for (int i = 0; i < n; i++) {
-            ch[i] = input.readChar();
-        }
-        return ch;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java b/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java
deleted file mode 100644
index 9aabd57..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.jar.JarEntry;
-import java.util.jar.JarOutputStream;
-import java.util.zip.ZipEntry;
-
-import org.apache.tika.io.IOExceptionWithCause;
-import org.apache.tika.io.IOUtils;
-import org.xml.sax.ContentHandler;
-
-class ForkClient {
-
-    private final List<ForkResource> resources = new ArrayList<ForkResource>();
-
-    private final ClassLoader loader;
-
-    private final File jar;
-
-    private final Process process;
-
-    private final DataOutputStream output;
-
-    private final DataInputStream input;
-
-    private final InputStream error;
-
-    public ForkClient(ClassLoader loader, Object object, String java)
-            throws IOException {
-        boolean ok = false;
-        try {
-            this.loader = loader;
-            this.jar = createBootstrapJar();
-
-            ProcessBuilder builder = new ProcessBuilder();
-            List<String> command = new ArrayList<String>();
-            command.addAll(Arrays.asList(java.split("\\s+")));
-            command.add("-jar");
-            command.add(jar.getPath());
-            builder.command(command);
-            this.process = builder.start();
-
-            this.output = new DataOutputStream(process.getOutputStream());
-            this.input = new DataInputStream(process.getInputStream());
-            this.error = process.getErrorStream();
-
-            sendObject(loader, resources);
-            sendObject(object, resources);
-
-            ok = true;
-        } finally {
-            if (!ok) {
-                close();
-            }
-        }
-    }
-
-    public synchronized boolean ping() {
-        try {
-            output.writeByte(ForkServer.PING);
-            output.flush();
-            while (true) {
-                consumeErrorStream();
-                int type = input.read();
-                if (type == ForkServer.PING) {
-                    consumeErrorStream();
-                    return true;
-                } else {
-                    return false;
-                }
-            }
-        } catch (IOException e) {
-            return false;
-        }
-    }
-
-
-    public synchronized Throwable call(String method, Object... args)
-            throws IOException {
-        List<ForkResource> r = new ArrayList<ForkResource>(resources);
-        output.writeByte(ForkServer.CALL);
-        output.writeUTF(method);
-        for (int i = 0; i < args.length; i++) {
-            sendObject(args[i], r);
-        }
-        return waitForResponse(r);
-    }
-
-    /**
-     * Serializes the object first into an in-memory buffer and then
-     * writes it to the output stream with a preceding size integer.
-     *
-     * @param object object to be serialized
-     * @param resources list of fork resources, used when adding proxies
-     * @throws IOException if the object could not be serialized
-     */
-    private void sendObject(Object object, List<ForkResource> resources)
-            throws IOException {
-        int n = resources.size();
-        if (object instanceof InputStream) {
-            resources.add(new InputStreamResource((InputStream) object));
-            object = new InputStreamProxy(n);
-        } else if (object instanceof ContentHandler) {
-            resources.add(new ContentHandlerResource((ContentHandler) object));
-            object = new ContentHandlerProxy(n);
-        } else if (object instanceof ClassLoader) {
-            resources.add(new ClassLoaderResource((ClassLoader) object));
-            object = new ClassLoaderProxy(n);
-        }
-
-        ForkObjectInputStream.sendObject(object, output);
-
-        waitForResponse(resources);
-    }
-
-    public synchronized void close() {
-        try {
-            if (output != null) {
-                output.close();
-            }
-            if (input != null) {
-                input.close();
-            }
-            if (error != null) {
-                error.close();
-            }
-        } catch (IOException ignore) {
-        }
-        if (process != null) {
-            process.destroy();
-        }
-        if (jar != null) {
-            jar.delete();
-        }
-    }
-
-    private Throwable waitForResponse(List<ForkResource> resources)
-            throws IOException {
-        output.flush();
-        while (true) {
-            consumeErrorStream();
-            int type = input.read();
-            if (type == -1) {
-                consumeErrorStream();
-                throw new IOException(
-                        "Lost connection to a forked server process");
-            } else if (type == ForkServer.RESOURCE) {
-                ForkResource resource =
-                    resources.get(input.readUnsignedByte());
-                resource.process(input, output);
-            } else if (type == ForkServer.ERROR) {
-                try {
-                    return (Throwable) ForkObjectInputStream.readObject(
-                            input, loader);
-                } catch (ClassNotFoundException e) {
-                    throw new IOExceptionWithCause(
-                            "Unable to deserialize an exception", e);
-                }
-            } else {
-                return null;
-            }
-        }
-    }
-
-    /**
-     * Consumes all pending bytes from the standard error stream of the
-     * forked server process, and prints them out to the standard error
-     * stream of this process. This method should be called always before
-     * expecting some output from the server, to prevent the server from
-     * blocking due to a filled up pipe buffer of the error stream.
-     *
-     * @throws IOException if the error stream could not be read
-     */
-    private void consumeErrorStream() throws IOException {
-        int n;
-        while ((n = error.available()) > 0) {
-            byte[] b = new byte[n];
-            n = error.read(b);
-            if (n > 0) {
-                System.err.write(b, 0, n);
-            }
-        }
-    }
-
-    /**
-     * Creates a temporary jar file that can be used to bootstrap the forked
-     * server process. Remember to remove the file when no longer used.
-     *
-     * @return the created jar file
-     * @throws IOException if the bootstrap archive could not be created
-     */
-    private static File createBootstrapJar() throws IOException {
-        File file = File.createTempFile("apache-tika-fork-", ".jar");
-        boolean ok = false;
-        try {
-            fillBootstrapJar(file);
-            ok = true;
-        } finally {
-            if (!ok) {
-                file.delete();
-            }
-        }
-        return file;
-    }
-
-    /**
-     * Fills in the jar file used to bootstrap the forked server process.
-     * All the required <code>.class</code> files and a manifest with a
-     * <code>Main-Class</code> entry are written into the archive.
-     *
-     * @param file file to hold the bootstrap archive
-     * @throws IOException if the bootstrap archive could not be created
-     */
-    private static void fillBootstrapJar(File file) throws IOException {
-        JarOutputStream jar = new JarOutputStream(new FileOutputStream(file));
-        try {
-            String manifest =
-                "Main-Class: " + ForkServer.class.getName() + "\n";
-            jar.putNextEntry(new ZipEntry("META-INF/MANIFEST.MF"));
-            jar.write(manifest.getBytes("UTF-8"));
-
-            Class<?>[] bootstrap = {
-                    ForkServer.class, ForkObjectInputStream.class,
-                    ForkProxy.class, ClassLoaderProxy.class,
-                    MemoryURLConnection.class, MemoryURLStreamHandler.class,
-                    MemoryURLStreamHandlerFactory.class
-            };
-            ClassLoader loader = ForkServer.class.getClassLoader();
-            for (Class<?> klass : bootstrap) {
-                String path = klass.getName().replace('.', '/') + ".class";
-                InputStream input = loader.getResourceAsStream(path);
-                try {
-                    jar.putNextEntry(new JarEntry(path));
-                    IOUtils.copy(input, jar);
-                } finally {
-                    input.close();
-                }
-            }
-        } finally {
-            jar.close();
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkObjectInputStream.java b/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkObjectInputStream.java
deleted file mode 100644
index b9856e1..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkObjectInputStream.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.ObjectStreamClass;
-
-/**
- * An object input stream that uses a given class loader when deserializing
- * objects.
- * <p>
- * Note that this functionality could easily be implemented as a simple
- * anonymous {@link ObjectInputStream} subclass, but since the
- * functionality is needed during the somewhat complicated bootstrapping
- * of the stdin/out communication channel of a forked server process,
- * it's better if class has a stable name that can be referenced at
- * compile-time by the {@link ForkClient} class.
- */
-class ForkObjectInputStream extends ObjectInputStream {
-
-    /** The class loader used when deserializing objects. */
-    private final ClassLoader loader;
-
-    /**
-     * Creates a new object input stream that uses the given class loader
-     * when deserializing objects.
-     *
-     * @param input underlying input stream
-     * @param loader class loader used when deserializing objects
-     * @throws IOException if this stream could not be initiated
-     */
-    public ForkObjectInputStream(InputStream input, ClassLoader loader)
-            throws IOException {
-        super(input);
-        this.loader = loader;
-    }
-
-    /**
-     * Loads the identified class from the specified class loader.
-     *
-     * @param desc class description
-     * @return class loaded class
-     * @throws ClassNotFoundException if the class can not be found
-     */
-    @Override
-    protected Class<?> resolveClass(ObjectStreamClass desc)
-            throws ClassNotFoundException {
-        return Class.forName(desc.getName(), false, loader);
-    }
-
-    /**
-     * Serializes the object first into an in-memory buffer and then
-     * writes it to the output stream with a preceding size integer.
-     *
-     * @param object object to be serialized
-     * @param output output stream
-     * @throws IOException if the object could not be serialized
-     */
-    public static void sendObject(Object object, DataOutputStream output)
-            throws IOException {
-        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
-        ObjectOutputStream serializer = new ObjectOutputStream(buffer);
-        serializer.writeObject(object);
-        serializer.close();
-
-        byte[] data = buffer.toByteArray();
-        output.writeInt(data.length);
-        output.write(data);
-    }
-
-    /**
-     * Deserializes an object from the given stream. The serialized object
-     * is expected to be preceded by a size integer, that is used for reading
-     * the entire serialization into a memory before deserializing it.
-     *
-     * @param input input stream from which the serialized object is read
-     * @param loader class loader to be used for loading referenced classes
-     * @throws IOException if the object could not be deserialized
-     * @throws ClassNotFoundException if a referenced class is not found
-     */
-    public static Object readObject(DataInputStream input, ClassLoader loader)
-            throws IOException, ClassNotFoundException {
-        int n = input.readInt();
-        byte[] data = new byte[n];
-        input.readFully(data);
-
-        ObjectInputStream deserializer =
-            new ForkObjectInputStream(new ByteArrayInputStream(data), loader);
-        return deserializer.readObject();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkParser.java b/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkParser.java
deleted file mode 100644
index d19865f..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkParser.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-public class ForkParser implements Parser {
-
-    /** Serial version UID */
-    private static final long serialVersionUID = -4962742892274663950L;
-
-    private final ClassLoader loader;
-
-    private final Parser parser;
-
-    /** Java command line */
-    private String java = "java -Xmx32m";
-
-    /** Process pool size */
-    private int poolSize = 5;
-
-    private final Queue<ForkClient> pool =
-        new LinkedList<ForkClient>();
-
-    public ForkParser(ClassLoader loader, Parser parser) {
-        this.loader = loader;
-        this.parser = parser;
-    }
-
-    public ForkParser(ClassLoader loader) {
-        this(loader, new AutoDetectParser());
-    }
-
-    public ForkParser() {
-        this(ForkParser.class.getClassLoader());
-    }
-
-    /**
-     * Returns the size of the process pool.
-     *
-     * @return process pool size
-     */
-    public int getPoolSize() {
-        return poolSize;
-    }
-
-    /**
-     * Sets the size of the process pool.
-     *
-     * @param poolSize process pool size
-     */
-    public void setPoolSize(int poolSize) {
-        this.poolSize = poolSize;
-    }
-
-    /**
-     * Returns the command used to start the forked server process.
-     *
-     * @return java command line
-     */
-    public String getJavaCommand() {
-        return java;
-    }
-
-    /**
-     * Sets the command used to start the forked server process.
-     * The given command line is split on whitespace and the arguments
-     * "-jar" and "/path/to/bootstrap.jar" are appended to it when starting
-     * the process. The default setting is "java -Xmx32m".
-     *
-     * @param java java command line
-     */
-    public void setJavaCommand(String java) {
-        this.java = java;
-    }
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return parser.getSupportedTypes(context);
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        Throwable t;
-
-        boolean alive = false;
-        ForkClient client = acquireClient();
-        try {
-            t = client.call("parse", stream, handler, metadata, context);
-            alive = true;
-        } catch (IOException e) {
-            throw new TikaException(
-                    "Failed to communicate with a forked parser process."
-                    + " The process has most likely crashed due to some error"
-                    + " like running out of memory. A new process will be"
-                    + " started for the next parsing request.", e);
-        } finally {
-            releaseClient(client, alive);
-        }
-
-        if (t instanceof IOException) {
-            throw (IOException) t;
-        } else if (t instanceof SAXException) {
-            throw (SAXException) t;
-        } else if (t instanceof TikaException) {
-            throw (TikaException) t;
-        } else if (t != null) {
-            throw new TikaException(
-                    "Unexpected error in forked server process", t);
-        }
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-    public synchronized void close() {
-        for (ForkClient client : pool) {
-            client.close();
-        }
-        pool.clear();
-        poolSize = 0;
-    }
-
-    private synchronized ForkClient acquireClient()
-            throws IOException {
-        ForkClient client = pool.poll();
-        if (client == null || !client.ping()) {
-            client = new ForkClient(loader, parser, java);
-        }
-        return client;
-    }
-
-    private synchronized void releaseClient(ForkClient client, boolean alive) {
-        if (pool.size() < poolSize && alive) {
-            pool.offer(client);
-        } else {
-            client.close();
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkProxy.java b/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkProxy.java
deleted file mode 100644
index b10eac8..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkProxy.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.Serializable;
-
-public interface ForkProxy extends Serializable {
-
-    void init(DataInputStream input, DataOutputStream output);
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkResource.java b/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkResource.java
deleted file mode 100644
index 5344d48..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkResource.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-
-import java.io.IOException;
-
-public interface ForkResource {
-
-    Throwable process(DataInputStream input, DataOutputStream output)
-        throws IOException;
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkServer.java b/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkServer.java
deleted file mode 100644
index 8fac730..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkServer.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.ByteArrayInputStream;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.util.zip.CheckedInputStream;
-import java.util.zip.CheckedOutputStream;
-import java.util.zip.Checksum;
-
-class ForkServer implements Runnable, Checksum {
-
-    public static final byte ERROR = -1;
-
-    public static final byte DONE = 0;
-
-    public static final byte CALL = 1;
-
-    public static final byte PING = 2;
-
-    public static final byte RESOURCE = 3;
-
-    /**
-     * Starts a forked server process using the standard input and output
-     * streams for communication with the parent process. Any attempts by
-     * stray code to read from standard input or write to standard output
-     * is redirected to avoid interfering with the communication channel.
-     * 
-     * @param args command line arguments, ignored
-     * @throws Exception if the server could not be started
-     */
-    public static void main(String[] args) throws Exception {
-        URL.setURLStreamHandlerFactory(new MemoryURLStreamHandlerFactory());
-
-        ForkServer server = new ForkServer(System.in, System.out);
-        System.setIn(new ByteArrayInputStream(new byte[0]));
-        System.setOut(System.err);
-
-        Thread watchdog = new Thread(server, "Tika Watchdog");
-        watchdog.setDaemon(true);
-        watchdog.start();
-
-        server.processRequests();
-    }
-
-    /** Input stream for reading from the parent process */
-    private final DataInputStream input;
-
-    /** Output stream for writing to the parent process */
-    private final DataOutputStream output;
-
-    private volatile boolean active = true;
-
-    /**
-     * Sets up a forked server instance using the given stdin/out
-     * communication channel.
-     *
-     * @param input input stream for reading from the parent process
-     * @param output output stream for writing to the parent process
-     * @throws IOException if the server instance could not be created
-     */
-    public ForkServer(InputStream input, OutputStream output)
-            throws IOException {
-        this.input =
-            new DataInputStream(new CheckedInputStream(input, this));
-        this.output =
-            new DataOutputStream(new CheckedOutputStream(output, this));
-    }
-
-    public void run() {
-        try {
-            while (active) {
-                active = false;
-                Thread.sleep(5000);
-            }
-            System.exit(0);
-        } catch (InterruptedException e) {
-        }
-    }
-
-    public void processRequests() {
-        try {
-            ClassLoader loader = (ClassLoader) readObject(
-                    ForkServer.class.getClassLoader());
-            Thread.currentThread().setContextClassLoader(loader);
-
-            Object object = readObject(loader);
-            while (true) {
-                int request = input.read();
-                if (request == -1) {
-                    break;
-                } else if (request == PING) {
-                    output.writeByte(PING);
-                } else if (request == CALL) {
-                    call(loader, object);
-                } else {
-                    throw new IllegalStateException("Unexpected request");
-                }
-                output.flush();
-            }
-        } catch (Throwable t) {
-            t.printStackTrace();
-        }
-        System.err.flush();
-    }
-
-    private void call(ClassLoader loader, Object object) throws Exception {
-        Method method = getMethod(object, input.readUTF());
-        Object[] args =
-            new Object[method.getParameterTypes().length];
-        for (int i = 0; i < args.length; i++) {
-            args[i] = readObject(loader);
-        }
-        try {
-            method.invoke(object, args);
-            output.write(DONE);
-        } catch (InvocationTargetException e) {
-            output.write(ERROR);
-            ForkObjectInputStream.sendObject(e.getCause(), output);
-        }
-    }
-
-    private Method getMethod(Object object, String name) {
-        Class<?> klass = object.getClass();
-        while (klass != null) {
-            for (Class<?> iface : klass.getInterfaces()) {
-                for (Method method : iface.getMethods()) {
-                    if (name.equals(method.getName())) {
-                        return method;
-                    }
-                }
-            }
-            klass = klass.getSuperclass();
-        }
-        return null;
-    }
-
-    /**
-     * Deserializes an object from the given stream. The serialized object
-     * is expected to be preceded by a size integer, that is used for reading
-     * the entire serialization into a memory before deserializing it.
-     *
-     * @param input input stream from which the serialized object is read
-     * @param loader class loader to be used for loading referenced classes
-     * @throws IOException if the object could not be deserialized
-     * @throws ClassNotFoundException if a referenced class is not found
-     */
-    private Object readObject(ClassLoader loader)
-            throws IOException, ClassNotFoundException {
-        Object object = ForkObjectInputStream.readObject(input, loader);
-        if (object instanceof ForkProxy) {
-            ((ForkProxy) object).init(input, output);
-        }
-
-        // Tell the parent process that we successfully received this object
-        output.writeByte(ForkServer.DONE);
-        output.flush();
-
-        return object;
-    }
-
-    //-------------------------------------------------------------< Checsum >
-
-    public void update(int b) {
-        active = true;
-    }
-
-    public void update(byte[] b, int off, int len) {
-        active = true;
-    }
-
-    public long getValue() {
-        return 0;
-    }
-
-    public void reset() {
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/fork/InputStreamProxy.java b/trunk/tika-core/src/main/java/org/apache/tika/fork/InputStreamProxy.java
deleted file mode 100644
index f88f68f..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/fork/InputStreamProxy.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-class InputStreamProxy extends InputStream implements ForkProxy {
-
-    /** Serial version UID */
-    private static final long serialVersionUID = 4350939227765568438L;
-
-    private final int resource;
-
-    private transient DataInputStream input;
-
-    private transient DataOutputStream output;
-
-    public InputStreamProxy(int resource) {
-        this.resource = resource;
-    }
-
-    public void init(DataInputStream input, DataOutputStream output) {
-        this.input = input;
-        this.output = output;
-    }
-
-    @Override
-    public int read() throws IOException {
-        output.writeByte(ForkServer.RESOURCE);
-        output.writeByte(resource);
-        output.writeInt(1);
-        output.flush();
-        int n = input.readInt();
-        if (n == 1) {
-            return input.readUnsignedByte();
-        } else {
-            return n;
-        }
-    }
-
-    @Override
-    public int read(byte[] b, int off, int len) throws IOException {
-        output.writeByte(ForkServer.RESOURCE);
-        output.writeByte(resource);
-        output.writeInt(len);
-        output.flush();
-        int n = input.readInt();
-        if (n > 0) {
-            input.readFully(b, off, n);
-        }
-        return n;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/fork/InputStreamResource.java b/trunk/tika-core/src/main/java/org/apache/tika/fork/InputStreamResource.java
deleted file mode 100644
index acdf3b0..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/fork/InputStreamResource.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-class InputStreamResource implements ForkResource {
-
-    private final InputStream stream;
-
-    public InputStreamResource(InputStream stream) {
-        this.stream = stream;
-    }
-
-    public Throwable process(DataInputStream input, DataOutputStream output)
-            throws IOException {
-        int n = input.readInt();
-        byte[] buffer = new byte[n];
-        int m;
-        try {
-            m = stream.read(buffer);
-        } catch (IOException e) {
-            return e;
-        }
-        output.writeInt(m);
-        if (m > 0) {
-            output.write(buffer, 0, m);
-        }
-        output.flush();
-        return null;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/fork/MemoryURLConnection.java b/trunk/tika-core/src/main/java/org/apache/tika/fork/MemoryURLConnection.java
deleted file mode 100644
index b39d024..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/fork/MemoryURLConnection.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.net.URL;
-import java.net.URLConnection;
-
-class MemoryURLConnection extends URLConnection {
-
-    private final byte[] data;
-
-    MemoryURLConnection(URL url, byte[] data) {
-        super(url);
-        this.data = data;
-    }
-
-    @Override
-    public void connect() {
-    }
-
-    @Override
-    public InputStream getInputStream() {
-        return new ByteArrayInputStream(data);
-    }
-
-}
\ No newline at end of file
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/fork/MemoryURLStreamHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/fork/MemoryURLStreamHandler.java
deleted file mode 100644
index 13695b1..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/fork/MemoryURLStreamHandler.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.net.URLStreamHandler;
-import java.util.Map;
-import java.util.WeakHashMap;
-import java.util.concurrent.atomic.AtomicInteger;
-
-class MemoryURLStreamHandler extends URLStreamHandler {
-
-    private static final AtomicInteger counter = new AtomicInteger();
-
-    private static final Map<URL, byte[]> URLs = new WeakHashMap<URL, byte[]>();
-
-    public static URL createURL(byte[] data) {
-        try {
-            int i = counter.incrementAndGet();
-            URL url = new URL("tika-in-memory", "localhost", "/" + i);
-            URLs.put(url, data);
-            return url;
-        } catch (MalformedURLException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    @Override
-    protected URLConnection openConnection(URL u) throws IOException {
-        byte[] data = URLs.get(u);
-        if (data != null) {
-            return new MemoryURLConnection(u, URLs.get(u));
-        } else {
-            throw new IOException("Unknown URL: " + u);
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/fork/MemoryURLStreamHandlerFactory.java b/trunk/tika-core/src/main/java/org/apache/tika/fork/MemoryURLStreamHandlerFactory.java
deleted file mode 100644
index 58d543f..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/fork/MemoryURLStreamHandlerFactory.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.net.URLStreamHandler;
-import java.net.URLStreamHandlerFactory;
-
-class MemoryURLStreamHandlerFactory implements URLStreamHandlerFactory {
-
-    public URLStreamHandler createURLStreamHandler(String protocol) {
-        if ("tika-in-memory".equals(protocol)) {
-            return new MemoryURLStreamHandler();
-        } else {
-            return null;
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/io/ByteArrayOutputStream.java b/trunk/tika-core/src/main/java/org/apache/tika/io/ByteArrayOutputStream.java
deleted file mode 100644
index ace0d23..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/io/ByteArrayOutputStream.java
+++ /dev/null
@@ -1,356 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.io;
- 
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.SequenceInputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * This class implements an output stream in which the data is 
- * written into a byte array. The buffer automatically grows as data 
- * is written to it.
- * <p> 
- * The data can be retrieved using <code>toByteArray()</code> and
- * <code>toString()</code>.
- * <p>
- * Closing a <tt>ByteArrayOutputStream</tt> has no effect. The methods in
- * this class can be called after the stream has been closed without
- * generating an <tt>IOException</tt>.
- * <p>
- * This is an alternative implementation of the java.io.ByteArrayOutputStream
- * class. The original implementation only allocates 32 bytes at the beginning.
- * As this class is designed for heavy duty it starts at 1024 bytes. In contrast
- * to the original it doesn't reallocate the whole memory block but allocates
- * additional buffers. This way no buffers need to be garbage collected and
- * the contents don't have to be copied to the new buffer. This class is
- * designed to behave exactly like the original. The only exception is the
- * deprecated toString(int) method that has been ignored.
- * 
- * @author <a href="mailto:jeremias@apache.org">Jeremias Maerki</a>
- * @author Holger Hoffstatte
- * @since Apache Tika 0.4, copied from Commons IO 1.4
- */
-public class ByteArrayOutputStream extends OutputStream {
-
-    /** A singleton empty byte array. */
-    private static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
-
-    /** The list of buffers, which grows and never reduces. */
-    private final List<byte[]> buffers = new ArrayList<byte[]>();
-    /** The index of the current buffer. */
-    private int currentBufferIndex;
-    /** The total count of bytes in all the filled buffers. */
-    private int filledBufferSum;
-    /** The current buffer. */
-    private byte[] currentBuffer;
-    /** The total count of bytes written. */
-    private int count;
-
-    /**
-     * Creates a new byte array output stream. The buffer capacity is 
-     * initially 1024 bytes, though its size increases if necessary. 
-     */
-    public ByteArrayOutputStream() {
-        this(1024);
-    }
-
-    /**
-     * Creates a new byte array output stream, with a buffer capacity of 
-     * the specified size, in bytes. 
-     *
-     * @param size  the initial size
-     * @throws IllegalArgumentException if size is negative
-     */
-    public ByteArrayOutputStream(int size) {
-        if (size < 0) {
-            throw new IllegalArgumentException(
-                "Negative initial size: " + size);
-        }
-        needNewBuffer(size);
-    }
-
-    /**
-     * Makes a new buffer available either by allocating
-     * a new one or re-cycling an existing one.
-     *
-     * @param newcount  the size of the buffer if one is created
-     */
-    private void needNewBuffer(int newcount) {
-        if (currentBufferIndex < buffers.size() - 1) {
-            //Recycling old buffer
-            filledBufferSum += currentBuffer.length;
-            
-            currentBufferIndex++;
-            currentBuffer = buffers.get(currentBufferIndex);
-        } else {
-            //Creating new buffer
-            int newBufferSize;
-            if (currentBuffer == null) {
-                newBufferSize = newcount;
-                filledBufferSum = 0;
-            } else {
-                newBufferSize = Math.max(
-                    currentBuffer.length << 1, 
-                    newcount - filledBufferSum);
-                filledBufferSum += currentBuffer.length;
-            }
-            
-            currentBufferIndex++;
-            currentBuffer = new byte[newBufferSize];
-            buffers.add(currentBuffer);
-        }
-    }
-
-    /**
-     * Write the bytes to byte array.
-     * @param b the bytes to write
-     * @param off The start offset
-     * @param len The number of bytes to write
-     */
-    @Override
-    public void write(byte[] b, int off, int len) {
-        if ((off < 0) 
-                || (off > b.length) 
-                || (len < 0) 
-                || ((off + len) > b.length) 
-                || ((off + len) < 0)) {
-            throw new IndexOutOfBoundsException();
-        } else if (len == 0) {
-            return;
-        }
-        synchronized (this) {
-            int newcount = count + len;
-            int remaining = len;
-            int inBufferPos = count - filledBufferSum;
-            while (remaining > 0) {
-                int part = Math.min(remaining, currentBuffer.length - inBufferPos);
-                System.arraycopy(b, off + len - remaining, currentBuffer, inBufferPos, part);
-                remaining -= part;
-                if (remaining > 0) {
-                    needNewBuffer(newcount);
-                    inBufferPos = 0;
-                }
-            }
-            count = newcount;
-        }
-    }
-
-    /**
-     * Write a byte to byte array.
-     * @param b the byte to write
-     */
-    @Override
-    public synchronized void write(int b) {
-        int inBufferPos = count - filledBufferSum;
-        if (inBufferPos == currentBuffer.length) {
-            needNewBuffer(count + 1);
-            inBufferPos = 0;
-        }
-        currentBuffer[inBufferPos] = (byte) b;
-        count++;
-    }
-
-    /**
-     * Writes the entire contents of the specified input stream to this
-     * byte stream. Bytes from the input stream are read directly into the
-     * internal buffers of this streams.
-     *
-     * @param in the input stream to read from
-     * @return total number of bytes read from the input stream
-     *         (and written to this stream)
-     * @throws IOException if an I/O error occurs while reading the input stream
-     * @since Commons IO 1.4
-     */
-    public synchronized int write(InputStream in) throws IOException {
-        int readCount = 0;
-        int inBufferPos = count - filledBufferSum;
-        int n = in.read(currentBuffer, inBufferPos, currentBuffer.length - inBufferPos);
-        while (n != -1) {
-            readCount += n;
-            inBufferPos += n;
-            count += n;
-            if (inBufferPos == currentBuffer.length) {
-                needNewBuffer(currentBuffer.length);
-                inBufferPos = 0;
-            }
-            n = in.read(currentBuffer, inBufferPos, currentBuffer.length - inBufferPos);
-        }
-        return readCount;
-    }
-
-    /**
-     * Return the current size of the byte array.
-     * @return the current size of the byte array
-     */
-    public synchronized int size() {
-        return count;
-    }
-
-    /**
-     * Closing a <tt>ByteArrayOutputStream</tt> has no effect. The methods in
-     * this class can be called after the stream has been closed without
-     * generating an <tt>IOException</tt>.
-     *
-     * @throws IOException never (this method should not declare this exception
-     * but it has to now due to backwards compatability)
-     */
-    @Override
-    public void close() throws IOException {
-        //nop
-    }
-
-    /**
-     * @see java.io.ByteArrayOutputStream#reset()
-     */
-    public synchronized void reset() {
-        count = 0;
-        filledBufferSum = 0;
-        currentBufferIndex = 0;
-        currentBuffer = buffers.get(currentBufferIndex);
-    }
-
-    /**
-     * Writes the entire contents of this byte stream to the
-     * specified output stream.
-     *
-     * @param out  the output stream to write to
-     * @throws IOException if an I/O error occurs, such as if the stream is closed
-     * @see java.io.ByteArrayOutputStream#writeTo(OutputStream)
-     */
-    public synchronized void writeTo(OutputStream out) throws IOException {
-        int remaining = count;
-        for (byte[] buf : buffers) {
-            int c = Math.min(buf.length, remaining);
-            out.write(buf, 0, c);
-            remaining -= c;
-            if (remaining == 0) {
-                break;
-            }
-        }
-    }
-
-    /**
-     * Fetches entire contents of an <code>InputStream</code> and represent
-     * same data as result InputStream.
-     * <p>
-     * This method is useful where,
-     * <ul>
-     * <li>Source InputStream is slow.</li>
-     * <li>It has network resources associated, so we cannot keep it open for
-     * long time.</li>
-     * <li>It has network timeout associated.</li>
-     * </ul>
-     * It can be used in favor of {@link #toByteArray()}, since it
-     * avoids unnecessary allocation and copy of byte[].<br>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedInputStream</code>.
-     * 
-     * @param input Stream to be fully buffered.
-     * @return A fully buffered stream.
-     * @throws IOException if an I/O error occurs
-     */
-    public static InputStream toBufferedInputStream(InputStream input)
-            throws IOException {
-        ByteArrayOutputStream output = new ByteArrayOutputStream();
-        output.write(input);
-        return output.toBufferedInputStream();
-    }
-
-    /**
-     * Gets the current contents of this byte stream as a Input Stream. The
-     * returned stream is backed by buffers of <code>this</code> stream,
-     * avoiding memory allocation and copy, thus saving space and time.<br>
-     * 
-     * @return the current contents of this output stream.
-     * @see java.io.ByteArrayOutputStream#toByteArray()
-     * @see #reset()
-     * @since Commons IO 2.0
-     */
-    private InputStream toBufferedInputStream() {
-        int remaining = count;
-        if (remaining == 0) {
-            return new ClosedInputStream();
-        }
-        List<ByteArrayInputStream> list = new ArrayList<ByteArrayInputStream>(buffers.size());
-        for (byte[] buf : buffers) {
-            int c = Math.min(buf.length, remaining);
-            list.add(new ByteArrayInputStream(buf, 0, c));
-            remaining -= c;
-            if (remaining == 0) {
-                break;
-            }
-        }
-        return new SequenceInputStream(Collections.enumeration(list));
-    }
-
-    /**
-     * Gets the curent contents of this byte stream as a byte array.
-     * The result is independent of this stream.
-     *
-     * @return the current contents of this output stream, as a byte array
-     * @see java.io.ByteArrayOutputStream#toByteArray()
-     */
-    public synchronized byte[] toByteArray() {
-        int remaining = count;
-        if (remaining == 0) {
-            return EMPTY_BYTE_ARRAY; 
-        }
-        byte newbuf[] = new byte[remaining];
-        int pos = 0;
-        for (byte[] buf : buffers) {
-            int c = Math.min(buf.length, remaining);
-            System.arraycopy(buf, 0, newbuf, pos, c);
-            pos += c;
-            remaining -= c;
-            if (remaining == 0) {
-                break;
-            }
-        }
-        return newbuf;
-    }
-
-    /**
-     * Gets the curent contents of this byte stream as a string.
-     * @return the contents of the byte array as a String
-     * @see java.io.ByteArrayOutputStream#toString()
-     */
-    @Override
-    public String toString() {
-        return new String(toByteArray());
-    }
-
-    /**
-     * Gets the curent contents of this byte stream as a string
-     * using the specified encoding.
-     *
-     * @param enc  the name of the character encoding
-     * @return the string converted from the byte array
-     * @throws UnsupportedEncodingException if the encoding is not supported
-     * @see java.io.ByteArrayOutputStream#toString(String)
-     */
-    public String toString(String enc) throws UnsupportedEncodingException {
-        return new String(toByteArray(), enc);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/io/CloseShieldInputStream.java b/trunk/tika-core/src/main/java/org/apache/tika/io/CloseShieldInputStream.java
deleted file mode 100644
index 3033eea..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/io/CloseShieldInputStream.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.io;
-
-import java.io.InputStream;
-
-/**
- * Proxy stream that prevents the underlying input stream from being closed.
- * <p>
- * This class is typically used in cases where an input stream needs to be
- * passed to a component that wants to explicitly close the stream even if
- * more input would still be available to other components.
- *
- * @since Apache Tika 0.4, copied from Commons IO 1.4
- */
-public class CloseShieldInputStream extends ProxyInputStream {
-
-    /**
-     * Creates a proxy that shields the given input stream from being
-     * closed.
-     *
-     * @param in underlying input stream
-     */
-    public CloseShieldInputStream(InputStream in) {
-        super(in);
-    }
-
-    /**
-     * Replaces the underlying input stream with a {@link ClosedInputStream}
-     * sentinel. The original input stream will remain open, but this proxy
-     * will appear closed.
-     */
-    @Override
-    public void close() {
-        in = new ClosedInputStream();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/io/ClosedInputStream.java b/trunk/tika-core/src/main/java/org/apache/tika/io/ClosedInputStream.java
deleted file mode 100644
index f7c192c..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/io/ClosedInputStream.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.io;
-
-import java.io.InputStream;
-
-/**
- * Closed input stream. This stream returns -1 to all attempts to read
- * something from the stream.
- * <p>
- * Typically uses of this class include testing for corner cases in methods
- * that accept input streams and acting as a sentinel value instead of a
- * <code>null</code> input stream.
- *
- * @since Apache Tika 0.4, copied from Commons IO 1.4
- */
-public class ClosedInputStream extends InputStream {
-
-    /**
-     * Returns -1 to indicate that the stream is closed.
-     *
-     * @return always -1
-     */
-    @Override
-    public int read() {
-        return -1;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/io/CountingInputStream.java b/trunk/tika-core/src/main/java/org/apache/tika/io/CountingInputStream.java
deleted file mode 100644
index 770407c..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/io/CountingInputStream.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.io;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * A decorating input stream that counts the number of bytes that have passed
- * through the stream so far.
- * <p>
- * A typical use case would be during debugging, to ensure that data is being
- * read as expected.
- *
- * @author Marcelo Liberato
- * @since Apache Tika 0.4, copied from Commons IO 1.4
- */
-public class CountingInputStream extends ProxyInputStream {
-
-    /** The count of bytes that have passed. */
-    private long count;
-
-    /**
-     * Constructs a new CountingInputStream.
-     *
-     * @param in  the InputStream to delegate to
-     */
-    public CountingInputStream(InputStream in) {
-        super(in);
-    }
-
-    //-----------------------------------------------------------------------
-    /**
-     * Reads a number of bytes into the byte array, keeping count of the
-     * number read.
-     *
-     * @param b  the buffer into which the data is read, not null
-     * @return the total number of bytes read into the buffer, -1 if end of stream
-     * @throws IOException if an I/O error occurs
-     * @see java.io.InputStream#read(byte[]) 
-     */
-    @Override
-    public int read(byte[] b) throws IOException {
-        int found = super.read(b);
-        this.count += (found >= 0) ? found : 0;
-        return found;
-    }
-
-    /**
-     * Reads a number of bytes into the byte array at a specific offset,
-     * keeping count of the number read.
-     *
-     * @param b  the buffer into which the data is read, not null
-     * @param off  the start offset in the buffer
-     * @param len  the maximum number of bytes to read
-     * @return the total number of bytes read into the buffer, -1 if end of stream
-     * @throws IOException if an I/O error occurs
-     * @see java.io.InputStream#read(byte[], int, int)
-     */
-    @Override
-    public int read(byte[] b, int off, int len) throws IOException {
-        int found = super.read(b, off, len);
-        this.count += (found >= 0) ? found : 0;
-        return found;
-    }
-
-    /**
-     * Reads the next byte of data adding to the count of bytes received
-     * if a byte is successfully read. 
-     *
-     * @return the byte read, -1 if end of stream
-     * @throws IOException if an I/O error occurs
-     * @see java.io.InputStream#read()
-     */
-    @Override
-    public int read() throws IOException {
-        int found = super.read();
-        this.count += (found >= 0) ? 1 : 0;
-        return found;
-    }
-
-    /**
-     * Skips the stream over the specified number of bytes, adding the skipped
-     * amount to the count.
-     *
-     * @param length  the number of bytes to skip
-     * @return the actual number of bytes skipped
-     * @throws IOException if an I/O error occurs
-     * @see java.io.InputStream#skip(long)
-     */
-    @Override
-    public long skip(final long length) throws IOException {
-        final long skip = super.skip(length);
-        this.count += skip;
-        return skip;
-    }
-
-    //-----------------------------------------------------------------------
-    /**
-     * The number of bytes that have passed through this stream.
-     * <p>
-     * NOTE: From v1.3 this method throws an ArithmeticException if the
-     * count is greater than can be expressed by an <code>int</code>.
-     * See {@link #getByteCount()} for a method using a <code>long</code>.
-     *
-     * @return the number of bytes accumulated
-     * @throws ArithmeticException if the byte count is too large
-     */
-    public synchronized int getCount() {
-        long result = getByteCount();
-        if (result > Integer.MAX_VALUE) {
-            throw new ArithmeticException("The byte count " + result + " is too large to be converted to an int");
-        }
-        return (int) result;
-    }
-
-    /** 
-     * Set the byte count back to 0. 
-     * <p>
-     * NOTE: From v1.3 this method throws an ArithmeticException if the
-     * count is greater than can be expressed by an <code>int</code>.
-     * See {@link #resetByteCount()} for a method using a <code>long</code>.
-     *
-     * @return the count previous to resetting
-     * @throws ArithmeticException if the byte count is too large
-     */
-    public synchronized int resetCount() {
-        long result = resetByteCount();
-        if (result > Integer.MAX_VALUE) {
-            throw new ArithmeticException("The byte count " + result + " is too large to be converted to an int");
-        }
-        return (int) result;
-    }
-
-    /**
-     * The number of bytes that have passed through this stream.
-     * <p>
-     * NOTE: This method is an alternative for <code>getCount()</code>
-     * and was added because that method returns an integer which will
-     * result in incorrect count for files over 2GB.
-     *
-     * @return the number of bytes accumulated
-     * @since Commons IO 1.3
-     */
-    public synchronized long getByteCount() {
-        return this.count;
-    }
-
-    /** 
-     * Set the byte count back to 0. 
-     * <p>
-     * NOTE: This method is an alternative for <code>resetCount()</code>
-     * and was added because that method returns an integer which will
-     * result in incorrect count for files over 2GB.
-     *
-     * @return the count previous to resetting
-     * @since Commons IO 1.3
-     */
-    public synchronized long resetByteCount() {
-        long tmp = this.count;
-        this.count = 0;
-        return tmp;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/io/IOExceptionWithCause.java b/trunk/tika-core/src/main/java/org/apache/tika/io/IOExceptionWithCause.java
deleted file mode 100644
index 9abaf41..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/io/IOExceptionWithCause.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.io;
-
-import java.io.IOException;
-
-/**
- * Subclasses IOException with the {@link Throwable} constructors missing before Java 6. If you are using Java 6,
- * consider this class deprecated and use {@link IOException}.
- * 
- * @author <a href="http://commons.apache.org/io/">Apache Commons IO</a>
- * @since Apache Tika 0.4, copied from Commons IO 1.4
- */
-public class IOExceptionWithCause extends IOException {
-
-    /**
-     * Defines the serial version UID.
-     */
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * Constructs a new instance with the given message and cause.
-     * <p>
-     * As specified in {@link Throwable}, the message in the given <code>cause</code> is not used in this instance's
-     * message.
-     * </p>
-     * 
-     * @param message
-     *            the message (see {@link #getMessage()})
-     * @param cause
-     *            the cause (see {@link #getCause()}). A <code>null</code> value is allowed.
-     */
-    public IOExceptionWithCause(String message, Throwable cause) {
-        super(message);
-        this.initCause(cause);
-    }
-
-    /**
-     * Constructs a new instance with the given cause.
-     * <p>
-     * The message is set to <code>cause==null ? null : cause.toString()</code>, which by default contains the class
-     * and message of <code>cause</code>. This constructor is useful for call sites that just wrap another throwable.
-     * </p>
-     * 
-     * @param cause
-     *            the cause (see {@link #getCause()}). A <code>null</code> value is allowed.
-     */
-    public IOExceptionWithCause(Throwable cause) {
-        super(cause == null ? null : cause.toString());
-        this.initCause(cause);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/io/IOUtils.java b/trunk/tika-core/src/main/java/org/apache/tika/io/IOUtils.java
deleted file mode 100644
index 1ad953d..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/io/IOUtils.java
+++ /dev/null
@@ -1,1206 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.io;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.CharArrayWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Reader;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.nio.channels.Channel;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * General IO stream manipulation utilities.
- * <p>
- * This class provides static utility methods for input/output operations.
- * <ul>
- * <li>closeQuietly - these methods close a stream ignoring nulls and exceptions
- * <li>toXxx/read - these methods read data from a stream
- * <li>write - these methods write data to a stream
- * <li>copy - these methods copy all the data from one stream to another
- * <li>contentEquals - these methods compare the content of two streams
- * </ul>
- * <p>
- * The byte-to-char methods and char-to-byte methods involve a conversion step.
- * Two methods are provided in each case, one that uses the platform default
- * encoding and the other which allows you to specify an encoding. You are
- * encouraged to always specify an encoding because relying on the platform
- * default can lead to unexpected results, for example when moving from
- * development to production.
- * <p>
- * All the methods in this class that read a stream are buffered internally.
- * This means that there is no cause to use a <code>BufferedInputStream</code>
- * or <code>BufferedReader</code>. The default buffer size of 4K has been shown
- * to be efficient in tests.
- * <p>
- * Wherever possible, the methods in this class do <em>not</em> flush or close
- * the stream. This is to avoid making non-portable assumptions about the
- * streams' origin and further use. Thus the caller is still responsible for
- * closing streams after use.
- * <p>
- * Origin of code: Excalibur.
- *
- * @author Peter Donald
- * @author Jeff Turner
- * @author Matthew Hawthorne
- * @author Stephen Colebourne
- * @author Gareth Davis
- * @author Ian Springer
- * @author Niall Pemberton
- * @author Sandy McArthur
- * @since Apache Tika 0.4, copied (partially) from Commons IO 1.4
- */
-public class IOUtils {
-
-    /**
-     * The default buffer size to use.
-     */
-    private static final int DEFAULT_BUFFER_SIZE = 1024 * 4;
-
-    /**
-     * Instances should NOT be constructed in standard programming.
-     */
-    public IOUtils() {
-        super();
-    }
-
-    //-----------------------------------------------------------------------
-    /**
-     * Unconditionally close an <code>Reader</code>.
-     * <p>
-     * Equivalent to {@link Reader#close()}, except any exceptions will be ignored.
-     * This is typically used in finally blocks.
-     *
-     * @param input  the Reader to close, may be null or already closed
-     */
-    public static void closeQuietly(Reader input) {
-        try {
-            if (input != null) {
-                input.close();
-            }
-        } catch (IOException ioe) {
-            // ignore
-        }
-    }
-
-    /**
-     * Unconditionally close a <code>Channel</code>.
-     * <p>
-     * Equivalent to {@link Channel#close()}, except any exceptions will be ignored.
-     * This is typically used in finally blocks.
-     *
-     * @param channel the Channel to close, may be null or already closed
-     */
-    public static void closeQuietly(Channel channel) {
-        try {
-            if (channel != null) {
-                channel.close();
-            }
-        } catch (IOException ioe) {
-            // ignore
-        }
-    }
-
-    /**
-     * Unconditionally close a <code>Writer</code>.
-     * <p>
-     * Equivalent to {@link Writer#close()}, except any exceptions will be ignored.
-     * This is typically used in finally blocks.
-     *
-     * @param output  the Writer to close, may be null or already closed
-     */
-    public static void closeQuietly(Writer output) {
-        try {
-            if (output != null) {
-                output.close();
-            }
-        } catch (IOException ioe) {
-            // ignore
-        }
-    }
-
-    /**
-     * Unconditionally close an <code>InputStream</code>.
-     * <p>
-     * Equivalent to {@link InputStream#close()}, except any exceptions will be ignored.
-     * This is typically used in finally blocks.
-     *
-     * @param input  the InputStream to close, may be null or already closed
-     */
-    public static void closeQuietly(InputStream input) {
-        try {
-            if (input != null) {
-                input.close();
-            }
-        } catch (IOException ioe) {
-            // ignore
-        }
-    }
-
-    /**
-     * Unconditionally close an <code>OutputStream</code>.
-     * <p>
-     * Equivalent to {@link OutputStream#close()}, except any exceptions will be ignored.
-     * This is typically used in finally blocks.
-     *
-     * @param output  the OutputStream to close, may be null or already closed
-     */
-    public static void closeQuietly(OutputStream output) {
-        try {
-            if (output != null) {
-                output.close();
-            }
-        } catch (IOException ioe) {
-            // ignore
-        }
-    }
-
-    /**
-     * Fetches entire contents of an <code>InputStream</code> and represent
-     * same data as result InputStream.
-     * <p>
-     * This method is useful where,
-     * <ul>
-     * <li>Source InputStream is slow.</li>
-     * <li>It has network resources associated, so we cannot keep it open for
-     * long time.</li>
-     * <li>It has network timeout associated.</li>
-     * </ul>
-     * It can be used in favor of {@link #toByteArray(InputStream)}, since it
-     * avoids unnecessary allocation and copy of byte[].<br>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedInputStream</code>.
-     * 
-     * @param input Stream to be fully buffered.
-     * @return A fully buffered stream.
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 2.0
-     */
-    public static InputStream toBufferedInputStream(InputStream input) throws IOException {
-        return ByteArrayOutputStream.toBufferedInputStream(input);
-    }
-
-    // read toByteArray
-    //-----------------------------------------------------------------------
-    /**
-     * Get the contents of an <code>InputStream</code> as a <code>byte[]</code>.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedInputStream</code>.
-     * 
-     * @param input  the <code>InputStream</code> to read from
-     * @return the requested byte array
-     * @throws NullPointerException if the input is null
-     * @throws IOException if an I/O error occurs
-     */
-    public static byte[] toByteArray(InputStream input) throws IOException {
-        ByteArrayOutputStream output = new ByteArrayOutputStream();
-        copy(input, output);
-        return output.toByteArray();
-    }
-
-    /**
-     * Get the contents of a <code>Reader</code> as a <code>byte[]</code>
-     * using the default character encoding of the platform.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedReader</code>.
-     * 
-     * @param input  the <code>Reader</code> to read from
-     * @return the requested byte array
-     * @throws NullPointerException if the input is null
-     * @throws IOException if an I/O error occurs
-     */
-    public static byte[] toByteArray(Reader input) throws IOException {
-        ByteArrayOutputStream output = new ByteArrayOutputStream();
-        copy(input, output);
-        return output.toByteArray();
-    }
-
-    /**
-     * Get the contents of a <code>Reader</code> as a <code>byte[]</code>
-     * using the specified character encoding.
-     * <p>
-     * Character encoding names can be found at
-     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedReader</code>.
-     * 
-     * @param input  the <code>Reader</code> to read from
-     * @param encoding  the encoding to use, null means platform default
-     * @return the requested byte array
-     * @throws NullPointerException if the input is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static byte[] toByteArray(Reader input, String encoding)
-            throws IOException {
-        ByteArrayOutputStream output = new ByteArrayOutputStream();
-        copy(input, output, encoding);
-        return output.toByteArray();
-    }
-
-    /**
-     * Get the contents of a <code>String</code> as a <code>byte[]</code>
-     * using the default character encoding of the platform.
-     * <p>
-     * This is the same as {@link String#getBytes()}.
-     * 
-     * @param input  the <code>String</code> to convert
-     * @return the requested byte array
-     * @throws NullPointerException if the input is null
-     * @throws IOException if an I/O error occurs (never occurs)
-     * @deprecated Use {@link String#getBytes()}
-     */
-    @Deprecated
-    public static byte[] toByteArray(String input) throws IOException {
-        return input.getBytes();
-    }
-
-    // read char[]
-    //-----------------------------------------------------------------------
-    /**
-     * Get the contents of an <code>InputStream</code> as a character array
-     * using the default character encoding of the platform.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedInputStream</code>.
-     * 
-     * @param is  the <code>InputStream</code> to read from
-     * @return the requested character array
-     * @throws NullPointerException if the input is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static char[] toCharArray(InputStream is) throws IOException {
-        CharArrayWriter output = new CharArrayWriter();
-        copy(is, output);
-        return output.toCharArray();
-    }
-
-    /**
-     * Get the contents of an <code>InputStream</code> as a character array
-     * using the specified character encoding.
-     * <p>
-     * Character encoding names can be found at
-     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedInputStream</code>.
-     * 
-     * @param is  the <code>InputStream</code> to read from
-     * @param encoding  the encoding to use, null means platform default
-     * @return the requested character array
-     * @throws NullPointerException if the input is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static char[] toCharArray(InputStream is, String encoding)
-            throws IOException {
-        CharArrayWriter output = new CharArrayWriter();
-        copy(is, output, encoding);
-        return output.toCharArray();
-    }
-
-    /**
-     * Get the contents of a <code>Reader</code> as a character array.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedReader</code>.
-     * 
-     * @param input  the <code>Reader</code> to read from
-     * @return the requested character array
-     * @throws NullPointerException if the input is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static char[] toCharArray(Reader input) throws IOException {
-        CharArrayWriter sw = new CharArrayWriter();
-        copy(input, sw);
-        return sw.toCharArray();
-    }
-
-    // read toString
-    //-----------------------------------------------------------------------
-    /**
-     * Get the contents of an <code>InputStream</code> as a String
-     * using the default character encoding of the platform.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedInputStream</code>.
-     * 
-     * @param input  the <code>InputStream</code> to read from
-     * @return the requested String
-     * @throws NullPointerException if the input is null
-     * @throws IOException if an I/O error occurs
-     */
-    public static String toString(InputStream input) throws IOException {
-        StringWriter sw = new StringWriter();
-        copy(input, sw);
-        return sw.toString();
-    }
-
-    /**
-     * Get the contents of an <code>InputStream</code> as a String
-     * using the specified character encoding.
-     * <p>
-     * Character encoding names can be found at
-     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedInputStream</code>.
-     * 
-     * @param input  the <code>InputStream</code> to read from
-     * @param encoding  the encoding to use, null means platform default
-     * @return the requested String
-     * @throws NullPointerException if the input is null
-     * @throws IOException if an I/O error occurs
-     */
-    public static String toString(InputStream input, String encoding)
-            throws IOException {
-        StringWriter sw = new StringWriter();
-        copy(input, sw, encoding);
-        return sw.toString();
-    }
-
-    /**
-     * Get the contents of a <code>Reader</code> as a String.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedReader</code>.
-     * 
-     * @param input  the <code>Reader</code> to read from
-     * @return the requested String
-     * @throws NullPointerException if the input is null
-     * @throws IOException if an I/O error occurs
-     */
-    public static String toString(Reader input) throws IOException {
-        StringWriter sw = new StringWriter();
-        copy(input, sw);
-        return sw.toString();
-    }
-
-    /**
-     * Get the contents of a <code>byte[]</code> as a String
-     * using the default character encoding of the platform.
-     * 
-     * @param input the byte array to read from
-     * @return the requested String
-     * @throws NullPointerException if the input is null
-     * @throws IOException if an I/O error occurs (never occurs)
-     * @deprecated Use {@link String#String(byte[])}
-     */
-    @Deprecated
-    public static String toString(byte[] input) throws IOException {
-        return new String(input);
-    }
-
-    /**
-     * Get the contents of a <code>byte[]</code> as a String
-     * using the specified character encoding.
-     * <p>
-     * Character encoding names can be found at
-     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
-     * 
-     * @param input the byte array to read from
-     * @param encoding  the encoding to use, null means platform default
-     * @return the requested String
-     * @throws NullPointerException if the input is null
-     * @throws IOException if an I/O error occurs (never occurs)
-     * @deprecated Use {@link String#String(byte[],String)}
-     */
-    @Deprecated
-    public static String toString(byte[] input, String encoding)
-            throws IOException {
-        if (encoding == null) {
-            return new String(input);
-        } else {
-            return new String(input, encoding);
-        }
-    }
-
-    // readLines
-    //-----------------------------------------------------------------------
-    /**
-     * Get the contents of an <code>InputStream</code> as a list of Strings,
-     * one entry per line, using the default character encoding of the platform.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedInputStream</code>.
-     *
-     * @param input  the <code>InputStream</code> to read from, not null
-     * @return the list of Strings, never null
-     * @throws NullPointerException if the input is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static List<String> readLines(InputStream input) throws IOException {
-        InputStreamReader reader = new InputStreamReader(input);
-        return readLines(reader);
-    }
-
-    /**
-     * Get the contents of an <code>InputStream</code> as a list of Strings,
-     * one entry per line, using the specified character encoding.
-     * <p>
-     * Character encoding names can be found at
-     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedInputStream</code>.
-     *
-     * @param input  the <code>InputStream</code> to read from, not null
-     * @param encoding  the encoding to use, null means platform default
-     * @return the list of Strings, never null
-     * @throws NullPointerException if the input is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static List<String> readLines(InputStream input, String encoding) throws IOException {
-        if (encoding == null) {
-            return readLines(input);
-        } else {
-            InputStreamReader reader = new InputStreamReader(input, encoding);
-            return readLines(reader);
-        }
-    }
-
-    /**
-     * Get the contents of a <code>Reader</code> as a list of Strings,
-     * one entry per line.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedReader</code>.
-     *
-     * @param input  the <code>Reader</code> to read from, not null
-     * @return the list of Strings, never null
-     * @throws NullPointerException if the input is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static List<String> readLines(Reader input) throws IOException {
-        BufferedReader reader = new BufferedReader(input);
-        List<String> list = new ArrayList<String>();
-        String line = reader.readLine();
-        while (line != null) {
-            list.add(line);
-            line = reader.readLine();
-        }
-        return list;
-    }
-
-    //-----------------------------------------------------------------------
-    /**
-     * Convert the specified CharSequence to an input stream, encoded as bytes
-     * using the default character encoding of the platform.
-     *
-     * @param input the CharSequence to convert
-     * @return an input stream
-     * @since IO 2.0
-     */
-    public static InputStream toInputStream(CharSequence input) {
-        return toInputStream(input.toString());
-    }
-
-    /**
-     * Convert the specified CharSequence to an input stream, encoded as bytes
-     * using the specified character encoding.
-     * <p>
-     * Character encoding names can be found at
-     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
-     *
-     * @param input the CharSequence to convert
-     * @param encoding the encoding to use, null means platform default
-     * @throws IOException if the encoding is invalid
-     * @return an input stream
-     * @since IO 2.0
-     */
-    public static InputStream toInputStream(CharSequence input, String encoding) throws IOException {
-        return toInputStream(input.toString(), encoding);
-    }
-
-    //-----------------------------------------------------------------------
-    /**
-     * Convert the specified string to an input stream, encoded as bytes
-     * using the default character encoding of the platform.
-     *
-     * @param input the string to convert
-     * @return an input stream
-     * @since Commons IO 1.1
-     */
-    public static InputStream toInputStream(String input) {
-        byte[] bytes = input.getBytes();
-        return new ByteArrayInputStream(bytes);
-    }
-
-    /**
-     * Convert the specified string to an input stream, encoded as bytes
-     * using the specified character encoding.
-     * <p>
-     * Character encoding names can be found at
-     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
-     *
-     * @param input the string to convert
-     * @param encoding the encoding to use, null means platform default
-     * @throws IOException if the encoding is invalid
-     * @return an input stream
-     * @since Commons IO 1.1
-     */
-    public static InputStream toInputStream(String input, String encoding) throws IOException {
-        byte[] bytes = encoding != null ? input.getBytes(encoding) : input.getBytes();
-        return new ByteArrayInputStream(bytes);
-    }
-
-    // write byte[]
-    //-----------------------------------------------------------------------
-    /**
-     * Writes bytes from a <code>byte[]</code> to an <code>OutputStream</code>.
-     * 
-     * @param data  the byte array to write, do not modify during output,
-     * null ignored
-     * @param output  the <code>OutputStream</code> to write to
-     * @throws NullPointerException if output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static void write(byte[] data, OutputStream output)
-            throws IOException {
-        if (data != null) {
-            output.write(data);
-        }
-    }
-
-    /**
-     * Writes bytes from a <code>byte[]</code> to chars on a <code>Writer</code>
-     * using the default character encoding of the platform.
-     * <p>
-     * This method uses {@link String#String(byte[])}.
-     * 
-     * @param data  the byte array to write, do not modify during output,
-     * null ignored
-     * @param output  the <code>Writer</code> to write to
-     * @throws NullPointerException if output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static void write(byte[] data, Writer output) throws IOException {
-        if (data != null) {
-            output.write(new String(data));
-        }
-    }
-
-    /**
-     * Writes bytes from a <code>byte[]</code> to chars on a <code>Writer</code>
-     * using the specified character encoding.
-     * <p>
-     * Character encoding names can be found at
-     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
-     * <p>
-     * This method uses {@link String#String(byte[], String)}.
-     * 
-     * @param data  the byte array to write, do not modify during output,
-     * null ignored
-     * @param output  the <code>Writer</code> to write to
-     * @param encoding  the encoding to use, null means platform default
-     * @throws NullPointerException if output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static void write(byte[] data, Writer output, String encoding)
-            throws IOException {
-        if (data != null) {
-            if (encoding == null) {
-                write(data, output);
-            } else {
-                output.write(new String(data, encoding));
-            }
-        }
-    }
-
-    // write char[]
-    //-----------------------------------------------------------------------
-    /**
-     * Writes chars from a <code>char[]</code> to a <code>Writer</code>
-     * using the default character encoding of the platform.
-     * 
-     * @param data  the char array to write, do not modify during output,
-     * null ignored
-     * @param output  the <code>Writer</code> to write to
-     * @throws NullPointerException if output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static void write(char[] data, Writer output) throws IOException {
-        if (data != null) {
-            output.write(data);
-        }
-    }
-
-    /**
-     * Writes chars from a <code>char[]</code> to bytes on an
-     * <code>OutputStream</code>.
-     * <p>
-     * This method uses {@link String#String(char[])} and
-     * {@link String#getBytes()}.
-     * 
-     * @param data  the char array to write, do not modify during output,
-     * null ignored
-     * @param output  the <code>OutputStream</code> to write to
-     * @throws NullPointerException if output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static void write(char[] data, OutputStream output)
-            throws IOException {
-        if (data != null) {
-            output.write(new String(data).getBytes());
-        }
-    }
-
-    /**
-     * Writes chars from a <code>char[]</code> to bytes on an
-     * <code>OutputStream</code> using the specified character encoding.
-     * <p>
-     * Character encoding names can be found at
-     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
-     * <p>
-     * This method uses {@link String#String(char[])} and
-     * {@link String#getBytes(String)}.
-     * 
-     * @param data  the char array to write, do not modify during output,
-     * null ignored
-     * @param output  the <code>OutputStream</code> to write to
-     * @param encoding  the encoding to use, null means platform default
-     * @throws NullPointerException if output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static void write(char[] data, OutputStream output, String encoding)
-            throws IOException {
-        if (data != null) {
-            if (encoding == null) {
-                write(data, output);
-            } else {
-                output.write(new String(data).getBytes(encoding));
-            }
-        }
-    }
-
-    // write CharSequence
-    //-----------------------------------------------------------------------
-    /**
-     * Writes chars from a <code>CharSequence</code> to a <code>Writer</code>.
-     * 
-     * @param data  the <code>CharSequence</code> to write, null ignored
-     * @param output  the <code>Writer</code> to write to
-     * @throws NullPointerException if output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 2.0
-     */
-    public static void write(CharSequence data, Writer output) throws IOException {
-        if (data != null) {
-            write(data.toString(), output);
-        }
-    }
-
-    /**
-     * Writes chars from a <code>CharSequence</code> to bytes on an
-     * <code>OutputStream</code> using the default character encoding of the
-     * platform.
-     * <p>
-     * This method uses {@link String#getBytes()}.
-     * 
-     * @param data  the <code>CharSequence</code> to write, null ignored
-     * @param output  the <code>OutputStream</code> to write to
-     * @throws NullPointerException if output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 2.0
-     */
-    public static void write(CharSequence data, OutputStream output)
-            throws IOException {
-        if (data != null) {
-            write(data.toString(), output);
-        }
-    }
-
-    /**
-     * Writes chars from a <code>CharSequence</code> to bytes on an
-     * <code>OutputStream</code> using the specified character encoding.
-     * <p>
-     * Character encoding names can be found at
-     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
-     * <p>
-     * This method uses {@link String#getBytes(String)}.
-     * 
-     * @param data  the <code>CharSequence</code> to write, null ignored
-     * @param output  the <code>OutputStream</code> to write to
-     * @param encoding  the encoding to use, null means platform default
-     * @throws NullPointerException if output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 2.0
-     */
-    public static void write(CharSequence data, OutputStream output, String encoding)
-            throws IOException {
-        if (data != null) {
-            write(data.toString(), output, encoding);
-        }
-    }
-
-    // write String
-    //-----------------------------------------------------------------------
-    /**
-     * Writes chars from a <code>String</code> to a <code>Writer</code>.
-     * 
-     * @param data  the <code>String</code> to write, null ignored
-     * @param output  the <code>Writer</code> to write to
-     * @throws NullPointerException if output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static void write(String data, Writer output) throws IOException {
-        if (data != null) {
-            output.write(data);
-        }
-    }
-
-    /**
-     * Writes chars from a <code>String</code> to bytes on an
-     * <code>OutputStream</code> using the default character encoding of the
-     * platform.
-     * <p>
-     * This method uses {@link String#getBytes()}.
-     * 
-     * @param data  the <code>String</code> to write, null ignored
-     * @param output  the <code>OutputStream</code> to write to
-     * @throws NullPointerException if output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static void write(String data, OutputStream output)
-            throws IOException {
-        if (data != null) {
-            output.write(data.getBytes());
-        }
-    }
-
-    /**
-     * Writes chars from a <code>String</code> to bytes on an
-     * <code>OutputStream</code> using the specified character encoding.
-     * <p>
-     * Character encoding names can be found at
-     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
-     * <p>
-     * This method uses {@link String#getBytes(String)}.
-     * 
-     * @param data  the <code>String</code> to write, null ignored
-     * @param output  the <code>OutputStream</code> to write to
-     * @param encoding  the encoding to use, null means platform default
-     * @throws NullPointerException if output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static void write(String data, OutputStream output, String encoding)
-            throws IOException {
-        if (data != null) {
-            if (encoding == null) {
-                write(data, output);
-            } else {
-                output.write(data.getBytes(encoding));
-            }
-        }
-    }
-
-    // write StringBuffer
-    //-----------------------------------------------------------------------
-    /**
-     * Writes chars from a <code>StringBuffer</code> to a <code>Writer</code>.
-     * 
-     * @param data  the <code>StringBuffer</code> to write, null ignored
-     * @param output  the <code>Writer</code> to write to
-     * @throws NullPointerException if output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     * @deprecated replaced by write(CharSequence, Writer)
-     */
-    @Deprecated
-    public static void write(StringBuffer data, Writer output)
-            throws IOException {
-        if (data != null) {
-            output.write(data.toString());
-        }
-    }
-
-    /**
-     * Writes chars from a <code>StringBuffer</code> to bytes on an
-     * <code>OutputStream</code> using the default character encoding of the
-     * platform.
-     * <p>
-     * This method uses {@link String#getBytes()}.
-     * 
-     * @param data  the <code>StringBuffer</code> to write, null ignored
-     * @param output  the <code>OutputStream</code> to write to
-     * @throws NullPointerException if output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     * @deprecated replaced by write(CharSequence, OutputStream)
-     */
-    @Deprecated
-    public static void write(StringBuffer data, OutputStream output)
-            throws IOException {
-        if (data != null) {
-            output.write(data.toString().getBytes());
-        }
-    }
-
-    /**
-     * Writes chars from a <code>StringBuffer</code> to bytes on an
-     * <code>OutputStream</code> using the specified character encoding.
-     * <p>
-     * Character encoding names can be found at
-     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
-     * <p>
-     * This method uses {@link String#getBytes(String)}.
-     * 
-     * @param data  the <code>StringBuffer</code> to write, null ignored
-     * @param output  the <code>OutputStream</code> to write to
-     * @param encoding  the encoding to use, null means platform default
-     * @throws NullPointerException if output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     * @deprecated replaced by write(CharSequence, OutputStream, String)
-     */
-    @Deprecated
-    public static void write(StringBuffer data, OutputStream output,
-            String encoding) throws IOException {
-        if (data != null) {
-            if (encoding == null) {
-                write(data, output);
-            } else {
-                output.write(data.toString().getBytes(encoding));
-            }
-        }
-    }
-
-    // copy from InputStream
-    //-----------------------------------------------------------------------
-    /**
-     * Copy bytes from an <code>InputStream</code> to an
-     * <code>OutputStream</code>.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedInputStream</code>.
-     * <p>
-     * Large streams (over 2GB) will return a bytes copied value of
-     * <code>-1</code> after the copy has completed since the correct
-     * number of bytes cannot be returned as an int. For large streams
-     * use the <code>copyLarge(InputStream, OutputStream)</code> method.
-     * 
-     * @param input  the <code>InputStream</code> to read from
-     * @param output  the <code>OutputStream</code> to write to
-     * @return the number of bytes copied
-     * @throws NullPointerException if the input or output is null
-     * @throws IOException if an I/O error occurs
-     * @throws ArithmeticException if the byte count is too large
-     * @since Commons IO 1.1
-     */
-    public static int copy(InputStream input, OutputStream output) throws IOException {
-        long count = copyLarge(input, output);
-        if (count > Integer.MAX_VALUE) {
-            return -1;
-        }
-        return (int) count;
-    }
-
-    /**
-     * Copy bytes from a large (over 2GB) <code>InputStream</code> to an
-     * <code>OutputStream</code>.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedInputStream</code>.
-     * 
-     * @param input  the <code>InputStream</code> to read from
-     * @param output  the <code>OutputStream</code> to write to
-     * @return the number of bytes copied
-     * @throws NullPointerException if the input or output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.3
-     */
-    public static long copyLarge(InputStream input, OutputStream output)
-            throws IOException {
-        byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
-        long count = 0;
-        int n = 0;
-        while (-1 != (n = input.read(buffer))) {
-            output.write(buffer, 0, n);
-            count += n;
-        }
-        return count;
-    }
-
-    /**
-     * Copy bytes from an <code>InputStream</code> to chars on a
-     * <code>Writer</code> using the default character encoding of the platform.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedInputStream</code>.
-     * <p>
-     * This method uses {@link InputStreamReader}.
-     *
-     * @param input  the <code>InputStream</code> to read from
-     * @param output  the <code>Writer</code> to write to
-     * @throws NullPointerException if the input or output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static void copy(InputStream input, Writer output)
-            throws IOException {
-        InputStreamReader in = new InputStreamReader(input);
-        copy(in, output);
-    }
-
-    /**
-     * Copy bytes from an <code>InputStream</code> to chars on a
-     * <code>Writer</code> using the specified character encoding.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedInputStream</code>.
-     * <p>
-     * Character encoding names can be found at
-     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
-     * <p>
-     * This method uses {@link InputStreamReader}.
-     *
-     * @param input  the <code>InputStream</code> to read from
-     * @param output  the <code>Writer</code> to write to
-     * @param encoding  the encoding to use, null means platform default
-     * @throws NullPointerException if the input or output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static void copy(InputStream input, Writer output, String encoding)
-            throws IOException {
-        if (encoding == null) {
-            copy(input, output);
-        } else {
-            InputStreamReader in = new InputStreamReader(input, encoding);
-            copy(in, output);
-        }
-    }
-
-    // copy from Reader
-    //-----------------------------------------------------------------------
-    /**
-     * Copy chars from a <code>Reader</code> to a <code>Writer</code>.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedReader</code>.
-     * <p>
-     * Large streams (over 2GB) will return a chars copied value of
-     * <code>-1</code> after the copy has completed since the correct
-     * number of chars cannot be returned as an int. For large streams
-     * use the <code>copyLarge(Reader, Writer)</code> method.
-     *
-     * @param input  the <code>Reader</code> to read from
-     * @param output  the <code>Writer</code> to write to
-     * @return the number of characters copied
-     * @throws NullPointerException if the input or output is null
-     * @throws IOException if an I/O error occurs
-     * @throws ArithmeticException if the character count is too large
-     * @since Commons IO 1.1
-     */
-    public static int copy(Reader input, Writer output) throws IOException {
-        long count = copyLarge(input, output);
-        if (count > Integer.MAX_VALUE) {
-            return -1;
-        }
-        return (int) count;
-    }
-
-    /**
-     * Copy chars from a large (over 2GB) <code>Reader</code> to a <code>Writer</code>.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedReader</code>.
-     *
-     * @param input  the <code>Reader</code> to read from
-     * @param output  the <code>Writer</code> to write to
-     * @return the number of characters copied
-     * @throws NullPointerException if the input or output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.3
-     */
-    public static long copyLarge(Reader input, Writer output) throws IOException {
-        char[] buffer = new char[DEFAULT_BUFFER_SIZE];
-        long count = 0;
-        int n = 0;
-        while (-1 != (n = input.read(buffer))) {
-            output.write(buffer, 0, n);
-            count += n;
-        }
-        return count;
-    }
-
-    /**
-     * Copy chars from a <code>Reader</code> to bytes on an
-     * <code>OutputStream</code> using the default character encoding of the
-     * platform, and calling flush.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedReader</code>.
-     * <p>
-     * Due to the implementation of OutputStreamWriter, this method performs a
-     * flush.
-     * <p>
-     * This method uses {@link OutputStreamWriter}.
-     *
-     * @param input  the <code>Reader</code> to read from
-     * @param output  the <code>OutputStream</code> to write to
-     * @throws NullPointerException if the input or output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static void copy(Reader input, OutputStream output)
-            throws IOException {
-        OutputStreamWriter out = new OutputStreamWriter(output);
-        copy(input, out);
-        // XXX Unless anyone is planning on rewriting OutputStreamWriter, we
-        // have to flush here.
-        out.flush();
-    }
-
-    /**
-     * Copy chars from a <code>Reader</code> to bytes on an
-     * <code>OutputStream</code> using the specified character encoding, and
-     * calling flush.
-     * <p>
-     * This method buffers the input internally, so there is no need to use a
-     * <code>BufferedReader</code>.
-     * <p>
-     * Character encoding names can be found at
-     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
-     * <p>
-     * Due to the implementation of OutputStreamWriter, this method performs a
-     * flush.
-     * <p>
-     * This method uses {@link OutputStreamWriter}.
-     *
-     * @param input  the <code>Reader</code> to read from
-     * @param output  the <code>OutputStream</code> to write to
-     * @param encoding  the encoding to use, null means platform default
-     * @throws NullPointerException if the input or output is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static void copy(Reader input, OutputStream output, String encoding)
-            throws IOException {
-        if (encoding == null) {
-            copy(input, output);
-        } else {
-            OutputStreamWriter out = new OutputStreamWriter(output, encoding);
-            copy(input, out);
-            // XXX Unless anyone is planning on rewriting OutputStreamWriter,
-            // we have to flush here.
-            out.flush();
-        }
-    }
-
-    // content equals
-    //-----------------------------------------------------------------------
-    /**
-     * Compare the contents of two Streams to determine if they are equal or
-     * not.
-     * <p>
-     * This method buffers the input internally using
-     * <code>BufferedInputStream</code> if they are not already buffered.
-     *
-     * @param input1  the first stream
-     * @param input2  the second stream
-     * @return true if the content of the streams are equal or they both don't
-     * exist, false otherwise
-     * @throws NullPointerException if either input is null
-     * @throws IOException if an I/O error occurs
-     */
-    public static boolean contentEquals(InputStream input1, InputStream input2)
-            throws IOException {
-        if (!(input1 instanceof BufferedInputStream)) {
-            input1 = new BufferedInputStream(input1);
-        }
-        if (!(input2 instanceof BufferedInputStream)) {
-            input2 = new BufferedInputStream(input2);
-        }
-
-        int ch = input1.read();
-        while (-1 != ch) {
-            int ch2 = input2.read();
-            if (ch != ch2) {
-                return false;
-            }
-            ch = input1.read();
-        }
-
-        int ch2 = input2.read();
-        return (ch2 == -1);
-    }
-
-    /**
-     * Compare the contents of two Readers to determine if they are equal or
-     * not.
-     * <p>
-     * This method buffers the input internally using
-     * <code>BufferedReader</code> if they are not already buffered.
-     *
-     * @param input1  the first reader
-     * @param input2  the second reader
-     * @return true if the content of the readers are equal or they both don't
-     * exist, false otherwise
-     * @throws NullPointerException if either input is null
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 1.1
-     */
-    public static boolean contentEquals(Reader input1, Reader input2)
-            throws IOException {
-        if (!(input1 instanceof BufferedReader)) {
-            input1 = new BufferedReader(input1);
-        }
-        if (!(input2 instanceof BufferedReader)) {
-            input2 = new BufferedReader(input2);
-        }
-
-        int ch = input1.read();
-        while (-1 != ch) {
-            int ch2 = input2.read();
-            if (ch != ch2) {
-                return false;
-            }
-            ch = input1.read();
-        }
-
-        int ch2 = input2.read();
-        return (ch2 == -1);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/io/NullInputStream.java b/trunk/tika-core/src/main/java/org/apache/tika/io/NullInputStream.java
deleted file mode 100644
index 2647825..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/io/NullInputStream.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.io;
-
-import java.io.EOFException;
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * A functional, light weight {@link InputStream} that emulates
- * a stream of a specified size.
- * <p>
- * This implementation provides a light weight
- * object for testing with an {@link InputStream}
- * where the contents don't matter.
- * <p>
- * One use case would be for testing the handling of
- * large {@link InputStream} as it can emulate that
- * scenario without the overhead of actually processing
- * large numbers of bytes - significantly speeding up
- * test execution times.
- * <p>
- * This implementation returns zero from the method that
- * reads a byte and leaves the array unchanged in the read
- * methods that are passed a byte array.
- * If alternative data is required the <code>processByte()</code> and
- * <code>processBytes()</code> methods can be implemented to generate
- * data, for example:
- *
- * <pre>
- *  public class TestInputStream extends NullInputStream {
- *      public TestInputStream(int size) {
- *          super(size);
- *      }
- *      protected int processByte() {
- *          return ... // return required value here
- *      }
- *      protected void processBytes(byte[] bytes, int offset, int length) {
- *          for (int i = offset; i < length; i++) {
- *              bytes[i] = ... // set array value here
- *          }
- *      }
- *  }
- * </pre>
- *
- * @since Apache Tika 0.4, copied from Commons IO 1.4
- */
-public class NullInputStream extends InputStream {
-
-    private final long size;
-    private long position;
-    private long mark = -1;
-    private long readlimit;
-    private boolean eof;
-    private final boolean throwEofException;
-    private final boolean markSupported;
-
-    /**
-     * Create an {@link InputStream} that emulates a specified size
-     * which supports marking and does not throw EOFException.
-     *
-     * @param size The size of the input stream to emulate.
-     */
-    public NullInputStream(long size) {
-       this(size, true, false);
-    }
-
-    /**
-     * Create an {@link InputStream} that emulates a specified
-     * size with option settings.
-     *
-     * @param size The size of the input stream to emulate.
-     * @param markSupported Whether this instance will support
-     * the <code>mark()</code> functionality.
-     * @param throwEofException Whether this implementation
-     * will throw an {@link EOFException} or return -1 when the
-     * end of file is reached.
-     */
-    public NullInputStream(long size, boolean markSupported, boolean throwEofException) {
-       this.size = size;
-       this.markSupported = markSupported;
-       this.throwEofException = throwEofException;
-    }
-
-    /**
-     * Return the current position.
-     *
-     * @return the current position.
-     */
-    public long getPosition() {
-        return position;
-    }
-
-    /**
-     * Return the size this {@link InputStream} emulates.
-     *
-     * @return The size of the input stream to emulate.
-     */
-    public long getSize() {
-        return size;
-    }
-
-    /**
-     * Return the number of bytes that can be read.
-     *
-     * @return The number of bytes that can be read.
-     */
-    @Override
-    public int available() {
-        long avail = size - position;
-        if (avail <= 0) {
-            return 0;
-        } else if (avail > Integer.MAX_VALUE) {
-            return Integer.MAX_VALUE;
-        } else {
-            return (int)avail;
-        }
-    }
-
-    /**
-     * Close this input stream - resets the internal state to
-     * the initial values.
-     *
-     * @throws IOException If an error occurs.
-     */
-    @Override
-    public void close() throws IOException {
-        eof = false;
-        position = 0;
-        mark = -1;
-    }
-
-    /**
-     * Mark the current position.
-     *
-     * @param readlimit The number of bytes before this marked position
-     * is invalid.
-     * @throws UnsupportedOperationException if mark is not supported.
-     */
-    @Override
-    public synchronized void mark(int readlimit) {
-        if (!markSupported) {
-            throw new UnsupportedOperationException("Mark not supported");
-        }
-        mark = position;
-        this.readlimit = readlimit;
-    }
-
-    /**
-     * Indicates whether <i>mark</i> is supported.
-     *
-     * @return Whether <i>mark</i> is supported or not.
-     */
-    @Override
-    public boolean markSupported() {
-        return markSupported;
-    }
-
-    /**
-     * Read a byte.
-     *
-     * @return Either The byte value returned by <code>processByte()</code>
-     * or <code>-1</code> if the end of file has been reached and
-     * <code>throwEofException</code> is set to <code>false</code>.
-     * @throws EOFException if the end of file is reached and
-     * <code>throwEofException</code> is set to <code>true</code>.
-     * @throws IOException if trying to read past the end of file.
-     */
-    @Override
-    public int read() throws IOException {
-        if (eof) {
-            throw new IOException("Read after end of file");
-        }
-        if (position == size) {
-            return doEndOfFile();
-        }
-        position++;
-        return processByte();
-    }
-
-    /**
-     * Read some bytes into the specified array.
-     *
-     * @param bytes The byte array to read into
-     * @return The number of bytes read or <code>-1</code>
-     * if the end of file has been reached and
-     * <code>throwEofException</code> is set to <code>false</code>.
-     * @throws EOFException if the end of file is reached and
-     * <code>throwEofException</code> is set to <code>true</code>.
-     * @throws IOException if trying to read past the end of file.
-     */
-    @Override
-    public int read(byte[] bytes) throws IOException {
-        return read(bytes, 0, bytes.length);
-    }
-
-    /**
-     * Read the specified number bytes into an array.
-     *
-     * @param bytes The byte array to read into.
-     * @param offset The offset to start reading bytes into.
-     * @param length The number of bytes to read.
-     * @return The number of bytes read or <code>-1</code>
-     * if the end of file has been reached and
-     * <code>throwEofException</code> is set to <code>false</code>.
-     * @throws EOFException if the end of file is reached and
-     * <code>throwEofException</code> is set to <code>true</code>.
-     * @throws IOException if trying to read past the end of file.
-     */
-    @Override
-    public int read(byte[] bytes, int offset, int length) throws IOException {
-        if (eof) {
-            throw new IOException("Read after end of file");
-        }
-        if (position == size) {
-            return doEndOfFile();
-        }
-        position += length;
-        int returnLength = length;
-        if (position > size) {
-            returnLength = length - (int)(position - size);
-            position = size;
-        }
-        processBytes(bytes, offset, returnLength);
-        return returnLength;
-    }
-
-    /**
-     * Reset the stream to the point when mark was last called.
-     *
-     * @throws UnsupportedOperationException if mark is not supported.
-     * @throws IOException If no position has been marked
-     * or the read limit has been exceed since the last position was
-     * marked.
-     */
-    @Override
-    public synchronized void reset() throws IOException {
-        if (!markSupported) {
-            throw new UnsupportedOperationException("Mark not supported");
-        }
-        if (mark < 0) {
-            throw new IOException("No position has been marked");
-        }
-        if (position > (mark + readlimit)) {
-            throw new IOException("Marked position [" + mark +
-                    "] is no longer valid - passed the read limit [" +
-                    readlimit + "]");
-        }
-        position = mark;
-        eof = false;
-    }
-
-    /**
-     * Skip a specified number of bytes.
-     *
-     * @param numberOfBytes The number of bytes to skip.
-     * @return The number of bytes skipped or <code>-1</code>
-     * if the end of file has been reached and
-     * <code>throwEofException</code> is set to <code>false</code>.
-     * @throws EOFException if the end of file is reached and
-     * <code>throwEofException</code> is set to <code>true</code>.
-     * @throws IOException if trying to read past the end of file.
-     */
-    @Override
-    public long skip(long numberOfBytes) throws IOException {
-        if (eof) {
-            throw new IOException("Skip after end of file");
-        }
-        if (position == size) {
-            return doEndOfFile();
-        }
-        position += numberOfBytes;
-        long returnLength = numberOfBytes;
-        if (position > size) {
-            returnLength = numberOfBytes - (position - size);
-            position = size;
-        }
-        return returnLength;
-    }
-
-    /**
-     * Return a byte value for the  <code>read()</code> method.
-     * <p>
-     * This implementation returns zero.
-     *
-     * @return This implementation always returns zero.
-     */
-    protected int processByte() {
-        // do nothing - overridable by subclass
-        return 0;
-    }
-
-    /**
-     * Process the bytes for the <code>read(byte[], offset, length)</code>
-     * method.
-     * <p>
-     * This implementation leaves the byte array unchanged.
-     *
-     * @param bytes The byte array
-     * @param offset The offset to start at.
-     * @param length The number of bytes.
-     */
-    protected void processBytes(byte[] bytes, int offset, int length) {
-        // do nothing - overridable by subclass
-    }
-
-    /**
-     * Handle End of File.
-     *
-     * @return <code>-1</code> if <code>throwEofException</code> is
-     * set to <code>false</code>
-     * @throws EOFException if <code>throwEofException</code> is set
-     * to <code>true</code>.
-     */
-    private int doEndOfFile() throws EOFException {
-        eof = true;
-        if (throwEofException) {
-            throw new EOFException();
-        }
-        return -1;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/io/NullOutputStream.java b/trunk/tika-core/src/main/java/org/apache/tika/io/NullOutputStream.java
deleted file mode 100644
index 519bc95..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/io/NullOutputStream.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.io;
- 
-import java.io.IOException;
-import java.io.OutputStream;
-
-/**
- * This OutputStream writes all data to the famous <b>/dev/null</b>.
- * <p>
- * This output stream has no destination (file/socket etc.) and all
- * bytes written to it are ignored and lost.
- * 
- * @author Jeremias Maerki
- * @since Apache Tika 0.4, copied from Commons IO 1.4
- */
-public class NullOutputStream extends OutputStream {
-    
-    /**
-     * A singleton.
-     */
-    public static final NullOutputStream NULL_OUTPUT_STREAM = new NullOutputStream();
-
-    /**
-     * Does nothing - output to <code>/dev/null</code>.
-     * @param b The bytes to write
-     * @param off The start offset
-     * @param len The number of bytes to write
-     */
-    @Override
-    public void write(byte[] b, int off, int len) {
-        //to /dev/null
-    }
-
-    /**
-     * Does nothing - output to <code>/dev/null</code>.
-     * @param b The byte to write
-     */
-    @Override
-    public void write(int b) {
-        //to /dev/null
-    }
-
-    /**
-     * Does nothing - output to <code>/dev/null</code>.
-     * @param b The bytes to write
-     * @throws IOException never
-     */
-    @Override
-    public void write(byte[] b) throws IOException {
-        //to /dev/null
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/io/ProxyInputStream.java b/trunk/tika-core/src/main/java/org/apache/tika/io/ProxyInputStream.java
deleted file mode 100644
index ee7d25c..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/io/ProxyInputStream.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.io;
-
-import java.io.FilterInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * A Proxy stream which acts as expected, that is it passes the method
- * calls on to the proxied stream and doesn't change which methods are
- * being called.
- * <p>
- * It is an alternative base class to FilterInputStream
- * to increase reusability, because FilterInputStream changes the
- * methods being called, such as read(byte[]) to read(byte[], int, int).
- * <p>
- * See the protected methods for ways in which a subclass can easily decorate
- * a stream with custom pre-, post- or error processing functionality.
- *
- * @author Stephen Colebourne
- * @version $Id$
- */
-public abstract class ProxyInputStream extends FilterInputStream {
-
-    /**
-     * Constructs a new ProxyInputStream.
-     *
-     * @param proxy  the InputStream to delegate to
-     */
-    public ProxyInputStream(InputStream proxy) {
-        super(proxy);
-        // the proxy is stored in a protected superclass variable named 'in'
-    }
-
-    /**
-     * Invokes the delegate's <code>read()</code> method.
-     * @return the byte read or -1 if the end of stream
-     * @throws IOException if an I/O error occurs
-     */
-    @Override
-    public int read() throws IOException {
-        try {
-            beforeRead(1);
-            int b = in.read();
-            afterRead(b != -1 ? 1 : -1);
-            return b;
-        } catch (IOException e) {
-            handleIOException(e);
-            return -1;
-        }
-    }
-
-    /**
-     * Invokes the delegate's <code>read(byte[])</code> method.
-     * @param bts the buffer to read the bytes into
-     * @return the number of bytes read or -1 if the end of stream
-     * @throws IOException if an I/O error occurs
-     */
-    @Override
-    public int read(byte[] bts) throws IOException {
-        try {
-            beforeRead(bts.length);
-            int n = in.read(bts);
-            afterRead(n);
-            return n;
-        } catch (IOException e) {
-            handleIOException(e);
-            return -1;
-        }
-    }
-
-    /**
-     * Invokes the delegate's <code>read(byte[], int, int)</code> method.
-     * @param bts the buffer to read the bytes into
-     * @param off The start offset
-     * @param len The number of bytes to read
-     * @return the number of bytes read or -1 if the end of stream
-     * @throws IOException if an I/O error occurs
-     */
-    @Override
-    public int read(byte[] bts, int off, int len) throws IOException {
-        try {
-            beforeRead(len);
-            int n = in.read(bts, off, len);
-            afterRead(n);
-            return n;
-        } catch (IOException e) {
-            handleIOException(e);
-            return -1;
-        }
-    }
-
-    /**
-     * Invokes the delegate's <code>skip(long)</code> method.
-     * @param ln the number of bytes to skip
-     * @return the actual number of bytes skipped
-     * @throws IOException if an I/O error occurs
-     */
-    @Override
-    public long skip(long ln) throws IOException {
-        try {
-            return in.skip(ln);
-        } catch (IOException e) {
-            handleIOException(e);
-            return 0;
-        }
-    }
-
-    /**
-     * Invokes the delegate's <code>available()</code> method.
-     * @return the number of available bytes
-     * @throws IOException if an I/O error occurs
-     */
-    @Override
-    public int available() throws IOException {
-        try {
-            return super.available();
-        } catch (IOException e) {
-            handleIOException(e);
-            return 0;
-        }
-    }
-
-    /**
-     * Invokes the delegate's <code>close()</code> method.
-     * @throws IOException if an I/O error occurs
-     */
-    @Override
-    public void close() throws IOException {
-        try {
-            in.close();
-        } catch (IOException e) {
-            handleIOException(e);
-        }
-    }
-
-    /**
-     * Invokes the delegate's <code>mark(int)</code> method.
-     * @param readlimit read ahead limit
-     */
-    @Override
-    public synchronized void mark(int readlimit) {
-        in.mark(readlimit);
-    }
-
-    /**
-     * Invokes the delegate's <code>reset()</code> method.
-     * @throws IOException if an I/O error occurs
-     */
-    @Override
-    public synchronized void reset() throws IOException {
-        try {
-            in.reset();
-        } catch (IOException e) {
-            handleIOException(e);
-        }
-    }
-
-    /**
-     * Invokes the delegate's <code>markSupported()</code> method.
-     * @return true if mark is supported, otherwise false
-     */
-    @Override
-    public boolean markSupported() {
-        return in.markSupported();
-    }
-
-    /**
-     * Invoked by the read methods before the call is proxied. The number
-     * of bytes that the caller wanted to read (1 for the {@link #read()}
-     * method, buffer length for {@link #read(byte[])}, etc.) is given as
-     * an argument.
-     * <p>
-     * Subclasses can override this method to add common pre-processing
-     * functionality without having to override all the read methods.
-     * The default implementation does nothing.
-     * <p>
-     * Note this method is <em>not</em> called from {@link #skip(long)} or
-     * {@link #reset()}. You need to explicitly override those methods if
-     * you want to add pre-processing steps also to them.
-     *
-     * @since Commons IO 2.0
-     * @param n number of bytes that the caller asked to be read
-     * @throws IOException if the pre-processing fails
-     */
-    protected void beforeRead(int n) throws IOException {
-    }
-
-    /**
-     * Invoked by the read methods after the proxied call has returned
-     * successfully. The number of bytes returned to the caller (or -1 if
-     * the end of stream was reached) is given as an argument.
-     * <p>
-     * Subclasses can override this method to add common post-processing
-     * functionality without having to override all the read methods.
-     * The default implementation does nothing.
-     * <p>
-     * Note this method is <em>not</em> called from {@link #skip(long)} or
-     * {@link #reset()}. You need to explicitly override those methods if
-     * you want to add post-processing steps also to them.
-     *
-     * @since Commons IO 2.0
-     * @param n number of bytes read, or -1 if the end of stream was reached
-     * @throws IOException if the post-processing fails
-     */
-    protected void afterRead(int n) throws IOException {
-    }
-
-    /**
-     * Handle any IOExceptions thrown.
-     * <p>
-     * This method provides a point to implement custom exception
-     * handling. The default behaviour is to re-throw the exception.
-     * @param e The IOException thrown
-     * @throws IOException if an I/O error occurs
-     * @since Commons IO 2.0
-     */
-    protected void handleIOException(IOException e) throws IOException {
-        throw e;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/io/TaggedIOException.java b/trunk/tika-core/src/main/java/org/apache/tika/io/TaggedIOException.java
deleted file mode 100644
index 8b7b8ea..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/io/TaggedIOException.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.io;
-
-import java.io.IOException;
-
-/**
- * An {@link IOException} wrapper that tags the wrapped exception with
- * a given object reference. Both the tag and the wrapped original exception
- * can be used to determine further processing when this exception is caught.
- */
-public class TaggedIOException extends IOExceptionWithCause {
-
-    /**
-     * The object reference used to tag the exception.
-     */
-    private final Object tag;
-
-    /**
-     * Creates a tagged wrapper for the given exception.
-     *
-     * @param original the exception to be tagged
-     * @param tag tag object
-     */
-    public TaggedIOException(IOException original, Object tag) {
-        super(original.getMessage(), original);
-        this.tag = tag;
-    }
-
-    /**
-     * Returns the object reference used as the tag this exception.
-     *
-     * @return tag object
-     */
-    public Object getTag() {
-        return tag;
-    }
-
-    /**
-     * Returns the wrapped exception. The only difference to the overridden
-     * {@link Throwable#getCause()} method is the narrower return type.
-     *
-     * @return wrapped exception
-     */
-    @Override
-    public IOException getCause() {
-        return (IOException) super.getCause();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/io/TaggedInputStream.java b/trunk/tika-core/src/main/java/org/apache/tika/io/TaggedInputStream.java
deleted file mode 100644
index 0685511..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/io/TaggedInputStream.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.io;
-
- import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * An input stream decorator that tags potential exceptions so that the
- * stream that caused the exception can easily be identified. This is
- * done by using the {@link TaggedIOException} class to wrap all thrown
- * {@link IOException}s. See below for an example of using this class.
- * <pre>
- * TaggedInputStream stream = new TaggedInputStream(...);
- * try {
- *     // Processing that may throw an IOException either from this stream
- *     // or from some other IO activity like temporary files, etc.
- *     processStream(stream);
- * } catch (IOException e) {
- *     if (stream.isCauseOf(e)) {
- *         // The exception was caused by this stream.
- *         // Use e.getCause() to get the original exception.
- *     } else {
- *         // The exception was caused by something else.
- *     }
- * }
- * </pre>
- * <p>
- * Alternatively, the {@link #throwIfCauseOf(Exception)} method can be
- * used to let higher levels of code handle the exception caused by this
- * stream while other processing errors are being taken care of at this
- * lower level.
- * <pre>
- * TaggedInputStream stream = new TaggedInputStream(...);
- * try {
- *     processStream(stream);
- * } catch (IOException e) {
- *     stream.throwIfCauseOf(e);
- *     // ... or process the exception that was caused by something else
- * }
- * </pre>
- *
- * @see TaggedIOException
- */
-public class TaggedInputStream extends ProxyInputStream {
-
-    /**
-     * Creates a tagging decorator for the given input stream.
-     *
-     * @param proxy input stream to be decorated
-     */
-    public TaggedInputStream(InputStream proxy) {
-        super(proxy);
-    }
-
-    /**
-     * Tests if the given exception was caused by this stream.
-     *
-     * @param exception an exception
-     * @return <code>true</code> if the exception was thrown by this stream,
-     *         <code>false</code> otherwise
-     */
-    public boolean isCauseOf(IOException exception) {
-        if (exception instanceof TaggedIOException) {
-            TaggedIOException tagged = (TaggedIOException) exception;
-            return this == tagged.getTag();
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Re-throws the original exception thrown by this stream. This method
-     * first checks whether the given exception is a {@link TaggedIOException}
-     * wrapper created by this decorator, and then unwraps and throws the
-     * original wrapped exception. Returns normally if the exception was
-     * not thrown by this stream.
-     *
-     * @param exception an exception
-     * @throws IOException original exception, if any, thrown by this stream
-     */
-    public void throwIfCauseOf(Exception exception) throws IOException {
-        if (exception instanceof TaggedIOException) {
-            TaggedIOException tagged = (TaggedIOException) exception;
-            if (this == tagged.getTag()) {
-                throw tagged.getCause();
-            }
-        }
-    }
-
-    /**
-     * Tags any IOExceptions thrown, wrapping and re-throwing.
-     * 
-     * @param e The IOException thrown
-     * @throws IOException if an I/O error occurs
-     */
-    @Override
-    protected void handleIOException(IOException e) throws IOException {
-        throw new TaggedIOException(e, this);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/io/TemporaryFiles.java b/trunk/tika-core/src/main/java/org/apache/tika/io/TemporaryFiles.java
deleted file mode 100755
index 853ec53..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/io/TemporaryFiles.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.io;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-public class TemporaryFiles {
-
-    private final List<File> files = new ArrayList<File>();
-
-    public File createTemporaryFile() throws IOException {
-        File file = File.createTempFile("apache-tika-", ".tmp");
-        files.add(file);
-        return file;
-    }
-
-    public void dispose() {
-        for (File file : files) {
-            file.delete();
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/io/TikaInputStream.java b/trunk/tika-core/src/main/java/org/apache/tika/io/TikaInputStream.java
deleted file mode 100644
index 3f3da37..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/io/TikaInputStream.java
+++ /dev/null
@@ -1,628 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.io;
-
-import java.io.BufferedInputStream;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.sql.Blob;
-import java.sql.SQLException;
-
-import org.apache.tika.metadata.Metadata;
-
-/**
- * Input stream with extended capabilities. The purpose of this class is
- * to allow files and other resources and information to be associated with
- * the {@link InputStream} instance passed through the
- * {@link org.apache.tika.parser.Parser} interface and other similar APIs.
- * <p>
- * TikaInputStream instances can be created using the various static
- * <code>get()</code> factory methods. Most of these methods take an optional
- * {@link Metadata} argument that is then filled with the available input
- * metadata from the given resource. The created TikaInputStream instance
- * keeps track of the original resource used to create it, while behaving
- * otherwise just like a normal, buffered {@link InputStream}.
- * A TikaInputStream instance is also guaranteed to support the
- * {@link #mark(int)} feature.
- * <p>
- * Code that wants to access the underlying file or other resources
- * associated with a TikaInputStream should first use the
- * {@link #get(InputStream)} factory method to cast or wrap a given
- * {@link InputStream} into a TikaInputStream instance.
- *
- * @since Apache Tika 0.8
- */
-public class TikaInputStream extends ProxyInputStream {
-
-    /**
-     * Checks whether the given stream is a TikaInputStream instance.
-     * The given stream can be <code>null</code>, in which case the return
-     * value is <code>false</code>.
-     * 
-     * @param stream input stream, possibly <code>null</code>
-     * @return <code>true</code> if the stream is a TikaInputStream instance,
-     *         <code>false</code> otherwise
-     */
-    public static boolean isTikaInputStream(InputStream stream) {
-        return stream instanceof TikaInputStream;
-    }
-
-    /**
-     * Casts or wraps the given stream to a TikaInputStream instance.
-     * This method can be used to access the functionality of this class
-     * even when given just a normal input stream instance.
-     * <p>
-     * The given temporary file provider is used for any temporary files,
-     * and should be disposed when the returned stream is no longer used.
-     * <p>
-     * Use this method instead of the {@link #get(InputStream)} alternative
-     * when you <em>don't</em> explicitly close the returned stream. The
-     * recommended access pattern is:
-     * <pre>
-     * TemporaryFiles tmp = new TemporaryFiles();
-     * try {
-     *     TikaInputStream stream = TikaInputStream.get(..., tmp);
-     *     // process stream but don't close it
-     * } finally {
-     *     tmp.dispose();
-     * }
-     * </pre>
-     *
-     * @param stream normal input stream
-     * @return a TikaInputStream instance
-     */
-    public static TikaInputStream get(InputStream stream, TemporaryFiles tmp) {
-        if (stream instanceof TikaInputStream) {
-            return (TikaInputStream) stream;
-        } else {
-            return new TikaInputStream(stream, tmp, -1);
-        }
-    }
-
-    /**
-     * Casts or wraps the given stream to a TikaInputStream instance.
-     * This method can be used to access the functionality of this class
-     * even when given just a normal input stream instance.
-     * <p>
-     * Use this method instead of the {@link #get(InputStream, TemporaryFiles)}
-     * alternative when you <em>do</em> explicitly close the returned stream.
-     * The recommended access pattern is:
-     * <pre>
-     * TikaInputStream stream = TikaInputStream.get(...);
-     * try {
-     *     // process stream
-     * } finally {
-     *     stream.close();
-     * }
-     * </pre>
-     *
-     * @param stream normal input stream
-     * @return a TikaInputStream instance
-     */
-    public static TikaInputStream get(InputStream stream) {
-        return get(stream, new TemporaryFiles());
-    }
-
-    /**
-     * Creates a TikaInputStream from the given array of bytes.
-     * <p>
-     * Note that you must always explicitly close the returned stream as in
-     * some cases it may end up writing the given data to a temporary file.
-     *
-     * @param data input data
-     * @return a TikaInputStream instance
-     */
-    public static TikaInputStream get(byte[] data) {
-        return get(data, new Metadata());
-    }
-
-    /**
-     * Creates a TikaInputStream from the given array of bytes. The length of
-     * the array is stored as input metadata in the given metadata instance.
-     * <p>
-     * Note that you must always explicitly close the returned stream as in
-     * some cases it may end up writing the given data to a temporary file.
-     *
-     * @param data input data
-     * @param metadata metadata instance
-     * @return a TikaInputStream instance
-     * @throws IOException
-     */
-    public static TikaInputStream get(byte[] data, Metadata metadata) {
-        metadata.set(Metadata.CONTENT_LENGTH, Integer.toString(data.length));
-        return new TikaInputStream(
-                new ByteArrayInputStream(data), new TemporaryFiles(), data.length);
-    }
-
-    /**
-     * Creates a TikaInputStream from the given file.
-     * <p>
-     * Note that you must always explicitly close the returned stream to
-     * prevent leaking open file handles.
-     *
-     * @param file input file
-     * @return a TikaInputStream instance
-     * @throws FileNotFoundException if the file does not exist
-     */
-    public static TikaInputStream get(File file) throws FileNotFoundException {
-        return get(file, new Metadata());
-    }
-
-    /**
-     * Creates a TikaInputStream from the given file. The file name and
-     * length are stored as input metadata in the given metadata instance.
-     * <p>
-     * Note that you must always explicitly close the returned stream to
-     * prevent leaking open file handles.
-     *
-     * @param file input file
-     * @param metadata metadata instance
-     * @return a TikaInputStream instance
-     * @throws FileNotFoundException if the file does not exist
-     */
-    public static TikaInputStream get(File file, Metadata metadata)
-            throws FileNotFoundException {
-        metadata.set(Metadata.RESOURCE_NAME_KEY, file.getName());
-        metadata.set(Metadata.CONTENT_LENGTH, Long.toString(file.length()));
-        return new TikaInputStream(file);
-    }
-
-    /**
-     * Creates a TikaInputStream from the given database BLOB.
-     * <p>
-     * Note that the result set containing the BLOB may need to be kept open
-     * until the returned TikaInputStream has been processed and closed.
-     * You must also always explicitly close the returned stream as in
-     * some cases it may end up writing the blob data to a temporary file.
-     *
-     * @param blob database BLOB
-     * @return a TikaInputStream instance
-     * @throws SQLException if BLOB data can not be accessed
-     */
-    public static TikaInputStream get(Blob blob) throws SQLException {
-        return get(blob, new Metadata());
-    }
-
-    /**
-     * Blob size threshold that limits the largest BLOB size to be
-     * buffered fully in memory by the {@link #get(Blob, Metadata)}
-     * method.
-     */
-    private static final int BLOB_SIZE_THRESHOLD = 1024 * 1024;
-
-    /**
-     * Creates a TikaInputStream from the given database BLOB. The BLOB
-     * length (if available) is stored as input metadata in the given
-     * metadata instance.
-     * <p>
-     * Note that the result set containing the BLOB may need to be kept open
-     * until the returned TikaInputStream has been processed and closed.
-     * You must also always explicitly close the returned stream as in
-     * some cases it may end up writing the blob data to a temporary file.
-     *
-     * @param blob database BLOB
-     * @param metadata metadata instance
-     * @return a TikaInputStream instance
-     * @throws SQLException if BLOB data can not be accessed
-     */
-    public static TikaInputStream get(Blob blob, Metadata metadata)
-            throws SQLException {
-        long length = -1;
-        try {
-            length = blob.length();
-            metadata.set(Metadata.CONTENT_LENGTH, Long.toString(length));
-        } catch (SQLException ignore) {
-        }
-
-        // Prefer an in-memory buffer for reasonably sized blobs to reduce
-        // the likelihood of problems caused by long-lived database accesses
-        if (0 <= length && length <= BLOB_SIZE_THRESHOLD) {
-            // the offset in Blob.getBytes() starts at 1
-            return get(blob.getBytes(1, (int) length), metadata);
-        } else {
-            return new TikaInputStream(
-                    new BufferedInputStream(blob.getBinaryStream()),
-                    null, length);
-        }
-    }
-
-    /**
-     * Creates a TikaInputStream from the resource at the given URI.
-     * <p>
-     * Note that you must always explicitly close the returned stream as in
-     * some cases it may end up writing the resource to a temporary file.
-     *
-     * @param uri resource URI
-     * @return a TikaInputStream instance
-     * @throws IOException if the resource can not be accessed
-     */
-    public static TikaInputStream get(URI uri) throws IOException {
-        return get(uri, new Metadata());
-    }
-
-    /**
-     * Creates a TikaInputStream from the resource at the given URI. The
-     * available input metadata is stored in the given metadata instance.
-     * <p>
-     * Note that you must always explicitly close the returned stream as in
-     * some cases it may end up writing the resource to a temporary file.
-     *
-     * @param uri resource URI
-     * @param metadata metadata instance
-     * @return a TikaInputStream instance
-     * @throws IOException if the resource can not be accessed
-     */
-    public static TikaInputStream get(URI uri, Metadata metadata)
-            throws IOException {
-        // Special handling for file:// URIs
-        if ("file".equalsIgnoreCase(uri.getScheme())) {
-            File file = new File(uri);
-            if (file.isFile()) {
-                return get(file, metadata);
-            }
-        }
-
-        return get(uri.toURL(), metadata);
-    }
-
-    /**
-     * Creates a TikaInputStream from the resource at the given URL.
-     * <p>
-     * Note that you must always explicitly close the returned stream as in
-     * some cases it may end up writing the resource to a temporary file.
-     *
-     * @param url resource URL
-     * @return a TikaInputStream instance
-     * @throws IOException if the resource can not be accessed
-     */
-    public static TikaInputStream get(URL url) throws IOException {
-        return get(url, new Metadata());
-    }
-
-    /**
-     * Creates a TikaInputStream from the resource at the given URL. The
-     * available input metadata is stored in the given metadata instance.
-     * <p>
-     * Note that you must always explicitly close the returned stream as in
-     * some cases it may end up writing the resource to a temporary file.
-     *
-     * @param url resource URL
-     * @param metadata metadata instance
-     * @return a TikaInputStream instance
-     * @throws IOException if the resource can not be accessed
-     */
-    public static TikaInputStream get(URL url, Metadata metadata)
-            throws IOException {
-        // Special handling for file:// URLs
-        if ("file".equalsIgnoreCase(url.getProtocol())) {
-            try {
-                File file = new File(url.toURI());
-                if (file.isFile()) {
-                    return get(file, metadata);
-                }
-            } catch (URISyntaxException e) {
-                // fall through
-            }
-        }
-
-        URLConnection connection = url.openConnection();
-
-        String path = url.getPath();
-        int slash = path.lastIndexOf('/');
-        if (slash + 1 < path.length()) { // works even with -1!
-            metadata.set(Metadata.RESOURCE_NAME_KEY, path.substring(slash + 1));
-        }
-
-        String type = connection.getContentType();
-        if (type != null) {
-            metadata.set(Metadata.CONTENT_TYPE, type);
-        }
-
-        String encoding = connection.getContentEncoding();
-        if (encoding != null) {
-            metadata.set(Metadata.CONTENT_ENCODING, encoding);
-        }
-
-        int length = connection.getContentLength();
-        if (length >= 0) {
-            metadata.set(Metadata.CONTENT_LENGTH, Integer.toString(length));
-        }
-
-        return new TikaInputStream(
-                new BufferedInputStream(connection.getInputStream()),
-                new TemporaryFiles(), length);
-    }
-
-    /**
-     * Makes sure that a stream is buffered and correctly supports the
-     * mark feature by wrapping the given stream to a
-     * {@link BufferedInputStream} if needed.
-     *
-     * @param stream original stream
-     * @return buffered stream that supports the mark feature
-     */
-    private static InputStream withBufferingAndMarkSupport(InputStream stream) {
-        if (stream instanceof ByteArrayInputStream) {
-            return stream;
-        } else if (stream instanceof BufferedInputStream) {
-            return stream;
-        } else {
-            return new BufferedInputStream(stream);
-        }
-    }
-
-    /**
-     * The file that contains the contents of this stream. This is either
-     * the original file passed to the {@link #TikaInputStream(File)}
-     * constructor or a temporary file created by a call to the
-     * {@link #getFile()} method. If neither has been called, then
-     * the value is <code>null</code>.
-     */
-    private File file;
-
-    /**
-     * Temporary file provider.
-     */
-    private final TemporaryFiles tmp;
-
-    /**
-     * Total length of the stream, or -1 if unknown.
-     */
-    private long length;
-
-    /**
-     * Current read position within this stream.
-     */
-    private long position = 0;
-
-    /**
-     * Marked position, or -1 if there is no current mark.
-     */
-    private long mark = -1;
-    
-    /**
-     * A opened container, such as a POIFS FileSystem
-     *  for an OLE2 document, or a Zip file for a
-     *  zip based (eg ooxml, odf) document.
-     */
-    private Object openContainer;
-
-    /**
-     * Creates a TikaInputStream instance. This private constructor is used
-     * by the static factory methods based on the available information.
-     *
-     * @param file the file that contains the stream
-     * @throws FileNotFoundException if the file does not exist
-     */
-    private TikaInputStream(File file) throws FileNotFoundException {
-        super(new BufferedInputStream(new FileInputStream(file)));
-        this.file = file;
-        this.tmp = new TemporaryFiles();
-        this.length = file.length();
-    }
-
-    /**
-     * Creates a TikaInputStream instance. This private constructor is used
-     * by the static factory methods based on the available information.
-     *
-     * @param stream <em>buffered</em> stream (must support the mark feature)
-     * @param length total length of the stream, or -1 if unknown
-     */
-    private TikaInputStream(
-            InputStream stream, TemporaryFiles tmp, long length) {
-        super(withBufferingAndMarkSupport(stream));
-        this.file = null;
-        this.tmp = tmp;
-        this.length = length;
-    }
-
-    /**
-     * Fills the given buffer with upcoming bytes from this stream without
-     * advancing the current stream position. The buffer is filled up unless
-     * the end of stream is encountered before that. This method will block
-     * if not enough bytes are immediately available.
-     *
-     * @param buffer byte buffer
-     * @return number of bytes written to the buffer
-     * @throws IOException if the stream can not be read
-     */
-    public int peek(byte[] buffer) throws IOException {
-        int n = 0;
-
-        mark(buffer.length);
-
-        int m = read(buffer);
-        while (m != -1) {
-            n += m;
-            if (n < buffer.length) {
-                m = read(buffer, n, buffer.length - n);
-            } else {
-                m = -1;
-            }
-        }
-
-        reset();
-
-        return n;
-    }
-    
-    /**
-     * Returns the open container object, such as a
-     *  POIFS FileSystem in the event of an OLE2
-     *  document being detected and processed by
-     *  the OLE2 detector. 
-     */
-    public Object getOpenContainer() {
-        return openContainer;
-    }
-    
-    /**
-     * Stores the open container object against
-     *  the stream, eg after a Zip contents 
-     *  detector has loaded the file to decide
-     *  what it contains.
-     */
-    public void setOpenContainer(Object container) {
-        openContainer = container;
-    }
-
-    public boolean hasFile() {
-        return file != null;
-    }
-
-    public File getFile() throws IOException {
-        if (file == null) {
-            if (in == null) {
-                throw new IOException("Stream has already been read");
-            } else if (position > 0) {
-                throw new IOException("Stream is already being read");
-            } else {
-                file = tmp.createTemporaryFile();
-                OutputStream out = new FileOutputStream(file);
-                try {
-                    IOUtils.copy(in, out);
-                } finally {
-                    out.close();
-                }
-                in.close();
-                // Re-point the stream at the file now we have it
-                in = new BufferedInputStream(new FileInputStream(file));
-            }
-        }
-        return file;
-    }
-
-    public boolean hasLength() {
-        return length != -1;
-    }
-
-    /**
-     * Returns the length (in bytes) of this stream. Note that if the length
-     * was not available when this stream was instantiated, then this method
-     * will use the {@link #getFile()} method to buffer the entire stream to
-     * a temporary file in order to calculate the stream length. This case
-     * will only work if the stream has not yet been consumed.
-     *
-     * @return stream length
-     * @throws IOException if the length can not be determined
-     */
-    public long getLength() throws IOException {
-        if (length == -1) {
-            length = getFile().length();
-        }
-        return length;
-    }
-
-    @Override
-    public int available() throws IOException {
-        if (in == null) {
-            return 0;
-        } else {
-            return super.available();
-        }
-    }
-
-    @Override
-    public long skip(long ln) throws IOException {
-        if (in == null) {
-            return 0;
-        } else {
-            long n = super.skip(ln);
-            position += n;
-            return n;
-        }
-    }
-
-    @Override
-    public int read() throws IOException {
-        if (in == null) {
-            return -1;
-        } else {
-            return super.read();
-        }
-    }
-
-    @Override
-    public int read(byte[] bts, int off, int len) throws IOException {
-        if (in == null) {
-            return -1;
-        } else {
-            return super.read(bts, off, len);
-        }
-    }
-
-    @Override
-    public int read(byte[] bts) throws IOException {
-        return read(bts, 0, bts.length);
-    }
-
-    @Override
-    public void mark(int readlimit) {
-        super.mark(readlimit);
-        mark = position;
-    }
-
-    @Override
-    public boolean markSupported() {
-        return true;
-    }
-
-    @Override
-    public void reset() throws IOException {
-        super.reset();
-        position = mark;
-        mark = -1;
-    }
-
-    @Override
-    public void close() throws IOException {
-        if (in != null) {
-            in.close();
-            in = null;
-        }
-        openContainer = null;
-        file = null;
-        tmp.dispose();
-    }
-
-    @Override
-    protected void beforeRead(int n) throws IOException {
-        if (in == null) {
-            throw new IOException("End of the stream reached");
-        }
-    }
-
-    @Override
-    protected void afterRead(int n) throws IOException {
-        if (n != -1) {
-            position += n;
-        } else if (mark == -1) {
-            close();
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/language/LanguageIdentifier.java b/trunk/tika-core/src/main/java/org/apache/tika/language/LanguageIdentifier.java
deleted file mode 100644
index 8a072b9..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/language/LanguageIdentifier.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.language;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-/**
- * Identifier of the language that best matches a given content profile.
- * The content profile is compared to generic language profiles based on
- * material from various sources.
- *
- * @since Apache Tika 0.5
- * @see <a href="http://www.iccs.inf.ed.ac.uk/~pkoehn/publications/europarl/">
- *      Europarl: A Parallel Corpus for Statistical Machine Translation</a>
- * @see <a href="http://www.loc.gov/standards/iso639-2/php/code_list.php">
- *      ISO 639 Language Codes</a>
- */
-public class LanguageIdentifier {
-    
-    /**
-     * The available language profiles.
-     */
-    private static final Map<String, LanguageProfile> PROFILES =
-        new HashMap<String, LanguageProfile>();
-    private static final String PROFILE_SUFFIX = ".ngp";
-    private static final String PROFILE_ENCODING = "UTF-8";
-
-    private static Properties props = new Properties();
-    private static String errors = "";
-    
-    private static final String PROPERTIES_OVERRIDE_FILE = "tika.language.override.properties";
-    private static final String PROPERTIES_FILE = "tika.language.properties";
-    private static final String LANGUAGES_KEY = "languages";
-    private static final double CERTAINTY_LIMIT = 0.022;
-
-    private final String language;
-
-    private final double distance;
-
-    /*
-     * Always attempt initializing language profiles when class is loaded first time
-     */
-    static {
-        initProfiles();
-    }
-    
-    /*
-     * Add one language profile based on config in property file
-     */
-    private static void addProfile(String language) throws Exception {
-        try {
-            LanguageProfile profile = new LanguageProfile();
-
-            InputStream stream =
-                LanguageIdentifier.class.getResourceAsStream(language + PROFILE_SUFFIX);
-            try {
-                BufferedReader reader =
-                    new BufferedReader(new InputStreamReader(stream, PROFILE_ENCODING));
-                String line = reader.readLine();
-                while (line != null) {
-                    if (line.length() > 0 && !line.startsWith("#")) {
-                        int space = line.indexOf(' ');
-                        profile.add(
-                                line.substring(0, space),
-                                Long.parseLong(line.substring(space + 1)));
-                    }
-                    line = reader.readLine();
-                }
-            } finally {
-                stream.close();
-            }
-
-            addProfile(language, profile);
-        } catch (Throwable t) {
-            throw new Exception("Failed trying to load language profile for language \""+language+"\". Error: "+t.getMessage());
-        }
-    }
-    
-    /**
-     * Adds a single language profile
-     * @param language an ISO 639 code representing language
-     * @param profile the language profile
-     */
-    public static void addProfile(String language, LanguageProfile profile) {
-        PROFILES.put(language, profile);
-    }
-    
-    /**
-     * Constructs a language identifier based on a LanguageProfile
-     * @param profile the language profile
-     */
-    public LanguageIdentifier(LanguageProfile profile) {
-        String minLanguage = "unknown";
-        double minDistance = 1.0;
-        for (Map.Entry<String, LanguageProfile> entry : PROFILES.entrySet()) {
-            double distance = profile.distance(entry.getValue());
-            if (distance < minDistance) {
-                minDistance = distance;
-                minLanguage = entry.getKey();
-            }
-        }
-
-        this.language = minLanguage;
-        this.distance = minDistance;
-    }
-
-    /**
-     * Constructs a language identifier based on a String of text content
-     * @param content the text
-     */
-    public LanguageIdentifier(String content) {
-        this(new LanguageProfile(content));
-    }
-
-    /**
-     * Gets the identified language
-     * @return an ISO 639 code representing the detected language
-     */
-    public String getLanguage() {
-        return language;
-    }
-
-    /**
-     * Tries to judge whether the identification is certain enough
-     * to be trusted.
-     * WARNING: Will never return true for small amount of input texts. 
-     * @return <code>true</code> if the distance is smaller then {@value #CERTAINTY_LIMIT}, <code>false</code> otherwise
-     */
-    public boolean isReasonablyCertain() {
-        return distance < CERTAINTY_LIMIT;
-    }
-
-    /**
-     * Builds the language profiles.
-     * The list of languages are fetched from a property file named "tika.language.properties"
-     * If a file called "tika.language.override.properties" is found on classpath, this is used instead
-     * The property file contains a key "languages" with values being comma-separated language codes
-     */
-    public static void initProfiles() {
-        clearProfiles();
-        
-        errors = "";
-        InputStream stream;
-        stream = LanguageIdentifier.class.getResourceAsStream(PROPERTIES_OVERRIDE_FILE);
-        if(stream == null) {
-            stream = LanguageIdentifier.class.getResourceAsStream(PROPERTIES_FILE);
-        }
-
-        if(stream != null){
-            try {
-                props = new Properties();
-                props.load(stream);
-            } catch (IOException e) {
-                errors += "IOException while trying to load property file. Message: " + e.getMessage() + "\n";
-            }
-        }
-        
-        String[] languages = props.getProperty(LANGUAGES_KEY).split(",");
-        for(String language : languages) {
-            language = language.trim();
-            String name = props.getProperty("name."+language, "Unknown");
-            try {
-                addProfile(language);
-            } catch (Exception e) {
-                errors += "Language " + language + " (" + name + ") not initialized. Message: " + e.getMessage() + "\n";
-            }
-        }
-    }
-
-    /**
-     * Initializes the language profiles from a user supplied initialized Map.
-     * This overrides the default set of profiles initialized at startup,
-     * and provides an alternative to configuring profiles through property file
-     *
-     * @param profilesMap map of language profiles
-     */
-    public static void initProfiles(Map<String, LanguageProfile> profilesMap) {
-        clearProfiles();
-        for(Map.Entry<String, LanguageProfile> entry : profilesMap.entrySet()) {
-            addProfile(entry.getKey(), entry.getValue());
-        }
-    }
-    
-    /**
-     * Clears the current map of language profiles
-     */
-    public static void clearProfiles() {
-        PROFILES.clear();
-    }
-    
-    /**
-     * Tests whether there were errors initializing language config
-     * @return true if there are errors. Use getErrors() to retrieve.
-     */
-    public static boolean hasErrors() {
-        return errors != "";
-    }
-    
-    /**
-     * Returns a string of error messages related to initializing langauge profiles
-     * @return the String containing the error messages
-     */
-    public static String getErrors() {
-        return errors;
-    }
-    
-    /**
-     * Returns what languages are supported for language identification
-     * @return A set of Strings being the ISO 639 language codes
-     */
-    public static Set<String> getSupportedLanguages() {
-        return PROFILES.keySet();
-    }
-
-    @Override
-    public String toString() {
-        return language + " (" + distance + ")";
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/language/LanguageProfile.java b/trunk/tika-core/src/main/java/org/apache/tika/language/LanguageProfile.java
deleted file mode 100644
index 4454143..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/language/LanguageProfile.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.language;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Language profile based on ngram counts.
- *
- * @since Apache Tika 0.5
- */
-public class LanguageProfile {
-
-    public static final int DEFAULT_NGRAM_LENGTH = 3;
-
-    private final int length;
-
-    /**
-     * The ngrams that make up this profile.
-     */
-    private final Map<String, Counter> ngrams =
-        new HashMap<String, Counter>();
-
-    /**
-     * The sum of all ngram counts in this profile.
-     * Used to calculate relative ngram frequency.
-     */
-    private long count = 0;
-
-    private class Counter {
-        private long count = 0;
-        public String toString() {
-            return Long.toString(count);
-        }
-    }
-
-    public LanguageProfile(int length) {
-        this.length = length;
-    }
-
-    public LanguageProfile() {
-        this(DEFAULT_NGRAM_LENGTH);
-    }
-
-    public LanguageProfile(String content, int length) {
-        this(length);
-
-        ProfilingWriter writer = new ProfilingWriter(this);
-        char[] ch = content.toCharArray();
-        writer.write(ch, 0, ch.length);
-    }
-
-    public LanguageProfile(String content) {
-        this(content, DEFAULT_NGRAM_LENGTH);
-    }
-
-    public long getCount() {
-        return count;
-    }
-
-    public long getCount(String ngram) {
-        Counter counter = ngrams.get(ngram);
-        if (counter != null) {
-            return counter.count;
-        } else {
-            return 0;
-        }
-    }
-
-    /**
-     * Adds a single occurrence of the given ngram to this profile.
-     *
-     * @param ngram the ngram
-     */
-    public void add(String ngram) {
-        add(ngram, 1);
-    }
-
-    /**
-     * Adds multiple occurrences of the given ngram to this profile.
-     *
-     * @param ngram the ngram
-     * @param count number of occurrences to add
-     */
-    public void add(String ngram, long count) {
-        if (length != ngram.length()) {
-            throw new IllegalArgumentException(
-                    "Unable to add an ngram of incorrect length: "
-                    + ngram.length() + " != " + length);
-        }
-
-        Counter counter = ngrams.get(ngram);
-        if (counter == null) {
-            counter = new Counter();
-            ngrams.put(ngram, counter);
-        }
-        counter.count += count;
-        this.count += count;
-    }
-
-    /**
-     * Calculates the geometric distance between this and the given
-     * other language profile.
-     *
-     * @param that the other language profile
-     * @return distance between the profiles
-     */
-    public double distance(LanguageProfile that) {
-        if (length != that.length) {
-            throw new IllegalArgumentException(
-                    "Unable to calculage distance of language profiles"
-                    + " with different ngram lengths: "
-                    + that.length + " != " + length);
-        }
-
-        double sumOfSquares = 0.0;
-        double thisCount = Math.max(this.count, 1.0);
-        double thatCount = Math.max(that.count, 1.0);
-
-        Set<String> ngrams = new HashSet<String>();
-        ngrams.addAll(this.ngrams.keySet());
-        ngrams.addAll(that.ngrams.keySet());
-        for (String ngram : ngrams) {
-            double thisFrequency = this.getCount(ngram) / thisCount;
-            double thatFrequency = that.getCount(ngram) / thatCount;
-            double difference = thisFrequency - thatFrequency;
-            sumOfSquares += difference * difference;
-        }
-
-        return Math.sqrt(sumOfSquares);
-    }
-
-    @Override
-    public String toString() {
-        return ngrams.toString();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/language/ProfilingHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/language/ProfilingHandler.java
deleted file mode 100644
index 5c5b9d2..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/language/ProfilingHandler.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.language;
-
-import org.apache.tika.sax.WriteOutContentHandler;
-
-/**
- * SAX content handler that builds a language profile based on all the
- * received character content.
- *
- * @since Apache Tika 0.5
- */
-public class ProfilingHandler extends WriteOutContentHandler {
-
-    private final ProfilingWriter writer;
-
-    public ProfilingHandler(ProfilingWriter writer) {
-        super(writer);
-        this.writer = writer;
-    }
-
-    public ProfilingHandler(LanguageProfile profile) {
-        this(new ProfilingWriter(profile));
-    }
-
-    public ProfilingHandler() {
-        this(new ProfilingWriter());
-    }
-
-    /**
-     * Returns the language profile being built by this content handler.
-     * Note that the returned profile gets updated whenever new SAX events
-     * are received by this content handler. Use the {@link #getLanguage()}
-     * method to get the language that best matches the current state of
-     * the profile.
-     *
-     * @return language profile
-     */
-    public LanguageProfile getProfile() {
-        return writer.getProfile();
-    }
-
-    /**
-     * Returns the language that best matches the current state of the
-     * language profile.
-     *
-     * @return language that best matches the current profile
-     */
-    public LanguageIdentifier getLanguage() {
-        return writer.getLanguage();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/language/ProfilingWriter.java b/trunk/tika-core/src/main/java/org/apache/tika/language/ProfilingWriter.java
deleted file mode 100644
index 33ce707..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/language/ProfilingWriter.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.language;
-
-import java.io.IOException;
-import java.io.Writer;
-
-/**
- * Writer that builds a language profile based on all the written content.
- *
- * @since Apache Tika 0.5
- */
-public class ProfilingWriter extends Writer {
-
-    private final LanguageProfile profile;
-
-    private char[] buffer = new char[] { 0, 0, '_' };
-
-    private int n = 1;
-
-    public ProfilingWriter(LanguageProfile profile) {
-        this.profile = profile;
-    }
-
-    public ProfilingWriter() {
-        this(new LanguageProfile());
-    }
-
-    /**
-     * Returns the language profile being built by this writer. Note that
-     * the returned profile gets updated whenever new characters are written.
-     * Use the {@link #getLanguage()} method to get the language that best
-     * matches the current state of the profile.
-     *
-     * @return language profile
-     */
-    public LanguageProfile getProfile() {
-        return profile;
-    }
-
-    /**
-     * Returns the language that best matches the current state of the
-     * language profile.
-     *
-     * @return language that best matches the current profile
-     */
-    public LanguageIdentifier getLanguage() {
-        return new LanguageIdentifier(profile);
-    }
-
-    @Override
-    public void write(char[] cbuf, int off, int len) {
-        for (int i = 0; i < len; i++) {
-            char c = Character.toLowerCase(cbuf[off + i]);
-            if (Character.isLetter(c)) {
-                addLetter(c);
-            } else {
-                addSeparator();
-            }
-        }
-    }
-
-    private void addLetter(char c) {
-        System.arraycopy(buffer, 1, buffer, 0, buffer.length - 1);
-        buffer[buffer.length - 1] = c;
-        n++;
-        if (n >= buffer.length) {
-            profile.add(new String(buffer));
-        }
-    }
-
-    private void addSeparator() {
-        addLetter('_');
-        n = 1;
-    }
-
-    @Override
-    public void close() throws IOException {
-        addSeparator();
-    }
-
-    /**
-     * Ignored.
-     */
-    @Override
-    public void flush() {
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/ClimateForcast.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/ClimateForcast.java
deleted file mode 100644
index c89beef..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/ClimateForcast.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-/**
- * Met keys from NCAR CCSM files in the <a
- * href="http://cf-pcmdi.llnl.gov/">Climate Forecast Convention</a>.
- */
-public interface ClimateForcast {
-
-    public static final String PROGRAM_ID = "prg_ID";
-
-    public static final String COMMAND_LINE = "cmd_ln";
-
-    public static final String HISTORY = "history";
-
-    public static final String TABLE_ID = "table_id";
-
-    public static final String INSTITUTION = "institution";
-
-    public static final String SOURCE = "source";
-
-    public static final String CONTACT = "contact";
-
-    public static final String PROJECT_ID = "project_id";
-
-    public static final String CONVENTIONS = "Conventions";
-
-    public static final String REFERENCES = "references";
-
-    public static final String ACKNOWLEDGEMENT = "acknowledgement";
-
-    public static final String REALIZATION = "realization";
-
-    public static final String EXPERIMENT_ID = "experiment_id";
-
-    public static final String COMMENT = "comment";
-
-    public static final String MODEL_NAME_ENGLISH = "model_name_english";
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/CreativeCommons.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/CreativeCommons.java
deleted file mode 100644
index 47de4ec..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/CreativeCommons.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-/**
- * A collection of Creative Commons properties names.
- * 
- * @see <a href="http://www.creativecommons.org/">creativecommons.org</a>
- */
-public interface CreativeCommons {
-
-    String LICENSE_URL = "License-Url";
-
-    String LICENSE_LOCATION = "License-Location";
-
-    String WORK_TYPE = "Work-Type";
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/DublinCore.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/DublinCore.java
deleted file mode 100644
index 34d82a6..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/DublinCore.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-/**
- * A collection of Dublin Core metadata names.
- * 
- * @see <a href="http://dublincore.org">dublincore.org</a>
- */
-public interface DublinCore {
-
-    /**
-     * Typically, Format may include the media-type or dimensions of the
-     * resource. Format may be used to determine the software, hardware or
-     * other equipment needed to display or operate the resource. Examples
-     * of dimensions include size and duration. Recommended best practice is
-     * to select a value from a controlled vocabulary (for example, the list
-     * of Internet Media Types [MIME] defining computer media formats).
-     */
-    String FORMAT = "format";
-
-    /**
-     * Recommended best practice is to identify the resource by means of
-     * a string or number conforming to a formal identification system.
-     * Example formal identification systems include the Uniform Resource
-     * Identifier (URI) (including the Uniform Resource Locator (URL)),
-     * the Digital Object Identifier (DOI) and the International Standard
-     * Book Number (ISBN).
-     */
-    String IDENTIFIER = "identifier";
-
-    /**
-     * Date on which the resource was changed.
-     * TODO Make me a Date Property
-     */
-    String MODIFIED = "modified";
-
-    /**
-     * An entity responsible for making contributions to the content of the
-     * resource. Examples of a Contributor include a person, an organisation,
-     * or a service. Typically, the name of a Contributor should be used to
-     * indicate the entity.
-     */
-    String CONTRIBUTOR = "contributor";
-
-    /**
-     * The extent or scope of the content of the resource. Coverage will
-     * typically include spatial location (a place name or geographic
-     * coordinates), temporal period (a period label, date, or date range)
-     * or jurisdiction (such as a named administrative entity). Recommended
-     * best practice is to select a value from a controlled vocabulary (for
-     * example, the Thesaurus of Geographic Names [TGN]) and that, where
-     * appropriate, named places or time periods be used in preference to
-     * numeric identifiers such as sets of coordinates or date ranges.
-     */
-    String COVERAGE = "coverage";
-
-    /**
-     * An entity primarily responsible for making the content of the resource.
-     * Examples of a Creator include a person, an organisation, or a service.
-     * Typically, the name of a Creator should be used to indicate the entity.
-     */
-    String CREATOR = "creator";
-
-    /**
-     * A date associated with an event in the life cycle of the resource.
-     * Typically, Date will be associated with the creation or availability of
-     * the resource. Recommended best practice for encoding the date value is
-     * defined in a profile of ISO 8601 [W3CDTF] and follows the YYYY-MM-DD
-     * format.
-     */
-    Property DATE = Property.internalDate("date");
-
-    /**
-     * An account of the content of the resource. Description may include
-     * but is not limited to: an abstract, table of contents, reference to
-     * a graphical representation of content or a free-text account of
-     * the content.
-     */
-    String DESCRIPTION = "description";
-
-    /**
-     * A language of the intellectual content of the resource. Recommended
-     * best practice is to use RFC 3066 [RFC3066], which, in conjunction
-     * with ISO 639 [ISO639], defines two- and three-letter primary language
-     * tags with optional subtags. Examples include "en" or "eng" for English,
-     * "akk" for Akkadian, and "en-GB" for English used in the United Kingdom.
-     */
-    String LANGUAGE = "language";
-
-    /**
-     * An entity responsible for making the resource available. Examples of
-     * a Publisher include a person, an organisation, or a service. Typically,
-     * the name of a Publisher should be used to indicate the entity.
-     */
-    String PUBLISHER = "publisher";
-
-    /**
-     * A reference to a related resource. Recommended best practice is to
-     * reference the resource by means of a string or number conforming to
-     * a formal identification system.
-     */
-    String RELATION = "relation";
-
-    /**
-     * Information about rights held in and over the resource. Typically,
-     * a Rights element will contain a rights management statement for
-     * the resource, or reference a service providing such information.
-     * Rights information often encompasses Intellectual Property Rights
-     * (IPR), Copyright, and various Property Rights. If the Rights element
-     * is absent, no assumptions can be made about the status of these and
-     * other rights with respect to the resource.
-     */
-    String RIGHTS = "rights";
-
-    /**
-     * A reference to a resource from which the present resource is derived.
-     * The present resource may be derived from the Source resource in whole
-     * or in part. Recommended best practice is to reference the resource by
-     * means of a string or number conforming to a formal identification
-     * system.
-     */
-    String SOURCE = "source";
-
-    /**
-     * The topic of the content of the resource. Typically, a Subject will
-     * be expressed as keywords, key phrases or classification codes that
-     * describe a topic of the resource. Recommended best practice is to
-     * select a value from a controlled vocabulary or formal classification
-     * scheme.
-     */
-    String SUBJECT = "subject";
-
-    /**
-     * A name given to the resource. Typically, a Title will be a name by
-     * which the resource is formally known.
-     */
-    String TITLE = "title";
-
-    /**
-     * The nature or genre of the content of the resource. Type includes terms
-     * describing general categories, functions, genres, or aggregation levels
-     * for content. Recommended best practice is to select a value from a
-     * controlled vocabulary (for example, the DCMI Type Vocabulary
-     * [DCMITYPE]). To describe the physical or digital manifestation of
-     * the resource, use the Format element.
-     */
-    String TYPE = "type";
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/Geographic.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/Geographic.java
deleted file mode 100644
index 83f00d5..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/Geographic.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-/**
- * Geographic schema. This is a collection of 
- * {@link Property property definition} constants for geographic
- * information, as defined in the W3C Geo Vocabularies.
- *
- * @since Apache Tika 0.8
- * @see <a href="http://www.w3.org/2003/01/geo/"
- *        >W3C Basic Geo Vocabulary</a>
- */
-public interface Geographic {
-
-    /**
-     * The WGS84 Latitude of the Point
-     */
-    Property LATITUDE =
-        Property.internalReal("geo:lat");
-
-    /**
-     * The WGS84 Longitude of the Point
-     */
-    Property LONGITUDE =
-        Property.internalReal("geo:long");
-
-    /**
-     * The WGS84 Altitude of the Point
-     */
-    Property ALTITUDE =
-        Property.internalReal("geo:alt");
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/HttpHeaders.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/HttpHeaders.java
deleted file mode 100644
index 8aa15bd..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/HttpHeaders.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-/**
- * A collection of HTTP header names.
- * 
- * @see <a href="http://rfc-ref.org/RFC-TEXTS/2616/">Hypertext Transfer Protocol --
- *      HTTP/1.1 (RFC 2616)</a>
- */
-public interface HttpHeaders {
-
-    String CONTENT_ENCODING = "Content-Encoding";
-
-    String CONTENT_LANGUAGE = "Content-Language";
-
-    String CONTENT_LENGTH = "Content-Length";
-
-    String CONTENT_LOCATION = "Content-Location";
-
-    String CONTENT_DISPOSITION = "Content-Disposition";
-
-    String CONTENT_MD5 = "Content-MD5";
-
-    String CONTENT_TYPE = "Content-Type";
-
-    Property LAST_MODIFIED = 
-        Property.internalDate("Last-Modified");
-
-    String LOCATION = "Location";
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/MSOffice.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/MSOffice.java
deleted file mode 100644
index f5407c6..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/MSOffice.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-/**
- * A collection of Microsoft Office documents property names.
- */
-public interface MSOffice {
-
-    String KEYWORDS = "Keywords";
-
-    String COMMENTS = "Comments";
-
-    String LAST_AUTHOR = "Last-Author";
-
-    String APPLICATION_NAME = "Application-Name";
-
-    String CHARACTER_COUNT = "Character Count";
-
-    String LAST_PRINTED = "Last-Printed";
-
-    String LAST_SAVED = "Last-Save-Date";
-
-    String PAGE_COUNT = "Page-Count";
-
-    String REVISION_NUMBER = "Revision-Number";
-
-    String WORD_COUNT = "Word-Count";
-
-    String TEMPLATE = "Template";
-
-    String AUTHOR = "Author";
-
-    String TOTAL_TIME = "Total-Time";
-
-    String SLIDE_COUNT = "Slide-Count";
-
-    String PRESENTATION_FORMAT = "Presentation-Format";
-
-    String PARAGRAPH_COUNT = "Paragraph-Count";
-
-    String NOTES = "Notes";
-
-    String MANAGER = "Manager";
-
-    String LINE_COUNT = "Line-Count";
-
-    String CHARACTER_COUNT_WITH_SPACES = "Character-Count-With-Spaces";
-
-    String APPLICATION_VERSION = "Application-Version";
-
-    String VERSION = "Version";
-
-    String CONTENT_STATUS = "Content-Status";
-
-    String CATEGORY = "Category";
-
-    String COMPANY = "Company";
-
-    String SECURITY = "Security";
-
-    /** How long has been spent editing the document? */ 
-    String EDIT_TIME = "Edit-Time"; 
-
-    /** When was the document created? */
-    Property CREATION_DATE = 
-        Property.internalDate("Creation-Date");
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/Message.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/Message.java
deleted file mode 100644
index ffb9413..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/Message.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-/**
- * A collection of Message related property names.
- */
-public interface Message {
-    String MESSAGE_RECIPIENT_ADDRESS = "Message-Recipient-Address";
-    
-    String MESSAGE_FROM = "Message-From";
-    
-    String MESSAGE_TO = "Message-To";
-    
-    String MESSAGE_CC = "Message-Cc";
-    
-    String MESSAGE_BCC = "Message-Bcc";
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java
deleted file mode 100644
index f0b0d95..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java
+++ /dev/null
@@ -1,423 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-import java.io.Serializable;
-import java.text.DateFormat;
-import java.text.DateFormatSymbols;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Properties;
-import java.util.TimeZone;
-
-/**
- * A multi-valued metadata container.
- */
-public class Metadata implements CreativeCommons, DublinCore, Geographic, HttpHeaders,
-        Message, MSOffice, ClimateForcast, TIFF, TikaMetadataKeys, TikaMimeKeys,
-        Serializable {
-
-    /** Serial version UID */
-    private static final long serialVersionUID = 5623926545693153182L;
-
-    /**
-     * A map of all metadata attributes.
-     */
-    private Map<String, String[]> metadata = null;
-
-    /**
-     * The ISO-8601 format string we use for Dates.
-     * All dates are represented as UTC
-     */
-    private static final DateFormat iso8601Format =
-        createDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", "UTF");
-
-    /**
-     * Some parsers will have the date as a ISO-8601 string
-     *  already, and will set that into the Metadata object.
-     * So we can return Date objects for these, this is the
-     *  list (in preference order) of the various ISO-8601
-     *  variants that we try when processing a date based
-     *  property.
-     */
-    private static final DateFormat[] iso8601InputFormats = new DateFormat[] {
-        // yyyy-mm-ddThh...
-        iso8601Format,                                       // UTC/Zulu
-        createDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", null),    // With timezone
-        createDateFormat("yyyy-MM-dd'T'HH:mm:ss", null),     // Without timezone
-        // yyyy-mm-dd hh...
-        createDateFormat("yyyy-MM-dd' 'HH:mm:ss'Z'", "UTF"), // UTC/Zulu
-        createDateFormat("yyyy-MM-dd' 'HH:mm:ssZ", null),    // With timezone
-        createDateFormat("yyyy-MM-dd' 'HH:mm:ss", null),     // Without timezone
-    };
-
-    private static DateFormat createDateFormat(String format, String timezone) {
-        SimpleDateFormat sdf =
-            new SimpleDateFormat(format, new DateFormatSymbols(Locale.US));
-        if (timezone != null) {
-            sdf.setTimeZone(TimeZone.getTimeZone(timezone));
-        }
-        return sdf;
-    }
-
-    /**
-     * Parses the given date string. This method is synchronized to prevent
-     * concurrent access to the thread-unsafe date formats.
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-495">TIKA-495</a>
-     * @param date date string
-     * @return parsed date, or <code>null</code> if the date can't be parsed
-     */
-    private static synchronized Date parseDate(String date) {
-        // Java doesn't like timezones in the form ss+hh:mm
-        // It only likes the hhmm form, without the colon
-        int n = date.length();
-        if (date.charAt(n - 3) == ':'
-            && (date.charAt(n - 6) == '+' || date.charAt(n - 6) == '-')) {
-            date = date.substring(0, n - 3) + date.substring(n - 2);
-        }
-
-        // Try several different ISO-8601 variants
-        for (DateFormat format : iso8601InputFormats) {
-            try {
-                return format.parse(date);
-            } catch (ParseException ignore) {
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Returns a ISO 8601 representation of the given date. This method is
-     * synchronized to prevent concurrent access to the thread-unsafe date
-     * formats.
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-495">TIKA-495</a>
-     * @param date given date
-     * @return ISO 8601 date string
-     */
-    private static synchronized String formatDate(Date date) {
-        return iso8601Format.format(date);
-    }
-
-    /**
-     * Constructs a new, empty metadata.
-     */
-    public Metadata() {
-        metadata = new HashMap<String, String[]>();
-    }
-
-    /**
-     * Returns true if named value is multivalued.
-     * 
-     * @param name
-     *          name of metadata
-     * @return true is named value is multivalued, false if single value or null
-     */
-    public boolean isMultiValued(final String name) {
-        return metadata.get(name) != null && metadata.get(name).length > 1;
-    }
-
-    /**
-     * Returns an array of the names contained in the metadata.
-     * 
-     * @return Metadata names
-     */
-    public String[] names() {
-        return metadata.keySet().toArray(new String[metadata.keySet().size()]);
-    }
-
-    /**
-     * Get the value associated to a metadata name. If many values are assiociated
-     * to the specified name, then the first one is returned.
-     * 
-     * @param name
-     *          of the metadata.
-     * @return the value associated to the specified metadata name.
-     */
-    public String get(final String name) {
-        String[] values = metadata.get(name);
-        if (values == null) {
-            return null;
-        } else {
-            return values[0];
-        }
-    }
-
-    /**
-     * Returns the value (if any) of the identified metadata property.
-     *
-     * @since Apache Tika 0.7
-     * @param property property definition
-     * @return property value, or <code>null</code> if the property is not set
-     */
-    public String get(Property property) {
-        return get(property.getName());
-    }
-    
-    /**
-     * Returns the value of the identified Integer based metadata property.
-     * 
-     * @since Apache Tika 0.8
-     * @param property simple integer property definition
-     * @return property value as a Integer, or <code>null</code> if the property is not set, or not a valid Integer
-     */
-    public Integer getInt(Property property) {
-        if(property.getPropertyType() != Property.PropertyType.SIMPLE) {
-            return null;
-        }
-        if(property.getValueType() != Property.ValueType.INTEGER) {
-            return null;
-        }
-        
-        String v = get(property);
-        if(v == null) {
-            return null;
-        }
-        try {
-            return Integer.valueOf(v);
-        } catch(NumberFormatException e) {
-            return null;
-        }
-    }
-
-    /**
-     * Returns the value of the identified Date based metadata property.
-     * 
-     * @since Apache Tika 0.8
-     * @param property simple date property definition
-     * @return property value as a Date, or <code>null</code> if the property is not set, or not a valid Date
-     */
-    public Date getDate(Property property) {
-        if(property.getPropertyType() != Property.PropertyType.SIMPLE) {
-            return null;
-        }
-        if(property.getValueType() != Property.ValueType.DATE) {
-            return null;
-        }
-        
-        String v = get(property);
-        if (v != null) {
-            return parseDate(v);
-        } else {
-            return null;
-        }
-    }
-
-    /**
-     * Get the values associated to a metadata name.
-     * 
-     * @param name
-     *          of the metadata.
-     * @return the values associated to a metadata name.
-     */
-    public String[] getValues(final String name) {
-        return _getValues(name);
-    }
-
-    private String[] _getValues(final String name) {
-        String[] values = metadata.get(name);
-        if (values == null) {
-            values = new String[0];
-        }
-        return values;
-    }
-
-    /**
-     * Add a metadata name/value mapping. Add the specified value to the list of
-     * values associated to the specified metadata name.
-     * 
-     * @param name
-     *          the metadata name.
-     * @param value
-     *          the metadata value.
-     */
-    public void add(final String name, final String value) {
-        String[] values = metadata.get(name);
-        if (values == null) {
-            set(name, value);
-        } else {
-            String[] newValues = new String[values.length + 1];
-            System.arraycopy(values, 0, newValues, 0, values.length);
-            newValues[newValues.length - 1] = value;
-            metadata.put(name, newValues);
-        }
-    }
-
-    /**
-     * Copy All key-value pairs from properties.
-     * 
-     * @param properties
-     *          properties to copy from
-     */
-    @SuppressWarnings("unchecked")
-    public void setAll(Properties properties) {
-        Enumeration<String> names =
-            (Enumeration<String>) properties.propertyNames();
-        while (names.hasMoreElements()) {
-            String name = names.nextElement();
-            metadata.put(name, new String[] { properties.getProperty(name) });
-        }
-    }
-
-    /**
-     * Set metadata name/value. Associate the specified value to the specified
-     * metadata name. If some previous values were associated to this name, they
-     * are removed.
-     * 
-     * @param name
-     *          the metadata name.
-     * @param value
-     *          the metadata value.
-     */
-    public void set(String name, String value) {
-        metadata.put(name, new String[] { value });
-    }
-
-    /**
-     * Sets the value of the identified metadata property.
-     *
-     * @since Apache Tika 0.7
-     * @param property property definition
-     * @param value    property value
-     */
-    public void set(Property property, String value) {
-        set(property.getName(), value);
-    }
-
-    /**
-     * Sets the integer value of the identified metadata property.
-     *
-     * @since Apache Tika 0.8
-     * @param property simple integer property definition
-     * @param value    property value
-     */
-    public void set(Property property, int value) {
-        if(property.getPropertyType() != Property.PropertyType.SIMPLE) {
-            throw new PropertyTypeException(Property.PropertyType.SIMPLE, property.getPropertyType());
-        }
-        if(property.getValueType() != Property.ValueType.INTEGER) {
-            throw new PropertyTypeException(Property.ValueType.INTEGER, property.getValueType());
-        }
-        set(property.getName(), Integer.toString(value));
-    }
-
-    /**
-     * Sets the real or rational value of the identified metadata property.
-     *
-     * @since Apache Tika 0.8
-     * @param property simple real or simple rational property definition
-     * @param value    property value
-     */
-    public void set(Property property, double value) {
-        if(property.getPropertyType() != Property.PropertyType.SIMPLE) {
-            throw new PropertyTypeException(Property.PropertyType.SIMPLE, property.getPropertyType());
-        }
-        if(property.getValueType() != Property.ValueType.REAL &&
-              property.getValueType() != Property.ValueType.RATIONAL) {
-            throw new PropertyTypeException(Property.ValueType.REAL, property.getValueType());
-        }
-        set(property.getName(), Double.toString(value));
-    }
-
-    /**
-     * Sets the date value of the identified metadata property.
-     *
-     * @since Apache Tika 0.8
-     * @param property simple integer property definition
-     * @param date     property value
-     */
-    public void set(Property property, Date date) {
-        if(property.getPropertyType() != Property.PropertyType.SIMPLE) {
-            throw new PropertyTypeException(Property.PropertyType.SIMPLE, property.getPropertyType());
-        }
-        if(property.getValueType() != Property.ValueType.DATE) {
-            throw new PropertyTypeException(Property.ValueType.DATE, property.getValueType());
-        }
-        set(property.getName(), formatDate(date));
-    }
-
-    /**
-     * Remove a metadata and all its associated values.
-     * 
-     * @param name
-     *          metadata name to remove
-     */
-    public void remove(String name) {
-        metadata.remove(name);
-    }
-
-    /**
-     * Returns the number of metadata names in this metadata.
-     * 
-     * @return number of metadata names
-     */
-    public int size() {
-        return metadata.size();
-    }
-
-    public boolean equals(Object o) {
-
-        if (o == null) {
-            return false;
-        }
-
-        Metadata other = null;
-        try {
-            other = (Metadata) o;
-        } catch (ClassCastException cce) {
-            return false;
-        }
-
-        if (other.size() != size()) {
-            return false;
-        }
-
-        String[] names = names();
-        for (int i = 0; i < names.length; i++) {
-            String[] otherValues = other._getValues(names[i]);
-            String[] thisValues = _getValues(names[i]);
-            if (otherValues.length != thisValues.length) {
-                return false;
-            }
-            for (int j = 0; j < otherValues.length; j++) {
-                if (!otherValues[j].equals(thisValues[j])) {
-                    return false;
-                }
-            }
-        }
-        return true;
-    }
-
-    public String toString() {
-        StringBuffer buf = new StringBuffer();
-        String[] names = names();
-        for (int i = 0; i < names.length; i++) {
-            String[] values = _getValues(names[i]);
-            for (int j = 0; j < values.length; j++) {
-                buf.append(names[i]).append("=").append(values[j]).append(" ");
-            }
-        }
-        return buf.toString();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/MetadataHelper.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/MetadataHelper.java
deleted file mode 100644
index e866202..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/MetadataHelper.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import org.apache.tika.io.TikaInputStream;
-
-/**
- * Collection of static helper methods for handling metadata.
- *
- * @deprecated Use {@link TikaInputStream} instead
- * @since Apache Tika 0.7
- */
-public class MetadataHelper {
-
-    /**
-     * Private constructor to prevent instantiation.
-     */
-    private MetadataHelper() {
-    }
-
-    /**
-     * Returns the content at the given URL, and sets any related
-     * metadata entries.
-     *
-     * @param url the URL of the resource to be read
-     * @param metadata where the resource metadata is stored
-     * @return resource content
-     * @throws IOException if the URL can not be accessed
-     */
-    public static InputStream getInputStream(URL url, Metadata metadata)
-            throws IOException {
-        return TikaInputStream.get(url, metadata);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/PagedText.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/PagedText.java
deleted file mode 100644
index 32645f3..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/PagedText.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-/**
- * XMP Paged-text schema. This is a collection of
- * {@link Property property definition} constants for the paged text
- * properties defined in the XMP standard.
- *
- * @since Apache Tika 0.8
- * @see <a href="http://www.adobe.com/devnet/xmp/pdfs/XMPSpecificationPart2.pdf"
- *        >XMP Specification, Part 2: Standard Schemas</a>
- */
-public interface PagedText {
-
-    /**
-     * "The number of pages in the document (including any in contained
-     * documents)."
-     */
-    Property N_PAGES = Property.internalInteger("xmpTPg:NPages");
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/Property.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/Property.java
deleted file mode 100644
index 48fae65..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/Property.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * XMP property definition. Each instance of this class defines a single
- * metadata property like "dc:format". In addition to the property name,
- * the {@link ValueType value type} and category (internal or external)
- * of the property are included in the property definition. The available
- * choice values are also stored for open and closed choice value types.
- *
- * @since Apache Tika 0.7
- */
-public final class Property {
-
-    public static enum PropertyType {
-        SIMPLE, STRUCTURE, BAG, SEQ, ALT
-    }
-
-    public static enum ValueType {
-        BOOLEAN, OPEN_CHOICE, CLOSED_CHOICE, DATE, INTEGER, LOCALE,
-        MIME_TYPE, PROPER_NAME, RATIONAL, REAL, TEXT, URI, URL, XPATH
-    }
-
-    private final String name;
-
-    private final boolean internal;
-
-    private final PropertyType propertyType;
-
-    private final ValueType valueType;
-
-    /**
-     * The available choices for the open and closed choice value types.
-     */
-    private final Set<String> choices;
-
-    private Property(
-            String name, boolean internal, PropertyType propertyType,
-            ValueType valueType, String[] choices) {
-        this.name = name;
-        this.internal = internal;
-        this.propertyType = propertyType;
-        this.valueType = valueType;
-        if (choices != null) {
-            this.choices = Collections.unmodifiableSet(
-                    new HashSet<String>(Arrays.asList(choices.clone())));
-        } else {
-            this.choices = null;
-        }
-    }
-
-    private Property(
-            String name, boolean internal,
-            ValueType valueType, String[] choices) {
-        this(name, internal, PropertyType.SIMPLE, valueType, choices);
-    }
-
-    private Property(String name, boolean internal, ValueType valueType) {
-        this(name, internal, PropertyType.SIMPLE, valueType, null);
-    }
-
-    private Property(
-            String name, boolean internal,
-            PropertyType propertyType, ValueType valueType) {
-        this(name, internal, propertyType, valueType, null);
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public boolean isInternal() {
-        return internal;
-    }
-
-    public boolean isExternal() {
-        return !internal;
-    }
-
-    public PropertyType getPropertyType() {
-        return propertyType;
-    }
-
-    public ValueType getValueType() {
-        return valueType;
-    }
-
-    /**
-     * Returns the (immutable) set of choices for the values of this property.
-     * Only defined for {@link ValueType#OPEN_CHOICE open} and
-     * {@link ValueType#CLOSED_CHOICE closed choice} value types.
-     *
-     * @return available choices, or <code>null</code>
-     */
-    public Set<String> getChoices() {
-        return choices;
-    }
-
-    public static Property internalBoolean(String name) {
-        return new Property(name, true, ValueType.BOOLEAN);
-    }
-
-    public static Property internalClosedChoise(
-            String name, String... choices) {
-        return new Property(name, true, ValueType.CLOSED_CHOICE, choices);
-    }
-
-    public static Property internalDate(String name) {
-        return new Property(name, true, ValueType.DATE);
-    }
-
-    public static Property internalInteger(String name) {
-        return new Property(name, true, ValueType.INTEGER);
-    }
-
-    public static Property internalIntegerSequence(String name) {
-        return new Property(name, true, PropertyType.SEQ, ValueType.INTEGER);
-    }
-
-    public static Property internalRational(String name) {
-        return new Property(name, true, ValueType.RATIONAL);
-    }
-
-    public static Property internalOpenChoise(
-            String name, String... choices) {
-        return new Property(name, true, ValueType.OPEN_CHOICE, choices);
-    }
-    public static Property internalReal(String name) {
-        return new Property(name, true, ValueType.REAL);
-    }
-
-    public static Property internalText(String name) {
-        return new Property(name, true, ValueType.TEXT);
-    }
-
-    public static Property internalURI(String name) {
-        return new Property(name, true, ValueType.URI);
-    }
-
-    public static Property externalClosedChoise(
-            String name, String... choices) {
-        return new Property(name, false, ValueType.CLOSED_CHOICE, choices);
-    }
-
-    public static Property externalDate(String name) {
-        return new Property(name, false, ValueType.DATE);
-    }
-
-    public static Property externalInteger(String name) {
-        return new Property(name, false, ValueType.INTEGER);
-    }
-
-    public static Property externalText(String name) {
-        return new Property(name, false, ValueType.TEXT);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/PropertyTypeException.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/PropertyTypeException.java
deleted file mode 100644
index ca70a77..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/PropertyTypeException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-import org.apache.tika.metadata.Property.PropertyType;
-import org.apache.tika.metadata.Property.ValueType;
-
-
-/**
- * XMP property definition violation exception. This is thrown when
- * you try to set a {@link Property} value with an incorrect type,
- * such as storing an Integer when the property is of type Date.
- *
- * @since Apache Tika 0.8
- */
-public final class PropertyTypeException extends IllegalArgumentException {
-    public PropertyTypeException(PropertyType expected, PropertyType found) {
-        super("Expected a property of type " + expected + ", but received " + found);
-    }
-    public PropertyTypeException(ValueType expected, ValueType found) {
-        super("Expected a property with a " + expected + " value, but received a " + found);
-    }
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/TIFF.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/TIFF.java
deleted file mode 100644
index af81ef0..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/TIFF.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-/**
- * XMP Exif TIFF schema. This is a collection of
- * {@link Property property definition} constants for the Exif TIFF
- * properties defined in the XMP standard.
- *
- * @since Apache Tika 0.8
- * @see <a href="http://www.adobe.com/devnet/xmp/pdfs/XMPSpecificationPart2.pdf"
- *        >XMP Specification, Part 2: Standard Schemas</a>
- */
-public interface TIFF {
-
-    /**
-     * "Number of bits per component in each channel."
-     */
-    Property BITS_PER_SAMPLE =
-        Property.internalIntegerSequence("tiff:BitsPerSample");
-
-    /**
-     * "Image height in pixels."
-     */
-    Property IMAGE_LENGTH =
-        Property.internalInteger("tiff:ImageLength");
-
-    /**
-     * "Image width in pixels."
-     */
-    Property IMAGE_WIDTH =
-        Property.internalInteger("tiff:ImageWidth");
-
-    /**
-     * "Number of components per pixel."
-     */
-    Property SAMPLES_PER_PIXEL =
-        Property.internalInteger("tiff:SamplesPerPixel");
-
-    /**
-     * Did the Flash fire when taking this image?
-     */
-    Property FLASH_FIRED =
-       Property.internalBoolean("exif:Flash");
-    
-    /**
-     * "Exposure time in seconds."
-     */
-    Property EXPOSURE_TIME =
-       Property.internalRational("exif:ExposureTime");
-    
-    /**
-     * "F-Number."
-     * The f-number is the focal length divided by the "effective" aperture 
-     *  diameter. It is a dimensionless number that is a measure of lens speed. 
-     */
-    Property F_NUMBER =
-       Property.internalRational("exif:FNumber");
-    
-    /**
-     * "Focal length of the lens, in millimeters."
-     */
-    Property FOCAL_LENGTH =
-       Property.internalRational("exif:FocalLength");
-    
-    /**
-     * "ISO Speed and ISO Latitude of the input device as specified in ISO 12232"
-     */
-    Property ISO_SPEED_RATINGS =
-       Property.internalIntegerSequence("exif:IsoSpeedRatings");
-    
-    /**
-     * "Manufacturer of the recording equipment."
-     */
-    Property EQUIPMENT_MAKE =
-       Property.internalText("tiff:Make");
-    
-    /**
-     * "Model name or number of the recording equipment."
-     */
-    Property EQUIPMENT_MODEL =
-       Property.internalText("tiff:Model");
-    
-    /**
-     * "Software or firmware used to generate the image."
-     */
-    Property SOFTWARE =
-       Property.internalText("tiff:Software");
-
-    /**
-     * "The Orientation of the image."
-     *  1 = 0th row at top, 0th column at left
-     *  2 = 0th row at top, 0th column at right
-     *  3 = 0th row at bottom, 0th column at right
-     *  4 = 0th row at bottom, 0th column at left
-     *  5 = 0th row at left, 0th column at top
-     *  6 = 0th row at right, 0th column at top
-     *  7 = 0th row at right, 0th column at bottom
-     *  8 = 0th row at left, 0th column at bottom
-     */
-    Property ORIENTATION =
-       Property.internalClosedChoise("tiff:Orientation", "1", "2", "3", "4", "5", "6", "7", "8");
-    
-    /**
-     * "Horizontal resolution in pixels per unit."
-     */
-    Property RESOLUTION_HORIZONTAL =
-       Property.internalRational("tiff:XResolution");
-    
-    /**
-     * "Vertical resolution in pixels per unit."
-     */
-    Property RESOLUTION_VERTICAL =
-       Property.internalRational("tiff:YResolution");
-    
-    /**
-     * "Units used for Horizontal and Vertical Resolutions."
-     * One of "Inch" or "cm"
-     */
-    Property RESOLUTION_UNIT =
-       Property.internalClosedChoise("tiff:ResolutionUnit", "Inch", "cm"); 
-    
-    /**
-     * "Date and time when original image was generated"
-     */
-    Property ORIGINAL_DATE =
-       Property.internalDate("exif:DateTimeOriginal");
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/TikaMetadataKeys.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/TikaMetadataKeys.java
deleted file mode 100644
index 42f012e..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/TikaMetadataKeys.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-/**
- * Contains keys to properties in Metadata instances.
- */
-public interface TikaMetadataKeys {
-
-    String RESOURCE_NAME_KEY = "resourceName";
-
-    String PROTECTED = "protected";
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/TikaMimeKeys.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/TikaMimeKeys.java
deleted file mode 100644
index 7ae685e..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/TikaMimeKeys.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-/**
- * A collection of Tika metadata keys used in Mime Type resolution
- */
-public interface TikaMimeKeys {
-
-    String TIKA_MIME_FILE = "tika.mime.file";
-
-    String MIME_TYPE_MAGIC = "mime.type.magic";
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/XMPDM.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/XMPDM.java
deleted file mode 100644
index 258bbe7..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/XMPDM.java
+++ /dev/null
@@ -1,361 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-/**
- * XMP Dynamic Media schema. This is a collection of
- * {@link Property property definition} constants for the dynamic media
- * properties defined in the XMP standard.
- *
- * @since Apache Tika 0.7
- * @see <a href="http://www.adobe.com/devnet/xmp/pdfs/XMPSpecificationPart2.pdf"
- *        >XMP Specification, Part 2: Standard Schemas</a>
- */
-public interface XMPDM {
-
-    /**
-     * "The absolute path to the file's peak audio file. If empty, no peak
-     * file exists."
-     */
-    Property ABS_PEAK_AUDIO_FILE_PATH =
-        Property.internalURI("xmpDM:absPeakAudioFilePath");
-
-    /**
-     * "The name of the album."
-     */
-    Property ALBUM = Property.externalText("xmpDM:album");
-
-    /**
-     * "An alternative tape name, set via the project window or timecode
-     * dialog in Premiere. If an alternative name has been set and has not
-     * been reverted, that name is displayed."
-     */
-    Property ALT_TAPE_NAME = Property.externalText("xmpDM:altTapeName");
-
-//    /**
-//     * "A timecode set by the user. When specified, it is used instead
-//     * of the startTimecode."
-//     */
-//    Property ALT_TIMECODE = "xmpDM:altTimecode";
-
-    /**
-     * "The name of the artist or artists."
-     */
-    Property ARTIST = Property.externalText("xmpDM:artist");
-
-    /**
-     * "The date and time when the audio was last modified."
-     */
-    Property AUDIO_MOD_DATE = Property.internalDate("xmpDM:audioModDate");
-
-    /**
-     * "The audio sample rate. Can be any value, but commonly 32000, 41100,
-     * or 48000."
-     */
-    Property AUDIO_SAMPLE_RATE =
-        Property.internalInteger("xmpDM:audioSampleRate");
-
-    /**
-     * "The audio sample type."
-     */
-    Property AUDIO_SAMPLE_TYPE = Property.internalClosedChoise(
-            "xmpDM:audioSampleType", "8Int", "16Int", "32Int", "32Float");
-
-    /**
-     * "The audio channel type."
-     */
-    Property AUDIO_CHANNEL_TYPE = Property.internalClosedChoise(
-            "xmpDM:audioChannelType", "Mono", "Stereo", "5.1", "7.1");
-
-    /**
-     * "The audio compression used. For example, MP3."
-     */
-    Property AUDIO_COMPRESSOR = Property.internalText("xmpDM:audioCompressor");
-
-//    /**
-//     * "Additional parameters for Beat Splice stretch mode."
-//     */
-//    Property BEAT_SPLICE_PARAMS = "xmpDM:beatSpliceParams";
-
-    /**
-     * "The composer's name."
-     */
-    Property COMPOSER = Property.externalText("xmpDM:composer");
-
-//    /**
-//     * "An unordered list of all media used to create this media."
-//     */
-//    Property CONTRIBUTED_MEDIA = "xmpDM:contributedMedia";
-
-    /**
-     * "The copyright information."
-     */
-    Property COPYRIGHT = Property.externalText("xmpDM:copyright");
-
-//    /**
-//     * "The duration of the media file."
-//     */
-//    Property DURATION = "xmpDM:duration";
-
-    /**
-     * "The engineer's name."
-     */
-    Property ENGINEER = Property.externalText("xmpDM:engineer");
-
-    /**
-     * "The file data rate in megabytes per second. For example:
-     * '36/10' = 3.6 MB/sec"
-     */
-    Property FILE_DATA_RATE = Property.internalRational("xmpDM:fileDataRate");
-
-    /**
-     * "The name of the genre."
-     */
-    Property GENRE = Property.externalText("xmpDM:genre");
-
-    /**
-     * "The musical instrument."
-     */
-    Property INSTRUMENT = Property.externalText("xmpDM:instrument");
-
-//    /**
-//     * "The duration of lead time for queuing music."
-//     */
-//    Property INTRO_TIME = "xmpDM:introTime";
-
-    /**
-     * "The audio's musical key."
-     */
-    Property KEY = Property.internalClosedChoise(
-            "xmpDM:key", "C", "C#", "D", "D#", "E", "F", "F#",
-            "G", "G#", "A", "A#", "B");
-
-    /**
-     * "User's log comments."
-     */
-    Property LOG_COMMENT = Property.externalText("xmpDM:logComment");
-
-    /**
-     * "When true, the clip can be looped seamlessly."
-     */
-    Property LOOP = Property.internalBoolean("xmpDM:loop");
-
-    /**
-     * "The number of beats."
-     */
-    Property NUMBER_OF_BEATS = Property.internalReal("xmpDM:numberOfBeats");
-
-//    /**
-//     * An ordered list of markers. See also {@link #TRACKS xmpDM:Tracks}.
-//     */
-//    Property MARKERS = "xmpDM:markers";
-
-    /**
-     * "The date and time when the metadata was last modified."
-     */
-    Property METADATA_MOD_DATE = Property.internalDate("xmpDM:metadataModDate");
-
-//    /**
-//     * "The time at which to fade out."
-//     */
-//    Property OUT_CUE = "xmpDM:outCue";
-
-//    /**
-//     * "A reference to the project that created this file."
-//     */
-//    Property PROJECT_REF = "xmpDM:projectRef"; 
-
-    /**
-     * "The sampling phase of film to be converted to video (pull-down)."
-     */
-    Property PULL_DOWN = Property.internalClosedChoise(
-            "xmpDM:pullDown", "WSSWW", "SSWWW", "SWWWS", "WWWSS", "WWSSW",
-            "WSSWW_24p", "SSWWW_24p", "SWWWS_24p", "WWWSS_24p", "WWSSW_24p");
-
-    /**
-     * "The relative path to the file's peak audio file. If empty, no peak
-     * file exists."
-     */
-    Property RELATIVE_PEAK_AUDIO_FILE_PATH =
-        Property.internalURI("xmpDM:relativePeakAudioFilePath");
-
-//    /**
-//     * "The start time of the media inside the audio project."
-//     */
-//    Property RELATIVE_TIMESTAMP = "xmpDM:relativeTimestamp";
-
-    /**
-     * "The date the title was released."
-     */
-    Property RELEASE_DATE = Property.externalDate("xmpDM:releaseDate");
-
-//    /**
-//     * "Additional parameters for Resample stretch mode."
-//     */
-//    Property RESAMPLE_PARAMS = "xmpDM:resampleParams";
-
-    /**
-     * "The musical scale used in the music. 'Neither' is most often used
-     * for instruments with no associated scale, such as drums."
-     */
-    Property SCALE_TYPE = Property.internalClosedChoise(
-            "xmpDM:scaleType", "Major", "Minor", "Both", "Neither");
-
-    /**
-     * "The name of the scene."
-     */
-    Property SCENE = Property.externalText("xmpDM:scene");
-
-    /**
-     * "The date and time when the video was shot."
-     */
-    Property SHOT_DATE = Property.externalDate("xmpDM:shotDate");
-
-    /**
-     * "The name of the location where the video was shot. For example:
-     * 'Oktoberfest, Munich, Germany'. For more accurate  positioning,
-     * use the EXIF GPS values."
-     */
-    Property SHOT_LOCATION = Property.externalText("xmpDM:shotLocation");
-
-    /**
-     * "The name of the shot or take."
-     */
-    Property SHOT_NAME = Property.externalText("xmpDM:shotName");
-
-    /**
-     * "A description of the speaker angles from center front in degrees.
-     * For example: 'Left = -30, Right = 30, Center = 0, LFE = 45,
-     * Left Surround = -110, Right Surround = 110'"
-     */
-    Property SPEAKER_PLACEMENT =
-        Property.externalText("xmpDM:speakerPlacement");
-
-//    /**
-//     * "The timecode of the first frame of video in the file, as obtained
-//     * from the device control."
-//     */
-//    Property START_TIMECODE = "xmpDM:startTimecode";
-
-    /**
-     * "The audio stretch mode."
-     */
-    Property STRETCH_MODE = Property.internalClosedChoise(
-            "xmpDM:stretchMode", "Fixed length", "Time-Scale", "Resample",
-            "Beat Splice", "Hybrid");
-
-    /**
-     * "The name of the tape from which the clip was captured, as set during
-     * the capture process."
-     */
-    Property TAPE_NAME = Property.externalText("xmpDM:tapeName");
-
-    /**
-     * "The audio's tempo."
-     */
-    Property TEMPO = Property.internalReal("xmpDM:tempo");
-
-//    /**
-//     * "Additional parameters for Time-Scale stretch mode."
-//     */
-//    Property TIME_SCALE_PARAMS = "xmpDM:timeScaleParams";
-
-    /**
-     * "The time signature of the music."
-     */
-    Property TIME_SIGNATURE = Property.internalClosedChoise(
-            "xmpDM:timeSignature", "2/4", "3/4", "4/4", "5/4", "7/4",
-            "6/8", "9/8", "12/8", "other");
-
-    /**
-     * "A numeric value indicating the order of the audio file within its
-     * original recording."
-     */
-    Property TRACK_NUMBER = Property.externalInteger("xmpDM:trackNumber");
-
-//    /**
-//     * "An unordered list of tracks. A track is a named set of markers,
-//     * which can specify a frame rate for all markers in the set.
-//     * See also {@link #MARKERS xmpDM:markers}."
-//     */
-//    Property TRACKS = "xmpDM:Tracks";
-
-    /**
-     * "The alpha mode."
-     */
-    Property VIDEO_ALPHA_MODE = Property.externalClosedChoise(
-            "xmpDM:videoAlphaMode", "straight", "pre-multiplied");
-
-//    /**
-//     * "A color in CMYK or RGB to be used as the pre-multiple color when
-//     * alpha mode is pre-multiplied."
-//     */
-//    Property VIDEO_ALPHA_PREMULTIPLE_COLOR = "xmpDM:videoAlphaPremultipleColor";
-
-    /**
-     * "When true, unity is clear, when false, it is opaque."
-     */
-    Property VIDEO_ALPHA_UNITY_IS_TRANSPARENT =
-        Property.internalBoolean("xmpDM:videoAlphaUnityIsTransparent");
-
-    /**
-     * "The color space."
-     */
-    Property VIDEO_COLOR_SPACE = Property.internalClosedChoise(
-            "xmpDM:videoColorSpace", "sRGB", "CCIR-601", "CCIR-709");
-
-    /**
-     * "Video compression used. For example, jpeg."
-     */
-    Property VIDEO_COMPRESSOR = Property.internalText("xmpDM:videoCompressor");
-
-    /**
-     * "The field order for video."
-     */
-    Property VIDEO_FIELD_ORDER = Property.internalClosedChoise(
-            "xmpDM:videoFieldOrder", "Upper", "Lower", "Progressive");
-
-    /**
-     * "The video frame rate."
-     */
-    Property VIDEO_FRAME_RATE = Property.internalOpenChoise(
-            "xmpDM:videoFrameRate", "24", "NTSC", "PAL");
-
-//    /**
-//     * "The frame size. For example: w:720, h: 480, unit:pixels"
-//     */
-//    Property VIDEO_FRAME_SIZE = "xmpDM:videoFrameSize";
-
-    /**
-     * "The date and time when the video was last modified."
-     */
-    Property VIDEO_MOD_DATE = Property.internalDate("xmpDM:videoModDate");
-
-    /**
-     * "The size in bits of each color component of a pixel. Standard
-     *  Windows 32-bit pixels have 8 bits per component."
-     */
-    Property VIDEO_PIXEL_DEPTH = Property.internalClosedChoise(
-            "xmpDM:videoPixelDepth", "8Int", "16Int", "32Int", "32Float");
-
-    /**
-     * "The aspect ratio, expressed as wd/ht. For example: '648/720' = 0.9"
-     */
-    Property VIDEO_PIXEL_ASPECT_RATIO =
-        Property.internalRational("xmpDM:videoPixelAspectRatio");
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/metadata/package-info.java b/trunk/tika-core/src/main/java/org/apache/tika/metadata/package-info.java
deleted file mode 100644
index e540d89..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/metadata/package-info.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-/**
- * Multi-valued metadata container, and set of constant metadata fields.
- */
-package org.apache.tika.metadata;
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/mime/AndClause.java b/trunk/tika-core/src/main/java/org/apache/tika/mime/AndClause.java
deleted file mode 100644
index c7a2184..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/mime/AndClause.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import java.util.Arrays;
-
-class AndClause implements Clause {
-
-    private final Clause[] clauses;
-
-    AndClause(Clause... clauses) {
-        this.clauses = clauses;
-    }
-
-    public boolean eval(byte[] data) {
-        for (Clause clause : clauses) {
-            if (!clause.eval(data)) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-    public int size() {
-        int size = 0;
-        for (Clause clause : clauses) {
-            size += clause.size();
-        }
-        return size;
-    }
-
-    public String toString() {
-        return "and" + Arrays.toString(clauses);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/mime/Clause.java b/trunk/tika-core/src/main/java/org/apache/tika/mime/Clause.java
deleted file mode 100644
index fc3bcc1..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/mime/Clause.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import java.io.Serializable;
-
-/**
- * Defines a clause to be evaluated.
- */
-interface Clause extends Serializable {
-
-    /**
-     * Evaluates this clause with the specified chunk of data.
-     */
-    boolean eval(byte[] data);
-
-    /**
-     * Returns the size of this clause. The size of a clause is the number of
-     * chars it is composed of.
-     */
-    int size();
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/mime/HexCoDec.java b/trunk/tika-core/src/main/java/org/apache/tika/mime/HexCoDec.java
deleted file mode 100644
index f2ebc07..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/mime/HexCoDec.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-/**
- * 
- * A set of Hex encoding and decoding utility methods.
- * 
- */
-public class HexCoDec {
-
-    private static final char[] HEX_CHARS = { '0', '1', '2', '3', '4', '5',
-            '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
-
-    /**
-     * Decode a hex string
-     * 
-     * @param hexValue
-     *            the string of hex characters
-     * @return the decode hex string as bytes.
-     */
-    public static byte[] decode(String hexValue) {
-        return decode(hexValue.toCharArray());
-    }
-
-    /**
-     * Decode an array of hex chars
-     * 
-     * @param hexChars
-     *            an array of hex characters.
-     * @return the decode hex chars as bytes.
-     */
-    public static byte[] decode(char[] hexChars) {
-        return decode(hexChars, 0, hexChars.length);
-    }
-
-    /**
-     * Decode an array of hex chars.
-     * 
-     * @param hexChars
-     *            an array of hex characters.
-     * @param startIndex
-     *            the index of the first character to decode
-     * @param length
-     *            the number of characters to decode.
-     * @return the decode hex chars as bytes.
-     */
-    public static byte[] decode(char[] hexChars, int startIndex, int length) {
-        if ((length & 1) != 0)
-            throw new IllegalArgumentException("Length must be even");
-
-        byte[] result = new byte[length / 2];
-        for (int j = 0; j < result.length; j++) {
-            result[j] = (byte) (hexCharToNibble(hexChars[startIndex++]) * 16 + hexCharToNibble(hexChars[startIndex++]));
-        }
-        return result;
-    }
-
-    /**
-     * Hex encode an array of bytes
-     * 
-     * @param bites
-     *            the array of bytes to encode.
-     * @return the array of hex characters.
-     */
-    public static char[] encode(byte[] bites) {
-        return encode(bites, 0, bites.length);
-    }
-
-    /**
-     * Hex encode an array of bytes
-     * 
-     * @param bites
-     *            the array of bytes to encode.
-     * @param startIndex
-     *            the index of the first character to encode.
-     * @param length
-     *            the number of characters to encode.
-     * @return the array of hex characters.
-     */
-    public static char[] encode(byte[] bites, int startIndex, int length) {
-        char[] result = new char[length * 2];
-        for (int i = 0, j = 0; i < length; i++) {
-            int bite = bites[startIndex++] & 0xff;
-            result[j++] = HEX_CHARS[bite >> 4];
-            result[j++] = HEX_CHARS[bite & 0xf];
-        }
-        return result;
-    }
-
-    /**
-     * Internal method to turn a hex char into a nibble.
-     */
-    private static int hexCharToNibble(char ch) {
-        if ((ch >= '0') && (ch <= '9')) {
-            return ch - '0';
-        } else if ((ch >= 'a') && (ch <= 'f')) {
-            return ch - 'a' + 10;
-        } else if ((ch >= 'A') && (ch <= 'F')) {
-            return ch - 'A' + 10;
-        } else {
-            throw new IllegalArgumentException("Not a hex char - '" + ch + "'");
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/mime/Magic.java b/trunk/tika-core/src/main/java/org/apache/tika/mime/Magic.java
deleted file mode 100644
index 1e27e20..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/mime/Magic.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-/**
- * Defines a magic for a MimeType. A magic is made of one or several
- * MagicClause.
- * 
- * 
- */
-class Magic implements Clause, Comparable<Magic> {
-
-    private final MimeType type;
-
-    private int priority = 50;
-
-    private Clause clause = null;
-
-    Magic(MimeType type) {
-        this.type = type;
-    }
-
-    MimeType getType() {
-        return type;
-    }
-
-    void setPriority(int priority) {
-        this.priority = priority;
-    }
-
-    int getPriority() {
-        return priority;
-    }
-
-    void setClause(Clause clause) {
-        this.clause = clause;
-    }
-
-    public boolean eval(byte[] data) {
-        return clause.eval(data);
-    }
-
-    public int size() {
-        return clause.size();
-    }
-
-    public String toString() {
-        StringBuffer buf = new StringBuffer();
-        buf.append("[").append(priority).append("/").append(clause).append("]");
-        return buf.toString();
-    }
-
-    public int compareTo(Magic o) {
-        int diff = o.priority - priority;
-        if (diff == 0) {
-            diff = o.size() - size();
-        }
-        if (diff == 0) {
-            diff = o.type.compareTo(type);
-        }
-        if (diff == 0) {
-            diff = o.toString().compareTo(toString());
-        }
-        return diff;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/mime/MagicMatch.java b/trunk/tika-core/src/main/java/org/apache/tika/mime/MagicMatch.java
deleted file mode 100644
index 14a09b6..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/mime/MagicMatch.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-
-import org.apache.tika.detect.MagicDetector;
-import org.apache.tika.metadata.Metadata;
-
-/**
- * Defines a magic match.
- */
-class MagicMatch implements Clause {
-
-    private final MagicDetector detector;
-
-    private final int length;
-
-    MagicMatch(MagicDetector detector, int length) throws MimeTypeException {
-        this.detector = detector;
-        this.length = length;
-    }
-
-    public boolean eval(byte[] data) {
-        try {
-            return detector.detect(
-                    new ByteArrayInputStream(data), new Metadata())
-                    != MediaType.OCTET_STREAM;
-        } catch (IOException e) {
-            // Should never happen with a ByteArrayInputStream
-            return false;
-        }
-    }
-
-    public int size() {
-        return length;
-    }
-
-    public String toString() {
-        return detector.toString();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/mime/MediaType.java b/trunk/tika-core/src/main/java/org/apache/tika/mime/MediaType.java
deleted file mode 100644
index 3c96d46..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/mime/MediaType.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.SortedMap;
-import java.util.TreeMap;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- * Internet media type.
- */
-public final class MediaType implements Comparable<MediaType>, Serializable {
-
-    /**
-     * Serial version UID.
-     */
-    private static final long serialVersionUID = -3831000556189036392L;
-
-    private static final SortedMap<String, String> NO_PARAMETERS =
-        Collections.unmodifiableSortedMap(new TreeMap<String, String>());
-
-    private static final Pattern SPECIAL =
-        Pattern.compile("[\\(\\)<>@,;:\\\\\"/\\[\\]\\?=]");
-
-    private static final Pattern SPECIAL_OR_WHITESPACE =
-        Pattern.compile("[\\(\\)<>@,;:\\\\\"/\\[\\]\\?=\\s]");
-
-    // TIKA-350: handle charset as first element in content-type
-    // See http://www.ietf.org/rfc/rfc2045.txt for valid mime-type characters.
-    private static final String VALID_MIMETYPE_CHARS = "[^\\c\\(\\)<>@,;:\\\\\"/\\[\\]\\?=\\s]";
-    private static final String MIME_TYPE_PATTERN_STRING = "(" + VALID_MIMETYPE_CHARS + "+)"
-                    + "\\s*/\\s*" + "(" + VALID_MIMETYPE_CHARS + "+)";
-    private static final Pattern CONTENT_TYPE_PATTERN = Pattern.compile(
-                    "(?is)\\s*" + MIME_TYPE_PATTERN_STRING + "\\s*($|;.*)");
-    private static final Pattern CONTENT_TYPE_CHARSET_FIRST_PATTERN = Pattern.compile(
-                    "(?i)\\s*(charset\\s*=\\s*[^\\c;\\s]+)\\s*;\\s*" + MIME_TYPE_PATTERN_STRING);
-
-    public static final MediaType OCTET_STREAM = application("octet-stream");
-
-    public static final MediaType TEXT_PLAIN = text("plain");
-
-    public static final MediaType APPLICATION_XML = application("xml");
-
-    public static final MediaType APPLICATION_ZIP = application("zip");
-
-    public static MediaType application(String type) {
-        return new MediaType("application", type);
-    }
-
-    public static MediaType audio(String type) {
-        return new MediaType("audio", type);
-    }
-
-    public static MediaType image(String type) {
-        return new MediaType("image", type);
-    }
-
-    public static MediaType text(String type) {
-        return new MediaType("text", type);
-    }
-
-    public static MediaType video(String type) {
-        return new MediaType("video", type);
-    }
-
-    /**
-     * Parses the given string to a media type. The string is expected to be of
-     * the form "type/subtype(; parameter=...)*" as defined in RFC 2045, though
-     * we also handle "charset=xxx; type/subtype" for broken web servers.
-     * 
-     * @param string
-     *            media type string to be parsed
-     * @return parsed media type, or <code>null</code> if parsing fails
-     */
-    public static MediaType parse(String string) {
-        if (string == null) {
-            return null;
-        }
-
-        String type;
-        String subtype;
-        String params;
-        
-        Matcher m = CONTENT_TYPE_PATTERN.matcher(string);
-        if (m.matches()) {
-            type = m.group(1);
-            subtype = m.group(2);
-            params = m.group(3);
-        } else {
-            m = CONTENT_TYPE_CHARSET_FIRST_PATTERN.matcher(string);
-            if (m.matches()) {
-                params = m.group(1);
-                type = m.group(2);
-                subtype = m.group(3);
-            } else {
-                return null;
-            }
-        }
-
-        Map<String, String> parameters = new HashMap<String, String>();
-        for (String paramPiece : params.split(";")) {
-            String[] keyValue = paramPiece.split("=", 2);
-            String key = keyValue[0].trim();
-            if (key.length() > 0) {
-                if (keyValue.length > 1) {
-                    parameters.put(key, keyValue[1].trim());
-                } else {
-                    parameters.put(key, "");
-                }
-            }
-        }
-        return new MediaType(type, subtype, parameters);
-    }
-
-    private final String type;
-
-    private final String subtype;
-
-    /**
-     * Immutable map of media type parameters.
-     */
-    private final SortedMap<String, String> parameters;
-
-    public MediaType(
-            String type, String subtype, Map<String, String> parameters) {
-        this.type = type.trim().toLowerCase(Locale.ENGLISH);
-        this.subtype = subtype.trim().toLowerCase(Locale.ENGLISH);
-        if (parameters.isEmpty()) {
-            this.parameters = NO_PARAMETERS;
-        } else {
-            SortedMap<String, String> map = new TreeMap<String, String>();
-            for (Map.Entry<String, String> entry : parameters.entrySet()) {
-                map.put(entry.getKey().trim().toLowerCase(Locale.ENGLISH),
-                        entry.getValue());
-            }
-            this.parameters = Collections.unmodifiableSortedMap(map);
-        }
-    }
-
-    public MediaType(String type, String subtype) {
-        this(type, subtype, NO_PARAMETERS);
-    }
-
-    private static Map<String, String> union(
-            Map<String, String> a, Map<String, String> b) {
-        if (a.isEmpty()) {
-            return b;
-        } else if (b.isEmpty()) {
-            return a;
-        } else {
-            Map<String, String> union = new HashMap<String, String>();
-            union.putAll(a);
-            union.putAll(b);
-            return union;
-        }
-    }
-
-    public MediaType(MediaType type, Map<String, String> parameters) {
-        this(type.type, type.subtype, union(type.parameters, parameters));
-    }
-
-    public MediaType getBaseType() {
-        if (parameters.isEmpty()) {
-            return this;
-        } else {
-            return new MediaType(type, subtype);
-        }
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public String getSubtype() {
-        return subtype;
-    }
-
-    /**
-     * Checks whether this media type contains parameters.
-     *
-     * @since Apache Tika 0.8
-     * @return <code>true</code> if this type has one or more parameters,
-     *         <code>false</code> otherwise
-     */
-    public boolean hasParameters() {
-        return !parameters.isEmpty();
-    }
-
-    /**
-     * Returns an immutable sorted map of the parameters of this media type.
-     * The parameter names are guaranteed to be trimmed and in lower case.
-     *
-     * @return sorted map of parameters
-     */
-    public Map<String, String> getParameters() {
-        return parameters;
-    }
-
-    public String toString() {
-        StringBuilder builder = new StringBuilder();
-        builder.append(type);
-        builder.append('/');
-        builder.append(subtype);
-        for (Map.Entry<String, String> entry : parameters.entrySet()) {
-            builder.append("; ");
-            builder.append(entry.getKey());
-            builder.append("=");
-            String value = entry.getValue();
-            if (SPECIAL_OR_WHITESPACE.matcher(value).find()) {
-                builder.append('"');
-                builder.append(SPECIAL.matcher(value).replaceAll("\\\\$0"));
-                builder.append('"');
-            } else {
-                builder.append(value);
-            }
-        }
-        return builder.toString();
-    }
-
-    public boolean equals(Object object) {
-        if (object instanceof MediaType) {
-            MediaType that = (MediaType) object;
-            return type.equals(that.type)
-                && subtype.equals(that.subtype)
-                && parameters.equals(that.parameters);
-        } else {
-            return false;
-        }
-    }
-
-    public int hashCode() {
-        int hash = 17;
-        hash = hash * 31 + type.hashCode();
-        hash = hash * 31 + subtype.hashCode();
-        hash = hash * 31 + parameters.hashCode();
-        return hash;
-    }
-
-    public int compareTo(MediaType that) {
-        return toString().compareTo(that.toString());
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/mime/MediaTypeRegistry.java b/trunk/tika-core/src/main/java/org/apache/tika/mime/MediaTypeRegistry.java
deleted file mode 100644
index d2bfd66..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/mime/MediaTypeRegistry.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import org.apache.tika.config.TikaConfig;
-
-/**
- * Registry of known Internet media types.
- */
-public class MediaTypeRegistry implements Serializable {
-
-    /** Serial version UID */
-    private static final long serialVersionUID = 4710974869988895410L;
-
-    /**
-     * Returns the built-in media type registry included in Tika.
-     *
-     * @since Apache Tika 0.8
-     * @return default media type registry
-     */
-    public static MediaTypeRegistry getDefaultRegistry() {
-        return TikaConfig.getDefaultConfig().getMediaTypeRegistry();
-    }
-
-    /**
-     * Registry of known media types, including type aliases. A canonical
-     * media type is handled as an identity mapping, while an alias is stored
-     * as a mapping from the alias to the corresponding canonical type.
-     */
-    private final Map<MediaType, MediaType> registry =
-        new HashMap<MediaType, MediaType>();
-
-    /**
-     * Known type inheritance relationships. The mapping is from a media type
-     * to the closest supertype.
-     */
-    private final Map<MediaType, MediaType> inheritance =
-        new HashMap<MediaType, MediaType>();
-
-    /**
-     * Returns the set of all known canonical media types. Type aliases are
-     * not included in the returned set.
-     *
-     * @since Apache Tika 0.8
-     * @return canonical media types
-     */
-    public SortedSet<MediaType> getTypes() {
-        return new TreeSet<MediaType>(registry.values());
-    }
-
-    /**
-     * Returns the set of known aliases of the given canonical media type.
-     *
-     * @since Apache Tika 0.8
-     * @param type canonical media type
-     * @return known aliases
-     */
-    public SortedSet<MediaType> getAliases(MediaType type) {
-        SortedSet<MediaType> aliases = new TreeSet<MediaType>();
-        for (Map.Entry<MediaType, MediaType> entry : registry.entrySet()) {
-            if (entry.getValue().equals(type) && !entry.getKey().equals(type)) {
-                aliases.add(entry.getKey());
-            }
-        }
-        return aliases;
-    }
-
-    public void addType(MediaType type) {
-        registry.put(type, type);
-    }
-
-    public void addAlias(MediaType type, MediaType alias) {
-        registry.put(alias, type);
-    }
-
-    public void addSuperType(MediaType type, MediaType supertype) {
-        inheritance.put(type, supertype);
-    }
-
-    public MediaType normalize(MediaType type) {
-        MediaType canonical = registry.get(type.getBaseType());
-        if (canonical == null) {
-            return type;
-        } else if (type.hasParameters()) {
-            return new MediaType(canonical, type.getParameters());
-        } else {
-            return canonical;
-        }
-    }
-
-    /**
-     * Checks whether the given media type a is a specialization of a more
-     * generic type b.
-     *
-     * @since Apache Tika 0.8
-     * @param a media type
-     * @param b suspected supertype
-     * @return <code>true</code> if b is a supertype of a,
-     *         <code>false</code> otherwise
-     */
-    public boolean isSpecializationOf(MediaType a, MediaType b) {
-        MediaType x = getSupertype(a);
-        return x != null && (x.equals(b) || isSpecializationOf(x, b));
-    }
-
-    /**
-     * Returns the supertype of the given type. If the given type has any
-     * parameters, then the respective base type is returned. Otherwise
-     * built-in heuristics like text/... -&gt; text/plain and
-     * .../...+xml -&gt; application/xml are used in addition to explicit
-     * type inheritance rules read from the media type database. Finally
-     * application/octet-stream is returned for all types for which no other
-     * supertype is known, and the return value for application/octet-stream
-     * is <code>null</code>.
-     *
-     * @since Apache Tika 0.8
-     * @param type media type
-     * @return supertype, or <code>null</code> for application/octet-stream
-     */
-    public MediaType getSupertype(MediaType type) {
-        if (type.hasParameters()) {
-            return type.getBaseType();
-        } else if (inheritance.containsKey(type)) {
-            return inheritance.get(type);
-        } else if (type.getSubtype().endsWith("+xml")) {
-            return MediaType.APPLICATION_XML;
-        } else if (type.getSubtype().endsWith("+zip")) {
-            return MediaType.APPLICATION_ZIP;
-        } else if ("text".equals(type.getType())
-                && !MediaType.TEXT_PLAIN.equals(type)) {
-            return MediaType.TEXT_PLAIN;
-        } else if (!MediaType.OCTET_STREAM.equals(type)) {
-            return MediaType.OCTET_STREAM;
-        } else {
-            return null;
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeType.java b/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeType.java
deleted file mode 100644
index 0852245..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeType.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-
-/**
- * Internet media type.
- */
-public final class MimeType implements Comparable<MimeType>, Serializable {
-
-    /**
-     * Serial version UID.
-     */
-    private static final long serialVersionUID = 4357830439860729201L;
-
-    /**
-     * Checks that the given string is a valid Internet media type name
-     * based on rules from RFC 2054 section 5.3. For validation purposes the
-     * rules can be simplified to the following:
-     * <pre>
-     * name := token "/" token
-     * token := 1*&lt;any (US-ASCII) CHAR except SPACE, CTLs, or tspecials&gt;
-     * tspecials :=  "(" / ")" / "&lt;" / "&gt;" / "@" / "," / ";" / ":" /
-     *               "\" / <"> / "/" / "[" / "]" / "?" / "="
-     * </pre>
-     *
-     * @param name name string
-     * @return <code>true</code> if the string is a valid media type name,
-     *         <code>false</code> otherwise
-     */
-    public static boolean isValid(String name) {
-        if (name == null) {
-            throw new IllegalArgumentException("Name is missing");
-        }
-
-        boolean slash = false;
-        for (int i = 0; i < name.length(); i++) {
-            char ch = name.charAt(i);
-            if (ch <= ' ' || ch >= 127 || ch == '(' || ch == ')' ||
-                    ch == '<' || ch == '>' || ch == '@' || ch == ',' ||
-                    ch == ';' || ch == ':' || ch == '\\' || ch == '"' ||
-                    ch == '[' || ch == ']' || ch == '?' || ch == '=') {
-                return false;
-            } else if (ch == '/') {
-                if (slash || i == 0 || i + 1 == name.length()) {
-                    return false;
-                }
-                slash = true;
-            }
-        }
-        return slash;
-    }
-
-    /**
-     * The normalized media type name.
-     */
-    private final MediaType type;
-
-    /**
-     * Description of this media type.
-     */
-    private String description = "";
-
-    /** The magics associated to this Mime-Type */
-    private final ArrayList<Magic> magics = new ArrayList<Magic>();
-
-    /** The root-XML associated to this Mime-Type */
-    private final ArrayList<RootXML> rootXML = new ArrayList<RootXML>();
-
-    /** The minimum length of data to provides for magic analyzis */
-    private int minLength = 0;
-
-    /** Preferred extension with starting dot or empty string */
-    private String extension = "";
-
-    /**
-     * Creates a media type with the give name and containing media type
-     * registry. The name is expected to be valid and normalized to lower
-     * case. This constructor should only be called by
-     * {@link MimeTypes#forName(String)} to keep the media type registry
-     * up to date.
-     *
-     * @param type normalized media type name
-     */
-    MimeType(MediaType type) {
-        if (type == null) {
-            throw new IllegalArgumentException("Media type name is missing");
-        }
-        this.type = type;
-    }
-
-    /**
-     * Returns the normalized media type name.
-     *
-     * @return media type
-     */
-    public MediaType getType() {
-        return type;
-    }
-
-    /**
-     * Returns the name of this media type.
-     *
-     * @return media type name (lower case)
-     */
-    public String getName() {
-        return type.toString();
-    }
-
-    /**
-     * Returns the description of this media type.
-     *
-     * @return media type description
-     */
-    public String getDescription() {
-        return description;
-    }
-
-    /**
-     * Set the description of this media type.
-     *
-     * @param description media type description
-     */
-    public void setDescription(String description) {
-        if (description == null) {
-            throw new IllegalArgumentException("Description is missing");
-        }
-        this.description = description;
-    }
-
-    /**
-     * Add some rootXML info to this mime-type
-     *
-     * @param namespaceURI
-     * @param localName
-     */
-    void addRootXML(String namespaceURI, String localName) {
-        rootXML.add(new RootXML(this, namespaceURI, localName));
-    }
-
-    boolean matchesXML(String namespaceURI, String localName) {
-        for (RootXML xml : rootXML) {
-            if (xml.matches(namespaceURI, localName)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    boolean hasRootXML() {
-        return (rootXML.size() > 0);
-    }
-
-    RootXML[] getRootXMLs() {
-        return rootXML.toArray(new RootXML[rootXML.size()]);
-    }
-
-    Magic[] getMagics() {
-        return magics.toArray(new Magic[magics.size()]);
-    }
-
-    void addMagic(Magic magic) {
-        if (magic == null) {
-            return;
-        }
-        magics.add(magic);
-    }
-
-    int getMinLength() {
-        return minLength;
-    }
-
-    public boolean hasMagic() {
-        return (magics.size() > 0);
-    }
-
-    public boolean matchesMagic(byte[] data) {
-        for (int i = 0; i < magics.size(); i++) {
-            Magic magic = magics.get(i);
-            if (magic.eval(data)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public boolean matches(byte[] data) {
-        return matchesMagic(data);
-    }
-
-    /**
-     * Defines a RootXML description. RootXML is made of a localName and/or a
-     * namespaceURI.
-     */
-    class RootXML implements Serializable {
-
-        /**
-         * Serial version UID.
-         */
-        private static final long serialVersionUID = 5140496601491000730L;
-
-        private MimeType type = null;
-
-        private String namespaceURI = null;
-
-        private String localName = null;
-
-        RootXML(MimeType type, String namespaceURI, String localName) {
-            if (isEmpty(namespaceURI) && isEmpty(localName)) {
-                throw new IllegalArgumentException(
-                        "Both namespaceURI and localName cannot be empty");
-            }
-            this.type = type;
-            this.namespaceURI = namespaceURI;
-            this.localName = localName;
-        }
-
-        boolean matches(String namespaceURI, String localName) {
-            //Compare namespaces
-            if (!isEmpty(this.namespaceURI)) {
-                if (!this.namespaceURI.equals(namespaceURI)) {
-                    return false;
-                }
-            }
-            else{
-                // else if it was empty then check to see if the provided namespaceURI
-                // is empty. If it is not, then these two aren't equal and return false
-                if(!isEmpty(namespaceURI)){
-                    return false;
-                }
-            }
-
-            //Compare root element's local name
-            if (!isEmpty(this.localName)) {
-                if (!this.localName.equals(localName)) {
-                    return false;
-                }
-            }
-            else{
-                // else if it was empty then check to see if the provided localName
-                // is empty. If it is not, then these two aren't equal and return false 
-                if(!isEmpty(localName)){
-                    return false;
-                }
-            }
-            return true;
-        }
-
-        /**
-         * Checks if a string is null or empty.
-         */
-        private boolean isEmpty(String str) {
-            return (str == null) || (str.equals(""));
-        }
-
-        MimeType getType() {
-            return type;
-        }
-
-        String getNameSpaceURI() {
-            return namespaceURI;
-        }
-
-        String getLocalName() {
-            return localName;
-        }
-
-        public String toString() {
-            return type + ", " + namespaceURI + ", " + localName;
-        }
-    }
-
-    //----------------------------------------------------------< Comparable >
-
-    public int compareTo(MimeType mime) {
-        return type.compareTo(mime.type);
-    }
-
-    //--------------------------------------------------------------< Object >
-
-    /**
-     * Returns the name of this media type.
-     *
-     * @return media type name
-     */
-    public String toString() {
-        return type.toString();
-    }
-
-    /**
-     * Get preferred extension
-     *
-     * @return extension (with starting dot) or empty string
-     */
-    public String getExtension() {
-        return extension;
-    }
-
-    void setExtension(String extension) {
-        this.extension = extension;
-    }
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeTypeException.java b/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeTypeException.java
deleted file mode 100644
index f1eaa4d..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeTypeException.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import org.apache.tika.exception.TikaException;
-
-/**
- * A class to encapsulate MimeType related exceptions.
- */
-public class MimeTypeException extends TikaException {
-
-    /**
-     * Constructs a MimeTypeException with the specified detail message.
-     * 
-     * @param message the detail message.
-     */
-    public MimeTypeException(String message) {
-        super(message);
-    }
-
-    /**
-     * Constructs a MimeTypeException with the specified detail message
-     * and root cause.
-     * 
-     * @param message the detail message.
-     * @param cause root cause
-     */
-    public MimeTypeException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeTypes.java b/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeTypes.java
deleted file mode 100644
index 7b6f46b..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeTypes.java
+++ /dev/null
@@ -1,615 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-// JDK imports
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Serializable;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tika.Tika;
-import org.apache.tika.detect.Detector;
-import org.apache.tika.detect.XmlRootExtractor;
-import org.apache.tika.metadata.Metadata;
-
-/**
- * This class is a MimeType repository. It gathers a set of MimeTypes and
- * enables to retrieves a content-type from its name, from a file name, or from
- * a magic character sequence.
- * <p>
- * The MIME type detection methods that take an {@link InputStream} as
- * an argument will never reads more than {@link #getMinLength()} bytes
- * from the stream. Also the given stream is never
- * {@link InputStream#close() closed}, {@link InputStream#mark(int) marked},
- * or {@link InputStream#reset() reset} by the methods. Thus a client can
- * use the {@link InputStream#markSupported() mark feature} of the stream
- * (if available) to restore the stream back to the state it was before type
- * detection if it wants to process the stream based on the detected type.
- */
-public final class MimeTypes implements Detector, Serializable {
-
-    /**
-     * Serial version UID.
-     */
-    private static final long serialVersionUID = -1350863170146349036L;
-
-    /**
-     * Name of the {@link #rootMimeType root} type, application/octet-stream.
-     */
-    public static final String OCTET_STREAM = "application/octet-stream";
-
-    /**
-     * Name of the {@link #textMimeType text} type, text/plain.
-     */
-    public static final String PLAIN_TEXT = "text/plain";
-    
-    /**
-     * Name of the {@link #xml xml} type, application/xml.
-     */
-    public static final String XML = "application/xml";
-
-
-    
-    /**
-     * Lookup table for all the ASCII/ISO-Latin/UTF-8/etc. control bytes
-     * in the range below 0x20 (the space character). If an entry in this
-     * table is <code>true</code> then that byte is very unlikely to occur
-     * in a plain text document.
-     * <p>
-     * The contents of this lookup table are based on the following definition
-     * from section 4 of the "Content-Type Processing Model" Internet-draft
-     * (<a href="http://webblaze.cs.berkeley.edu/2009/mime-sniff/mime-sniff.txt"
-     * >draft-abarth-mime-sniff-01</a>).
-     * <pre>
-     * +-------------------------+
-     * | Binary data byte ranges |
-     * +-------------------------+
-     * | 0x00 -- 0x08            |
-     * | 0x0B                    |
-     * | 0x0E -- 0x1A            |
-     * | 0x1C -- 0x1F            |
-     * +-------------------------+
-     * </pre>
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-154">TIKA-154</a>
-     */
-    private static final boolean[] IS_CONTROL_BYTE = new boolean[0x20];
-    static {
-        Arrays.fill(IS_CONTROL_BYTE, true);
-        IS_CONTROL_BYTE[0x09] = false; // tabulator
-        IS_CONTROL_BYTE[0x0A] = false; // new line
-        IS_CONTROL_BYTE[0x0C] = false; // new page
-        IS_CONTROL_BYTE[0x0D] = false; // carriage return
-        IS_CONTROL_BYTE[0x1B] = false; // escape
-    }
-
-    /**
-     * Root type, application/octet-stream.
-     */
-    private final MimeType rootMimeType;
-
-    /**
-     * Text type, text/plain.
-     */
-    private final MimeType textMimeType;
-
-    /*
-     * xml type, application/xml
-     */
-    private final MimeType xmlMimeType;
-
-    /**
-     * Registered media types and their aliases.
-     */
-    private final MediaTypeRegistry registry = new MediaTypeRegistry();
-
-    /** All the registered MimeTypes indexed on their canonical names */
-    private final Map<MediaType, MimeType> types =
-        new HashMap<MediaType, MimeType>();
-
-    /** The patterns matcher */
-    private Patterns patterns = new Patterns(registry);
-
-    /** List of all registered magics */
-    private SortedSet<Magic> magics = new TreeSet<Magic>();
-
-    /** List of all registered rootXML */
-    private SortedSet<MimeType> xmls = new TreeSet<MimeType>();
-
-    public MimeTypes() {
-        rootMimeType = new MimeType(MediaType.OCTET_STREAM);
-        textMimeType = new MimeType(MediaType.TEXT_PLAIN);
-        xmlMimeType = new MimeType(MediaType.APPLICATION_XML);
-
-        add(rootMimeType);
-        add(textMimeType);
-        add(xmlMimeType);
-    }
-
-    /**
-     * Find the Mime Content Type of a file.
-     *
-     * @deprecated Use the {@link Tika#detect(File)} method
-     * @param file
-     *            to analyze.
-     * @return the Mime Content Type of the specified file, or <code>null</code>
-     *         if none is found.
-     */
-    public MimeType getMimeType(File file) {
-        return getMimeType(file.getName());
-    }
-
-    /**
-     * Find the Mime Content Type of a document from its URL.
-     *
-     * @deprecated Use the {@link Tika#detect(URL)} method
-     * @param url
-     *            of the document to analyze.
-     * @return the Mime Content Type of the specified document URL, or
-     *         <code>null</code> if none is found.
-     */
-    public MimeType getMimeType(URL url) {
-        return getMimeType(url.getPath());
-    }
-
-    /**
-     * Find the Mime Content Type of a document from its name.
-     * Returns application/octet-stream if no better match is found.
-     *
-     * @deprecated Use the {@link Tika#detect(String)} method
-     * @param name of the document to analyze.
-     * @return the Mime Content Type of the specified document name
-     */
-    public MimeType getMimeType(String name) {
-        MimeType type = patterns.matches(name);
-        if (type != null) {
-            return type;
-        }
-        type = patterns.matches(name.toLowerCase(Locale.ENGLISH));
-        if (type != null) {
-            return type;
-        } else {
-            return rootMimeType;
-        }
-    }
-
-    /**
-     * Returns the MIME type that best matches the given first few bytes
-     * of a document stream. Returns application/octet-stream if no better
-     * match is found.
-     * <p>
-     * The given byte array is expected to be at least {@link #getMinLength()}
-     * long, or shorter only if the document stream itself is shorter.
-     *
-     * @deprecated Use the {@link Tika#detect(byte[])} method
-     * @param data first few bytes of a document stream
-     * @return matching MIME type
-     */
-    public MimeType getMimeType(byte[] data) {
-        if (data == null) {
-            throw new IllegalArgumentException("Data is missing");
-        } else if (data.length == 0) {
-            // See https://issues.apache.org/jira/browse/TIKA-483
-            return rootMimeType;
-        }
-
-        // Then, check for magic bytes
-        MimeType result = null;
-        for (Magic magic : magics) {
-            if (magic.eval(data)) {
-                result = magic.getType();
-                break;
-            }
-        }
- 
-        if (result != null) {
-            // When detecting generic XML (or possibly XHTML),
-            // extract the root element and match it against known types
-            if ("application/xml".equals(result.getName())
-                    || "text/html".equals(result.getName())) {
-                XmlRootExtractor extractor = new XmlRootExtractor();
-
-                QName rootElement = extractor.extractRootElement(data);
-                if (rootElement != null) {
-                    for (MimeType type : xmls) {
-                        if (type.matchesXML(
-                                rootElement.getNamespaceURI(),
-                                rootElement.getLocalPart())) {
-                            result = type;
-                            break;
-                        }
-                    }
-                } else if ("application/xml".equals(result.getName())) {
-                    // Downgrade from application/xml to text/plain since
-                    // the document seems not to be well-formed.
-                    result = textMimeType;
-                }
-            }
-            return result;
-        }
-
-
-        // Finally, assume plain text if no control bytes are found
-        for (int i = 0; i < data.length; i++) {
-            int b = data[i] & 0xFF; // prevent sign extension
-            if (b < IS_CONTROL_BYTE.length && IS_CONTROL_BYTE[b]) {
-                return rootMimeType;
-            }
-        }
-        return textMimeType;
-    }
-
-    /**
-     * Returns the MIME type that best matches the first few bytes of the
-     * given document stream.
-     *
-     * @deprecated Use the {@link Tika#detect(InputStream)} method
-     * @param stream document stream
-     * @return matching MIME type, or <code>null</code> if no match is found
-     * @throws IOException if the stream can be read
-     */
-    public MimeType getMimeType(InputStream stream) throws IOException {
-        return getMimeType(readMagicHeader(stream));
-    }
-
-    /**
-     * Reads the first {@link #getMinLength()} bytes from the given stream.
-     * If the stream is shorter, then the entire content of the stream is
-     * returned.
-     * <p>
-     * The given stream is never {@link InputStream#close() closed},
-     * {@link InputStream#mark(int) marked}, or
-     * {@link InputStream#reset() reset} by this method.
-     *
-     * @param stream stream to be read
-     * @return first {@link #getMinLength()} (or fewer) bytes of the stream
-     * @throws IOException if the stream can not be read
-     */
-    private byte[] readMagicHeader(InputStream stream) throws IOException {
-        if (stream == null) {
-            throw new IllegalArgumentException("InputStream is missing");
-        }
-
-        byte[] bytes = new byte[getMinLength()];
-        int totalRead = 0;
-
-        int lastRead = stream.read(bytes);
-        while (lastRead != -1) {
-            totalRead += lastRead;
-            if (totalRead == bytes.length) {
-                return bytes;
-            }
-            lastRead = stream.read(bytes, totalRead, bytes.length - totalRead);
-        }
-
-        byte[] shorter = new byte[totalRead];
-        System.arraycopy(bytes, 0, shorter, 0, totalRead);
-        return shorter;
-    }
-
-    /**
-     * @deprecated Use the {@link Tika#detect(InputStream, Metadata))} method
-     */
-    public String getType(String typeName, String url, byte[] data) {
-        try {
-            Metadata metadata = new Metadata();
-            if (url != null) {
-                metadata.set(Metadata.RESOURCE_NAME_KEY, url);
-            }
-            if (typeName != null) {
-                metadata.set(Metadata.CONTENT_TYPE, typeName);
-            }
-            return detect(new ByteArrayInputStream(data), metadata).toString();
-        } catch (IOException e) {
-            throw new IllegalStateException(
-                    "ByteArrayInputStream throws an IOException!", e);
-        }
-    }
-
-    /**
-     * Determines the MIME type of the resource pointed to by the specified URL.
-     * Examines the file's header, and if it cannot determine the MIME type
-     * from the header, guesses the MIME type from the URL extension
-     * (e.g. "pdf).
-     *
-     * @deprecated Use the {@link Tika#detect(URL)} method
-     * @param url URL of the document
-     * @return type of the document
-     * @throws IOException if the document can not be accessed
-     */
-    public String getType(URL url) throws IOException {
-        InputStream stream = url.openStream();
-        try {
-            Metadata metadata = new Metadata();
-            metadata.set(Metadata.RESOURCE_NAME_KEY, url.toString());
-            return detect(stream, metadata).toString();
-        } finally {
-            stream.close();
-        }
-    }
-
-    /**
-     * Find the Mime Content Type of a document from its name and its content.
-     * The policy used to guess the Mime Content Type is:
-     * <ol>
-     * <li>Try to find the type based on the provided data.</li>
-     * <li>If a type is found, then return it, otherwise try to find the type
-     * based on the file name</li>
-     * </ol>
-     *
-     *
-     * @deprecated Use the {@link Tika#detect(byte[], String)} method
-     * @param name
-     *            of the document to analyze.
-     * @param data
-     *            are the first bytes of the document's content.
-     * @return the Mime Content Type of the specified document, or
-     *         <code>null</code> if none is found.
-     * @see #getMinLength()
-     */
-    public MimeType getMimeType(String name, byte[] data) {
-        // First, try to get the mime-type from the content
-        MimeType dataType = getMimeType(data);
-
-        // Then, try to get the mime-type from the document name
-        MimeType nameType = getMimeType(name);
-
-        // Use the more specific of the two types
-        if (registry.isSpecializationOf(
-                nameType.getType(), dataType.getType())) {
-            return nameType;
-        } else {
-            return dataType;
-        }
-    }
-
-    /**
-     * Returns the MIME type that best matches the given document name and
-     * the first few bytes of the given document stream.
-     *
-     * @deprecated Use the {@link Tika#detect(InputStream,String)} method
-     * @see #getMimeType(String, byte[])
-     * @param name document name
-     * @param stream document stream
-     * @return matching MIME type, or <code>null</code> if no match is found
-     * @throws IOException if the stream can not be read
-     */
-    public MimeType getMimeType(String name, InputStream stream)
-            throws IOException {
-        return getMimeType(name, readMagicHeader(stream));
-    }
-
-    /**
-     * Returns the registered media type with the given name (or alias).
-     * The named media type is automatically registered (and returned) if
-     * it doesn't already exist.
-     *
-     * @param name media type name (case-insensitive)
-     * @return the registered media type with the given name or alias
-     * @throws MimeTypeException if the given media type name is invalid
-     */
-    public synchronized MimeType forName(String name)
-            throws MimeTypeException {
-        MediaType type = MediaType.parse(name);
-        if (type != null) {
-            MimeType mime = types.get(registry.normalize(type));
-            if (mime == null) {
-                mime = new MimeType(type);
-                add(mime);
-                types.put(type, mime);
-            }
-            return mime;
-        } else {
-            throw new MimeTypeException("Invalid media type name: " + name);
-        }
-    }
-
-    public synchronized void setSuperType(MimeType type, MediaType parent) {
-        registry.addSuperType(type.getType(), parent);
-    }
-
-    /**
-     * Adds an alias for the given media type. This method should only
-     * be called from {@link MimeType#addAlias(String)}.
-     *
-     * @param type media type
-     * @param alias media type alias (normalized to lower case)
-     */
-    synchronized void addAlias(MimeType type, MediaType alias) {
-        registry.addAlias(type.getType(), alias);
-    }
-
-    /**
-     * Adds a file name pattern for the given media type. Assumes that the
-     * pattern being added is <b>not</b> a JDK standard regular expression.
-     *
-     * @param type
-     *            media type
-     * @param pattern
-     *            file name pattern
-     * @throws MimeTypeException
-     *             if the pattern conflicts with existing ones
-     */
-    public void addPattern(MimeType type, String pattern)
-            throws MimeTypeException {
-        this.addPattern(type, pattern, false);
-    }
-
-    /**
-     * Adds a file name pattern for the given media type. The caller can specify
-     * whether the pattern being added <b>is</b> or <b>is not</b> a JDK standard
-     * regular expression via the <code>isRegex</code> parameter. If the value
-     * is set to true, then a JDK standard regex is assumed, otherwise the
-     * freedesktop glob type is assumed.
-     *
-     * @param type
-     *            media type
-     * @param pattern
-     *            file name pattern
-     * @param isRegex
-     *            set to true if JDK std regexs are desired, otherwise set to
-     *            false.
-     * @throws MimeTypeException
-     *             if the pattern conflicts with existing ones.
-     *
-     */
-    public void addPattern(MimeType type, String pattern, boolean isRegex)
-            throws MimeTypeException {
-        patterns.add(pattern, isRegex, type);
-    }
-
-    public MediaTypeRegistry getMediaTypeRegistry() {
-        return registry;
-    }
-
-    /**
-     * Return the minimum length of data to provide to analyzing methods based
-     * on the document's content in order to check all the known MimeTypes.
-     *
-     * @return the minimum length of data to provide.
-     * @see #getMimeType(byte[])
-     * @see #getMimeType(String, byte[])
-     */
-    public int getMinLength() {
-        // This needs to be reasonably large to be able to correctly detect
-        // things like XML root elements after initial comment and DTDs
-        return 8 * 1024;
-    }
-
-    /**
-     * Add the specified mime-type in the repository.
-     *
-     * @param type
-     *            is the mime-type to add.
-     */
-    void add(MimeType type) {
-        registry.addType(type.getType());
-        types.put(type.getType(), type);
-
-        // Update the magics index...
-        if (type.hasMagic()) {
-            magics.addAll(Arrays.asList(type.getMagics()));
-        }
-
-        // Update the xml (xmlRoot) index...
-        if (type.hasRootXML()) {
-            xmls.add(type);
-        }
-    }
-
-    /**
-     * Automatically detects the MIME type of a document based on magic
-     * markers in the stream prefix and any given metadata hints.
-     * <p>
-     * The given stream is expected to support marks, so that this method
-     * can reset the stream to the position it was in before this method
-     * was called.
-     *
-     * @param input document stream, or <code>null</code>
-     * @param metadata metadata hints
-     * @return MIME type of the document
-     * @throws IOException if the document stream could not be read
-     */
-    public MediaType detect(InputStream input, Metadata metadata)
-            throws IOException {
-        MediaType type = MediaType.OCTET_STREAM;
-
-        // Get type based on magic prefix
-        if (input != null) {
-            input.mark(getMinLength());
-            try {
-                byte[] prefix = readMagicHeader(input);
-                type = getMimeType(prefix).getType();
-            } finally {
-                input.reset();
-            }
-        }
-
-        // Get type based on resourceName hint (if available)
-        String resourceName = metadata.get(Metadata.RESOURCE_NAME_KEY);
-        if (resourceName != null) {
-            String name = null;
-
-            // Deal with a URI or a path name in as the resource  name
-            try {
-                URI uri = new URI(resourceName);
-                String path = uri.getPath();
-                if (path != null) {
-                    int slash = path.lastIndexOf('/');
-                    if (slash + 1 < path.length()) {
-                        name = path.substring(slash + 1);
-                    }
-                }
-            } catch (URISyntaxException e) {
-                name = resourceName;
-            }
-
-            if (name != null) {
-                MediaType hint = getMimeType(name).getType();
-                if (registry.isSpecializationOf(hint, type)) {
-                    type = hint;
-                }
-            }
-        }
-
-        // Get type based on metadata hint (if available)
-        String typeName = metadata.get(Metadata.CONTENT_TYPE);
-        if (typeName != null) {
-            try {
-                MediaType hint = forName(typeName).getType();
-                if (registry.isSpecializationOf(hint, type)) {
-                    type = hint;
-                }
-            } catch (MimeTypeException e) {
-                // Malformed type name, ignore
-            }
-        }
-
-        return type;
-    }
-    
-    /**
-     * Get the default MimeTypes
-     * 
-     * @return MimeTypes
-     * @throws MimeTypeException
-     * @throws IOException
-     */
-    public static MimeTypes getDefaultMimeTypes() {
-        try {
-            return MimeTypesFactory.create("tika-mimetypes.xml");
-        } catch (MimeTypeException e) {
-            throw new RuntimeException("Unable to read default mimetypes", e);
-        } catch (IOException e) {
-            throw new RuntimeException("Unable to read default mimetypes", e);
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeTypesFactory.java b/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeTypesFactory.java
deleted file mode 100644
index 8bf3482..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeTypesFactory.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import java.io.InputStream;
-import java.io.IOException;
-import java.net.URL;
-
-import org.w3c.dom.Document;
-
-/**
- * Creates instances of MimeTypes.
- */
-public class MimeTypesFactory {
-
-    /**
-     * Creates an empty instance; same as calling new MimeTypes().
-     *
-     * @return an empty instance
-     */
-    public static MimeTypes create() {
-        return new MimeTypes();
-    }
-
-    /**
-     * Creates and returns a MimeTypes instance from the specified document.
-     * @throws MimeTypeException if the type configuration is invalid
-     */
-    public static MimeTypes create(Document document) throws MimeTypeException {
-        MimeTypes mimeTypes = new MimeTypes();
-        new MimeTypesReader(mimeTypes).read(document);
-        return mimeTypes;
-    }
-
-    /**
-     * Creates and returns a MimeTypes instance from the specified input stream.
-     * Does not close the input stream.
-     * @throws IOException if the stream can not be read
-     * @throws MimeTypeException if the type configuration is invalid
-     */
-    public static MimeTypes create(InputStream inputStream)
-            throws IOException, MimeTypeException {
-        MimeTypes mimeTypes = new MimeTypes();
-        new MimeTypesReader(mimeTypes).read(inputStream);
-        return mimeTypes;
-    }
-
-    /**
-     * Creates and returns a MimeTypes instance from the resource
-     * at the location specified by the URL.  Opens and closes the
-     * InputStream from the URL.
-     *
-     * @throws IOException if the URL can not be accessed
-     * @throws MimeTypeException if the type configuration is invalid
-     */
-    public static MimeTypes create(URL url)
-            throws IOException, MimeTypeException {
-        InputStream stream = url.openStream();
-        try {
-            return create(stream);
-        } finally {
-            stream.close();
-        }
-    }
-
-    /**
-     * Creates and returns a MimeTypes instance from the specified file path,
-     * as interpreted by the class loader in getResource().
-     *
-     * @throws IOException if the file can not be accessed
-     * @throws MimeTypeException if the type configuration is invalid
-     */
-    public static MimeTypes create(String filePath)
-            throws IOException, MimeTypeException {
-        return create(MimeTypesReader.class.getResource(filePath));
-    }
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReader.java b/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReader.java
deleted file mode 100644
index 22eec19..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReader.java
+++ /dev/null
@@ -1,366 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import org.apache.tika.detect.MagicDetector;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-import org.w3c.dom.Element;
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.NamedNodeMap;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-/**
- * A reader for XML files compliant with the freedesktop MIME-info DTD.
- * 
- * <pre>
- *  &lt;!DOCTYPE mime-info [
- *    &lt;!ELEMENT mime-info (mime-type)+&gt;
- *    &lt;!ATTLIST mime-info xmlns CDATA #FIXED &quot;http://www.freedesktop.org/standards/shared-mime-info&quot;&gt;
- * 
- *    &lt;!ELEMENT mime-type (comment|acronym|expanded-acronym|glob|magic|root-XML|alias|sub-class-of)*&gt;
- *    &lt;!ATTLIST mime-type type CDATA #REQUIRED&gt;
- * 
- *    &lt;!-- a comment describing a document with the respective MIME type. Example: &quot;WMV video&quot; --&gt;
- *    &lt;!ELEMENT _comment (#PCDATA)&gt;
- *    &lt;!ATTLIST _comment xml:lang CDATA #IMPLIED&gt;
- * 
- *    &lt;!-- a comment describing a the respective unexpanded MIME type acronym. Example: &quot;WMV&quot; --&gt;
- *    &lt;!ELEMENT acronym (#PCDATA)&gt;
- *    &lt;!ATTLIST acronym xml:lang CDATA #IMPLIED&gt;
- * 
- *    &lt;!-- a comment describing a the respective unexpanded MIME type acronym. Example: &quot;Windows Media Video&quot; --&gt;
- *    &lt;!ELEMENT expanded-acronym (#PCDATA)&gt;
- *    &lt;!ATTLIST expanded-acronym xml:lang CDATA #IMPLIED&gt;
- * 
- *    &lt;!ELEMENT glob EMPTY&gt;
- *    &lt;!ATTLIST glob pattern CDATA #REQUIRED&gt;
- *    &lt;!ATTLIST glob isregex CDATA #IMPLIED&gt;
- * 
- *    &lt;!ELEMENT magic (match)+&gt;
- *    &lt;!ATTLIST magic priority CDATA #IMPLIED&gt;
- * 
- *    &lt;!ELEMENT match (match)*&gt;
- *    &lt;!ATTLIST match offset CDATA #REQUIRED&gt;
- *    &lt;!ATTLIST match type (string|big16|big32|little16|little32|host16|host32|byte) #REQUIRED&gt;
- *    &lt;!ATTLIST match value CDATA #REQUIRED&gt;
- *    &lt;!ATTLIST match mask CDATA #IMPLIED&gt;
- * 
- *    &lt;!ELEMENT root-XML EMPTY&gt;
- *    &lt;!ATTLIST root-XML
- *          namespaceURI CDATA #REQUIRED
- *          localName CDATA #REQUIRED&gt;
- * 
- *    &lt;!ELEMENT alias EMPTY&gt;
- *    &lt;!ATTLIST alias
- *          type CDATA #REQUIRED&gt;
- * 
- *   &lt;!ELEMENT sub-class-of EMPTY&gt;
- *   &lt;!ATTLIST sub-class-of
- *         type CDATA #REQUIRED&gt;
- *  ]&gt;
- * </pre>
- * 
- * 
- * @see http://freedesktop.org/wiki/Standards_2fshared_2dmime_2dinfo_2dspec
- * 
- */
-final class MimeTypesReader implements MimeTypesReaderMetKeys {
-
-    private final MimeTypes types;
-
-    MimeTypesReader(MimeTypes types) {
-        this.types = types;
-    }
-
-    void read(InputStream stream) throws IOException, MimeTypeException {
-        try {
-            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-            DocumentBuilder builder = factory.newDocumentBuilder();
-            Document document = builder.parse(new InputSource(stream));
-            read(document);
-        } catch (ParserConfigurationException e) {
-            throw new MimeTypeException("Unable to create an XML parser", e);
-        } catch (SAXException e) {
-            throw new MimeTypeException("Invalid type configuration", e);
-        }
-    }
-
-    void read(Document document) throws MimeTypeException {
-        Element element = document.getDocumentElement();
-        if (element != null && element.getTagName().equals(MIME_INFO_TAG)) {
-            NodeList nodes = element.getChildNodes();
-            for (int i = 0; i < nodes.getLength(); i++) {
-                Node node = nodes.item(i);
-                if (node.getNodeType() == Node.ELEMENT_NODE) {
-                    Element child = (Element) node;
-                    if (child.getTagName().equals(MIME_TYPE_TAG)) {
-                        readMimeType(child);
-                    }
-                }
-            }
-        } else {
-            throw new MimeTypeException(
-                    "Not a <" + MIME_INFO_TAG + "/> configuration document: "
-                    + element.getTagName());
-        }
-    }
-
-    /** Read Element named mime-type. */
-    private void readMimeType(Element element) throws MimeTypeException {
-        String name = element.getAttribute(MIME_TYPE_TYPE_ATTR);
-        MimeType type = types.forName(name);
-
-        NodeList nodes = element.getChildNodes();
-        for (int i = 0; i < nodes.getLength(); i++) {
-            Node node = nodes.item(i);
-            if (node.getNodeType() == Node.ELEMENT_NODE) {
-                Element nodeElement = (Element) node;
-                if (nodeElement.getTagName().equals(COMMENT_TAG)) {
-                    type.setDescription(
-                            nodeElement.getFirstChild().getNodeValue());
-                } else if (nodeElement.getTagName().equals(GLOB_TAG)) {
-                    boolean useRegex = Boolean.valueOf(nodeElement.getAttribute(ISREGEX_ATTR));
-                    types.addPattern(type, nodeElement.getAttribute(PATTERN_ATTR), useRegex);
-                } else if (nodeElement.getTagName().equals(MAGIC_TAG)) {
-                    readMagic(nodeElement, type);
-                } else if (nodeElement.getTagName().equals(ALIAS_TAG)) {
-                    String alias = nodeElement.getAttribute(ALIAS_TYPE_ATTR);
-                    MediaType aliasType = MediaType.parse(alias);
-                    if (aliasType != null) {
-                        types.addAlias(type, aliasType);
-                    } else {
-                        throw new MimeTypeException(
-                                "Invalid media type alias: " + alias);
-                    }
-                } else if (nodeElement.getTagName().equals(ROOT_XML_TAG)) {
-                    readRootXML(nodeElement, type);
-                } else if (nodeElement.getTagName().equals(SUB_CLASS_OF_TAG)) {
-                    String parent = nodeElement.getAttribute(SUB_CLASS_TYPE_ATTR);
-                    types.setSuperType(type, MediaType.parse(parent));
-                }
-            }
-        }
-
-        types.add(type);
-    }
-
-    /**
-     * Read Element named magic. 
-     * @throws MimeTypeException if the configuration is invalid
-     */
-    private void readMagic(Element element, MimeType mimeType)
-            throws MimeTypeException {
-        int priority = 50;
-        String value = element.getAttribute(MAGIC_PRIORITY_ATTR);
-        if (value != null && value.length() > 0) {
-            priority = Integer.parseInt(value);
-        }
-
-        for (Clause clause : readMatches(element, mimeType.getType())) {
-            Magic magic = new Magic(mimeType);
-            magic.setPriority(priority);
-            magic.setClause(clause);
-            mimeType.addMagic(magic);
-        }
-    }
-
-    private List<Clause> readMatches(Element element, MediaType mediaType) throws MimeTypeException {
-        List<Clause> clauses = new ArrayList<Clause>();
-        NodeList nodes = element.getChildNodes();
-        for (int i = 0; i < nodes.getLength(); i++) {
-            Node node = nodes.item(i);
-            if (node.getNodeType() == Node.ELEMENT_NODE) {
-                Element nodeElement = (Element) node;
-                if (nodeElement.getTagName().equals(MATCH_TAG)) {
-                    clauses.add(readMatch(nodeElement, mediaType));
-                }
-            }
-        }
-        return clauses;
-    }
-
-    /** Read Element named match. */
-    private Clause readMatch(Element element, MediaType mediaType) throws MimeTypeException {
-        String type = "string";
-        int start = 0;
-        int end = 0;
-        String value = null;
-        String mask = null;
-
-        NamedNodeMap attrs = element.getAttributes();
-        for (int i = 0; i < attrs.getLength(); i++) {
-            Attr attr = (Attr) attrs.item(i);
-            if (attr.getName().equals(MATCH_OFFSET_ATTR)) {
-                String offset = attr.getValue();
-                int colon = offset.indexOf(':');
-                if (colon == -1) {
-                    start = Integer.parseInt(offset);
-                    end = start;
-                } else {
-                    start = Integer.parseInt(offset.substring(0, colon));
-                    end = Integer.parseInt(offset.substring(colon + 1));
-                }
-            } else if (attr.getName().equals(MATCH_TYPE_ATTR)) {
-                type = attr.getValue();
-            } else if (attr.getName().equals(MATCH_VALUE_ATTR)) {
-                value = attr.getValue();
-            } else if (attr.getName().equals(MATCH_MASK_ATTR)) {
-                mask = attr.getValue();
-            }
-        }
-
-        if (value == null) {
-            throw new MimeTypeException("Missing magic byte pattern");
-        } else if (start < 0 || end < start) {
-            throw new MimeTypeException(
-                    "Invalid offset range: [" + start + "," + end + "]");
-        }
-
-        byte[] patternBytes = decodeValue(type, value);
-        int length = patternBytes.length;
-        byte[] maskBytes = null;
-        if (mask != null) {
-            maskBytes = decodeValue(type, mask);
-            length = Math.max(patternBytes.length, maskBytes.length);
-        }
-
-        MagicDetector detector = new MagicDetector(
-                mediaType, patternBytes, maskBytes, start, end);
-        Clause clause = new MagicMatch(detector, length);
-
-        List<Clause> subClauses = readMatches(element, mediaType);
-        if (subClauses.size() == 0) {
-            return clause;
-        } else if (subClauses.size() == 1) {
-            return new AndClause(clause, subClauses.get(0));
-        } else {
-            return new AndClause(clause, new OrClause(subClauses));
-        }
-    }
-
-    private byte[] decodeValue(String type, String value)
-            throws MimeTypeException {
-        // Preliminary check
-        if ((value == null) || (type == null)) {
-            return null;
-        }
-
-        byte[] decoded = null;
-        String tmpVal = null;
-        int radix = 8;
-
-        // hex
-        if (value.startsWith("0x")) {
-            tmpVal = value.substring(2);
-            radix = 16;
-        } else {
-            tmpVal = value;
-            radix = 8;
-        }
-
-        if (type.equals("string")) {
-            decoded = decodeString(value);
-
-        } else if (type.equals("byte")) {
-            decoded = tmpVal.getBytes();
-
-        } else if (type.equals("host16") || type.equals("little16")) {
-            int i = Integer.parseInt(tmpVal, radix);
-            decoded = new byte[] { (byte) (i >> 8), (byte) (i & 0x00FF) };
-
-        } else if (type.equals("big16")) {
-            int i = Integer.parseInt(tmpVal, radix);
-            decoded = new byte[] { (byte) (i >> 8), (byte) (i & 0x00FF) };
-
-        } else if (type.equals("host32") || type.equals("little32")) {
-            long i = Long.parseLong(tmpVal, radix);
-            decoded = new byte[] { (byte) ((i & 0x000000FF)),
-                    (byte) ((i & 0x0000FF00) >> 8),
-                    (byte) ((i & 0x00FF0000) >> 16),
-                    (byte) ((i & 0xFF000000) >> 24) };
-
-        } else if (type.equals("big32")) {
-            long i = Long.parseLong(tmpVal, radix);
-            decoded = new byte[] { (byte) ((i & 0xFF000000) >> 24),
-                    (byte) ((i & 0x00FF0000) >> 16),
-                    (byte) ((i & 0x0000FF00) >> 8), (byte) ((i & 0x000000FF)) };
-        }
-        return decoded;
-    }
-
-    private byte[] decodeString(String value) throws MimeTypeException {
-        if (value.startsWith("0x")) {
-            byte[] bytes = new byte[(value.length() - 2) / 2];
-            for (int i = 0; i < bytes.length; i++) {
-                bytes[i] = (byte)
-                Integer.parseInt(value.substring(2 + i * 2, 4 + i * 2), 16);
-            }
-            return bytes;
-        }
-
-        try {
-            ByteArrayOutputStream decoded = new ByteArrayOutputStream();
-
-            for (int i = 0; i < value.length(); i++) {
-                if (value.charAt(i) == '\\') {
-                    if (value.charAt(i + 1) == '\\') {
-                        decoded.write('\\');
-                        i++;
-                    } else if (value.charAt(i + 1) == 'x') {
-                        decoded.write(Integer.parseInt(
-                                value.substring(i + 2, i + 4), 16));
-                        i += 3;
-                    } else {
-                        int j = i + 1;
-                        while ((j < i + 4) && (j < value.length())
-                                && (Character.isDigit(value.charAt(j)))) {
-                            j++;
-                        }
-                        decoded.write(Short.decode(
-                                "0" + value.substring(i + 1, j)).byteValue());
-                        i = j - 1;
-                    }
-                } else {
-                    decoded.write(value.charAt(i));
-                }
-            }
-            return decoded.toByteArray();
-        } catch (NumberFormatException e) {
-            throw new MimeTypeException("Invalid string value: " + value, e);
-        }
-    }
-
-    /** Read Element named root-XML. */
-    private void readRootXML(Element element, MimeType mimeType) {
-        mimeType.addRootXML(element.getAttribute(NS_URI_ATTR), element
-                .getAttribute(LOCAL_NAME_ATTR));
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReaderMetKeys.java b/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReaderMetKeys.java
deleted file mode 100644
index 64780ff..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReaderMetKeys.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-/**
- * Met Keys used by the {@link MimeTypesReader}.
- */
-public interface MimeTypesReaderMetKeys {
-
-    String MIME_INFO_TAG = "mime-info";
-
-    String MIME_TYPE_TAG = "mime-type";
-
-    String MIME_TYPE_TYPE_ATTR = "type";
-
-    String COMMENT_TAG = "_comment";
-
-    String GLOB_TAG = "glob";
-
-    String ISREGEX_ATTR = "isregex";
-
-    String PATTERN_ATTR = "pattern";
-
-    String MAGIC_TAG = "magic";
-
-    String ALIAS_TAG = "alias";
-
-    String ALIAS_TYPE_ATTR = "type";
-
-    String ROOT_XML_TAG = "root-XML";
-
-    String SUB_CLASS_OF_TAG = "sub-class-of";
-
-    String SUB_CLASS_TYPE_ATTR = "type";
-
-    String MAGIC_PRIORITY_ATTR = "priority";
-
-    String MATCH_TAG = "match";
-
-    String MATCH_OFFSET_ATTR = "offset";
-
-    String MATCH_TYPE_ATTR = "type";
-
-    String MATCH_VALUE_ATTR = "value";
-
-    String MATCH_MASK_ATTR = "mask";
-
-    String NS_URI_ATTR = "namespaceURI";
-
-    String LOCAL_NAME_ATTR = "localName";
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/mime/OrClause.java b/trunk/tika-core/src/main/java/org/apache/tika/mime/OrClause.java
deleted file mode 100644
index 6a2f212..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/mime/OrClause.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import java.util.List;
-
-class OrClause implements Clause {
-
-    private final List<Clause> clauses;
-
-    OrClause(List<Clause> clauses) {
-        this.clauses = clauses;
-    }
-
-    public boolean eval(byte[] data) {
-        for (Clause clause : clauses) {
-            if (clause.eval(data)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public int size() {
-        int size = 0;
-        for (Clause clause : clauses) {
-            size = Math.max(size, clause.size());
-        }
-        return size;
-    }
-
-    public String toString() {
-        return "or" + clauses;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/mime/Patterns.java b/trunk/tika-core/src/main/java/org/apache/tika/mime/Patterns.java
deleted file mode 100644
index ab76bb4..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/mime/Patterns.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import java.io.Serializable;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
-/**
- * Defines a MimeType pattern.
- */
-class Patterns implements Serializable {
-
-    /**
-     * Serial version UID.
-     */
-    private static final long serialVersionUID = -5778015347278111140L;
-
-    private final MediaTypeRegistry registry;
-
-    /**
-     * Index of exact name patterns.
-     */
-    private final Map<String, MimeType> names = new HashMap<String, MimeType>();
-
-    /**
-     * Index of extension patterns of the form "*extension".
-     */
-    private final Map<String, MimeType> extensions =
-        new HashMap<String, MimeType>();
-
-    private int minExtensionLength = Integer.MAX_VALUE;
-
-    private int maxExtensionLength = 0;
-
-    /**
-     * Index of generic glob patterns, sorted by length.
-     */
-    private final SortedMap<String, MimeType> globs =
-        new TreeMap<String, MimeType>(new LengthComparator());
-
-    private final class LengthComparator
-            implements Comparator<String>, Serializable {
-
-        /**
-         * Serial version UID.
-         */
-        private static final long serialVersionUID = 8468289702915532359L;
-
-        public int compare(String a, String b) {
-            int diff = b.length() - a.length();
-            if (diff == 0) {
-                diff = a.compareTo(b);
-            }
-            return diff;
-        }
-
-    }
-
-    public Patterns(MediaTypeRegistry registry) {
-        this.registry = registry;
-    }
-
-    public void add(String pattern, MimeType type) throws MimeTypeException {
-        this.add(pattern, false, type);
-    }
-   
-    public void add(String pattern, boolean isJavaRegex, MimeType type)
-            throws MimeTypeException {
-        if (pattern == null || type == null) {
-            throw new IllegalArgumentException(
-                    "Pattern and/or mime type is missing");
-        }
-        
-        if (isJavaRegex) {
-            // in this case, we don't need to build a regex pattern
-            // it's already there for us, so just add the pattern as is
-            addGlob(pattern, type);
-        } else {
-
-            if (pattern.indexOf('*') == -1 && pattern.indexOf('?') == -1
-                    && pattern.indexOf('[') == -1) {
-                addName(pattern, type);
-            } else if (pattern.startsWith("*") && pattern.indexOf('*', 1) == -1
-                    && pattern.indexOf('?') == -1 && pattern.indexOf('[') == -1) {
-                String extension = pattern.substring(1);
-                addExtension(extension, type);
-                if (type.getExtension().length()==0) {
-                    type.setExtension(extension);
-                }
-            } else {
-                addGlob(compile(pattern), type);
-            }
-        }
-    }
-    
-    private void addName(String name, MimeType type) throws MimeTypeException {
-        MimeType previous = names.get(name);
-        if (previous == null
-                || registry.isSpecializationOf(previous.getType(), type.getType())) {
-            names.put(name, type);
-        } else if (previous == type
-                || registry.isSpecializationOf(type.getType(), previous.getType())) {
-            // do nothing
-        } else {
-            throw new MimeTypeException("Conflicting name pattern: " + name);
-        }
-    }
-
-    private void addExtension(String extension, MimeType type)
-            throws MimeTypeException {
-        MimeType previous = extensions.get(extension);
-        if (previous == null
-                || registry.isSpecializationOf(previous.getType(), type.getType())) {
-            extensions.put(extension, type);
-            int length = extension.length();
-            minExtensionLength = Math.min(minExtensionLength, length);
-            maxExtensionLength = Math.max(maxExtensionLength, length);
-        } else if (previous == type
-                || registry.isSpecializationOf(type.getType(), previous.getType())) {
-            // do nothing
-        } else {
-            throw new MimeTypeException(
-                    "Conflicting extension pattern: " + extension);
-        }
-    }
-
-    private void addGlob(String glob, MimeType type)
-            throws MimeTypeException {
-        MimeType previous = globs.get(glob);
-        if (previous == null
-                || registry.isSpecializationOf(previous.getType(), type.getType())) {
-            globs.put(glob, type);
-        } else if (previous == type
-                || registry.isSpecializationOf(type.getType(), previous.getType())) {
-            // do nothing
-        } else {
-            throw new MimeTypeException("Conflicting glob pattern: " + glob);
-        }
-    }
-
-    /**
-     * Find the MimeType corresponding to a resource name.
-     * 
-     * It applies the recommendations detailed in FreeDesktop Shared MIME-info
-     * Database for guessing MimeType from a resource name: It first tries a
-     * case-sensitive match, then try again with the resource name converted to
-     * lower-case if that fails. If several patterns match then the longest
-     * pattern is used. In particular, files with multiple extensions (such as
-     * Data.tar.gz) match the longest sequence of extensions (eg '*.tar.gz' in
-     * preference to '*.gz'). Literal patterns (eg, 'Makefile') are matched
-     * before all others. Patterns beginning with `*.' and containing no other
-     * special characters (`*?[') are matched before other wildcarded patterns
-     * (since this covers the majority of the patterns).
-     */
-    public MimeType matches(String name) {
-        if (name == null) {
-            throw new IllegalArgumentException("Name is missing");
-        }
-
-        // First, try exact match of the provided resource name
-        if (names.containsKey(name)) {
-            return names.get(name);
-        }
-
-        // Then try "extension" (*.xxx) matching
-        int maxLength = Math.min(maxExtensionLength, name.length());
-        for (int n = maxLength; n >= minExtensionLength; n--) {
-            String extension = name.substring(name.length() - n);
-            if (extensions.containsKey(extension)) {
-                return extensions.get(extension);
-            }
-        }
-
-        // And finally, try complex regexp matching
-        for (Map.Entry<String, MimeType> entry : globs.entrySet()) {
-            if (name.matches(entry.getKey())) {
-                return entry.getValue();
-            }
-        }
-
-        return null;
-    }
-
-    private String compile(String glob) {
-        StringBuilder pattern = new StringBuilder();
-        pattern.append("\\A");
-        for (int i = 0; i < glob.length(); i++) {
-            char ch = glob.charAt(i);
-            if (ch == '?') {
-                pattern.append('.');
-            } else if (ch == '*') {
-                pattern.append(".*");
-            } else if ("\\[]^.-$+(){}|".indexOf(ch) != -1) {
-                pattern.append('\\');
-                pattern.append(ch);
-            } else {
-                pattern.append(ch);
-            }
-        }
-        pattern.append("\\z");
-        return pattern.toString();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/parser/AutoDetectParser.java b/trunk/tika-core/src/main/java/org/apache/tika/parser/AutoDetectParser.java
deleted file mode 100644
index 7f26178..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/parser/AutoDetectParser.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.tika.config.TikaConfig;
-import org.apache.tika.detect.DefaultDetector;
-import org.apache.tika.detect.Detector;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.CountingInputStream;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.mime.MediaTypeRegistry;
-import org.apache.tika.sax.SecureContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-public class AutoDetectParser extends CompositeParser {
-
-    /** Serial version UID */
-    private static final long serialVersionUID = 6110455808615143122L;
-
-    /**
-     * The type detector used by this parser to auto-detect the type
-     * of a document.
-     */
-    private Detector detector; // always set in the constructor
-
-    /**
-     * Creates an auto-detecting parser instance using the default Tika
-     * configuration.
-     */
-    public AutoDetectParser() {
-        this(TikaConfig.getDefaultConfig());
-    }
-
-    public AutoDetectParser(Detector detector) {
-        this(TikaConfig.getDefaultConfig());
-        setDetector(detector);
-    }
-
-    /**
-     * Creates an auto-detecting parser instance using the specified set of parser.
-     * This allows one to create a Tika configuration where only a subset of the
-     * available parsers have their 3rd party jars included, as otherwise the
-     * use of the default TikaConfig will throw various "ClassNotFound" exceptions.
-     * 
-     * @param detector Detector to use
-     * @param parsers
-     */
-    public AutoDetectParser(Parser...parsers) {
-        this(new DefaultDetector(), parsers);
-    }
-
-    public AutoDetectParser(Detector detector, Parser...parsers) {
-        super(MediaTypeRegistry.getDefaultRegistry(), parsers);
-        setDetector(detector);
-    }
-
-    public AutoDetectParser(TikaConfig config) {
-        super(config.getMediaTypeRegistry(), config.getParser());
-        setDetector(new DefaultDetector(config.getMimeRepository()));
-    }
-
-    /**
-     * @deprecated This method will be removed in Tika 1.0
-     */
-    public void setConfig(TikaConfig config) {
-        setParsers(config.getParsers());
-        setDetector(new DefaultDetector(config.getMimeRepository()));
-        setMediaTypeRegistry(config.getMediaTypeRegistry());
-    }
-
-    /**
-     * Returns the type detector used by this parser to auto-detect the type
-     * of a document.
-     *
-     * @return type detector
-     * @since Apache Tika 0.4
-     */
-    public Detector getDetector() {
-        return detector;
-    }
-
-    /**
-     * Sets the type detector used by this parser to auto-detect the type
-     * of a document.
-     *
-     * @param detector type detector
-     * @since Apache Tika 0.4
-     */
-    public void setDetector(Detector detector) {
-        this.detector = detector;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        if(stream instanceof TikaInputStream || stream instanceof BufferedInputStream) {
-           // Input stream can be trusted for type detection
-        } else {
-           // We need (reliable!) mark support for type detection before parsing
-           stream = new BufferedInputStream(stream);
-        }
-
-        // Automatically detect the MIME type of the document
-        MediaType type = detector.detect(stream, metadata);
-        metadata.set(Metadata.CONTENT_TYPE, type.toString());
-
-        // TIKA-216: Zip bomb prevention
-        CountingInputStream count = new CountingInputStream(stream);
-        SecureContentHandler secure = new SecureContentHandler(handler, count);
-
-        // Parse the document
-        try {
-            super.parse(count, secure, metadata, context);
-        } catch (SAXException e) {
-            // Convert zip bomb exceptions to TikaExceptions
-            secure.throwIfCauseOf(e);
-            throw e;
-        }
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        ParseContext context = new ParseContext();
-        context.set(Parser.class, this);
-        parse(stream, handler, metadata, context);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/parser/CompositeParser.java b/trunk/tika-core/src/main/java/org/apache/tika/parser/CompositeParser.java
deleted file mode 100644
index 3224d80..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/parser/CompositeParser.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.TaggedInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.mime.MediaTypeRegistry;
-import org.apache.tika.sax.TaggedContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Composite parser that delegates parsing tasks to a component parser
- * based on the declared content type of the incoming document. A fallback
- * parser is defined for cases where a parser for the given content type is
- * not available.
- */
-public class CompositeParser implements Parser {
-
-    /** Serial version UID */
-    private static final long serialVersionUID = 2192845797749627824L;
-
-    /**
-     * Media type registry.
-     */
-    private MediaTypeRegistry registry;
-
-    /**
-     * List of component parsers.
-     */
-    private List<Parser> parsers;
-
-    /**
-     * The fallback parser, used when no better parser is available.
-     */
-    private Parser fallback = new EmptyParser();
-
-    public CompositeParser(MediaTypeRegistry registry, List<Parser> parsers) {
-        this.parsers = parsers;
-        this.registry = registry;
-    }
-
-    public CompositeParser(MediaTypeRegistry registry, Parser... parsers) {
-        this(registry, Arrays.asList(parsers));
-    }
-
-    public CompositeParser() {
-        this(new MediaTypeRegistry());
-    }
-
-    public Map<MediaType, Parser> getParsers(ParseContext context) {
-        Map<MediaType, Parser> map = new HashMap<MediaType, Parser>();
-        for (Parser parser : parsers) {
-            for (MediaType type : parser.getSupportedTypes(context)) {
-                map.put(type, parser);
-            }
-        }
-        return map;
-    }
-
-    /**
-     * Returns the media type registry used to infer type relationships.
-     *
-     * @since Apache Tika 0.8
-     * @return media type registry
-     */
-    public MediaTypeRegistry getMediaTypeRegistry() {
-        return registry;
-    }
-
-    /**
-     * Sets the media type registry used to infer type relationships.
-     *
-     * @since Apache Tika 0.8
-     * @param registry media type registry
-     */
-    public void setMediaTypeRegistry(MediaTypeRegistry registry) {
-        this.registry = registry;
-    }
-
-    /**
-     * Returns the component parsers.
-     *
-     * @return component parsers, keyed by media type
-     */
-    public Map<MediaType, Parser> getParsers() {
-        return getParsers(new ParseContext());
-    }
-
-    /**
-     * Sets the component parsers.
-     *
-     * @param parsers component parsers, keyed by media type
-     */
-    public void setParsers(Map<MediaType, Parser> parsers) {
-        this.parsers = new ArrayList<Parser>(parsers.size());
-        for (Map.Entry<MediaType, Parser> entry : parsers.entrySet()) {
-            this.parsers.add(ParserDecorator.withTypes(
-                    entry.getValue(), Collections.singleton(entry.getKey())));
-        }
-    }
-
-    /**
-     * Returns the fallback parser.
-     *
-     * @return fallback parser
-     */
-    public Parser getFallback() {
-        return fallback;
-    }
-
-    /**
-     * Sets the fallback parser.
-     *
-     * @param fallback fallback parser
-     */
-    public void setFallback(Parser fallback) {
-        this.fallback = fallback;
-    }
-
-    /**
-     * Returns the parser that best matches the given metadata. By default
-     * looks for a parser that matches the content type metadata property,
-     * and uses the fallback parser if a better match is not found. The
-     * type hierarchy information included in the configured media type
-     * registry is used when looking for a matching parser instance.
-     * <p>
-     * Subclasses can override this method to provide more accurate
-     * parser resolution.
-     *
-     * @param metadata document metadata
-     * @return matching parser
-     */
-    protected Parser getParser(Metadata metadata) {
-        return getParser(metadata, new ParseContext());
-    }
-
-    protected Parser getParser(Metadata metadata, ParseContext context) {
-        Map<MediaType, Parser> map = getParsers(context);
-        MediaType type = MediaType.parse(metadata.get(Metadata.CONTENT_TYPE));
-        while (type != null) {
-            Parser parser = map.get(type);
-            if (parser != null) {
-                return parser;
-            }
-            type = registry.getSupertype(type);
-        }
-        return fallback;
-    }
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return getParsers(context).keySet();
-    }
-
-    /**
-     * Delegates the call to the matching component parser.
-     * <p>
-     * Potential {@link RuntimeException}s, {@link IOException}s and
-     * {@link SAXException}s unrelated to the given input stream and content
-     * handler are automatically wrapped into {@link TikaException}s to better
-     * honor the {@link Parser} contract.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        Parser parser = getParser(metadata);
-        TaggedInputStream taggedStream = new TaggedInputStream(stream);
-        TaggedContentHandler taggedHandler = new TaggedContentHandler(handler);
-        try {
-            parser.parse(taggedStream, taggedHandler, metadata, context);
-        } catch (RuntimeException e) {
-            throw new TikaException(
-                    "Unexpected RuntimeException from " + parser, e);
-        } catch (IOException e) {
-            taggedStream.throwIfCauseOf(e);
-            throw new TikaException(
-                    "TIKA-198: Illegal IOException from " + parser, e);
-        } catch (SAXException e) {
-            taggedHandler.throwIfCauseOf(e);
-            throw new TikaException(
-                    "TIKA-237: Illegal SAXException from " + parser, e);
-        }
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/parser/DefaultParser.java b/trunk/tika-core/src/main/java/org/apache/tika/parser/DefaultParser.java
deleted file mode 100644
index 31556d3..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/parser/DefaultParser.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser;
-
-import javax.imageio.spi.ServiceRegistry;
-
-import org.apache.tika.config.ServiceLoader;
-import org.apache.tika.mime.MediaTypeRegistry;
-
-/**
- * A composite parser based on all the {@link Parser} implementations
- * available through the {@link ServiceRegistry service provider mechanism}.
- *
- * @since Apache Tika 0.8
- */
-public class DefaultParser extends CompositeParser {
-
-    /** Serial version UID */
-    private static final long serialVersionUID = 3612324825403757520L;
-
-    private DefaultParser(ServiceLoader loader) {
-        super(new MediaTypeRegistry(),
-                loader.loadServiceProviders(Parser.class));
-    }
-
-    public DefaultParser(ClassLoader loader) {
-        this(new ServiceLoader(loader));
-    }
-
-    public DefaultParser() {
-        this(new ServiceLoader());
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/parser/DelegatingParser.java b/trunk/tika-core/src/main/java/org/apache/tika/parser/DelegatingParser.java
deleted file mode 100644
index b4f382a..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/parser/DelegatingParser.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Base class for parser implementations that want to delegate parts of the
- * task of parsing an input document to another parser. The delegate parser
- * is looked up from the parsing context using the {@link Parser} class as
- * the key.
- *
- * @since Apache Tika 0.4, major changes in Tika 0.5
- */
-public class DelegatingParser implements Parser {
-
-    /**
-     * Returns the parser instance to which parsing tasks should be delegated.
-     * The default implementation looks up the delegate parser from the given
-     * parse context, and uses an {@link EmptyParser} instance as a fallback.
-     * Subclasses can override this method to implement alternative delegation
-     * strategies.
-     *
-     * @since Apache Tika 0.7
-     * @param context parse context
-     * @return delegate parser
-     */
-    protected Parser getDelegateParser(ParseContext context) {
-        return context.get(Parser.class, EmptyParser.INSTANCE);
-    }
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return getDelegateParser(context).getSupportedTypes(context);
-    }
-
-    /**
-     * Looks up the delegate parser from the parsing context and
-     * delegates the parse operation to it. If a delegate parser is not
-     * found, then an empty XHTML document is returned.
-     * <p>
-     * Subclasses should override this method to parse the top level
-     * structure of the given document stream. Parsed sub-streams can
-     * be passed to this base class method to be parsed by the configured
-     * delegate parser.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws SAXException, IOException, TikaException {
-        getDelegateParser(context).parse(stream, handler, metadata, context);
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/parser/EmptyParser.java b/trunk/tika-core/src/main/java/org/apache/tika/parser/EmptyParser.java
deleted file mode 100644
index 14f8bf2..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/parser/EmptyParser.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Dummy parser that always produces an empty XHTML document without even
- * attempting to parse the given document stream. Useful as a sentinel parser
- * for unknown document types.
- */
-public class EmptyParser implements Parser {
-
-    /**
-     * Serial version UID.
-     */
-    private static final long serialVersionUID = -4218649699095732123L;
-
-    /**
-     * Singleton instance of this class.
-     */
-    public static EmptyParser INSTANCE = new EmptyParser();
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return Collections.emptySet();
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws SAXException {
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-        xhtml.endDocument();
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/parser/ErrorParser.java b/trunk/tika-core/src/main/java/org/apache/tika/parser/ErrorParser.java
deleted file mode 100644
index abed03d..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/parser/ErrorParser.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Dummy parser that always throws a {@link TikaException} without even
- * attempting to parse the given document stream. Useful as a sentinel parser
- * for unknown document types.
- */
-public class ErrorParser implements Parser {
-
-    /**
-     * Singleton instance of this class.
-     */
-    public static final ErrorParser INSTANCE = new ErrorParser();
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return Collections.emptySet();
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws TikaException {
-        throw new TikaException("Parse error");
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/parser/ExternalParser.java b/trunk/tika-core/src/main/java/org/apache/tika/parser/ExternalParser.java
deleted file mode 100644
index dd254d3..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/parser/ExternalParser.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.IOUtils;
-import org.apache.tika.io.NullOutputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Parser that uses an external program (like catdoc or pdf2txt) to extract
- * text content from a given document.
- */
-public class ExternalParser implements Parser {
-
-    /**
-     * Media types supported by the external program.
-     */
-    private Set<MediaType> supportedTypes = Collections.emptySet();
-
-    /**
-     * The external command to invoke.
-     * @see Runtime#exec(String)
-     */
-    private String command = "cat";
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return getSupportedTypes();
-    }
-
-    public Set<MediaType> getSupportedTypes() {
-        return supportedTypes;
-    }
-
-    public void setSupportedTypes(Set<MediaType> supportedTypes) {
-        this.supportedTypes =
-            Collections.unmodifiableSet(new HashSet<MediaType>(supportedTypes));
-    }
-
-    public String getCommand() {
-        return command;
-    }
-
-    public void setCommand(String command) {
-        this.command = command;
-    }
-
-    /**
-     * Executes the configured external command and passes the given document
-     * stream as a simple XHTML document to the given SAX content handler.
-     * No metadata is extracted.
-     */
-    public void parse(
-            final InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        XHTMLContentHandler xhtml =
-            new XHTMLContentHandler(handler, metadata);
-
-        Process process = Runtime.getRuntime().exec(command);
-        try {
-            sendInput(process, stream);
-            ignoreError(process);
-            extractOutput(process, xhtml);
-        } finally {
-            try {
-                process.waitFor();
-            } catch (InterruptedException ignore) {
-            }
-        }
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-    /**
-     * Starts a thread that extracts the contents of the standard output
-     * stream of the given process to the given XHTML content handler.
-     * The standard output stream is closed once fully processed.
-     *
-     * @param process process
-     * @param xhtml XHTML content handler
-     * @throws SAXException if the XHTML SAX events could not be handled
-     * @throws IOException if an input error occurred
-     */
-    private void extractOutput(Process process, XHTMLContentHandler xhtml)
-            throws SAXException, IOException {
-        Reader reader = new InputStreamReader(process.getInputStream());
-        try {
-            xhtml.startDocument();
-            xhtml.startElement("p");
-            char[] buffer = new char[1024];
-            for (int n = reader.read(buffer); n != -1; n = reader.read(buffer)) {
-                xhtml.characters(buffer, 0, n);
-            }
-            xhtml.endElement("p");
-            xhtml.endDocument();
-        } finally {
-            reader.close();
-        }
-    }
-
-    /**
-     * Starts a thread that sends the contents of the given input stream
-     * to the standard input stream of the given process. Potential
-     * exceptions are ignored, and the standard input stream is closed
-     * once fully processed. Note that the given input stream is <em>not</em>
-     * closed by this method.
-     *
-     * @param process process
-     * @param stream input stream
-     */
-    private void sendInput(final Process process, final InputStream stream) {
-        new Thread() {
-            public void run() {
-                OutputStream stdin = process.getOutputStream();
-                try {
-                    IOUtils.copy(stream, stdin);
-                } catch (IOException e) {
-                } finally {
-                    IOUtils.closeQuietly(stdin);
-                }
-            }
-        }.start();
-    }
-
-    /**
-     * Starts a thread that reads and discards the contents of the
-     * standard error stream of the given process. Potential exceptions
-     * are ignored, and the error stream is closed once fully processed.
-     *
-     * @param process process
-     */
-    private void ignoreError(final Process process) {
-        new Thread() {
-            public void run() {
-                InputStream error = process.getErrorStream();
-                try {
-                    IOUtils.copy(error, new NullOutputStream());
-                } catch (IOException e) {
-                } finally {
-                    IOUtils.closeQuietly(error);
-                }
-            }
-        }.start();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/parser/ParseContext.java b/trunk/tika-core/src/main/java/org/apache/tika/parser/ParseContext.java
deleted file mode 100644
index 48a7841..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/parser/ParseContext.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser;
-
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.XMLConstants;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.apache.tika.exception.TikaException;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.SAXNotSupportedException;
-
-/**
- * Parse context. Used to pass context information to Tika parsers.
- *
- * @since Apache Tika 0.5
- * @see <a href="https://issues.apache.org/jira/browse/TIKA-275">TIKA-275</a>
- */
-public class ParseContext implements Serializable {
-
-    /** Serial version UID. */
-    private static final long serialVersionUID = -5921436862145826534L;
-
-    /** Map of objects in this context */
-    private final Map<String, Object> context = new HashMap<String, Object>();
- 
-    /**
-     * Adds the given value to the context as an implementation of the given
-     * interface.
-     *
-     * @param key the interface implemented by the given value
-     * @param value the value to be added, or <code>null</code> to remove
-     */
-    public <T> void set(Class<T> key, T value) {
-        if (value != null) {
-            context.put(key.getName(), value);
-        } else {
-            context.remove(key.getName());
-        }
-    }
-
-    /**
-     * Returns the object in this context that implements the given interface.
-     *
-     * @param key the interface implemented by the requested object
-     * @return the object that implements the given interface,
-     *         or <code>null</code> if not found
-     */
-    @SuppressWarnings("unchecked")
-    public <T> T get(Class<T> key) {
-        return (T) context.get(key.getName());
-    }
-
-    /**
-     * Returns the object in this context that implements the given interface,
-     * or the given default value if such an object is not found.
-     *
-     * @param key the interface implemented by the requested object
-     * @param defaultValue value to return if the requested object is not found
-     * @return the object that implements the given interface,
-     *         or the given default value if not found
-     */
-    public <T> T get(Class<T> key, T defaultValue) {
-        T value = get(key);
-        if (value != null) {
-            return value;
-        } else {
-            return defaultValue;
-        }
-    }
-
-    /**
-     * Returns the SAX parser specified in this parsing context. If a parser
-     * is not explicitly specified, then one is created using the specified
-     * or the default SAX parser factory.
-     *
-     * @see #getSAXParserFactory()
-     * @since Apache Tika 0.8
-     * @return SAX parser
-     * @throws TikaException if a SAX parser could not be created
-     */
-    public SAXParser getSAXParser() throws TikaException {
-        SAXParser parser = get(SAXParser.class);
-        if (parser != null) {
-            return parser;
-        } else {
-            try {
-                return getSAXParserFactory().newSAXParser();
-            } catch (ParserConfigurationException e) {
-                throw new TikaException("Unable to configure a SAX parser", e);
-            } catch (SAXException e) {
-                throw new TikaException("Unable to create a SAX parser", e);
-            }
-        }
-    }
-
-    /**
-     * Returns the SAX parser factory specified in this parsing context.
-     * If a factory is not explicitly specified, then a default factory
-     * instance is created and returned. The default factory instance is
-     * configured to be namespace-aware and to use
-     * {@link XMLConstants#FEATURE_SECURE_PROCESSING secure XML processing}.
-     *
-     * @since Apache Tika 0.8
-     * @return SAX parser factory
-     */
-    public SAXParserFactory getSAXParserFactory() {
-        SAXParserFactory factory = get(SAXParserFactory.class);
-        if (factory == null) {
-            factory = SAXParserFactory.newInstance();
-            factory.setNamespaceAware(true);
-            try {
-                factory.setFeature(
-                        XMLConstants.FEATURE_SECURE_PROCESSING, true);
-            } catch (ParserConfigurationException e) {
-            } catch (SAXNotSupportedException e) {
-            } catch (SAXNotRecognizedException e) {
-                // TIKA-271: Some XML parsers do not support the
-                // secure-processing feature, even though it's required by
-                // JAXP in Java 5. Ignoring the exception is fine here, as
-                // deployments without this feature are inherently vulnerable
-                // to XML denial-of-service attacks.
-            }
-        }
-        return factory;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/parser/Parser.java b/trunk/tika-core/src/main/java/org/apache/tika/parser/Parser.java
deleted file mode 100644
index 1d13ef5..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/parser/Parser.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Serializable;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Tika parser interface.
- */
-public interface Parser extends Serializable {
-
-    /**
-     * Returns the set of media types supported by this parser when used
-     * with the given parse context.
-     *
-     * @since Apache Tika 0.7
-     * @param context parse context
-     * @return immutable set of media types
-     */
-    Set<MediaType> getSupportedTypes(ParseContext context);
-
-    /**
-     * Parses a document stream into a sequence of XHTML SAX events.
-     * Fills in related document metadata in the given metadata object.
-     * <p>
-     * The given document stream is consumed but not closed by this method.
-     * The responsibility to close the stream remains on the caller.
-     * <p>
-     * Information about the parsing context can be passed in the context
-     * parameter. See the parser implementations for the kinds of context
-     * information they expect.
-     *
-     * @since Apache Tika 0.5
-     * @param stream the document stream (input)
-     * @param handler handler for the XHTML SAX events (output)
-     * @param metadata document metadata (input and output)
-     * @param context parse context
-     * @throws IOException if the document stream could not be read
-     * @throws SAXException if the SAX events could not be processed
-     * @throws TikaException if the document could not be parsed
-     */
-    void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException;
-
-    /**
-     * The parse() method from Tika 0.4 and earlier. Please use the
-     * {@link #parse(InputStream, ContentHandler, Metadata, ParseContext)}
-     * method instead in new code. Calls to this backwards compatibility
-     * method are forwarded to the new parse() method with an empty parse
-     * context.
-     *
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    void parse(InputStream stream, ContentHandler handler, Metadata metadata)
-        throws IOException, SAXException, TikaException;
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/parser/ParserDecorator.java b/trunk/tika-core/src/main/java/org/apache/tika/parser/ParserDecorator.java
deleted file mode 100644
index bfaf04f..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/parser/ParserDecorator.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Decorator base class for the {@link Parser} interface. This class
- * simply delegates all parsing calls to an underlying decorated parser
- * instance. Subclasses can provide extra decoration by overriding the
- * parse method.
- */
-public class ParserDecorator implements Parser {
-
-    /** Serial version UID */
-    private static final long serialVersionUID = -3861669115439125268L;
-
-    /**
-     * Decorates the given parser so that it always claims to support
-     * parsing of the given media types.
-     *
-     * @param parser the parser to be decorated
-     * @param types supported media types
-     * @return the decorated parser
-     */
-    public static final Parser withTypes(
-            Parser parser, final Set<MediaType> types) {
-        return new ParserDecorator(parser) {
-            private static final long serialVersionUID = -7345051519565330731L;
-            @Override
-            public Set<MediaType> getSupportedTypes(ParseContext context) {
-                return types;
-            }
-        };
-    }
-
-    /**
-     * The decorated parser instance.
-     */
-    private final Parser parser;
-
-    /**
-     * Creates a decorator for the given parser.
-     *
-     * @param parser the parser instance to be decorated
-     */
-    public ParserDecorator(Parser parser) {
-        this.parser = parser;
-    }
-
-    /**
-     * Delegates the method call to the decorated parser. Subclasses should
-     * override this method (and use <code>super.getSupportedTypes()</code>
-     * to invoke the decorated parser) to implement extra decoration.
-     */
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return parser.getSupportedTypes(context);
-    }
-
-    /**
-     * Delegates the method call to the decorated parser. Subclasses should
-     * override this method (and use <code>super.parse()</code> to invoke
-     * the decorated parser) to implement extra decoration.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        parser.parse(stream, handler, metadata, context);
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-    
-    /**
-     * Gets the parser wrapped by this ParserDecorator
-     * @return
-     */
-    public Parser getWrappedParser() {
-        return this.parser;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/parser/ParserPostProcessor.java b/trunk/tika-core/src/main/java/org/apache/tika/parser/ParserPostProcessor.java
deleted file mode 100644
index 27dc771..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/parser/ParserPostProcessor.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.BodyContentHandler;
-import org.apache.tika.sax.TeeContentHandler;
-import org.apache.tika.utils.RegexUtils;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Parser decorator that post-processes the results from a decorated parser.
- * The post-processing takes care of filling in the "fulltext", "summary",
- * and "outlinks" metadata entries based on the full text content returned by
- * the decorated parser.
- */
-public class ParserPostProcessor extends ParserDecorator {
-
-    /**
-     * Creates a post-processing decorator for the given parser.
-     *
-     * @param parser the parser to be decorated
-     */
-    public ParserPostProcessor(Parser parser) {
-        super(parser);
-    }
-
-    /**
-     * Forwards the call to the delegated parser and post-processes the
-     * results as described above.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        ContentHandler body = new BodyContentHandler();
-        ContentHandler tee = new TeeContentHandler(handler, body);
-        super.parse(stream, tee, metadata, context);
-
-        String content = body.toString();
-        metadata.set("fulltext", content);
-
-        int length = Math.min(content.length(), 500);
-        metadata.set("summary", content.substring(0, length));
-
-        for (String link : RegexUtils.extractLinks(content)) {
-            metadata.add("outlinks", link);
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/parser/ParsingReader.java b/trunk/tika-core/src/main/java/org/apache/tika/parser/ParsingReader.java
deleted file mode 100644
index 3ed34b9..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/parser/ParsingReader.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PipedReader;
-import java.io.PipedWriter;
-import java.io.Reader;
-import java.io.Writer;
-import java.util.concurrent.Executor;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-/**
- * Reader for the text content from a given binary stream. This class
- * uses a background parsing task with a {@link Parser}
- * ({@link AutoDetectParser} by default) to parse the text content from
- * a given input stream. The {@link BodyContentHandler} class and a pipe
- * is used to convert the push-based SAX event stream to the pull-based
- * character stream defined by the {@link Reader} interface.
- *
- * @since Apache Tika 0.2
- */
-public class ParsingReader extends Reader {
-
-    /**
-     * Parser instance used for parsing the given binary stream.
-     */
-    private final Parser parser;
-
-    /**
-     * Buffered read end of the pipe.
-     */
-    private final Reader reader;
-
-    /**
-     * Write end of the pipe.
-     */
-    private final Writer writer;
-
-    /**
-     * The binary stream being parsed.
-     */
-    private final InputStream stream;
-
-    /**
-     * Metadata associated with the document being parsed.
-     */
-    private final Metadata metadata;
-
-    /**
-     * The parse context.
-     */
-    private final ParseContext context;
-
-    /**
-     * An exception (if any) thrown by the parsing thread.
-     */
-    private transient Throwable throwable;
-
-    /**
-     * Utility method that returns a {@link Metadata} instance
-     * for a document with the given name.
-     *
-     * @param name resource name (or <code>null</code>)
-     * @return metadata instance
-     */
-    private static Metadata getMetadata(String name) {
-        Metadata metadata = new Metadata();
-        if (name != null && name.length() > 0) {
-            metadata.set(Metadata.RESOURCE_NAME_KEY, name);
-        }
-        return metadata;
-    }
-
-    /**
-     * Creates a reader for the text content of the given binary stream.
-     *
-     * @param stream binary stream
-     * @throws IOException if the document can not be parsed
-     */
-    public ParsingReader(InputStream stream) throws IOException {
-        this(new AutoDetectParser(), stream, new Metadata());
-    }
-
-    /**
-     * Creates a reader for the text content of the given binary stream
-     * with the given name.
-     *
-     * @param stream binary stream
-     * @param name document name
-     * @throws IOException if the document can not be parsed
-     */
-    public ParsingReader(InputStream stream, String name) throws IOException {
-        this(new AutoDetectParser(), stream, getMetadata(name));
-    }
-
-    /**
-     * Creates a reader for the text content of the given file.
-     *
-     * @param file file
-     * @throws FileNotFoundException if the given file does not exist
-     * @throws IOException if the document can not be parsed
-     */
-    public ParsingReader(File file) throws FileNotFoundException, IOException {
-        this(new FileInputStream(file), file.getName());
-    }
-
-    /**
-     * Creates a reader for the text content of the given binary stream
-     * with the given document metadata. The given parser is used for
-     * parsing. A new background thread is started for the parsing task.
-     *
-     * @param parser parser instance
-     * @param stream binary stream
-     * @param metadata document metadata
-     * @throws IOException if the document can not be parsed
-     */
-    public ParsingReader(
-            Parser parser, InputStream stream, final Metadata metadata,
-            ParseContext context) throws IOException {
-        this(parser, stream, metadata, context, new Executor() {
-            public void execute(Runnable command) {
-                String name = metadata.get(Metadata.RESOURCE_NAME_KEY);
-                if (name != null) {
-                    name = "Apache Tika: " + name;
-                } else {
-                    name = "Apache Tika";
-                }
-                Thread thread = new Thread(command, name);
-                thread.setDaemon(true);
-                thread.start();
-            }
-        });
-    }
-
-    /**
-     * Creates a reader for the text content of the given binary stream
-     * with the given document metadata. The given parser is used for the
-     * parsing task that is run with the given executor. The given executor
-     * <em>must</em> run the parsing task asynchronously in a separate thread,
-     * since the current thread must return to the caller that can then
-     * consume the parsed text through the {@link Reader} interface.
-     *
-     * @param parser parser instance
-     * @param stream binary stream
-     * @param metadata document metadata
-     * @param context parsing context
-     * @param executor executor for the parsing task
-     * @throws IOException if the document can not be parsed
-     * @since Apache Tika 0.4
-     */
-    public ParsingReader(
-            Parser parser, InputStream stream, Metadata metadata,
-            ParseContext context, Executor executor) throws IOException {
-        this.parser = parser;
-        PipedReader pipedReader = new PipedReader();
-        this.reader = new BufferedReader(pipedReader);
-        try {
-            this.writer = new PipedWriter(pipedReader);
-        } catch (IOException e) {
-            throw new IllegalStateException(e); // Should never happen
-        }
-        this.stream = stream;
-        this.metadata = metadata;
-        this.context = context;
-
-        executor.execute(new ParsingTask());
-
-        // TIKA-203: Buffer first character to force metadata extraction
-        reader.mark(1);
-        reader.read();
-        reader.reset();
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-275">TIKA-275</a>
-     */
-    public ParsingReader(Parser parser, InputStream stream, Metadata metadata)
-            throws IOException {
-        this(parser, stream, metadata, new ParseContext());
-        context.set(Parser.class, parser);
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-275">TIKA-275</a>
-     */
-    public ParsingReader(
-            Parser parser, InputStream stream, Metadata metadata,
-            Executor executor) throws IOException {
-        this(parser, stream, metadata, new ParseContext(), executor);
-        context.set(Parser.class, parser);
-    }
-
-    /**
-     * The background parsing task.
-     */
-    private class ParsingTask implements Runnable {
-
-        /**
-         * Parses the given binary stream and writes the text content
-         * to the write end of the pipe. Potential exceptions (including
-         * the one caused if the read end is closed unexpectedly) are
-         * stored before the input stream is closed and processing is stopped.
-         */
-        public void run() {
-            try {
-                ContentHandler handler = new BodyContentHandler(writer);
-                parser.parse(stream, handler, metadata, context);
-            } catch (Throwable t) {
-                throwable = t;
-            }
-
-            try {
-                stream.close();
-            } catch (Throwable t) {
-                if (throwable == null) {
-                    throwable = t;
-                }
-            }
-
-            try {
-                writer.close();
-            } catch (Throwable t) {
-                if (throwable == null) {
-                    throwable = t;
-                }
-            }
-        }
-
-    }
-
-    /**
-     * Reads parsed text from the pipe connected to the parsing thread.
-     * Fails if the parsing thread has thrown an exception.
-     *
-     * @param cbuf character buffer
-     * @param off start offset within the buffer
-     * @param len maximum number of characters to read
-     * @throws IOException if the parsing thread has failed or
-     *                     if for some reason the pipe does not work properly
-     */
-    @Override
-    public int read(char[] cbuf, int off, int len) throws IOException {
-        if (throwable instanceof IOException) {
-            throw (IOException) throwable;
-        } else if (throwable != null) {
-            IOException exception = new IOException("");
-            exception.initCause(throwable);
-            throw exception;
-        }
-        return reader.read(cbuf, off, len);
-    }
-
-    /**
-     * Closes the read end of the pipe. If the parsing thread is still
-     * running, next write to the pipe will fail and cause the thread
-     * to stop. Thus there is no need to explicitly terminate the thread.
-     *
-     * @throws IOException if the pipe can not be closed
-     */
-    @Override
-    public void close() throws IOException {
-        reader.close();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/BodyContentHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/BodyContentHandler.java
deleted file mode 100644
index 37d490c..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/BodyContentHandler.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import java.io.OutputStream;
-import java.io.Writer;
-
-import org.apache.tika.sax.xpath.Matcher;
-import org.apache.tika.sax.xpath.MatchingContentHandler;
-import org.apache.tika.sax.xpath.XPathParser;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Content handler decorator that only passes everything inside
- * the XHTML &lt;body/&gt; tag to the underlying handler. Note that
- * the &lt;body/&gt; tag itself is <em>not</em> passed on.
- */
-public class BodyContentHandler extends ContentHandlerDecorator {
-
-    /**
-     * XHTML XPath parser.
-     */
-    private static final XPathParser PARSER =
-        new XPathParser("xhtml", XHTMLContentHandler.XHTML);
-
-    /**
-     * The XPath matcher used to select the XHTML body contents.
-     */
-    private static final Matcher MATCHER =
-        PARSER.parse("/xhtml:html/xhtml:body/descendant:node()");
-
-    /**
-     * Creates a content handler that passes all XHTML body events to the
-     * given underlying content handler.
-     *
-     * @param handler content handler
-     */
-    public BodyContentHandler(ContentHandler handler) {
-        super(new MatchingContentHandler(handler, MATCHER));
-    }
-
-    /**
-     * Creates a content handler that writes XHTML body character events to
-     * the given writer.
-     *
-     * @param writer writer
-     */
-    public BodyContentHandler(Writer writer) {
-        this(new WriteOutContentHandler(writer));
-    }
-
-    /**
-     * Creates a content handler that writes XHTML body character events to
-     * the given output stream using the default encoding.
-     *
-     * @param stream output stream
-     */
-    public BodyContentHandler(OutputStream stream) {
-        this(new WriteOutContentHandler(stream));
-    }
-
-    /**
-     * Creates a content handler that writes XHTML body character events to
-     * an internal string buffer. The contents of the buffer can be retrieved
-     * using the {@link #toString()} method.
-     * <p>
-     * The internal string buffer is bounded at the given number of characters.
-     * If this write limit is reached, then a {@link SAXException} is thrown.
-     *
-     * @since Apache Tika 0.7
-     * @param writeLimit maximum number of characters to include in the string,
-     *                   or -1 to disable the write limit
-     */
-    public BodyContentHandler(int writeLimit) {
-        this(new WriteOutContentHandler(writeLimit));
-    }
-
-    /**
-     * Creates a content handler that writes XHTML body character events to
-     * an internal string buffer. The contents of the buffer can be retrieved
-     * using the {@link #toString()} method.
-     * <p>
-     * The internal string buffer is bounded at 100k characters. If this write
-     * limit is reached, then a {@link SAXException} is thrown.
-     */
-    public BodyContentHandler() {
-        this(new WriteOutContentHandler());
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/ContentHandlerDecorator.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/ContentHandlerDecorator.java
deleted file mode 100644
index b197621..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/ContentHandlerDecorator.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Decorator base class for the {@link ContentHandler} interface. This class
- * simply delegates all SAX events calls to an underlying decorated handler
- * instance. Subclasses can provide extra decoration by overriding one or more
- * of the SAX event methods.
- */
-public class ContentHandlerDecorator extends DefaultHandler {
-
-    /**
-     * Decorated SAX event handler.
-     */
-    private ContentHandler handler;
-
-    /**
-     * Creates a decorator for the given SAX event handler.
-     *
-     * @param handler SAX event handler to be decorated
-     */
-    public ContentHandlerDecorator(ContentHandler handler) {
-        assert handler != null;
-        this.handler = handler;
-    }
-
-    /**
-     * Creates a decorator that by default forwards incoming SAX events to
-     * a dummy content handler that simply ignores all the events. Subclasses
-     * should use the {@link #setContentHandler(ContentHandler)} method to
-     * switch to a more usable underlying content handler.
-     */
-    protected ContentHandlerDecorator() {
-        this(new DefaultHandler());
-    }
-
-    /**
-     * Sets the underlying content handler. All future SAX events will be
-     * directed to this handler instead of the one that was previously used.
-     *
-     * @param handler content handler
-     */
-    protected void setContentHandler(ContentHandler handler) {
-        assert handler != null;
-        this.handler = handler;
-    }
-
-    @Override
-    public void startPrefixMapping(String prefix, String uri)
-            throws SAXException {
-        try {
-            handler.startPrefixMapping(prefix, uri);
-        } catch (SAXException e) {
-            handleException(e);
-        }
-    }
-
-    @Override
-    public void endPrefixMapping(String prefix) throws SAXException {
-        try {
-            handler.endPrefixMapping(prefix);
-        } catch (SAXException e) {
-            handleException(e);
-        }
-    }
-
-    @Override
-    public void processingInstruction(String target, String data)
-            throws SAXException {
-        try {
-            handler.processingInstruction(target, data);
-        } catch (SAXException e) {
-            handleException(e);
-        }
-    }
-
-    @Override
-    public void setDocumentLocator(Locator locator) {
-        handler.setDocumentLocator(locator);
-    }
-
-    @Override
-    public void startDocument() throws SAXException {
-        try {
-            handler.startDocument();
-        } catch (SAXException e) {
-            handleException(e);
-        }
-    }
-
-    @Override
-    public void endDocument() throws SAXException {
-        try {
-            handler.endDocument();
-        } catch (SAXException e) {
-            handleException(e);
-        }
-    }
-
-    @Override
-    public void startElement(
-            String uri, String localName, String name, Attributes atts)
-            throws SAXException {
-        try {
-            handler.startElement(uri, localName, name, atts);
-        } catch (SAXException e) {
-            handleException(e);
-        }
-    }
-
-    @Override
-    public void endElement(String uri, String localName, String name)
-            throws SAXException {
-        try {
-            handler.endElement(uri, localName, name);
-        } catch (SAXException e) {
-            handleException(e);
-        }
-    }
-
-    @Override
-    public void characters(char[] ch, int start, int length)
-            throws SAXException {
-        try {
-            handler.characters(ch, start, length);
-        } catch (SAXException e) {
-            handleException(e);
-        }
-    }
-
-    @Override
-    public void ignorableWhitespace(char[] ch, int start, int length)
-            throws SAXException {
-        try {
-            handler.ignorableWhitespace(ch, start, length);
-        } catch (SAXException e) {
-            handleException(e);
-        }
-    }
-
-    @Override
-    public void skippedEntity(String name) throws SAXException {
-        try {
-            handler.skippedEntity(name);
-        } catch (SAXException e) {
-            handleException(e);
-        }
-    }
-
-    @Override
-    public String toString() {
-        return handler.toString();
-    }
-
-    /**
-     * Handle any exceptions thrown by methods in this class. This method
-     * provides a single place to implement custom exception handling. The
-     * default behaviour is simply to re-throw the given exception, but
-     * subclasses can also provide alternative ways of handling the situation.
-     *
-     * @param exception the exception that was thrown
-     * @throws SAXException the exception (if any) thrown to the client
-     */
-    protected void handleException(SAXException exception) throws SAXException {
-        throw exception;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/ElementMappingContentHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/ElementMappingContentHandler.java
deleted file mode 100644
index 1307434..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/ElementMappingContentHandler.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import java.util.Map;
-import java.util.Collections;
-import javax.xml.namespace.QName;
-
-import org.xml.sax.SAXException;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.helpers.AttributesImpl;
-
-/**
- * Content handler decorator that maps element <code>QName</code>s using
- * a <code>Map</code>. Not mappable elements are not forwarded.
- * Attributes may also be mapped (for each element different using
- * a <code>Map</code> for attributes), not mappable attributes are not
- * forwarded. The default is to not map any attributes and therefore do
- * not forward any of them.
- */
-public class ElementMappingContentHandler extends ContentHandlerDecorator {
-
-    private final Map<QName, TargetElement> mappings;
-
-    public ElementMappingContentHandler(
-            ContentHandler handler, Map<QName, TargetElement> mappings) {
-        super(handler);
-        this.mappings = mappings;
-    }
-
-    @Override
-    public void startElement(
-            String namespaceURI, String localName, String qName,
-            Attributes atts) throws SAXException {
-        TargetElement mapping =
-            mappings.get(new QName(namespaceURI, localName));
-        if (mapping != null) {
-            QName tag = mapping.getMappedTagName();
-            super.startElement(
-                    tag.getNamespaceURI(), tag.getLocalPart(),
-                    getQNameAsString(tag), mapping.mapAttributes(atts));
-        }
-    }
-
-    @Override
-    public void endElement(String namespaceURI, String localName, String qName)
-            throws SAXException {
-        TargetElement mapping =
-            mappings.get(new QName(namespaceURI, localName));
-        if (mapping != null) {
-            QName tag=mapping.getMappedTagName();
-            super.endElement(
-                    tag.getNamespaceURI(), tag.getLocalPart(),
-                    getQNameAsString(tag));
-        }
-    }
-
-    protected static final String getQNameAsString(QName qname) {
-        String prefix = qname.getPrefix();
-        if (prefix.length() > 0) {
-            return prefix + ":" + qname.getLocalPart();
-        } else {
-            return qname.getLocalPart(); 
-        }
-    }
-
-    public static class TargetElement {
-
-        /**
-         * Creates an TargetElement, attributes of this element will
-         * be mapped as specified
-         */
-        public TargetElement(
-                QName mappedTagName, Map<QName, QName> attributesMapping) {
-            this.mappedTagName = mappedTagName;
-            this.attributesMapping = attributesMapping;
-        }
-
-        /**
-         * A shortcut that automatically creates the QName object
-         */
-        public TargetElement(
-                String mappedTagURI, String mappedTagLocalName,
-                Map<QName, QName> attributesMapping) {
-            this(new QName(mappedTagURI, mappedTagLocalName), attributesMapping);
-        }
-
-        /**
-         * Creates an TargetElement with no attributes, all attributes
-         * will be deleted from SAX stream
-         */
-        public TargetElement(QName mappedTagName) {
-            this(mappedTagName, Collections.<QName,QName>emptyMap());
-        }
-
-        /** A shortcut that automatically creates the QName object */
-        public TargetElement(String mappedTagURI, String mappedTagLocalName) {
-            this(mappedTagURI, mappedTagLocalName,
-                    Collections.<QName,QName>emptyMap());
-        }
-
-        public QName getMappedTagName() {
-            return mappedTagName;
-        }
-
-        public Map<QName, QName> getAttributesMapping() {
-            return attributesMapping;
-        }
-
-        public Attributes mapAttributes(final Attributes atts) {
-            AttributesImpl natts = new AttributesImpl();
-            for (int i = 0; i < atts.getLength(); i++) {
-                QName name = attributesMapping.get(
-                        new QName(atts.getURI(i), atts.getLocalName(i)));
-                if (name!=null) {
-                    natts.addAttribute(
-                            name.getNamespaceURI(), name.getLocalPart(),
-                            getQNameAsString(name),
-                            atts.getType(i), atts.getValue(i));
-                }
-            }
-            return natts;
-        }
-
-        private final QName mappedTagName;
-
-        private final Map<QName, QName> attributesMapping;
-
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/EmbeddedContentHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/EmbeddedContentHandler.java
deleted file mode 100644
index 38afb0c..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/EmbeddedContentHandler.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import org.xml.sax.ContentHandler;
-
-/**
- * Content handler decorator that prevents the {@link #startDocument()}
- * and {@link #endDocument()} events from reaching the decorated handler.
- * This is useful when you want to direct the results of parsing multiple
- * different XML documents into a single target document without worrying
- * about the {@link #startDocument()} and {@link #endDocument()} methods
- * being called more than once.
- */
-public class EmbeddedContentHandler extends ContentHandlerDecorator {
-
-    /**
-     * Created a decorator that prevents the given handler from
-     * receiving {@link #startDocument()} and {@link #endDocument()}
-     * events.
-     *
-     * @param handler the content handler to be decorated
-     */
-    public EmbeddedContentHandler(ContentHandler handler) {
-        super(handler);
-    }
-
-    /**
-     * Ignored.
-     */
-    @Override
-    public void startDocument() {
-    }
-
-    /**
-     * Ignored.
-     */
-    @Override
-    public void endDocument() {
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/Link.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/Link.java
deleted file mode 100644
index 7490595..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/Link.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-public class Link {
-
-    private final String type;
-
-    private final String uri;
-
-    private final String title;
-
-    private final String text;
-
-    public Link(String type, String uri, String title, String text) {
-        this.type = type;
-        this.uri = uri;
-        this.title = title;
-        this.text = text;
-    }
-
-    public boolean isAnchor() {
-        return "a".equals(type);
-    }
-
-    public boolean isImage() {
-        return "img".equals(type);
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public String getUri() {
-        return uri;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public String getText() {
-        return text;
-    }
-
-    public String toString() {
-        StringBuilder builder = new StringBuilder();
-        if (isImage()) {
-            builder.append("<img src=\"");
-            builder.append(uri);
-            if (title != null && title.length() > 0) {
-                builder.append("\" title=\"");
-                builder.append(title);
-            }
-            if (text != null && text.length() > 0) {
-                builder.append("\" alt=\"");
-                builder.append(text);
-            }
-            builder.append("\"/>");
-        } else {
-            builder.append("<");
-            builder.append(type);
-            builder.append(" href=\"");
-            builder.append(uri);
-            if (title != null && title.length() > 0) {
-                builder.append("\" title=\"");
-                builder.append(title);
-            }
-            builder.append("\">");
-            builder.append(text);
-            builder.append("</");
-            builder.append(type);
-            builder.append(">");
-        }
-        return builder.toString();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/LinkBuilder.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/LinkBuilder.java
deleted file mode 100644
index 7ad655d..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/LinkBuilder.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-class LinkBuilder {
-
-    private final String type;
-
-    private String uri = "";
-
-    private String title = "";
-
-    private final StringBuilder text = new StringBuilder();
-
-    public LinkBuilder(String type) {
-        this.type = type;
-    }
-
-    public void setURI(String uri) {
-        if (uri != null) {
-            this.uri = uri;
-        } else {
-            this.uri = "";
-        }
-    }
-
-    public void setTitle(String title) {
-        if (title != null) {
-            this.title = title;
-        } else {
-            this.title = "";
-        }
-    }
-
-    public void characters(char[] ch, int offset, int length) {
-        text.append(ch, offset, length);
-    }
-
-    public Link getLink() {
-        return new Link(type, uri, title, text.toString());
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/LinkContentHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/LinkContentHandler.java
deleted file mode 100644
index 16fc72c..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/LinkContentHandler.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import static org.apache.tika.sax.XHTMLContentHandler.XHTML;
-
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Content handler that collects links from an XHTML document.
- */
-public class LinkContentHandler extends DefaultHandler {
-
-    /**
-     * Stack of link builders, one for each level of nested links currently
-     * being processed. A usual case of a nested link would be a hyperlinked
-     * image (<code>&a href="..."&gt;&lt;img src="..."&gt;&lt;&gt;</code>),
-     * but it's possible (though unlikely) for also other kinds of nesting
-     * to occur.
-     */
-    private final LinkedList<LinkBuilder> builderStack =
-        new LinkedList<LinkBuilder>();
-
-    /** Collected links */
-    private final List<Link> links = new ArrayList<Link>();
-
-    /**
-     * Returns the list of collected links.
-     *
-     * @return collected links
-     */
-    public List<Link> getLinks() {
-        return links;
-    }
-
-    //-------------------------------------------------------< ContentHandler>
-
-    @Override
-    public void startElement(
-            String uri, String local, String name, Attributes attributes) {
-        if (XHTML.equals(uri)) {
-            if ("a".equals(local)) {
-                LinkBuilder builder = new LinkBuilder("a");
-                builder.setURI(attributes.getValue("", "href"));
-                builder.setTitle(attributes.getValue("", "title"));
-                builderStack.addFirst(builder);
-            } else if ("img".equals(local)) {
-                LinkBuilder builder = new LinkBuilder("img");
-                builder.setURI(attributes.getValue("", "src"));
-                builder.setTitle(attributes.getValue("", "title"));
-                builderStack.addFirst(builder);
-
-                String alt = attributes.getValue("", "alt");
-                if (alt != null) {
-                    char[] ch = alt.toCharArray();
-                    characters(ch, 0, ch.length);
-                }
-            }
-        }
-    }
-
-    @Override
-    public void characters(char[] ch, int start, int length) {
-        for (LinkBuilder builder : builderStack) {
-            builder.characters(ch, start, length);
-        }
-    }
-
-    @Override
-    public void ignorableWhitespace(char[] ch, int start, int length) {
-        characters(ch, start, length);
-    }
-
-    @Override
-    public void endElement(String uri, String local, String name) {
-        if (XHTML.equals(uri)) {
-            if ("a".equals(local) || "img".equals(local)) {
-                links.add(builderStack.removeFirst().getLink());
-            }
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/OfflineContentHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/OfflineContentHandler.java
deleted file mode 100644
index 9a0d560..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/OfflineContentHandler.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import org.apache.tika.io.ClosedInputStream;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.InputSource;
-
-/**
- * Content handler decorator that always returns an empty stream from the
- * {@link #resolveEntity(String, String)} method to prevent potential
- * network or other external resources from being accessed by an XML parser.
- *
- * @see <a href="https://issues.apache.org/jira/browse/TIKA-185">TIKA-185</a>
- */
-public class OfflineContentHandler extends ContentHandlerDecorator {
-
-    public OfflineContentHandler(ContentHandler handler) {
-        super(handler);
-    }
-
-    /**
-     * Returns an empty stream. This will make an XML parser silently
-     * ignore any external entities.
-     */
-    @Override
-    public InputSource resolveEntity(String publicId, String systemId) {
-        return new InputSource(new ClosedInputStream());
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/SafeContentHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/SafeContentHandler.java
deleted file mode 100644
index 6b973fc..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/SafeContentHandler.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Content handler decorator that makes sure that the character events
- * ({@link #characters(char[], int, int)} or
- * {@link #ignorableWhitespace(char[], int, int)}) passed to the decorated
- * content handler contain only valid XML characters. All invalid characters
- * are replaced with spaces.
- * <p>
- * The XML standard defines the following Unicode character ranges as
- * valid XML characters:
- * <pre>
- * #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
- * </pre>
- * <p>
- * Note that currently this class only detects those invalid characters whose
- * UTF-16 representation fits a single char. Also, this class does not ensure
- * that the UTF-16 encoding of incoming characters is correct.
- */
-public class SafeContentHandler extends ContentHandlerDecorator {
-
-    /**
-     * Replacement for invalid characters.
-     */
-    private static final char[] REPLACEMENT = new char[] { ' ' };
-
-    /**
-     * Internal interface that allows both character and
-     * ignorable whitespace content to be filtered the same way.
-     */
-    protected interface Output {
-        void write(char[] ch, int start, int length) throws SAXException;
-    }
-
-    /**
-     * Output through the {@link ContentHandler#characters(char[], int, int)}
-     * method of the decorated content handler.
-     */
-    private final Output charactersOutput = new Output() {
-        public void write(char[] ch, int start, int length)
-                throws SAXException {
-            SafeContentHandler.super.characters(ch, start, length);
-        }
-    };
-
-    /**
-     * Output through the
-     * {@link ContentHandler#ignorableWhitespace(char[], int, int)}
-     * method of the decorated content handler.
-     */
-    private final Output ignorableWhitespaceOutput = new Output() {
-        public void write(char[] ch, int start, int length)
-                throws SAXException {
-            SafeContentHandler.super.ignorableWhitespace(ch, start, length);
-        }
-    };
-
-    public SafeContentHandler(ContentHandler handler) {
-        super(handler);
-    }
-
-    /**
-     * Filters and outputs the contents of the given input buffer. Any
-     * invalid characters in the input buffer area handled by sending a
-     * replacement (a space character) to the given output. Any sequences
-     * of valid characters are passed as-is to the given output. 
-     * 
-     * @param ch input buffer
-     * @param start start offset within the buffer
-     * @param length number of characters to read from the buffer
-     * @param output output channel
-     * @throws SAXException if the filtered characters could not be written out
-     */
-    private void filter(char[] ch, int start, int length, Output output)
-            throws SAXException {
-        int end = start + length;
-
-        for (int i = start; i < end; i++) {
-            if (isInvalid(ch[i])) {
-                // Output any preceding valid characters
-                if (i > start) {
-                    output.write(ch, start, i - start);
-                }
-
-                // Output the replacement for this invalid character
-                writeReplacement(output);
-
-                // Continue with the rest of the array
-                start = i + 1;
-            }
-        }
-
-        // Output any remaining valid characters
-        output.write(ch, start, end - start);
-    }
-
-    /**
-     * Checks whether the given character (more accurately a UTF-16 code unit)
-     * is an invalid XML character and should be replaced for output.
-     * Subclasses can override this method to use an alternative definition
-     * of which characters should be replaced in the XML output.
-     *
-     * @param ch character
-     * @return <code>true</code> if the character should be replaced,
-     *         <code>false</code> otherwise
-     */
-    protected boolean isInvalid(char ch) {
-        // TODO: Correct handling of multi-word characters
-        if (ch < 0x20) {
-            return ch != 0x09 && ch != 0x0A && ch != 0x0D;
-        } else {
-            return ch >= 0xFFFE;
-        }
-    }
-
-    /**
-     * Outputs the replacement for an invalid character. Subclasses can
-     * override this method to use a custom replacement.
-     *
-     * @param output where the replacement is written to
-     * @throws SAXException if the replacement could not be written
-     */
-    protected void writeReplacement(Output output) throws SAXException {
-        output.write(REPLACEMENT, 0, REPLACEMENT.length);
-    }
-
-    //------------------------------------------------------< ContentHandler >
-
-    @Override
-    public void characters(char[] ch, int start, int length)
-            throws SAXException {
-        filter(ch, start, length, charactersOutput);
-    }
-
-    @Override
-    public void ignorableWhitespace(char[] ch, int start, int length)
-            throws SAXException {
-        filter(ch, start, length, ignorableWhitespaceOutput);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/SecureContentHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/SecureContentHandler.java
deleted file mode 100644
index cc1ae4e..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/SecureContentHandler.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.CountingInputStream;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Content handler decorator that attempts to prevent denial of service
- * attacks against Tika parsers.
- * <p>
- * Currently this class simply compares the number of output characters
- * to to the number of input bytes, and throws an exception if the output
- * is truly excessive when compared to the input. This is a strong indication
- * of a zip bomb.
- *
- * @since Apache Tika 0.4
- * @see <a href="https://issues.apache.org/jira/browse/TIKA-216">TIKA-216</a>
- */
-public class SecureContentHandler extends ContentHandlerDecorator {
-
-    /**
-     * The input stream that Tika is parsing.
-     */
-    private final CountingInputStream stream;
-
-    /**
-     * Number of output characters that Tika has produced so far.
-     */
-    private long characterCount = 0;
-
-    /**
-     * Output threshold.
-     */
-    private long threshold = 1000000;
-
-    /**
-     * Maximum compression ratio.
-     */
-    private long ratio = 100;
-
-    /**
-     * Decorates the given content handler with zip bomb prevention based
-     * on the count of bytes read from the given counting input stream.
-     * The resulting decorator can be passed to a Tika parser along with
-     * the given counting input stream.
-     *
-     * @param handler the content handler to be decorated
-     * @param stream the input stream to be parsed, wrapped into
-     *        a {@link CountingInputStream} decorator
-     */
-    public SecureContentHandler(
-            ContentHandler handler, CountingInputStream stream) {
-        super(handler);
-        this.stream = stream;
-    }
-
-    /**
-     * Returns the configured output threshold.
-     *
-     * @return output threshold
-     */
-    public long getOutputThreshold() {
-        return threshold;
-    }
-
-
-    /**
-     * Sets the threshold for output characters before the zip bomb prevention
-     * is activated. This avoids false positives in cases where an otherwise
-     * normal document for some reason starts with a highly compressible
-     * sequence of bytes.
-     *
-     * @param threshold new output threshold
-     */
-    public void setOutputThreshold(long threshold) {
-        this.threshold = threshold;
-    }
-
-
-    /**
-     * Returns the maximum compression ratio.
-     *
-     * @return maximum compression ratio
-     */
-    public long getMaximumCompressionRatio() {
-        return ratio;
-    }
-
-
-    /**
-     * Sets the ratio between output characters and input bytes. If this
-     * ratio is exceeded (after the output threshold has been reached) then
-     * an exception gets thrown.
-     *
-     * @param ratio new maximum compression ratio
-     */
-    public void setMaximumCompressionRatio(long ratio) {
-        this.ratio = ratio;
-    }
-
-    /**
-     * Converts the given {@link SAXException} to a corresponding
-     * {@link TikaException} if it's caused by this instance detecting
-     * a zip bomb.
-     *
-     * @param e SAX exception
-     * @throws TikaException zip bomb exception
-     */
-    public void throwIfCauseOf(SAXException e) throws TikaException {
-        if (e instanceof SecureSAXException
-                && ((SecureSAXException) e).isCausedBy(this)) {
-            throw new TikaException("Zip bomb detected!", e);
-        }
-    }
-
-    /**
-     * Records the given number of output characters (or more accurately
-     * UTF-16 code units). Throws an exception if the recorded number of
-     * characters highly exceeds the number of input bytes read.
-     *
-     * @param length number of new output characters produced
-     * @throws SAXException if a zip bomb is detected
-     */
-    private void advance(int length) throws SAXException {
-        characterCount += length;
-        if (characterCount > threshold
-                && characterCount > stream.getByteCount() * ratio) {
-            throw new SecureSAXException();
-        }
-    }
-
-    @Override
-    public void characters(char[] ch, int start, int length)
-            throws SAXException {
-        advance(length);
-        super.characters(ch, start, length);
-    }
-
-    @Override
-    public void ignorableWhitespace(char[] ch, int start, int length)
-            throws SAXException {
-        advance(length);
-        super.ignorableWhitespace(ch, start, length);
-    }
-
-    /**
-     * Private exception class used to indicate a suspected zip bomb.
-     *
-     * @see SecureContentHandler#throwIfCauseOf(SAXException)
-     */
-    private class SecureSAXException extends SAXException {
-
-        public SecureSAXException() {
-            super("Suspected zip bomb: "
-                    + stream.getByteCount() + " input bytes produced "
-                    + characterCount + " output characters");
-        }
-
-        public boolean isCausedBy(SecureContentHandler handler) {
-            return SecureContentHandler.this == handler;
-        }
-
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/TaggedContentHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/TaggedContentHandler.java
deleted file mode 100644
index 76b579c..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/TaggedContentHandler.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * A content handler decorator that tags potential exceptions so that the
- * handler that caused the exception can easily be identified. This is
- * done by using the {@link TaggedSAXException} class to wrap all thrown
- * {@link SAXException}s. See below for an example of using this class.
- * <pre>
- * TaggedContentHandler handler = new TaggedContentHandler(...);
- * try {
- *     // Processing that may throw an SAXException either from this handler
- *     // or from some other XML parsing activity
- *     processXML(handler);
- * } catch (SAXException e) {
- *     if (handler.isCauseOf(e)) {
- *         // The exception was caused by this handler.
- *         // Use e.getCause() to get the original exception.
- *     } else {
- *         // The exception was caused by something else.
- *     }
- * }
- * </pre>
- * <p>
- * Alternatively, the {@link #throwIfCauseOf(Exception)} method can be
- * used to let higher levels of code handle the exception caused by this
- * stream while other processing errors are being taken care of at this
- * lower level.
- * <pre>
- * TaggedContentHandler handler = new TaggedContentHandler(...);
- * try {
- *     processXML(handler);
- * } catch (SAXException e) {
- *     stream.throwIfCauseOf(e);
- *     // ... or process the exception that was caused by something else
- * }
- * </pre>
- *
- * @see TaggedSAXException
- */
-public class TaggedContentHandler extends ContentHandlerDecorator {
-
-    /**
-     * Creates a tagging decorator for the given content handler.
-     *
-     * @param proxy content handler to be decorated
-     */
-    public TaggedContentHandler(ContentHandler proxy) {
-        super(proxy);
-    }
-
-    /**
-     * Tests if the given exception was caused by this handler.
-     *
-     * @param exception an exception
-     * @return <code>true</code> if the exception was thrown by this handler,
-     *         <code>false</code> otherwise
-     */
-    public boolean isCauseOf(SAXException exception) {
-        if (exception instanceof TaggedSAXException) {
-            TaggedSAXException tagged = (TaggedSAXException) exception;
-            return this == tagged.getTag();
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Re-throws the original exception thrown by this handler. This method
-     * first checks whether the given exception is a {@link TaggedSAXException}
-     * wrapper created by this decorator, and then unwraps and throws the
-     * original wrapped exception. Returns normally if the exception was
-     * not thrown by this handler.
-     *
-     * @param exception an exception
-     * @throws SAXException original exception, if any, thrown by this handler
-     */
-    public void throwIfCauseOf(Exception exception) throws SAXException {
-        if (exception instanceof TaggedSAXException) {
-            TaggedSAXException tagged = (TaggedSAXException) exception;
-            if (this == tagged.getTag()) {
-                throw tagged.getCause();
-            }
-        }
-    }
-
-    /**
-     * Tags any {@link SAXException}s thrown, wrapping and re-throwing.
-     * 
-     * @param e The SAXException thrown
-     * @throws SAXException if an XML error occurs
-     */
-    @Override
-    protected void handleException(SAXException e) throws SAXException {
-        throw new TaggedSAXException(e, this);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/TaggedSAXException.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/TaggedSAXException.java
deleted file mode 100644
index d2db72a..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/TaggedSAXException.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import org.xml.sax.SAXException;
-
-/**
- * A {@link SAXException} wrapper that tags the wrapped exception with
- * a given object reference. Both the tag and the wrapped original exception
- * can be used to determine further processing when this exception is caught.
- */
-public class TaggedSAXException extends SAXException {
-
-    /**
-     * The object reference used to tag the exception.
-     */
-    private final Object tag;
-
-    /**
-     * Creates a tagged wrapper for the given exception.
-     *
-     * @param original the exception to be tagged
-     * @param tag tag object
-     */
-    public TaggedSAXException(SAXException original, Object tag) {
-        super(original.getMessage(), original);
-        initCause(original); // SAXException has it's own chaining mechanism!
-        this.tag = tag;
-    }
-
-    /**
-     * Returns the object reference used as the tag this exception.
-     *
-     * @return tag object
-     */
-    public Object getTag() {
-        return tag;
-    }
-
-    /**
-     * Returns the wrapped exception. The only difference to the overridden
-     * {@link Throwable#getCause()} method is the narrower return type.
-     *
-     * @return wrapped exception
-     */
-    @Override
-    public SAXException getCause() {
-        return (SAXException) super.getCause();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/TeeContentHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/TeeContentHandler.java
deleted file mode 100644
index 0d66a65..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/TeeContentHandler.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Content handler proxy that forwards the received SAX events to zero or
- * more underlying content handlers.
- */
-public class TeeContentHandler extends DefaultHandler {
-
-    private final ContentHandler[] handlers;
-
-    public TeeContentHandler(ContentHandler... handlers) {
-        this.handlers = handlers;
-    }
-
-    @Override
-    public void startPrefixMapping(String prefix, String uri)
-            throws SAXException {
-        for (ContentHandler handler : handlers) {
-            handler.startPrefixMapping(prefix, uri);
-        }
-    }
-
-    @Override
-    public void endPrefixMapping(String prefix) throws SAXException {
-        for (ContentHandler handler : handlers) {
-            handler.endPrefixMapping(prefix);
-        }
-    }
-
-    @Override
-    public void processingInstruction(String target, String data)
-            throws SAXException {
-        for (ContentHandler handler : handlers) {
-            handler.processingInstruction(target, data);
-        }
-    }
-
-    @Override
-    public void setDocumentLocator(Locator locator) {
-        for (ContentHandler handler : handlers) {
-            handler.setDocumentLocator(locator);
-        }
-    }
-
-    @Override
-    public void startDocument() throws SAXException {
-        for (ContentHandler handler : handlers) {
-            handler.startDocument();
-        }
-    }
-
-    @Override
-    public void endDocument() throws SAXException {
-        for (ContentHandler handler : handlers) {
-            handler.endDocument();
-        }
-    }
-
-    @Override
-    public void startElement(
-            String uri, String localName, String name, Attributes atts)
-            throws SAXException {
-        for (ContentHandler handler : handlers) {
-            handler.startElement(uri, localName, name, atts);
-        }
-    }
-
-    @Override
-    public void endElement(String uri, String localName, String name)
-            throws SAXException {
-        for (ContentHandler handler : handlers) {
-            handler.endElement(uri, localName, name);
-        }
-    }
-
-    @Override
-    public void characters(char[] ch, int start, int length)
-            throws SAXException {
-        for (ContentHandler handler : handlers) {
-            handler.characters(ch, start, length);
-        }
-    }
-
-    @Override
-    public void ignorableWhitespace(char[] ch, int start, int length)
-            throws SAXException {
-        for (ContentHandler handler : handlers) {
-            handler.ignorableWhitespace(ch, start, length);
-        }
-    }
-
-    @Override
-    public void skippedEntity(String name) throws SAXException {
-        for (ContentHandler handler : handlers) {
-            handler.skippedEntity(name);
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/TextContentHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/TextContentHandler.java
deleted file mode 100644
index 4691147..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/TextContentHandler.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Content handler decorator that only passes the
- * {@link #characters(char[], int, int)} and
- * (@link {@link #ignorableWhitespace(char[], int, int)}
- * (plus {@link #startDocument()} and {@link #endDocument()} events to
- * the decorated content handler.
- */
-public class TextContentHandler extends DefaultHandler {
-
-    private final ContentHandler delegate;
-
-    public TextContentHandler(ContentHandler delegate) {
-        this.delegate = delegate;
-    }
-
-    @Override
-    public void characters(char[] ch, int start, int length)
-            throws SAXException {
-        delegate.characters(ch, start, length);
-    }
-
-    @Override
-    public void ignorableWhitespace(char[] ch, int start, int length)
-            throws SAXException {
-        delegate.ignorableWhitespace(ch, start, length);
-    }
-
-    @Override
-    public void startDocument() throws SAXException {
-        delegate.startDocument();
-    }
-
-    @Override
-    public void endDocument() throws SAXException {
-        delegate.endDocument();
-    }
-
-    @Override
-    public String toString() {
-        return delegate.toString();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/WriteOutContentHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/WriteOutContentHandler.java
deleted file mode 100644
index 2f2b802..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/WriteOutContentHandler.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.StringWriter;
-import java.io.Writer;
-
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * SAX event handler that writes all character content out to
- * a {@link Writer} character stream.
- */
-public class WriteOutContentHandler extends DefaultHandler {
-
-    /**
-     * The character stream.
-     */
-    private final Writer writer;
-
-    /**
-     * The maximum number of characters to write to the character stream.
-     * Set to -1 for no limit.
-     */
-    private final int writeLimit;
-
-    /**
-     * Number of characters written so far.
-     */
-    private int writeCount = 0;
-
-    private WriteOutContentHandler(Writer writer, int writeLimit) {
-        this.writer = writer;
-        this.writeLimit = writeLimit;
-    }
-
-    /**
-     * Creates a content handler that writes character events to
-     * the given writer.
-     *
-     * @param writer writer
-     */
-    public WriteOutContentHandler(Writer writer) {
-        this(writer, -1);
-    }
-
-    /**
-     * Creates a content handler that writes character events to
-     * the given output stream using the default encoding.
-     *
-     * @param stream output stream
-     */
-    public WriteOutContentHandler(OutputStream stream) {
-        this(new OutputStreamWriter(stream));
-    }
-
-    /**
-     * Creates a content handler that writes character events
-     * to an internal string buffer. Use the {@link #toString()}
-     * method to access the collected character content.
-     * <p>
-     * The internal string buffer is bounded at the given number of characters.
-     * If this write limit is reached, then a {@link SAXException} is thrown.
-     * The {@link #isWriteLimitReached(Throwable)} method can be used to
-     * detect this case.
-     *
-     * @since Apache Tika 0.7
-     * @param writeLimit maximum number of characters to include in the string,
-     *                   or -1 to disable the write limit
-     */
-    public WriteOutContentHandler(int writeLimit) {
-        this(new StringWriter(), writeLimit);
-    }
-
-    /**
-     * Creates a content handler that writes character events
-     * to an internal string buffer. Use the {@link #toString()}
-     * method to access the collected character content.
-     * <p>
-     * The internal string buffer is bounded at 100k characters. If this
-     * write limit is reached, then a {@link SAXException} is thrown. The
-     * {@link #isWriteLimitReached(Throwable)} method can be used to detect
-     * this case.
-     */
-    public WriteOutContentHandler() {
-        this(100 * 1000);
-    }
-
-    /**
-     * Writes the given characters to the given character stream.
-     */
-    @Override
-    public void characters(char[] ch, int start, int length)
-            throws SAXException {
-        try {
-            if (writeLimit == -1 || writeCount + length <= writeLimit) {
-                writer.write(ch, start, length);
-                writeCount += length;
-            } else {
-                writer.write(ch, start, writeLimit - writeCount);
-                writeCount = writeLimit;
-                throw new WriteLimitReachedException(
-                      "Your document contained more than " + writeLimit + " " +
-                      "characters, and so your requested limit has been " +
-                      "reached. To receive the full text of the document, " +
-                      "increase your limit. " +
-                      "(Text up to the limit is however available)."
-                );
-            }
-        } catch (IOException e) {
-            throw new SAXException("Error writing out character content", e);
-        }
-    }
-
-
-    /**
-     * Writes the given ignorable characters to the given character stream.
-     */
-    @Override
-    public void ignorableWhitespace(char[] ch, int start, int length)
-            throws SAXException {
-        characters(ch, start, length);
-    }
-
-    /**
-     * Flushes the character stream so that no characters are forgotten
-     * in internal buffers.
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-179">TIKA-179</a>
-     * @throws SAXException if the stream can not be flushed
-     */
-    @Override
-    public void endDocument() throws SAXException {
-        try {
-            writer.flush();
-        } catch (IOException e) {
-            throw new SAXException("Error flushing character output", e);
-        }
-    }
-
-    /**
-     * Returns the contents of the internal string buffer where
-     * all the received characters have been collected. Only works
-     * when this object was constructed using the empty default
-     * constructor or by passing a {@link StringWriter} to the
-     * other constructor.
-     */
-    @Override
-    public String toString() {
-        return writer.toString();
-    }
-
-    /**
-     * Checks whether the given exception (or any of it's root causes) was
-     * thrown by this handler as a signal of reaching the write limit.
-     *
-     * @since Apache Tika 0.7
-     * @param t throwable
-     * @return <code>true</code> if the write limit was reached,
-     *         <code>false</code> otherwise
-     */
-    public boolean isWriteLimitReached(Throwable t) {
-        if (t instanceof WriteLimitReachedException) {
-            return this == ((WriteLimitReachedException) t).getSource();
-        } else {
-            return t.getCause() != null && isWriteLimitReached(t.getCause());
-        }
-    }
-
-    /**
-     * The exception used as a signal when the write limit has been reached.
-     */
-    private class WriteLimitReachedException extends SAXException {
-        public WriteLimitReachedException(String message) {
-           super(message);
-        }
-
-        public WriteOutContentHandler getSource() {
-            return WriteOutContentHandler.this;
-        }
-
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/XHTMLContentHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/XHTMLContentHandler.java
deleted file mode 100644
index 656cd90..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/XHTMLContentHandler.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.tika.metadata.Metadata;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-/**
- * Content handler decorator that simplifies the task of producing XHTML
- * events for Tika content parsers.
- */
-public class XHTMLContentHandler extends SafeContentHandler {
-
-    /**
-     * The XHTML namespace URI
-     */
-    public static final String XHTML = "http://www.w3.org/1999/xhtml";
-
-    /**
-     * The newline character that gets inserted after block elements.
-     */
-    private static final char[] NL = new char[] { '\n' };
-
-    /**
-     * The tab character gets inserted before table cells and list items.
-     */
-    private static final char[] TAB = new char[] { '\t' };
-
-    /**
-     * The elements that are in the <head> section.
-     */
-    private static final Set<String> HEAD =
-        unmodifiableSet("title", "link", "base", "meta");
-
-    /**
-     * The elements that are automatically emitted by lazyStartHead, so
-     * skip them if they get sent to startElement/endElement by mistake.
-     */
-    private static final Set<String> AUTO =
-        unmodifiableSet("html", "head", "body", "frameset");
-
-    /**
-     * The elements that get prepended with the {@link #TAB} character.
-     */
-    private static final Set<String> INDENT =
-        unmodifiableSet("li", "dd", "dt", "td", "th", "frame");
-
-    /**
-     * The elements that get appended with the {@link #NL} character.
-     */
-    public static final Set<String> ENDLINE = unmodifiableSet(
-            "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "ul", "ol", "dl",
-            "pre", "hr", "blockquote", "address", "fieldset", "table", "form",
-            "noscript", "li", "dt", "dd", "noframes", "br", "tr", "select", "option");
-
-    private static final Attributes EMPTY_ATTRIBUTES = new AttributesImpl();
-
-    private static Set<String> unmodifiableSet(String... elements) {
-        return Collections.unmodifiableSet(
-                new HashSet<String>(Arrays.asList(elements)));
-    }
-
-    /**
-     * Metadata associated with the document. Used to fill in the
-     * &lt;head/&gt; section.
-     */
-    private final Metadata metadata;
-
-    /**
-     * Flags to indicate whether the document head element has been started/ended.
-     */
-    private boolean headStarted = false;
-    private boolean headEnded = false;
-    private boolean useFrameset = false;
-    
-    public XHTMLContentHandler(ContentHandler handler, Metadata metadata) {
-        super(handler);
-        this.metadata = metadata;
-    }
-
-    /**
-     * Starts an XHTML document by setting up the namespace mappings.
-     * The standard XHTML prefix is generated lazily when the first
-     * element is started.
-     */
-    @Override
-    public void startDocument() throws SAXException {
-        super.startDocument();
-        startPrefixMapping("", XHTML);
-    }
-
-    /**
-     * Generates the following XHTML prefix when called for the first time:
-     * <pre>
-     * &lt;html&gt;
-     *   &lt;head&gt;
-     *     &lt;title&gt;...&lt;/title&gt;
-     *   &lt;/head&gt;
-     *   &lt;body&gt;
-     * </pre>
-     */
-    private void lazyStartHead() throws SAXException {
-        if (!headStarted) {
-            headStarted = true;
-            
-            // Call directly, so we don't go through our startElement(), which will
-            // ignore these elements.
-            super.startElement(XHTML, "html", "html", EMPTY_ATTRIBUTES);
-            super.startElement(XHTML, "head", "head", EMPTY_ATTRIBUTES);
-        }
-    }
-
-    /**
-     * Generates the following XHTML prefix when called for the first time:
-     * <pre>
-     * &lt;html&gt;
-     *   &lt;head&gt;
-     *     &lt;title&gt;...&lt;/title&gt;
-     *   &lt;/head&gt;
-     *   &lt;body&gt; (or &lt;frameset&gt;
-     * </pre>
-     */
-    private void lazyEndHead(boolean isFrameset) throws SAXException {
-        lazyStartHead();
-        
-        if (!headEnded) {
-            headEnded = true;
-            useFrameset = isFrameset;
-            
-            // TIKA-478: Emit all metadata values (other than title). We have to call
-            // startElement() and characters() directly to avoid recursive problems.
-            for (String name : metadata.names()) {
-                if (name.equals("title")) {
-                    continue;
-                }
-                
-                for (String value : metadata.getValues(name)) {
-                    // Putting null values into attributes causes problems, but is
-                    // allowed by Metadata, so guard against that.
-                    if (value != null) {
-                        AttributesImpl attributes = new AttributesImpl();
-                        attributes.addAttribute("", "name", "name", "CDATA", name);
-                        attributes.addAttribute("", "content", "content", "CDATA", value);
-                        super.startElement(XHTML, "meta", "meta", attributes);
-                        super.endElement(XHTML, "meta", "meta");
-                    }
-                }
-            }
-            
-            super.startElement(XHTML, "title", "title", EMPTY_ATTRIBUTES);
-            String title = metadata.get(Metadata.TITLE);
-            if (title != null && title.length() > 0) {
-                char[] titleChars = title.toCharArray();
-                super.characters(titleChars, 0, titleChars.length);
-            }
-            
-            super.endElement(XHTML, "title", "title");
-            
-            super.endElement(XHTML, "head", "head");
-            
-            if (useFrameset) {
-                super.startElement(XHTML, "frameset", "frameset", EMPTY_ATTRIBUTES);
-            } else {
-                super.startElement(XHTML, "body", "body", EMPTY_ATTRIBUTES);
-            }
-        }
-    }
-
-    /**
-     * Ends the XHTML document by writing the following footer and
-     * clearing the namespace mappings:
-     * <pre>
-     *   &lt;/body&gt;
-     * &lt;/html&gt;
-     * </pre>
-     */
-    @Override
-    public void endDocument() throws SAXException {
-        lazyEndHead(useFrameset);
-        
-        if (useFrameset) {
-            super.endElement(XHTML, "frameset", "frameset");
-        } else {
-            super.endElement(XHTML, "body", "body");
-        }
-        
-        super.endElement(XHTML, "html", "html");
-        
-        endPrefixMapping("");
-        super.endDocument();
-    }
-
-    /**
-     * Starts the given element. Table cells and list items are automatically
-     * indented by emitting a tab character as ignorable whitespace.
-     */
-    @Override
-    public void startElement(
-            String uri, String local, String name, Attributes attributes)
-            throws SAXException {
-        
-        if (name.equals("frameset")) {
-            lazyEndHead(true);
-        } else if (!AUTO.contains(name)) {
-            if (HEAD.contains(name)) {
-                lazyStartHead();
-            } else {
-                lazyEndHead(false);
-            }
-
-            if (XHTML.equals(uri) && INDENT.contains(name)) {
-                ignorableWhitespace(TAB, 0, TAB.length);
-            }
-            
-            super.startElement(uri, local, name, attributes);
-        }
-    }
-
-    /**
-     * Ends the given element. Block elements are automatically followed
-     * by a newline character.
-     */
-    @Override
-    public void endElement(String uri, String local, String name) throws SAXException {
-        if (!AUTO.contains(name)) {
-            super.endElement(uri, local, name);
-            if (XHTML.equals(uri) && ENDLINE.contains(name)) {
-                newline();
-            }
-        }
-    }
-
-    /**
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-210">TIKA-210</a>
-     */
-    @Override
-    public void characters(char[] ch, int start, int length) throws SAXException {
-        lazyEndHead(useFrameset);
-        super.characters(ch, start, length);
-    }
-
-    //------------------------------------------< public convenience methods >
-
-    public void startElement(String name) throws SAXException {
-        startElement(XHTML, name, name, EMPTY_ATTRIBUTES);
-    }
-
-    public void startElement(String name, String attribute, String value)
-            throws SAXException {
-        AttributesImpl attributes = new AttributesImpl();
-        attributes.addAttribute("", attribute, attribute, "CDATA", value);
-        startElement(XHTML, name, name, attributes);
-    }
-
-    public void startElement(String name, AttributesImpl attributes)
-            throws SAXException {
-        startElement(XHTML, name, name, attributes);
-    }
-
-    public void endElement(String name) throws SAXException {
-        endElement(XHTML, name, name);
-    }
-
-    public void characters(String characters) throws SAXException {
-        characters(characters.toCharArray(), 0, characters.length());
-    }
-
-    public void newline() throws SAXException {
-        ignorableWhitespace(NL, 0, NL.length);
-    }
-
-    /**
-     * Emits an XHTML element with the given text content. If the given
-     * text value is null or empty, then the element is not written.
-     *
-     * @param name XHTML element name
-     * @param value element value, possibly <code>null</code>
-     * @throws SAXException if the content element could not be written
-     */
-    public void element(String name, String value) throws SAXException {
-        if (value != null && value.length() > 0) {
-            startElement(name);
-            characters(value);
-            endElement(name);
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/AttributeMatcher.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/AttributeMatcher.java
deleted file mode 100644
index 7b1693d..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/AttributeMatcher.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax.xpath;
-
-/**
- * Final evaluation state of a <code>.../@*</code> XPath expression.
- * Matches all attributes of the current element.
- */
-public class AttributeMatcher extends Matcher {
-
-    public static final Matcher INSTANCE = new AttributeMatcher();
-
-    public boolean matchesAttribute(String namespace, String name) {
-        return true;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/ChildMatcher.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/ChildMatcher.java
deleted file mode 100644
index b95983c..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/ChildMatcher.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax.xpath;
-
-/**
- * Intermediate evaluation state of a <code>.../*...</code> XPath expression.
- * Matches nothing, but specifies the evaluation state for all child elements.
- */
-public class ChildMatcher extends Matcher {
-
-    private final Matcher then;
-
-    public ChildMatcher(Matcher then) {
-        this.then = then;
-    }
-
-    public Matcher descend(String namespace, String name) {
-        return then;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/CompositeMatcher.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/CompositeMatcher.java
deleted file mode 100644
index 4a8ba8d..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/CompositeMatcher.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax.xpath;
-
-/**
- * Composite XPath evaluation state. Used when XPath evaluation results
- * in two or more branches of independent evaluation states.
- */
-public class CompositeMatcher extends Matcher {
-
-    private final Matcher a;
-
-    private final Matcher b;
-
-    public CompositeMatcher(Matcher a, Matcher b) {
-        this.a = a;
-        this.b = b;
-    }
-
-    public Matcher descend(String namespace, String name) {
-        Matcher a = this.a.descend(namespace, name);
-        Matcher b = this.b.descend(namespace, name);
-        if (a == FAIL) {
-            return b;
-        } else if (b == FAIL) {
-            return a;
-        } else if (this.a == a && this.b == b) {
-            return this;
-        } else {
-            return new CompositeMatcher(a, b);
-        }
-    }
-
-    public boolean matchesElement() {
-        return a.matchesElement() || b.matchesElement();
-    }
-
-    public boolean matchesAttribute(String namespace, String name) {
-        return a.matchesAttribute(namespace, name)
-            || b.matchesAttribute(namespace, name);
-    }
-
-    public boolean matchesText() {
-        return a.matchesText() || b.matchesText();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/ElementMatcher.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/ElementMatcher.java
deleted file mode 100644
index 164e08a..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/ElementMatcher.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax.xpath;
-
-/**
- * Final evaluation state of an XPath expression that targets an element.
- * Matches the current element.
- */
-public class ElementMatcher extends Matcher {
-
-    public static final Matcher INSTANCE = new ElementMatcher();
-
-    public boolean matchesElement() {
-        return true;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/Matcher.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/Matcher.java
deleted file mode 100644
index d1b9a5b..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/Matcher.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax.xpath;
-
-/**
- * XPath element matcher. A matcher instance encapsulates a specific
- * state in XPath evaluation.
- */
-public class Matcher {
-
-    /**
-     * State of a failed XPath evaluation, where nothing is matched.
-     * This matcher instance is used as a sentinel object whenever an
-     * XPath evaluation branch fails.
-     */
-    public static final Matcher FAIL = new Matcher();
-
-    /**
-     * Returns the XPath evaluation state that results from descending
-     * to a child element with the given name.
-     *
-     * @param namespace element namespace or <code>null</code>
-     * @param name element name
-     * @return next XPath evaluation state
-     */
-    public Matcher descend(String namespace, String name) {
-        return FAIL;
-    }
-
-    /**
-     * Returns <code>true</code> if the XPath expression matches
-     * the element associated with this evaluation state.
-     *
-     * @return XPath evaluation state for this element
-     */
-    public boolean matchesElement() {
-        return false;
-    }
-
-    /**
-     * Returns <code>true</code> if the XPath expression matches the named
-     * attribute of the element associated with this evaluation state.
-     *
-     * @param namespace attribute namespace or <code>null</code>
-     * @param name attribute name
-     * @return XPath evaluation state for named attribute of this element
-     */
-    public boolean matchesAttribute(String namespace, String name) {
-        return false;
-    }
-
-    /**
-     * Returns <code>true</code> if the XPath expression matches all text
-     * nodes whose parent is the element associated with this evaluation
-     * state.
-     *
-     * @return XPath evaluation state for text children of this element
-     */
-    public boolean matchesText() {
-        return false;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/MatchingContentHandler.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/MatchingContentHandler.java
deleted file mode 100644
index ea5f153..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/MatchingContentHandler.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax.xpath;
-
-import java.util.LinkedList;
-
-import org.apache.tika.sax.ContentHandlerDecorator;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-/**
- * Content handler decorator that only passes the elements, attributes,
- * and text nodes that match the given XPath expression.
- */
-public class MatchingContentHandler extends ContentHandlerDecorator {
-
-    private final LinkedList<Matcher> matchers = new LinkedList<Matcher>();
-
-    private Matcher matcher;
-
-    public MatchingContentHandler(ContentHandler delegate, Matcher matcher) {
-        super(delegate);
-        this.matcher = matcher;
-    }
-
-    public void startElement(
-            String uri, String localName, String name, Attributes attributes)
-            throws SAXException {
-        matchers.addFirst(matcher);
-        matcher = matcher.descend(uri, localName);
-
-        AttributesImpl matches = new AttributesImpl();
-        for (int i = 0; i < attributes.getLength(); i++) {
-            String attributeURI = attributes.getURI(i);
-            String attributeName = attributes.getLocalName(i);
-            if (matcher.matchesAttribute(attributeURI, attributeName)) {
-                matches.addAttribute(
-                        attributeURI, attributeName, attributes.getQName(i),
-                        attributes.getType(i), attributes.getValue(i));
-            }
-        }
-
-        if (matcher.matchesElement() || matches.getLength() > 0) {
-            super.startElement(uri, localName, name, matches);
-            if (!matcher.matchesElement()) {
-                // Force the matcher to match the current element, so the
-                // endElement method knows to emit the correct event
-                matcher =
-                    new CompositeMatcher(matcher, ElementMatcher.INSTANCE);
-            }
-        }
-    }
-
-    public void endElement(String uri, String localName, String name)
-            throws SAXException {
-        if (matcher.matchesElement()) {
-            super.endElement(uri, localName, name);
-        }
-        // Sometimes tagsoup returns double end tags, so the stack might
-        // be empty! TODO: Remove this when the tagsoup problem is fixed.
-        if (!matchers.isEmpty()) {
-            matcher = matchers.removeFirst();
-        }
-    }
-
-    public void characters(char[] ch, int start, int length)
-            throws SAXException {
-        if (matcher.matchesText()) {
-            super.characters(ch, start, length);
-        }
-    }
-
-    public void ignorableWhitespace(char[] ch, int start, int length)
-            throws SAXException {
-        if (matcher.matchesText()) {
-            super.ignorableWhitespace(ch, start, length);
-        }
-    }
-
-    public void processingInstruction(String target, String data) {
-        // TODO: Support for matching processing instructions
-    }
-
-    public void skippedEntity(String name) throws SAXException {
-        // TODO: Can skipped entities refer to more than text?
-        if (matcher.matchesText()) {
-            super.skippedEntity(name);
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/NamedAttributeMatcher.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/NamedAttributeMatcher.java
deleted file mode 100644
index ab0b611..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/NamedAttributeMatcher.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax.xpath;
-
-/**
- * Final evaluation state of a <code>.../@name</code> XPath expression.
- * Matches the named attributes of the current element.
- */
-public class NamedAttributeMatcher extends Matcher {
-
-    private final String namespace;
-
-    private final String name;
-
-    public NamedAttributeMatcher(String namespace, String name) {
-        this.namespace = namespace;
-        this.name = name;
-    }
-
-    public boolean matchesAttribute(String namespace, String name) {
-        return equals(namespace, this.namespace) && name.equals(this.name);
-    }
-
-    private static boolean equals(String a, String b) {
-        return (a == null) ? (b == null) : a.equals(b);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/NamedElementMatcher.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/NamedElementMatcher.java
deleted file mode 100644
index d46643d..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/NamedElementMatcher.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax.xpath;
-
-/**
- * Intermediate evaluation state of a <code>.../name...</code> XPath
- * expression. Matches nothing, but specifies the evaluation state
- * for the child elements with the given name.
- */
-public class NamedElementMatcher extends ChildMatcher {
-
-    private final String namespace;
-
-    private final String name;
-
-    protected NamedElementMatcher(String namespace, String name, Matcher then) {
-        super(then);
-        this.namespace = namespace;
-        this.name = name;
-    }
-
-    public Matcher descend(String namespace, String name) {
-        if (equals(namespace, this.namespace) && name.equals(this.name)) {
-            return super.descend(namespace, name);
-        } else {
-            return FAIL;
-        }
-    }
-
-    private static boolean equals(String a, String b) {
-        return (a == null) ? (b == null) : a.equals(b);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/NodeMatcher.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/NodeMatcher.java
deleted file mode 100644
index 8c2e45c..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/NodeMatcher.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax.xpath;
-
-/**
- * Final evaluation state of a <code>.../node()</code> XPath expression.
- * Matches all elements, attributes, and text.
- */
-public class NodeMatcher extends Matcher {
-
-    public static final Matcher INSTANCE = new NodeMatcher();
-
-    @Override
-    public boolean matchesElement() {
-        return true;
-    }
-
-    @Override
-    public boolean matchesAttribute(String namespace, String name) {
-        return true;
-    }
-
-    @Override
-    public boolean matchesText() {
-        return true;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/SubtreeMatcher.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/SubtreeMatcher.java
deleted file mode 100644
index 1915dfc..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/SubtreeMatcher.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax.xpath;
-
-/**
- * Evaluation state of a <code>...//...</code> XPath expression. Applies the
- * contained evaluation state to the current element and all its descendants.
- */
-public class SubtreeMatcher extends Matcher {
-
-    private final Matcher then;
-
-    public SubtreeMatcher(Matcher then) {
-        this.then = then;
-    }
-
-    @Override
-    public Matcher descend(String namespace, String name) {
-        Matcher next = then.descend(namespace, name);
-        if (next == FAIL || next == then) {
-            return this;
-        } else {
-            return new CompositeMatcher(next, this);
-        }
-    }
-
-    @Override
-    public boolean matchesElement() {
-        return then.matchesElement();
-    }
-
-    @Override
-    public boolean matchesAttribute(String namespace, String name) {
-        return then.matchesAttribute(namespace, name);
-    }
-
-    @Override
-    public boolean matchesText() {
-        return then.matchesText();
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/TextMatcher.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/TextMatcher.java
deleted file mode 100644
index caf82f4..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/TextMatcher.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax.xpath;
-
-/**
- * Final evaluation state of a <code>.../text()</code> XPath expression.
- * Matches all text children of the current element.
- */
-public class TextMatcher extends Matcher {
-
-    public static final Matcher INSTANCE = new TextMatcher();
-
-    public boolean matchesText() {
-        return true;
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/XPathParser.java b/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/XPathParser.java
deleted file mode 100644
index 9c0a950..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/sax/xpath/XPathParser.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax.xpath;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Parser for a very simple XPath subset. Only the following XPath constructs
- * (with namespaces) are supported:
- * <ul>
- *   <li><code>.../text()</code></li>
- *   <li><code>.../@*</code></li>
- *   <li><code>.../@name</code></li>
- *   <li><code>.../*...</code></li>
- *   <li><code>.../name...</code></li>
- *   <li><code>...//*...</code></li>
- *   <li><code>...//name...</code></li>
- * </ul>
- */
-public class XPathParser {
-
-    private final Map<String, String> prefixes = new HashMap<String, String>();
-
-    public XPathParser() {
-    }
-
-    public XPathParser(String prefix, String namespace) {
-        addPrefix(prefix, namespace);
-    }
-
-    public void addPrefix(String prefix, String namespace) {
-        prefixes.put(prefix, namespace);
-    }
-
-    /**
-     * Parses the given simple XPath expression to an evaluation state
-     * initialized at the document node. Invalid expressions are not flagged
-     * as errors, they just result in a failing evaluation state.
-     *
-     * @param xpath simple XPath expression
-     * @return XPath evaluation state
-     */
-    public Matcher parse(String xpath) {
-        if (xpath.equals("/text()")) {
-            return TextMatcher.INSTANCE;
-        } else if (xpath.equals("/node()")) {
-            return NodeMatcher.INSTANCE;
-        } else if (xpath.equals("/descendant:node()")) {
-            return new CompositeMatcher(
-                    TextMatcher.INSTANCE,
-                    new ChildMatcher(new SubtreeMatcher(NodeMatcher.INSTANCE)));
-        } else if (xpath.equals("/@*")) {
-            return AttributeMatcher.INSTANCE;
-        } else if (xpath.length() == 0) {
-            return ElementMatcher.INSTANCE;
-        } else if (xpath.startsWith("/@")) {
-            String name = xpath.substring(2);
-            String prefix = null;
-            int colon = name.indexOf(':');
-            if (colon != -1) {
-                prefix = name.substring(0, colon);
-                name = name.substring(colon + 1);
-            }
-            if (prefixes.containsKey(prefix)) {
-                return new NamedAttributeMatcher(prefixes.get(prefix), name);
-            } else {
-                return Matcher.FAIL;
-            }
-        } else if (xpath.startsWith("/*")) {
-            return new ChildMatcher(parse(xpath.substring(2)));
-        } else if (xpath.startsWith("///")) {
-            return Matcher.FAIL;
-        } else if (xpath.startsWith("//")) {
-            return new SubtreeMatcher(parse(xpath.substring(1)));
-        } else if (xpath.startsWith("/")) {
-            int slash = xpath.indexOf('/', 1);
-            if (slash == -1) {
-                slash = xpath.length();
-            }
-            String name = xpath.substring(1, slash);
-            String prefix = null;
-            int colon = name.indexOf(':');
-            if (colon != -1) {
-                prefix = name.substring(0, colon);
-                name = name.substring(colon + 1);
-            }
-            if (prefixes.containsKey(prefix)) {
-                return new NamedElementMatcher(
-                        prefixes.get(prefix), name,
-                        parse(xpath.substring(slash)));
-            } else {
-                return Matcher.FAIL;
-            }
-        } else {
-            return Matcher.FAIL;
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/utils/CharsetUtils.java b/trunk/tika-core/src/main/java/org/apache/tika/utils/CharsetUtils.java
deleted file mode 100644
index b9d12ff..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/utils/CharsetUtils.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.utils;
-
-import java.nio.charset.Charset;
-import java.nio.charset.IllegalCharsetNameException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-@SuppressWarnings("serial")
-public class CharsetUtils {
-    private static final Pattern CHARSET_NAME_PATTERN = Pattern.compile("[ \\\"]*([^ >,;\\\"]+).*");
-    private static final Pattern ISO_NAME_PATTERN = Pattern.compile("(?i).*8859-([\\d]+)");
-    private static final Pattern CP_NAME_PATTERN = Pattern.compile("(?i)cp-([\\d]+)");
-    private static final Pattern WIN_NAME_PATTERN = Pattern.compile("(?i)win(|-)([\\d]+)");
-    
-    // List of common invalid charset names that we can't fix using
-    // pattern matching + heuristic
-    private static final Map<String, String> CHARSET_ALIASES = new HashMap<String, String>() {{
-        put("none", null);
-        put("no", null);
-        
-        put("iso-8851-1", "iso-8859-1");
-        
-        put("windows", "windows-1252");
-        
-        put("koi8r", "KOI8-R");
-    }};
-    
-    /**
-     * Safely return whether <charsetName> is supported, without throwing exceptions
-     * 
-     * @param charsetName Name of charset (can be null)
-     * @return true if the character set is supported
-     */
-    public static boolean isSupported(String charsetName) {
-        try {
-            return Charset.isSupported(charsetName);
-        } catch (IllegalCharsetNameException e) {
-            return false;
-        } catch (IllegalArgumentException e) {
-            // null, for example
-            return false;
-        } catch (Exception e) {
-            // Unexpected exception, what to do?
-            return false;
-        }
-    }
-    
-    /**
-     * Handle various common charset name errors, and return something
-     * that will be considered valid (and is normalized)
-     * 
-     * @param charsetName name of charset to process
-     * @return potentially remapped/cleaned up version of charset name
-     */
-    public static String clean(String charsetName) {
-        if (charsetName == null) {
-            return null;
-        }
-        
-        // Get rid of cruft around names, like <>, trailing commas, etc.
-        Matcher m = CHARSET_NAME_PATTERN.matcher(charsetName);
-        if (!m.matches()) {
-            return null;
-        }
-
-        String result = m.group(1);
-        if (CHARSET_ALIASES.containsKey(result.toLowerCase())) {
-            // Handle common erroneous charset names.
-            result = CHARSET_ALIASES.get(result.toLowerCase());
-        } else if (ISO_NAME_PATTERN.matcher(result).matches()) {
-            // Handle "iso 8859-x" error
-            m = ISO_NAME_PATTERN.matcher(result);
-            m.matches();
-            result = "iso-8859-" + m.group(1);
-        } else if (CP_NAME_PATTERN.matcher(result).matches()) {
-            // Handle "cp-xxx" error
-            m = CP_NAME_PATTERN.matcher(result);
-            m.matches();
-            result = "cp" + m.group(1);
-        } else if (WIN_NAME_PATTERN.matcher(result).matches()) {
-            // Handle "winxxx" and "win-xxx" errors
-            m = WIN_NAME_PATTERN.matcher(result);
-            m.matches();
-            result = "windows-" + m.group(2);
-        }
-        
-        try {
-            Charset cs = Charset.forName(result);
-            return cs.name();
-        } catch (Exception e) {
-            return null;
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/utils/ParseUtils.java b/trunk/tika-core/src/main/java/org/apache/tika/utils/ParseUtils.java
deleted file mode 100644
index 6b8adef..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/utils/ParseUtils.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.utils;
-
-//JDK imports
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import org.apache.tika.config.TikaConfig;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.TikaMimeKeys;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Contains utility methods for parsing documents. Intended to provide simple
- * entry points into the Tika framework.
- */
-public class ParseUtils implements TikaMimeKeys {
-
-    /**
-     * Returns a parser that can handle the specified MIME type, and is set to
-     * receive input from a stream opened from the specified URL. NB: Close the
-     * input stream when it is no longer needed!
-     * 
-     * @param config
-     * @param mimeType
-     *            the document's MIME type
-     * @return a parser appropriate to this MIME type
-     * @throws TikaException
-     */
-    public static Parser getParser(String mimeType, TikaConfig config)
-            throws TikaException {
-        return config.getParser(MediaType.parse(mimeType));
-    }
-
-    /**
-     * Returns a parser that can handle the specified MIME type, and is set to
-     * receive input from a stream opened from the specified URL. The MIME type
-     * is determined automatically. NB: Close the input stream when it is no
-     * longer needed!
-     * 
-     * @param documentUrl
-     *            URL pointing to the document to parse
-     * @param config
-     * @return a parser appropriate to this MIME type and ready to read input
-     *         from the specified document
-     * @throws TikaException
-     */
-    public static Parser getParser(URL documentUrl, TikaConfig config)
-            throws TikaException {
-        String mimetype = config.getMimeRepository().getMimeType(documentUrl)
-        .getName();
-        return getParser(mimetype, config);
-    }
-
-    /**
-     * Returns a parser that can handle the specified MIME type, and is set to
-     * receive input from a stream opened from the specified URL. NB: Close the
-     * input stream when it is no longer needed!
-     * 
-     * @param documentFile
-     *            File object pointing to the document to parse
-     * @param config
-     * @return a parser appropriate to this MIME type and ready to read input
-     *         from the specified document
-     * @throws TikaException
-     */
-    public static Parser getParser(File documentFile, TikaConfig config)
-            throws TikaException {
-        String mimetype = config.getMimeRepository().getMimeType(documentFile)
-        .getName();
-        return getParser(mimetype, config);
-    }
-
-    /**
-     * Gets the string content of a document read from an input stream.
-     * 
-     * @param stream the stream from which to read document data
-     * @param config
-     * @param mimeType MIME type of the data
-     * @return the string content parsed from the document
-     */
-    public static String getStringContent(
-            InputStream stream, TikaConfig config, String mimeType)
-            throws TikaException, IOException {
-        try {
-            Parser parser = config.getParser(MediaType.parse(mimeType));
-            ContentHandler handler = new BodyContentHandler();
-            parser.parse(stream, handler, new Metadata());
-            return handler.toString();
-        } catch (SAXException e) {
-            throw new TikaException("Unexpected SAX error", e);
-        }
-    }
-
-    /**
-     * Gets the string content of a document read from an input stream.
-     * 
-     * @param documentUrl
-     *            URL pointing to the document to parse
-     * @param config
-     * @return the string content parsed from the document
-     */
-    public static String getStringContent(URL documentUrl, TikaConfig config)
-            throws TikaException, IOException {
-        String mime = config.getMimeRepository().getMimeType(documentUrl)
-        .getName();
-        return getStringContent(documentUrl, config, mime);
-    }
-
-    /**
-     * Gets the string content of a document read from an input stream.
-     * 
-     * @param documentUrl
-     *            URL pointing to the document to parse
-     * @param config
-     * @param mimeType
-     *            MIME type of the data
-     * @return the string content parsed from the document
-     */
-    public static String getStringContent(
-            URL documentUrl, TikaConfig config, String mimeType)
-            throws TikaException, IOException {
-        InputStream stream = documentUrl.openStream();
-        try {
-            return getStringContent(stream, config, mimeType);
-        } finally {
-            stream.close();
-        }
-    }
-
-    /**
-     * Gets the string content of a document read from an input stream.
-     * 
-     * @param documentFile
-     *            File object pointing to the document to parse
-     * @param config
-     * @param mimeType
-     *            MIME type of the data
-     * @return the string content parsed from the document
-     */
-    public static String getStringContent(
-            File documentFile, TikaConfig config, String mimeType)
-            throws TikaException, IOException {
-        InputStream stream = new BufferedInputStream(new FileInputStream(
-                documentFile));
-        try {
-            return getStringContent(stream, config, mimeType);
-        } finally {
-            stream.close();
-        }
-    }
-
-    /**
-     * Gets the string content of a document read from an input stream.
-     * 
-     * @param documentFile
-     *            File object pointing to the document to parse
-     * @param config
-     * @return the string content parsed from the document
-     */
-    public static String getStringContent(File documentFile, TikaConfig config)
-            throws TikaException, IOException {
-        String mime =
-            config.getMimeRepository().getMimeType(documentFile).getName();
-        return getStringContent(documentFile, config, mime);
-    }
-
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/utils/RegexUtils.java b/trunk/tika-core/src/main/java/org/apache/tika/utils/RegexUtils.java
deleted file mode 100644
index 411031a..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/utils/RegexUtils.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.utils;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- * Inspired from Nutch code class OutlinkExtractor. Apply regex to extract
- * content
- * 
- * 
- */
-public class RegexUtils {
-
-    /**
-     * Regex pattern to get URLs within a plain text.
-     * 
-     * @see <a
-     *      href="http://www.truerwords.net/articles/ut/urlactivation.html">http://www.truerwords.net/articles/ut/urlactivation.html
-     *      </a>
-     */
-    private static final String LINKS_REGEX =
-        "([A-Za-z][A-Za-z0-9+.-]{1,120}:"
-        + "[A-Za-z0-9/](([A-Za-z0-9$_.+!*,;/?:@&~=-])|%[A-Fa-f0-9]{2}){1,333}"
-        + "(#([a-zA-Z0-9][a-zA-Z0-9$_.+!*,;/?:@&~=%-]{0,1000}))?)";
-    
-    private static final Pattern LINKS_PATTERN = Pattern.compile(LINKS_REGEX, Pattern.CASE_INSENSITIVE + Pattern.MULTILINE);
-
-    /**
-     * Extract urls from plain text.
-     *
-     * @param content The plain text content to examine
-     * @return List of urls within found in the plain text
-     */
-    public static List<String> extractLinks(String content) {
-        if (content == null || content.length() == 0) {
-            return Collections.emptyList();
-        }
-
-        List<String> extractions = new ArrayList<String>();
-        final Matcher matcher = LINKS_PATTERN.matcher(content);
-        while (matcher.find()) {
-            extractions.add(matcher.group());
-        }
-        return extractions;
-
-    }
-}
diff --git a/trunk/tika-core/src/main/java/org/apache/tika/utils/RereadableInputStream.java b/trunk/tika-core/src/main/java/org/apache/tika/utils/RereadableInputStream.java
deleted file mode 100644
index f352093..0000000
--- a/trunk/tika-core/src/main/java/org/apache/tika/utils/RereadableInputStream.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.utils;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-
-/**
- * Wraps an input stream, reading it only once, but making it available
- * for rereading an arbitrary number of times.  The stream's bytes are
- * stored in memory up to a user specified maximum, and then stored in a
- * temporary file which is deleted when this class' close() method is called.
- */
-public class RereadableInputStream extends InputStream {
-
-
-    /**
-     * Input stream originally passed to the constructor.
-     */
-    private InputStream originalInputStream;
-
-    /**
-     * The inputStream currently being used by this object to read contents;
-     * may be the original stream passed in, or a stream that reads
-     * the saved copy.
-     */
-    private InputStream inputStream;
-
-    /**
-     * Maximum number of bytes that can be stored in memory before
-     * storage will be moved to a temporary file.
-     */
-    private int maxBytesInMemory;
-
-    /**
-     * True when the original stream is being read; set to false when
-     * reading is set to use the stored data instead.
-     */
-    private boolean firstPass = true;
-
-    /**
-     * Whether or not the stream's contents are being stored in a file
-     * as opposed to memory.
-     */
-    private boolean bufferIsInFile;
-
-    /**
-     * The buffer used to store the stream's content; this storage is moved
-     * to a file when the stored data's size exceeds maxBytesInMemory.
-     */
-    private byte[] byteBuffer;
-
-    /**
-     * The total number of bytes read from the original stream at the time.
-     */
-    private int size;
-
-    /**
-     * File used to store the stream's contents; is null until the stored
-     * content's size exceeds maxBytesInMemory.
-     */
-    private File storeFile;
-
-    /**
-     * OutputStream used to save the content of the input stream in a
-     * temporary file.
-     */
-    private OutputStream storeOutputStream;
-
-
-    /**
-     * Specifies whether or not to read to the end of stream on first
-     * rewind.  This defaults to true.  If this is set to false,
-     * then the first time when rewind() is called, only those bytes
-     * already read from the original stream will be available from then on.
-     */
-    private boolean readToEndOfStreamOnFirstRewind = true;
-
-
-    /**
-     * Specifies whether or not to close the original input stream
-     * when close() is called.  Defaults to true.
-     */
-    private boolean closeOriginalStreamOnClose = true;
-
-
-    // TODO: At some point it would be better to replace the current approach
-    // (specifying the above) with more automated behavior.  The stream could
-    // keep the original stream open until EOF was reached.  For example, if:
-    //
-    // the original stream is 10 bytes, and
-    // only 2 bytes are read on the first pass
-    // rewind() is called
-    // 5 bytes are read
-    //
-    // In this case, this instance gets the first 2 from its store,
-    // and the next 3 from the original stream, saving those additional 3
-    // bytes in the store.  In this way, only the maximum number of bytes
-    // ever needed must be saved in the store; unused bytes are never read.
-    // The original stream is closed when EOF is reached, or when close()
-    // is called, whichever comes first.  Using this approach eliminates
-    // the need to specify the flag (though makes implementation more complex).
-    
-
-
-    /**
-     * Creates a rereadable input stream.
-     *
-     * @param inputStream stream containing the source of data
-     * @param maxBytesInMemory maximum number of bytes to use to store
-     *     the stream's contents in memory before switching to disk; note that
-     *     the instance will preallocate a byte array whose size is
-     *     maxBytesInMemory.  This byte array will be made available for
-     *     garbage collection (i.e. its reference set to null) when the
-     *     content size exceeds the array's size, when close() is called, or
-     *     when there are no more references to the instance.
-     * @param readToEndOfStreamOnFirstRewind Specifies whether or not to
-     *     read to the end of stream on first rewind.  If this is set to false,
-     *     then when rewind() is first called, only those bytes already read
-     *     from the original stream will be available from then on.
-     */
-    public RereadableInputStream(InputStream inputStream, int maxBytesInMemory,
-            boolean readToEndOfStreamOnFirstRewind,
-            boolean closeOriginalStreamOnClose) {
-        this.inputStream = inputStream;
-        this.originalInputStream = inputStream;
-        this.maxBytesInMemory = maxBytesInMemory;
-        byteBuffer = new byte[maxBytesInMemory];
-        this.readToEndOfStreamOnFirstRewind = readToEndOfStreamOnFirstRewind;
-        this.closeOriginalStreamOnClose = closeOriginalStreamOnClose;
-    }
-
-    /**
-     * Reads a byte from the stream, saving it in the store if it is being
-     * read from the original stream.  Implements the abstract
-     * InputStream.read().
-     *
-     * @return the read byte, or -1 on end of stream.
-     * @throws IOException
-     */
-    public int read() throws IOException {
-        int inputByte = inputStream.read();
-        if (firstPass) {
-            saveByte(inputByte);
-        }
-        return inputByte;
-    }
-
-    /**
-     * "Rewinds" the stream to the beginning for rereading.
-     * @throws IOException
-     */
-    public void rewind() throws IOException {
-
-        if (firstPass && readToEndOfStreamOnFirstRewind) {
-            // Force read to end of stream to fill store with any
-            // remaining bytes from original stream.
-            while(read() != -1) {
-                // empty loop
-            }
-        }
-
-        closeStream();
-        if (storeOutputStream != null) {
-            storeOutputStream.close();
-            storeOutputStream = null;
-        }
-        firstPass = false;
-        boolean newStreamIsInMemory = (size < maxBytesInMemory);
-        inputStream = newStreamIsInMemory
-                ? new ByteArrayInputStream(byteBuffer)
-                : new BufferedInputStream(new FileInputStream(storeFile));
-    }
-
-    /**
-     * Closes the input stream currently used for reading (may either be
-     * the original stream or a memory or file stream after the first pass).
-     *
-     * @throws IOException
-     */
-    // Does anyone need/want for this to be public?
-    private void closeStream() throws IOException {
-        if (inputStream != null
-                &&
-                (inputStream != originalInputStream
-                        || closeOriginalStreamOnClose)) {
-            inputStream.close();
-            inputStream = null;
-        }
-    }
-
-    /**
-     * Closes the input stream and removes the temporary file if one was
-     * created.
-     * 
-     * @throws IOException
-     */
-    public void close() throws IOException {
-        closeStream();
-        super.close();
-        if (storeFile != null) {
-            storeFile.delete();
-        }
-    }
-
-    /**
-     * Returns the number of bytes read from the original stream.
-     *
-     * @return number of bytes read
-     */
-    public int getSize() {
-        return size;
-    }
-
-    /**
-     * Saves the byte read from the original stream to the store.
-     *
-     * @param inputByte byte read from original stream
-     * @throws IOException
-     */
-    private void saveByte(int inputByte) throws IOException {
-
-        if (!bufferIsInFile) {
-            boolean switchToFile = (size == (maxBytesInMemory));
-            if (switchToFile) {
-                storeFile = File.createTempFile("TIKA_streamstore_", ".tmp");
-                bufferIsInFile = true;
-                storeOutputStream = new BufferedOutputStream(
-                        new FileOutputStream(storeFile));
-                storeOutputStream.write(byteBuffer, 0, size);
-                storeOutputStream.write(inputByte);
-                byteBuffer = null; // release for garbage collection
-            } else {
-                byteBuffer[size] = (byte) inputByte;
-            }
-        } else {
-            storeOutputStream.write(inputByte);
-        }
-        ++size;
-    }
-}
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/da.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/da.ngp
deleted file mode 100644
index d8ff9bc..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/da.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-er_ 132232
-_de 103517
-en_ 82666
-et_ 80661
-for 65286
-_fo 57945
-de_ 51382
-der 44049
-at_ 41915
-det 41381
-_og 40344
-_at 39482
-ing 38707
-den 36795
-og_ 36577
-_me 34924
-nde 34528
-_i_ 33267
-_vi 32625
-or_ 32053
-om_ 31206
-_er 29398
-il_ 29247
-re_ 28969
-_af 28934
-til 28370
-_ti 28270
-ke_ 27854
-ere 27756
-ne_ 26820
-_en 25210
-lig 24909
-ed_ 24168
-af_ 23702
-ter 23332
-es_ 22109
-ger 22046
-ge_ 21757
-and 21487
-ion 21203
-lle 21168
-_be 21089
-nin 20565
-te_ 20381
-kke 19844
-nge 19835
-ng_ 19621
-med 18904
-end 18886
-men 18796
-ske 18757
-som 18654
-_ha 18627
-els 18561
-_ko 18448
-_om 18051
-tte 17863
-ede 17830
-le_ 17790
-_so 17747
-gen 17236
-lse 17224
-ind 17109
-_st 16887
-ige 16683
-ern 16450
-_in 16439
-ste 16357
-se_ 16253
-ar_ 15962
-ikk 15896
-_på 15640
-ig_ 15274
-rne 15042
-vi_ 14945
-på_ 14727
-ver 14378
-isk 14355
-_ud 14205
-ent 14033
-an_ 13917
-_je 13885
-eg_ 13844
-_re 13815
-jeg 13707
-_si 13697
-_fr 13341
-ret 13313
-har 13273
-igt 13233
-del 13131
-ler 13016
-_ik 12818
-mme 12523
-res 12471
-vil 12426
-hed 12411
-_sk 12198
-one 12163
-rin 12026
-nne 11960
-gt_ 11839
-ska 11777
-kom 11592
-_eu 11223
-_hv 11033
-man 10992
-iss 10867
-omm 10770
-nte 10763
-age 10696
-_an 10556
-und 10124
-ner 10119
-nd_ 10098
-_he 10089
-ser 9903
-_mi 9852
-get 9849
-_et 9839
-ett 9756
-tio 9752
-ene 9541
-tet 9477
-ens 9417
-så_ 9402
-enn 9299
-mis 9287
-ive 9128
-_ma 9119
-_pr 9051
-nen 9049
-ati 8977
-lan 8972
-uro 8935
-_ve 8868
-eur 8851
-tig 8762
-al_ 8741
-ell 8695
-ors 8678
-sta 8674
-øre 8614
-ren 8526
-_sa 8460
-ore 8431
-mer 8304
-_al 8294
-rop 8291
-år_ 8254
-ord 8218
-sig 8135
-_ka 8105
-rer 8001
-ove 7998
-ære 7940
-kon 7892
-ghe 7782
-pro 7745
-lem 7738
-vær 7738
-igh 7723
-eri 7684
-vor 7669
-ngs 7609
-orm 7607
-ale 7580
-ang 7540
-eli 7441
-str 7435
-ssi 7430
-ker 7413
-kal 7342
-kan 7320
-ans 7306
-_op 7271
-vis 7262
-_un 7256
-sio 7254
-ege 7233
-tal 7142
-før 7123
-mmi 7100
-em_ 7019
-_bl 6957
-åde 6865
-iti 6855
-dle 6843
-tni 6828
-_pa 6782
-_ge 6712
-ag_ 6666
-ndr 6626
-_væ 6623
-sen 6586
-_så 6583
-dig 6562
-bes 6500
-lag 6461
-_ov 6448
-red 6435
-lin 6431
-dre 6409
-ved 6325
-sam 6318
-par 6284
-bet 6246
-ve_ 6237
-_se 6234
-est 6223
-_la 6213
-ill 6205
-ide 6125
-on_ 6109
-fre 6086
-tag 6083
-nes 6043
-_di 5942
-_må 5910
-lit 5909
-lde 5898
-rbe 5884
-råd 5866
-ven 5815
-sse 5776
-ers 5745
-var 5666
-_ta 5600
-ns_ 5544
-st_ 5538
-_gr 5521
-tat 5501
-kel 5480
-ogs 5449
-ten 5440
-min 5423
-gså 5390
-ekt 5388
-sla 5380
-_tr 5376
-han 5374
-ndl 5355
-ame 5318
-fra 5314
-rem 5301
-rla 5286
-reg 5266
-ate 5254
-is_ 5251
-all 5217
-arl 5188
-kti 5187
-old 5187
-hr_ 5178
-_hr 5176
-_fø 5112
-_sp 5086
-rt_ 5079
-dt_ 5023
-tiv 5019
-oli 5011
-des 5003
-rma 4963
-lt_ 4909
-ra_ 4909
-tis 4889
-rke 4867
-alt 4846
-tra 4828
-udv 4811
-mål 4804
-tid 4800
-sk_ 4780
-el_ 4779
-ble 4764
-fte 4744
-ist 4744
-_no 4735
-kni 4733
-tem 4733
-hol 4713
-rst 4688
-lam 4662
-gel 4654
-rde 4617
-gru 4609
-arb 4586
-ejd 4545
-ort 4545
-emm 4540
-bej 4528
-dis 4518
-_li 4479
-gør 4467
-pol 4451
-orb 4435
-sti 4427
-esk 4361
-nsk 4339
-ænd 4324
-rsl 4308
-opæ 4287
-_va 4281
-bli 4247
-_fa 4238
-mod 4205
-me_ 4185
-æis 4185
-pæi 4180
-hvi 4166
-gge 4114
-art 4105
-_fi 4050
-_po 4045
-ndi 4042
-ets 4036
-rli 4022
-_da 4018
-_ku 4010
-kab 3991
-hvo 3978
-amm 3963
-tor 3924
-mel 3909
-sto 3868
-hen 3867
-nst 3866
-giv 3857
-lev 3847
-nog 3840
-ems 3831
-ele 3804
-les 3797
-_mo 3794
-opa 3774
-ørg 3774
-vet 3746
-ør_ 3744
-elt 3707
-ts_ 3707
-ber 3705
-dem 3704
-gan 3699
-are 3691
-edl 3676
-_ar 3649
-ken 3639
-ise 3633
-dvi 3632
-_vo 3607
-stø 3590
-lli 3585
-tik 3581
-fin 3576
-rig 3574
-_el 3567
-val 3566
-gti 3562
-dri 3558
-gsm 3549
-_ef 3545
-ite 3534
-lut 3525
-akt 3522
-tæn 3508
-små 3486
-dst 3482
-liv 3458
-spø 3456
-nds 3445
-pør 3441
-led 3402
-eks 3396
-kun 3386
-pa_ 3386
-jde 3376
-her 3375
-ad_ 3374
-dni 3373
-nat 3371
-kri 3370
-ffe 3344
-run 3334
-bru 3327
-fæl 3325
-yde 3313
-rti 3288
-sær 3279
-nal 3261
-ess 3252
-nem 3250
-sid 3234
-sik 3226
-lge 3222
-ål_ 3187
-vid 3175
-rel 3165
-_kr 3153
-sæt 3133
-int 3128
-per 3125
-kte 3113
-sst 3113
-hel 3112
-gle 3102
-rat 3100
-eds 3098
-rgs 3074
-sel 3069
-rre 3048
-ons 3046
-tro 3037
-ænk 3037
-ran 3031
-ppe 3030
-mar 3026
-tel 3023
-ert 3003
-rug 2996
-uni 2990
-meg 2978
-slu 2954
-esl 2919
-mul 2914
-_na 2913
-eve 2904
-att 2902
-os_ 2901
-rge 2895
-rdi 2879
-_gø 2875
-tur 2873
-tti 2858
-in_ 2857
-ik_ 2843
-orh 2843
-rfo 2831
-_fæ 2828
-eft 2819
-kla 2803
-omr 2799
-sfo 2793
-ris 2792
-mrå 2788
-erf 2787
-dli 2783
-tre 2780
-_rå 2779
-nt_ 2778
-må_ 2758
-org 2747
-hav 2729
-dan 2726
-ona 2725
-ali 2707
-syn 2707
-pri 2699
-agt 2685
-_ny 2680
-kt_ 2679
-dag 2676
-nu_ 2676
-_or 2675
-od_ 2668
-_br 2657
-let 2656
-tan 2646
-ørs 2644
-_ne 2641
-uli 2637
-eu_ 2631
-læg 2628
-_mu 2620
-ærk 2614
-ave 2608
-mil 2608
-æll 2585
-ld_ 2582
-sat 2578
-sva 2572
-gra 2563
-_år 2559
-abe 2557
-ndt 2557
-nis 2555
-gte 2552
-rsk 2547
-_ga 2535
-tli 2533
-nio 2531
-nkt 2504
-_æn 2499
-ket 2487
-len 2483
-ast 2480
-id_ 2461
-sag 2456
-elv 2451
-vir 2433
-_nå 2428
-etæ 2426
-oge 2424
-nce 2415
-irk 2412
-lad 2409
-_os 2408
-stå 2407
-øde 2404
-træ 2398
-ier 2395
-nse 2393
-vig 2392
-ude 2378
-ant 2363
-omi 2357
-jer 2354
-oll 2353
-ram 2347
-_bø 2337
-nsi 2335
-ætt 2321
-_ba 2319
-alg 2311
-kra 2310
-ikl 2303
-nkn 2300
-vik 2296
-bør 2281
-tøt 2274
-unk 2274
-rek 2272
-øtt 2266
-ine 2265
-_ek 2261
-_få 2261
-nve 2258
-ted 2250
-åle 2246
-_fl 2236
-_sy 2230
-_gi 2228
-_nu 2225
-ode 2224
-æng 2224
-æld 2220
-egi 2203
-mid 2202
-dva 2201
-_ho 2199
-gsf 2194
-_kl 2189
-går 2188
-lar 2180
-sin 2177
-ald 2164
-dta 2162
-_pe 2155
-udg 2144
-ien 2142
-ina 2142
-_go 2133
-idl 2131
-kre 2128
-rte 2124
-bed 2122
-pun 2115
-aft 2110
-net 2110
-ytt 2109
-ial 2101
-_næ 2099
-lke 2099
-ade 2097
-bin 2096
-_hø 2094
-_lo 2093
-_bi 2092
-dfø 2088
-_nø 2085
-når 2082
-ges 2080
-ire 2078
-eme 2074
-eni 2073
-ids 2067
-ntr 2058
-itu 2055
-ono 2053
-edr 2051
-ær_ 2050
-_le 2049
-god 2045
-_to 2042
-øko 2032
-van 2024
-nom 2017
-skr 2004
-lis 2003
-rbi 1990
-føl 1989
-beh 1984
-ked 1984
-ure 1975
-sit 1974
-rag 1973
-un_ 1969
-øje 1966
-kol 1961
-rme 1956
-utn 1956
-iv_ 1948
-ægg 1946
-spe 1944
-vad 1938
-sni 1936
-tri 1936
-hva 1932
-nke 1930
-_bo 1926
-spr 1925
-ærd 1925
-mss 1917
-rit 1915
-kli 1911
-ud_ 1907
-pla 1904
-nød 1901
-ukt 1899
-nta 1897
-cen 1894
-erh 1891
-øge 1887
-afs 1877
-tru 1868
-fri 1845
-ini 1842
-sky 1840
-upp 1838
-rod 1836
-_øk 1833
-ræn 1830
-tyd 1819
-rak 1818
-_sæ 1814
-_fu 1811
-dsk 1809
-ete 1806
-ont 1797
-ntl 1792
-bek 1787
-obl 1784
-mær 1776
-fer 1774
-ins 1774
-fat 1769
-eta 1764
-idt 1763
-bor 1758
-dir 1756
-rog 1755
-søg 1755
-øns 1749
-efo 1745
-beg 1741
-_do 1732
-ils 1725
-ses 1717
-raf 1715
-rks 1713
-ogl 1712
-ilk 1709
-rol 1706
-_bu 1694
-rup 1694
-_ra 1688
-eje 1685
-mig 1683
-por 1680
-sku 1680
-uge 1680
-dve 1678
-pe_ 1677
-spo 1668
-rob 1666
-olk 1660
-_hu 1659
-hve 1659
-cer 1658
-fru 1657
-soc 1657
-lov 1655
-oci 1655
-ølg 1646
-rho 1644
-_te 1641
-edt 1639
-_im 1637
-ark 1636
-unn 1636
-nan 1631
-nti 1628
-jen 1625
-emt 1622
-mpe 1622
-_gå 1620
-cia 1617
-ora 1617
-ori 1604
-erv 1603
-op_ 1600
-enc 1598
-enh 1594
-ru_ 1594
-pen 1592
-fun 1591
-_dr 1587
-fol 1587
-evi 1584
-mt_ 1570
-ækk 1570
-era 1562
-rs_ 1557
-ogr 1554
-vel 1554
-leg 1553
-ror 1553
-ral 1551
-nye 1549
-igg 1547
-_pl 1535
-ev_ 1535
-di_ 1534
-ika 1530
-met 1528
-to_ 1519
-_of 1517
-onk 1511
-ilj 1505
-roc 1503
-præ 1502
-uds 1501
-udt 1497
-teg 1496
-oce 1489
-ødv 1488
-nsy 1486
-_ri 1485
-gne 1483
-ned 1483
-nli 1482
-ult 1480
-lik 1478
-yn_ 1475
-_øn 1468
-ræk 1465
-ikr 1461
-mst 1451
-kso 1450
-tes 1450
-egr 1444
-rid 1443
-gsp 1441
-bud 1440
-bel 1439
-sis 1437
-løs 1435
-ilf 1434
-fle 1433
-ye_ 1432
-bev 1428
-fal 1425
-høj 1425
-_lø 1420
-tyr 1419
-ari 1416
-rdn 1415
-ynd 1406
-dde 1395
-egn 1394
-opf 1394
-rie 1393
-_kv 1386
-off 1384
-rik 1384
-ssæ 1381
-tin 1380
-uti 1377
-fas 1374
-_læ 1372
-sme 1372
-vin 1365
-lta 1362
-åbe 1362
-bil 1354
-je_ 1353
-omh 1352
-yst 1343
-nit 1342
-idi 1339
-_ty 1331
-kat 1331
-tje 1331
-mød 1329
-æse 1326
-ful 1323
-erl 1320
-tør 1317
-sek 1316
-_sv 1315
-eml 1303
-dsp 1302
-ane 1300
-emo 1296
-ety 1296
-ljø 1296
-kul 1294
-såd 1290
-åda 1290
-odu 1288
-erd 1287
-drø 1286
-da_ 1281
-jds 1281
-ltn 1279
-dra 1277
-gio 1276
-uld 1275
-_pu 1274
-fti 1274
-tak 1269
-bef 1267
-få_ 1267
-måd 1263
-nel 1261
-sko 1261
-atu 1256
-etn 1255
-rve 1255
-græ 1252
-kræ 1250
-eho 1243
-_su 1239
-emf 1239
-tit 1238
-tab 1237
-eng 1232
-ået 1231
-mfø 1229
-amt 1228
-lid 1227
-_ak 1223
-emn 1222
-top 1221
-_hå 1220
-anv 1220
-iel 1220
-rhe 1220
-ili 1218
-hør 1215
-sor 1213
-isi 1212
-lv_ 1210
-igs 1208
-imi 1208
-sie 1206
-ama 1203
-vej 1203
-_gl 1201
-æde 1201
-dar 1193
-log 1193
-ani 1192
-bag 1189
-ørt 1189
-rha 1187
-ssk 1185
-ben 1184
-vne 1183
-_s_ 1182
-it_ 1182
-orv 1180
-_ad 1174
-stæ 1171
-dsa 1170
-nsv 1164
-erk 1163
-oms 1160
-cip 1159
-tår 1158
-adi 1155
-eva 1152
-ks_ 1152
-rbr 1144
-nci 1142
-sty 1139
-tek 1139
-æft 1137
-odt 1133
-anl 1131
-try 1130
-rsø 1129
-mhe 1128
-ldt 1127
-mat 1124
-rts 1124
-gæl 1121
-skæ 1120
-inc 1119
-lst 1118
-rso 1115
-ats 1114
-eha 1109
-ryk 1107
-æve 1107
-ktu 1104
-afg 1099
-dom 1098
-ivi 1097
-kst 1094
-æns 1093
-esu 1089
-yrk 1089
-_is 1088
-mti 1088
-mli 1087
-igv 1086
-ann 1082
-dtr 1080
-kyt 1077
-lte 1077
-rør 1077
-fta 1075
-æst 1073
-sys 1071
-_eg 1069
-slå 1068
-dge 1063
-sål 1063
-tut 1060
-ank 1058
-nsp 1056
-ves 1056
-bar 1054
-lys 1053
-yld 1050
-mes 1049
-øst 1049
-ds_ 1047
-nyt 1045
-orl 1045
-gni 1044
-hov 1044
-okr 1044
-pre 1044
-opm 1043
-eto 1041
-be_ 1037
-set 1035
-utt 1033
-pek 1032
-_sl 1026
-rej 1025
-mok 1022
-gvi 1021
-tua 1020
-pli 1019
-ibe 1018
-ldn 1018
-ruk 1015
-ræs 1015
-_hj 1014
-uat 1011
-dlæ 1008
-ndn 1006
-kor 1005
-son 1005
-ndb 1003
-hæn 1000
-vni 1000
-fen 997
-rga 996
-ref 993
-ug_ 991
-ism 988
-ab_ 987
-gis 987
-edu 984
-rev 984
-ass 979
-ærl 975
-_yd 974
-dnu 973
-ksi 973
-rda 971
-duk 968
-abs 967
-aff 967
-dbr 966
-ost 966
-ævn 964
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/de.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/de.ngp
deleted file mode 100644
index c8af048..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/de.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-en_ 212612
-er_ 98528
-_de 85811
-ich 77459
-der 70583
-_di 70518
-die 69388
-ie_ 67971
-sch 56571
-ein 53912
-ch_ 53758
-_un 52654
-ung 50103
-che 45855
-nd_ 44410
-den 43865
-_da 41966
-cht 41763
-_be 39578
-gen 38128
-und 38106
-_ei 36321
-in_ 34380
-ng_ 34359
-ten 34283
-es_ 33601
-_au 33306
-_wi 31780
-_in 30781
-_zu 30678
-hen 30448
-_ge 30199
-on_ 28096
-nde 28026
-eit 27645
-ine 27612
-_vo 26131
-ver 25977
-ere 23829
-men 23322
-wir 23199
-ht_ 23170
-ent 23092
-ber 23063
-_we 23010
-lic 22696
-te_ 22547
-ion 22420
-_si 22298
-_ve 21928
-nen 20719
-it_ 20653
-ter 19791
-nge 19645
-ste 19037
-ese 18527
-isc 18191
-rde 18054
-ren 17925
-_mi 17599
-_an 17282
-ies 17035
-as_ 16836
-em_ 16828
-zu_ 16778
-her 16547
-mit 16540
-_er 16445
-_ko 16370
-run 16334
-lle 16293
-ist 16265
-ne_ 16251
-st_ 16035
-auf 15984
-_ha 15980
-ers 15463
-aus 15387
-ier 14586
-sen 14337
-ir_ 14331
-_so 14264
-rei 14034
-sse 14014
-für 13527
-aß_ 13516
-_fü 13464
-nte 13283
-ben 13251
-daß 13186
-ür_ 13142
-end 13019
-ige 12985
-vor 12973
-das 12972
-von 12898
-_ic 12743
-he_ 12692
-ges 12653
-ern 12573
-ach 12465
-bei 12431
-des 12271
-wer 12200
-_ni 12156
-_is 12089
-_st 11950
-and 11857
-_al 11768
-ert 11570
-omm 11562
-sic 11525
-len 11498
-ge_ 11405
-_re 11377
-_se 11228
-nic 11202
-eru 11090
-abe 11066
-kom 11050
-uch 11046
-_pr 11019
-ind 10872
-wei 10852
-_eu 10566
-_he 10564
-uf_ 10457
-erd 10409
-sta 10319
-_es 10313
-tig 10262
-tio 10247
-hte 10203
-hre 10019
-eur 9917
-ner 9909
-ser 9905
-ell 9828
-_me 9768
-sie 9765
-ens 9748
-iss 9720
-ech 9665
-age 9652
-_ab 9610
-uro 9599
-ege 9577
-_im 9551
-um_ 9504
-übe 9493
-nn_ 9394
-rop 9378
-_fr 9366
-oll 9332
-ngs 9308
-cha 9204
-_sc 9195
-se_ 9154
-dem 9078
-_en 9049
-re_ 9003
-mme 9000
-bes 8937
-auc 8928
-chl 8837
-ite 8774
-rn_ 8764
-wie 8744
-est 8732
-im_ 8662
-tli 8577
-de_ 8540
-lie 8522
-ati 8510
-err 8489
-all 8428
-eic 8415
-ang 8405
-rt_ 8376
-_üb 8359
-nt_ 8299
-rst 8116
-haf 8115
-rec 8067
-tel 7937
-mei 7917
-le_ 7887
-_na 7840
-tte 7823
-_um 7791
-an_ 7767
-hei 7712
-iti 7707
-eri 7651
-ric 7646
-uns 7638
-rau 7623
-ins 7567
-tun 7559
-ene 7556
-kei 7517
-ur_ 7503
-ssi 7480
-fra 7472
-ger 7447
-tra 7440
-mis 7425
-ede 7268
-_ma 7246
-aft 7238
-iel 7166
-fen 7065
-änd 7064
-pro 7039
-rag 7025
-lei 7007
-och 6998
-ei_ 6988
-alt 6974
-rte 6958
-mmi 6906
-lte 6905
-hal 6893
-at_ 6843
-gli 6829
-ied 6819
-sti 6809
-ame 6804
-sio 6720
-ord 6714
-ide 6691
-opä 6650
-ns_ 6649
-enn 6618
-sei 6568
-äis 6563
-päi 6560
-rge 6560
-eis 6559
-hme 6533
-tsc 6528
-ebe 6450
-ehr 6443
-wen 6434
-nne 6401
-etz 6367
-lt_ 6366
-ann 6319
-hr_ 6308
-_wa 6306
-ls_ 6301
-hab 6292
-_gr 6280
-ing 6273
-rsc 6227
-sin 6215
-_ih 6212
-ini 6144
-gt_ 6121
-als 6114
-ate 6027
-rbe 6007
-ehe 6006
-itt 6000
-eme 5984
-_hi 5953
-unt 5938
-for 5937
-lun 5917
-ig_ 5865
-erh 5831
-_pa 5818
-rat 5816
-ft_ 5799
-ts_ 5757
-par 5693
-nsc 5686
-ahr 5645
-rd_ 5591
-ete 5558
-lit 5524
-zie 5522
-et_ 5500
-eil 5483
-era 5474
-nts 5467
-leg 5465
-dar 5440
-sam 5429
-nis 5392
-spr 5383
-ien 5381
-ird 5359
-el_ 5349
-ele 5326
-str 5277
-gel 5254
-geb 5196
-rla 5173
-imm 5169
-ffe 5162
-_le 5139
-nse 5082
-hat 5052
-esc 5043
-lan 5033
-tei 4978
-sol 4971
-ant 4965
-_mö 4949
-nun 4947
-erf 4946
-nst 4940
-erb 4886
-ar_ 4875
-zus 4862
-gem 4840
-zur 4837
-one 4779
-egi 4753
-prä 4748
-nac 4721
-_ra 4707
-kon 4694
-reg 4639
-ort 4615
-us_ 4613
-chu 4535
-oli 4513
-org 4510
-zen 4503
-_no 4500
-_ka 4496
-_je 4479
-ihr 4472
-uss 4459
-geh 4458
-eut 4444
-elt 4443
-tis 4437
-_zw 4432
-wic 4430
-zei 4407
-anz 4406
-ran 4375
-arb 4336
-uß_ 4336
-hie 4327
-kan 4316
-erw 4308
-gun 4303
-pol 4302
-nie 4298
-rin 4296
-ale 4294
-_wo 4288
-hin 4273
-_nu 4256
-erl 4241
-räs 4201
-_bi 4187
-rr_ 4187
-sid 4185
-ass 4184
-ken 4173
-kti 4170
-ntr 4149
-äsi 4132
-_la 4128
-_ar 4125
-zun 4123
-lam 4065
-llt 4060
-arl 4058
-ntw 4058
-uni 4057
-geg 4056
-lag 4047
-so_ 4036
-han 4011
-ahm 4004
-ll_ 3999
-rch 3972
-aat 3969
-ess 3966
-gan 3963
-art 3954
-son 3936
-erg 3933
-taa 3923
-urc 3923
-ors 3914
-_po 3913
-tim 3911
-int 3900
-tre 3878
-tze 3856
-kt_ 3842
-erk 3833
-hne 3797
-amm 3774
-nig 3767
-tzt 3758
-set 3744
-ond 3741
-dur 3737
-tik 3735
-its 3728
-rit 3696
-rer 3658
-was 3645
-or_ 3616
-üss 3615
-rie 3613
-tet 3613
-nat 3609
-seh 3592
-hti 3590
-_kö 3581
-_du 3572
-ag_ 3565
-me_ 3557
-inn 3548
-nio 3548
-öch 3531
-dig 3528
-gru 3515
-_fo 3494
-_ja 3487
-kön 3479
-_ne 3468
-akt 3459
-_mü 3443
-tie 3437
-att 3429
-ise 3419
-tat 3407
-bet 3401
-ode 3371
-gew 3366
-vie 3358
-gie 3338
-önn 3312
-man 3303
-hts 3298
-ühr 3283
-_vi 3266
-ute 3263
-wor 3262
-etr 3254
-ndl 3254
-nah 3251
-füh 3243
-res 3234
-_mu 3219
-tzu 3211
-möc 3206
-itg 3193
-rli 3184
-chs 3176
-mer 3176
-ses 3164
-tät 3161
-eht 3157
-hli 3137
-lem 3113
-noc 3107
-eid 3104
-war 3102
-stä 3098
-nkt 3089
-chi 3082
-fin 3078
-chr 3075
-_ke 3069
-ler 3049
-ick 3032
-wel 3017
-erz 2992
-müs 2979
-ekt 2977
-ans 2974
-zum 2971
-neh 2964
-bed 2958
-tiv 2957
-eue 2952
-sel 2952
-ona 2943
-teh 2938
-rts 2935
-ndi 2932
-orm 2921
-tri 2909
-dan 2904
-län 2898
-ons 2894
-ehm 2889
-lin 2886
-ina 2885
-nal 2871
-tgl 2859
-itä 2857
-tan 2855
-muß 2846
-au_ 2840
-enz 2837
-_fi 2836
-rdn 2824
-dun 2797
-wis 2796
-nz_ 2789
-jah 2769
-wur 2769
-ik_ 2761
-kte 2754
-rke 2749
-nur 2744
-ali 2741
-_fe 2721
-abs 2720
-hau 2717
-is_ 2717
-be_ 2694
-nnt 2692
-htl 2688
-zt_ 2686
-usa 2675
-nem 2672
-ble 2670
-_te 2669
-nan 2665
-gef 2660
-rne 2659
-nze 2652
-_ze 2651
-igt 2651
-_ri 2648
-neu 2645
-rhe 2645
-sem 2641
-rha 2625
-jed 2617
-doc 2616
-_wu 2610
-unk 2590
-_sa 2571
-nti 2570
-rtr 2561
-sge 2555
-_li 2554
-_sp 2554
-_gl 2551
-chn 2548
-sun 2548
-ück 2544
-net 2543
-meh 2541
-fal 2538
-ara 2525
-hun 2517
-fol 2511
-_fa 2501
-inz 2491
-off 2489
-gke 2477
-gra 2476
-igk 2476
-urd 2474
-mög 2472
-olg 2472
-ank 2466
-fre 2465
-irt 2464
-kol 2449
-ive 2444
-ntl 2441
-_od 2440
-rre 2439
-sha 2439
-rac 2435
-ris 2433
-il_ 2426
-_ga 2424
-sag 2414
-san 2412
-ust 2405
-twi 2397
-eig 2382
-eso 2378
-sit 2360
-ieß 2359
-bar 2358
-nke 2355
-bez 2345
-hla 2344
-rze 2343
-ögl 2342
-fer 2338
-nes 2338
-deu 2337
-tro 2323
-_tr 2318
-_do 2317
-zwe 2312
-del 2310
-ßen 2307
-itu 2306
-enh 2304
-dam 2289
-inf 2272
-bew 2271
-bst 2269
-_lä 2268
-_gi 2260
-äge 2255
-al_ 2247
-opa 2242
-eds 2240
-lis 2233
-ckl 2230
-_ta 2225
-uen 2225
-chw 2221
-ena 2218
-rüc 2218
-dst 2213
-dli 2212
-gsa 2207
-bra 2199
-mal 2195
-gle 2192
-tsp 2179
-isi 2178
-zug 2170
-irk 2161
-ieg 2153
-lge 2152
-äch 2148
-usg 2139
-ial 2137
-sor 2137
-ssc 2135
-kun 2127
-_zi 2124
-alb 2124
-tz_ 2123
-bt_ 2114
-eln 2106
-ret 2096
-ähr 2094
-tes 2090
-fe_ 2085
-ßer 2075
-sbe 2068
-uti 2063
-fah 2051
-_mo 2047
-maß 2044
-utz 2044
-pun 2039
-nzi 2036
-gre 2035
-lls 2032
-las 2028
-ewe 2024
-_än 2022
-fun 2019
-_br 2016
-ili 2012
-erm 2010
-trä 2007
-ill 2006
-rif 2005
-hst 2004
-rwe 2003
-bil 2002
-abg 2001
-nsi 2001
-fte 2000
-rfo 1997
-pie 1992
-lig 1980
-chk 1977
-rti 1977
-pre 1975
-are 1967
-ami 1966
-min 1966
-mmt 1963
-am_ 1961
-ütz 1958
-_dr 1941
-bge 1941
-klu 1937
-igu 1927
-nsa 1926
-lch 1911
-obl 1910
-lau 1908
-hri 1906
-_ho 1901
-beg 1900
-uße 1897
-ema 1890
-mun 1890
-vol 1890
-lli 1888
-hru 1885
-chä 1883
-wäh 1881
-rob 1880
-_am 1872
-hke 1869
-gte 1854
-los 1847
-bin 1844
-_kl 1834
-tän 1834
-räg 1831
-rak 1830
-uer 1829
-stü 1828
-din 1821
-_wä 1817
-aue 1816
-_kr 1815
-sow 1803
-ahl 1795
-ufg 1792
-mt_ 1790
-els 1789
-rle 1784
-uge 1782
-tur 1781
-mmu 1777
-rfa 1776
-kra 1770
-lb_ 1768
-ari 1761
-mac 1756
-hrt 1753
-ibt 1745
-ieh 1745
-ssa 1744
-ät_ 1741
-_ak 1733
-rkl 1733
-nhe 1732
-ark 1730
-soz 1730
-nha 1728
-ltu 1723
-ani 1719
-hle 1715
-ont 1710
-ozi 1706
-ck_ 1702
-nzu 1698
-tru 1693
-per 1690
-hl_ 1688
-sat 1688
-un_ 1688
-fes 1684
-fri 1676
-heu 1676
-egt 1673
-iff 1668
-rkt 1666
-elb 1664
-rig 1664
-stu 1658
-fti 1641
-äre 1640
-bri 1637
-zia 1633
-tüt 1631
-bür 1618
-fts 1616
-ndu 1614
-spi 1603
-rga 1602
-beh 1597
-gro 1581
-pra 1581
-ln_ 1577
-pri 1577
-eni 1574
-rbr 1571
-egr 1569
-tag 1566
-zwi 1565
-ßna 1561
-dnu 1560
-pa_ 1558
-fas 1556
-ats 1554
-aßn 1551
-tem 1550
-_wü 1543
-mat 1541
-kli 1540
-kri 1540
-ukt 1539
-esa 1536
-quo 1530
-wür 1530
-ogr 1528
-nds 1521
-edi 1519
-hör 1519
-nom 1519
-bli 1514
-woh 1514
-htu 1513
-äft 1513
-roß 1512
-ürd 1512
-äng 1505
-det 1503
-rum 1498
-edo 1496
-gib 1495
-ker 1491
-enk 1489
-mar 1484
-ut_ 1484
-da_ 1478
-dne 1478
-gio 1477
-_bü 1473
-kla 1469
-rs_ 1469
-_eb 1467
-_ob 1465
-ftl 1465
-itr 1465
-ihn 1464
-tür 1459
-ral 1457
-bie 1456
-ika 1456
-two 1455
-tor 1454
-ewi 1452
-ürg 1450
-hem 1447
-let 1445
-rem 1443
-nre 1442
-ram 1441
-iet 1436
-nsp 1435
-ßt_ 1435
-ven 1434
-grü 1432
-ike 1430
-squ 1430
-aff 1419
-leb 1415
-gs_ 1410
-rog 1409
-bek 1403
-rol 1401
-agt 1400
-spe 1397
-swe 1397
-twe 1390
-mpf 1388
-eih 1386
-eng 1385
-erp 1378
-nfa 1376
-amt 1374
-hil 1371
-örd 1370
-weg 1369
-atz 1356
-lfe 1355
-oße 1352
-mic 1349
-ref 1346
-mte 1345
-ast 1333
-sar 1333
-ezi 1330
-geo 1330
-_ba 1329
-eug 1324
-_et 1323
-rma 1320
-cho 1319
-uo_ 1318
-ohl 1314
-wär 1314
-eu_ 1312
-rtu 1312
-eor 1308
-häf 1306
-ätz 1306
-nft 1304
-tit 1302
-wes 1299
-rdi 1298
-ilf 1293
-hlu 1291
-the 1288
-zte 1288
-_ku 1280
-tge 1277
-ori 1273
-dis 1268
-cke 1266
-tär 1266
-mil 1265
-rwa 1265
-zah 1265
-nwe 1256
-umw 1253
-ieb 1251
-rrn 1250
-izi 1249
-bis 1248
-owi 1248
-ibe 1247
-fli 1246
-ehö 1244
-rah 1240
-ums 1240
-mwe 1239
-eno 1235
-llu 1235
-nve 1233
-ze_ 1230
-ohn 1228
-nit 1224
-tt_ 1223
-nfo 1222
-ett 1218
-ost 1216
-esh 1215
-ruc 1215
-daf 1213
-yst 1213
-_ls 1212
-lsq 1212
-_fl 1209
-eha 1207
-ile 1206
-sys 1206
-ume 1200
-pfe 1199
-lbs 1196
-kel 1195
-rme 1194
-bef 1193
-efü 1189
-esi 1188
-hof 1188
-dri 1185
-zeu 1184
-ebi 1182
-emo 1180
-nma 1175
-ade 1174
-inb 1174
-tin 1173
-okr 1169
-rf_ 1166
-ve_ 1166
-om_ 1165
-gab 1164
-lts 1164
-ush 1164
-_nä 1163
-eff 1160
-lsc 1159
-hwe 1158
-gut 1157
-sis 1147
-_ch 1146
-hut 1143
-eif 1140
-enr 1136
-not 1133
-suc 1132
-auß 1126
-eib 1123
-nbe 1122
-ünd 1121
-_or 1119
-_th 1118
-rmi 1115
-get 1114
-lar 1112
-spa 1112
-nau 1111
-tal 1108
-lär 1107
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/el.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/el.ngp
deleted file mode 100644
index d6df908..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/el.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-αι_ 73292
-_χ_ 72116
-_τη 67413
-_κα 66823
-_το 61620
-ου_ 58182
-να_ 51915
-ης_ 50982
-_πρ 50886
-και 44545
-_να 42766
-ων_ 42218
-ια_ 39929
-_στ 38665
-ην_ 37376
-την 36472
-με_ 36145
-_πο 35813
-ει_ 35673
-το_ 34708
-ση_ 33913
-_επ 32206
-_απ 31689
-τικ 31116
-του 31099
-της 29811
-ας_ 29544
-_συ 29493
-τα_ 29344
-_με 26939
-_αν 26136
-προ 25989
-_δι 25857
-ις_ 25679
-ία_ 25305
-_η_ 24782
-ες_ 24638
-των 24440
-που 24082
-_γι 22457
-_αυ 22034
-για 21684
-αυτ 21185
-ών_ 20933
-_εί 20414
-ική 20053
-τη_ 20028
-_τω 19621
-επι 19352
-στη 18905
-ής_ 18677
-ται 17329
-_θα 16927
-ματ 16894
-ος_ 16877
-τι_ 16833
-θα_ 16699
-ές_ 16670
-δια 16531
-υς_ 16512
-σει 16489
-ους 16463
-είν 16459
-κατ 16414
-οι_ 16395
-ως_ 16295
-εί_ 16276
-σε_ 16078
-κή_ 16060
-ον_ 15967
-στο 15711
-_υπ 15611
-πολ 15525
-οπο 15499
-_δε 15021
-σης 14828
-ναι 14699
-ίνα 14581
-ουμ 14531
-υμε 14346
-_ευ 14263
-από 14186
-_πα 14039
-ότι 14014
-_σε 13929
-τις 13852
-παρ 13503
-ουν 13481
-_τα 13419
-υν_ 13392
-_ότ 13385
-ατα 13313
-εν_ 13301
-συν 13188
-περ 13128
-ετα 13105
-πό_ 13057
-τρο 12829
-ιο_ 12789
-_οι 12740
-μα_ 12475
-μέν 12474
-ντα 12467
-_πε 12327
-ηση 12080
-_τι 12050
-ροπ 11987
-_έ_ 11888
-ερι 11865
-κά_ 11796
-_εν 11735
-απο 11708
-ιστ 11698
-τον 11604
-ευρ 11565
-ικά 11562
-δεν 11364
-_ει 11261
-πει 11098
-πρό 11044
-εις 11034
-_κο 10943
-τερ 10760
-αν_ 10723
-τε_ 10698
-ανα 10526
-τό_ 10388
-ίας 10369
-αντ 10365
-ικό 10049
-οιν 9986
-_μι 9981
-πιτ 9846
-ρα_ 9784
-κοι 9749
-φορ 9615
-ού_ 9464
-συμ 9361
-ημα 9284
-στι 9263
-έπε 9222
-κής 9207
-ισμ 9165
-ποί 9103
-ωση 9064
-υτό 9009
-οντ 8911
-μια 8832
-δικ 8605
-σου 8568
-ένα 8537
-ρισ 8473
-κό_ 8448
-_εκ 8395
-ιτρ 8346
-ικο 8331
-στα 8304
-στε 8266
-ούν 8262
-τά_ 8261
-ρωπ 8246
-_ου 8210
-_αρ 8180
-ρέπ 8012
-_οπ 7931
-τητ 7885
-_μέ 7831
-αστ 7785
-πορ 7719
-μετ 7665
-ροσ 7661
-νου 7648
-πρέ 7532
-ολο 7516
-υρω 7488
-σία 7480
-ότη 7463
-ωπα 7339
-ατο 7335
-_εξ 7266
-_θέ 7253
-νομ 7248
-_έν 7244
-ντι 7234
-_μα 7225
-ικα 7136
-οπή 7088
-αϊκ 7081
-ποι 7043
-ύν_ 6974
-μπο 6902
-επί 6861
-ός_ 6816
-παϊ 6811
-_πλ 6799
-λογ 6789
-ατά 6787
-ολι 6777
-_ο_ 6775
-τασ 6735
-αλλ 6679
-θεσ 6665
-κών 6651
-εια 6594
-νικ 6582
-θεί 6549
-ασί 6533
-ρά_ 6490
-ατι 6481
-κές 6440
-υτή 6360
-τή_ 6359
-ίες 6350
-αση 6291
-αφο 6286
-σημ 6261
-_μπ 6244
-αρα 6220
-νο_ 6177
-νει 6176
-υπο 6121
-ητα 6120
-άλλ 6114
-ήσε 6062
-_τρ 6049
-_κά 6010
-ινο 6003
-_σ_ 6002
-ικέ 5940
-ικώ 5913
-νων 5777
-όσο 5754
-ίου 5748
-καν 5668
-_θε 5583
-κού 5580
-_ση 5573
-τος 5571
-ώς_ 5553
-βου 5550
-ούμ 5535
-ετι 5498
-ουλ 5496
-πως 5491
-μας 5486
-πισ 5471
-λιτ 5457
-οτε 5443
-ποτ 5440
-μικ 5433
-_αλ 5380
-ιτι 5369
-ιση 5343
-ερα 5333
-ύρι 5289
-ύμε 5282
-ταν 5183
-ρού 5121
-_δη 5079
-_κρ 5077
-ρία 5071
-ορά 5067
-τελ 5063
-_ή_ 5059
-λά_ 5028
-ρο_ 5021
-τού 4969
-γμα 4959
-ελε 4916
-λου 4886
-_όλ 4882
-_ετ 4878
-νισ 4864
-ρατ 4843
-εδρ 4822
-_κύ 4786
-μεν 4786
-ότε 4779
-οβο 4761
-πή_ 4750
-καθ 4730
-ένο 4724
-μερ 4719
-_αφ 4716
-λει 4710
-λλο 4697
-σο_ 4684
-λευ 4661
-νωσ 4657
-υνα 4646
-ρικ 4636
-ριο 4628
-κύρ 4613
-ργα 4602
-εργ 4564
-λα_ 4555
-εων 4553
-ρου 4498
-_μο 4489
-τησ 4486
-εση 4475
-ομι 4472
-_κυ 4433
-κρι 4424
-άσε 4313
-ορι 4295
-βού 4281
-σεω 4276
-υμβ 4246
-λλά 4236
-μη_ 4210
-τών 4199
-ανά 4197
-δημ 4179
-ερο 4173
-νη_ 4173
-ομέ 4167
-_ορ 4163
-ριε 4152
-μού 4145
-ίνε 4125
-απα 4091
-σμο 4088
-οικ 4087
-_ερ 4047
-τηρ 4044
-_ακ 4032
-ονο 4029
-μεί 4020
-ήμα 4018
-τάσ 3997
-υνε 3994
-_ελ 3968
-οστ 3966
-τας 3963
-_σύ 3947
-ούλ 3935
-_όπ 3934
-ιών 3934
-ραγ 3916
-τομ 3914
-τεί 3884
-ουρ 3880
-ιε_ 3877
-_γε 3869
-γία 3859
-λόγ 3858
-ρος 3846
-θέσ 3844
-ϊκή 3842
-ορο 3830
-ιμέ 3829
-πάρ 3827
-ύλι 3794
-καλ 3788
-ορε 3778
-νοβ 3752
-τήσ 3752
-κει 3746
-ολύ 3718
-_ό_ 3716
-ιας 3688
-ρόε 3687
-ίς_ 3686
-όεδ 3685
-μου 3684
-διά 3683
-αρ_ 3670
-_νο 3668
-ρει 3660
-σω_ 3642
-λιο 3639
-σμό 3633
-ιδι 3626
-_σα 3624
-_πι 3611
-αρά 3604
-θού 3602
-νες 3602
-ρεί 3581
-λη_ 3568
-κον 3557
-γρα 3549
-πίσ 3535
-στό 3525
-_εμ 3519
-_ώρ 3518
-αμε 3511
-ρε_ 3505
-σα_ 3496
-πρα 3480
-ύτε 3478
-_νω 3472
-ύς_ 3472
-δρε 3471
-ανο 3467
-_έκ 3456
-ίο_ 3443
-οία 3440
-τές 3431
-σμα 3426
-_δυ 3424
-ευτ 3410
-φέρ 3408
-υπά 3396
-ξη_ 3393
-ούς 3375
-_ισ 3323
-ιακ 3319
-συγ 3316
-ρώπ 3303
-δυν 3294
-τες 3292
-ρες 3288
-φων 3268
-ουσ 3258
-_άλ 3255
-_λό 3241
-υλί 3239
-διε 3237
-άτω 3220
-εξα 3189
-όνο 3189
-ίζο 3156
-εία 3155
-ροτ 3146
-μασ 3138
-μαν 3123
-μάτ 3122
-κυρ 3120
-ρίζ 3119
-ώσε 3117
-υρώ 3096
-ήσο 3085
-λύ_ 3071
-_τε 3070
-αγμ 3066
-μό_ 3066
-τημ 3066
-ιότ 3063
-ποσ 3058
-επε 3043
-_ασ 3039
-νία 3009
-_πω 3004
-διο 3003
-ρήσ 3003
-εκτ 3002
-νον 2999
-ρότ 2998
-_ως 2996
-έσε 2994
-όπο 2986
-μβο 2984
-ορί 2979
-ίτε 2974
-τοι 2964
-ότα 2953
-ύσε 2946
-λεί 2933
-λικ 2928
-ιατ 2927
-ταξ 2917
-βασ 2915
-_μό 2910
-ψη_ 2901
-ημε 2899
-ίση 2895
-μία 2894
-στή 2894
-υρί 2894
-θηκ 2890
-άρ_ 2874
-ίζε 2863
-_αγ 2861
-μεγ 2857
-ζου 2849
-_βο 2847
-τιμ 2845
-ωνι 2842
-ρη_ 2841
-εσμ 2838
-ερί 2837
-νατ 2836
-_ομ 2833
-κρα 2833
-ράτ 2822
-ήθε 2821
-λον 2816
-όπω 2810
-μόν 2805
-ευθ 2803
-όλο 2801
-πο_ 2790
-λο_ 2786
-είς 2785
-αρμ 2782
-όν_ 2776
-ήτη 2771
-ατε 2763
-κθε 2753
-μέλ 2748
-γασ 2743
-ούσ 2742
-υση 2731
-ένω 2725
-κολ 2719
-θέμ 2718
-κρά 2710
-αιρ 2709
-ραμ 2695
-ρησ 2692
-ντο 2688
-τόσ 2685
-_όσ 2680
-αδι 2674
-έμα 2668
-μφω 2655
-ογι 2655
-_εγ 2651
-ανε 2644
-ειρ 2637
-υγκ 2637
-ρον 2632
-ζητ 2627
-υστ 2623
-έκθ 2621
-_γν 2618
-σμέ 2616
-κόμ 2609
-_ωρ 2596
-υργ 2581
-έα_ 2575
-οίο 2568
-όμε 2566
-ροφ 2565
-ασφ 2561
-νός 2558
-ράσ 2558
-ιες 2557
-ζήτ 2549
-λίο 2549
-εντ 2546
-αφέ 2542
-υμφ 2533
-στρ 2527
-_ιδ 2522
-πικ 2522
-ειτ 2520
-γικ 2513
-ρωτ 2511
-πής 2510
-οδο 2509
-οί_ 2504
-οβλ 2497
-ινω 2494
-τήρ 2491
-άστ 2487
-ονι 2481
-έρο 2467
-ωρί 2467
-ροβ 2466
-_όμ 2464
-ακο 2462
-ναν 2456
-οιο 2454
-μμα 2453
-σια 2452
-υτο 2444
-τρα 2438
-θετ 2436
-ληρ 2429
-ωστ 2428
-ιαφ 2420
-εισ 2415
-εμπ 2411
-τεύ 2411
-ίνο 2408
-κασ 2407
-παν 2405
-_κ_ 2395
-κε_ 2388
-άδε 2383
-αρι 2382
-ίων 2379
-ενο 2378
-ρώτ 2375
-κεί 2372
-άπο 2367
-εωρ 2365
-ζει 2361
-υσι 2357
-ειδ 2356
-νετ 2355
-βάλ 2342
-ρια 2342
-ροκ 2342
-ρασ 2338
-_τέ 2337
-ρών 2329
-_ρη 2321
-κότ 2316
-ονό 2313
-ημο 2311
-συζ 2309
-ώρα 2307
-άθε 2300
-πλη 2300
-ρετ 2300
-ιασ 2298
-ακό 2295
-ητή 2290
-οτι 2284
-όμα 2280
-ιου 2276
-γνω 2263
-στά 2261
-_νέ 2258
-_τό 2254
-ναφ 2251
-_εδ 2248
-σιο 2243
-αγω 2242
-ενι 2235
-έρε 2229
-γορ 2214
-σκο 2213
-ιαδ 2205
-ζετ 2204
-υτέ 2203
-υπό 2193
-ώπη 2193
-νθρ 2190
-αίτ 2189
-εθν 2189
-ογί 2174
-ριμ 2174
-πτυ 2172
-ελα 2168
-άς_ 2165
-σας 2163
-_εφ 2159
-γον 2159
-πλα 2158
-είτ 2152
-ερη 2152
-λισ 2147
-ηκε 2146
-_βα 2138
-σήμ 2137
-_οδ 2135
-γκε 2134
-_δρ 2129
-ένε 2129
-άνο 2127
-υνο 2126
-μβά 2123
-_ρό 2119
-έλο 2119
-άνε 2116
-γάλ 2116
-αίν 2115
-έλε 2110
-ρόν 2107
-ψηφ 2106
-ρίσ 2103
-έτο 2087
-ατό 2084
-ετά 2080
-_ολ 2072
-μως 2071
-έση 2068
-τισ 2068
-λού 2066
-ριβ 2066
-ερε 2064
-θελ 2064
-μέσ 2061
-ναλ 2060
-σύν 2052
-μελ 2045
-είμ 2044
-έλη 2041
-αλύ 2035
-_αξ 2033
-λύτ 2033
-νερ 2030
-νησ 2029
-ιτα 2028
-ίσε 2023
-νε_ 2010
-αιτ 2008
-ίσο 2006
-ένη 2005
-ρώ_ 2001
-οδη 1995
-ομά 1992
-γο_ 1991
-σον 1988
-άση 1986
-νότ 1986
-ατη 1984
-όμω 1980
-ισ_ 1979
-λλα 1978
-στώ 1977
-σότ 1974
-ομο 1969
-θει 1964
-ηθε 1962
-σαν 1962
-άτη 1959
-_σή 1958
-αξι 1956
-_ήθ 1950
-ατί 1950
-τέλ 1941
-_σο 1940
-ακρ 1940
-σκε 1939
-ξει 1935
-_μη 1932
-ολλ 1924
-σφα 1921
-_βρ 1916
-θέλ 1914
-ανθ 1911
-οφο 1908
-λαί 1906
-ευσ 1905
-δο_ 1903
-τοπ 1898
-_ρε 1896
-ιμε 1895
-ρακ 1894
-δει 1893
-_άρ 1891
-ωνί 1891
-εγά 1888
-λοι 1888
-ρμο 1884
-αμμ 1882
-ρων 1881
-σιμ 1881
-ινή 1878
-μαι 1877
-δηγ 1876
-λαμ 1872
-ιμο 1867
-επα 1866
-ζον 1865
-μάδ 1865
-αίσ 1864
-_αμ 1856
-_πά 1847
-ακτ 1841
-ούτ 1835
-τρό 1832
-ετε 1824
-ντί 1823
-άλε 1822
-γή_ 1822
-ενδ 1819
-οκρ 1818
-υλε 1818
-κεκ 1811
-εκρ 1809
-ίσι 1804
-πρά 1802
-λες 1801
-κάν 1800
-αμβ 1796
-είο 1795
-οθε 1791
-νοι 1788
-οίη 1787
-θερ 1785
-ίησ 1784
-εφα 1783
-μιο 1783
-_ζη 1778
-ώρε 1775
-φερ 1772
-αρο 1768
-ποδ 1767
-γου 1765
-υξη 1763
-σσό 1760
-ογρ 1759
-ζω_ 1758
-φαλ 1755
-αθε 1754
-βάσ 1753
-μέρ 1753
-οια 1750
-ριν 1750
-θεω 1745
-λος 1745
-λλε 1743
-ημι 1741
-όγο 1739
-κτι 1738
-ώμα 1737
-υπε 1736
-_σκ 1733
-ρόπ 1733
-κάπ 1731
-_δύ 1730
-ίδι 1713
-υντ 1709
-τής 1708
-υτά 1708
-άν_ 1699
-αλι 1699
-ήμε 1698
-ράγ 1695
-_φο 1691
-ανι 1689
-πε_ 1689
-άμε 1684
-ομα 1683
-ισσ 1681
-παι 1680
-γαλ 1679
-_βά 1678
-ηρί 1674
-ητι 1669
-πίτ 1657
-κρί 1655
-γισ 1653
-νω_ 1649
-πρώ 1645
-ητο 1644
-σή_ 1643
-δα_ 1641
-λεσ 1641
-ελέ 1639
-ίμα 1638
-λλη 1634
-εγκ 1633
-ενό 1632
-δή_ 1628
-νοτ 1625
-ειμ 1621
-μέα 1620
-ρόκ 1620
-εδο 1617
-τρέ 1613
-τατ 1612
-λησ 1609
-βλη 1606
-αγο 1605
-γει 1604
-_κό 1603
-μισ 1602
-έρω 1601
-ηρο 1601
-όντ 1599
-ποφ 1595
-τότ 1594
-ορέ 1592
-τυξ 1591
-ίζω 1588
-ραφ 1588
-ποκ 1584
-όκε 1584
-πάν 1583
-ύντ 1582
-άδα 1579
-λημ 1579
-ξύ_ 1579
-μβα 1578
-_πό 1576
-ρεσ 1575
-αξύ 1574
-πη_ 1573
-γίν 1571
-ασμ 1570
-ριθ 1568
-_γί 1564
-άζε 1564
-ομί 1561
-_λα 1555
-ιγμ 1555
-ιάσ 1554
-κιν 1554
-ήρι 1552
-νση 1552
-ρωσ 1549
-λή_ 1547
-υνέ 1542
-βάν 1536
-_ίδ 1535
-γεν 1535
-ιαί 1534
-εάν 1533
-ευ_ 1527
-τευ 1527
-φαρ 1526
-ωτι 1524
-γκρ 1522
-αιώ 1521
-ασι 1519
-δη_ 1518
-λών 1514
-άλο 1511
-νας 1511
-ίως 1509
-νωρ 1509
-κλη 1508
-νή_ 1508
-_εά 1505
-ρημ 1505
-_ήτ 1500
-_λε 1500
-θήκ 1497
-_ψη 1492
-λων 1488
-κυβ 1486
-σικ 1486
-τόν 1486
-εξε 1484
-πιο 1484
-ανό 1481
-μον 1479
-ήτα 1477
-ταλ 1476
-δομ 1472
-_λο 1470
-ρομ 1469
-θρω 1466
-ρόσ 1463
-φασ 1461
-ωμέ 1461
-ημέ 1458
-υνά 1455
-ηρε 1453
-ώτη 1453
-όμη 1451
-ίστ 1450
-θυμ 1450
-εκπ 1440
-γεί 1437
-νια 1437
-άπτ 1435
-_κε 1431
-κοπ 1431
-ξου 1431
-ίπε 1430
-ογή 1430
-τήμ 1428
-ωρώ 1428
-αφε 1425
-_εθ 1420
-τυ_ 1420
-νης 1418
-εγο 1416
-ενε 1410
-νόμ 1410
-_ον 1409
-δρο 1407
-πεδ 1406
-αρκ 1405
-φάλ 1404
-γεγ 1399
-ενη 1397
-αγκ 1395
-μός 1395
-εκε 1393
-υμπ 1393
-αθώ 1391
-ινό 1391
-_αι 1389
-κάθ 1389
-πρω 1388
-σαφ 1388
-_μί 1385
-νάπ 1383
-υζή 1383
-τώσ 1382
-λάβ 1380
-ταγ 1380
-πηρ 1378
-αίω 1376
-λία 1376
-τία 1375
-όγω 1375
-ρές 1372
-ργί 1371
-_ι_ 1369
-γω_ 1368
-ίτρ 1366
-ολί 1363
-πιθ 1361
-νού 1360
-ύσα 1360
-ιβά 1357
-_ωσ 1356
-υνθ 1355
-γνώ 1349
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/en.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/en.ngp
deleted file mode 100644
index 7b0ff7a..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/en.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-_th 154732
-the 117027
-he_ 95427
-on_ 52529
-ion 52199
-_in 48458
-_of 47302
-_to 46961
-of_ 45622
-_co 44626
-to_ 43979
-_an 42881
-nd_ 41007
-is_ 38826
-and 38294
-ent 36998
-in_ 34623
-tio 34216
-ed_ 34118
-ing 32587
-ng_ 31999
-es_ 31252
-at_ 29583
-re_ 29200
-_re 28769
-nt_ 28050
-er_ 26375
-_pr 26146
-_be 25910
-_is 23791
-hat 23622
-men 23540
-al_ 23387
-ati 23109
-tha 22799
-for 22603
-_a_ 21520
-_wh 20668
-thi 20188
-an_ 20163
-ly_ 19930
-com 19295
-_fo 19226
-_we 19058
-ve_ 18877
-or_ 18842
-as_ 18763
-_ha 18065
-res 17961
-_wi 17873
-pro 17415
-con 17228
-_on 17153
-ts_ 16822
-his 16273
-ate 16103
-we_ 15339
-se_ 15279
-_no 15270
-_it 15183
-her 15085
-ons 15030
-en_ 14965
-ll_ 14957
-ch_ 14888
-st_ 14506
-are 13968
-it_ 13573
-le_ 13524
-_de 13487
-_i_ 13424
-ns_ 13375
-ere 13326
-ter 13267
-_ar 13207
-_ma 13164
-rop 13064
-ope 12799
-omm 12656
-_st 12216
-_as 12134
-all 12093
-ld_ 11997
-_al 11972
-be_ 11913
-sio 11812
-_po 11634
-ce_ 11563
-ect 11498
-_eu 11388
-not 11209
-ort 11098
-ty_ 11038
-ver 11001
-iti 10943
-ssi 10940
-rea 10912
-ive 10901
-whi 10843
-th_ 10842
-eur 10744
-nce 10725
-te_ 10720
-_pa 10667
-pre 10537
-eve 10507
-hic 10420
-ot_ 10304
-ich 10302
-ith 10301
-sta 10296
-our 10103
-_me 10010
-wit 10005
-oul 9789
-ide 9714
-int 9709
-par 9700
-uld 9685
-uro 9676
-ut_ 9587
-_se 9581
-cti 9559
-por 9497
-rs_ 9464
-_wo 9429
-_so 9411
-ave 9392
-cou 9388
-mmi 9375
-_un 9292
-hav 9263
-_ca 9260
-me_ 9077
-iss 9045
-ill 8964
-ry_ 8820
-ess 8804
-ted 8694
-ame 8672
-pea 8584
-ean 8514
-_su 8446
-ies 8403
-_di 8378
-oun 8351
-mis 7974
-ity 7914
-_mo 7885
-ble 7852
-ers 7829
-nte 7713
-ust 7684
-rat 7577
-est 7548
-_wa 7541
-_ne 7493
-_ex 7407
-uni 7396
-tiv 7327
-tic 7229
-_li 7016
-tin 6991
-one 6980
-ur_ 6899
-_ac 6810
-_fi 6780
-pos 6778
-rt_ 6738
-wil 6705
-by_ 6667
-hou 6661
-_sh 6659
-ica 6641
-ure 6638
-sti 6611
-ore 6597
-der 6592
-_by 6563
-tat 6556
-str 6527
-_en 6518
-eme 6456
-_fr 6434
-_ou 6430
-sid 6416
-so_ 6395
-ant 6363
-art 6357
-_do 6343
-act 6339
-ain 6294
-nti 6292
-den 6275
-_bu 6274
-nal 6262
-_le 6236
-ple 6230
-igh 6205
-ay_ 6192
-ese 6152
-ial 6121
-_mr 6119
-end 6114
-ke_ 6109
-has 6030
-ntr 5939
-ct_ 5919
-_at 5885
-ome 5870
-ear 5841
-ght 5795
-ern 5788
-ove 5784
-ne_ 5782
-tra 5697
-enc 5664
-abl 5632
-ic_ 5621
-ber 5605
-lit 5586
-lat 5534
-_fa 5517
-und 5468
-per 5467
-een 5464
-out 5459
-nci 5453
-_pe 5438
-als 5433
-us_ 5403
-ces 5394
-_ta 5391
-eas 5387
-_im 5378
-hin 5303
-man 5292
-nts 5283
-imp 5274
-_mu 5273
-arl 5241
-_ho 5236
-cal 5214
-mr_ 5178
-ss_ 5145
-tur 5131
-can 5122
-esi 5119
-ste 5114
-_or 5113
-but 5113
-_sa 5110
-ar_ 5093
-rec 5079
-ake 5076
-_tr 5049
-rep 5047
-spe 5034
-lic 5023
-use 5004
-sho 5003
-_la 4965
-oli 4937
-era 4936
-ow_ 4926
-tan 4864
-pol 4854
-_ag 4842
-nat 4840
-inc 4835
-sed 4831
-_he 4830
-mbe 4812
-rom 4798
-_am 4795
-ist 4783
-cia 4772
-nit 4767
-app 4761
-nde 4759
-_yo 4751
-you 4729
-anc 4690
-ren 4688
-eco 4643
-wou 4636
-lly 4634
-tri 4632
-mpl 4613
-tte 4602
-wor 4597
-_gr 4571
-et_ 4567
-unt 4559
-om_ 4552
-reg 4543
-rit 4518
-ds_ 4489
-eed 4484
-lia 4474
-_si 4471
-ten 4439
-min 4428
-ona 4373
-_fu 4368
-ina 4368
-_ri 4348
-eat 4343
-nta 4327
-tes 4319
-_ch 4301
-emb 4271
-han 4254
-ont 4243
-gre 4229
-nio 4224
-ous 4187
-oth 4183
-ose 4181
-ind 4172
-ven 4150
-din 4136
-ral 4136
-lea 4118
-lso 4103
-ge_ 4089
-de_ 4076
-ard 4074
-ee_ 4065
-ref 4053
-_s_ 4050
-ine 4047
-rin 4041
-ens 4040
-tho 4026
-_ab 3978
-ner 3946
-ise 3935
-nsi 3924
-pec 3921
-nst 3914
-mus 3913
-rli 3888
-rou 3860
-ues 3842
-hes 3840
-ins 3826
-rie 3826
-il_ 3822
-_ad 3820
-fro 3813
-ree 3811
-cy_ 3803
-rig 3799
-dis 3789
-_go 3783
-fic 3780
-mit 3774
-mor 3767
-ula 3757
-rta 3747
-sen 3735
-ey_ 3732
-_ba 3729
-vel 3729
-eri 3722
-tal 3721
-pe_ 3720
-ran 3674
-ini 3671
-its 3670
-eci 3669
-_qu 3668
-_mi 3655
-gra 3651
-mem 3650
-uti 3616
-iam 3614
-age 3610
-whe 3608
-sit 3593
-sin 3592
-onc 3591
-lar 3577
-_ap 3524
-ou_ 3522
-omp 3519
-ast 3517
-_te 3515
-lis 3515
-_us 3508
-ote 3504
-_sp 3497
-ew_ 3486
-rti 3481
-ppo 3480
-ery 3458
-ely 3417
-kin 3415
-bee 3390
-oin 3386
-any 3384
-tor 3357
-red 3350
-ire 3349
-pri 3348
-cul 3338
-cer 3328
-ite 3310
-gen 3300
-tak 3295
-unc 3294
-fin 3290
-orm 3287
-ene 3284
-ili 3272
-lem 3253
-ans 3238
-hen 3238
-ms_ 3232
-ord 3229
-em_ 3227
-mon 3202
-ali 3200
-sur 3180
-ves 3172
-ny_ 3163
-egi 3156
-esp 3143
-was 3139
-ish 3138
-ue_ 3137
-cha 3114
-ori 3099
-efo 3098
-ime 3093
-now 3079
-fer 3078
-_cr 3048
-_cl 3047
-ead 3045
-acc 3036
-_lo 3031
-_ev 3025
-ndi 3016
-aus 3001
-ice 3001
-cil 2995
-_ra 2992
-isi 2988
-tim 2975
-ase 2974
-que 2972
-ned 2967
-_ve 2964
-les 2956
-tai 2948
-ult 2943
-wha 2939
-_op 2933
-lin 2931
-tie 2929
-ary 2920
-mat 2911
-up_ 2911
-opo 2909
-pla 2900
-ffe 2883
-ht_ 2872
-ike 2867
-do_ 2843
-lik 2827
-eal 2819
-how 2818
-rov 2817
-ser 2811
-tre 2807
-nis 2805
-ork 2804
-ual 2802
-ir_ 2799
-ega 2792
-rd_ 2789
-epo 2779
-lan 2774
-id_ 2751
-oci 2751
-mpo 2746
-itu 2737
-pen 2732
-who 2731
-ade 2728
-ls_ 2715
-_pu 2712
-soc 2706
-_ge 2699
-sse 2698
-_if 2691
-if_ 2691
-bou 2685
-fac 2685
-ici 2682
-nme 2682
-ext 2680
-duc 2678
-_ye 2672
-cle 2667
-nin 2666
-_pl 2650
-ari 2648
-sec 2648
-hey 2646
-tly 2625
-abo 2622
-tit 2616
-_vi 2612
-equ 2605
-ost 2600
-nee 2592
-ert 2581
-iat 2578
-my_ 2574
-cat 2570
-icu 2563
-ris 2552
-exp 2551
-sol 2547
-uct 2535
-_na 2530
-rel 2522
-_ju 2519
-itt 2519
-nly 2512
-uch 2510
-tia 2505
-no_ 2504
-sib 2499
-ugh 2491
-omi 2485
-bli 2481
-tab 2478
-_hi 2474
-mme 2473
-ach 2469
-agr 2469
-cau 2465
-rge 2462
-_ot 2443
-bec 2435
-att 2433
-ong 2428
-eir 2426
-nge 2411
-oug 2411
-hei 2410
-ssu 2400
-rst 2399
-tem 2397
-am_ 2396
-cre 2386
-ani 2385
-mak 2381
-ced 2371
-ura 2369
-bil 2367
-ded 2363
-tee 2360
-owe 2357
-_ti 2356
-jec 2354
-eli 2346
-elo 2344
-ric 2342
-mar 2334
-wer 2331
-mea 2326
-leg 2323
-ond 2321
-gro 2314
-ifi 2309
-eth 2303
-_ec 2294
-sel 2290
-_up 2289
-sup 2288
-hts 2282
-nda 2273
-som 2270
-ad_ 2267
-_my 2252
-ses 2248
-irs 2246
-cie 2240
-ono 2239
-ell 2231
-tru 2230
-dec 2226
-iou 2225
-ace 2212
-dev 2212
-tar 2212
-fir 2211
-cis 2197
-rio 2196
-way 2195
-rem 2193
-ece 2189
-new 2189
-nes 2182
-ass 2173
-erm 2166
-mun 2165
-_bo 2163
-eca 2162
-_af 2145
-har 2145
-lle 2145
-isa 2140
-ang 2139
-spo 2138
-war 2137
-ele 2129
-lie 2128
-erv 2121
-_hu 2119
-mmu 2114
-roc 2112
-nsu 2109
-ibl 2103
-_ce 2096
-get 2096
-uri 2080
-el_ 2077
-mer 2076
-ria 2074
-ron 2074
-ram 2070
-lop 2067
-upp 2066
-_fe 2049
-dit 2044
-eop 2043
-rod 2042
-nk_ 2039
-jus 2038
-sal 2038
-ffi 2034
-gh_ 2022
-ogr 2021
-pon 2020
-qui 2014
-rk_ 2012
-_ob 2011
-suc 2011
-asi 2010
-dem 2003
-ein 2001
-aid 1998
-sue 1998
-icy 1989
-sis 1986
-opl 1983
-fun 1980
-peo 1973
-bet 1970
-oce 1969
-ann 1968
-cce 1968
-nom 1959
-mad 1948
-lut 1945
-see 1945
-poi 1941
-chi 1940
-rke 1939
-_es 1934
-yea 1928
-arg 1927
-ivi 1927
-onl 1925
-ita 1921
-low 1912
-rog 1909
-day 1904
-own 1903
-clu 1894
-emp 1894
-rre 1891
-tro 1887
-led 1885
-wn_ 1881
-ho_ 1877
-urs 1876
-_da 1875
-cur 1874
-hem 1874
-dir 1861
-rly 1857
-tec 1856
-ful 1855
-_ci 1847
-ia_ 1836
-ume 1834
-iev 1833
-oll 1833
-vin 1833
-od_ 1826
-rce 1816
-gai 1806
-rte 1806
-rac 1805
-cri 1804
-_em 1800
-_vo 1797
-tua 1797
-isc 1793
-rm_ 1793
-oss 1791
-sh_ 1787
-sat 1783
-mes 1782
-ovi 1778
-rde 1776
-osi 1769
-eff 1766
-rse 1763
-llo 1761
-try 1760
-odu 1758
-_gi 1757
-cts 1755
-wee 1754
-_br 1750
-cit 1745
-olu 1744
-son 1744
-dam 1743
-_cu 1739
-lf_ 1738
-ntl 1736
-giv 1733
-osa 1731
-_ef 1726
-ink 1716
-hos 1715
-cen 1714
-nds 1706
-ppr 1700
-bat 1698
-aga 1693
-eac 1692
-ndm 1687
-ark 1685
-ctu 1683
-eso 1680
-nto 1680
-sub 1680
-hum 1679
-uma 1678
-bel 1673
-thr 1670
-dme 1667
-obl 1667
-rna 1667
-hal 1665
-edu 1664
-_sc 1661
-vid 1661
-emo 1659
-_au 1657
-des 1657
-ved 1655
-nan 1652
-oup 1651
-hea 1647
-eti 1644
-bas 1643
-tel 1641
-ara 1635
-ela 1634
-ncl 1625
-ept 1624
-nvi 1624
-rds 1621
-wel 1621
-bei 1619
-ood 1617
-qua 1614
-inf 1610
-oti 1609
-fec 1604
-nfo 1604
-gov 1597
-dif 1596
-lon 1596
-lve 1594
-etw 1591
-ems 1585
-alt 1584
-dea 1583
-bje 1582
-cip 1578
-ack 1576
-rma 1576
-gar 1574
-ien 1571
-rob 1570
-vot 1560
-_ru 1559
-dy_ 1557
-lac 1557
-ign 1547
-say 1545
-onf 1544
-edi 1540
-inv 1539
-cor 1534
-imi 1533
-med 1529
-twe 1529
-iff 1524
-mic 1524
-rth 1513
-ian 1505
-_va 1504
-kno 1504
-plo 1502
-gio 1496
-pli 1493
-che 1490
-_sy 1489
-ruc 1487
-ole 1486
-ppl 1478
-rtu 1477
-_ai 1475
-eem 1475
-mos 1474
-ana 1456
-sum 1456
-sts 1455
-mil 1453
-ks_ 1451
-hor 1450
-cas 1449
-lli 1449
-adi 1443
-pme 1442
-rdi 1440
-_ea 1438
-off 1437
-uat 1435
-ars 1434
-deb 1432
-cep 1431
-dge 1431
-rnm 1424
-wan 1422
-usi 1418
-ges 1416
-amm 1412
-_kn 1411
-pin 1407
-ied 1406
-nno 1404
-vis 1402
-rev 1400
-del 1398
-opm 1394
-nve 1390
-hel 1383
-cra 1382
-ubl 1380
-wev 1380
-cus 1378
-rap 1377
-tut 1375
-ism 1372
-lev 1371
-rn_ 1371
-ute 1367
-_ro 1366
-rot 1366
-eu_ 1364
-ea_ 1363
-_el 1354
-lud 1352
-aki 1348
-ech 1347
-ete 1347
-_ov 1343
-cco 1341
-eba 1341
-ict 1338
-efe 1334
-env 1334
-yst 1333
-gin 1332
-shi 1332
-egu 1331
-fre 1327
-urt 1325
-dur 1322
-add 1320
-vir 1318
-_dr 1316
-oes 1312
-iro 1303
-she 1302
-vie 1301
-air 1296
-car 1296
-ck_ 1296
-mpe 1293
-sla 1292
-opi 1288
-sys 1288
-too 1288
-ncy 1287
-err 1282
-til 1281
-uss 1281
-ask 1279
-ps_ 1278
-opt 1277
-aff 1272
-ank 1266
-ngs 1266
-ail 1264
-exa 1263
-ors 1248
-sto 1248
-ket 1247
-cto 1246
-uth 1241
-rad 1239
-onm 1238
-atu 1234
-mpr 1234
-fra 1229
-loy 1229
-ize 1226
-hy_ 1225
-tle 1225
-pub 1224
-lec 1223
-req 1219
-iew 1218
-nic 1217
-hil 1216
-_du 1214
-nse 1211
-two 1210
-xt_ 1207
-aft 1206
-vic 1204
-rol 1202
-coo 1199
-evi 1199
-exc 1196
-fte 1191
-col 1190
-cte 1190
-rms 1186
-nor 1184
-log 1183
-ema 1180
-eta 1178
-ipl 1175
-dat 1174
-gs_ 1174
-rts 1174
-mai 1169
-far 1166
-gul 1166
-amp 1164
-oni 1164
-rne 1164
-ger 1163
-abi 1162
-aut 1157
-las 1154
-erg 1153
-_tw 1151
-let 1150
-sou 1148
-olv 1144
-len 1143
-ibi 1141
-pt_ 1141
-ocr 1140
-doe 1136
-set 1133
-mpa 1132
-hol 1131
-sha 1131
-ken 1129
-_gu 1126
-sk_ 1126
-lig 1125
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/es.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/es.ngp
deleted file mode 100644
index d876720..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/es.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-_de 136162
-os_ 104432
-de_ 96031
-_la 81054
-_co 64732
-la_ 62987
-es_ 60027
-as_ 58615
-_qu 56200
-que 55727
-ue_ 53693
-ent 53516
-en_ 52339
-el_ 50612
-_en 49870
-_es 48725
-ón_ 46841
-ión 46068
-est 43016
-nte 42192
-te_ 38687
-_el 38461
-con 37552
-_se 37134
-_pr 35772
-do_ 34887
-_lo 34502
-_y_ 32030
-_un 30742
-_re 29625
-_po 29551
-aci 29218
-_a_ 29199
-los 28792
-ció 28717
-_pa 28600
-to_ 28476
-ra_ 27785
-res 27200
-men 26415
-ar_ 25118
-ado 25005
-com 24457
-sta 23713
-par 23570
-or_ 22898
-_in 22253
-se_ 21776
-al_ 21224
-por 20662
-_ha 20266
-no_ 19782
-_no 19637
-las 19623
-pro 18796
-nto 18515
-pre 18215
-tra 18215
-ien 18094
-ta_ 18071
-cia 18041
-ion 17727
-ida 17065
-nci 16820
-na_ 16728
-ica 16595
-cio 16590
-mos 16275
-one 16216
-del 15972
-dad 15624
-lo_ 15488
-ara 15288
-ia_ 14766
-una 14753
-ant 14486
-nes 14249
-_si 14167
-er_ 14052
-ame 13930
-dos 13906
-_al 13877
-rec 13848
-rop 13745
-on_ 13491
-an_ 13268
-_so 13252
-nta 13173
-da_ 13104
-ro_ 13032
-_di 12932
-_su 12895
-ues 12709
-_me 12586
-era 12502
-des 12453
-per 12285
-_pe 12224
-un_ 12196
-re_ 11905
-ste 11899
-mis 11726
-ten 11678
-ter 11476
-enc 11340
-ad_ 11252
-tar 11116
-isi 11112
-_ca 10938
-ici 10928
-les 10770
-uro 10756
-sió 10697
-pue 10688
-tad 10621
-mo_ 10163
-io_ 10146
-str 10101
-ons 9952
-nos 9905
-_cu 9835
-ari 9810
-ada 9771
-tos 9746
-ido 9642
-omi 9583
-eur 9560
-tiv 9560
-ntr 9498
-_eu 9482
-esp 9477
-_tr 9414
-_mi 9363
-ect 9362
-tic 9322
-ero 9214
-den 9204
-emo 9181
-ere 9157
-tan 9147
-ier 9049
-_ma 8996
-_ta 8994
-ía_ 8957
-tam 8818
-orm 8810
-rio 8749
-_ac 8686
-esi 8656
-bre 8655
-sid 8627
-ca_ 8595
-ale 8551
-ndo 8536
-mie 8477
-ist 8448
-der 8325
-ide 8284
-for 8259
-eci 8249
-sti 8242
-ble 8210
-ene 8196
-_to 8194
-ona 8191
-esa 8081
-ran 8077
-_te 7956
-end 7934
-uni 7910
-ope 7900
-tro 7898
-ont 7887
-deb 7873
-ros 7787
-mbi 7751
-sto 7662
-_pu 7656
-cho 7529
-ha_ 7509
-amb 7491
-_ex 7420
-ese 7364
-int 7253
-ina 7226
-das 7081
-ría 7030
-_mu 6965
-art 6917
-gra 6882
-cto 6867
-tes 6857
-so_ 6839
-ir_ 6792
-spe 6704
-ma_ 6692
-edi 6656
-ás_ 6644
-_nu 6501
-señ 6470
-co_ 6455
-más 6441
-tod 6398
-omo 6376
-ora 6350
-lam 6322
-ece 6312
-ser 6290
-ita 6283
-ea_ 6280
-ria 6261
-me_ 6256
-qui 6227
-sar 6206
-_as 6167
-lar 6121
-obr 6092
-cue 6081
-eño 6050
-iva 6034
-nue 5959
-_ap 5930
-fic 5924
-amo 5908
-ali 5900
-nal 5838
-rta 5836
-egu 5791
-ech 5761
-iza 5731
-eri 5730
-ñor 5723
-ort 5694
-rac 5692
-ico 5684
-dic 5667
-ces 5661
-pon 5640
-ade 5636
-sob 5607
-ren 5603
-and 5589
-odo 5582
-_má 5529
-emp 5523
-rma 5485
-ner 5478
-ebe 5448
-ace 5437
-mpl 5411
-ios 5407
-ura 5405
-ial 5353
-cer 5337
-le_ 5271
-inc 5236
-su_ 5233
-uer 5220
-man 5215
-sen 5211
-unt 5206
-eo_ 5197
-tas 5168
-va_ 5165
-ras 5158
-tal 5158
-cas 5154
-mer 5148
-cie 5130
-imp 5117
-arl 5078
-mpo 5051
-nda 5030
-dec 5018
-ema 5009
-ili 4972
-reg 4968
-lic 4876
-pos 4860
-_ve 4848
-_gr 4823
-_im 4816
-lid 4782
-ati 4776
-go_ 4763
-tur 4735
-uci 4702
-med 4693
-omp 4690
-én_ 4638
-_mo 4635
-ién 4631
-_fu 4619
-_cr 4615
-ate 4578
-cci 4569
-anc 4568
-cre 4551
-gun 4544
-abl 4531
-nfo 4528
-rla 4516
-tor 4512
-ued 4491
-inf 4486
-min 4483
-mbr 4479
-pec 4452
-imi 4425
-car 4406
-_fi 4395
-pri 4389
-bié 4365
-nió 4365
-eso 4355
-rar 4352
-jo_ 4338
-nse 4338
-llo 4335
-rme 4321
-iem 4305
-nti 4303
-nde 4301
-_he 4300
-seg 4296
-ede 4292
-íti 4288
-cul 4283
-pol 4276
-ore 4270
-rad 4258
-rat 4258
-rea 4240
-cua 4237
-_ad 4228
-ral 4227
-ber 4225
-sin 4202
-_ci 4201
-_le 4201
-dem 4197
-oci 4196
-ho_ 4169
-ivo 4168
-ejo 4157
-ust 4130
-cti 4120
-emb 4112
-ver 4101
-eco 4094
-erc 4092
-ual 4083
-ce_ 4081
-_an 4068
-cad 4066
-_vi 4063
-_ob 4051
-tie 4051
-mas 4028
-_ti 4026
-ias 4006
-_fo 4000
-ndi 3986
-hac 3960
-otr 3955
-bie 3949
-rte 3940
-ert 3938
-uen 3928
-pea 3898
-cos 3884
-osi 3878
-olí 3869
-itu 3867
-lít 3862
-ond 3830
-uie 3829
-_em 3827
-gar 3820
-vo_ 3815
-ses 3796
-_ne 3768
-act 3761
-lan 3753
-ano 3752
-ela 3735
-sa_ 3724
-leg 3684
-uda 3682
-nic 3664
-tre 3662
-son 3648
-und 3647
-pli 3635
-nst 3629
-ers 3619
-tem 3608
-fin 3594
-dis 3574
-mun 3572
-nsi 3564
-sol 3562
-spo 3562
-mar 3555
-ome 3555
-gen 3525
-ya_ 3515
-aba 3508
-ini 3502
-ori 3488
-are 3485
-_sa 3467
-ata 3448
-ern 3428
-nac 3427
-rti 3426
-ven 3417
-ism 3368
-rá_ 3358
-in_ 3345
-_li 3344
-dir 3340
-lac 3283
-nid 3274
-si_ 3260
-_ot 3258
-ram 3248
-cha 3246
-ult 3241
-fer 3233
-ne_ 3232
-uch 3216
-ime 3214
-duc 3206
-aís 3191
-_va 3189
-ref 3180
-paí 3177
-egi 3164
-mpr 3151
-ito 3147
-did 3144
-lem 3142
-hos 3128
-tri 3124
-sos 3118
-_pl 3114
-liz 3114
-_au 3112
-eda 3111
-ula 3098
-tua 3093
-ifi 3092
-alm 3090
-pla 3086
-ens 3079
-sit 3076
-pod 3075
-rol 3071
-nas 3064
-lme 3051
-stá 3045
-ele 3044
-rob 3044
-_lu 3042
-_am 3028
-erd 3021
-nad 3003
-_sr 3002
-sus 2988
-onc 2986
-rid 2986
-tac 2982
-po_ 2953
-hay 2931
-_ni 2929
-ino 2926
-peo 2926
-nec 2913
-rse 2912
-alg 2904
-cac 2898
-erv 2887
-_ju 2883
-ami 2876
-eme 2876
-ete 2870
-_na 2864
-dar 2863
-ple 2848
-can 2846
-bil 2844
-ota 2843
-eti 2833
-obl 2827
-mit 2792
-bro 2790
-oce 2787
-han 2775
-smo 2766
-opu 2758
-_fa 2755
-zar 2749
-rim 2746
-rab 2736
-rro 2736
-ecu 2730
-err 2724
-imo 2724
-arr 2720
-soc 2713
-roc 2704
-cam 2703
-cla 2695
-eno 2678
-ega 2677
-ell 2677
-_or 2676
-tid 2674
-_o_ 2673
-hab 2673
-dam 2666
-cir 2660
-cid 2642
-ctu 2640
-ins 2639
-_ba 2632
-án_ 2620
-sis 2617
-aso 2601
-nen 2596
-baj 2594
-col 2593
-eni 2592
-_vo 2591
-ani 2585
-efe 2575
-_do 2570
-erm 2567
-cor 2558
-olu 2547
-ric 2542
-eva 2539
-omu 2535
-efi 2534
-sej 2529
-_ho 2525
-exi 2525
-luc 2523
-nsa 2521
-fun 2516
-lta 2515
-_da 2504
-rel 2501
-eta 2498
-us_ 2489
-año 2479
-rmi 2479
-ret 2474
-dor 2469
-tim 2466
-cen 2463
-rem 2447
-igu 2444
-be_ 2439
-tab 2438
-_ge 2428
-arg 2428
-erí 2426
-lec 2420
-_añ 2418
-nar 2418
-asa 2417
-ima 2411
-sas 2410
-uno 2406
-esu 2405
-pa_ 2400
-tit 2399
-nve 2392
-sio 2389
-pet 2388
-uev 2383
-ún_ 2383
-rca 2373
-_ag 2372
-sup 2371
-dif 2370
-rod 2370
-asi 2361
-nce 2358
-_op 2357
-_ya 2349
-ord 2330
-ire 2328
-cip 2322
-muc 2313
-exp 2312
-cis 2308
-sab 2308
-oda 2307
-rso 2304
-vis 2293
-reo 2290
-eba 2276
-rno 2272
-sie 2272
-íse 2272
-dio 2271
-ena 2267
-hor 2263
-esc 2262
-sig 2261
-opi 2243
-abi 2240
-ogr 2238
-ced 2230
-eal 2230
-oy_ 2229
-rep 2225
-vid 2221
-ind 2215
-uy_ 2209
-ibl 2208
-muy 2207
-cta 2197
-dan 2196
-mpe 2191
-ama 2184
-ola 2180
-gui 2174
-nan 2173
-clu 2164
-sib 2157
-zac 2153
-ono 2144
-opa 2139
-lib 2125
-_ec 2123
-gur 2121
-ana 2118
-fue 2118
-isa 2117
-nor 2114
-oso 2113
-ará 2110
-lla 2106
-onf 2106
-fec 2105
-abo 2101
-ocu 2100
-bar 2093
-rre 2089
-odu 2085
-sr_ 2080
-iti 2075
-pen 2075
-ay_ 2074
-vos 2073
-yo_ 2071
-tin 2070
-_ll 2067
-ast 2062
-_fr 2056
-ode 2055
-sea 2047
-za_ 2041
-_ce 2031
-dia 2031
-sec 2031
-opo 2020
-uan 2019
-vas 2014
-ans 2007
-sí_ 2007
-oll 2000
-_hu 1988
-lgu 1988
-lle 1985
-evi 1984
-tir 1984
-gan 1981
-rda 1965
-bra 1964
-mi_ 1962
-acu 1957
-ext 1953
-rie 1950
-ga_ 1949
-rqu 1948
-tió 1947
-_ra 1933
-ala 1932
-_ab 1931
-uct 1930
-lat 1922
-uga 1915
-_cl 1914
-apr 1913
-rgo 1913
-rin 1912
-bat 1911
-orí 1910
-acc 1900
-tru 1897
-rev 1895
-cal 1882
-len 1878
-amp 1874
-eje 1874
-ior 1874
-nmi 1873
-pac 1865
-mod 1864
-tá_ 1863
-uma 1862
-ías 1861
-lad 1859
-upo 1856
-_ar 1850
-ron 1849
-bli 1846
-ume 1844
-ost 1838
-sic 1838
-ncl 1831
-ños 1831
-pta 1823
-_ga 1822
-uir 1816
-ole 1812
-lab 1809
-icu 1801
-arc 1795
-rdo 1785
-abe 1783
-lug 1782
-_ej 1777
-lim 1774
-rog 1767
-iac 1765
-eli 1764
-rán 1763
-iad 1762
-_só 1756
-ars 1755
-gua 1754
-sól 1754
-rib 1739
-ibi 1732
-ajo 1722
-zad 1714
-ivi 1712
-jet 1711
-aqu 1697
-iar 1696
-pas 1694
-has 1690
-lia 1687
-onv 1686
-_ah 1684
-ólo 1682
-_bi 1681
-enm 1680
-apo 1676
-oca 1673
-ayo 1670
-nza 1670
-ecc 1665
-_du 1663
-uac 1660
-rup 1659
-ane 1657
-_ef 1656
-ez_ 1651
-may 1650
-oba 1642
-ben 1638
-bje 1637
-nom 1632
-obj 1629
-ote 1628
-unc 1627
-asu 1623
-_ay 1614
-rci 1610
-equ 1609
-rna 1609
-cep 1608
-nco 1605
-ing 1599
-mac 1597
-bor 1589
-agr 1581
-mej 1581
-mil 1580
-uto 1578
-gru 1575
-ase 1573
-hec 1573
-apl 1564
-orq 1563
-mic 1562
-yor 1561
-rga 1557
-rit 1557
-cit 1554
-ich 1552
-abr 1550
-iga 1549
-cri 1548
-ato 1547
-evo 1541
-nit 1541
-ive 1540
-ine 1537
-mba 1535
-omb 1535
-vot 1534
-pio 1532
-mat 1528
-pun 1527
-uri 1526
-cur 1525
-tec 1525
-lti 1518
-sad 1517
-és_ 1517
-bem 1516
-bas 1512
-_us 1510
-nis 1509
-osa 1509
-hem 1508
-hum 1500
-_oc 1498
-bla 1496
-isp 1496
-aho 1494
-jor 1478
-así 1476
-rde 1476
-_aq 1475
-anz 1470
-red 1468
-sul 1466
-xis 1462
-eng 1454
-sum 1448
-uis 1447
-apa 1445
-orr 1444
-ayu 1442
-cum 1439
-quí 1436
-rto 1434
-ite 1433
-_bu 1431
-rot 1430
-yud 1429
-eto 1424
-noc 1424
-die 1420
-ian 1420
-pal 1418
-ulo 1416
-ibu 1407
-val 1403
-arí 1402
-emá 1402
-_ev 1401
-adi 1401
-sca 1400
-iud 1392
-ciu 1386
-alt 1380
-bit 1378
-cab 1378
-sun 1375
-fra 1374
-_at 1373
-_fe 1361
-van 1359
-esd 1358
-ego 1353
-he_ 1353
-sal 1353
-sde 1352
-aut 1349
-erá 1346
-poy 1341
-lig 1338
-jer 1331
-teg 1331
-nem 1326
-nóm 1323
-ruc 1319
-oco 1311
-uta 1310
-_pi 1308
-aya 1306
-qué 1306
-rom 1306
-upu 1304
-spu 1302
-gue 1300
-tán 1300
-ibe 1299
-mid 1296
-rtu 1293
-il_ 1292
-aña 1289
-onó 1286
-plo 1284
-ife 1280
-_af 1276
-dim 1272
-cim 1271
-ño_ 1271
-log 1268
-ómi 1268
-lus 1263
-ué_ 1250
-uid 1244
-sam 1238
-oli 1232
-def 1231
-_go 1228
-ept 1227
-lis 1227
-isc 1225
-obs 1220
-til 1218
-mad 1213
-gio 1212
-aro 1211
-cup 1209
-lev 1208
-egl 1204
-rra 1204
-usi 1199
-cil 1195
-ba_ 1191
-aca 1188
-vez 1188
-sla 1184
-_és 1183
-nsp 1178
-inv 1177
-rlo 1176
-tom 1174
-_tu 1166
-gla 1166
-ill 1165
-odr 1163
-mpa 1161
-spa 1161
-eña 1157
-obi 1155
-odi 1155
-is_ 1152
-pes 1150
-hoy 1148
-ted 1146
-var 1141
-día 1140
-nsu 1140
-rco 1138
-nam 1136
-_yo 1131
-rvi 1131
-cap 1128
-rri 1127
-nif 1124
-uel 1121
-eja 1120
-udi 1119
-pin 1115
-tud 1114
-vel 1112
-tuc 1107
-uso 1106
-vic 1106
-sem 1105
-últ 1105
-ipa 1103
-dop 1100
-fre 1098
-aja 1097
-aus 1097
-gas 1096
-ipi 1094
-pid 1089
-exc 1086
-det 1083
-_úl 1082
-_gu 1077
-mes 1077
-zo_ 1077
-bri 1075
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/et.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/et.ngp
deleted file mode 100644
index c5d4096..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/et.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-se_ 21814
-mis 19747
-ise 19736
-ja_ 17655
-te_ 17213
-use 16214
-_ja 15845
-st_ 13526
-est 13298
-ud_ 13260
-ste 13210
-sta 12994
-_ko 12908
-ust 12804
-ast 11912
-ist 11713
-ami 11710
-_ka 11705
-le_ 11520
-dus 11464
-on_ 10832
-ne_ 10685
-_te 10569
-sel 10497
-tus 10458
-ine 10055
-_va 9735
-end 9638
-es_ 9627
-_on 9512
-ks_ 9494
-de_ 9290
-and 9066
-us_ 9013
-lis 8954
-nda 8754
-_se 8736
-id_ 8699
-aja 8273
-eri 8195
-ed_ 8156
-ava 8116
-sti 8109
-lik 8028
-_ee 7949
-el_ 7931
-min 7913
-ga_ 7697
-val 7636
-tud 7571
-ti_ 7392
-tee 7203
-ali 7197
-ate 7136
-_ta 7108
-ing 7031
-ele 6956
-ees 6954
-ide 6935
-_ku 6890
-lt_ 6750
-is_ 6643
-kon 6565
-da_ 6556
-tsi 6474
-töö 6444
-ndu 6377
-eks 6338
-ete 6334
-as_ 6328
-aks 6245
-_ra 6227
-_ma 6185
-ad_ 6040
-tam 5993
-_ar 5952
-atu 5921
-_võ 5914
-eer 5902
-iku 5846
-aas 5743
-_vä 5723
-_ni 5677
-_in 5534
-sed 5525
-tat 5511
-_mi 5382
-nna 5339
-uur 5295
-met 5180
-dam 5128
-või 5104
-_pr 5064
-_to 5017
-_ol 5016
-_me 4954
-ren 4867
-lus 4818
-oli 4795
-tme 4751
-_tö 4749
-sek 4747
-ega 4735
-ng_ 4702
-_jä 4678
-_su 4642
-tte 4565
-imi 4564
-lii 4557
-_tu 4526
-eva 4520
-ata 4480
-kes 4435
-ses 4423
-_li 4335
-_sa 4331
-ite 4320
-tel 4309
-stu 4294
-oon 4263
-koo 4259
-al_ 4256
-are 4251
-ade 4247
-teg 4239
-_et 4214
-tse 4206
-oni 4202
-_ke 4195
-kas 4179
-rit 4176
-tes 4174
-tav 4159
-_pa 4130
-ita 4064
-nin 4040
-sus 4033
-emi 4025
-maa 4001
-aal 3976
-ole 3969
-eta 3968
-ta_ 3899
-ili 3886
-vas 3881
-vad 3868
-asu 3852
-ool 3842
-ada 3756
-ka_ 3737
-ema 3701
-ma_ 3701
-vus 3665
-vat 3638
-pro 3621
-_põ 3618
-itu 3616
-ndi 3609
-si_ 3609
-na_ 3582
-ima 3543
-koh 3515
-nud 3507
-rii 3506
-ald 3483
-ama 3465
-ab_ 3461
-kse 3452
-uri 3444
-ngu 3439
-kus 3433
-its 3425
-ku_ 3420
-uta 3405
-ini 3372
-des 3367
-suu 3352
-ika 3342
-_si 3321
-jan 3315
-lit 3309
-esk 3307
-ni_ 3307
-_aa 3296
-lin 3277
-et_ 3261
-eet 3257
-ioo 3251
-_el 3248
-lle 3248
-ime 3245
-loo 3238
-ala 3235
-sio 3229
-sut 3227
-ekt 3224
-umi 3223
-_ül 3208
-ood 3198
-maj 3176
-mee 3166
-inn 3135
-_ha 3124
-onn 3102
-jää 3093
-_pe 3089
-_al 3085
-tak 3061
-_os 3055
-elt 3036
-ule 3026
-kui 3025
-eli 3019
-ett 3018
-_re 3000
-utu 2982
-tik 2977
-_ju 2941
-ell 2940
-ter 2893
-ene 2884
-too 2883
-_pi 2879
-li_ 2868
-võt 2854
-ase 2835
-väl 2832
-lem 2826
-str 2816
-saa 2804
-_po 2803
-_a_ 2790
-mus 2784
-kti 2773
-tas 2768
-nis 2763
-_an 2756
-gus 2738
-see 2736
-_so 2718
-etu 2709
-ik_ 2699
-igi 2690
-va_ 2683
-tul 2671
-di_ 2670
-_ri 2667
-mat 2634
-ure 2629
-õim 2624
-alt 2622
-alu 2621
-mal 2615
-tal 2602
-ent 2600
-me_ 2592
-gu_ 2569
-sse 2569
-osa 2564
-_tä 2548
-kku 2529
-idu 2525
-rim 2494
-ida 2493
-äät 2492
-ots 2490
-esi 2478
-sis 2476
-ätm 2474
-lda 2473
-oma 2473
-eis 2467
-arv 2463
-ahe 2456
-rin 2454
-lli 2452
-kog 2450
-ööt 2450
-eel 2446
-hen 2440
-kor 2439
-ori 2439
-gi_ 2428
-eid 2422
-ege 2421
-_ne 2419
-äär 2407
-iti 2391
-rak 2391
-_üh 2385
-tev 2383
-_la 2378
-aga 2368
-_kõ 2360
-isa 2355
-all 2354
-oos 2354
-ike 2347
-lev 2341
-ead 2314
-ri_ 2312
-hin 2307
-ind 2304
-_es 2300
-ogu 2293
-las 2290
-ats 2288
-iit 2282
-_er 2274
-rah 2273
-ond 2272
-adu 2255
-evõ 2245
-nim 2234
-set 2231
-jal 2225
-ati 2224
-pea 2219
-iik 2218
-ari 2201
-põl 2189
-lek 2188
-_ki 2183
-kaa 2172
-lja 2168
-gev 2164
-iig 2159
-iir 2159
-eed 2153
-uma 2151
-ude 2141
-tsu 2134
-ui_ 2132
-kul 2126
-tis 2117
-tea 2116
-roo 2114
-ke_ 2111
-_as 2097
-tid 2097
-_mu 2093
-ikk 2089
-pii 2089
-ei_ 2073
-ani 2072
-seg 2072
-ute 2064
-dad 2055
-oet 2053
-mas 2043
-nde 2043
-nik 2029
-evu 2025
-ost 2025
-mes 2021
-_ei 2019
-jär 2012
-nts 2009
-tek 2009
-tur 2003
-sei 2000
-tab 1996
-eem 1984
-ves 1962
-tad 1948
-nõu 1940
-sid 1934
-_pu 1929
-_i_ 1921
-toe 1921
-del 1915
-_kä 1911
-ähe 1908
-_om 1906
-ess 1902
-älj 1899
-ran 1896
-_e_ 1887
-jat 1885
-la_ 1885
-mi_ 1882
-tuu 1872
-ale 1867
-põh 1864
-ant 1854
-rid 1854
-ärg 1847
-vah 1844
-pol 1843
-_en 1841
-tii 1834
-par 1829
-uli 1828
-dat 1826
-iga 1823
-lan 1815
-ets 1814
-isi 1814
-sii 1813
-oht 1807
-_lo 1800
-_ve 1799
-res 1789
-_vi 1788
-_st 1779
-mid 1778
-vii 1778
-rat 1777
-iiv 1764
-odu 1764
-oha 1764
-lse 1759
-_uu 1749
-_hi 1740
-sam 1740
-med 1735
-ame 1734
-il_ 1729
-sal 1727
-imu 1715
-olu 1709
-ras 1708
-ede 1706
-sea 1694
-usl 1690
-ia_ 1689
-nev 1687
-usi 1687
-_le 1686
-tlu 1686
-tu_ 1684
-nen 1679
-teh 1675
-iva 1669
-soo 1668
-mak 1667
-llu 1662
-sli 1653
-eda 1651
-aid 1650
-_lä 1649
-nd_ 1649
-poo 1648
-ul_ 1648
-ane 1646
-iis 1643
-art 1641
-juh 1641
-oot 1638
-egi 1630
-kko 1630
-üle 1630
-mil 1629
-sem 1623
-mit 1620
-_na 1618
-ord 1618
-_mä 1616
-anu 1616
-tle 1611
-asi 1608
-mär 1608
-rgi 1605
-at_ 1603
-ris 1598
-sit 1598
-rra 1589
-uud 1589
-_nõ 1585
-gia 1579
-kat 1579
-een 1577
-inf 1575
-hel 1570
-etm 1566
-sia 1564
-ära 1563
-_tõ 1560
-tmi 1556
-äit 1542
-_s_ 1541
-sak 1533
-tei 1532
-ara 1527
-hal 1525
-har 1520
-he_ 1518
-õig 1516
-aad 1515
-uut 1514
-_mõ 1512
-muu 1512
-ake 1509
-als 1504
-orr 1504
-tra 1502
-eur 1501
-_kü 1498
-_eu 1496
-õi_ 1496
-ral 1493
-taj 1491
-ken 1482
-sa_ 1478
-uro 1477
-uru 1477
-oom 1475
-ill 1472
-raa 1466
-aig 1464
-isk 1464
-enu 1460
-ige 1460
-era 1456
-nem 1456
-ese 1454
-ulu 1454
-em_ 1453
-skk 1453
-aar 1446
-ium 1444
-jad 1441
-tor 1440
-ion 1436
-per 1434
-eng 1423
-ult 1423
-uko 1420
-ühi 1420
-sva 1413
-und 1411
-aka 1410
-gra 1407
-ien 1402
-let 1401
-vaj 1401
-kõi 1398
-iaa 1397
-dis 1394
-ldu 1393
-tsa 1392
-ina 1382
-_t_ 1375
-gut 1375
-tru 1370
-eti 1366
-ee_ 1365
-eku 1364
-kid 1359
-uht 1359
-hai 1358
-tar 1355
-jek 1354
-dav 1348
-udu 1347
-ahv 1344
-eld 1344
-_kr 1341
-oog 1341
-his 1336
-nat 1333
-väh 1332
-usa 1330
-elu 1326
-kli 1321
-kut 1321
-eb_ 1320
-toi 1320
-du_ 1319
-esm 1317
-täi 1315
-sen 1306
-uss 1302
-uva 1299
-sim 1295
-hta 1293
-aam 1292
-edi 1291
-ela 1291
-võr 1291
-ruk 1287
-_nä 1284
-vis 1284
-les 1282
-õtt 1281
-oor 1279
-gil 1278
-van 1277
-ki_ 1275
-usk 1270
-rve 1263
-ogi 1262
-iid 1261
-mää 1261
-asa 1259
-igu 1259
-õpp 1245
-iim 1244
-iks 1244
-ile 1244
-isu 1242
-rdi 1241
-akt 1239
-nas 1238
-üsi 1236
-dit 1230
-tet 1227
-kal 1226
-riu 1226
-ako 1224
-asv 1224
-lum 1220
-_th 1215
-ram 1215
-ukt 1213
-aot 1212
-lat 1208
-rvi 1208
-iko 1204
-ktu 1204
-ogr 1204
-olo 1203
-sin 1202
-nus 1200
-erv 1197
-it_ 1194
-tag 1194
-abi 1192
-ait 1191
-smä 1191
-tri 1191
-_is 1189
-oop 1187
-omi 1175
-aa_ 1169
-nve 1167
-ain 1162
-rio 1160
-lu_ 1154
-amm 1153
-ge_ 1153
-net 1150
-nte 1144
-ühe 1144
-_he 1143
-hul 1143
-kin 1141
-reg 1141
-mad 1133
-uid 1133
-re_ 1131
-opa 1129
-una 1129
-taa 1126
-õll 1126
-rtu 1117
-er_ 1116
-iin 1111
-vee 1111
-ivi 1110
-men 1109
-kir 1108
-pa_ 1108
-aat 1106
-iki 1105
-oje 1105
-the 1105
-ksu 1104
-roj 1104
-vai 1103
-uts 1102
-kau 1101
-_õp 1100
-_ed 1099
-ub_ 1097
-ssi 1095
-rog 1094
-san 1094
-sku 1093
-õhi 1092
-aan 1090
-ska 1089
-kav 1085
-eni 1082
-nan 1077
-puu 1076
-det 1075
-sol 1074
-pri 1072
-ere 1071
-inu 1069
-üst 1068
-kum 1066
-kõr 1065
-nee 1062
-ppe 1061
-iss 1056
-eme 1054
-nii 1052
-ib_ 1050
-in_ 1048
-ang 1045
-sko 1043
-htu 1039
-tun 1039
-nil 1038
-ivs 1035
-sas 1032
-oll 1030
-has 1028
-ena 1027
-ire 1027
-kai 1026
-kom 1026
-spo 1026
-lul 1024
-egu 1023
-süs 1023
-ötu 1021
-_av 1020
-ato 1019
-por 1013
-rus 1012
-õte 1012
-kud 1010
-rem 1010
-rel 1009
-nal 1008
-aha 1007
-vää 1006
-näi 1003
-ehn 1002
-ve_ 1001
-avi 995
-pid 995
-rva 995
-avu 990
-_l_ 989
-täh 989
-aru 988
-til 988
-ii_ 982
-_pä 980
-ulg 980
-eal 976
-üld 976
-das 971
-seo 971
-_sü 970
-üks 968
-lee 967
-lla 967
-uni 967
-inv 960
-õrg 960
-abe 959
-nit 955
-pet 951
-naa 947
-ana 946
-_sõ 944
-käi 944
-tut 944
-_mo 942
-ive 941
-ree 941
-orm 936
-ber 935
-nni 935
-ven 935
-kva 932
-kto 930
-otl 930
-bi_ 923
-äht 923
-õle 923
-ont 920
-ann 918
-öta 917
-kun 916
-rja 915
-nfo 914
-jus 912
-ort 912
-öös 912
-emu 910
-ndl 909
-sot 909
-spe 909
-man 907
-smi 905
-_ai 901
-gis 896
-dud 895
-ärt 895
-nne 892
-ra_ 889
-sat 886
-tli 886
-tao 885
-nam 881
-lid 879
-mei 878
-oim 878
-_ot 877
-_ho 873
-kok 873
-kol 873
-rko 873
-gem 871
-pär 868
-av_ 865
-uba 864
-eeg 855
-ikl 847
-iri 845
-okk 845
-int 843
-kuu 842
-tum 841
-hte 840
-did 839
-_di 836
-ner 836
-lge 834
-ial 832
-nt_ 832
-lma 828
-pan 828
-nid 827
-_tr 826
-dme 826
-stö 826
-irj 822
-_lõ 821
-ass 821
-_de 820
-ngi 820
-ars 817
-lmi 817
-vit 817
-_ro 816
-amu 816
-mek 813
-ria 813
-han 811
-rav 811
-tan 809
-tit 806
-ism 802
-aud 800
-usv 800
-den 798
-jõu 798
-alg 797
-_ab 796
-sil 796
-eko 795
-uun 795
-õiv 794
-_n_ 792
-ha_ 792
-kan 790
-var 790
-hti 789
-itm 789
-mõj 789
-ona 789
-sul 789
-õju 789
-irk 787
-kur 787
-itl 786
-_no 785
-õik 785
-ndm 783
-of_ 783
-ilm 779
-uti 779
-vse 779
-odi 778
-olt 777
-õhj 773
-ila 770
-gas 769
-ju_ 767
-_fi 765
-äli 765
-_aj 764
-_ak 764
-_of 764
-lga 762
-aeg 761
-_ti 759
-an_ 759
-sik 757
-luk 756
-mmi 756
-ior 755
-lad 755
-nti 754
-tim 751
-ärk 750
-_u_ 747
-pal 745
-äie 744
-_kv 743
-kel 743
-for 742
-lam 742
-su_ 740
-uha 740
-kül 738
-alm 737
-gud 737
-dab 736
-ski 734
-ldi 731
-äbi 731
-otu 729
-rma 729
-suh 729
-_o_ 728
-_kl 726
-läb 725
-_hu 724
-hoi 720
-olm 720
-sto 720
-öst 720
-ula 717
-juu 716
-tin 715
-ügi 715
-hus 714
-len 714
-uvi 714
-hva 713
-_sä 712
-pla 712
-ksi 708
-rge 706
-usm 704
-osi 700
-noo 699
-_jo 698
-ekk 697
-jon 697
-dal 695
-eos 693
-vab 692
-um_ 690
-aba 687
-gik 686
-rik 686
-aav 683
-api 683
-ten 682
-_m_ 680
-lep 680
-vi_ 680
-_r_ 678
-fra 677
-jaa 677
-kts 676
-öö_ 676
-ilj 674
-ode 674
-eha 673
-kri 671
-onk 670
-rot 670
-nei 669
-sur 669
-nst 666
-aki 665
-ahu 662
-erg 662
-jul 662
-_d_ 660
-eka 660
-otm 660
-nes 658
-õus 658
-pin 657
-dko 655
-üli 654
-eas 653
-hõi 653
-oid 650
-ske 649
-itt 648
-eam 646
-sad 644
-rst 643
-ll_ 642
-_ag 641
-_ük 640
-ev_ 640
-väi 640
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/fi.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/fi.ngp
deleted file mode 100644
index 27fded4..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/fi.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-en_ 106131
-in_ 58268
-ta_ 55626
-tä_ 53283
-an_ 53187
-ist 47697
-sta 43336
-on_ 43007
-ja_ 39277
-_ja 34833
-ett 34518
-ttä 34382
-ise 34375
-sa_ 31387
-tta 31331
-sen 31131
-_on 30416
-_va 29376
-_jo 27765
-mis 27422
-lis 27257
-aan 26778
-ssa 26557
-_ko 26334
-ksi 25541
-itt 25386
-ais 25194
-än_ 25023
-isi 23975
-est 23320
-_tä 22725
-_ta 22098
-taa 21547
-_si 21503
-lla 21331
-_ka 21096
-_et 20955
-aa_ 20905
-lli 20722
-si_ 20631
-ten 19829
-ste 19820
-_se 19749
-den 19664
-_ol 19431
-stä 19131
-iss 19127
-ell 19029
-me_ 18781
-een 18638
-ast 18147
-lle 17984
-ia_ 17761
-uks 17657
-itä 17586
-kse 17163
-mme 17101
-ill 16970
-_ku 16949
-_mi 16823
-voi 16728
-le_ 16698
-_to 16348
-at_ 16024
-sia 15940
-la_ 15811
-all 15602
-tel 15469
-ti_ 15218
-ois 15157
-sti 14987
-ust 14795
-ses 14778
-val 14766
-iin 14638
-ään 14348
-sit 14245
-et_ 14188
-nen 14129
-oit 14082
-ole 13982
-_pa 13728
-ava 13727
-mie 13701
-toi 13651
-tte 13598
-utt 13595
-ine 13313
-tei 13274
-_tu 13273
-ka_ 13210
-sii 13167
-tav 13165
-kan 13159
-täm 13097
-aik 12891
-ide 12841
-_sa 12591
-ite 12212
-kin 12161
-ent 12138
-vat 12064
-oll 12062
-lai 12050
-_jä 12011
-eis 11981
-omi 11784
-eur 11749
-_mu 11697
-tää 11692
-ain 11679
-_me 11653
-_ma 11650
-sä_ 11514
-ssä 11466
-tam 11435
-lä_ 11242
-stu 11222
-_eu 11214
-kai 11196
-iit 11194
-tet 11103
-ämä 11095
-ien 11081
-ää_ 10806
-_yh 10753
-maa 10734
-oli 10717
-_ei 10690
-llä 10687
-_pu 10684
-min 10678
-_te 10528
-suu 10307
-ess 10289
-men 10188
-alt 10177
-uro 10157
-ion 9915
-_ha 9860
-oim 9812
-emm 9786
-roo 9786
-ita 9692
-sio 9489
-tee 9445
-_ke 9393
-oop 9353
-nta 9269
-ikk 9224
-ans 9216
-ott 9213
-ude 9208
-hte 9161
-ssi 9141
-arv 9081
-pan 8995
-yht 8981
-tuk 8825
-sel 8791
-alu 8765
-_as 8758
-kom 8684
-_vo 8664
-eri 8658
-ike 8619
-imi 8605
-tti 8560
-iel 8555
-sin 8480
-uut 8383
-ei_ 8363
-lta 8338
-yks 8321
-_my 8216
-ost 8198
-ami 8070
-tar 8014
-se_ 8001
-_al 7974
-myö 7965
-na_ 7923
-tai 7911
-täv 7907
-kaa 7906
-_ai 7886
-_kä 7856
-set 7850
-opa 7849
-tus 7841
-vas 7747
-_su 7738
-_ti 7713
-asi 7683
-sis 7671
-_hy 7586
-see 7577
-ala 7524
-nne 7523
-par 7490
-äse 7465
-tin 7453
-_ra 7450
-kos 7409
-_ni 7394
-_li 7360
-aat 7266
-jäs 7242
-_en 7198
-eid 7197
-nsa 7196
-int 7180
-tii 7157
-_pe 7131
-un_ 7123
-ass 7122
-_ar 7116
-vai 7115
-puh 7108
-nna 7086
-hal 7084
-isu 7001
-per 6960
-att 6924
-lit 6913
-hdo 6893
-_la 6884
-ali 6869
-saa 6868
-nti 6845
-_vi 6836
-muk 6823
-ity 6822
-elm 6815
-esi 6812
-ika 6810
-oik 6776
-jot 6699
-lin 6684
-ann 6683
-yös 6678
-äyt 6660
-jen 6637
-joi 6633
-tie 6626
-_nä 6566
-rit 6551
-hyv 6530
-_vä 6529
-nii 6492
-kun 6440
-lma 6438
-ioi 6408
-nki 6382
-oni 6379
-osk 6377
-_pi 6371
-_es 6358
-ark 6352
-ama 6333
-yvä 6320
-_pä 6266
-eet 6266
-sal 6257
-del 6245
-ävä 6228
-oid 6226
-pää 6208
-lii 6182
-ske 6176
-man 6170
-_po 6160
-ät_ 6152
-_er 6149
-va_ 6146
-vaa 6117
-us_ 6083
-uud 6056
-ant 6053
-äis 6009
-rvo 5977
-keu 5971
-rki 5942
-eli 5928
-äll 5924
-sto 5872
-iet 5871
-ene 5840
-nte 5829
-tio 5781
-ös_ 5773
-väl 5753
-_so 5744
-kui 5738
-ttu 5738
-mei 5711
-_ne 5695
-aja 5690
-män 5673
-ame 5657
-uhe 5631
-isa 5604
-vuo 5591
-ut_ 5587
-lam 5586
-oma 5565
-ytt 5558
-_ki 5554
-tka 5541
-dän 5525
-mit 5504
-eva 5492
-rla 5492
-enk 5470
-alo 5460
-imm 5451
-mää 5445
-uol 5435
-_os 5408
-ele 5355
-arl 5345
-sek 5341
-sil 5322
-_hu 5300
-ni_ 5297
-iä_ 5296
-itu 5293
-ova 5288
-elu 5286
-mä_ 5259
-vät 5258
-apa 5245
-kka 5244
-_he 5223
-unn 5201
-käy 5187
-san 5176
-oht 5169
-kki 5166
-oin 5156
-inn 5147
-laa 5122
-net 5115
-_ky 5101
-ehd 5067
-pol 5052
-van 5049
-ano 5036
-kä_ 5027
-tän 5013
-idä 5008
-työ 4985
-lem 4964
-lti 4938
-lua 4937
-tan 4921
-emi 4907
-ute 4896
-isä 4889
-tun 4881
-ön_ 4841
-enn 4839
-oka 4839
-äst 4827
-nee 4822
-_vu 4818
-ime 4817
-eks 4805
-var 4776
-tis 4751
-äli 4713
-nio 4694
-uka 4681
-sty 4675
-amm 4668
-uus 4660
-äks 4659
-nni 4644
-kes 4639
-muu 4576
-nin 4572
-vie 4569
-its 4563
-dot 4561
-tal 4550
-huo 4549
-uni 4541
-hta 4537
-eit 4522
-mai 4508
-tty 4481
-lue 4476
-osi 4454
-_lu 4445
-ota 4434
-jok 4428
-_un 4427
-_ed 4416
-iaa 4414
-kuu 4410
-kys 4397
-utu 4393
-iva 4376
-iik 4371
-_ov 4353
-teh 4340
-eru 4335
-äin 4333
-sku 4307
-oje 4287
-elt 4274
-osa 4268
-rus 4267
-uom 4256
-_ty 4252
-tul 4240
-ne_ 4239
-ote 4238
-taj 4235
-sim 4214
-len 4180
-ens 4177
-tse 4170
-jos 4167
-pit 4146
-yt_ 4140
-mat 4137
-tuu 4136
-pal 4096
-imu 4077
-nä_ 4068
-eil 4052
-des 4051
-_oi 4048
-esk 4035
-mer 4001
-ino 3999
-sää 3976
-tys 3965
-lan 3955
-ies 3926
-äät 3926
-hem 3915
-lee 3907
-nyt 3901
-aut 3896
-es_ 3893
-nis 3890
-täi 3888
-hin 3863
-täy 3840
-_an 3834
-mas 3830
-näi 3829
-kev 3827
-uur 3818
-ata 3817
-lev 3816
-neu 3807
-tek 3791
-les 3775
-äär 3772
-aal 3765
-koh 3760
-_eh 3749
-pai 3740
-ana 3736
-otk 3728
-uvo 3722
-_uu 3717
-euv 3715
-ati 3711
-ris 3706
-ina 3699
-ken 3691
-ian 3684
-yis 3681
-ua_ 3676
-vii 3641
-kau 3630
-ihe 3628
-lou 3628
-soi 3624
-joh 3606
-ämi 3600
-vä_ 3568
-ahd 3561
-stö 3561
-env 3555
-yst 3552
-uit 3542
-oa_ 3530
-kis 3525
-rke 3525
-dis 3518
-hen 3513
-oja 3511
-lmi 3505
-uot 3500
-tuo 3498
-puo 3494
-hän 3484
-sem 3483
-kut 3470
-ilm 3457
-aks 3452
-ltä 3452
-nka 3442
-ila 3438
-til 3433
-kei 3423
-ysy 3408
-erk 3391
-täs 3376
-aki 3363
-kol 3363
-jär 3360
-ail 3357
-ode 3344
-vos 3342
-loi 3335
-oks 3334
-ran 3332
-iti 3326
-eta 3325
-mmä 3325
-uun 3325
-väk 3325
-ton 3324
-opi 3316
-nut 3307
-jat 3302
-uin 3299
-oss 3288
-_py 3284
-aus 3271
-kii 3253
-iks 3244
-unt 3244
-li_ 3236
-ska 3231
-onn 3223
-ee_ 3198
-tap 3190
-ätt 3186
-elä 3169
-rje 3167
-eut 3166
-kas 3164
-nva 3160
-sym 3160
-onk 3141
-uva 3135
-käs 3134
-eti 3133
-eel 3125
-ulu 3115
-ppa 3099
-tyi 3096
-otu 3095
-atk 3092
-sop 3089
-lut 3084
-ihi 3079
-ivä 3079
-mmi 3078
-ink 3077
-jon 3067
-_sy 3062
-ntä 3044
-ema 3029
-nnö 3023
-nan 3019
-äne 3009
-ärj 3002
-io_ 2989
-kok 2988
-ull 2987
-rat 2984
-äri 2982
-ima 2978
-äss 2976
-ara 2973
-vin 2956
-keh 2954
-jes 2953
-vis 2949
-aka 2942
-luo 2942
-_el 2939
-rvi 2934
-ätö 2931
-uri 2928
-_ri 2915
-mut 2898
-ärk 2898
-_ny 2895
-kus 2894
-te_ 2881
-koi 2873
-_ve 2870
-ntö 2870
-ikä 2863
-oon 2840
-rin 2827
-hee 2826
-nsi 2824
-mah 2823
-äsi 2816
-tyy 2808
-_yk 2806
-ko_ 2805
-pim 2805
-ees 2803
-iis 2799
-_ot 2793
-jel 2790
-oko 2790
-hmi 2789
-dol 2787
-sam 2786
-tyk 2785
-ytä 2780
-nno 2776
-ein 2775
-yde 2773
-tto 2770
-hit 2764
-opp 2762
-tas 2743
-etu 2742
-kon 2742
-ai_ 2739
-_mo 2737
-ivi 2734
-ehi 2729
-_il 2727
-os_ 2726
-syy 2722
-kea 2718
-_lä 2711
-tu_ 2708
-vit 2695
-rah 2681
-yvi 2681
-aih 2676
-ase 2670
-aav 2668
-ri_ 2665
-sik 2665
-use 2661
-_yl 2657
-noi 2644
-yhd 2638
-nit 2635
-tum 2628
-ämm 2620
-kit 2615
-ohj 2603
-_ju 2595
-täl 2589
-ymy 2585
-kke 2582
-suo 2575
-_lo 2565
-ede 2565
-_it 2563
-eni 2558
-uis 2555
-siä 2554
-auk 2534
-oi_ 2531
-tär 2528
-ani 2526
-elv 2526
-kil 2524
-kee 2513
-iko 2511
-_hä 2509
-_ih 2500
-avo 2498
-nss 2494
-raa 2494
-uta 2489
-ki_ 2486
-umi 2467
-tur 2464
-kie 2459
-änt 2459
-eht 2456
-aas 2454
-ida 2454
-eik 2434
-ihm 2432
-ntt 2432
-oud 2420
-oil 2418
-sie 2415
-ryh 2403
-yty 2402
-ito 2393
-kul 2387
-evi 2386
-yy_ 2380
-iiv 2376
-keä 2374
-kal 2372
-ätä 2370
-pau 2367
-tod 2365
-tot 2365
-ank 2358
-ros 2356
-mal 2348
-det 2347
-ule 2344
-uod 2341
-uon 2326
-nai 2325
-usk 2325
-rkk 2323
-uul 2319
-ys_ 2317
-ena 2315
-_mä 2314
-etä 2314
-tia 2312
-aam 2310
-kem 2307
-ker 2307
-han 2299
-ias 2299
-avi 2292
-ete 2286
-tak 2283
-ter 2283
-kää 2277
-hde 2275
-tom 2273
-_no 2272
-pro 2265
-yön 2256
-ksy 2255
-läh 2245
-avu 2243
-vel 2239
-ait 2236
-hei 2217
-nto 2217
-ärä 2217
-mia 2216
-ria 2216
-tut 2212
-isk 2211
-yä_ 2193
-nes 2183
-rii 2183
-jan 2181
-htä 2180
-ähe 2178
-kir 2176
-nei 2172
-mio 2158
-inu 2154
-_us 2146
-ous 2144
-ake 2138
-ohd 2136
-rva 2122
-oiv 2106
-ulk 2103
-toj 2098
-uee 2093
-uu_ 2091
-nsä 2088
-ely 2084
-mon 2084
-ied 2083
-ält 2083
-irj 2080
-kko 2077
-vää 2069
-_ym 2065
-hoi 2062
-myk 2054
-mus 2053
-aha 2051
-tym 2050
-lau 2047
-ekä 2042
-_sä 2040
-kor 2034
-opu 2034
-inä 2031
-yyt 2031
-ttö 2030
-ski 2023
-änn 2022
-ma_ 2017
-rik 2010
-nal 2001
-tyv 1985
-eus 1983
-mik 1982
-to_ 1970
-mät 1969
-äni 1969
-_ry 1968
-lei 1966
-mui 1964
-tim 1958
-enä 1953
-tuv 1948
-lop 1946
-tau 1946
-yri 1945
-mil 1936
-näk 1936
-isö 1934
-seu 1931
-kti 1930
-uss 1929
-ymi 1928
-tös 1923
-iih 1916
-ate 1913
-ona 1908
-sei 1908
-vak 1903
-ura 1900
-sos 1897
-jä_ 1892
-iot 1887
-sva 1883
-vän 1879
-alv 1853
-önt 1852
-rja 1851
-mma 1849
-usi 1836
-iku 1829
-oso 1824
-änä 1817
-tui 1811
-noa 1809
-da_ 1808
-yhm 1804
-uai 1802
-nge 1799
-ini 1796
-hje 1792
-iso 1791
-ont 1784
-mak 1782
-_av 1773
-ert 1770
-vap 1768
-eto 1766
-uor 1763
-sov 1758
-mpä 1755
-daa 1754
-iid 1754
-mar 1754
-_ää 1753
-nnu 1752
-ea_ 1749
-not 1744
-jo_ 1739
-eud 1738
-_pr 1735
-päi 1734
-kat 1732
-nos 1732
-paa 1732
-ltt 1727
-uos 1724
-euk 1723
-aaj 1722
-_aj 1720
-tät 1718
-urv 1715
-rak 1711
-lus 1707
-dä_ 1706
-tön 1706
-yöt 1704
-ntu 1698
-aho 1695
-von 1695
-tyn 1693
-tua 1684
-mpi 1679
-is_ 1667
-aad 1661
-vir 1657
-väh 1655
-eiv 1646
-nom 1644
-ilt 1638
-lke 1634
-sai 1632
-ekt 1628
-ire 1628
-nat 1624
-lmä 1617
-_om 1615
-ivo 1614
-uok 1614
-las 1613
-pid 1611
-tos 1611
-isy 1606
-nmu 1606
-ot_ 1606
-siv 1606
-via 1602
-ras 1599
-_in 1596
-pa_ 1591
-hti 1590
-lyt 1590
-ilu 1587
-jäl 1584
-ty_ 1582
-ver 1580
-toa 1578
-lvo 1577
-oku 1575
-iki 1573
-ong 1572
-uht 1562
-_oh 1560
-_n_ 1554
-ljo 1553
-ävi 1552
-ähä 1550
-nim 1549
-elk 1542
-kou 1539
-erä 1538
-pär 1536
-olt 1535
-säl 1533
-uma 1533
-ouk 1532
-gel 1531
-ulo 1528
-hdi 1521
-ija 1517
-nem 1517
-sla 1517
-ane 1516
-arm 1515
-yse 1511
-art 1509
-oro 1509
-ira 1507
-aht 1500
-pah 1500
-rko 1495
-sko 1495
-ins 1494
-öön 1489
-lim 1488
-ymp 1488
-yyd 1486
-anu 1479
-ari 1475
-_na 1469
-het 1467
-lun 1466
-yte 1465
-njo 1463
-aji 1462
-hmä 1460
-enj 1457
-väs 1457
-_em 1454
-iir 1454
-ose 1451
-rjo 1449
-_di 1446
-aar 1446
-yle 1441
-iok 1436
-eki 1429
-yn_ 1428
-luk 1423
-töö 1423
-ppu 1416
-htu 1415
-suh 1411
-ääs 1411
-ial 1410
-non 1410
-öst 1408
-alk 1405
-lko 1403
-llu 1403
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/fr.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/fr.ngp
deleted file mode 100644
index ce8b833..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/fr.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-es_ 124024
-_de 109755
-de_ 78274
-nt_ 74666
-ent 73427
-ion 65376
-_le 62856
-on_ 57250
-le_ 55725
-_co 53514
-_qu 52602
-que 50913
-_la 49619
-re_ 49502
-la_ 49477
-ns_ 48796
-tio 44394
-men 41151
-ue_ 40603
-ons 40266
-les 37708
-et_ 37315
-_pa 36424
-ne_ 36124
-_pr 35906
-_l_ 34158
-_un 33129
-_en 32396
-ur_ 32380
-_et 31951
-_ce 31086
-us_ 30924
-eme 30266
-er_ 30202
-ati 29403
-_po 29237
-_no 28573
-des 28357
-con 28332
-_à_ 28000
-eur 27741
-en_ 27260
-_au 26289
-ce_ 25075
-te_ 23773
-our 23353
-est 23013
-ous 22967
-par 22793
-_d_ 22601
-com 22259
-omm 20361
-tre 19922
-_so 19837
-ant 19778
-ont 19637
-_es 19421
-is_ 19350
-it_ 19074
-pro 19063
-nou 19028
-ts_ 19005
-res 18850
-ire 18398
-me_ 17460
-_dé 17376
-ans 17332
-pou 17199
-_in 17162
-té_ 17135
-il_ 16880
-lle 16762
-une 16272
-st_ 16127
-_re 16119
-_su 15949
-_ma 15798
-_se 15554
-ui_ 15354
-iqu 15271
-dan 15176
-ssi 15065
-rop 14695
-qui 14633
-_du 14571
-_il 14473
-du_ 14410
-_da 14232
-un_ 14210
-iss 13840
-se_ 13739
-nce 13678
-ux_ 13396
-_mo 13362
-ell 13134
-_ré 13115
-sio 13078
-rs_ 13041
-nte 12940
-ait 12843
-ais 12724
-air 12687
-rai 12244
-ort 12135
-_di 12086
-ité 12035
-ter 12019
-lem 11984
-ien 11962
-iti 11938
-mme 11896
-nne 11869
-sur 11838
-pré 11770
-_fa 11747
-au_ 11636
-_je 11603
-as_ 11533
-_vo 11276
-_av 11227
-_tr 11221
-_pe 11178
-je_ 11106
-_do 11086
-mis 11081
-pas 10835
-ale 10650
-rés 10622
-_eu 10537
-son 10475
-pos 10392
-tra 10361
-_ét 10282
-por 10242
-cti 10072
-uro 10031
-_me 10021
-int 9942
-_to 9829
-ntr 9806
-tou 9805
-ces 9782
-ir_ 9689
-onn 9638
-ues 9634
-_pl 9542
-ure 9473
-app 9402
-out 9368
-aut 9323
-ain 9197
-mes 9177
-qu_ 9177
-és_ 9128
-ect 9069
-tte 9069
-lit 9026
-ère 9010
-ens 8997
-ten 8872
-ett 8855
-ut_ 8792
-_a_ 8759
-ouv 8681
-sti 8643
-ar_ 8607
-aux 8537
-_ne 8519
-mai 8509
-mmi 8482
-end 8433
-ive 8378
-ble 8307
-ide 8242
-_ex 8222
-enc 8137
-urs 8133
-ren 8006
-opé 7977
-onc 7838
-tai 7806
-mon 7792
-_ac 7779
-nsi 7755
-ie_ 7749
-ser 7748
-tan 7706
-ieu 7677
-tat 7660
-oit 7656
-_ra 7644
-art 7605
-fai 7575
-ins 7506
-ée_ 7467
-nts 7358
-nti 7356
-lus 7344
-ess 7310
-éta 7253
-anc 7163
-sse 7144
-uve 7128
-éen 7111
-_ca 7106
-ran 7070
-pée 7067
-plu 7017
-_fo 7001
-si_ 6980
-_on 6934
-rat 6897
-ven 6887
-_si 6821
-pri 6650
-ièr 6647
-_sa 6628
-tiq 6604
-sit 6592
-_te 6577
-cet 6575
-tes 6542
-sen 6508
-ine 6474
-_ch 6454
-in_ 6396
-nse 6387
-den 6360
-uti 6354
-uni 6332
-ern 6311
-vou 6286
-cer 6243
-ite 6243
-nde 6242
-ave 6229
-nta 6201
-and 6195
-ier 6167
-sou 6096
-rap 6020
-sid 6005
-ise 5940
-for 5864
-rt_ 5836
-uel 5822
-rta 5817
-enn 5777
-rit 5745
-ond 5707
-ers 5703
-che 5681
-_ai 5679
-bre 5589
-ron 5574
-eux 5560
-ési 5542
-tie 5496
-pre 5456
-ver 5424
-tiv 5401
-abl 5357
-ppo 5350
-rti 5340
-rem 5338
-don 5336
-_ap 5333
-ali 5327
-voi 5309
-emb 5303
-roi 5295
-oir 5282
-ois 5214
-dre 5212
-san 5209
-_n_ 5197
-_li 5186
-_im 5124
-gra 5118
-per 5097
-man 5074
-ist 5068
-imp 5066
-str 5021
-sie 4991
-omp 4954
-von 4939
-ris 4938
-ses 4912
-ili 4906
-avo 4873
-_vi 4852
-arl 4822
-ées 4802
-fin 4794
-ve_ 4793
-era 4788
-nes 4785
-ill 4784
-leu 4783
-pe_ 4771
-dem 4769
-rme 4765
-ste 4763
-ute 4750
-_s_ 4708
-mat 4707
-ssa 4699
-oli 4695
-ès_ 4669
-ert 4643
-act 4614
-ava 4606
-ass 4587
-pol 4569
-teu 4559
-_gr 4552
-rie 4509
-mbr 4505
-nst 4494
-age 4492
-nom 4492
-rle 4467
-éri 4447
-_mi 4436
-tés 4425
-lis 4420
-rte 4420
-isa 4409
-cha 4398
-_êt 4396
-ame 4387
-oin 4386
-orm 4378
-osi 4369
-acc 4356
-sem 4345
-dev 4332
-êtr 4318
-rec 4293
-mpl 4291
-dis 4277
-pen 4263
-ra_ 4237
-_c_ 4217
-ord 4215
-jou 4211
-opo 4184
-rd_ 4157
-eau 4146
-nio 4139
-peu 4130
-ème 4129
-_an 4097
-cel 4088
-tur 4084
-tro 4053
-itu 4046
-cor 4035
-ge_ 4025
-utr 4016
-ls_ 4004
-esp 3998
-nat 3987
-éra 3983
-_cr 3971
-emp 3970
-al_ 3968
-uis 3968
-_ou 3964
-tit 3943
-nan 3934
-ica 3929
-éga 3926
-dir 3911
-lat 3909
-eil 3906
-cou 3892
-ec_ 3884
-_el 3863
-nté 3840
-été 3820
-ina 3818
-ela 3805
-tif 3797
-_lo 3786
-mpo 3772
-vec 3765
-ori 3759
-sei 3751
-sta 3743
-déc 3725
-égi 3720
-ici 3719
-ndr 3716
-nem 3716
-min 3712
-fon 3704
-_fi 3669
-ani 3644
-nal 3640
-rou 3635
-_am 3606
-its 3604
-ése 3567
-ats 3559
-doi 3556
-uss 3541
-ime 3499
-nci 3498
-el_ 3491
-_éc 3472
-vel 3460
-dro 3457
-der 3454
-rne 3413
-sai 3410
-soi 3405
-vai 3403
-roc 3394
-pay 3390
-rès 3385
-spo 3376
-mun 3374
-met 3361
-ére 3352
-cia 3332
-nda 3331
-cul 3320
-_dr 3310
-at_ 3304
-_ci 3301
-mem 3287
-oci 3276
-mmu 3273
-not 3270
-ifi 3250
-aus 3245
-ppe 3245
-tri 3235
-erm 3229
-fic 3215
-rer 3211
-_bi 3208
-_as 3194
-_ég 3194
-cit 3181
-tic 3180
-ays 3170
-_ju 3169
-ema 3163
-gal 3157
-att 3155
-éci 3154
-tem 3145
-ys_ 3133
-ial 3114
-oi_ 3091
-rce 3088
-ndi 3074
-_ob 3071
-inc 3068
-ini 3066
-cat 3063
-lon 3062
-nis 3059
-ail 3044
-ême 3026
-mer 3024
-col 3019
-lai 3019
-_ad 3014
-van 3011
-cte 3005
-lie 3004
-lan 3000
-ner 2996
-vis 2995
-_or 2994
-os_ 2986
-otr 2986
-ara 2983
-erc 2980
-ita 2980
-ose 2975
-sat 2954
-_j_ 2949
-squ 2940
-cie 2936
-éco 2930
-sui 2926
-rég 2925
-isi 2924
-dép 2917
-eff 2917
-mar 2915
-qua 2913
-_al 2904
-bie 2901
-_ag 2896
-rav 2883
-_ef 2879
-gue 2868
-ign 2855
-_pu 2850
-ez_ 2830
-uit 2817
-lut 2810
-_él 2809
-bil 2788
-lor 2785
-_y_ 2772
-_ve 2770
-elo 2767
-_af 2757
-dit 2749
-née 2741
-ors 2741
-bli 2740
-ai_ 2738
-nir 2733
-dra 2731
-non 2729
-erv 2728
-rep 2727
-omi 2724
-_m_ 2717
-moi 2716
-soc 2709
-tal 2703
-ou_ 2693
-ote 2691
-ate 2687
-uer 2687
-oup 2680
-_at 2676
-_mê 2675
-jet 2674
-mêm 2662
-arc 2658
-ctu 2658
-_né 2650
-ult 2628
-rel 2603
-_st 2597
-cla 2570
-dam 2559
-ura 2552
-ona 2549
-sol 2548
-tue 2538
-ffi 2524
-dif 2522
-ple 2519
-pon 2515
-pli 2510
-vie 2510
-he_ 2499
-tér 2489
-opp 2478
-ral 2477
-pla 2474
-ler 2459
-uct 2458
-eut 2454
-ein 2453
-tab 2453
-_ba 2450
-ric 2448
-ind 2444
-ice 2432
-uri 2419
-eni 2407
-pér 2407
-éve 2387
-epr 2366
-oye 2365
-ono 2363
-som 2361
-nco 2360
-ace 2350
-nné 2339
-udr 2338
-nvi 2333
-ore 2329
-cis 2324
-ule 2324
-use 2318
-rod 2315
-lic 2313
-amm 2312
-_na 2310
-_év 2299
-olu 2296
-omb 2276
-cip 2274
-fér 2274
-mbl 2269
-icu 2264
-exp 2260
-obl 2259
-_ar 2244
-urr 2242
-arg 2241
-nau 2239
-fau 2226
-oll 2222
-reu 2219
-_hu 2213
-eu_ 2213
-ang 2212
-rch 2188
-oul 2180
-poi 2177
-_ta 2162
-ttr 2156
-vot 2156
-gen 2151
-cco 2147
-_be 2141
-lar 2139
-ibl 2129
-aie 2123
-ope 2116
-_sé 2115
-uli 2115
-nd_ 2114
-ds_ 2112
-pte 2106
-uté 2105
-vea 2104
-éce 2104
-spe 2103
-_ab 2102
-cep 2088
-els 2088
-pui 2085
-rre 2082
-rog 2081
-dui 2078
-deu 2075
-env 2075
-ann 2068
-rob 2066
-agi 2065
-rée 2062
-tiè 2057
-odu 2055
-ogr 2052
-err 2051
-exi 2051
-iff 2049
-nna 2049
-_cl 2048
-trè 2048
-ci_ 2043
-vre 2041
-rép 2039
-tru 2036
-yen 2032
-ujo 2031
-réc 2024
-niè 2017
-onf 2010
-oud 2008
-nfo 2006
-ves 1999
-iat 1974
-_ho 1972
-ito 1972
-cri 1971
-uat 1971
-ust 1971
-gle 1963
-dév 1960
-auc 1957
-gne 1957
-iso 1955
-upe 1954
-car 1940
-sib 1940
-lop 1931
-oss 1922
-bat 1920
-imi 1920
-loi 1905
-ils 1897
-nit 1894
-una 1892
-_va 1887
-ger 1885
-réa 1883
-rqu 1882
-ppr 1881
-evo 1873
-idé 1873
-ard 1871
-rma 1869
-vra 1865
-cas 1862
-gar 1858
-ché 1850
-if_ 1843
-ffe 1841
-isp 1840
-seu 1833
-déb 1831
-_bo 1825
-gis 1822
-nai 1822
-rin 1821
-rge 1817
-tis 1816
-sé_ 1815
-nc_ 1799
-lib 1796
-abi 1792
-ume 1792
-cen 1790
-abo 1779
-bje 1776
-déf 1773
-obj 1765
-jus 1760
-ssu 1760
-nie 1758
-rio 1756
-isé 1754
-lig 1748
-gio 1745
-emi 1744
-rni 1742
-ies 1739
-her 1738
-éme 1738
-ret 1737
-liq 1734
-rna 1734
-lég 1730
-vit 1729
-pec 1726
-enf 1724
-ora 1724
-ndu 1723
-équ 1717
-ept 1716
-_ni 1715
-exe 1712
-blè 1710
-cur 1710
-lèm 1710
-nsa 1709
-réf 1709
-éli 1702
-ivi 1690
-enu 1687
-esu 1685
-foi 1685
-cré 1681
-rve 1680
-evr 1678
-tel 1673
-tin 1670
-ena 1665
-cho 1662
-plo 1661
-ubl 1659
-_bu 1657
-mil 1656
-_em 1653
-rci 1653
-all 1651
-an_ 1650
-gro 1648
-_jo 1647
-eus 1646
-uvo 1646
-céd 1641
-nge 1640
-nve 1638
-ext 1637
-eul 1632
-bor 1631
-inf 1626
-_fr 1621
-ile 1621
-rim 1620
-édu 1619
-tec 1618
-ari 1616
-lim 1602
-mie 1598
-hai 1596
-_ga 1595
-rôl 1589
-ets 1584
-ero 1579
-nos 1570
-iel 1562
-urd 1560
-uen 1555
-aid 1553
-har 1552
-aqu 1550
-pem 1550
-sée 1549
-_lu 1548
-sso 1541
-ruc 1537
-ram 1532
-tir 1529
-dér 1523
-_ha 1522
-til 1521
-_ti 1519
-vir 1518
-ôle 1517
-onv 1515
-éné 1513
-fs_ 1511
-tée 1508
-quo 1505
-nel 1502
-niq 1496
-tég 1496
-mpr 1495
-bon 1494
-adr 1493
-nor 1492
-tor 1486
-uan 1484
-_ri 1481
-dém 1480
-_fe 1479
-ota 1477
-éba 1474
-dom 1473
-olo 1473
-rra 1471
-isc 1464
-log 1464
-sab 1463
-sav 1461
-aur 1460
-tim 1460
-rso 1459
-_sy 1457
-néc 1456
-rév 1455
-hui 1454
-éch 1454
-cro 1452
-gou 1451
-ipe 1447
-dur 1439
-uvr 1439
-oma 1434
-règ 1434
-éte 1434
-écu 1433
-_rè 1431
-éfi 1429
-avi 1425
-eco 1424
-ré_ 1424
-ppl 1423
-éso 1416
-fra 1412
-han 1410
-miq 1410
-nds 1401
-dia 1398
-tut 1396
-épo 1396
-uta 1395
-ègl 1392
-ole 1391
-_op 1390
-ges 1390
-évi 1389
-ula 1388
-iro 1387
-uto 1375
-rot 1373
-len 1369
-épu 1367
-_lé 1366
-git 1366
-hom 1364
-rts 1364
-ifs 1363
-jec 1360
-oie 1354
-aci 1353
-mal 1350
-mit 1344
-auj 1337
-vic 1335
-osé 1330
-tag 1328
-usi 1323
-émo 1323
-sme 1321
-nen 1320
-éla 1315
-rvi 1311
-ada 1310
-gie 1309
-lio 1306
-llè 1306
-mod 1305
-toy 1303
-lli 1302
-aff 1293
-tua 1293
-_mé 1292
-nue 1292
-rri 1289
-ps_ 1288
-cun 1287
-mma 1281
-pel 1281
-sec 1275
-_vu 1266
-_gé 1265
-rêt 1264
-cra 1259
-mpt 1259
-rib 1258
-opt 1257
-cad 1255
-lèg 1254
-ix_ 1253
-nqu 1252
-nct 1248
-bas 1247
-urq 1247
-_go 1245
-_où 1243
-occ 1243
-où_ 1243
-déj 1240
-niv 1239
-nér 1237
-jà_ 1234
-éjà 1233
-dic 1229
-édi 1225
-sus 1224
-pub 1221
-veu 1219
-né_ 1216
-val 1214
-put 1212
-och 1206
-ègu 1206
-duc 1204
-yst 1202
-agr 1197
-ech 1196
-ism 1192
-_ut 1191
-alo 1188
-ibu 1187
-nfi 1187
-uoi 1184
-idi 1183
-mps 1183
-sys 1183
-emm 1179
-lée 1179
-cce 1176
-tau 1170
-_oc 1167
-ior 1167
-lec 1165
-gan 1160
-_br 1159
-vue 1159
-stè 1156
-lui 1151
-ffé 1148
-gén 1145
-clu 1143
-ton 1143
-dop 1141
-rab 1134
-lac 1130
-rom 1126
-ude 1126
-hé_ 1125
-océ 1121
-cle 1116
-ièm 1114
-lab 1114
-sa_ 1113
-org 1108
-afi 1107
-éal 1104
-_x_ 1101
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/hu.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/hu.ngp
deleted file mode 100644
index a91a3e6..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/hu.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-_a_ 38146
-_sz 17915
-_az 14292
-és_ 13996
-sze 12590
-az_ 12544
-ek_ 11509
-en_ 10831
-_és 9755
-_me 9709
-tás 9013
-gy_ 8327
-an_ 7873
-meg 7821
-ak_ 7519
-egy 7511
-ség 7504
-ele 7499
-_te 7457
-_el 7419
-zer 7386
-_pr 6800
-zet 6690
-pro 6517
-tt_ 6485
-_eg 6437
-et_ 6393
-_fe 6318
-_kö 6220
-ok_ 6199
-is_ 5969
-_in 5910
-ere 5855
-szá 5791
-int 5673
-szt 5606
-gra 5568
-ram 5558
-tés 5512
-nak 5498
-rog 5418
-ás_ 5400
-ogr 5386
-_ha 5290
-ter 5278
-fel 5226
-ban 5218
-eze 5182
-_be 5135
-atá 5040
-ése 5033
-ény 4982
-ben 4981
-_mi 4955
-let 4914
-es_ 4903
-ete 4898
-_fo 4856
-_ne 4807
-ala 4759
-al_ 4746
-_ta 4741
-tel 4737
-ész 4715
-_ho 4684
-nt_ 4649
-min 4643
-zés 4620
-_va 4619
-nek 4548
-hat 4547
-el_ 4528
-at_ 4502
-si_ 4501
-am_ 4499
-köz 4491
-vez 4449
-nye 4419
-ely 4413
-ja_ 4355
-ra_ 4345
-ett 4342
-_ki 4341
-_le 4323
-ont 4232
-tal 4212
-_al 4195
-ind 4188
-ság 4187
-sza 4168
-ti_ 4167
-ott 4075
-ált 4068
-ai_ 4063
-áll 3878
-szo 3873
-ítá 3848
-_is 3831
-het 3819
-ell 3816
-gye 3800
-_ke 3747
-tat 3696
-end 3657
-ogy 3646
-zám 3645
-agy 3629
-esz 3604
-len 3589
-_ké 3572
-os_ 3561
-pon 3533
-for 3479
-se_ 3459
-hog 3391
-ásá 3389
-ége 3354
-ssz 3335
-_ér 3331
-ni_ 3321
-ány 3313
-eke 3310
-ció 3294
-sít 3278
-re_ 3265
-_re 3264
-nem 3256
-erv 3250
-unk 3247
-sok 3239
-lis 3225
-val 3219
-lat 3212
-mel 3188
-ik_ 3168
-ent 3163
-ért 3161
-em_ 3153
-jel 3131
-kez 3129
-kat 3099
-lta 3091
-ren 3049
-tár 3049
-zás 3028
-dít 3024
-ato 3016
-tet 3003
-áso 3000
-rés 2988
-_ál 2980
-kép 2950
-tan 2902
-dés 2892
-_ko 2885
-_tá 2874
-rve 2861
-_po 2841
-kor 2813
-ték 2811
-on_ 2799
-_mu 2757
-art 2748
-át_ 2746
-ma_ 2740
-lap 2731
-tó_ 2717
-ató 2707
-mun 2699
-_cs 2697
-áli 2696
-lla 2688
-asz 2676
-eté 2657
-_ma 2655
-st_ 2648
-_ré 2641
-ása 2625
-lt_ 2597
-nde 2582
-lye 2581
-gya 2571
-_id 2563
-nté 2538
-koz 2535
-öss 2534
-ét_ 2522
-_je 2517
-_am 2516
-bb_ 2512
-ető 2512
-cso 2500
-gál 2496
-lás 2495
-vál 2479
-áci 2465
-tar 2453
-ezé 2433
-sa_ 2429
-tek 2418
-_vá 2416
-ésé 2416
-kel 2409
-íté 2404
-_bi 2399
-_ez 2394
-eve 2390
-alm 2385
-zat 2382
-alk 2381
-er_ 2359
-eg_ 2342
-ndí 2317
-ame 2312
-alá 2311
-leg 2304
-hel 2302
-ák_ 2302
-lle 2300
-nte 2299
-ket 2293
-oly 2293
-_ös 2280
-olg 2257
-rté 2245
-hoz 2242
-ág_ 2238
-ási 2217
-zak 2211
-ési 2183
-ozá 2173
-tja 2171
-mén 2159
-nál 2149
-biz 2145
-ny_ 2144
-tő_ 2143
-del 2141
-ese 2134
-eti 2129
-vet 2125
-ól_ 2122
-fog 2119
-ló_ 2119
-öve 2116
-orm 2103
-_ka 2102
-án_ 2097
-_gy 2078
-elő 2072
-ten 2066
-ább 2065
-_ve 2064
-ég_ 2063
-_eu 2061
-kül 2057
-ada 2041
-idő 2031
-us_ 2031
-_má 2023
-elé 2001
-tos 1997
-men 1995
-ot_ 1974
-szí 1957
-yek 1953
-lal 1929
-lés 1929
-mán 1926
-_he 1922
-tok 1915
-lam 1914
-ána 1913
-_ny 1910
-ez_ 1906
-nev 1892
-kon 1884
-ysz 1883
-_es 1882
-_to 1874
-ozó 1871
-ára 1871
-elm 1857
-dsz 1852
-les 1852
-gi_ 1850
-tik 1846
-lem 1844
-lya 1840
-_ad 1838
-lma 1838
-_vi 1836
-csa 1830
-dás 1827
-_cé 1809
-mi_ 1808
-_de 1805
-ve_ 1803
-_tö 1775
-rt_ 1771
-éte 1766
-szi 1759
-yes 1750
-oga 1745
-sek 1740
-vel 1734
-ző_ 1728
-ors 1727
-ati 1720
-nka 1719
-vag 1715
-iál 1711
-ber 1705
-áma 1695
-mer 1694
-sen 1692
-zó_ 1689
-ker 1685
-ll_ 1681
-fej 1679
-it_ 1678
-ehe 1676
-emb 1673
-kal 1667
-ély 1666
-rmá 1659
-zot 1656
-cél 1655
-ová 1654
-épz 1647
-tot 1644
-rsz 1643
-tve 1642
-tes 1640
-zol 1640
-gat 1639
-ciá 1638
-mbe 1637
-or_ 1637
-tér 1636
-rek 1629
-amo 1619
-nk_ 1617
-has 1614
-ék_ 1601
-erm 1599
-enn 1598
-rta 1598
-_na 1597
-lko 1594
-éle 1583
-isz 1582
-kör 1575
-özö 1573
-_se 1567
-éke 1564
-áro 1557
-_ak 1554
-vén 1554
-oka 1552
-ata 1550
-eur 1550
-_e_ 1546
-_té 1545
-tsé 1545
-ába 1543
-aló 1537
-_en 1524
-ami 1524
-edé 1523
-rül 1521
-szü 1520
-ly_ 1518
-elt 1517
-nyo 1517
-lys 1511
-dat 1496
-fon 1496
-tov 1496
-_do 1495
-váb 1492
-_an 1488
-nyi 1488
-ül_ 1487
-ébe 1486
-tén 1481
-eri 1480
-yez 1473
-ító 1464
-ező 1459
-ama 1456
-fol 1453
-ort 1452
-rin 1447
-yel 1447
-leh 1441
-ály 1441
-ege 1439
-más 1439
-zon 1439
-maz 1438
-_vé 1436
-mag 1434
-lgá 1433
-azo 1430
-már 1430
-por 1424
-ós_ 1420
-_so 1417
-ók_ 1416
-pzé 1412
-ges 1408
-ene 1407
-ond 1403
-elv 1402
-efo 1397
-rán 1394
-tor 1391
-ika 1387
-rás 1384
-tud 1384
-ons 1383
-yan 1382
-ió_ 1379
-szé 1379
-kap 1378
-ére 1369
-gén 1368
-yen 1365
-szn 1362
-zág 1362
-zem 1360
-gaz 1359
-_kü 1358
-éne 1349
-_t_ 1348
-ta_ 1343
-ony 1341
-sme 1337
-zt_ 1331
-ndo 1330
-lak 1329
-üle 1323
-mat 1321
-ola 1321
-ár_ 1321
-_er 1317
-ism 1313
-_ol 1307
-okt 1305
-_mo 1304
-erü 1294
-én_ 1291
-_ig 1289
-iós 1287
-oz_ 1285
-ülö 1282
-uta 1281
-ámo 1279
-uró 1278
-oci 1277
-dol 1273
-omá 1273
-sol 1273
-gon 1268
-ejl 1265
-pes 1264
-yi_ 1264
-ako 1263
-_tu 1262
-sán 1257
-kés 1246
-ret 1245
-lön 1241
-ála 1238
-elk 1237
-uk_ 1237
-lát 1234
-zta 1233
-nfo 1232
-zoc 1228
-égi 1223
-izo 1220
-eny 1214
-zeg 1213
-pol 1210
-tts 1210
-ill 1208
-opo 1207
-_lé 1202
-sop 1202
-ia_ 1199
-zel 1199
-mok 1195
-te_ 1193
-éve 1191
-res 1189
-ssé 1189
-nsz 1188
-ást 1188
-érd 1180
-eme 1178
-emz 1166
-oló 1160
-seg 1159
-árs 1159
-zín 1157
-ess 1154
-gít 1154
-gal 1146
-lek 1145
-ken 1144
-zte 1136
-els 1133
-emé 1133
-ekt 1131
-_át 1129
-éko 1129
-ött 1128
-elj 1127
-lha 1122
-zab 1121
-gek 1120
-ágo 1119
-nds 1117
-inf 1116
-tte 1115
-mód 1113
-lcs 1112
-róp 1112
-ert 1111
-zen 1107
-est 1103
-zté 1103
-nik 1102
-zná 1101
-sz_ 1099
-dő_ 1098
-ki_ 1098
-_il 1097
-sor 1092
-tag 1089
-áló 1088
-dal 1086
-ntj 1086
-ord 1084
-_mé 1083
-rvé 1081
-lít 1078
-ona 1075
-ük_ 1075
-_jo 1074
-_s_ 1074
-ked 1074
-tsá 1071
-ne_ 1070
-nős 1067
-zto 1067
-inő 1065
-ván 1062
-egí 1058
-zük 1056
-_st 1054
-téz 1050
-kol 1049
-tál 1045
-vis 1044
-set 1042
-vég 1033
-_ok 1032
-li_ 1031
-lit 1031
-den 1028
-osí 1028
-ől_ 1028
-_új 1027
-ksé 1027
-ópa 1027
-eng 1026
-nag 1021
-nys 1016
-uni 1016
-_mó 1015
-ha_ 1014
-mác 1012
-and 1010
-kai 1010
-the 1007
-bel 1006
-ebb 1006
-dok 1005
-nya 1005
-ion 1003
-ügy 1003
-nos 1002
-hez 1001
-köv 1001
-lka 1001
-roz 999
-egé 997
-zhe 997
-jog 993
-jle 991
-ját 990
-_hi 988
-kér 988
-zi_ 988
-ján 985
-lgo 984
-vev 984
-ei_ 979
-ver 979
-nge 976
-égé 974
-mél 973
-egf 972
-mot 971
-iká 967
-émá 965
-_fi 964
-ri_ 964
-pcs 963
-_go 961
-_pé 961
-lel 961
-etk 960
-gla 960
-sak 954
-ogl 953
-zek 953
-zik 949
-ezd 948
-ana 946
-apc 946
-nti 946
-até 943
-yam 943
-ize 941
-bef 940
-rsa 934
-vő_ 934
-yak 933
-evő 932
-lef 928
-ran 927
-ysé 926
-izt 925
-sér 924
-ani 922
-ged 922
-toz 922
-pai 920
-kke 914
-kén 914
-lmi 911
-abb 909
-ról 906
-sal 906
-érv 906
-ft_ 905
-van 905
-be_ 904
-net 903
-_vo 902
-fiz 902
-get 902
-épe 902
-_né 901
-szö 901
-gyi 899
-egn 898
-ezh 896
-doz 893
-mai 893
-oli 892
-von 891
-_pa 890
-nto 889
-oss 889
-alo 887
-ősé 887
-üks 885
-tha 883
-tle 882
-ztv 882
-gok 881
-ori 881
-cím 880
-osz 880
-tám 879
-lő_ 876
-áza 876
-vek 873
-iku 871
-tör 871
-_ba 868
-kus 867
-apo 865
-old 865
-lét 864
-_év 860
-_pe 859
-rez 859
-lom 858
-rte 858
-rde 855
-par 854
-_cí 848
-tra 848
-elh 847
-bké 846
-_há 844
-dél 844
-iti 843
-yos 842
-evé 841
-rme 841
-me_ 840
-ig_ 839
-kis 839
-akk 836
-llá 832
-_k_ 831
-esí 831
-mze 831
-tét 831
-ént 831
-ági 830
-itá 829
-lad 828
-máj 823
-om_ 823
-kto 821
-tam 821
-bbk 820
-tke 819
-ers 818
-aná 817
-sko 817
-ult 817
-goz 815
-ést 814
-köd 812
-oza 809
-att 808
-dek 803
-ine 802
-nci 802
-zok 802
-ndő 801
-azd 800
-ács 800
-jár 799
-gne 797
-ech 796
-tém 796
-efi 795
-yet 795
-de_ 794
-bbi 793
-nny 793
-sát 793
-ozt 789
-öbb 789
-ősí 789
-ják 788
-olt 788
-zít 788
-las 786
-töb 786
-anu 784
-két 784
-_di 783
-asá 783
-igé 783
-mog 783
-eli 782
-ldá 782
-zmé 780
-gyo 779
-kbe 779
-um_ 779
-tem 778
-ája 778
-ka_ 777
-juk 776
-lmé 776
-elü 775
-_ku 772
-íne 771
-_ga 770
-_or 770
-_em 768
-gfe 768
-kba 768
-tec 767
-_n_ 766
-dom 765
-egk 762
-rla 762
-san 761
-sár 760
-_bu 757
-rmé 757
-ból 756
-ol_ 754
-orl 753
-sel 753
-véd 753
-ape 752
-ela 752
-ozz 752
-enc 751
-bál 748
-_la 747
-mér 747
-önb 747
-ann 745
-dőt 745
-nká 745
-teg 743
-íte 743
-uda 742
-új_ 742
-ves 739
-zle 739
-han 735
-dik 734
-_ór 733
-mek 733
-lje 732
-sad 732
-él_ 731
-_ci 730
-_él 729
-etl 728
-lja 728
-udo 728
-eum 726
-ölt 725
-_un 724
-óds 724
-_ft 722
-yer 721
-gés 720
-őta 720
-bek 718
-chn 718
-pia 718
-tak 718
-kom 717
-nél 717
-osa 717
-pít 716
-red 716
-str 715
-adá 714
-nna 713
-tta 713
-rtj 712
-tős 712
-lke 711
-jes 709
-_ja 708
-dőp 708
-olá 707
-lóg 706
-szó 705
-_ir 704
-kul 703
-zin 702
-ina 701
-rdí 700
-dig 699
-irá 698
-őpo 698
-yar 697
-lan 696
-agá 695
-iac 694
-ezt 692
-sét 692
-kka 689
-ped 689
-ulá 689
-nác 686
-nd_ 685
-íme 685
-_mú 684
-ljá 684
-ing 683
-zöt 682
-za_ 681
-eni 680
-ba_ 677
-füg 677
-kko 677
-zös 677
-mut 676
-óra 676
-llí 675
-aka 674
-ton 674
-ügg 674
-egh 673
-isk 672
-tív 672
-dó_ 669
-ódo 669
-akt 668
-ámá 668
-apj 667
-lál 667
-zda 667
-nat 666
-tán 666
-_lá 663
-cik 662
-_u_ 661
-ntá 661
-cs_ 659
-ikk 659
-_ut 658
-gia 658
-nap 658
-tók 658
-álá 658
-nal 657
-rto 657
-áto 657
-aki 656
-erz 655
-nul 655
-ul_ 655
-ago 654
-atj 652
-_m_ 651
-dap 651
-etv 651
-lté 651
-oko 651
-lto 650
-lós 649
-szk 649
-elõ 648
-bud 647
-gol 647
-_pi 646
-kra 646
-das 645
-ise 642
-rál 642
-éri 641
-edi 640
-vét 640
-ece 639
-zél 639
-azá 637
-son 637
-_ar 636
-abá 636
-gys 636
-gos 634
-any 633
-böz 633
-nbö 633
-zeu 633
-ava 632
-hal 632
-múz 631
-rat 630
-úze 630
-ein 628
-ang 626
-tre 626
-orr 625
-ssá 624
-ede 623
-_kí 622
-le_ 622
-bi_ 621
-éde 621
-lni 620
-_ön 619
-oro 619
-ósá 619
-tjá 616
-zül 615
-élc 615
-_mű 614
-_pá 613
-ng_ 612
-viz 612
-zér 609
-áva 609
-ite 608
-ara 607
-ztá 607
-egi 606
-va_ 605
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/is.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/is.ngp
deleted file mode 100644
index c46df58..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/is.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-um_ 9904
-og_ 9208
-_og 9172
-að_ 8930
-ar_ 8829
-_að 7647
-_í_ 6730
-ur_ 6670
-ir_ 6423
-ið_ 6069
-ing 6017
-_á_ 5368
-_er 5106
-inn 5098
-_vi 4520
-er_ 4359
-_se 4316
-ein 4206
-_ve 4163
-ver 4139
-_st 3850
-and 3655
-sem 3409
-_ei 3356
-ra_ 3330
-til 3319
-na_ 3289
-nar 3273
-_þe 3263
-em_ 3209
-_ti 3176
-við 3133
-_he 3115
-sta 3071
-nga 2999
-_me 2993
-ni_ 2881
-gar 2863
-ndi 2820
-in_ 2787
-nna 2752
-nin 2734
-nn_ 2721
-_a_ 2697
-_sk 2655
-ta_ 2651
-ri_ 2612
-il_ 2588
-st_ 2579
-_sa 2523
-nda 2498
-ða_ 2497
-ann 2480
-ði_ 2472
-num 2412
-_fy 2407
-_um 2403
-_fr 2352
-_ha 2327
-_þa 2283
-nni 2278
-sam 2253
-fyr 2230
-_r_ 2094
-un_ 2078
-rir 2054
-_n_ 2049
-ngu 2038
-und 2037
-yri 2029
-ns_ 2025
-erð 2024
-ður 2018
-ga_ 1987
-_va 1930
-lan 1926
-enn 1906
-með 1904
-_en 1887
-di_ 1887
-ins 1883
-leg 1868
-_s_ 1862
-la_ 1849
-efn 1837
-var 1832
-end 1828
-_i_ 1822
-_ge 1817
-ru_ 1796
-tar 1783
-men 1757
-_ne 1719
-nnu 1684
-sin 1682
-ki_ 1672
-_mi 1666
-lag 1652
-stu 1652
-ndu 1637
-ast 1623
-ja_ 1623
-vin 1623
-ari 1579
-eð_ 1555
-an_ 1548
-gin 1543
-_al 1536
-kja 1513
-arf 1493
-_af 1479
-_in 1478
-ti_ 1477
-_ma 1454
-ess 1450
-lei 1447
-ng_ 1438
-man 1432
-nu_ 1417
-rey 1417
-ðar 1416
-_re 1408
-tir 1406
-far 1404
-_hv 1383
-_un 1380
-ski 1372
-dur 1366
-all 1363
-ega 1360
-erk 1353
-inu 1349
-rei 1330
-eru 1322
-nd_ 1318
-ngi 1301
-_ef 1297
-_fa 1296
-_te 1292
-eng 1287
-ger 1287
-tt_ 1283
-tæk 1278
-ram 1277
-rið 1273
-fra 1269
-gu_ 1264
-_t_ 1257
-mál 1252
-eir 1243
-_fj 1236
-þes 1234
-ist 1221
-en_ 1220
-_sé 1217
-da_ 1215
-_ra 1213
-æði 1213
-_gr 1205
-þei 1201
-una 1200
-_no 1195
-gi_ 1191
-tu_ 1182
-ekk 1178
-ang 1172
-fni 1172
-_le 1166
-ræð 1165
-tur 1165
-haf 1150
-unn 1150
-fa_ 1149
-rði 1141
-slu 1137
-eik 1131
-ka_ 1131
-_l_ 1126
-mar 1121
-_e_ 1119
-hei 1114
-kki 1089
-kni 1088
-ust 1087
-rða 1082
-upp 1082
-hve 1081
-rin 1077
-eða 1076
-ynd 1069
-_up 1068
-eim 1065
-_u_ 1062
-_ár 1057
-_m_ 1040
-nem 1037
-sla 1036
-_la 1034
-ig_ 1030
-mið 1030
-óla 1028
-gum 1022
-for 1021
-ars 1008
-af_ 1003
-ara 1001
-eit 1000
-nað 1000
-skó 999
-tti 998
-tak 990
-_kr 989
-aða 985
-lin 983
-_þv 981
-_ko 979
-rna 979
-myn 977
-jál 964
-gre 958
-_má 953
-nir 952
-rst 951
-kól 950
-tin 942
-eið 940
-on_ 934
-ald 932
-ðin 930
-_ð_ 926
-_sv 922
-ví_ 920
-því 915
-fræ 912
-það 909
-_ná 903
-_g_ 902
-_at 897
-nám 895
-dan 893
-_eð 890
-aði 887
-fti 884
-veg 882
-rau 881
-_ek 879
-afn 878
-_sí 868
-tað 866
-_an 856
-kyn 852
-ina 843
-sto 843
-rðu 840
-sér 839
-_fo 838
-lað 832
-_fl 829
-_ís 828
-gur 828
-tta 828
-is_ 823
-dir 822
-fur 822
-átt 822
-hf_ 820
-lu_ 816
-not 816
-_sj 815
-éla 815
-nns 813
-ran 809
-ygg 809
-hef 807
-ðum 807
-_th 804
-ma_ 803
-þar 802
-_k_ 798
-bor 796
-gt_ 795
-ér_ 792
-jöl 790
-li_ 790
-ísl 788
-eme 785
-rá_ 785
-_ke 780
-fél 777
-frá 775
-fna 767
-þjó 767
-nan 766
-stö 766
-ss_ 765
-_li 764
-rð_ 764
-_be 762
-jar 761
-nds 761
-rsl 761
-_f_ 757
-lda 757
-nnt 757
-afa 756
-_lí 755
-_si 753
-lum 753
-álf 749
-lla 746
-jón 740
-ldi 738
-fjö 737
-nt_ 737
-run 737
-kil 733
-nig 733
-okk 731
-tun 731
-rni 729
-_ta 728
-kar 727
-kur 727
-gja 726
-_hl 722
-lut 721
-ers 720
-jór 720
-_þá 719
-ðir 719
-_br 718
-_út 716
-ðu_ 716
-rar 713
-the 713
-est 711
-rra 708
-kom 707
-rt_ 706
-stj 706
-_þj 705
-al_ 701
-ynn 701
-ita 698
-fer 697
-fi_ 695
-rfi 692
-ett 689
-gan 687
-fin 686
-eri 685
-ska 684
-era 683
-kip 679
-eft 675
-ild 673
-mi_ 671
-org 670
-rke 670
-_my 667
-mun 664
-lög 663
-fan 662
-nfa 661
-arn 658
-agn 657
-vei 654
-dar 653
-din 652
-efu 651
-ten 651
-ill 649
-egi 644
-set 642
-tra 642
-ste 640
-nun 639
-eyr 638
-sti 638
-ark 637
-tjó 636
-mis 633
-rtæ 633
-öld 632
-_ba 631
-ern 631
-_eh 626
-iði 626
-skr 626
-ehf 625
-gna 625
-ggi 623
-kun 623
-ótt 623
-_hj 622
-han 617
-ags 616
-ikn 616
-raf 616
-tla 616
-_of 614
-_tö 614
-_bo 612
-nsk 612
-töl 611
-eig 610
-anf 608
-tei 608
-ent 603
-vík 603
-net 602
-rum 602
-_áh 601
-ion 601
-orð 601
-ken 600
-yfi 599
-lar 598
-stæ 597
-tan 597
-rfs 595
-ngs 594
-her 593
-nið 592
-nst 591
-iti 589
-_au 588
-lau 588
-ld_ 588
-tum 587
-ráð 585
-he_ 582
-eyk 580
-lun 579
-fir 578
-lli 578
-sjá 577
-_tí 576
-irt 574
-_há 573
-ama 573
-kin 573
-hug 572
-erf 571
-arl 570
-hlu 570
-fær 568
-hjá 568
-ban 565
-jóð 565
-síð 563
-vir 563
-rit 561
-ind 557
-eld 556
-aví 555
-ldu 555
-lið 555
-töð 554
-vor 553
-fun 552
-iða 551
-nus 551
-iðs 550
-ækj 549
-lit 548
-gru 547
-ini 546
-ykj 545
-tal 544
-hal 543
-kef 543
-_ga 542
-eil 542
-str 542
-arð 541
-son 541
-irk 540
-jav 540
-_d_ 539
-dum 539
-ker 539
-rkj 539
-fja 537
-aðu 535
-_fe 534
-ter 533
-ík_ 532
-önn 527
-irr 525
-am_ 524
-min 523
-ota 522
-bro 520
-aus 515
-aga 514
-_tr 511
-lýs 510
-ðst 510
-ans 506
-mik 506
-get 502
-_þr 500
-saf 500
-fnu 499
-iki 498
-rot 497
-_lo 496
-iðu 495
-aka 494
-eyt 494
-_hú 492
-_vo 492
-kju 492
-vel 492
-len 491
-sle 490
-val 490
-_hæ 489
-þá_ 489
-nis 488
-rri 487
-ögu 487
-áms 486
-_hi 484
-ætt 484
-_fi 482
-arg 481
-aðr 481
-rla 480
-íða 479
-_úr 478
-ll_ 478
-hel 476
-_ky 473
-ttu 473
-ala 472
-art 472
-mil 472
-íma 471
-_ný 469
-ams 467
-lok 464
-hey 461
-_fé 460
-hús 460
-kum 459
-_ka 458
-ens 456
-ðra 456
-ölv 456
-sum 455
-amt 454
-si_ 454
-ske 454
-aut 453
-kku 453
-nas 453
-ýsi 453
-_lö 452
-at_ 452
-_hö 451
-já_ 451
-agi 450
-uðu 448
-ðan 448
-öðu 447
-_h_ 446
-auð 446
-ipt 446
-sku 446
-bre 443
-_ja 442
-sa_ 442
-unu 442
-lík 441
-_da 440
-ber 440
-im_ 440
-tof 439
-ðni 438
-int 437
-nte 437
-_áf 436
-ds_ 436
-ung 435
-æki 435
-itt 434
-_hu 432
-lis 432
-étt 432
-_fó 431
-_o_ 431
-tni 431
-fat 428
-lvu 427
-ljó 426
-ðal 426
-_v_ 424
-ule 424
-_tæ 423
-_pr 422
-kka 422
-tím 421
-rs_ 420
-ile 419
-kvæ 419
-of_ 419
-_yf 418
-aðs 417
-byg 417
-sso 417
-_b_ 416
-bra 416
-dag 414
-oru 414
-ali 413
-ku_ 413
-egn 412
-egu 410
-rsk 410
-tvi 410
-_su 409
-auk 409
-bók 409
-tek 409
-es_ 408
-kið 408
-ssu 408
-_ör 407
-_fu 406
-lt_ 406
-rne 406
-_by 404
-iss 404
-kri 404
-ónu 404
-ári 402
-ækn 402
-úr_ 402
-ðsl 401
-les 400
-líf 400
-nsl 400
-rif 400
-kra 398
-ssa 398
-_or 397
-rf_ 397
-órn 396
-ggj 395
-ssi 395
-ert 394
-þeg 393
-_ok 392
-rét 391
-tis 391
-gir 390
-kna 388
-hen 386
-llu 386
-tið 383
-asa 381
-atl 381
-mei 379
-tíð 379
-_kl 378
-jum 378
-ðun 378
-_ég 376
-ég_ 376
-fól 375
-öll 375
-ólk 374
-atv 371
-_co 370
-jal 370
-_j_ 369
-ism 369
-vef 369
-_mu 368
-áfa 367
-iðn 366
-búa 365
-nle 365
-yrn 363
-gð_ 361
-sig 361
-_sp 360
-ag_ 360
-lur 360
-tri 360
-rfa 359
-urð 359
-ær_ 359
-par 358
-hva 357
-rle 356
-rn_ 356
-svo 355
-bún 353
-nta 353
-it_ 352
-ryg 352
-ögð 351
-_ó_ 349
-akl 349
-alm 348
-ris 348
-els 347
-_hr 346
-fle 346
-ðis 346
-ft_ 345
-ála 345
-llt 343
-_fæ 340
-_þ_ 340
-gun 340
-tio 340
-ppl 339
-rka 339
-íðu 339
-dót 337
-áhe 337
-erj 336
-höf 335
-kli 335
-eti 334
-yrk 334
-ef_ 332
-hin 332
-lst 332
-sen 332
-ell 331
-_bæ 330
-_na 330
-etu 330
-el_ 329
-eta 328
-ed_ 326
-uta 326
-svi 325
-yti 325
-_rá 324
-afl 324
-kr_ 324
-tök 324
-ilk 323
-rga 323
-bar 321
-taf 320
-uð_ 320
-vo_ 320
-æri 320
-sve 319
-flu 318
-sjó 318
-jaf 317
-oma 317
-plý 316
-ál_ 316
-ókn 316
-sst 315
-vör 315
-pp_ 314
-anu 313
-sar 313
-óða 313
-_ið 312
-msk 312
-ort 312
-reg 312
-_sö 311
-lky 311
-ons 311
-ros 311
-tku 311
-las 310
-sín 310
-ull 310
-mur 309
-otk 309
-_þó 308
-_hé 306
-afi 306
-lfu 306
-_læ 305
-_sm 305
-amk 305
-ani 305
-gið 305
-ára 305
-íbú 305
-öry 305
-jár 304
-örn 304
-_íb 303
-igi 303
-imi 303
-_fá 302
-væm 302
-ati 300
-urs 300
-ðas 300
-_bi 299
-gs_ 299
-nur 299
-et_ 298
-etn 298
-ren 298
-rki 298
-sko 298
-kle 297
-úa_ 297
-ldr 296
-tas 296
-_bó 295
-_ým 295
-or_ 295
-gri 294
-kan 294
-álp 294
-gas 293
-mæl 292
-orm 292
-sók 292
-vað 292
-mt_ 291
-gni 290
-glu 289
-ls_ 289
-nef 289
-þet 289
-ley 288
-arv 287
-æða 287
-lme 286
-uga 286
-þjá 286
-ut_ 285
-úna 285
-ost 284
-sýn 284
-ðla 284
-dra 283
-gen 283
-ákv 283
-_mæ 282
-_öl 282
-krá 282
-fal 281
-kað 281
-au_ 280
-ift 280
-ona 280
-_hó 279
-eg_ 279
-ötu 279
-_sn 278
-egg 278
-ægt 278
-æðu 278
-gag 277
-tel 277
-þan 277
-aðg 275
-rg_ 275
-þau 275
-iga 274
-oða 274
-rek 274
-ðge 274
-þát 274
-rli 273
-gra 272
-ila 272
-áðu 272
-jas 271
-ðfe 271
-arh 270
-fel 270
-hön 270
-bei 269
-nor 269
-re_ 269
-su_ 269
-ár_ 269
-ún_ 269
-itu 268
-uni 268
-hér 267
-oss 267
-jör 265
-væð 265
-ætl 265
-ask 264
-jun 264
-uri 264
-amb 263
-ema 263
-iðl 263
-_gu 262
-dal 262
-pur 262
-smu 262
-stó 262
-ofn 260
-ot_ 260
-try 260
-vél 260
-afr 259
-gis 259
-_þæ 257
-fre 257
-pa_ 257
-rma 257
-ana 256
-hóp 256
-kis 256
-ndr 256
-rík 256
-ts_ 256
-fla 255
-mst 255
-sé_ 255
-tuð 255
-_is 254
-öru 254
-_nú 253
-_tv 253
-fst 253
-ika 253
-ili 253
-van 253
-íðn 253
-_de 252
-kos 252
-urn 252
-ám_ 252
-_ri 251
-_sl 251
-ful 251
-ors 251
-ðil 251
-ög_ 251
-_to 250
-egl 249
-eyn 249
-sky 249
-má_ 248
-oft 248
-rgu 248
-hri 247
-mkv 247
-öku 247
-bur 246
-fn_ 246
-fum 246
-gil 246
-aft 245
-kif 245
-ðið 245
-jan 244
-sdó 244
-sme 244
-lpa 243
-rgi 243
-tæð 243
-aun 242
-æmi 242
-_ás 241
-_ö_ 241
-avi 241
-_pa 240
-_öð 240
-pta 240
-fjá 238
-íka 238
-fyl 237
-hre 237
-hæg 237
-nal 237
-tve 237
-aml 236
-kal 236
-gul 235
-rað 235
-rk_ 235
-_væ 234
-tær 234
-_næ 231
-göt 231
-mót 231
-róf 231
-_ræ 230
-as_ 229
-egt 229
-öng 229
-_ho 228
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/it.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/it.ngp
deleted file mode 100644
index c17e27f..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/it.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-to_ 75545
-_di 71801
-_co 69441
-_de 69420
-ion 65997
-re_ 61205
-ne_ 59892
-la_ 58690
-ent 56018
-di_ 55565
-one 50667
-_in 50615
-le_ 48644
-del 44222
-zio 42592
-che 41776
-ell 41403
-he_ 41009
-_pr 40198
-ti_ 40157
-te_ 39046
-con 38401
-_ch 36586
-men 35513
-nte 35359
-no_ 34461
-_un 34023
-_la 32971
-_e_ 32966
-per 32168
-_pe 30225
-azi 29233
-lla 28803
-_qu 28795
-_al 28585
-are 26622
-ta_ 26401
-li_ 26117
-in_ 25316
-_ri 25268
-_si 24870
-com 24561
-_no 23220
-nto 23173
-_il 22688
-il_ 22487
-pro 22263
-ni_ 22123
-on_ 21511
-sta 21407
-er_ 21129
-io_ 21113
-est 21043
-si_ 20926
-ame 20419
-ere 20411
-pre 20275
-ato 20092
-ssi 20073
-_pa 19646
-_po 19609
-_so 19277
-el_ 19187
-ono 19085
-ess 18759
-all 18645
-_ne 18598
-ett 18428
-ia_ 18278
-ati 18029
-que 17941
-_a_ 17921
-ro_ 17878
-ll_ 17740
-ter 17687
-_se 17583
-gli 17425
-res 17381
-_re 16700
-rop 16632
-tat 16350
-un_ 16325
-ra_ 16189
-mo_ 16135
-tti 16134
-_da 16074
-nti 16049
-tra 15995
-ale 15977
-_st 15870
-ri_ 15863
-att 15813
-tto 15623
-ica 15621
-ost 15621
-lle 15578
-na_ 15453
-par 15395
-_su 15319
-_l_ 15307
-ei_ 14940
-ali 14864
-non 14823
-_le 14629
-sio 14621
-do_ 14374
-ant 14130
-oni 14051
-_es 14023
-_è_ 13824
-tà_ 13644
-ari 13494
-ues 13356
-pos 12935
-str 12738
-lo_ 12580
-_ma 12485
-so_ 12466
-iam 12421
-sti 12321
-esi 12224
-tiv 12178
-se_ 12143
-ont 11693
-uro 11613
-tta 11450
-una 11383
-enz 11379
-nel 11367
-tic 11356
-_an 11345
-_i_ 11290
-ma_ 11274
-za_ 11255
-nta 11191
-rat 11122
-uni 11097
-eri 11095
-_mo 11084
-ico 11075
-_me 10854
-qua 10852
-ist 10840
-mis 10811
-ten 10727
-nor 10687
-ca_ 10641
-eur 10545
-iss 10490
-col 10446
-ore 10443
-_eu 10415
-mmi 10402
-ver 10359
-ità 10328
-ste 10250
-int 10197
-_mi 10182
-amo 10081
-sto 10068
-omm 10058
-rit 10043
-_tr 9969
-al_ 9745
-ide 9732
-anc 9652
-lit 9564
-ope 9534
-vol 9532
-tan 9493
-utt 9489
-bil 9455
-tar 9412
-da_ 9397
-tro 9387
-era 9354
-nza 9246
-_ci 9155
-ori 9088
-ire 9062
-_fa 9045
-cor 9036
-olt 9023
-dei 8945
-ons 8906
-ris 8902
-sen 8831
-oli 8814
-_ca 8777
-ran 8748
-chi 8704
-tor 8691
-ese 8677
-me_ 8656
-end 8651
-ric 8605
-sse 8407
-iti 8371
-ndo 8367
-tut 8301
-den 8290
-ora 8279
-ser 8244
-ito 8193
-son 8175
-sig 8170
-ond 8127
-der 8099
-ili 8076
-rio 8046
-_do 8004
-ann 7982
-ssa 7934
-ort 7920
-_te 7909
-ina 7871
-por 7846
-gra 7838
-ita 7826
-ntr 7822
-pri 7762
-izi 7696
-sid 7674
-and 7657
-tal 7657
-_tu 7654
-ano 7599
-_ha 7588
-ata 7581
-ci_ 7579
-nzi 7541
-_pi 7423
-art 7418
-_im 7395
-ndi 7333
-ome 7328
-sso 7247
-sul 7163
-zia 7136
-gio 7125
-ini 7122
-fic 7087
-spe 7067
-erc 7060
-oss 7023
-rev 6990
-dir 6989
-for 6966
-dal 6903
-mi_ 6885
-co_ 6875
-_vo 6871
-ual 6851
-app 6828
-va_ 6789
-evo 6782
-po_ 6776
-ura 6729
-dis 6706
-ona 6693
-anz 6668
-ass 6642
-_fo 6634
-ggi 6630
-imp 6597
-sar 6565
-_vi 6543
-nsi 6524
-ela 6514
-gno 6498
-nch 6490
-tri 6480
-sia 6448
-ene 6423
-sa_ 6410
-nal 6397
-ate 6330
-ria 6323
-iar 6298
-iva 6298
-fin 6284
-rta 6282
-opo 6273
-nda 6268
-cia 6253
-_ve 6250
-tre 6242
-rre 6209
-acc 6203
-_gi 6193
-itt 6191
-_ad 6176
-ien 6172
-nno 6115
-ola 6115
-tte 6106
-olo 6098
-arl 6081
-zza 6078
-sol 6039
-ici 6015
-ich 5947
-isc 5946
-_ta 5888
-ppo 5876
-_li 5848
-ven 5844
-_lo 5801
-_ra 5780
-ive 5757
-ole 5742
-ltr 5723
-pol 5719
-tur 5705
-vor 5701
-lam 5695
-mpo 5692
-raz 5652
-llo 5636
-man 5626
-_fi 5593
-alt 5590
-ine 5573
-ero 5566
-ime 5554
-rla 5544
-min 5543
-ott 5517
-ve_ 5500
-orm 5499
-_pu 5491
-ea_ 5467
-_at 5444
-lio 5443
-mer 5437
-rel 5413
-cos 5401
-nde 5376
-_sa 5369
-_gr 5358
-rti 5355
-nos 5292
-rim 5292
-ign 5279
-ani 5248
-ren 5234
-_as 5209
-orr 5190
-tit 5148
-ior 5147
-ial 5142
-_gl 5140
-_ac 5138
-rma 5111
-nio 5110
-_ap 5097
-ha_ 5085
-ers 5083
-isp 5066
-ebb 5047
-ern 5032
-_av 5021
-ile 5020
-laz 4961
-bia 4922
-cco 4903
-omp 4891
-iù_ 4881
-più 4873
-uzi 4858
-ce_ 4851
-spo 4851
-vo_ 4849
-inc 4842
-ces 4825
-_am 4795
-ui_ 4785
-pet 4776
-cat 4716
-ivi 4693
-uto 4690
-occ 4682
-tem 4669
-ove 4653
-nit 4643
-ara 4617
-izz 4572
-fer 4544
-ert 4539
-lat 4536
-_sp 4524
-eci 4508
-ret 4505
-ull 4489
-onc 4483
-uan 4468
-bbi 4464
-_or 4455
-_on 4454
-rà_ 4453
-reg 4451
-abi 4447
-ifi 4420
-oro 4415
-eme 4414
-oll 4383
-mat 4382
-car 4368
-egl 4365
-vi_ 4359
-ind 4351
-nci 4339
-ttu 4328
-ral 4317
-omu 4310
-igl 4303
-ner 4294
-itu 4289
-bbe 4279
-de_ 4259
-leg 4259
-agg 4256
-emp 4243
-eco 4236
-rte 4226
-ie_ 4209
-ord 4208
-ece 4201
-giu 4158
-_cr 4157
-sit 4138
-avo 4132
-reb 4093
-cen 4080
-emb 4066
-_va 4062
-or_ 4045
-osi 4030
-ai_ 4028
-mun 4020
-_cu 4018
-pea 4005
-iat 4001
-nat 3990
-ima 3958
-ede 3920
-ibi 3918
-_sc 3902
-egi 3897
-upp 3876
-rie 3875
-_ai 3862
-amb 3862
-cit 3852
-ivo 3813
-dic 3805
-rog 3804
-erm 3803
-tua 3795
-rar 3792
-lar 3772
-lor 3770
-ché 3767
-hé_ 3767
-iso 3767
-mod 3766
-deg 3757
-odo 3749
-ens 3745
-mbi 3732
-ue_ 3711
-_nu 3702
-lta 3698
-erv 3682
-lic 3680
-aff 3678
-nco 3627
-sem 3625
-rov 3624
-ino 3619
-cre 3618
-ian 3616
-sis 3588
-cer 3583
-mbr 3579
-iri 3567
-qui 3543
-aes 3531
-imi 3527
-_au 3518
-go_ 3494
-pae 3493
-eve 3469
-gen 3464
-tes 3449
-ult 3443
-pon 3433
-rin 3421
-_ab 3414
-_sv 3406
-tam 3393
-hia 3375
-ema 3368
-err 3365
-_ba 3362
-omi 3347
-ram 3329
-_af 3319
-fat 3313
-alc 3302
-iet 3302
-dam 3294
-nom 3280
-rso 3275
-ffi 3255
-via 3254
-_ec 3253
-imo 3250
-be_ 3241
-gua 3241
-esp 3224
-rsi 3221
-uti 3218
-fon 3212
-ure 3208
-ppr 3205
-ite 3186
-dov 3182
-ad_ 3171
-oci 3168
-cui 3165
-_fr 3164
-isi 3161
-nan 3151
-soc 3130
-uta 3126
-rif 3116
-mol 3115
-_ag 3111
-rea 3096
-ard 3088
-mpi 3086
-seg 3085
-ova 3083
-inf 3072
-pen 3064
-pot 3062
-_ce 3059
-abb 3055
-edi 3053
-din 3036
-des 3029
-opr 3028
-vis 3024
-ron 3012
-roc 2961
-sco 2943
-dev 2938
-cio 2937
-uar 2937
-naz 2935
-tim 2935
-rem 2911
-bri 2897
-dia 2893
-ice 2875
-uel 2866
-far 2861
-lto 2857
-sci 2854
-_oc 2851
-hi_ 2849
-niz 2839
-lia 2815
-_na 2814
-ngo 2808
-ber 2806
-ezz 2805
-egu 2804
-_og 2796
-div 2795
-lme 2792
-unt 2792
-pli 2786
-liz 2774
-cce 2773
-ume 2765
-lem 2754
-_ar 2748
-_ge 2747
-mpr 2743
-ors 2741
-rno 2740
-lav 2739
-rca 2734
-mem 2732
-bie 2699
-can 2695
-ras 2686
-uov 2685
-ffe 2684
-nse 2682
-rig 2675
-vit 2664
-eo_ 2663
-rod 2658
-cun 2656
-ote 2648
-taz 2639
-amm 2634
-rda 2631
-lan 2619
-tin 2611
-eno 2610
-_du 2600
-dif 2595
-hie 2590
-van 2590
-cip 2589
-rdi 2586
-ing 2583
-lti 2581
-rch 2580
-ele 2575
-ust 2572
-sce 2554
-tio 2547
-eng 2545
-_el 2543
-ave 2542
-emo 2542
-rec 2540
-oi_ 2537
-egn 2536
-rme 2528
-tru 2527
-oce 2526
-dat 2525
-sib 2521
-rap 2519
-mpe 2518
-nic 2512
-_o_ 2511
-_em 2503
-nce 2503
-vil 2488
-ble 2476
-_op 2475
-ego 2470
-iut 2465
-inv 2460
-rmi 2457
-ogg 2453
-adi 2449
-_bi 2427
-nar 2390
-pa_ 2388
-sca 2388
-evi 2385
-ete 2380
-lcu 2379
-fro 2354
-nuo 2340
-alm 2337
-ger 2327
-_be 2316
-rag 2309
-cam 2306
-rci 2296
-rob 2295
-sos 2294
-orn 2286
-olu 2284
-cur 2281
-cis 2277
-ier 2276
-dot 2273
-sim 2265
-sic 2260
-onf 2257
-ced 2251
-opp 2250
-eni 2244
-mon 2244
-lin 2241
-peo 2238
-asp 2232
-gia 2230
-nve 2229
-ze_ 2229
-scu 2212
-_fu 2208
-han 2206
-nec 2204
-zi_ 2203
-ccu 2196
-esc 2192
-ogr 2189
-val 2182
-dur 2178
-_is 2174
-dar 2173
-fra 2172
-cas 2171
-ota 2170
-rei 2169
-ua_ 2164
-rad 2163
-emi 2161
-teg 2150
-lim 2145
-nsa 2144
-mpl 2143
-dec 2135
-set 2120
-agl 2115
-lib 2105
-mar 2102
-opa 2102
-cup 2101
-isu 2097
-svi 2097
-ega 2094
-ovr 2092
-esa 2088
-paz 2087
-_lu 2084
-nis 2082
-obl 2065
-asi 2064
-rna 2061
-rez 2060
-cri 2059
-iò_ 2057
-pia 2056
-ciò 2054
-uss 2045
-cie 2040
-rdo 2032
-ilu 2028
-gol 2026
-su_ 2022
-ade 2015
-igu 2015
-_ed 2013
-nze 2006
-mag 2002
-lup 2001
-gni 1999
-sec 1999
-icu 1987
-rib 1980
-obi 1973
-eva 1972
-vat 1969
-avi 1968
-met 1968
-pun 1967
-rto 1966
-vre 1962
-_d_ 1958
-pio 1957
-riv 1955
-ros 1945
-uno 1943
-bas 1937
-rol 1932
-upa 1932
-ed_ 1930
-nut 1929
-ben 1927
-obb 1924
-_en 1915
-nei 1914
-siz 1913
-_ob 1909
-det 1908
-iun 1897
-eff 1890
-zaz 1880
-bli 1877
-mic 1870
-rse 1868
-atu 1865
-gan 1863
-gar 1861
-ogn 1856
-mit 1855
-ado 1852
-_ef 1847
-ute 1846
-avv 1842
-gna 1834
-enu 1832
-ana 1821
-bit 1816
-mes 1815
-red 1815
-bbl 1813
-nqu 1811
-let 1807
-var 1799
-une 1797
-tir 1794
-nni 1789
-uma 1789
-dim 1786
-ius 1783
-mig 1779
-ubb 1778
-ila 1776
-uin 1771
-ga_ 1769
-pes 1769
-amp 1768
-gi_ 1765
-get 1746
-ul_ 1744
-san 1739
-ins 1733
-lte 1724
-caz 1718
-ena 1715
-sì_ 1714
-odi 1705
-don 1697
-ied 1697
-rid 1687
-ife 1677
-diz 1676
-aus 1671
-ida 1663
-uri 1663
-ved 1657
-uaz 1653
-lut 1651
-sua 1651
-cus 1647
-vel 1635
-ezi 1628
-suo 1628
-rup 1626
-già 1609
-ià_ 1609
-ast 1606
-edo 1606
-luz 1606
-eal 1604
-aut 1603
-mme 1600
-ung 1600
-gru 1597
-vot 1596
-erà 1592
-rni 1586
-mil 1581
-idi 1576
-oma 1565
-nol 1562
-_ev 1561
-dit 1558
-_ga 1546
-log 1544
-agi 1535
-eta 1534
-maz 1534
-neg 1530
-può 1529
-uò_ 1529
-ecc 1527
-clu 1526
-cci 1519
-tab 1519
-ibe 1516
-lus 1514
-ibu 1511
-pi_ 1510
-rve 1510
-sot 1510
-vvi 1509
-gue 1499
-ogl 1497
-sat 1497
-pra 1491
-eti 1489
-tav 1489
-osc 1488
-_ul 1487
-ane 1485
-ace 1484
-lis 1473
-otr 1472
-rut 1471
-dan 1470
-zat 1469
-gov 1468
-_go 1458
-ars 1449
-asc 1448
-dob 1448
-ghi 1448
-tad 1437
-sch 1435
-mio 1426
-osa 1425
-tec 1421
-mma 1419
-ovi 1418
-rne 1418
-spi 1418
-alu 1416
-nso 1416
-sab 1414
-noi 1413
-iff 1411
-ava 1407
-ttr 1398
-arm 1394
-gui 1394
-nia 1394
-_ho 1391
-nam 1390
-usi 1390
-ho_ 1386
-pub 1383
-nfo 1382
-cca 1375
-fav 1372
-lli 1372
-vid 1372
-raf 1371
-uir 1369
-org 1366
-uo_ 1365
-mia 1360
-cal 1358
-gge 1355
-_os 1354
-cap 1354
-efi 1353
-pie 1351
-rro 1349
-rga 1348
-vve 1347
-med 1346
-oti 1345
-lie 1344
-api 1338
-liv 1337
-età 1336
-rvi 1330
-tuz 1330
-rav 1328
-odu 1327
-spa 1327
-idu 1322
-sor 1322
-aro 1320
-ase 1320
-nga 1319
-ovo 1318
-inu 1315
-uit 1313
-erg 1305
-edu 1303
-fet 1300
-pur 1299
-_er 1296
-orz 1296
-ism 1295
-til 1295
-alo 1292
-rom 1287
-_az 1280
-agr 1279
-nge 1279
-ngr 1278
-uis 1278
-_ru 1277
-aci 1270
-sin 1268
-onv 1266
-ssu 1264
-pas 1260
-pec 1256
-sur 1251
-_fe 1248
-nir 1248
-nsu 1241
-tol 1240
-pit 1238
-tia 1234
-gon 1232
-due 1231
-nea 1231
-ddi 1230
-vam 1229
-aiu 1220
-ipa 1218
-ipi 1217
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/lt.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/lt.ngp
deleted file mode 100644
index ea076e4..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/lt.ngp
+++ /dev/null
@@ -1,1209 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-"ini" 159130
-"s_p" 136654
-"ijo" 122792
-"usi" 109788
-"jos" 107645
-"ien" 102237
-"iau" 101203
-"tin" 98655
-"ali" 97119
-"aus" 96445
-"s_s" 90636
-"o_p" 82919
-"pas" 76537
-"iet" 75896
-"uvo" 73539
-"ink" 72204
-"kai" 70264
-"met" 69573
-"oje" 69524
-"s_i" 69391
-"sta" 69212
-"s_a" 68807
-"etu" 68576
-"lie" 67524
-"tai" 67366
-"s_k" 67201
-"iai" 65565
-"pri" 64365
-"cij" 63754
-"pra" 62815
-"ent" 62543
-"tas" 61206
-"uri" 60404
-"die" 60339
-"s_v" 59941
-"s_t" 59421
-"ant" 59244
-"kur" 58824
-"ist" 58773
-"ais" 58720
-"par" 57557
-"tar" 56888
-"i_p" 56639
-"min" 55905
-"mas" 55042
-"lai" 53592
-"adi" 53477
-"nin" 53428
-"imo" 53282
-"eri" 52816
-"gal" 52650
-"rin" 52324
-"ius" 51954
-"vie" 51668
-"ina" 51595
-"tuv" 51364
-"s_d" 51340
-"inė" 50967
-"s_n" 50915
-"o_s" 50529
-"per" 50345
-"asi" 50040
-"čia" 49622
-"sti" 49324
-"ria" 48966
-"s_b" 48614
-"tik" 48489
-"ų_p" 47566
-"tei" 47284
-"s_m" 46994
-"pro" 46728
-"ija" 46622
-"int" 46240
-"lin" 46223
-"oli" 45286
-"aug" 45194
-"nės" 45165
-"iki" 45097
-"val" 44965
-"kad" 44762
-"rei" 44727
-"eik" 44595
-"ran" 43262
-"ios" 42986
-"art" 42983
-"iam" 42904
-"ama" 42389
-"dar" 41920
-"tra" 41800
-"ari" 41088
-"kar" 40704
-"buv" 40452
-"išk" 40340
-"i_s" 39698
-"nių" 39538
-"toj" 39340
-"o_k" 39240
-"uot" 39079
-"avo" 38925
-"sto" 38437
-"aik" 38434
-"sak" 38392
-"pat" 38170
-"oja" 38106
-"nti" 38046
-"and" 37960
-"nuo" 37925
-"o_a" 37528
-"vai" 37109
-"s_r" 37027
-"rie" 36575
-"ima" 36250
-"dži" 36150
-"ino" 35879
-"kom" 35652
-"enį" 35646
-"ies" 35440
-"aip" 35412
-"o_t" 35270
-"uos" 35175
-"vos" 35022
-"eli" 35016
-"sav" 34879
-"ame" 34802
-"nas" 34747
-"men" 34734
-"est" 34700
-"s_g" 34575
-"kas" 34537
-"end" 34503
-"ų_s" 34397
-"ras" 34268
-"nis" 34174
-"kal" 34092
-"ori" 34018
-"pre" 33908
-"avi" 33907
-"rti" 33845
-"lio" 33617
-"nes" 33416
-"ėjo" 33094
-"ren" 33046
-"o_v" 33041
-"o_m" 33007
-"tur" 32939
-"s_l" 32885
-"ika" 32882
-"ter" 32591
-"aut" 32530
-"nio" 32467
-"mon" 32251
-"sia" 31903
-"ris" 31726
-"lia" 31598
-"eis" 31331
-"ų_k" 31214
-"sio" 31193
-"var" 30935
-"pir" 30876
-"nia" 30796
-"ose" 30724
-"aci" 30646
-"etų" 30333
-"eni" 30096
-"eig" 29982
-"iti" 29963
-"rad" 29834
-"ats" 29741
-"ing" 29643
-"nka" 29366
-"kon" 29259
-"mis" 29240
-"aud" 29189
-"eči" 29187
-"omi" 29121
-"tos" 28908
-"o_i" 28902
-"a_p" 28666
-"nta" 28206
-"e_p" 28094
-"irt" 28062
-"iko" 28035
-"i_i" 28032
-"kla" 28004
-"are" 27968
-"din" 27854
-"ili" 27784
-"i_n" 27745
-"tis" 27740
-"lau" 27597
-"tat" 27590
-"kin" 27293
-"nau" 27284
-"asa" 27223
-"o_d" 27142
-"o_n" 27018
-"kel" 26795
-"vis" 26752
-"ati" 26751
-"irm" 26533
-"jam" 26466
-"auj" 26466
-"ų_m" 26457
-"oma" 26174
-"o_r" 26138
-"s_į" 26036
-"gia" 26032
-"oni" 25744
-"vir" 25725
-"tor" 25626
-"riu" 25603
-"nči" 25544
-"sus" 25479
-"i_k" 25472
-"oti" 25423
-"vyk" 25288
-"iek" 25282
-"gin" 25205
-"ala" 25159
-"ntr" 25023
-"i_a" 25011
-"sij" 24954
-"i_t" 24940
-"ici" 24880
-"kos" 24822
-"enk" 24585
-"čių" 24491
-"sau" 24328
-"eti" 24311
-"raš" 24191
-"joj" 24153
-"ane" 24141
-"žia" 24121
-"sie" 24115
-"ams" 24113
-"ben" 24113
-"auk" 24112
-"ita" 24110
-"isi" 24026
-"dau" 24009
-"pie" 23921
-"str" 23827
-"i_b" 23715
-"lan" 23667
-"imu" 23615
-"ų_a" 23535
-"tvi" 23473
-"ide" 23466
-"ndr" 23419
-"ato" 23399
-"dėl" 23394
-"api" 23356
-"rij" 23263
-"nto" 23215
-"yra" 23185
-"ova" 23113
-"čio" 23058
-"ste" 22985
-"man" 22817
-"lit" 22796
-"iuo" 22568
-"ani" 22553
-"aty" 22469
-"den" 22448
-"ket" 22424
-"kia" 22396
-"ojo" 22359
-"į_p" 22318
-"anč" 22302
-"nim" 22280
-"šal" 22185
-"ank" 22164
-"ena" 22156
-"ų_i" 22156
-"nus" 22144
-"jus" 22125
-"ona" 22054
-"yti" 22020
-"ami" 22001
-"arb" 21994
-"sis" 21922
-"rio" 21744
-"mok" 21682
-"did" 21672
-"ybė" 21613
-"ver" 21543
-"ska" 21465
-"rau" 21450
-"ekt" 21440
-"e_s" 21419
-"imą" 21261
-"tus" 21109
-"vil" 21091
-"ven" 21066
-"žin" 21062
-"ara" 21052
-"rus" 21051
-"nij" 21022
-"nam" 21022
-"kti" 20974
-"ado" 20929
-"eta" 20911
-"tuo" 20890
-"rta" 20873
-"s_š" 20708
-"ion" 20705
-"lių" 20689
-"vei" 20533
-"lis" 20474
-"rių" 20379
-"ast" 20374
-"nai" 20365
-"čiu" 20363
-"tie" 20293
-"mos" 20283
-"bus" 20273
-"s_j" 20268
-"r_p" 20206
-"eng" 20174
-"i_v" 20169
-"o_b" 20158
-"gos" 20137
-"ele" 20087
-"ieš" 20063
-"ą_p" 20059
-"jau" 20027
-"uti" 20025
-"era" 19968
-"lik" 19958
-"tij" 19908
-"ung" 19882
-"vad" 19855
-"eto" 19718
-"ų_t" 19633
-"liu" 19624
-"i_d" 19601
-"oki" 19582
-"ngt" 19529
-"mai" 19489
-"neš" 19415
-"yri" 19405
-"rit" 19243
-"yje" 19202
-"kim" 19120
-"osi" 19078
-"nki" 19069
-"pol" 19036
-"rim" 19028
-"alt" 19022
-"als" 19011
-"eno" 18995
-"rma" 18938
-"dal" 18885
-"tad" 18884
-"ndi" 18860
-"ų_v" 18848
-"bos" 18781
-"o_l" 18727
-"niu" 18697
-"ači" 18695
-"oto" 18673
-"net" 18634
-"jai" 18624
-"ait" 18614
-"sit" 18587
-"kus" 18537
-"vim" 18536
-"ald" 18495
-"rez" 18473
-"a_s" 18465
-"ata" 18455
-"amo" 18413
-"ava" 18311
-"aly" 18250
-"ana" 18208
-"tre" 18204
-"uli" 18184
-"rov" 18140
-"atv" 18079
-"uoj" 18032
-"ano" 17974
-"nos" 17947
-"imi" 17884
-"ada" 17864
-"tel" 17860
-"o_g" 17819
-"uro" 17810
-"ard" 17719
-"pal" 17667
-"tan" 17658
-"itų" 17649
-"gyv" 17619
-"ome" 17569
-"pag" 17541
-"dam" 17540
-"vyr" 17522
-"ask" 17461
-"tro" 17412
-"kst" 17335
-"akė" 17298
-"bei" 17263
-"spa" 17211
-"kra" 17183
-"ros" 17135
-"rod" 17133
-"uto" 17098
-"ias" 17082
-"maž" 17076
-"omo" 17037
-"vas" 17028
-"iči" 17022
-"nal" 17009
-"esi" 16800
-"dos" 16758
-"duo" 16757
-"jas" 16752
-"lei" 16688
-"ate" 16619
-"roc" 16602
-"iem" 16589
-"tam" 16562
-"ybo" 16532
-"u_p" 16409
-"iją" 16383
-"ers" 16264
-"e_t" 16234
-"ono" 16134
-"ų_b" 16110
-"lst" 16086
-"ų_n" 16065
-"kta" 16061
-"jim" 16039
-"tom" 16004
-"mus" 15977
-"kci" 15963
-"ų_d" 15960
-"sty" 15882
-"ų_g" 15857
-"pos" 15821
-"rek" 15812
-"aid" 15739
-"bal" 15684
-"dra" 15594
-"i_į" 15593
-"mie" 15582
-"ary" 15559
-"a_i" 15555
-"rai" 15550
-"rat" 15545
-"ijų" 15534
-"kie" 15508
-"ian" 15508
-"ioj" 15482
-"dro" 15466
-"bės" 15465
-"iln" 15425
-"nkt" 15412
-"ral" 15410
-"ert" 15393
-"tyb" 15390
-"o_į" 15324
-"ėje" 15293
-"žmo" 15281
-"igi" 15265
-"aba" 15257
-"lni" 15239
-"bai" 15239
-"ą_s" 15144
-"ė_p" 15124
-"ų_r" 15008
-"alė" 14978
-"uom" 14974
-"der" 14955
-"ovė" 14936
-"aka" 14870
-"ugi" 14862
-"dov" 14824
-"ruo" 14818
-"aro" 14818
-"s_e" 14673
-"ikt" 14650
-"arp" 14646
-"ain" 14644
-"s_ž" 14641
-"pen" 14640
-"ški" 14593
-"san" 14569
-"cia" 14546
-"sir" 14505
-"lti" 14465
-"dai" 14456
-"a_n" 14448
-"kit" 14440
-"aži" 14437
-"gra" 14319
-"ime" 14286
-"kam" 14253
-"tri" 14251
-"e_v" 14250
-"eši" 14202
-"imt" 14193
-"dim" 14179
-"r_k" 14168
-"ą_i" 14135
-"spr" 14131
-"ito" 14124
-"pan" 14115
-"aul" 14114
-"yve" 14095
-"pav" 14071
-"ner" 14051
-"eur" 13954
-"tau" 13937
-"žio" 13930
-"ų_l" 13916
-"rto" 13877
-"ust" 13854
-"pak" 13852
-"pad" 13829
-"eki" 13779
-"šia" 13774
-"aig" 13762
-"kau" 13753
-"nep" 13732
-"kri" 13644
-"ski" 13633
-"sių" 13605
-"ost" 13600
-"lim" 13597
-"ėju" 13587
-"aun" 13583
-"ban" 13544
-"i_g" 13517
-"tov" 13513
-"nko" 13466
-"ira" 13449
-"ėja" 13447
-"len" 13440
-"yta" 13425
-"nar" 13424
-"nie" 13401
-"ėti" 13316
-"dėj" 13293
-"nor" 13275
-"siu" 13253
-"e_b" 13248
-"a_a" 13246
-"lic" 13246
-"tim" 13243
-"jav" 13213
-"ale" 13208
-"uja" 13190
-"sin" 13189
-"ram" 13151
-"kre" 13121
-"ezi" 13114
-"uma" 13099
-"eks" 13075
-"tač" 13002
-"a_t" 12982
-"voj" 12981
-"ial" 12980
-"urė" 12968
-"uol" 12911
-"ieč" 12891
-"ida" 12884
-"kan" 12866
-"i_l" 12853
-"jog" 12839
-"das" 12838
-"bil" 12835
-"į_s" 12830
-"kto" 12829
-"nei" 12813
-"rik" 12801
-"būt" 12789
-"por" 12770
-"i_m" 12759
-"aim" 12632
-"ang" 12611
-"rga" 12591
-"jis" 12591
-"šio" 12576
-"ngi" 12558
-"imų" 12541
-"ota" 12524
-"eim" 12513
-"zid" 12504
-"s_u" 12449
-"dir" 12442
-"e_i" 12415
-"šim" 12412
-"iva" 12405
-"ine" 12393
-"ikė" 12320
-"i_r" 12308
-"r_s" 12298
-"ort" 12293
-"eko" 12282
-"jun" 12256
-"ovo" 12171
-"onė" 12170
-"bin" 12164
-"lės" 12157
-"jan" 12151
-"cen" 12147
-"epa" 12142
-"gim" 12127
-"u_s" 12107
-"ind" 12092
-"ite" 12003
-"e_a" 12002
-"a_k" 11998
-"pla" 11983
-"mer" 11978
-"uta" 11950
-"nga" 11945
-"idž" 11939
-"tru" 11932
-"u_k" 11907
-"pau" 11865
-"e_n" 11864
-"ngo" 11838
-"i_j" 11823
-"e_k" 11812
-"eid" 11810
-"for" 11809
-"akc" 11799
-"kir" 11796
-"nat" 11777
-"nda" 11692
-"reč" 11641
-"aps" 11640
-"p_p" 11639
-"gai" 11634
-"paž" 11629
-"sut" 11625
-"emo" 11619
-"ryt" 11614
-"rna" 11610
-"one" 11601
-"opo" 11589
-"tyn" 11551
-"ešė" 11544
-"ern" 11540
-"ene" 11540
-"nan" 11536
-"akt" 11533
-"kio" 11529
-"mat" 11527
-"mad" 11519
-"gru" 11477
-"isa" 11403
-"kov" 11353
-"gan" 11309
-"dav" 11291
-"udo" 11290
-"tūr" 11243
-"oji" 11237
-"tst" 11236
-"tok" 11229
-"a_d" 11220
-"adė" 11220
-"nte" 11201
-"ikr" 11196
-"cin" 11174
-"iri" 11157
-"erg" 11122
-"aga" 11120
-"las" 11109
-"etv" 11089
-"šin" 11066
-"ikl" 11053
-"obi" 11044
-"gti" 11041
-"tal" 11032
-"spe" 11027
-"u_n" 11020
-"ųjų" 11019
-"rop" 10969
-"vin" 10960
-"kol" 10877
-"r_t" 10860
-"nom" 10852
-"uda" 10836
-"eną" 10829
-"ans" 10822
-"ger" 10812
-"lta" 10812
-"i_š" 10779
-"nci" 10778
-"mln" 10764
-"olo" 10754
-"lyg" 10730
-"lij" 10719
-"gen" 10718
-"ūks" 10695
-"jon" 10669
-"vės" 10657
-"r_v" 10651
-"dyt" 10638
-"ybi" 10624
-"itu" 10607
-"evi" 10584
-"sek" 10570
-"s_f" 10547
-"idė" 10534
-"orm" 10517
-"e_d" 10516
-"stu" 10514
-"į_k" 10512
-"įst" 10484
-"tsi" 10461
-"inę" 10412
-"ako" 10388
-"umo" 10365
-"yva" 10357
-"alb" 10341
-"tūk" 10323
-"ė_s" 10298
-"tės" 10268
-"nėj" 10233
-"a_b" 10218
-"o_š" 10201
-"igo" 10143
-"ška" 10112
-"a_v" 10108
-"mob" 10106
-"sim" 10086
-"rog" 10077
-"rtu" 10048
-"ndo" 10024
-"r_n" 10015
-"ūna" 9995
-"ero" 9990
-"uni" 9954
-"tyt" 9935
-"mpi" 9904
-"ere" 9871
-"gri" 9864
-"edi" 9816
-"ark" 9766
-"ins" 9754
-"kių" 9737
-"eiš" 9737
-"alo" 9715
-"idi" 9710
-"gas" 9700
-"ten" 9695
-"ėji" 9687
-"vid" 9668
-"sei" 9648
-"o_j" 9646
-"ą_k" 9642
-"bar" 9565
-"usk" 9557
-"ber" 9487
-"pin" 9481
-"klu" 9472
-"mėn" 9467
-"gam" 9454
-"dij" 9439
-"inu" 9430
-"įsi" 9410
-"iej" 9390
-"rem" 9381
-"rmi" 9348
-"dvi" 9348
-"nku" 9326
-"res" 9307
-"igū" 9273
-"sik" 9270
-"esn" 9248
-"ugo" 9235
-"dan" 9230
-"mar" 9202
-"vak" 9193
-"uga" 9182
-"r_a" 9181
-"gūn" 9179
-"vus" 9171
-"atl" 9171
-"elb" 9153
-"rda" 9147
-"zij" 9123
-"užs" 9112
-"į_v" 9094
-"rup" 9082
-"roj" 9043
-"ems" 9041
-"kis" 9016
-"šta" 8987
-"muo" 8960
-"udi" 8915
-"lat" 8903
-"lėj" 8902
-"ute" 8892
-"ote" 8883
-"ą_a" 8855
-"rak" 8834
-"ą_v" 8823
-"ėne" 8784
-"iks" 8762
-"nyb" 8762
-"pil" 8709
-"r_d" 8697
-"ske" 8691
-"arn" 8676
-"ult" 8649
-"tol" 8648
-"ymo" 8646
-"žai" 8632
-"nkl" 8601
-"iui" 8557
-"fin" 8546
-"u_t" 8539
-"u_a" 8508
-"ido" 8505
-"kli" 8473
-"sid" 8470
-"ntu" 8469
-"kyt" 8465
-"sni" 8462
-"kil" 8451
-"ldy" 8426
-"rės" 8421
-"gar" 8403
-"ė_v" 8374
-"lam" 8356
-"ėli" 8344
-"gau" 8327
-"rac" 8301
-"rėj" 8293
-"sme" 8293
-"sen" 8274
-"mui" 8272
-"sas" 8272
-"iza" 8269
-"ojų" 8250
-"les" 8233
-"a_l" 8227
-"aiš" 8217
-"ryb" 8199
-"esa" 8186
-"ūro" 8184
-"ega" 8181
-"kat" 8166
-"egi" 8165
-"ė_a" 8149
-"sla" 8142
-"mot" 8130
-"usy" 8121
-"eit" 8115
-"inį" 8108
-"air" 8102
-"tit" 8093
-"ole" 8084
-"lyv" 8084
-"jie" 8068
-"lek" 8047
-"suo" 8046
-"spo" 8030
-"bas" 8030
-"ukt" 8023
-"ula" 8016
-"ūti" 8008
-"del" 8003
-"enc" 7995
-"kšt" 7982
-"arė" 7972
-"mės" 7972
-"emp" 7971
-"los" 7970
-"dom" 7933
-"bia" 7927
-"van" 7922
-"enė" 7913
-"ško" 7910
-"run" 7906
-"iku" 7895
-"u_b" 7892
-"yni" 7887
-"sku" 7881
-"žsi" 7880
-"šių" 7877
-"iav" 7872
-"mes" 7847
-"lyj" 7841
-"pus" 7826
-"uva" 7823
-"ton" 7813
-"rny" 7813
-"sve" 7811
-"ašt" 7803
-"siū" 7797
-"ivi" 7797
-"tek" 7796
-"myb" 7781
-"alų" 7767
-"omp" 7745
-"į_a" 7742
-"emi" 7739
-"med" 7732
-"e_r" 7726
-"ė_k" 7715
-"škė" 7710
-"ont" 7709
-"sul" 7683
-"lėt" 7675
-"ą_d" 7675
-"ėse" 7655
-"suk" 7651
-"tym" 7643
-"eda" 7620
-"ire" 7614
-"įvy" 7610
-"dėt" 7605
-"tap" 7602
-"vau" 7601
-"sči" 7598
-"oms" 7597
-"iūl" 7587
-"u_i" 7575
-"yto" 7565
-"žiu" 7563
-"išs" 7562
-"org" 7543
-"šči" 7533
-"mėj" 7529
-"ars" 7528
-"šiu" 7516
-"pel" 7513
-"gre" 7512
-"aur" 7494
-"ešt" 7478
-"izi" 7458
-"agr" 7457
-"idu" 7453
-"sva" 7443
-"ą_b" 7431
-"tyv" 7431
-"a_g" 7422
-"irb" 7416
-"e_g" 7411
-"sur" 7410
-"rba" 7401
-"gum" 7396
-"ė_n" 7383
-"sos" 7381
-"ų_į" 7378
-"e_l" 7378
-"urn" 7372
-"vič" 7370
-"nkų" 7367
-"ksl" 7365
-"ler" 7364
-"ėtų" 7359
-"u_v" 7355
-"syb" 7347
-"aki" 7340
-"kij" 7339
-"kėj" 7334
-"oks" 7327
-"lab" 7291
-"rys" 7280
-"gij" 7272
-"ašk" 7259
-"pio" 7258
-"ism" 7250
-"oka" 7236
-"ves" 7209
-"o_ž" 7205
-"igė" 7199
-"bri" 7191
-"iad" 7190
-"o_e" 7180
-"juo" 7175
-"r_m" 7171
-"ipa" 7170
-"stų" 7157
-"ons" 7153
-"klo" 7148
-"ovi" 7126
-"nut" 7117
-"puo" 7111
-"šeš" 7107
-"o_u" 7105
-"etr" 7100
-"vok" 7097
-"oju" 7077
-"via" 7064
-"imė" 7056
-"e_m" 7052
-"tyr" 7050
-"ete" 7022
-"sum" 7021
-"ogi" 7011
-"log" 6992
-"sud" 6968
-"r_j" 6961
-"amu" 6953
-"bet" 6952
-"rbi" 6951
-"pta" 6947
-"urt" 6937
-"ure" 6934
-"žei" 6930
-"tys" 6930
-"gus" 6903
-"šve" 6891
-"ens" 6889
-"ąją" 6882
-"žem" 6863
-"įmo" 6858
-"sar" 6852
-"abi" 6849
-"gty" 6849
-"inf" 6844
-"eži" 6830
-"taš" 6818
-"šti" 6811
-"aru" 6808
-"s_o" 6785
-"rtą" 6773
-"ą_n" 6766
-"uvi" 6754
-"ė_i" 6750
-"į_i" 6749
-"mil" 6747
-"odė" 6745
-"rėt" 6727
-"yba" 6726
-"aėj" 6725
-"raė" 6716
-"reg" 6715
-"dym" 6713
-"eln" 6712
-"ujo" 6681
-"s_y" 6680
-"a_m" 6679
-"vių" 6670
-"age" 6668
-"rep" 6661
-"rdu" 6660
-"ilo" 6634
-"uod" 6619
-"viz" 6616
-"sko" 6610
-"eka" 6603
-"ėmi" 6584
-"koj" 6572
-"yks" 6556
-"neb" 6554
-"ake" 6552
-"į_l" 6545
-"oci" 6520
-"dyb" 6500
-"ų_š" 6478
-"nst" 6474
-"t_p" 6463
-"bol" 6459
-"bra" 6457
-"lub" 6451
-"oro" 6450
-"čem" 6442
-"aja" 6440
-"doj" 6440
-"lyd" 6430
-"rol" 6428
-"pab" 6428
-"lig" 6426
-"bėj" 6382
-"a_į" 6372
-"amų" 6369
-"amb" 6363
-"į_t" 6362
-"ykl" 6362
-"r_l" 6362
-"asm" 6334
-"yvi" 6333
-"į_n" 6333
-"ktu" 6322
-"iga" 6321
-"anc" 6317
-"niz" 6308
-"nks" 6306
-"s_c" 6296
-"fer" 6289
-"pti" 6277
-"yko" 6276
-"ą_t" 6271
-"ser" 6268
-"nde" 6267
-"ė_d" 6263
-"ola" 6261
-"kor" 6250
-"ė_t" 6220
-"sąj" 6208
-"ret" 6200
-"lbė" 6194
-"tli" 6188
-"oku" 6185
-"ąju" 6179
-"ntų" 6173
-"u_m" 6128
-"ema" 6118
-"sli" 6111
-"ipė" 6106
-"ugu" 6100
-"mac" 6082
-"sig" 6070
-"uki" 6049
-"nfo" 6033
-"atr" 6028
-"iso" 6025
-"pap" 6023
-"šau" 6010
-"u_d" 5991
-"r_b" 5990
-"iju" 5987
-"ogr" 5984
-"rob" 5981
-"num" 5979
-"paj" 5978
-"iru" 5977
-"raj" 5965
-"u_j" 5961
-"ajo" 5956
-"ora" 5950
-"tes" 5948
-"oda" 5935
-"išv" 5935
-"upė" 5932
-"vėl" 5928
-"soc" 5926
-"amą" 5923
-"lgi" 5917
-"o_f" 5917
-"a_r" 5913
-"uno" 5913
-"ael" 5903
-"rae" 5898
-"kiu" 5895
-"moj" 5894
-"jek" 5873
-"sil" 5873
-"ėsi" 5863
-"isu" 5862
-"ų_e" 5862
-"i_ž" 5858
-"rst" 5853
-"uje" 5851
-"įta" 5848
-"goj" 5845
-"ruk" 5842
-"mti" 5839
-"imy" 5787
-"ukš" 5781
-"sky" 5777
-"neg" 5770
-"noj" 5746
-"apt" 5736
-"dab" 5732
-"vij" 5718
-"enų" 5714
-"mir" 5710
-"iuj" 5710
-"uzi" 5708
-"nty" 5706
-"kyb" 5693
-"isk" 5683
-"gel" 5680
-"lon" 5678
-"mpa" 5668
-"e_į" 5664
-"ė_j" 5659
-"mia" 5653
-"l_k" 5650
-"apo" 5643
-"riv" 5634
-"ašy" 5614
-"rbu" 5611
-"kty" 5602
-"ond" 5597
-"enu" 5595
-"ope" 5587
-"ila" 5585
-"kei" 5578
-"tėj" 5562
-"lav" 5552
-"rbo" 5547
-"šie" 5530
-"nkė" 5517
-"iky" 5504
-"tet" 5500
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/nl.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/nl.ngp
deleted file mode 100644
index 7d10c7b..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/nl.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-en_ 224429
-de_ 112710
-_de 109806
-an_ 70218
-et_ 69985
-_he 61754
-_va 52542
-van 52050
-er_ 48056
-ing 42549
-het 41683
-ver 40916
-oor 40483
-_in 37934
-at_ 35969
-_be 35875
-een 35631
-ie_ 35579
-_ge 35577
-_da 35422
-_vo 33870
-_en 33361
-gen 33291
-ten 31913
-nde 30738
-ng_ 30393
-aar 29998
-den 29952
-voo 29229
-_ve 28528
-_ee 28490
-men 28180
-in_ 27376
-te_ 27265
-dat 26734
-_te 26081
-ste 25332
-_di 24146
-_me 23484
-aan 22945
-der 22495
-ijk 22042
-lij 21706
-cht 20751
-ter 20595
-or_ 20528
-is_ 20333
-and 20223
-ij_ 20086
-_op 20049
-ijn 19588
-_we 19127
-ere 18987
-_on 18954
-eli 18952
-tie 18790
-ord 18668
-nie 18634
-eer 18591
-sch 18441
-_zi 18090
-rde 17912
-_is 17281
-_wi 17078
-_co 16956
-ers 16856
-nge 16637
-_aa 16324
-die 16194
-ren 16025
-ar_ 15980
-lle 15979
-_al 15922
-ent 15769
-op_ 15741
-it_ 15486
-ken 15329
-_mo 15263
-ele 14932
-el_ 14901
-len 14892
-_st 14746
-jn_ 14701
-ik_ 14152
-zij 14141
-ens 13788
-_ni 13770
-eid 13612
-wij 13390
-_ma 13380
-_ik 13362
-_wa 13306
-uit 13297
-_mi 13000
-ove 12952
-end 12873
-eme 12865
-ond 12826
-eur 12710
-hee 12652
-_wo 12630
-iet 12513
-le_ 12397
-ze_ 12218
-al_ 12165
-wor 12126
-_zo 12007
-lan 11995
-ede 11994
-_to 11904
-sta 11799
-gel 11682
-_re 11597
-ege 11582
-erd 11384
-nt_ 11380
-nen 11376
-tel 11375
-met 11232
-jk_ 10989
-mis 10918
-moe 10881
-om_ 10615
-iss 10582
-ati 10561
-_om 10511
-_eu 10493
-oet 10486
-com 10371
-est 10264
-_ov 10196
-erk 10156
-ns_ 10114
-rop 10039
-maa 10038
-_er 10035
-eze 9879
-mmi 9872
-ete 9815
-aat 9801
-omm 9800
-del 9754
-ls_ 9724
-id_ 9629
-ke_ 9603
-uro 9565
-_oo 9464
-eri 9420
-_na 9390
-ang 9264
-nd_ 9250
-_ui 9240
-eve 9215
-ssi 9180
-ven 9150
-ech 9130
-nte 9041
-rin 9016
-ope 8992
-es_ 8931
-als 8917
-rij 8862
-dit 8793
-_do 8752
-sie 8741
-se_ 8735
-wer 8723
-pro 8618
-eel 8515
-ich 8407
-ige 8401
-st_ 8331
-_pr 8283
-hte 8203
-_bi 8192
-lin 8186
-ag_ 8042
-gev 7973
-eke 7934
-nne 7920
-daa 7904
-waa 7870
-ite 7722
-raa 7712
-ok_ 7691
-ame 7668
-ook 7661
-ben 7614
-hei 7604
-ien 7595
-mij 7578
-ft_ 7548
-bes 7521
-bel 7502
-_ze 7478
-tre 7475
-eld 7371
-eft 7364
-mee 7320
-re_ 7316
-_la 7300
-tte 7285
-rd_ 7266
-dig 7262
-we_ 7212
-dez 7155
-bij 7138
-jke 7082
-con 7071
-heb 6911
-ind 6852
-_pa 6821
-_no 6751
-ate 6670
-sen 6610
-che 6605
-kel 6566
-rst 6528
-ge_ 6513
-ht_ 6338
-_ho 6282
-isc 6230
-eef 6223
-lem 6174
-toe 6172
-par 6167
-all 6154
-str 6128
-ont 6123
-gro 6114
-min 6109
-ant 6097
-vol 6094
-kom 6084
-dt_ 6024
-bet 5999
-ger 5903
-ese 5899
-rec 5891
-ier 5839
-reg 5817
-_gr 5785
-_ka 5742
-_li 5692
-ot_ 5691
-ale 5617
-taa 5610
-_ha 5604
-geb 5599
-kt_ 5598
-rle 5585
-rs_ 5580
-_vr 5551
-ome 5549
-ijd 5548
-ach 5535
-rge 5523
-ld_ 5517
-rzi 5503
-ell 5495
-wil 5490
-bbe 5457
-kke 5296
-ebb 5281
-doo 5274
-nst 5243
-ig_ 5220
-ela 5164
-kin 5164
-ges 5161
-pes 5133
-orz 5122
-dan 5089
-ard 5085
-ch_ 5073
-pen 5014
-ake 5000
-tot 4977
-aal 4946
-eni 4930
-sti 4886
-iti 4829
-ons 4787
-lei 4783
-cha 4771
-zit 4722
-itt 4693
-ene 4682
-ouw 4679
-ngs 4677
-oed 4626
-_ko 4619
-arl 4600
-_af 4594
-sla 4592
-nhe 4581
-doe 4538
-han 4523
-kan 4523
-age 4448
-leg 4444
-_za 4414
-erv 4402
-wel 4400
-_ra 4387
-kun 4387
-voe 4381
-_ku 4370
-ids 4368
-ari 4345
-oud 4344
-ort 4327
-_hi 4304
-nse 4262
-naa 4248
-tin 4231
-erg 4227
-rdt 4222
-gin 4219
-_ec 4205
-eit 4204
-uni 4192
-ree 4190
-ide 4180
-teg 4144
-_an 4134
-ieu 4124
-etr 4121
-cti 4099
-din 4098
-ntw 4093
-unn 4083
-org 4067
-ies 4060
-uw_ 4057
-og_ 4036
-evo 4028
-ern 4027
-spr 4021
-rek 4006
-aag 4002
-her 3997
-he_ 3982
-sse 3959
-orm 3933
-lee 3916
-gem 3906
-lag 3903
-_un 3887
-gaa 3851
-laa 3850
-hie 3844
-tij 3832
-_le 3819
-_du 3812
-rag 3812
-nin 3806
-enk 3799
-ran 3799
-of_ 3792
-ert 3776
-ied 3767
-oge 3766
-tat 3752
-ins 3749
-ad_ 3737
-oen 3717
-wee 3710
-wat 3684
-gee 3653
-ill 3644
-ili 3634
-_hu 3597
-nze 3578
-art 3576
-zic 3573
-nti 3564
-zou 3547
-ist 3543
-oer 3524
-_ga 3511
-zie 3509
-uwe 3491
-erh 3479
-era 3463
-egi 3457
-_of 3454
-_u_ 3452
-ats 3446
-tei 3444
-il_ 3426
-chi 3419
-tro 3418
-rt_ 3413
-gd_ 3396
-int 3394
-vin 3393
-tra 3390
-ude 3384
-mer 3370
-hap 3353
-nom 3351
-aad 3348
-ade 3345
-_vi 3339
-nat 3330
-ion 3318
-nog 3316
-erl 3312
-ndi 3292
-per 3289
-aak 3281
-ect 3276
-woo 3275
-edi 3274
-eno 3274
-iek 3274
-rei 3270
-un_ 3266
-_so 3261
-hou 3260
-gez 3243
-ron 3241
-erm 3230
-ed_ 3226
-ker 3223
-jnh 3219
-ali 3196
-nem 3195
-pla 3194
-nis 3187
-ees 3181
-ts_ 3178
-erw 3177
-teu 3168
-_pl 3165
-lit 3150
-vor 3150
-rsc 3147
-dra 3139
-erb 3123
-me_ 3123
-gra 3116
-_go 3114
-lge 3112
-app 3110
-vra 3109
-rou 3107
-esc 3104
-rke 3098
-res 3097
-aro 3095
-_po 3093
-lid 3080
-ek_ 3074
-act 3070
-ast 3069
-ris 3057
-tee 3055
-tan 3050
-ona 3040
-dst 3028
-zal 3012
-rac 3005
-ber 3001
-lli 2984
-_sp 2974
-eva 2968
-tig 2960
-goe 2958
-_sc 2950
-beg 2943
-rdi 2942
-rot 2935
-uur 2935
-ors 2921
-onz 2920
-oek 2902
-els 2895
-rsl 2890
-erz 2872
-_bu 2867
-nke 2867
-rte 2860
-gri 2854
-ric 2850
-tge 2834
-dee 2831
-ou_ 2821
-uid 2818
-ee_ 2792
-bie 2791
-rme 2788
-rat 2785
-lie 2775
-are 2770
-pre 2762
-dem 2761
-ijz 2745
-tem 2742
-euw 2737
-mst 2737
-tio 2735
-rui 2728
-ure 2720
-olg 2712
-oel 2704
-vaa 2700
-unt 2698
-bre 2697
-oms 2697
-ank 2693
-ote 2693
-rki 2681
-_ja 2680
-nda 2673
-rmi 2653
-twi 2653
-zon 2645
-ikk 2640
-tal 2637
-_nu 2636
-nal 2635
-_ne 2626
-ak_ 2622
-ema 2611
-ein 2603
-oeg 2589
-val 2577
-ne_ 2576
-red 2575
-rom 2573
-rbe 2567
-ero 2565
-hoo 2559
-twe 2556
-_am 2553
-mog 2550
-vro 2549
-zel 2548
-lde 2541
-dde 2527
-bli 2525
-lis 2524
-_s_ 2522
-_zu 2514
-omi 2514
-zen 2497
-rvo 2491
-_ac 2485
-_ri 2484
-vee 2476
-ans 2468
-gge 2457
-ged 2451
-eed 2448
-elf 2435
-bev 2427
-nam 2424
-ebr 2419
-idi 2416
-ur_ 2399
-tst 2377
-sel 2372
-_ei 2368
-nu_ 2364
-wet 2360
-ezi 2351
-rli 2347
-ini 2343
-oli 2342
-mil 2337
-esl 2332
-ina 2325
-hoe 2319
-lat 2314
-gew 2312
-ds_ 2306
-zeg 2302
-inn 2300
-igd 2291
-eco 2283
-lig 2278
-oe_ 2278
-beh 2274
-ffe 2274
-pun 2265
-haa 2256
-roe 2255
-ega 2250
-sin 2246
-egr 2244
-oll 2238
-rkt 2231
-spe 2220
-ngr 2218
-ner 2215
-zak 2214
-eng 2207
-epa 2205
-nds 2204
-_sa 2188
-mid 2183
-nta 2176
-idd 2175
-enw 2169
-eun 2168
-evr 2168
-rne 2168
-bed 2166
-elk 2164
-wen 2163
-enl 2157
-eem 2156
-tis 2154
-lic 2151
-ull 2144
-wik 2140
-ssa 2138
-egg 2136
-zo_ 2128
-erp 2119
-ref 2119
-ppe 2115
-uss 2104
-em_ 2102
-nsc 2102
-one 2099
-bur 2097
-ani 2095
-fin 2095
-ntr 2094
-rti 2094
-us_ 2092
-_tw 2084
-dui 2081
-hun 2080
-_pe 2075
-rie 2066
-nee 2061
-pel 2052
-_bl 2048
-gan 2048
-tuu 2046
-egd 2045
-sam 2043
-_br 2041
-_tu 2035
-ser 2035
-igh 2027
-lev 2027
-gt_ 2024
-its 2024
-ono 2022
-ijv 2017
-akt 2016
-rob 2013
-pee 2010
-ghe 2004
-_ba 1999
-nci 1996
-opa 1993
-_ti 1990
-zul 1988
-ewe 1980
-_bo 1979
-cia 1972
-iev 1972
-rga 1970
-tor 1966
-nig 1957
-rva 1956
-rhe 1950
-tri 1945
-jd_ 1942
-uct 1939
-bep 1938
-hed 1938
-man 1938
-pa_ 1928
-ral 1923
-fen 1921
-ble 1917
-mat 1910
-ial 1908
-fra 1906
-lui 1904
-enh 1902
-as_ 1898
-oal 1896
-mak 1887
-ebi 1879
-por 1877
-_kr 1876
-ost 1875
-zoa 1871
-led 1866
-rit 1864
-jaa 1861
-air 1858
-_fr 1857
-ett 1847
-mme 1842
-ise 1838
-dus 1830
-pol 1823
-tek 1819
-roo 1818
-eff 1813
-_ar 1808
-cte 1808
-ijf 1808
-_tr 1801
-hel 1797
-khe 1789
-_ie 1778
-ekk 1778
-geh 1778
-ire 1778
-ram 1773
-itg 1772
-urg 1770
-ann 1763
-_kw 1761
-zet 1757
-jkh 1756
-eko 1755
-_sl 1749
-anc 1749
-dri 1749
-_dr 1737
-epe 1737
-hti 1737
-mar 1735
-nan 1719
-ori 1719
-nwe 1712
-ap_ 1710
-ma_ 1697
-obl 1696
-edr 1692
-sit 1692
-mev 1685
-ong 1685
-_el 1681
-oep 1678
-evi 1669
-oci 1664
-soc 1662
-pri 1661
-baa 1654
-esp 1653
-rak 1645
-_fi 1643
-tai 1643
-emm 1640
-ef_ 1632
-col 1629
-eil 1627
-ief 1625
-rod 1625
-eig 1621
-afg 1620
-zor 1619
-eho 1618
-hts 1614
-eg_ 1613
-bru 1612
-tus 1602
-ike 1599
-eds 1596
-on_ 1592
-oog 1591
-zoe 1589
-gde 1587
-gek 1584
-nli 1583
-two 1583
-roc 1579
-onc 1574
-zee 1574
-oce 1567
-loo 1566
-jde 1564
-ust 1560
-bin 1559
-tru 1559
-ve_ 1559
-_ke 1552
-ume 1552
-_ev 1546
-fge 1537
-ena 1536
-slu 1535
-ler 1534
-mt_ 1532
-zaa 1532
-rre 1529
-kri 1522
-weg 1520
-vri 1519
-pra 1518
-odi 1517
-ara 1514
-rzo 1510
-zin 1506
-ban 1505
-rwe 1505
-noo 1503
-pas 1502
-rol 1491
-sol 1487
-nk_ 1485
-eb_ 1484
-kki 1479
-ore 1479
-lt_ 1475
-noe 1473
-amm 1466
-ogr 1466
-_ju 1456
-arm 1456
-dse 1456
-rel 1454
-stu 1452
-wan 1452
-eu_ 1450
-cho 1445
-ark 1444
-_pu 1441
-nko 1438
-na_ 1433
-arb 1430
-eba 1428
-rdr 1426
-omd 1425
-mel 1424
-uis 1421
-pec 1419
-ode 1409
-bee 1407
-_ro 1406
-ass 1405
-bou 1404
-uik 1403
-duc 1400
-for 1397
-sar 1397
-och 1396
-_se 1394
-mda 1394
-ets 1391
-rbi 1391
-olk 1390
-_si 1385
-emo 1379
-ult 1376
-aut 1375
-deb 1375
-hij 1375
-orb 1374
-rog 1372
-rok 1372
-had 1371
-lot 1365
-atr 1358
-lke 1355
-opg 1355
-odu 1354
-elo 1352
-emi 1345
-enr 1345
-rig 1342
-rna 1342
-tli 1340
-itu 1334
-ijs 1332
-jze 1330
-jve 1328
-htl 1327
-ood 1326
-nel 1321
-pge 1317
-je_ 1313
-med 1312
-slo 1312
-uti 1310
-_ta 1309
-_fe 1308
-rha 1307
-ine 1306
-ijg 1302
-ële 1301
-cen 1291
-ije 1290
-eda 1281
-geg 1281
-err 1274
-ald 1271
-oei 1271
-mma 1267
-paa 1267
-_lo 1264
-gst 1264
-kte 1258
-gio 1255
-oti 1255
-iël 1252
-gie 1251
-rma 1251
-was 1251
-inz 1243
-_or 1240
-ehe 1236
-spa 1235
-get 1230
-cië 1229
-ves 1228
-chr 1225
-rap 1223
-igi 1222
-nit 1220
-fer 1214
-vas 1214
-elt 1213
-ga_ 1208
-alt 1205
-dhe 1205
-bat 1197
-ct_ 1197
-dur 1195
-zig 1191
-olu 1187
-zek 1186
-hil 1180
-sbe 1179
-_ki 1178
-atu 1173
-oop 1172
-sto 1172
-tur 1170
-eha 1164
-nod 1160
-bar 1159
-dru 1159
-ita 1159
-arv 1157
-dis 1156
-log 1156
-uat 1156
-eta 1155
-net 1155
-rik 1154
-ebe 1153
-oon 1153
-af_ 1149
-nni 1147
-_kl 1145
-hul 1144
-ole 1144
-ora 1144
-akk 1143
-oot 1141
-ple 1132
-ruc 1132
-sme 1128
-ekt 1122
-_im 1118
-ive 1113
-kwe 1111
-rk_ 1111
-nre 1105
-lst 1097
-har 1084
-sle 1083
-dag 1081
-uch 1075
-wes 1065
-ruk 1062
-los 1059
-lf_ 1055
-nad 1055
-rea 1054
-uk_ 1054
-oos 1052
-etg 1051
-emd 1048
-cra 1046
-tse 1044
-nsp 1043
-ppo 1043
-hui 1041
-ane 1040
-att 1037
-keu 1024
-ezo 1023
-bui 1017
-nau 1017
-eru 1016
-edu 1012
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/no.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/no.ngp
deleted file mode 100644
index ba610ce..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/no.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-er_ 43153
-en_ 26541
-et_ 22335
-for 18182
-_de 18107
-ing 16986
-_fo 15665
-_og 15184
-og_ 14311
-or_ 13145
-_i_ 12591
-re_ 11699
-_av 10970
-om_ 10970
-til 10716
-_ti 10674
-ter 10662
-ne_ 10351
-det 9655
-av_ 9596
-_me 9565
-ng_ 9493
-ene 8925
-de_ 8847
-il_ 8724
-te_ 8327
-ere 8267
-_en 8175
-_er 7956
-som 7882
-ed_ 7804
-_so 7659
-tte 7622
-lle 7592
-nge 7533
-der 7421
-ver 7272
-ler 6963
-_in 6894
-ke_ 6881
-ett 6857
-_st 6628
-es_ 6510
-ste 6404
-and 6285
-ell 6190
-_vi 6176
-_ve 6113
-lig 6085
-nde 6053
-_ha 6049
-nin 6036
-med 5943
-_be 5895
-ten 5874
-sjo 5852
-_på 5831
-jon 5831
-_re 5779
-ser 5764
-ar_ 5720
-den 5611
-ent 5599
-rin 5552
-_ut 5489
-gen 5480
-ens 5436
-_ko 5418
-_tr 5412
-på_ 5401
-le_ 5344
-kon 5309
-tor 5211
-ner 5099
-sen 5019
-_å_ 4951
-ge_ 4931
-_an 4919
-kke 4899
-_no 4850
-rt_ 4814
-ig_ 4722
-at_ 4631
-ikk 4619
-_sk 4597
-ger 4583
-nne 4581
-men 4497
-ren 4476
-_fr 4454
-_pr 4445
-_se 4403
-ker 4361
-ers 4338
-an_ 4325
-_at 4202
-inn 4129
-del 4113
-eri 4102
-_om 4077
-tt_ 4043
-end 4009
-res 3920
-ekt 3912
-tet 3821
-lin 3813
-_et 3808
-ngs 3755
-els 3750
-ont 3750
-_ka 3746
-nte 3718
-se_ 3696
-per 3670
-har 3662
-isk 3647
-opp 3632
-one 3612
-_sa 3572
-est 3571
-ans 3533
-dre 3517
-enn 3503
-ert 3467
-pro 3462
-dek 3353
-tra 3330
-ove 3286
-het 3263
-ang 3256
-_op 3255
-mme 3233
-tal 3214
-nen 3209
-_ma 3204
-try 3197
-gde 3175
-ret 3165
-ska 3161
-ord 3142
-ske 3131
-lse 3129
-jen 3126
-str 3104
-nor 3085
-all 3077
-lan 3029
-asj 3017
-on_ 3014
-eko 2981
-al_ 2969
-ryg 2961
-nto 2940
-rer 2938
-_el 2930
-ygd 2925
-ort 2880
-_pe 2879
-kan 2879
-ige 2858
-fra 2842
-var 2842
-_gj 2808
-ate 2797
-ran 2794
-sam 2765
-mer 2763
-år_ 2762
-ide 2760
-len 2753
-_si 2749
-ern 2744
-ll_ 2725
-sse 2718
-st_ 2712
-ors 2710
-sta 2696
-gje 2663
-kom 2656
-ra_ 2627
-ise 2618
-_bl 2595
-net 2593
-ved 2568
-_la 2564
-att 2543
-kti 2531
-_al 2529
-tiv 2528
-ale 2521
-_ba 2520
-eli 2514
-vil 2498
-_he 2482
-_mi 2479
-_ik 2475
-are 2466
-kt_ 2466
-sk_ 2455
-kal 2448
-lde 2442
-el_ 2429
-nse 2420
-bru 2415
-nd_ 2410
-old 2386
-ruk 2384
-ist 2375
-lt_ 2353
-ore 2345
-_gr 2343
-lik 2336
-_br 2335
-ete 2327
-ndr 2321
-_ar 2313
-_va 2307
-ns_ 2303
-ite 2297
-tre 2289
-_hv 2281
-øre 2236
-_ov 2226
-ien 2224
-eve 2216
-sti 2214
-sto 2214
-omm 2212
-hol 2210
-rte 2209
-nes 2202
-ons 2186
-vei 2184
-sli 2172
-kte 2160
-_li 2155
-unn 2155
-_fi 2136
-por 2132
-nn_ 2116
-elt 2092
-ive 2087
-rbe 2087
-ill 2083
-eng 2072
-pen 2070
-før 2068
-org 2055
-eks 2051
-ele 2050
-man 2044
-rke 2042
-_di 2021
-ven 2015
-rsk 2009
-bar 2005
-sik 1996
-eid 1994
-arb 1983
-tat 1982
-und 1982
-_le 1973
-ann 1955
-reg 1954
-ede 1946
-tid 1945
-nt_ 1943
-_ta 1937
-_to 1936
-ier 1929
-bei 1921
-vær 1921
-_sp 1918
-erk 1905
-sel 1902
-art 1901
-tur 1886
-sni 1884
-vis 1871
-sko 1860
-red 1858
-_da 1856
-set 1838
-ære 1837
-kje 1836
-rne 1827
-_fa 1818
-rso 1807
-så_ 1796
-ant 1793
-gra 1790
-_un 1786
-_må 1782
-itt 1779
-ess 1776
-leg 1776
-son 1768
-akt 1766
-nom 1762
-_ak 1761
-_ku 1757
-uts 1755
-dri 1737
-kel 1737
-ikt 1728
-lag 1727
-ati 1723
-_bi 1722
-gru 1708
-orm 1707
-ram 1686
-kni 1685
-eld 1681
-ass 1669
-nta 1669
-eie 1668
-gan 1661
-_fø 1659
-rel 1655
-_mo 1647
-jør 1640
-_kr 1639
-lit 1637
-ake 1634
-amm 1621
-kol 1610
-_år 1606
-_te 1605
-tak 1590
-vik 1581
-tem 1580
-dig 1577
-_os 1574
-bli 1574
-han 1573
-ind 1568
-_væ 1566
-alt 1552
-tig 1552
-bil 1551
-ken 1551
-rek 1551
-ble 1542
-ift 1540
-ffe 1537
-pla 1537
-igh 1530
-spo 1523
-egg 1519
-mil 1506
-nsk 1505
-_ne 1504
-slo 1495
-_sy 1493
-ør_ 1491
-_ga 1477
-let 1476
-rde 1469
-rog 1464
-ghe 1459
-ppe 1453
-rge 1446
-gge 1445
-nst 1433
-min 1419
-ld_ 1413
-eme 1403
-eta 1400
-osl 1396
-is_ 1391
-ole 1391
-åde 1391
-kap 1390
-ag_ 1380
-dis 1376
-in_ 1375
-lo_ 1374
-ike 1371
-die 1369
-ntr 1366
-ali 1360
-ros 1356
-dle 1347
-jer 1336
-sin 1329
-nno 1326
-tan 1326
-las 1314
-age 1310
-eg_ 1310
-irk 1306
-lta 1292
-ogs 1282
-id_ 1281
-_sl 1279
-ir_ 1276
-uli 1274
-nal 1267
-met 1264
-erd 1263
-ids 1260
-vir 1258
-gså 1257
-jel 1256
-_po 1255
-_ek 1253
-ine 1248
-ets 1246
-_ho 1242
-oms 1240
-uke 1236
-_gi 1235
-spe 1235
-mel 1234
-bes 1227
-tel 1222
-mun 1221
-tes 1218
-vek 1216
-ilj 1214
-ytt 1210
-sat 1208
-ode 1203
-råd 1203
-rve 1201
-_fe 1200
-rst 1199
-bet 1197
-van 1186
-_of 1182
-par 1182
-tek 1182
-hel 1181
-ve_ 1180
-kk_ 1177
-les 1177
-_fl 1173
-kun 1172
-ljø 1172
-ark 1170
-hen 1169
-_kj 1165
-nsp 1165
-int 1161
-_na 1152
-mar 1152
-nis 1149
-mmu 1143
-arn 1142
-kri 1141
-run 1139
-ipp 1136
-vi_ 1134
-ket 1129
-ese 1128
-ost 1128
-era 1127
-ins 1127
-orb 1126
-ion 1125
-ta_ 1123
-pri 1121
-ris 1116
-_by 1113
-mid 1113
-_th 1107
-_lo 1106
-nfo 1104
-use 1104
-_ny 1103
-ves 1099
-dli 1096
-fer 1095
-ndi 1095
-tin 1088
-fte 1087
-me_ 1085
-_pa 1081
-erg 1079
-gre 1077
-ure 1076
-sva 1075
-the 1074
-lev 1070
-mis 1069
-rli 1067
-rat 1060
-tsl 1059
-ast 1056
-nsj 1051
-ege 1050
-ber 1048
-pp_ 1048
-_øk 1046
-gis 1045
-tvi 1043
-idl 1038
-ss_ 1035
-lke 1033
-utv 1033
-mas 1032
-val 1030
-kre 1028
-rdi 1028
-lis 1026
-rif 1021
-_mu 1017
-bel 1016
-gne 1011
-egi 1008
-lip 1007
-tis 1006
-nke 1004
-nns 1003
-vor 1001
-seg 999
-kli 998
-ilt 993
-rma 992
-_hø 990
-dus 990
-ksj 985
-riv 985
-ult 982
-nat 981
-ski 981
-pre 979
-off 978
-rie 978
-nær 976
-oll 974
-dag 972
-erv 967
-skr 967
-tro 965
-_dr 964
-skj 963
-ata 961
-ute 960
-atu 959
-stu 959
-tni 956
-rem 955
-sit 955
-rn_ 953
-_pl 949
-ogr 949
-sys 947
-vel 946
-kes 944
-fre 943
-fis 941
-mot 941
-tab 941
-øke 940
-_co 938
-gjø 938
-yst 935
-ikl 934
-jem 934
-mål 932
-_ra 931
-raf 931
-vet 930
-må_ 929
-ndl 929
-ak_ 922
-orh 922
-ivi 921
-iti 920
-rod 919
-_ul 916
-lte 915
-nsi 913
-get 912
-lys 912
-odu 912
-sis 912
-kse 911
-lek 911
-eis 910
-lov 910
-_eu 908
-erf 908
-ekn 906
-beh 904
-ted 904
-sve 903
-hvo 901
-une 898
-lom 896
-sje 896
-_få 895
-ekk 895
-dan 892
-ire 887
-mpe 886
-rei 886
-ur_ 885
-duk 883
-ika 882
-ts_ 878
-_nå 876
-rs_ 875
-lge 874
-lli 874
-dni 870
-_kl 869
-us_ 868
-tri 867
-gat 866
-nyt 865
-rme 865
-far 864
-ile 862
-stø 860
-omr 858
-elv 857
-_or 856
-rk_ 856
-enk 853
-ft_ 853
-llo 852
-ial 849
-iss 849
-mat 848
-he_ 843
-rre 842
-uk_ 842
-_så 839
-led 839
-upp 838
-mul 837
-fin 836
-gel 834
-lem 834
-ane 831
-ldr 831
-kra 828
-ori 828
-gi_ 827
-ils 827
-ave 826
-tje 826
-edu 824
-dat 822
-ull 821
-esi 820
-ad_ 818
-des 818
-ses 817
-app 815
-_fy 813
-ona 813
-rho 812
-tør 811
-log 809
-ørs 809
-ik_ 807
-mrå 807
-oli 805
-dde 804
-em_ 803
-_a_ 800
-fle 800
-emp 799
-ade 796
-rup 796
-byg 794
-edr 794
-ose 794
-fik 793
-ut_ 793
-rti 790
-syn 789
-noe 787
-rks 787
-fol 786
-ye_ 784
-emi 781
-sie 778
-tli 778
-esk 776
-vid 775
-_bo 773
-inf 773
-kst 773
-rit 773
-ned 772
-sid 772
-oru 770
-omf 768
-rhe 768
-syk 766
-tas 766
-rap 765
-lat 764
-søk 764
-to_ 752
-ari 751
-æri 750
-avg 749
-rad 747
-olo 745
-tud 745
-utt 745
-hje 741
-tik 741
-um_ 740
-kjø 736
-orv 736
-uks 736
-høy 735
-_sv 732
-egn 732
-ukt 732
-tar 727
-aks 725
-sem 718
-_go 715
-_lø 715
-kul 714
-eff 713
-gin 713
-hov 713
-ks_ 711
-_bu 710
-as_ 710
-dst 710
-føl 710
-pet 709
-ygg 709
-ei_ 706
-ppl 706
-unk 706
-iv_ 704
-_bø 702
-vin 698
-urs 697
-rse 696
-tyr 695
-ogi 692
-ølg 691
-kin 687
-god 685
-ota 683
-fel 681
-rea 681
-tti 681
-kla 680
-rfo 680
-rds 678
-nli 677
-nit 674
-erh 673
-tse 673
-_næ 672
-pas 672
-når 670
-ppo 668
-ras 667
-dir 663
-dra 663
-ela 661
-_fu 660
-inu 659
-rav 658
-_ef 657
-udi 656
-øye 655
-sor 653
-sre 653
-kso 651
-eha 650
-tof 650
-of_ 649
-vit 649
-dt_ 646
-pos 646
-fek 645
-fyl 643
-nti 642
-tio 642
-gst 641
-gg_ 639
-spr 638
-_sø 637
-bed 637
-bus 637
-ot_ 635
-afi 633
-isj 631
-ssi 631
-tru 631
-rev 629
-aml 627
-nel 626
-fri 625
-ono 625
-gsp 624
-rna 624
-ges 623
-omi 623
-rsi 623
-eho 622
-gt_ 622
-nds 622
-mes 621
-oen 621
-lar 620
-rga 620
-nas 619
-sty 619
-fat 616
-kar 616
-rio 616
-ært 616
-ald 614
-ilb 614
-oks 613
-tøy 612
-pes 611
-ase 610
-nsa 609
-øy_ 608
-olk 607
-løs 606
-stå 606
-sla 605
-fun 603
-tst 599
-ini 598
-rut 598
-_eg 597
-_kn 597
-iel 597
-kto 597
-ben 596
-ssu 595
-egr 592
-hvi 590
-kle 588
-rik 588
-uss 588
-no_ 587
-emm 586
-lir 586
-lie 585
-kil 583
-enh 581
-erl 581
-bas 580
-_ri 579
-_bå 578
-kos 577
-abe 576
-edi 576
-omh 575
-rd_ 575
-tot 575
-mhe 574
-ple 574
-_im 573
-beg 573
-nnt 573
-sur 573
-pol 572
-nsv 571
-nux 571
-rom 569
-ha_ 567
-mst 567
-ild 566
-erm 565
-ral 565
-_kv 564
-hve 564
-_do 563
-_my 562
-ape 561
-rol 561
-mle 559
-ety 558
-itu 555
-ust 554
-rgi 553
-pe_ 550
-rda 550
-her 549
-ykk 549
-vgi 548
-ems 547
-avt 546
-omp 546
-efo 545
-_as 544
-ani 544
-ux_ 543
-utg 541
-gif 537
-gir 537
-je_ 536
-bør 534
-nkt 534
-urd 534
-rep 531
-nni 530
-ara 527
-bok 527
-pel 527
-ksi 523
-spi 522
-vta 522
-nye 521
-bak 520
-rdr 520
-sgr 519
-tyd 519
-am_ 518
-stn 516
-sek 515
-na_ 514
-_ki 513
-få_ 512
-sak 511
-dom 510
-ema 510
-hus 510
-_ge 509
-nnl 509
-_s_ 508
-lel 507
-lær 507
-ltu 506
-yde 506
-_ro 505
-osi 503
-sul 503
-pps 502
-pun 502
-teg 497
-ita 496
-anl 495
-gur 495
-igu 492
-ud_ 492
-yr_ 492
-ifi 491
-rak 491
-rig 491
-_ad 489
-jor 489
-øko 489
-fig 488
-sig 487
-sst 487
-_ww 485
-_x_ 485
-kas 485
-ørt 485
-api 484
-jek 484
-edl 483
-ude 483
-ilk 482
-ål_ 482
-_ty 481
-ikr 478
-bre 477
-nve 475
-kva 474
-ies 473
-lav 473
-ogn 473
-osj 473
-ref 473
-_ca 472
-dep 472
-ein 472
-bud 471
-kor 471
-nkl 471
-vur 469
-bef 468
-fal 468
-sia 468
-mod 467
-nad 467
-tit 467
-_du 466
-igg 466
-asi 463
-sku 463
-_su 462
-amv 462
-nda 462
-_gå 461
-ask 461
-ria 459
-små 459
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/pl.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/pl.ngp
deleted file mode 100644
index e53db45..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/pl.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-ie_ 11047
-nie 10353
-_pr 9159
-_po 8142
-ch_ 7969
-_na 6678
-ani 6213
-_w_ 5759
-ia_ 5718
-ych 5534
-prz 5323
-rze 5307
-owa 5228
-nia 5174
-_za 5071
-na_ 5016
-_do 4773
-_i_ 4470
-wan 4352
-_je 4264
-ej_ 4177
-dzi 4116
-_wy 4045
-eni 4018
-ów_ 3946
-go_ 3882
-sta 3785
-ego 3747
-ne_ 3539
-rzy 3417
-pro 3256
-_ni 3219
-est 3193
-wie 3160
-acj 3088
-_ko 3060
-_z_ 2938
-ści 2922
-nyc 2846
-ji_ 2811
-em_ 2639
-cze 2614
-czn 2608
-_in 2538
-_ro 2529
-_st 2504
-cji 2486
-owe 2455
-st_ 2447
-yst 2416
-ym_ 2412
-ny_ 2389
-do_ 2371
-_si 2319
-_mo 2304
-jes 2270
-ci_ 2190
-owi 2186
-row 2146
-owy 2109
-_te 2077
-kie 2046
-ost 2030
-wa_ 1992
-się 1990
-zie 1988
-ki_ 1968
-ośc 1966
-czy 1938
-zy_ 1938
-_wi 1924
-zen 1921
-_sp 1886
-ien 1866
-ię_ 1859
-kon 1857
-_cz 1850
-ane 1840
-cie 1835
-pra 1834
-any 1832
-je_ 1828
-_od 1803
-jąc 1801
-str 1790
-ier 1787
-_mi 1786
-nik 1786
-pow 1759
-mie 1741
-_ma 1711
-ku_ 1699
-ach 1667
-ać_ 1666
-nic 1649
-ka_ 1639
-pod 1626
-mi_ 1617
-_pa 1614
-dni 1614
-war 1600
-rac 1582
-ste 1545
-tow 1535
-kow 1533
-icz 1523
-ywa 1516
-zys 1509
-_ja 1507
-iej 1486
-ter 1483
-ent 1478
-_to 1472
-ale 1455
-tyc 1431
-gra 1424
-trz 1408
-ami 1401
-zna 1393
-_o_ 1389
-to_ 1388
-_a_ 1384
-_ob 1382
-roz 1366
-tem 1362
-now 1344
-szy 1336
-edn 1332
-moż 1322
-ist 1319
-nej 1315
-cza 1314
-ycz 1297
-_ty 1296
-za_ 1291
-ram 1276
-sze 1265
-ski 1262
-ska 1259
-arz 1256
-_op 1251
-spo 1250
-ora 1248
-iał 1237
-ra_ 1237
-la_ 1231
-neg 1230
-_ws 1229
-wyc 1228
-ze_ 1228
-_re 1223
-noś 1222
-cja 1218
-zan 1218
-wni 1216
-któ 1214
-_ta 1209
-ali 1209
-dow 1200
-rog 1198
-zac 1194
-że_ 1194
-dan 1193
-aln 1189
-orz 1183
-era 1182
-for 1175
-ogr 1166
-_wa 1165
-nym 1163
-jak 1159
-ają 1156
-nal 1154
-awi 1147
-ika 1146
-zyc 1140
-wer 1128
-orm 1126
-_sk 1125
-ja_ 1123
-_sy 1119
-tan 1116
-_kt 1114
-_us 1114
-ść_ 1114
-sto 1112
-stw 1107
-zia 1106
-pie 1105
-ich 1103
-tór 1096
-raz 1094
-iem 1092
-ony 1091
-ez_ 1087
-ce_ 1085
-zas 1073
-wia 1071
-iu_ 1057
-tra 1056
-_dz 1053
-ied 1050
-lik 1050
-rod 1048
-li_ 1047
-raw 1044
-ący 1043
-_se 1042
-twa 1042
-od_ 1039
-ty_ 1037
-tor 1036
-ran 1034
-wy_ 1033
-_tr 1032
-zne 1029
-_or 1028
-ast 1024
-zez 1022
-iec 1021
-kom 1021
-cho 1017
-iel 1016
-akt 1014
-_pl 1013
-poz 1010
-jed 1008
-ał_ 1005
-cy_ 991
-_da 989
-mu_ 987
-we_ 985
-ków 983
-ak_ 982
-by_ 979
-_ba 971
-ją_ 967
-ry_ 963
-az_ 961
-stę 961
-le_ 960
-my_ 959
-ada 954
-rów 953
-zes 953
-ona 952
-tu_ 952
-yjn 951
-_sz 947
-ecz 946
-taw 945
-ość 944
-usz 944
-dy_ 937
-ędz 937
-sty 933
-ko_ 932
-rma 932
-art 931
-ek_ 929
-_dl 927
-ta_ 926
-_ka 923
-ują 922
-wsz 916
-ekt 914
-zcz 912
-szc 910
-_lu 903
-tęp 903
-sys 902
-sie 899
-two 897
-liz 896
-niu 894
-cyj 889
-ion 887
-tni 884
-sow 881
-odz 880
-_by 879
-one 875
-er_ 874
-ini 874
-uje 872
-bra 865
-kac 865
-_no 864
-wym 864
-acz 857
-nac 857
-por 855
-yci 848
-pol 840
-_ok 839
-dla 837
-zon 837
-aty 834
-ące 830
-ust 828
-ana 818
-pli 818
-_co 813
-sza 813
-erw 811
-uży 809
-tak 806
-men 803
-ucz 801
-acy 800
-bie 800
-erz 800
-lic 800
-_ak 798
-ni_ 796
-zed 796
-_fu 794
-pos 794
-mia 791
-wią 790
-tał 788
-yć_ 788
-_li 782
-lub 781
-leż 779
-mat 777
-wyk 774
-tal 761
-fun 757
-ocz 752
-eń_ 749
-inf 747
-zap 740
-_pi 737
-on_ 736
-adz 733
-nio 732
-min 731
-cia 727
-ozw 725
-tów 725
-wej 724
-_ra 722
-ero 721
-oni 721
-tro 721
-dno 720
-ną_ 719
-_ch 718
-ub_ 718
-unk 718
-oda 716
-opr 712
-ład 709
-mow 705
-ży_ 703
-isk 702
-zwi 702
-oso 700
-ies 699
-zaw 699
-own 698
-ktu 697
-omi 696
-_an 694
-zny 694
-_kr 692
-kcj 692
-mac 691
-iza 688
-wać 688
-ech 686
-int 686
-cen 685
-_zn 684
-ała 684
-ła_ 682
-edz 681
-_uż 680
-iąz 679
-nte 679
-świ 677
-_os 676
-_kl 675
-arc 673
-lne 671
-pis 671
-ję_ 667
-ele 665
-ymi 664
-tko 662
-awa 661
-oże 655
-tyw 655
-bez 652
-zni 650
-_be 649
-kre 649
-teg 646
-ako 644
-tar 644
-_uc 643
-esz 643
-ić_ 643
-ano 637
-_sa 636
-aki 636
-kła 636
-rzą 636
-_bi 635
-nas 633
-ian 632
-ser 632
-dos 631
-uch 628
-odu 627
-odn 626
-_fi 625
-omo 624
-ącz 622
-res 621
-ówn 620
-eci 619
-oku 616
-ięc 615
-weg 615
-stn 613
-łąc 613
-wię 612
-nar 610
-pom 609
-_dr 606
-liw 606
-zec 604
-zeg 602
-_że 596
-wor 596
-ieg 594
-naj 592
-kty 591
-yko 591
-eży 590
-ejs 588
-dza 587
-_ab 586
-amo 586
-ząd 586
-tek 585
-_go 584
-ros 584
-ato 583
-stk 582
-tki 582
-ows 581
-osz 580
-słu 580
-nta 579
-_me 578
-aby 577
-ca_ 577
-owo 576
-_są 574
-wo_ 574
-ńst 569
-kor 568
-_we 565
-_ró 564
-_ce 563
-ma_ 563
-tym 563
-zos 563
-roc 562
-_al 561
-nfo 561
-_zo 560
-cje 558
-ers 557
-lny 555
-no_ 555
-bli 554
-ort 554
-ole 553
-_ze 551
-rto 551
-zym 550
-_wł 549
-inn 549
-są_ 548
-_zw 547
-dze 547
-oce 547
-cyc 546
-ły_ 545
-jny 544
-ate 543
-zeń 542
-dar 541
-ron 540
-po_ 539
-czo 538
-und 537
-iad 536
-_dy 534
-_zm 534
-omp 534
-rzę 534
-emu 533
-ont 533
-_r_ 530
-eśl 530
-chn 526
-am_ 525
-kto 525
-spr 524
-_de 522
-tru 522
-kan 521
-rak 520
-_gr 519
-rok 517
-_fo 516
-wys 516
-moc 514
-rz_ 513
-wsk 512
-iow 511
-ono 507
-ard 506
-re_ 504
-ala 503
-wyb 503
-lac 502
-_zb 500
-asz 500
-oko 500
-zęd 499
-ii_ 498
-met 498
-toś 498
-api 496
-sz_ 496
-zar 496
-wad 494
-mis 493
-zak 493
-ańs 491
-nst 489
-ikó 488
-tac 488
-żli 488
-tur 487
-cję 486
-nan 486
-spó 486
-dus 484
-iet 484
-iek 483
-szu 482
-ożl 481
-bud 480
-odo 480
-ual 480
-om_ 479
-óry 479
-ndu 478
-zmi 478
-sam 474
-ara 473
-as_ 471
-or_ 471
-par 471
-ło_ 471
-będ 469
-hod 469
-ik_ 469
-pon 469
-en_ 467
-ins 467
-ado 465
-te_ 465
-ysk 464
-_ki 463
-ryw 463
-wis 463
-ąc_ 463
-_zd 462
-at_ 462
-im_ 462
-lem 462
-odp 462
-_bu 461
-edy 461
-ług 460
-cis 458
-bio 457
-obi 457
-_pe 455
-ięk 455
-pla 455
-ruc 455
-dro 454
-_ul 453
-god 453
-mni 453
-sob 452
-tos 451
-łow 451
-czą 449
-ań_ 448
-kic 448
-kol 448
-yma 448
-_śr 447
-tec 447
-wła 447
-osi 446
-óre 446
-dom 445
-ąza 444
-ans 443
-ata 443
-czę 443
-tua 443
-and 441
-kli 441
-zyn 441
-być 440
-yta 440
-ępn 440
-ior 438
-esi 437
-pły 437
-_wp 435
-gan 435
-_um 434
-nos 434
-wal 434
-lko 433
-zu_ 433
-enc 431
-obr 431
-_ją 429
-oje 429
-oli 429
-tyk 428
-tyl 426
-an_ 425
-koś 425
-dys 424
-ież 424
-żyt 424
-ewn 423
-ęci 423
-mod 421
-red 421
-zer 421
-jne 419
-ząc 419
-aga 418
-wsp 418
-dat 417
-rdz 417
-okr 414
-łów 414
-pot 413
-da_ 412
-eks 412
-ezp 412
-uni 412
-nis 410
-eli 409
-_ry 408
-eto 408
-low 408
-mów 408
-_ap 405
-ars 405
-pop 405
-zow 405
-ern 403
-lec 402
-ces 401
-co_ 400
-_św 399
-dok 399
-_ur 398
-su_ 398
-rob 395
-wod 395
-zej 395
-pół 394
-ura 394
-wid 394
-zyk 394
-_bę 393
-nny 393
-nt_ 393
-sku 393
-oty 392
-ądz 390
-ały 389
-log 389
-ols 389
-sko 389
-śni 389
-cha 388
-hni 388
-_wo 387
-_au 386
-lu_ 385
-ntr 385
-lsk 384
-mon 383
-win 383
-poc 382
-zwa 382
-_gł 381
-lon 381
-opi 381
-zal 380
-dzo 379
-ten 379
-pad 378
-ogi 377
-pań 377
-akc 376
-_tw 375
-ict 374
-lan 374
-ctw 373
-lni 373
-per 373
-_pł 372
-otr 372
-yni 372
-śli 371
-śro 371
-_ci 370
-_gd 370
-rad 370
-zew 370
-był 369
-ute 369
-_e_ 368
-lat 368
-net 367
-du_ 366
-ed_ 366
-gi_ 366
-ałe 365
-es_ 365
-ina 362
-kat 362
-ytk 362
-zbi 362
-rat 361
-szt 360
-cel 358
-cią 357
-dst 357
-ksz 357
-róż 357
-óln 357
-et_ 356
-żna 356
-_s_ 355
-aci 355
-zaj 355
-_ar 354
-in_ 354
-umi 353
-_wz 352
-oma 351
-ożn 351
-bar 350
-zek 349
-zi_ 349
-duk 348
-eko 347
-obo 347
-rus 347
-ga_ 346
-ybr 345
-ywn 344
-ory 343
-try 343
-_mu 342
-_pu 342
-eż_ 342
-ią_ 342
-kra 342
-ad_ 341
-ało 341
-ncj 340
-_oc 339
-kar 339
-nad 339
-mar 338
-nwe 338
-żen 337
-_ud 336
-óżn 336
-_ca 335
-lno 335
-rea 335
-ope 334
-adk 333
-ame 333
-dpo 333
-elo 333
-onf 333
-och 332
-wno 332
-ema 330
-woś 330
-naz 329
-nu_ 329
-ods 329
-zad 329
-łem 329
-_rz 328
-wał 327
-olo 326
-_is 325
-ełn 325
-kry 325
-odk 325
-peł 325
-szk 325
-ąć_ 325
-_m_ 324
-alo 323
-ru_ 323
-ul_ 323
-dku 322
-rsz 322
-rci 321
-cow 320
-der 320
-nat 320
-ysz 320
-poł 319
-_sł 318
-rwe 318
-wne 317
-iki 316
-len 316
-stu 316
-_ha 315
-nię 315
-_n_ 314
-oto 314
-_on 313
-_sw 313
-_le 312
-nty 312
-yza 312
-zyp 311
-_br 310
-ruk 310
-_dn 309
-man 309
-mię 309
-obl 309
-tat 309
-wą_ 309
-ner 308
-run 308
-_el 307
-kaz 307
-ryc 307
-wyd 307
-mag 306
-pcj 305
-udz 305
-_ad 304
-emy 304
-bib 303
-ing 303
-nak 303
-ylk 303
-ypa 302
-zda 302
-zeb 302
-dob 300
-baz 299
-cz_ 299
-tom 299
-wny 299
-zło 299
-_ot 298
-pyt 298
-rol 298
-wyn 298
-ycj 298
-azw 297
-pan 297
-rza 297
-sk_ 297
-ume 297
-dcz 296
-pre 296
-woj 295
-duj 294
-lis 294
-nku 294
-ukt 294
-_of 293
-wir 293
-żyw 293
-pni 292
-spe 292
-zam 292
-śre 292
-_og 290
-tio 290
-łan 290
-azy 289
-ozy 289
-atu 288
-eme 288
-tel 288
-ury 288
-uwa 288
-mog 287
-reś 287
-amy 286
-nag 286
-sa_ 286
-zyw 286
-etr 285
-irm 285
-łu_ 285
-_zł 284
-ere 284
-fir 284
-las 283
-wow 283
-_dw 282
-_mn 281
-aro 281
-gól 281
-twi 281
-ywi 281
-awn 280
-daj 280
-dot 280
-każ 280
-oka 280
-zem 280
-anu 279
-ela 279
-oln 279
-awo 278
-jeś 278
-rej 278
-uro 278
-iwo 277
-put 277
-amu 276
-eru 276
-ode 276
-zpi 276
-_zg 275
-mpu 275
-rtu 275
-ył_ 275
-cą_ 274
-emi 274
-nkc 274
-rst 274
-wat 274
-_la 273
-gen 273
-rys 273
-umo 273
-ępu 273
-cej 272
-uto 272
-ark 271
-ozn 271
-_ed 270
-bow 270
-eta 270
-iat 270
-iru 270
-opc 270
-pew 270
-wol 270
-dod 269
-ntó 269
-wes 269
-wi_ 269
-aut 268
-ord 268
-atk 267
-dne 267
-rne 267
-iew 266
-nni 266
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/pt.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/pt.ngp
deleted file mode 100644
index 34f0d66..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/pt.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-os_ 106562
-_de 94943
-de_ 78029
-ão_ 73364
-_co 70082
-as_ 67724
-ent 63763
-_qu 59914
-que 56968
-_a_ 55050
-do_ 50486
-_se 49212
-ue_ 48768
-nte 47706
-te_ 43622
-es_ 41035
-men 38593
-da_ 37937
-to_ 37913
-_pr 37585
-_re 37101
-est 35702
-com 34832
-con 33816
-em_ 33441
-_do 32672
-_es 32519
-_e_ 32507
-_po 32472
-ção 32297
-_pa 31603
-_o_ 31584
-_da 31273
-ia_ 28540
-ar_ 28269
-res 28202
-ra_ 27948
-sta 25994
-dos 25956
-par 25402
-_um 25401
-_no 25025
-ado 24915
-nto 23364
-or_ 22082
-er_ 21774
-ma_ 21744
-açã 21040
-ame 20887
-se_ 20757
-pre 20137
-_em 19954
-_in 19858
-pro 19578
-ida 19522
-is_ 18817
-ara 18446
-ta_ 18437
-ica 18404
-_pe 18337
-sen 18221
-_di 17530
-por 17260
-_ma 17070
-mos 16899
-ter 16877
-_as 16774
-_me 16634
-dad 16600
-cia 16511
-uma 16455
-ess 16398
-tra 16270
-ade 16261
-des 15992
-ria 15577
-al_ 15111
-no_ 15108
-_te 14909
-ões 14808
-um_ 14573
-nta 14430
-das 14350
-são 14212
-_os 14194
-io_ 14192
-ais 14167
-ant 14084
-iss 13625
-não 13461
-rop 13397
-_nã 13395
-_é_ 13171
-ont 13118
-_na 13074
-nos 13062
-tiv 12897
-ito 12896
-ada 12829
-tad 12776
-ons 12392
-ela 12316
-nci 12089
-ste 11923
-rio 11757
-enh 11729
-so_ 11496
-tar 11461
-tos 11247
-uro 11192
-hor 11032
-pos 11024
-na_ 11017
-_eu 10972
-mo_ 10866
-nho 10866
-sso 10690
-omi 10640
-çõe 10399
-ist 10262
-mis 10234
-era 10204
-ro_ 10200
-am_ 10193
-eur 10130
-rec 10096
-om_ 10046
-_so 9861
-_ao 9830
-ser 9818
-_tr 9786
-ca_ 9780
-tam 9767
-per 9754
-_ap 9673
-_al 9658
-ect 9564
-ver 9488
-for 9481
-ntr 9414
-_ac 9353
-_ca 9305
-_ex 9293
-tem 9248
-eit 9235
-_en 9219
-qua 9034
-ime 8935
-esp 8865
-ran 8858
-sid 8855
-_fa 8763
-_fo 8732
-mas 8639
-ora 8629
-_ne 8572
-tic 8563
-ope 8466
-ide 8439
-tes 8388
-_su 8376
-ssã 8355
-re_ 8323
-ese 8299
-oss 8245
-ido 8211
-uni 8210
-int 8208
-_à_ 8189
-iva 8175
-ssa 8166
-ári 8155
-ndo 8121
-_ta 8067
-emo 8061
-_to 7968
-ece 7913
-sse 7912
-ura 7784
-rel 7763
-ass 7728
-mai 7648
-ram 7548
-ita 7497
-ost 7487
-den 7473
-omo 7470
-ou_ 7463
-sa_ 7368
-der 7355
-ali 7352
-eri 7351
-lo_ 7317
-ten 7311
-spe 7290
-ir_ 7147
-egu 7129
-ros 7115
-pel 7067
-eu_ 7040
-gra 6993
-lat 6985
-ere 6934
-ao_ 6878
-fic 6878
-orm 6832
-eir 6796
-cio 6770
-ort 6754
-str 6660
-tan 6635
-ati 6620
-eve 6602
-rma 6598
-sti 6573
-_mu 6512
-amb 6510
-ém_ 6467
-ina 6454
-pri 6443
-nde 6440
-_ou 6344
-açõ 6287
-_si 6277
-eci 6249
-reg 6226
-_ve 6210
-dir 6158
-cto 6140
-ênc 6128
-obr 6108
-art 6093
-pei 6087
-lho 6046
-end 6024
-raç 5997
-and 5978
-ico 5954
-ona 5904
-vel 5857
-co_ 5802
-el_ 5771
-tas 5765
-va_ 5763
-iza 5727
-seg 5718
-lam 5713
-ion 5694
-emp 5692
-_im 5671
-ual 5667
-ire 5664
-_an 5649
-tur 5635
-dev 5609
-ho_ 5572
-imp 5569
-ode 5568
-tro 5561
-lar 5555
-esi 5545
-_vi 5512
-bre 5444
-cor 5371
-eia 5360
-amo 5358
-dep 5357
-_fi 5339
-ili 5321
-_mo 5306
-ces 5289
-ios 5276
-cas 5275
-tor 5273
-ias 5222
-ião 5200
-nti 5178
-cti 5166
-pen 5166
-tod 5161
-act 5155
-uta 5153
-pod 5129
-_un 5090
-lid 5078
-rta 5033
-fer 5032
-ele 5025
-nda 5019
-sob 5018
-nse 5009
-ici 4964
-rem 4950
-nst 4946
-ore 4919
-ome 4891
-ind 4883
-itu 4841
-min 4839
-mpo 4831
-rei 4827
-mpr 4795
-efe 4776
-ref 4772
-pol 4761
-ses 4755
-íti 4736
-uit 4734
-car 4717
-odo 4717
-bém 4713
-mbé 4713
-dem 4679
-rat 4667
-und 4666
-ema 4658
-ssi 4650
-rad 4634
-tão 4628
-cer 4612
-man 4585
-ivo 4584
-dis 4581
-ens 4561
-sto 4547
-ord 4540
-lic 4534
-rá_ 4530
-eco 4528
-qui 4525
-nha 4521
-_gr 4500
-nal 4500
-spo 4493
-niã 4449
-vo_ 4449
-ira 4439
-ano 4426
-emb 4419
-are 4417
-cad 4410
-edi 4377
-elh 4361
-elo 4357
-mui 4351
-_li 4340
-tal 4329
-pon 4322
-ari 4290
-nas 4289
-inc 4271
-sem 4269
-_cr 4229
-ori 4229
-ial 4227
-_or 4208
-opo 4188
-vid 4158
-la_ 4129
-olí 4126
-ras 4118
-aci 4110
-_at 4109
-lme 4106
-go_ 4097
-put 4093
-_ob 4079
-me_ 4076
-col 4070
-epu 4048
-liz 4048
-óri 4048
-lít 4036
-rla 4024
-_fu 4005
-ate 3992
-ern 3983
-nes 3975
-rar 3975
-erc 3961
-uer 3926
-omp 3919
-erm 3911
-tór 3905
-ula 3903
-_mi 3896
-cid 3889
-_sa 3857
-nça 3850
-egi 3847
-arl 3827
-ata 3817
-rte 3813
-_go 3808
-íve 3780
-apr 3769
-ça_ 3758
-nic 3743
-ini 3739
-_is 3733
-iro 3702
-alm 3672
-anç 3671
-_ci 3662
-_le 3650
-mun 3641
-oci 3640
-tri 3619
-onc 3592
-stã 3582
-_el 3580
-tua 3575
-sua 3550
-ifi 3546
-ien 3536
-enc 3532
-omu 3514
-rti 3507
-sas 3494
-_ag 3493
-vol 3493
-taç 3492
-sár 3491
-mer 3480
-ua_ 3466
-pec 3465
-ssá 3451
-ndi 3437
-fun 3410
-alt 3409
-fin 3402
-tid 3383
-cul 3370
-ues 3348
-sos 3346
-bil 3339
-aís 3330
-cri 3328
-gar 3326
-paí 3314
-poi 3308
-dec 3290
-mes 3286
-uan 3283
-gos 3282
-gun 3280
-ató 3270
-bal 3265
-leg 3264
-tre 3263
-mem 3262
-içã 3251
-_ad 3249
-ins 3248
-equ 3232
-roc 3227
-dam 3223
-zer 3223
-erá 3216
-ret 3210
-ren 3200
-rda 3199
-esc 3190
-aba 3180
-unt 3179
-out 3168
-esa 3167
-_vo 3165
-mbr 3156
-sol 3149
-laç 3132
-tit 3128
-erv 3120
-utr 3120
-ega 3113
-_ju 3110
-_am 3103
-did 3098
-mpl 3090
-mei 3086
-aqu 3082
-aco 3073
-nce 3072
-bro 3067
-_ba 3065
-lem 3064
-ral 3061
-ven 3058
-nco 3055
-nsi 3054
-ena 3053
-rim 3049
-dor 3045
-sej 3045
-cos 3034
-peu 3033
-eja 3032
-uçã 3029
-ond 3021
-cei 3020
-seu 3017
-ha_ 3007
-aos 3002
-smo 2996
-ve_ 2988
-cis 2986
-rea 2986
-nec 2951
-po_ 2939
-vis 2935
-sit 2932
-uto 2924
-ult 2922
-env 2919
-ero 2897
-_sã 2889
-rmo 2885
-tin 2885
-enç 2883
-mit 2881
-ior 2880
-olv 2880
-dia 2860
-soc 2859
-eme 2857
-_au 2843
-sel 2825
-vam 2817
-ala 2814
-até 2801
-ois 2775
-nov 2773
-pes 2768
-ber 2765
-jec 2763
-zaç 2763
-ova 2752
-alh 2748
-vos 2731
-evi 2730
-inh 2730
-ust 2722
-_ho 2709
-_ab 2708
-fac 2704
-rab 2700
-cre 2697
-err 2687
-ert 2678
-ama 2673
-áve 2664
-mar 2662
-nvo 2658
-anc 2657
-_cu 2651
-im_ 2647
-exi 2643
-ete 2641
-rna 2634
-faz 2626
-olu 2612
-alg 2608
-ape 2608
-ota 2601
-orç 2590
-rev 2582
-sim 2575
-mbi 2569
-_ce 2568
-éri 2561
-cla 2555
-tir 2554
-abe 2541
-caç 2536
-ani 2529
-orr 2514
-já_ 2512
-_já 2509
-nad 2508
-tim 2479
-_be 2469
-oce 2462
-esm 2455
-rov 2454
-rig 2451
-ove 2449
-rod 2446
-imo 2443
-dar 2441
-aze 2426
-_lo 2419
-nid 2419
-_fe 2414
-osi 2409
-eno 2398
-ima 2394
-dic 2384
-_va 2375
-rmi 2375
-ans 2370
-lte 2364
-erg 2362
-_ch 2360
-tud 2358
-erd 2356
-cen 2352
-vas 2337
-íse 2336
-iti 2334
-_ec 2327
-lgu 2325
-oi_ 2325
-stá 2324
-foi 2316
-_aq 2315
-ja_ 2315
-vez 2314
-pa_ 2312
-imi 2311
-ez_ 2302
-squ 2299
-_lu 2289
-med 2288
-igo 2286
-ace 2285
-gur 2283
-_ge 2281
-rre 2275
-rep 2271
-nsa 2265
-ric 2264
-ce_ 2259
-sis 2258
-ns_ 2256
-ui_ 2251
-_op 2243
-gui 2243
-nom 2240
-_ef 2238
-pli 2232
-às_ 2226
-ble 2224
-eis 2223
-rca 2222
-tec 2222
-içõ 2220
-oca 2218
-_às 2216
-nve 2192
-olo 2191
-_ra 2188
-_nu 2186
-tá_ 2186
-_la 2180
-dif 2178
-ext 2171
-iar 2165
-lhe 2163
-inf 2149
-rog 2141
-lvi 2134
-gua 2133
-us_ 2133
-rid 2129
-abi 2127
-opa 2126
-nçã 2124
-ego 2119
-_há 2116
-iam 2115
-tru 2114
-ço_ 2112
-iga 2100
-odu 2097
-rin 2090
-ume 2090
-_fr 2089
-oda 2088
-oje 2088
-há_ 2087
-vem 2087
-ogr 2084
-nac 2076
-los 2072
-bat 2066
-diz 2061
-ovo 2059
-lta 2052
-isa 2050
-rno 2050
-pas 2046
-bor 2045
-isc 2033
-nan 2031
-gor 2027
-onf 2026
-cam 2020
-ato 2019
-fei 2017
-ive 2014
-ocu 2014
-lha 2007
-lim 2003
-vei 2003
-exe 1998
-uir 1998
-ain 1996
-apo 1996
-bri 1996
-mpe 1995
-efi 1994
-uas 1994
-rib 1990
-agr 1988
-ola 1984
-sab 1984
-bem 1983
-cim 1981
-tár 1976
-eus 1975
-cçã 1970
-ibu 1967
-clu 1963
-dei 1960
-tui 1946
-aso 1944
-rit 1941
-bas 1938
-rên 1937
-quo 1932
-rdo 1932
-sar 1932
-exp 1928
-can 1927
-cie 1926
-pró 1924
-_ai 1922
-ple 1910
-eal 1898
-age 1891
-itá 1883
-siç 1871
-udo 1868
-_cl 1867
-mat 1862
-bje 1855
-iad 1847
-obj 1841
-rça 1840
-gen 1838
-lan 1838
-uo_ 1835
-vim 1834
-nor 1832
-_ti 1828
-ana 1825
-abo 1823
-ole 1817
-utu 1810
-rga 1804
-sam 1804
-ava 1802
-isp 1802
-upo 1801
-atr 1797
-ced 1789
-num 1785
-rde 1782
-ize 1778
-ris 1777
-mod 1768
-nai 1759
-mic 1757
-gem 1744
-def 1741
-lis 1740
-iaç 1739
-ssu 1732
-rão 1726
-via 1723
-cur 1718
-rup 1718
-til 1712
-rob 1707
-lei 1706
-tér 1702
-luç 1698
-ers 1696
-eio 1694
-raz 1693
-xis 1693
-ham 1692
-uti 1687
-ase 1678
-bli 1677
-rav 1669
-tai 1667
-deb 1663
-obl 1657
-red 1656
-_ha 1651
-uaç 1650
-lec 1647
-_ar 1646
-ite 1644
-lev 1641
-rqu 1640
-ivi 1639
-nhe 1639
-_ir 1632
-onh 1630
-uiç 1627
-gru 1625
-rom 1624
-uga 1622
-eba 1621
-ctu 1619
-eva 1619
-gia 1615
-ote 1610
-sív 1603
-atu 1598
-ibi 1597
-vot 1597
-arm 1594
-_af 1591
-ave 1590
-maç 1590
-ncl 1584
-nar 1581
-aio 1580
-mel 1578
-_tu 1574
-hum 1572
-sub 1569
-ger 1566
-val 1561
-íci 1554
-_ev 1553
-ves 1552
-egr 1551
-dão 1545
-_du 1541
-anh 1538
-nis 1529
-ecu 1525
-uin 1524
-las 1522
-ede 1521
-onv 1517
-icu 1513
-uda 1513
-ós_ 1513
-ife 1511
-ian 1510
-nív 1509
-arg 1507
-eta 1505
-sõe 1502
-efo 1496
-plo 1480
-nóm 1478
-uns 1478
-tom 1475
-les 1474
-soa 1474
-çam 1474
-rvi 1473
-vad 1473
-rot 1470
-eda 1468
-lug 1459
-ene 1456
-zad 1450
-gum 1448
-mil 1444
-tou 1443
-eli 1438
-aut 1432
-jud 1430
-ei_ 1428
-sco 1426
-_ga 1423
-mul 1423
-gov 1419
-duz 1417
-rie 1414
-uai 1414
-uad 1413
-rce 1412
-eti 1411
-ga_ 1408
-orn 1408
-_pl 1407
-ómi 1407
-nit 1406
-nfo 1402
-har 1399
-afi 1397
-nso 1396
-_ní 1393
-sum 1393
-eso 1392
-fal 1392
-rgu 1392
-ssí 1392
-apl 1390
-onó 1390
-_bo 1388
-unc 1388
-lad 1387
-rme 1387
-gul 1386
-áti 1386
-hec 1385
-lti 1385
-ilh 1379
-gis 1377
-cta 1374
-rol 1370
-_só 1364
-tab 1363
-acç 1357
-rtu 1356
-mon 1348
-sec 1347
-_hu 1345
-ino 1343
-cip 1340
-nam 1340
-tig 1335
-sul 1332
-lia 1331
-ism 1326
-loc 1326
-ços 1324
-inu 1323
-lib 1322
-iai 1321
-ânc 1317
-oso 1315
-rto 1315
-fra 1311
-oma 1311
-isã 1302
-nsu 1301
-ãos 1298
-irm 1290
-_lh 1284
-meu 1281
-il_ 1277
-ong 1274
-só_ 1274
-cit 1273
-igu 1272
-mad 1268
-té_ 1267
-che 1263
-ulo 1258
-nua 1257
-ner 1254
-ago 1251
-gas 1249
-sad 1249
-nat 1246
-gad 1245
-mid 1244
-lor 1243
-rac 1243
-pio 1242
-fec 1240
-ast 1236
-bra 1236
-púb 1236
-úbl 1235
-nsp 1231
-paç 1231
-nif 1230
-róp 1230
-dim 1229
-ltu 1229
-fir 1226
-ópr 1224
-bit 1223
-gue 1223
-ign 1222
-pla 1222
-ipa 1219
-adã 1217
-ane 1216
-ecç 1211
-tân 1211
-adi 1207
-ibe 1207
-je_ 1207
-bie 1200
-za_ 1198
-az_ 1195
-apa 1194
-len 1194
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/ru.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/ru.ngp
deleted file mode 100644
index c511236..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/ru.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-_пр 9592
-_по 8070
-ени 7619
-ия_ 6631
-_в_ 6350
-_и_ 5933
-_на 5572
-ния 5354
-ост 5176
-ой_ 5065
-го_ 5034
-ть_ 4905
-ани 4896
-ых_ 4822
-про 4721
-ие_ 4584
-ого 4559
-ии_ 4511
-ств 4390
-ов_ 4369
-на_ 4272
-льн 4235
-_ко 4214
-_за 3993
-_ра 3990
-аци 3945
-ова 3943
-ных 3920
-ред 3688
-нны 3676
-ние 3659
-_со 3651
-_об 3634
-тел 3578
-ров 3376
-ста 3370
-ет_ 3268
-ся_ 3263
-пол 3219
-при 3196
-_ка 3169
-_не 3092
-мен 3061
-енн 3026
-ван 2947
-_вы 2901
-но_ 2880
-ель 2875
-лен 2862
-пре 2856
-сти 2841
-ом_ 2758
-_до 2739
-_ст 2732
-нно 2699
-анн 2691
-ист 2663
-ми_ 2632
-_ре 2558
-ые_ 2544
-ног 2531
-ий_ 2526
-ции 2506
-ли_ 2484
-нос 2471
-ти_ 2468
-чес 2446
-ной 2439
-тов 2404
-стр 2399
-раз 2381
-ьно 2373
-тся 2359
-_из 2357
-пер 2345
-дан 2342
-ате 2303
-иче 2236
-ля_ 2232
-ите 2220
-_от 2218
-ско 2213
-_с_ 2211
-оль 2211
-ест 2188
-нов 2187
-ент 2175
-_ин 2172
-ки_ 2154
-тор 2129
-еск 2123
-те_ 2119
-ая_ 2105
-их_ 2101
-аль 2056
-етс 2037
-_да 2027
-ать 2002
-та_ 1962
-тве 1959
-кон 1935
-_те 1922
-рав 1922
-_пе 1917
-вле 1910
-ера 1904
-ка_ 1903
-_мо 1888
-ные 1888
-ово 1832
-ый_ 1828
-пра 1824
-ей_ 1810
-ран 1802
-сте 1796
-ото 1776
-ем_ 1756
-не_ 1756
-_дл 1744
-_оп 1730
-нен 1713
-для 1703
-еде 1701
-дел 1700
-ком 1679
-орм 1674
-аст 1667
-сто 1663
-ски 1652
-то_ 1651
-_во 1623
-ере 1601
-тем 1581
-иро 1575
-рат 1566
-ьны 1537
-_си 1534
-тро 1530
-тер 1515
-фор 1503
-_о_ 1500
-ако 1493
-ое_ 1491
-_ос 1483
-ков 1460
-ным 1448
-чен 1439
-по_ 1437
-тан 1436
-тра 1431
-ва_ 1422
-авл 1414
-_то 1412
-_та 1405
-_де 1400
-нал 1399
-сть 1391
-или 1385
-_эт 1384
-_ис 1376
-_го 1374
-_сп 1367
-ват 1363
-ный 1352
-дер 1340
-сис 1336
-ты_ 1326
-спо 1322
-ает 1309
-_ме 1307
-рос 1305
-под 1302
-ден 1301
-оди 1293
-вен 1270
-ион 1265
-оро 1264
-ове 1255
-ить 1254
-ект 1251
-пос 1251
-еле 1239
-_а_ 1238
-_ма 1231
-ном 1230
-або 1223
-тно 1223
-бор 1213
-_но 1211
-зак 1211
-так 1208
-рма 1207
-мож 1205
-_к_ 1186
-вер 1185
-тав 1184
-_ус 1179
-иск 1179
-анд 1176
-ра_ 1176
-ым_ 1176
-_сл 1171
-оже 1167
-дат 1165
-вля 1155
-ию_ 1155
-ива 1151
-раб 1142
-вод 1141
-али 1140
-ны_ 1128
-зов 1127
-тив 1120
-ник 1116
-льз 1115
-его 1111
-сов 1111
-_ди 1109
-оло 1109
-том 1108
-сле 1106
-_се 1103
-рас 1100
-_чт 1099
-име 1097
-это 1092
-_ли 1090
-жен 1086
-рем 1086
-_ил 1083
-что 1080
-ход 1079
-дст 1076
-лов 1073
-ую_ 1066
-гра 1063
-онн 1062
-нии 1058
-как 1052
-да_ 1050
-кан 1043
-ак_ 1038
-спе 1037
-кой 1029
-_па 1026
-рам 1025
-цио 1021
-инф 1020
-яет 1019
-выб 1015
-ляе 1015
-рац 1012
-ах_ 1011
-жно 1008
-сно 1007
-бра 1002
-нфо 986
-бот 984
-тре 973
-мы_ 971
-она 970
-род 968
-ами 949
-вре 939
-ита 939
-мат 933
-ний 932
-ее_ 931
-ери 929
-пис 927
-кот 926
-печ 920
-ати 919
-мац 919
-ная 918
-ика 912
-еме 905
-исп 900
-ска 899
-вет 898
-мер 897
-му_ 896
-дос 894
-_бы 892
-иза 890
-ког 889
-уст 887
-ато 884
-дит 884
-ора 883
-от_ 880
-очн 879
-едс 878
-ода 878
-спр 875
-ющи 873
-_вс 867
-из_ 865
-олн 865
-зна 864
-чет 864
-обр 862
-уме 862
-одн 860
-ное 856
-осу 856
-_св 854
-вед 851
-ане 850
-дар 844
-иал 843
-_вр 841
-зац 835
-опр 835
-ара 834
-им_ 834
-овы 833
-емы 832
-арт 830
-ри_ 830
-ких 829
-ма_ 829
-же_ 828
-за_ 827
-ция 824
-тва 823
-ано 821
-кци 816
-тич 814
-лас 813
-нди 813
-оду 811
-ана 804
-ам_ 802
-нач 795
-сси 794
-тат 794
-во_ 792
-ида 792
-бир 788
-ира 787
-огр 781
-каз 780
-дис 779
-од_ 779
-ыбо 777
-изб 771
-лит 771
-лож 770
-нта 762
-рог 762
-лог 761
-ко_ 755
-док 754
-зво 754
-оку 752
-_тр 751
-_е_ 748
-зда 748
-ры_ 748
-овл 746
-пар 742
-_ср 739
-зби 738
-овн 738
-_ни 734
-пла 734
-осн 730
-уще 730
-ерж 729
-акт 726
-ожн 725
-_ве 723
-вны 723
-лед 722
-_им 721
-аво 721
-ующ 721
-дид 720
-нит 720
-тац 719
-оры 716
-тст 715
-еди 714
-рег 712
-ьзо 712
-ерв 711
-ла_ 711
-слу 710
-асс 704
-бъе 704
-час 704
-рно 703
-иру 702
-опе 700
-отв 699
-_че 693
-рез 693
-ико 692
-_уч 690
-тво 690
-щес 689
-ок_ 687
-все 685
-соб 685
-_пл 684
-мин 684
-хра 684
-лич 683
-шен 683
-_од 680
-кол 678
-ле_ 678
-ни_ 678
-зан 677
-ори 677
-оде 673
-имо 672
-аче 671
-вол 671
-дов 670
-ку_ 670
-луч 669
-уча 669
-ях_ 667
-уда 666
-вой 664
-есп 662
-ст_ 662
-_т_ 661
-аза 658
-ыми 658
-едо 657
-жет 657
-воз 656
-нти 655
-ели 653
-сре 653
-вно 651
-ует 651
-низ 650
-_су 649
-еду 649
-ата 647
-цен 647
-_н_ 644
-ер_ 641
-асп 640
-нте 639
-_ор 637
-_ми 636
-бли 635
-ке_ 635
-соо 634
-_фе 633
-ант 632
-рои 630
-ивн 629
-оце 629
-рен 628
-кум 627
-_ба 626
-обл 626
-объ 626
-вит 624
-кто 624
-вае 623
-зде 623
-клю 623
-_см 616
-_фо 616
-оли 614
-зап 613
-зме 612
-йст 611
-люч 608
-_бу 607
-аги 607
-тны 606
-явл 606
-тву 605
-гот 604
-атн 602
-ока 602
-ини 601
-ием 599
-суд 599
-орг 598
-пор 598
-_це 597
-дол 597
-оле 597
-тия 597
-_фа 596
-_ро 593
-тех 593
-_ан 592
-ина 592
-сли 592
-амм 591
-ейс 591
-ит_ 591
-лат 590
-рга 586
-_бо 585
-ало 583
-ема 581
-ган 579
-нто 579
-чно 579
-оме 578
-фед 576
-бол 575
-тви 575
-льк 574
-обы 574
-дин 573
-осс 573
-рал 572
-_бл 571
-ную 571
-реб 571
-лей 570
-са_ 570
-мет 569
-ютс 568
-_ва 565
-бес 565
-озд 563
-тур 560
-осо 559
-три 559
-год 558
-еда 558
-кти 557
-рес 557
-одо 556
-инт 555
-еля 554
-ене 554
-нию 554
-око 554
-отр 553
-рой 552
-_аг 551
-ль_ 551
-_ес 550
-ави 550
-азд 549
-ехн 549
-ому 549
-кла 548
-омп 548
-сь_ 547
-нич 546
-еги 544
-отк 544
-рим 544
-ют_ 543
-_уп 539
-вых 539
-сло 539
-изв 538
-щен 535
-_бе 534
-_ок 533
-тек 532
-гит 531
-_гр 529
-вую 529
-дно 528
-оля 527
-ыва 527
-ити 526
-обе 524
-сту 524
-бы_ 523
-олж 523
-быт 522
-апр 521
-рти 521
-тол 521
-оно 520
-соз 519
-рит 517
-уль 515
-_кр 514
-стн 512
-ета 511
-код 508
-мас 507
-нст 507
-сер 505
-сущ 505
-ься 505
-нда 504
-оиз 504
-тьс 503
-ен_ 502
-оот 502
-льт 500
-мя_ 499
-ела 497
-аме 496
-кам 495
-гов 494
-есс 493
-чат 493
-ций 491
-чни 490
-ерн 489
-иях 489
-лиз 489
-общ 489
-убл 489
-бла 488
-ови 488
-рст 486
-оги 485
-лок 484
-нас 484
-_ку 483
-_ти 483
-поз 483
-ут_ 482
-чит 481
-воч 480
-емо 479
-бло 478
-обо 478
-_ча 476
-_яв 476
-рус 476
-нтр 475
-дук 474
-ичн 470
-упр 470
-ыть 470
-_вк 469
-змо 467
-чны 467
-мос 466
-нар 466
-лек 465
-туп 464
-есл 463
-гос 461
-вкл 459
-вто 458
-иям 458
-ают 457
-ме_ 456
-_др 453
-отн 453
-сок 453
-нес 452
-_хр 450
-ло_ 450
-раж 449
-_фи 448
-лиц 447
-тоб 447
-има 446
-еро 445
-кие 445
-лик 445
-ляю 444
-сво 443
-ици 440
-мес 440
-яти 440
-ью_ 439
-ерс 438
-орн 438
-одс 437
-рна 437
-арс 436
-гла 436
-ежд 436
-щих 436
-рия 435
-сос 435
-ете 434
-онт 433
-_п_ 432
-мог 432
-ним 432
-тру 431
-чае 431
-чис 429
-циа 427
-ома 426
-реж 426
-вып 425
-озм 425
-_зн 423
-там 423
-_он 422
-ве_ 422
-ан_ 421
-выс 421
-цию 421
-еча 420
-лис 420
-_вн 419
-айл 418
-до_ 418
-ече 417
-ре_ 417
-дет 416
-ена 416
-об_ 416
-руг 416
-фай 416
-вир 415
-льс 415
-пом 415
-ада 414
-ду_ 414
-_ру 412
-лад 412
-пус 412
-изм 411
-ики 411
-сче 411
-ько 411
-ечи 409
-он_ 408
-вор 407
-пов 407
-ето 405
-рое 404
-юще 402
-азо 401
-ено 401
-опи 401
-ром 401
-тог 401
-ять 401
-еоб 399
-рол 399
-уче 399
-буд 398
-урн 397
-рок 396
-вы_ 395
-_ви 394
-бще 394
-екс 394
-роц 394
-тоя 394
-азр 393
-тит 393
-щие 393
-иде 392
-_г_ 391
-ающ 391
-ава 390
-зат 390
-ими 390
-осл 390
-они 389
-исл 388
-ями 387
-_же 386
-аки 386
-вид 384
-сод 384
-ор_ 383
-де_ 382
-рио 382
-овк 381
-пан 381
-мир 379
-се_ 378
-ала 377
-ади 376
-жны 375
-нап 375
-ъек 375
-_са 374
-дей 374
-емя 374
-_пу 373
-_х_ 372
-риа 372
-хни 372
-дач 371
-_ав 370
-кая 370
-дим 369
-ари 368
-гру 367
-ким 367
-тип 365
-жде 364
-рив 364
-усл 363
-ьзу 363
-лжн 361
-яте 360
-дру 359
-жит 359
-ссо 359
-_чи 358
-был 358
-_р_ 357
-иви 357
-мно 357
-пуб 357
-кры 356
-озв 356
-_ск 355
-иса 355
-нео 355
-обн 354
-кно 353
-ень 352
-кор 352
-ту_ 352
-баз 351
-нут 351
-рин 351
-нак 350
-_га 349
-спи 349
-едв 346
-инс 346
-_эф 345
-гис 345
-ебо 345
-ям_ 345
-_ег 343
-едн 343
-лем 343
-авт 342
-акж 342
-ащи 342
-ды_ 342
-кже 342
-вне 341
-дея 341
-зад 340
-яза 340
-_ар 338
-аем 337
-вос 337
-рон 337
-сам 337
-_ло 336
-ены 335
-жур 335
-сми 334
-ака 332
-рис 332
-тик 332
-чив 332
-вал 331
-_эк 330
-йте 330
-кта 329
-_жу 328
-ажд 328
-кро 328
-мод 328
-ачи 327
-сет 327
-той 327
-укт 327
-кий 325
-твл 325
-_мн 324
-рек 324
-_кл 323
-_м_ 323
-er_ 323
-цес 323
-гор 322
-изи 322
-мощ 322
-сан 322
-унк 322
-уро 321
-дак 320
-еят 320
-ота 320
-ело 319
-окн 319
-чи_ 319
-_их 318
-чер 318
-яют 318
-рми 317
-уде 317
-азы 316
-тир 316
-_л_ 315
-_сч 315
-ней 315
-эле 315
-ару 314
-лер 313
-рот 313
-бов 312
-омо 311
-обх 310
-ине 309
-наз 309
-оми 309
-_эл 308
-бхо 308
-ино 308
-_ук 307
-вяз 307
-рир 307
-аже 306
-еще 306
-пот 305
-фир 305
-укц 304
-аты 303
-мпа 303
-ез_ 301
-нци 301
-смо 301
-_дв 300
-ины 300
-лее 300
-рск 300
-уск 300
-щег 300
-абл 298
-льш 298
-опу 298
-_ад 297
-_хо 297
-азм 296
-изн 296
-реа 296
-тки 296
-точ 296
-ача 295
-азн 294
-анс 294
-ин_ 294
-олу 294
-_я_ 293
-вия 293
-нят 293
-нна 292
-па_ 292
-тар 292
-лос 291
-тв_ 291
-доб 290
-ило 290
-ука 290
-мот 289
-реш 289
-иен 288
-ваю 287
-айт 286
-иод 286
-кул 286
-нты 286
-рве 286
-авн 285
-меж 285
-над 285
-оче 285
-рет 285
-_ур 284
-ети 284
-рук 284
-юча 284
-_ле 283
-_уд 283
-бле 283
-уры 283
-еща 282
-_лю 281
-але 281
-дал 279
-рак 279
-двы 278
-аро 277
-ноп 277
-_пи 276
-ибо 276
-нь_ 275
-оне 275
-риг 275
-нт_ 274
-рев 274
-ему 273
-изд 273
-кра 273
-пле 273
-_би 272
-обс 272
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/sv.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/sv.ngp
deleted file mode 100644
index 77336f9..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/sv.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-en_ 92283
-_de 80300
-et_ 65529
-tt_ 62645
-för 61570
-er_ 59169
-att 50169
-_fö 49849
-om_ 48354
-_at 44382
-det 42846
-de_ 39705
-_oc 38975
-ar_ 35734
-ch_ 35025
-och 35007
-ing 34078
-ör_ 32266
-_vi 32126
-_in 31054
-_i_ 30495
-nde 30447
-är_ 29798
-and 28993
-som 28602
-_so 28589
-an_ 27688
-ter 27216
-_me 27166
-na_ 27106
-den 26707
-ll_ 25984
-ra_ 25362
-ill 25097
-_av 24638
-ska 24452
-_en 23817
-_ko 23771
-ion 23550
-_ti 21676
-lig 20583
-av_ 20481
-ag_ 20283
-_är 20198
-te_ 20181
-til 20149
-ta_ 19519
-_ha 19362
-nte 19169
-med 19136
-gen 19065
-ka_ 18825
-ett 18812
-_om 18718
-isk 18716
-nin 18697
-_fr 18084
-one 17519
-rna 17506
-kom 17054
-_be 17045
-men 15944
-lle 15910
-_st 15861
-ga_ 15640
-vi_ 15539
-der 15492
-_på 15488
-ng_ 15337
-int 15304
-all 15285
-omm 15031
-_sk 14735
-_ja 14591
-jag 14120
-_ut 14114
-på_ 13913
-era 13666
-ern 13636
-la_ 13405
-ens 13249
-_an 12925
-ste 12832
-ed_ 12717
-ätt 12682
-as_ 12589
-var 12560
-har 12468
-het 12390
-nen 12157
-ent 12063
-man 11899
-tta 11826
-_va 11679
-sta 11672
-lla 11340
-_re 11095
-ns_ 10879
-_et 10857
-rin 10843
-sam 10801
-ler 10711
-ver 10695
-_eu 10678
-ara 10628
-gar 10424
-frå 10330
-örs 10214
-ten 10210
-tio 10160
-ell 10020
-ade 10013
-mis 10012
-kan 10011
-iga 9922
-änd 9862
-gt_ 9849
-iss 9835
-nge 9731
-ans 9689
-uro 9647
-eur 9634
-upp 9482
-re_ 9413
-tet 9405
-igt 9403
-ati 9374
-rop 9343
-ete 9336
-_sa 9328
-_ta 9317
-ran 9232
-bet 9156
-_mi 9142
-_pr 9059
-vil 9005
-_al 8984
-ser 8942
-_ge 8925
-_ka 8909
-kon 8906
-nna 8905
-mer 8891
-ig_ 8722
-tal 8694
-lan 8592
-så_ 8546
-_si 8518
-sio 8464
-nom 8453
-kti 8364
-ner 8341
-ssi 8330
-_må 8289
-_un 8270
-nga 8253
-und 8222
-mmi 8147
-_ma 8124
-eri 8035
-dra 8026
-äll 7879
-mme 7730
-pro 7636
-del 7570
-_he 7543
-ngs 7534
-_up 7421
-ram 7421
-lag 7355
-iti 7286
-are 7203
-år_ 7127
-_sä 7070
-nsk 7067
-kt_ 6912
-ndr 6806
-öra 6805
-ts_ 6795
-inn 6771
-lit 6720
-ghe 6642
-öre 6619
-ren 6617
-mma 6569
-or_ 6513
-oli 6430
-str 6412
-stä 6279
-des 6274
-igh 6272
-ekt 6267
-on_ 6265
-tig 6264
-ger 6236
-råd 6233
-_så 6232
-res 6179
-rt_ 6110
-åde 6100
-da_ 6078
-gan 6048
-ikt 6038
-at_ 5991
-ord 5972
-par 5959
-när 5953
-ket 5932
-ess 5929
-_nä 5923
-lt_ 5910
-han 5901
-rät 5845
-tan 5820
-tte 5817
-yck 5797
-vis 5767
-råg 5743
-ers 5736
-min 5724
-tiv 5706
-kal 5701
-ets 5681
-lut 5664
-tat 5598
-dan 5584
-ope 5564
-els 5555
-ort 5546
-amm 5543
-_gr 5535
-sa_ 5532
-_se 5458
-fra 5457
-eis 5411
-pei 5407
-ad_ 5385
-kli 5384
-tni 5379
-sla 5321
-lar 5310
-ala 5232
-sät 5222
-kap 5192
-st_ 5183
-ull 5175
-_vä 5169
-_hä 5147
-dig 5135
-öve 5130
-rbe 5119
-_fi 5113
-nst 5109
-for 5107
-pol 5074
-åst 5071
-err 5063
-ock 5022
-_fa 5009
-cke 4955
-_po 4933
-eme 4910
-reg 4910
-ker 4909
-sku 4859
-_dä 4855
-där 4845
-_tr 4840
-ån_ 4838
-_än 4827
-rat 4804
-nat 4801
-_rä 4796
-mås 4795
-_lä 4786
-ång 4783
-eda 4776
-ame 4772
-tis 4753
-fte 4746
-red 4726
-_ve 4714
-_öv 4703
-arl 4688
-arb 4678
-ssa 4678
-tor 4674
-rde 4667
-rån 4665
-fin 4648
-lin 4640
-tra 4617
-_pa 4577
-tar 4563
-ist 4547
-kul 4539
-gra 4511
-llt 4502
-_mo 4481
-nd_ 4474
-sen 4473
-el_ 4462
-gör 4446
-rst 4441
-ant 4437
-ågo 4436
-akt 4433
-ige 4416
-ate 4401
-in_ 4386
-ins 4372
-le_ 4362
-nda 4362
-tid 4356
-art 4355
-erk 4323
-rar 4320
-vår 4309
-cks 4306
-_li 4305
-uta 4280
-mar 4261
-_ar 4255
-ot_ 4246
-bar 4193
-lem 4186
-ven 4171
-_ef 4168
-tro 4166
-ast 4140
-_åt 4135
-slu 4129
-nse 4125
-gru 4121
-ilj 4093
-mot 4078
-åga 4074
-arn 4048
-eta 4043
-enn 4028
-uni 3995
-age 3988
-stå 3981
-nt_ 3967
-rla 3967
-tik 3967
-her 3953
-kså 3944
-ss_ 3943
-äns 3930
-end 3927
-_my 3922
-_nå 3920
-_fo 3888
-ite 3868
-rr_ 3864
-rik 3852
-kla 3846
-_or 3812
-rad 3809
-sto 3809
-lam 3808
-tli 3805
-rsl 3802
-pa_ 3782
-_ba 3779
-vet 3764
-nne 3763
-tur 3754
-eno 3723
-_vå 3721
-kte 3707
-ntr 3705
-tag 3701
-bes 3697
-nad 3692
-_di 3686
-ras 3686
-nio 3664
-ma_ 3649
-per 3634
-någ 3630
-ege 3623
-ike 3593
-ärd 3592
-pen 3589
-_sy 3577
-opa 3577
-nis 3563
-rli 3552
-sig 3542
-sko 3520
-omr 3512
-sti 3512
-hål 3488
-åll 3483
-änn 3482
-ret 3462
-_få 3459
-ndl 3449
-get 3439
-kni 3429
-em_ 3427
-vid 3425
-stö 3421
-län 3415
-lik 3397
-nta 3392
-_kr 3390
-oll 3389
-_la 3348
-_er 3339
-ons 3336
-tän 3336
-nas 3325
-utv 3323
-_ku 3321
-ken 3314
-ja_ 3307
-id_ 3299
-ckl 3297
-est 3287
-lse 3286
-led 3283
-eko 3279
-eft 3270
-ika 3263
-es_ 3262
-ela 3258
-myc 3242
-gem 3236
-tre 3234
-vän 3225
-ris 3224
-eck 3208
-mel 3202
-män 3196
-kra 3192
-am_ 3190
-orm 3160
-se_ 3148
-ndi 3142
-_gä 3141
-hel 3137
-vär 3137
-mrå 3136
-sva 3110
-al_ 3108
-täl 3102
-_el 3086
-här 3084
-_gö 3080
-_ny 3073
-ats 3072
-_ni 3061
-nar 3055
-ber 3052
-dri 3045
-vik 3029
-trä 3026
-uts 3023
-alm 3022
-_bl 3017
-_da 3010
-lma 3009
-let 2987
-sst 2979
-ina 2977
-dni 2944
-run 2936
-far 2891
-mil 2887
-sse 2872
-ena 2866
-tve 2859
-rit 2850
-_le 2847
-sin 2840
-nsa 2834
-gäl 2833
-_br 2824
-sk_ 2818
-rek 2799
-ilk 2789
-_rå 2787
-vec 2782
-itt 2780
-ono 2778
-läg 2762
-ttn 2759
-edl 2751
-omi 2747
-äve 2747
-kri 2745
-pp_ 2742
-aga 2731
-änk 2726
-org 2723
-is_ 2720
-dli 2704
-rän 2704
-nkt 2703
-rfö 2698
-dag 2693
-_na 2692
-_os 2689
-tti 2689
-ske 2672
-amt 2669
-tvi 2662
-rag 2654
-avs 2645
-beh 2644
-ial 2634
-ino 2630
-mfö 2609
-ede 2604
-spe 2596
-nns 2591
-lja 2581
-ni_ 2576
-bör 2570
-dle 2568
-sat 2568
-dem 2561
-ari 2559
-ive 2558
-bli 2543
-esl 2531
-lis 2528
-egi 2521
-ror 2519
-kun 2514
-unk 2514
-pri 2508
-inf 2498
-va_ 2495
-bor 2493
-oss 2489
-_ty 2484
-it_ 2483
-apa 2476
-gär 2455
-sit 2400
-ski 2398
-kar 2397
-_mö 2394
-_bö 2393
-_ek 2391
-_äv 2384
-_år 2384
-gor 2373
-öst 2373
-ems 2371
-_gå 2356
-ur_ 2356
-ind 2343
-nu_ 2339
-rsk 2337
-rig 2336
-rso 2335
-ali 2328
-kor 2324
-_hu 2303
-kat 2301
-sys 2298
-iv_ 2293
-lls 2289
-kna 2286
-mån 2279
-sfö 2276
-skt 2275
-rre 2265
-ier 2263
-ott 2263
-töd 2262
-mst 2258
-ini 2253
-ere 2252
-ark 2248
-ke_ 2245
-pun 2245
-nan 2242
-_mä 2240
-lke 2233
-vad 2232
-ägg 2226
-örd 2219
-ise 2218
-rga 2215
-_bi 2211
-rs_ 2207
-isa 2206
-nka 2206
-jäl 2204
-gga 2199
-soc 2197
-_nu 2196
-jli 2196
-ppe 2195
-öjl 2195
-tas 2191
-_ex 2190
-gsf 2190
-möj 2186
-ruk 2179
-ida 2176
-oci 2175
-nel 2160
-rkl 2158
-cia 2151
-iva 2144
-_ra 2134
-rer 2133
-val 2133
-_sl 2132
-fat 2119
-_pe 2116
-säk 2109
-säg 2103
-ik_ 2095
-spr 2090
-ttr 2089
-rka 2083
-gån 2079
-len 2077
-ift 2076
-_ho 2072
-ytt 2071
-ck_ 2062
-ut_ 2061
-äng 2060
-uti 2041
-ärf 2036
-itu 2029
-ire 2025
-pas 2022
-kän 2011
-ukt 2011
-bil 2005
-fal 2005
-nor 2002
-elt 1998
-ann 1994
-cka 1993
-tyd 1989
-rup 1981
-äga 1980
-än_ 1978
-tru 1977
-dir 1975
-unn 1974
-nti 1972
-_tv 1969
-kil 1969
-kol 1959
-örb 1953
-jor 1948
-rti 1938
-tsl 1937
-ori 1932
-cen 1929
-ffe 1927
-_sp 1924
-tem 1919
-väl 1919
-mss 1917
-dam 1912
-ont 1909
-_kv 1908
-vin 1904
-ert 1903
-emo 1897
-erh 1896
-_hö 1894
-tad 1888
-rog 1884
-_ri 1881
-läm 1881
-ära 1880
-_sj 1878
-nli 1874
-omf 1873
-tts 1868
-ble 1865
-por 1861
-ogr 1860
-_ju 1854
-dar 1849
-ide 1841
-ust 1828
-mig 1827
-nfö 1814
-teg 1814
-_lå 1811
-skr 1810
-ge_ 1802
-_fl 1790
-pek 1784
-ämn 1784
-ntl 1781
-etä 1779
-rhe 1773
-ämp 1767
-met 1761
-sol 1760
-idi 1750
-dfö 1749
-gon 1749
-leg 1743
-vat 1741
-rol 1740
-mål 1737
-åtg 1732
-tgä 1726
-ktu 1723
-ljö 1704
-ien 1703
-amh 1694
-nni 1687
-äke 1687
-ånd 1687
-syn 1686
-ape 1685
-_bo 1682
-erl 1672
-_sv 1666
-pla 1665
-obl 1661
-_go 1660
-nal 1657
-roc 1648
-_do 1643
-tån 1643
-gni 1641
-åte 1640
-då_ 1635
-vå_ 1635
-_ol 1624
-_kl 1621
-opp 1621
-pre 1621
-hän 1619
-rma 1619
-dis 1618
-sli 1618
-gio 1615
-tsk 1613
-oce 1612
-kta 1611
-spo 1608
-ani 1597
-sni 1596
-lös 1593
-rob 1590
-fri 1589
-ang 1584
-rme 1577
-onk 1575
-rkn 1572
-_kä 1566
-onä 1565
-raf 1563
-_fu 1556
-nit 1553
-dla 1548
-sak 1548
-_te 1545
-lat 1541
-ale 1539
-nya 1531
-täm 1531
-yss 1528
-efo 1523
-_hå 1522
-olk 1518
-atu 1515
-sek 1513
-ona 1511
-tri 1511
-gre 1507
-åda 1504
-rdn 1503
-_rö 1502
-got 1502
-krä 1488
-nsv 1486
-ult 1484
-ya_ 1483
-tst 1481
-ume 1480
-kot 1478
-rdf 1477
-tit 1477
-ags 1473
-mli 1466
-hur 1465
-alt 1464
-_of 1459
-mat 1454
-få_ 1453
-pel 1449
-lad 1447
-ora 1446
-ack 1440
-sky 1439
-_to 1438
-liv 1438
-nhe 1438
-åra 1438
-try 1433
-yst 1432
-möt 1428
-äck 1428
-ärk 1427
-nsi 1426
-räd 1426
-god 1425
-ank 1420
-får 1415
-ost 1415
-ute 1407
-öka 1407
-sjä 1405
-vs_ 1405
-häl 1403
-lni 1401
-örh 1397
-egr 1389
-mna 1388
-öte 1379
-_ga 1375
-ha_ 1375
-lde 1375
-mti 1375
-rte 1375
-_eg 1374
-lta 1373
-rva 1370
-_då 1364
-ölj 1364
-rts 1361
-nke 1359
-ört 1357
-tin 1356
-ärs 1355
-van 1353
-edb 1352
-väg 1348
-ämm 1348
-orn 1347
-tör 1347
-edr 1344
-beg 1339
-rot 1335
-ful 1334
-älv 1331
-lln 1330
-bef 1329
-tjä 1328
-sid 1326
-ana 1323
-föl 1323
-sel 1320
-låt 1319
-nvä 1318
-ild 1317
-gst 1312
-mpe 1310
-enh 1308
-etr 1307
-inr 1307
-amf 1306
-enl 1306
-gna 1305
-mit 1305
-rös 1304
-bat 1303
-äge 1303
-ore 1301
-utt 1301
-ral 1300
-sök 1300
-je_ 1299
-las 1299
-sik 1295
-nds 1292
-tif 1292
-_pl 1289
-ors 1287
-jän 1285
-tsä 1280
-stn 1279
-ivi 1278
-åt_ 1274
-sna 1271
-örv 1270
-mt_ 1268
-dbo 1262
-äst 1262
-llv 1259
-_no 1257
-sär 1257
-deb 1256
-esu 1256
-räv 1253
-riv 1251
-fis 1248
-fol 1247
-pos 1247
-änt 1244
-kos 1243
-_lö 1242
-byg 1241
-eba 1241
-tår 1235
-rod 1233
-rn_ 1231
-app 1226
-nci 1226
-ung 1226
-ode 1224
-ygg 1224
-_nö 1223
-oms 1222
-ama 1219
-fek 1217
-_tu 1215
-grä 1212
-sis 1209
-ehö 1206
-går 1206
-ilt 1202
-cip 1200
-fle 1200
-inc 1199
-lst 1198
-örf 1197
-lsä 1196
-rör 1194
-tse 1193
-dom 1191
-fer 1191
-_dr 1189
-kad 1186
-kur 1186
-tac 1185
-bät 1184
-kel 1184
-näm 1183
-lva 1179
-vit 1178
-olu 1175
-eu_ 1173
-ick 1171
-anv 1167
-årt 1165
-ls_ 1162
-eff 1158
-pap 1158
-aft 1156
-ots 1154
-esk 1153
-rel 1152
-ppm 1151
-_bä 1149
-egl 1147
-kas 1147
-urr 1145
-erv 1144
-frä 1144
-hög 1142
-nno 1141
-um_ 1140
-ars 1138
-gis 1138
-_pu 1132
-såd 1131
-okr 1130
-nsl 1123
-rfa 1116
-mor 1115
-ane 1114
-_fe 1112
-hör 1111
-kto 1110
-fru 1109
-mok 1098
-bek 1097
-_sn 1096
-ele 1096
-nku 1096
-ågr 1095
-_hi 1094
-örl 1091
-das 1090
-tom 1090
-ref 1088
-rdr 1087
-ton 1086
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/th.ngp b/trunk/tika-core/src/main/resources/org/apache/tika/language/th.ngp
deleted file mode 100644
index e5e6435..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/th.ngp
+++ /dev/null
@@ -1,1014 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-การ 38686
-_อง 13941
-_าง 12827
-ประ 12609
-_าน 11182
-ของ 11179
-วาม 10809
-เป_ 9899
-ได_ 9380
-_กา 9046
-ควา 9007
-ให_ 8846
-และ 8769
-_น_ 8413
-นท_ 7353
-_ม_ 7302
-นกา 7139
-ารเ 6906
-_ร_ 6515
-เร_ 6479
-งกา 6385
-_อน 6258
-อย_ 6124
-งาน 6114
-_กษ 6073
-_ต_ 5948
-จาก 5853
-_ท_ 5787
-หน_ 5761
-ไม_ 5626
-_นท 5562
-_อย 5562
-ใช_ 5524
-_ส_ 5399
-_นเ 5255
-ระเ 5006
-บร_ 4949
-_าเ 4868
-งท_ 4844
-ทาง 4801
-กษา 4778
-หร_ 4774
-_วย 4768
-_นก 4563
-_าร 4511
-าร_ 4500
-เพ_ 4448
-_ว_ 4432
-_อก 4352
-เก_ 4288
-_งเ 4199
-เง_ 4183
-องก 4172
-_ก_ 4170
-าน_ 4066
-_จ_ 3832
-_าห 3809
-เด_ 3759
-รรม 3730
-_ยน 3709
-_ด_ 3706
-ามา 3630
-_าย 3625
-เล_ 3586
-_อม 3585
-คร_ 3584
-_วน 3573
-กล_ 3556
-นต_ 3495
-ารท 3449
-ระช 3447
-_คว 3431
-หล_ 3431
-ะเท 3430
-มาก 3427
-เทศ 3357
-าท_ 3332
-_อ_ 3282
-_บ_ 3237
-เม_ 3180
-_าม 3172
-_บร 3138
-_าใ 3087
-_ใน 3053
-_ค_ 3041
-_าว 3010
-_ปร 2961
-งน_ 2958
-_ยง 2951
-ปร_ 2937
-ในก 2925
-กต_ 2920
-_ป_ 2899
-_นอ 2897
-กว_ 2894
-มาร 2893
-ากา 2890
-าต_ 2890
-_งก 2869
-ารส 2868
-_ย_ 2862
-อร_ 2845
-_ยว 2832
-_าก 2829
-ภาพ 2810
-เข_ 2799
-เน_ 2789
-ามเ 2758
-าม_ 2755
-_นต 2750
-รท_ 2723
-เช_ 2712
-_อเ 2696
-ตร_ 2678
-นส_ 2671
-ารถ 2650
-ะชา 2649
-ารป 2631
-บกา 2625
-งส_ 2616
-กระ 2614
-ระบ 2613
-ะด_ 2609
-สร_ 2591
-องเ 2586
-ไทย 2580
-_พ_ 2564
-_ตร 2558
-รก_ 2549
-าก_ 2549
-_จะ 2539
-ราย 2537
-_ได 2500
-งก_ 2498
-งปร 2467
-ารใ 2466
-_งค 2453
-_ง_ 2450
-างก 2447
-ระก 2444
-รศ_ 2433
-งต_ 2413
-_เป 2403
-นร_ 2398
-นก_ 2393
-_แล 2377
-_กร 2373
-ยละ 2337
-านว 2328
-กรร 2307
-เส_ 2305
-งม_ 2285
-นใน 2281
-หม_ 2279
-_ฒน 2253
-อน_ 2253
-_ละ 2247
-ารศ 2241
-าให 2236
-งค_ 2220
-สาม 2186
-_าค 2183
-_นส 2178
-ตาม 2170
-_า_ 2160
-_งส 2149
-ะกา 2146
-_บก 2138
-_มา 2130
-ะท_ 2128
-มต_ 2123
-ลาย 2111
-กร_ 2094
-นน_ 2089
-รณ_ 2085
-มร_ 2080
-คล_ 2076
-_งน 2069
-หาร 2062
-_ล_ 2052
-_เก 2049
-สาร 2047
-โดย 2010
-_ดก 2009
-_ดเ 2009
-_นค 2006
-_นา 2000
-มท_ 1998
-ชาช 1994
-องท 1993
-ละเ 1980
-าชน 1977
-_นไ 1976
-นด_ 1972
-ฒนา 1970
-แก_ 1965
-_งแ 1963
-_นใ 1954
-ามส 1942
-_งห 1936
-_าท 1932
-นพ_ 1925
-ออก 1923
-อยล 1921
-ระด 1909
-_นแ 1891
-าค_ 1889
-_ระ 1884
-เคร 1880
-_ช_ 1876
-_นร 1875
-งร_ 1866
-อม_ 1866
-าว_ 1855
-หมา 1854
-าล_ 1850
-นช_ 1846
-นขอ 1843
-ชน_ 1842
-าส_ 1833
-องค 1829
-อกา 1824
-หว_ 1809
-นว_ 1806
-มาย 1803
-นปร 1795
-มพ_ 1795
-นอ_ 1793
-ะบบ 1780
-ารณ 1780
-สถา 1778
-งงา 1774
-นมา 1768
-ละก 1767
-ากก 1767
-แต_ 1762
-นวน 1757
-ารแ 1755
-_ให 1753
-ดกา 1749
-รปร 1747
-_งท 1736
-ารพ 1726
-_งม 1723
-_ผ_ 1720
-าบ_ 1703
-ารก 1701
-บปร 1694
-าหน 1691
-เท_ 1687
-นระ 1675
-าคา 1668
-ากร 1664
-_ทย 1662
-ารร 1650
-องร 1644
-ชาต 1642
-านก 1641
-_าแ 1630
-าหร 1629
-นป_ 1628
-แบบ 1617
-ญหา 1615
-มาณ 1615
-ามร 1614
-ารจ 1612
-รส_ 1611
-ารว 1607
-_นด 1604
-ละ_ 1599
-ปล_ 1593
-ทยา 1591
-_นม 1584
-ครง 1583
-_วม 1582
-แล_ 1582
-_าไ 1578
-ารต 1574
-กท_ 1573
-างเ 1567
-งด_ 1565
-หญ_ 1558
-_ญห 1553
-_าล 1549
-นแล 1548
-อง_ 1547
-รเง 1546
-_าจ 1539
-ราะ 1537
-_สา 1535
-ะม_ 1534
-รจ_ 1532
-_งข 1529
-ตรา 1529
-วก_ 1529
-_อส 1519
-ารอ 1518
-ยาก 1514
-_ขอ 1503
-กน_ 1502
-ารค 1482
-_อา 1481
-องป 1480
-ะส_ 1479
-_นน 1477
-_าส 1474
-าย_ 1469
-ในเ 1469
-_วเ 1465
-งใน 1464
-นาค 1461
-ศาส 1460
-จะเ 1444
-งข_ 1439
-องส 1438
-_ข_ 1436
-งจา 1431
-_ศ_ 1429
-ระม 1429
-ายไ 1429
-มส_ 1428
-_บเ 1423
-_อไ 1415
-_ไม 1414
-งขอ 1408
-าเป 1406
-_บป 1405
-สตร 1400
-_เพ 1396
-าระ 1396
-_นว 1392
-ยได 1390
-_นจ 1389
-ภาค 1389
-_จา 1384
-รใช 1384
-ยใน 1380
-_กเ 1377
-หลา 1377
-_รก 1374
-ยท_ 1374
-างา 1373
-าช_ 1372
-นให 1371
-_ใช 1369
-ายใ 1367
-_นล 1364
-กกา 1364
-_บส 1362
-_ทธ 1355
-าสต 1352
-รด_ 1346
-_นข 1344
-_งใ 1339
-านา 1339
-มกา 1336
-งเป 1335
-ธรร 1335
-ะก_ 1334
-_งจ 1329
-_นป 1325
-นม_ 1323
-_งไ 1318
-_งต 1315
-รงก 1307
-รพ_ 1307
-ะต_ 1305
-ะมา 1305
-รวจ 1303
-_นห 1297
-าด_ 1296
-ถาบ 1295
-_รา 1289
-_เร 1283
-_ภา 1280
-ละส 1274
-ยวก 1270
-ารด 1268
-_ดส 1267
-ใหญ 1267
-ผล_ 1264
-กลา 1260
-งว_ 1259
-โคร 1259
-_บค 1258
-อกเ 1258
-อนไ 1257
-ารข 1256
-รวม 1254
-_วง 1252
-สน_ 1246
-_งอ 1242
-ะน_ 1236
-ทร_ 1233
-างๆ 1231
-บาล 1227
-_าป 1219
-ารา 1217
-มน_ 1216
-ในป 1215
-_ยม 1211
-รร_ 1205
-นค_ 1203
-รรค 1202
-รม_ 1201
-โลก 1201
-_อใ 1198
-บท_ 1194
-ายเ 1194
-ระท 1193
-ารล 1192
-นเป 1186
-นได 1186
-นข_ 1183
-ในร 1183
-_ยบ 1182
-ากน 1182
-ะช_ 1180
-เห_ 1180
-าจะ 1178
-ารบ 1178
-แห_ 1177
-_นธ 1176
-ละค 1174
-คาร 1171
-นละ 1171
-พาะ 1169
-_หา 1161
-ดท_ 1161
-รษฐ 1157
-ศรษ 1157
-าง_ 1157
-รเล 1156
-_นช 1154
-อกต 1151
-านเ 1149
-_ธ_ 1148
-งเท 1148
-_คร 1145
-งกล 1143
-เบ_ 1142
-ยกา 1140
-ระห 1137
-บาท 1131
-_งป 1130
-รอง 1130
-_บท 1124
-รต_ 1124
-นผ_ 1123
-มก_ 1122
-บว_ 1116
-ปฏ_ 1116
-_เห 1114
-_ญญ 1113
-ทธ_ 1112
-องจ 1109
-งมา 1105
-_วา 1101
-ดส_ 1101
-เหล 1100
-านท 1099
-ายก 1099
-นล_ 1098
-องม 1098
-_มพ 1097
-นทา 1096
-วลา 1094
-_ดม 1093
-_งร 1090
-าเน 1090
-ษฐก 1084
-นย_ 1083
-_ดต 1080
-ระส 1080
-_ตา 1072
-นเร 1071
-ฐก_ 1070
-ใหม 1070
-_กล 1067
-ลย_ 1067
-_ดข 1065
-างไ 1064
-_ถ_ 1061
-ดต_ 1059
-ถาน 1054
-รกา 1052
-ยงา 1051
-_ออ 1048
-งคว 1048
-หต_ 1048
-นาร 1045
-ยาย 1044
-กอบ 1041
-ะหว 1040
-งแล 1039
-_นพ 1035
-นธ_ 1033
-มข_ 1032
-ฐาน 1028
-ะเป 1027
-เศร 1026
-นอย 1025
-เวล 1023
-าปร 1022
-างป 1020
-งระ 1018
-อาจ 1016
-จร_ 1011
-ฉพา 1011
-บด_ 1011
-พล_ 1009
-_กท 1007
-นไป 1007
-าใน 1007
-ลอด 1002
-ะกอ 1002
-บค_ 999
-ยร_ 999
-สนอ 998
-นาย 995
-_าต 992
-ญญา 992
-_งา 991
-นอก 990
-โรง 990
-_ผล 986
-เหต 986
-เปล 985
-_นย 982
-องอ 981
-งผ_ 980
-_เค 978
-บต_ 974
-รค_ 974
-รทา 973
-องใ 971
-นโล 965
-อท_ 962
-านค 960
-_มข 958
-ะว_ 958
-พรา 957
-_จจ 955
-ควร 955
-าแล 954
-สม_ 953
-าหา 951
-_อค 950
-ลาง 950
-านอ 950
-_นผ 949
-_แก 948
-เฉพ 948
-_ยก 945
-องต 944
-ทย_ 943
-พยา 941
-ารน 939
-างส 938
-_อร 937
-กรณ 936
-นจ_ 935
-จจ_ 934
-นาด 934
-งช_ 931
-ยต_ 929
-งให 928
-แนว 926
-แผน 926
-กข_ 923
-ตอร 922
-าตร 922
-งเร 920
-นบา 917
-อให 916
-_ดท 915
-าธ_ 915
-เสร 914
-มศ_ 911
-เตอ 911
-_ชา 910
-กส_ 909
-เอ_ 909
-เอก 906
-าเร 901
-_พย 898
-รให 896
-งเส 894
-องแ 894
-_บอ 892
-ระจ 892
-งป_ 891
-ากเ 890
-งอ_ 884
-กจา 883
-_อท 882
-านบ 882
-ามต 882
-ลาด 881
-รน_ 880
-_สม 878
-เคล 878
-_เอ 872
-บสน 872
-พรร 872
-ไว_ 870
-_ษ_ 869
-ครา 869
-นเม 869
-าขอ 866
-จาร 865
-สดง 863
-ยน_ 861
-ยว_ 860
-นกล 859
-_งพ 858
-_าด 858
-งจ_ 858
-หนด 856
-มม_ 855
-อก_ 855
-แรง 855
-งคม 854
-งถ_ 854
-กาศ 852
-เอง 851
-างท 850
-ยม_ 849
-_กค 848
-นกร 847
-สหร 847
-_มเ 844
-ลงท 842
-บาย 840
-รว_ 840
-นหน 839
-_อข 838
-ะจ_ 837
-ตรว 836
-อกจ 836
-_อว 835
-งเก 834
-องผ 831
-ในส 831
-บคว 828
-งไม 827
-อส_ 825
-งพ_ 824
-สภา 823
-งชา 821
-องน 820
-รมก 819
-จะม 816
-นคว 815
-คโน 814
-ละป 813
-ารห 810
-_นโ 809
-มหา 808
-อนเ 808
-_กส 807
-_าอ 807
-โนโ 806
-ทคโ 805
-ารไ 803
-_อป 801
-โลย 801
-นเด 799
-เทค 798
-ละร 794
-นรา 792
-ครอ 787
-ฐบา 787
-รงง 787
-_ฐบ 785
-หกร 784
-ราค 782
-_งง 781
-_งช 776
-ากท 775
-ราก 774
-รเป 772
-รเร 771
-_คน 769
-าจา 766
-ดล_ 765
-าณ_ 765
-แทน 765
-_วอ 764
-_กก 762
-รอบ 762
-_หล 761
-งหน 760
-สาห 759
-โรค 759
-รบร 758
-ยก_ 755
-อว_ 754
-ดข_ 753
-ดมศ 753
-เจ_ 752
-_เด 751
-ะปร 747
-_อห 745
-นเง 744
-รกร 744
-_ดค 742
-_เข 742
-าแห 742
-ขนา 741
-ดยเ 741
-างค 741
-าพ_ 741
-_าข 740
-างแ 740
-นอง 739
-นเอ 738
-ยส_ 737
-วน_ 737
-ะยะ 737
-ามค 736
-ละอ 733
-ระย 732
-านส 732
-_ดย 729
-พระ 729
-_ตส 727
-_กต 726
-านข 724
-_เว 722
-จะไ 720
-กษ_ 719
-วนก 719
-งย_ 718
-สอบ 718
-_จก 717
-_บผ 717
-ผลก 717
-งได 716
-ารผ 716
-_หน 714
-คณะ 713
-พร_ 713
-_อต 712
-_เล 712
-าคว 712
-ภาย 711
-มด_ 710
-ารม 709
-ายท 708
-แสด 708
-องพ 706
-งละ 705
-ชาก 705
-นภา 705
-ลกา 705
-_เม 703
-นาก 703
-_นบ 700
-องไ 700
-นไห 699
-บาง 699
-งหม 698
-องข 697
-งอย 696
-มาต 695
-ะห_ 695
-รขอ 693
-ากข 693
-ตอบ 691
-อาห 688
-หมด 686
-_เน 685
-นอน 685
-าหก 685
-ธาน 682
-าใช 682
-_ห_ 679
-าะห 679
-ไหว 679
-_ชน 678
-ษา_ 678
-กอง 677
-ธนา 677
-ายต 676
-เสน 676
-งแต 675
-ราช 675
-าไป 675
-างร 674
-วย_ 672
-กรม 671
-ทศไ 671
-นเพ 670
-นตร 669
-เทพ 668
-านม 664
-ละม 663
-เหม 662
-งไร 660
-_บา 658
-งจะ 658
-_มต 657
-เต_ 656
-ยนร 654
-าเส 654
-ภาษ 653
-ลาก 653
-นคร 651
-ระธ 650
-รแก 649
-างด 648
-มค_ 646
-องห 646
-าจ_ 646
-_กว 645
-ดว_ 645
-กงา 644
-นคน 643
-นทร 642
-_บต 641
-ตสา 641
-ะกร 641
-กด_ 639
-ณะท 639
-ยแล 639
-นจะ 637
-วร_ 635
-ในช 635
-_มอ 633
-กษต 632
-รแล 632
-ษตร 632
-เกษ 631
-แรก 630
-_ยา 629
-บผ_ 629
-ตลา 628
-อาก 627
-กษณ 626
-งเด 626
-ยบา 626
-_อบ 625
-างม 625
-เว_ 625
-_ดห 624
-นเท 624
-_ดแ 623
-มเค 622
-ในอ 622
-_งล 621
-นจา 621
-_ยร 620
-ะธา 619
-เรา 619
-กก_ 617
-ศไท 616
-กใน 615
-วมท 615
-วยก 615
-หาก 615
-ณฑ_ 614
-ราง 614
-ายน 614
-าได 614
-ะได 613
-รณา 612
-วนใ 612
-_กง 608
-_อแ 607
-ยาล 606
-วดล 606
-_บด 605
-นาม 605
-ายา 605
-ายแ 605
-จะต 604
-ดขอ 604
-บน_ 604
-หาว 604
-_ดร 603
-ะเภ 603
-_าพ 602
-ะแน 602
-_าบ 601
-แวด 601
-ะบ_ 598
-ะร_ 597
-_ยด 596
-มปร 596
-เภท 596
-ยให 595
-_ซ_ 593
-_มก 592
-_แน 592
-านใ 592
-าศา 592
-_ดอ 591
-ยชน 590
-อนข 590
-ายอ 590
-แม_ 590
-_กอ 588
-มอง 585
-กกว 583
-บอ_ 582
-_อจ 581
-นหล 581
-บส_ 580
-พย_ 580
-ยขอ 580
-วมก 580
-ปท_ 579
-โยบ 579
-_มท 578
-าอ_ 578
-มเส 577
-ยาศ 577
-รเม 577
-าะส 577
-กสา 576
-ระโ 576
-บรร 575
-นบ_ 574
-อต_ 574
-ากจ 574
-ปลง 572
-วอย 572
-มเป 571
-มสา 570
-ะสา 570
-ายง 570
-นสา 569
-อกส 569
-องโ 568
-าคม 568
-งผล 567
-_บน 566
-างต 566
-_มช 565
-_าา 565
-ดน_ 565
-งคร 563
-างช 563
-คน_ 562
-อแก 562
-แกน 562
-_หร 561
-นเช 561
-รช_ 561
-ารโ 561
-วม_ 560
-อนา 560
-ดให 559
-มว_ 559
-ยาม 558
-วยเ 558
-ะโย 558
-มคว 557
-ามพ 557
-งสถ 556
-ลท_ 556
-นาน 555
-มขอ 555
-วาง 555
-อคว 555
-ะคว 555
-แปล 555
-กมา 553
-ฝาก 553
-_นๆ 552
-นใจ 551
-อไป 551
-างอ 551
-_อด 550
-_เช 550
-งหว 548
-_งผ 546
-_ดใ 546
-อนท 546
-ะไม 545
-แหน 544
-นห_ 543
-ยเฉ 543
-ละน 543
-ษณะ 543
-นไม 542
-รบ_ 541
-รอน 541
-าวะ 541
-รลง 540
-ยด_ 539
-าป_ 538
-แข_ 538
-_งว 537
-นอา 537
-าศ_ 537
-บก_ 536
-ะพ_ 536
-_มค 535
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/language/tika.language.properties b/trunk/tika-core/src/main/resources/org/apache/tika/language/tika.language.properties
deleted file mode 100644
index 87433ca..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/language/tika.language.properties
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#  contributor license agreements.  See the NOTICE file distributed with
-#  this work for additional information regarding copyright ownership.
-#  The ASF licenses this file to You 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.
-#
-# This is a tika LanguageIdentifier properties file.
-# Its name is org/apache/tika/language/tika.language.properties
-# You can override it by placing a copy on the classpath in a file called
-# org/apache/tika/language/tika.language.override.properties
-
-# List of languages for which there are <language>.ngp profiles
-# If there exists an ISO 639-1 2-letter code it should be used
-# If not, you can choose an ISO 639-2 3-letter code
-# See http://www.loc.gov/standards/iso639-2/php/code_list.php
-languages=da,de,et,el,en,es,fi,fr,hu,is,it,lt,nl,no,pl,pt,ru,sv,th
-
-# List of language names in english
-name.da=Danish
-name.de=German
-name.et=Estonian
-name.el=Greek
-name.en=English
-name.es=Spanish
-name.fi=Finnish
-name.fr=French
-name.hu=Hungarian
-name.is=Icelandic
-name.it=Italian
-name.lt=Lithuanian
-name.nl=Dutch
-name.no=Norwegian
-name.pl=Polish
-name.pt=Portuguese
-name.ru=Russian
-name.sv=Swedish
-name.th=Thai
\ No newline at end of file
diff --git a/trunk/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml b/trunk/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
deleted file mode 100644
index 223ba38..0000000
--- a/trunk/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
+++ /dev/null
@@ -1,4147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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.
--->
-<!--
-  Description: This xml file defines the valid mime types used by Tika.
-  The mime type data within this file is based on information from various
-  sources like Apache Nutch, Apache HTTP Server, the file(1) command, etc.
--->
-<mime-info>
-
-  <mime-type type="application/activemessage"/>
-  <mime-type type="application/andrew-inset">
-    <glob pattern="*.ez"/>
-  </mime-type>
-  <mime-type type="application/applefile"/>
-  <mime-type type="application/applixware">
-    <glob pattern="*.aw"/>
-  </mime-type>
-
-  <mime-type type="application/atom+xml">
-    <root-XML localName="feed" namespaceURI="http://purl.org/atom/ns#"/>
-    <glob pattern="*.atom"/>
-  </mime-type>
-
-  <mime-type type="application/atomcat+xml">
-    <glob pattern="*.atomcat"/>
-  </mime-type>
-  <mime-type type="application/atomicmail"/>
-  <mime-type type="application/atomsvc+xml">
-    <glob pattern="*.atomsvc"/>
-  </mime-type>
-  <mime-type type="application/auth-policy+xml"/>
-  <mime-type type="application/batch-smtp"/>
-  <mime-type type="application/beep+xml"/>
-  <mime-type type="application/cals-1840"/>
-  <mime-type type="application/ccxml+xml">
-    <glob pattern="*.ccxml"/>
-  </mime-type>
-  <mime-type type="application/cea-2018+xml"/>
-  <mime-type type="application/cellml+xml"/>
-  <mime-type type="application/cnrp+xml"/>
-  <mime-type type="application/commonground"/>
-  <mime-type type="application/conference-info+xml"/>
-  <mime-type type="application/cpl+xml"/>
-  <mime-type type="application/csta+xml"/>
-  <mime-type type="application/cstadata+xml"/>
-  <mime-type type="application/cu-seeme">
-    <glob pattern="*.cu"/>
-  </mime-type>
-  <mime-type type="application/cybercash"/>
-  <mime-type type="application/davmount+xml">
-    <glob pattern="*.davmount"/>
-  </mime-type>
-  <mime-type type="application/dca-rft"/>
-  <mime-type type="application/dec-dx"/>
-  <mime-type type="application/dialog-info+xml"/>
-  <mime-type type="application/dicom"/>
-  <mime-type type="application/dns"/>
-  <mime-type type="application/dvcs"/>
-  <mime-type type="application/ecmascript">
-    <glob pattern="*.ecma"/>
-  </mime-type>
-  <mime-type type="application/edi-consent"/>
-  <mime-type type="application/edi-x12"/>
-  <mime-type type="application/edifact"/>
-  <mime-type type="application/emma+xml">
-    <glob pattern="*.emma"/>
-  </mime-type>
-  <mime-type type="application/epp+xml"/>
-
-  <mime-type type="application/epub+zip">
-    <acronym>EPUB</acronym>
-    <_comment>Electronic Publication</_comment>
-    <magic priority="50">
-      <match value="PK\003\004" type="string" offset="0">
-        <match value="mimetypeapplication/epub+zip" type="string" offset="30"/>
-      </match>
-    </magic>
-    <glob pattern="*.epub"/>
-  </mime-type>
-
-  <mime-type type="application/eshop"/>
-  <mime-type type="application/example"/>
-  <mime-type type="application/fastinfoset"/>
-  <mime-type type="application/fastsoap"/>
-  <mime-type type="application/fits"/>
-  <mime-type type="application/font-tdpfr">
-    <glob pattern="*.pfr"/>
-  </mime-type>
-  <mime-type type="application/h224"/>
-  <mime-type type="application/http"/>
-  <mime-type type="application/hyperstudio">
-    <glob pattern="*.stk"/>
-  </mime-type>
-  <mime-type type="application/ibe-key-request+xml"/>
-  <mime-type type="application/ibe-pkg-reply+xml"/>
-  <mime-type type="application/ibe-pp-data"/>
-  <mime-type type="application/iges"/>
-  <mime-type type="application/im-iscomposing+xml"/>
-  <mime-type type="application/index"/>
-  <mime-type type="application/index.cmd"/>
-  <mime-type type="application/index.obj"/>
-  <mime-type type="application/index.response"/>
-  <mime-type type="application/index.vnd"/>
-  <mime-type type="application/iotp"/>
-  <mime-type type="application/ipp"/>
-  <mime-type type="application/isup"/>
-
-  <mime-type type="application/java-archive">
-    <sub-class-of type="application/zip"/>
-    <glob pattern="*.jar"/>
-  </mime-type>
-
-  <mime-type type="application/java-serialized-object">
-    <glob pattern="*.ser"/>
-  </mime-type>
-
-  <mime-type type="application/javascript">
-    <sub-class-of type="text/plain"/>
-    <glob pattern="*.js"/>
-  </mime-type>
-
-  <mime-type type="application/json">
-    <sub-class-of type="application/javascript"/>
-    <glob pattern="*.json"/>
-  </mime-type>
-
-  <mime-type type="application/java-vm">
-    <magic priority="40">
-      <match value="0xcafebabe" type="string" offset="0" />
-    </magic>
-    <glob pattern="*.class"/>
-  </mime-type>
-
-  <mime-type type="application/kpml-request+xml"/>
-  <mime-type type="application/kpml-response+xml"/>
-  <mime-type type="application/lost+xml">
-    <glob pattern="*.lostxml"/>
-  </mime-type>
-
-  <mime-type type="application/mac-binhex40">
-    <alias type="application/mac-binhex"/>
-    <alias type="application/binhex"/>
-    <magic priority="50">
-      <match value="must\ be\ converted\ with\ BinHex" type="string" offset="11"/>
-    </magic>
-    <glob pattern="*.hqx"/>
-  </mime-type>
-
-  <mime-type type="application/mac-compactpro">
-    <glob pattern="*.cpt"/>
-  </mime-type>
-
-  <mime-type type="application/macwriteii"/>
-  <mime-type type="application/marc">
-    <glob pattern="*.mrc"/>
-  </mime-type>
-  <mime-type type="application/mathematica">
-    <glob pattern="*.ma"/>
-    <glob pattern="*.nb"/>
-    <glob pattern="*.mb"/>
-  </mime-type>
-  <mime-type type="application/mathml+xml">
-    <glob pattern="*.mathml"/>
-  </mime-type>
-  <mime-type type="application/mbms-associated-procedure-description+xml"/>
-  <mime-type type="application/mbms-deregister+xml"/>
-  <mime-type type="application/mbms-envelope+xml"/>
-  <mime-type type="application/mbms-msk+xml"/>
-  <mime-type type="application/mbms-msk-response+xml"/>
-  <mime-type type="application/mbms-protection-description+xml"/>
-  <mime-type type="application/mbms-reception-report+xml"/>
-  <mime-type type="application/mbms-register+xml"/>
-  <mime-type type="application/mbms-register-response+xml"/>
-  <mime-type type="application/mbms-user-service-description+xml"/>
-  <mime-type type="application/mbox">
-    <sub-class-of type="text/plain"/>
-    <glob pattern="*.mbox"/>
-  </mime-type>
-  <mime-type type="application/media_control+xml"/>
-  <mime-type type="application/mediaservercontrol+xml">
-    <glob pattern="*.mscml"/>
-  </mime-type>
-  <mime-type type="application/mikey"/>
-  <mime-type type="application/moss-keys"/>
-  <mime-type type="application/moss-signature"/>
-  <mime-type type="application/mosskey-data"/>
-  <mime-type type="application/mosskey-request"/>
-  <mime-type type="application/mp4">
-    <glob pattern="*.mp4s"/>
-  </mime-type>
-  <mime-type type="application/mpeg4-generic"/>
-  <mime-type type="application/mpeg4-iod"/>
-  <mime-type type="application/mpeg4-iod-xmt"/>
-
-  <!-- http://www.iana.org/assignments/media-types/application/msword -->
-  <mime-type type="application/msword">
-    <!-- Use org.apache.tika.detect.ContainerAwareDetector for more reliable detection of OLE2 documents -->
-    <alias type="application/vnd.ms-word"/>
-    <_comment>Microsoft Word Document</_comment>
-    <magic priority="50">
-      <match value="Microsoft\ Word\ 6.0\ Document" type="string" offset="2080"/>
-      <match value="Documento\ Microsoft\ Word\ 6" type="string" offset="2080"/>
-      <match value="MSWordDoc" type="string" offset="2112"/>
-      <match value="0x31be0000" type="big32" offset="0"/>
-      <match value="PO^Q`" type="string" offset="0"/>
-      <match value="\376\067\0\043" type="string" offset="0"/>
-      <match value="\333\245-\0\0\0" type="string" offset="0"/>
-      <match value="\354\245\301" type="string" offset="512"/>
-      <match value="\320\317\021\340\241\261\032\341" type="string" offset="0"/>
-      <match value="\224\246\056" type="string" offset="0"/>
-      <match value="0xd0cf11e0a1b11ae1" type="string" offset="0:8">
-         <match value="W\x00o\x00r\x00d\x00D\x00o\x00c\x00u\x00m\x00e\x00n\x00t" type="string" offset="1152:4096" />
-      </match>
-    </magic>
-    <glob pattern="*.doc"/>
-    <glob pattern="*.dot"/>
-    <sub-class-of type="application/x-tika-msoffice"/>
-  </mime-type>
-
-  <mime-type type="application/mxf">
-    <glob pattern="*.mxf"/>
-  </mime-type>
-  <mime-type type="application/nasdata"/>
-  <mime-type type="application/news-checkgroups"/>
-  <mime-type type="application/news-groupinfo"/>
-  <mime-type type="application/news-transmission"/>
-  <mime-type type="application/nss"/>
-  <mime-type type="application/ocsp-request"/>
-  <mime-type type="application/ocsp-response"/>
-
-  <mime-type type="application/octet-stream">
-    <magic priority="50">
-      <match value="#\ This\ is\ a\ shell\ archive" type="string" offset="10"/>
-      <match value="\037\036" type="string" offset="0"/>
-      <match value="017437" type="host16" offset="0"/>
-      <match value="0x1fff" type="host16" offset="0"/>
-      <match value="\377\037" type="string" offset="0"/>
-      <match value="0145405" type="host16" offset="0"/>
-    </magic>
-    <glob pattern="*.bin"/>
-    <glob pattern="*.dms"/>
-    <glob pattern="*.lha"/>
-    <glob pattern="*.lrf"/>
-    <glob pattern="*.lzh"/>
-    <glob pattern="*.so"/>
-    <glob pattern="*.iso"/>
-    <glob pattern="*.dmg"/>
-    <glob pattern="*.dist"/>
-    <glob pattern="*.distz"/>
-    <glob pattern="*.pkg"/>
-    <glob pattern="*.bpk"/>
-    <glob pattern="*.dump"/>
-    <glob pattern="*.elc"/>
-    <glob pattern="*.deploy"/>
-  </mime-type>
-
-  <mime-type type="application/oda">
-    <glob pattern="*.oda"/>
-  </mime-type>
-  <mime-type type="application/oebps-package+xml">
-    <glob pattern="*.opf"/>
-  </mime-type>
-
-  <mime-type type="application/ogg">
-    <alias type="application/x-ogg"/>
-    <magic priority="50">
-      <match value="OggS" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.ogx"/>
-  </mime-type>
-
-  <mime-type type="application/onenote">
-    <glob pattern="*.onetoc"/>
-    <glob pattern="*.onetoc2"/>
-    <glob pattern="*.onetmp"/>
-    <glob pattern="*.onepkg"/>
-  </mime-type>
-  <mime-type type="application/parityfec"/>
-  <mime-type type="application/patch-ops-error+xml">
-    <glob pattern="*.xer"/>
-  </mime-type>
-
-  <mime-type type="application/pdf">
-    <alias type="application/x-pdf"/>
-    <acronym>PDF</acronym>
-    <_comment>Portable Document Format</_comment>
-    <magic priority="50">
-      <match value="%PDF-" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.pdf"/>
-  </mime-type>
-
-  <mime-type type="application/pgp-encrypted">
-    <glob pattern="*.pgp"/>
-  </mime-type>
-  <mime-type type="application/pgp-keys"/>
-  <mime-type type="application/pgp-signature">
-    <glob pattern="*.asc"/>
-    <glob pattern="*.sig"/>
-  </mime-type>
-  <mime-type type="application/pics-rules">
-    <glob pattern="*.prf"/>
-  </mime-type>
-  <mime-type type="application/pidf+xml"/>
-  <mime-type type="application/pidf-diff+xml"/>
-  <mime-type type="application/pkcs10">
-    <glob pattern="*.p10"/>
-  </mime-type>
-  <mime-type type="application/pkcs7-mime">
-    <glob pattern="*.p7m"/>
-    <glob pattern="*.p7c"/>
-  </mime-type>
-  <mime-type type="application/pkcs7-signature">
-    <glob pattern="*.p7s"/>
-  </mime-type>
-  <mime-type type="application/pkix-cert">
-    <glob pattern="*.cer"/>
-  </mime-type>
-  <mime-type type="application/pkix-crl">
-    <glob pattern="*.crl"/>
-  </mime-type>
-  <mime-type type="application/pkix-pkipath">
-    <glob pattern="*.pkipath"/>
-  </mime-type>
-  <mime-type type="application/pkixcmp">
-    <glob pattern="*.pki"/>
-  </mime-type>
-  <mime-type type="application/pls+xml">
-    <glob pattern="*.pls"/>
-  </mime-type>
-  <mime-type type="application/poc-settings+xml"/>
-
-  <mime-type type="application/postscript">
-    <_comment>PostScript</_comment>
-    <magic priority="50">
-      <match value="%!" type="string" offset="0" />
-      <match value="\004%!" type="string" offset="0" />
-      <!-- Windows format EPS -->
-      <match value="0xc5d0d3c6" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.ai"/>
-    <glob pattern="*.ps"/>
-    <glob pattern="*.eps"/>
-    <glob pattern="*.epsf"/>
-    <glob pattern="*.epsi"/>
-  </mime-type>
-
-  <mime-type type="application/prs.alvestrand.titrax-sheet"/>
-  <mime-type type="application/prs.cww">
-    <glob pattern="*.cww"/>
-  </mime-type>
-  <mime-type type="application/prs.nprend"/>
-  <mime-type type="application/prs.plucker"/>
-  <mime-type type="application/qsig"/>
-
-  <mime-type type="application/rdf+xml">
-    <root-XML localName="RDF"/>
-    <root-XML localName="RDF" namespaceURI="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
-    <sub-class-of type="application/xml"/>
-    <acronym>RDF/XML</acronym>
-    <_comment>XML syntax for RDF graphs</_comment>
-    <glob pattern="*.rdf"/>
-    <glob pattern="*.owl"/>
-    <glob pattern="^rdf$" isregex="true"/>
-    <glob pattern="^owl$" isregex="true"/>
-  </mime-type>
-
-  <mime-type type="application/reginfo+xml">
-    <glob pattern="*.rif"/>
-  </mime-type>
-  <mime-type type="application/relax-ng-compact-syntax">
-    <sub-class-of type="text/plain"/>
-    <glob pattern="*.rnc"/>
-  </mime-type>
-  <mime-type type="application/remote-printing"/>
-  <mime-type type="application/resource-lists+xml">
-    <glob pattern="*.rl"/>
-  </mime-type>
-  <mime-type type="application/resource-lists-diff+xml">
-    <glob pattern="*.rld"/>
-  </mime-type>
-  <mime-type type="application/riscos"/>
-  <mime-type type="application/rlmi+xml"/>
-  <mime-type type="application/rls-services+xml">
-    <glob pattern="*.rs"/>
-  </mime-type>
-  <mime-type type="application/rsd+xml">
-    <glob pattern="*.rsd"/>
-  </mime-type>
-
-  <mime-type type="application/rss+xml">
-    <alias type="text/rss"/>
-    <root-XML localName="rss"/>
-    <root-XML namespaceURI="http://purl.org/rss/1.0/"/>
-    <glob pattern="*.rss"/>
-  </mime-type>
-
-  <mime-type type="application/rtf">
-    <alias type="text/rtf"/>
-    <magic priority="50">
-      <match value="{\\rtf" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.rtf"/>
-    <sub-class-of type="text/plain"/>
-  </mime-type>
-
-  <mime-type type="application/rtx"/>
-  <mime-type type="application/samlassertion+xml"/>
-  <mime-type type="application/samlmetadata+xml"/>
-  <mime-type type="application/sbml+xml">
-    <glob pattern="*.sbml"/>
-  </mime-type>
-  <mime-type type="application/scvp-cv-request">
-    <glob pattern="*.scq"/>
-  </mime-type>
-  <mime-type type="application/scvp-cv-response">
-    <glob pattern="*.scs"/>
-  </mime-type>
-  <mime-type type="application/scvp-vp-request">
-    <glob pattern="*.spq"/>
-  </mime-type>
-  <mime-type type="application/scvp-vp-response">
-    <glob pattern="*.spp"/>
-  </mime-type>
-  <mime-type type="application/sdp">
-    <glob pattern="*.sdp"/>
-  </mime-type>
-  <mime-type type="application/set-payment"/>
-  <mime-type type="application/set-payment-initiation">
-    <glob pattern="*.setpay"/>
-  </mime-type>
-  <mime-type type="application/set-registration"/>
-  <mime-type type="application/set-registration-initiation">
-    <glob pattern="*.setreg"/>
-  </mime-type>
-  <mime-type type="application/sgml"/>
-  <mime-type type="application/sgml-open-catalog"/>
-  <mime-type type="application/shf+xml">
-    <glob pattern="*.shf"/>
-  </mime-type>
-  <mime-type type="application/sieve"/>
-  <mime-type type="application/simple-filter+xml"/>
-  <mime-type type="application/simple-message-summary"/>
-  <mime-type type="application/simplesymbolcontainer"/>
-  <mime-type type="application/slate"/>
-  <mime-type type="application/smil"/>
-  <mime-type type="application/smil+xml">
-    <glob pattern="*.smi"/>
-    <glob pattern="*.smil"/>
-  </mime-type>
-  <mime-type type="application/soap+fastinfoset"/>
-  <mime-type type="application/soap+xml"/>
-  <mime-type type="application/sparql-query">
-    <glob pattern="*.rq"/>
-  </mime-type>
-  <mime-type type="application/sparql-results+xml">
-    <glob pattern="*.srx"/>
-  </mime-type>
-  <mime-type type="application/spirits-event+xml"/>
-  <mime-type type="application/srgs">
-    <glob pattern="*.gram"/>
-  </mime-type>
-  <mime-type type="application/srgs+xml">
-    <glob pattern="*.grxml"/>
-  </mime-type>
-  <mime-type type="application/ssml+xml">
-    <glob pattern="*.ssml"/>
-  </mime-type>
-  <mime-type type="application/timestamp-query"/>
-  <mime-type type="application/timestamp-reply"/>
-  <mime-type type="application/tve-trigger"/>
-  <mime-type type="application/ulpfec"/>
-  <mime-type type="application/vemmi"/>
-  <mime-type type="application/vividence.scriptfile"/>
-  <mime-type type="application/vnd.3gpp.bsf+xml"/>
-  <mime-type type="application/vnd.3gpp.pic-bw-large">
-    <glob pattern="*.plb"/>
-  </mime-type>
-  <mime-type type="application/vnd.3gpp.pic-bw-small">
-    <glob pattern="*.psb"/>
-  </mime-type>
-  <mime-type type="application/vnd.3gpp.pic-bw-var">
-    <glob pattern="*.pvb"/>
-  </mime-type>
-  <mime-type type="application/vnd.3gpp.sms"/>
-  <mime-type type="application/vnd.3gpp2.bcmcsinfo+xml"/>
-  <mime-type type="application/vnd.3gpp2.sms"/>
-  <mime-type type="application/vnd.3gpp2.tcap">
-    <glob pattern="*.tcap"/>
-  </mime-type>
-  <mime-type type="application/vnd.3m.post-it-notes">
-    <glob pattern="*.pwn"/>
-  </mime-type>
-  <mime-type type="application/vnd.accpac.simply.aso">
-    <glob pattern="*.aso"/>
-  </mime-type>
-  <mime-type type="application/vnd.accpac.simply.imp">
-    <glob pattern="*.imp"/>
-  </mime-type>
-  <mime-type type="application/vnd.acucobol">
-    <glob pattern="*.acu"/>
-  </mime-type>
-  <mime-type type="application/vnd.acucorp">
-    <glob pattern="*.atc"/>
-    <glob pattern="*.acutc"/>
-  </mime-type>
-  <mime-type type="application/vnd.adobe.air-application-installer-package+zip">
-    <glob pattern="*.air"/>
-  </mime-type>
-  <mime-type type="application/vnd.adobe.xdp+xml">
-    <glob pattern="*.xdp"/>
-  </mime-type>
-  <mime-type type="application/vnd.adobe.xfdf">
-    <glob pattern="*.xfdf"/>
-  </mime-type>
-  <mime-type type="application/vnd.aether.imp"/>
-  <mime-type type="application/vnd.airzip.filesecure.azf">
-    <glob pattern="*.azf"/>
-  </mime-type>
-  <mime-type type="application/vnd.airzip.filesecure.azs">
-    <glob pattern="*.azs"/>
-  </mime-type>
-  <mime-type type="application/vnd.amazon.ebook">
-    <glob pattern="*.azw"/>
-  </mime-type>
-  <mime-type type="application/vnd.americandynamics.acc">
-    <glob pattern="*.acc"/>
-  </mime-type>
-  <mime-type type="application/vnd.amiga.ami">
-    <glob pattern="*.ami"/>
-  </mime-type>
-  <mime-type type="application/vnd.android.package-archive">
-    <glob pattern="*.apk"/>
-  </mime-type>
-  <mime-type type="application/vnd.anser-web-certificate-issue-initiation">
-    <glob pattern="*.cii"/>
-  </mime-type>
-  <mime-type type="application/vnd.anser-web-funds-transfer-initiation">
-    <glob pattern="*.fti"/>
-  </mime-type>
-  <mime-type type="application/vnd.antix.game-component">
-    <glob pattern="*.atx"/>
-  </mime-type>
-  <mime-type type="application/vnd.apple.installer+xml">
-    <glob pattern="*.mpkg"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.apple.iwork">
-    <sub-class-of type="application/zip"/>
-  </mime-type>
-  <mime-type type="application/vnd.apple.keynote">
-    <root-XML localName="presentation" namespaceURI="http://developer.apple.com/namespaces/keynote2" />
-    <sub-class-of type="application/vnd.apple.iwork" />
-    <glob pattern="*.key"/>
-  </mime-type>
-  <mime-type type="application/vnd.apple.pages">
-    <root-XML localName="document" namespaceURI="http://developer.apple.com/namespaces/sl" />
-    <sub-class-of type="application/vnd.apple.iwork" />
-    <glob pattern="*.pages"/>
-  </mime-type>
-  <mime-type type="application/vnd.apple.numbers">
-    <root-XML localName="document" namespaceURI="http://developer.apple.com/namespaces/ls" />
-    <sub-class-of type="application/vnd.apple.iwork" />
-    <glob pattern="*.numbers"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.arastra.swi">
-    <glob pattern="*.swi"/>
-  </mime-type>
-  <mime-type type="application/vnd.audiograph">
-    <glob pattern="*.aep"/>
-  </mime-type>
-  <mime-type type="application/vnd.autopackage"/>
-  <mime-type type="application/vnd.avistar+xml"/>
-  <mime-type type="application/vnd.blueice.multipass">
-    <glob pattern="*.mpm"/>
-  </mime-type>
-  <mime-type type="application/vnd.bluetooth.ep.oob"/>
-  <mime-type type="application/vnd.bmi">
-    <glob pattern="*.bmi"/>
-  </mime-type>
-  <mime-type type="application/vnd.businessobjects">
-    <glob pattern="*.rep"/>
-  </mime-type>
-  <mime-type type="application/vnd.cab-jscript"/>
-  <mime-type type="application/vnd.canon-cpdl"/>
-  <mime-type type="application/vnd.canon-lips"/>
-  <mime-type type="application/vnd.cendio.thinlinc.clientconf"/>
-  <mime-type type="application/vnd.chemdraw+xml">
-    <glob pattern="*.cdxml"/>
-  </mime-type>
-  <mime-type type="application/vnd.chipnuts.karaoke-mmd">
-    <glob pattern="*.mmd"/>
-  </mime-type>
-  <mime-type type="application/vnd.cinderella">
-    <glob pattern="*.cdy"/>
-  </mime-type>
-  <mime-type type="application/vnd.cirpack.isdn-ext"/>
-  <mime-type type="application/vnd.claymore">
-    <glob pattern="*.cla"/>
-  </mime-type>
-  <mime-type type="application/vnd.clonk.c4group">
-    <glob pattern="*.c4g"/>
-    <glob pattern="*.c4d"/>
-    <glob pattern="*.c4f"/>
-    <glob pattern="*.c4p"/>
-    <glob pattern="*.c4u"/>
-  </mime-type>
-  <mime-type type="application/vnd.commerce-battelle"/>
-  <mime-type type="application/vnd.commonspace">
-    <glob pattern="*.csp"/>
-  </mime-type>
-  <mime-type type="application/vnd.contact.cmsg">
-    <glob pattern="*.cdbcmsg"/>
-  </mime-type>
-  <mime-type type="application/vnd.cosmocaller">
-    <glob pattern="*.cmc"/>
-  </mime-type>
-  <mime-type type="application/vnd.crick.clicker">
-    <glob pattern="*.clkx"/>
-  </mime-type>
-  <mime-type type="application/vnd.crick.clicker.keyboard">
-    <glob pattern="*.clkk"/>
-  </mime-type>
-  <mime-type type="application/vnd.crick.clicker.palette">
-    <glob pattern="*.clkp"/>
-  </mime-type>
-  <mime-type type="application/vnd.crick.clicker.template">
-    <glob pattern="*.clkt"/>
-  </mime-type>
-  <mime-type type="application/vnd.crick.clicker.wordbank">
-    <glob pattern="*.clkw"/>
-  </mime-type>
-  <mime-type type="application/vnd.criticaltools.wbs+xml">
-    <glob pattern="*.wbs"/>
-  </mime-type>
-  <mime-type type="application/vnd.ctc-posml">
-    <glob pattern="*.pml"/>
-  </mime-type>
-  <mime-type type="application/vnd.ctct.ws+xml"/>
-  <mime-type type="application/vnd.cups-pdf"/>
-  <mime-type type="application/vnd.cups-postscript"/>
-  <mime-type type="application/vnd.cups-ppd">
-    <glob pattern="*.ppd"/>
-  </mime-type>
-  <mime-type type="application/vnd.cups-raster"/>
-  <mime-type type="application/vnd.cups-raw"/>
-  <mime-type type="application/vnd.curl.car">
-    <glob pattern="*.car"/>
-  </mime-type>
-  <mime-type type="application/vnd.curl.pcurl">
-    <glob pattern="*.pcurl"/>
-  </mime-type>
-  <mime-type type="application/vnd.cybank"/>
-  <mime-type type="application/vnd.data-vision.rdz">
-    <glob pattern="*.rdz"/>
-  </mime-type>
-  <mime-type type="application/vnd.denovo.fcselayout-link">
-    <glob pattern="*.fe_launch"/>
-  </mime-type>
-  <mime-type type="application/vnd.dir-bi.plate-dl-nosuffix"/>
-  <mime-type type="application/vnd.dna">
-    <glob pattern="*.dna"/>
-  </mime-type>
-  <mime-type type="application/vnd.dolby.mlp">
-    <glob pattern="*.mlp"/>
-  </mime-type>
-  <mime-type type="application/vnd.dolby.mobile.1"/>
-  <mime-type type="application/vnd.dolby.mobile.2"/>
-  <mime-type type="application/vnd.dpgraph">
-    <glob pattern="*.dpg"/>
-  </mime-type>
-  <mime-type type="application/vnd.dreamfactory">
-    <glob pattern="*.dfac"/>
-  </mime-type>
-  <mime-type type="application/vnd.dvb.esgcontainer"/>
-  <mime-type type="application/vnd.dvb.ipdcdftnotifaccess"/>
-  <mime-type type="application/vnd.dvb.ipdcesgaccess"/>
-  <mime-type type="application/vnd.dvb.ipdcroaming"/>
-  <mime-type type="application/vnd.dvb.iptv.alfec-base"/>
-  <mime-type type="application/vnd.dvb.iptv.alfec-enhancement"/>
-  <mime-type type="application/vnd.dvb.notif-aggregate-root+xml"/>
-  <mime-type type="application/vnd.dvb.notif-container+xml"/>
-  <mime-type type="application/vnd.dvb.notif-generic+xml"/>
-  <mime-type type="application/vnd.dvb.notif-ia-msglist+xml"/>
-  <mime-type type="application/vnd.dvb.notif-ia-registration-request+xml"/>
-  <mime-type type="application/vnd.dvb.notif-ia-registration-response+xml"/>
-  <mime-type type="application/vnd.dvb.notif-init+xml"/>
-  <mime-type type="application/vnd.dxr"/>
-  <mime-type type="application/vnd.dynageo">
-    <glob pattern="*.geo"/>
-  </mime-type>
-  <mime-type type="application/vnd.ecdis-update"/>
-  <mime-type type="application/vnd.ecowin.chart">
-    <glob pattern="*.mag"/>
-  </mime-type>
-  <mime-type type="application/vnd.ecowin.filerequest"/>
-  <mime-type type="application/vnd.ecowin.fileupdate"/>
-  <mime-type type="application/vnd.ecowin.series"/>
-  <mime-type type="application/vnd.ecowin.seriesrequest"/>
-  <mime-type type="application/vnd.ecowin.seriesupdate"/>
-  <mime-type type="application/vnd.emclient.accessrequest+xml"/>
-  <mime-type type="application/vnd.enliven">
-    <glob pattern="*.nml"/>
-  </mime-type>
-  <mime-type type="application/vnd.epson.esf">
-    <glob pattern="*.esf"/>
-  </mime-type>
-  <mime-type type="application/vnd.epson.msf">
-    <glob pattern="*.msf"/>
-  </mime-type>
-  <mime-type type="application/vnd.epson.quickanime">
-    <glob pattern="*.qam"/>
-  </mime-type>
-  <mime-type type="application/vnd.epson.salt">
-    <glob pattern="*.slt"/>
-  </mime-type>
-  <mime-type type="application/vnd.epson.ssf">
-    <glob pattern="*.ssf"/>
-  </mime-type>
-  <mime-type type="application/vnd.ericsson.quickcall"/>
-  <mime-type type="application/vnd.eszigno3+xml">
-    <glob pattern="*.es3"/>
-    <glob pattern="*.et3"/>
-  </mime-type>
-  <mime-type type="application/vnd.etsi.aoc+xml"/>
-  <mime-type type="application/vnd.etsi.cug+xml"/>
-  <mime-type type="application/vnd.etsi.iptvcommand+xml"/>
-  <mime-type type="application/vnd.etsi.iptvdiscovery+xml"/>
-  <mime-type type="application/vnd.etsi.iptvprofile+xml"/>
-  <mime-type type="application/vnd.etsi.iptvsad-bc+xml"/>
-  <mime-type type="application/vnd.etsi.iptvsad-cod+xml"/>
-  <mime-type type="application/vnd.etsi.iptvsad-npvr+xml"/>
-  <mime-type type="application/vnd.etsi.iptvueprofile+xml"/>
-  <mime-type type="application/vnd.etsi.mcid+xml"/>
-  <mime-type type="application/vnd.etsi.sci+xml"/>
-  <mime-type type="application/vnd.etsi.simservs+xml"/>
-  <mime-type type="application/vnd.eudora.data"/>
-  <mime-type type="application/vnd.ezpix-album">
-    <glob pattern="*.ez2"/>
-  </mime-type>
-  <mime-type type="application/vnd.ezpix-package">
-    <glob pattern="*.ez3"/>
-  </mime-type>
-  <mime-type type="application/vnd.f-secure.mobile"/>
-  <mime-type type="application/vnd.fdf">
-    <glob pattern="*.fdf"/>
-  </mime-type>
-  <mime-type type="application/vnd.fdsn.mseed">
-    <glob pattern="*.mseed"/>
-  </mime-type>
-  <mime-type type="application/vnd.fdsn.seed">
-    <glob pattern="*.seed"/>
-    <glob pattern="*.dataless"/>
-  </mime-type>
-  <mime-type type="application/vnd.ffsns"/>
-  <mime-type type="application/vnd.fints"/>
-  <mime-type type="application/vnd.flographit">
-    <glob pattern="*.gph"/>
-  </mime-type>
-  <mime-type type="application/vnd.fluxtime.clip">
-    <glob pattern="*.ftc"/>
-  </mime-type>
-  <mime-type type="application/vnd.font-fontforge-sfd"/>
-  <mime-type type="application/vnd.framemaker">
-    <glob pattern="*.fm"/>
-    <glob pattern="*.frame"/>
-    <glob pattern="*.maker"/>
-    <glob pattern="*.book"/>
-  </mime-type>
-  <mime-type type="application/vnd.frogans.fnc">
-    <glob pattern="*.fnc"/>
-  </mime-type>
-  <mime-type type="application/vnd.frogans.ltf">
-    <glob pattern="*.ltf"/>
-  </mime-type>
-  <mime-type type="application/vnd.fsc.weblaunch">
-    <glob pattern="*.fsc"/>
-  </mime-type>
-  <mime-type type="application/vnd.fujitsu.oasys">
-    <glob pattern="*.oas"/>
-  </mime-type>
-  <mime-type type="application/vnd.fujitsu.oasys2">
-    <glob pattern="*.oa2"/>
-  </mime-type>
-  <mime-type type="application/vnd.fujitsu.oasys3">
-    <glob pattern="*.oa3"/>
-  </mime-type>
-  <mime-type type="application/vnd.fujitsu.oasysgp">
-    <glob pattern="*.fg5"/>
-  </mime-type>
-  <mime-type type="application/vnd.fujitsu.oasysprs">
-    <glob pattern="*.bh2"/>
-  </mime-type>
-  <mime-type type="application/vnd.fujixerox.art-ex"/>
-  <mime-type type="application/vnd.fujixerox.art4"/>
-  <mime-type type="application/vnd.fujixerox.hbpl"/>
-  <mime-type type="application/vnd.fujixerox.ddd">
-    <glob pattern="*.ddd"/>
-  </mime-type>
-  <mime-type type="application/vnd.fujixerox.docuworks">
-    <glob pattern="*.xdw"/>
-  </mime-type>
-  <mime-type type="application/vnd.fujixerox.docuworks.binder">
-    <glob pattern="*.xbd"/>
-  </mime-type>
-  <mime-type type="application/vnd.fut-misnet"/>
-  <mime-type type="application/vnd.fuzzysheet">
-    <glob pattern="*.fzs"/>
-  </mime-type>
-  <mime-type type="application/vnd.genomatix.tuxedo">
-    <glob pattern="*.txd"/>
-  </mime-type>
-  <mime-type type="application/vnd.geogebra.file">
-    <glob pattern="*.ggb"/>
-  </mime-type>
-  <mime-type type="application/vnd.geogebra.tool">
-    <glob pattern="*.ggt"/>
-  </mime-type>
-  <mime-type type="application/vnd.geometry-explorer">
-    <glob pattern="*.gex"/>
-    <glob pattern="*.gre"/>
-  </mime-type>
-  <mime-type type="application/vnd.gmx">
-    <glob pattern="*.gmx"/>
-  </mime-type>
-  <mime-type type="application/vnd.google-earth.kml+xml">
-    <glob pattern="*.kml"/>
-  </mime-type>
-  <mime-type type="application/vnd.google-earth.kmz">
-    <glob pattern="*.kmz"/>
-  </mime-type>
-  <mime-type type="application/vnd.grafeq">
-    <glob pattern="*.gqf"/>
-    <glob pattern="*.gqs"/>
-  </mime-type>
-  <mime-type type="application/vnd.gridmp"/>
-  <mime-type type="application/vnd.groove-account">
-    <glob pattern="*.gac"/>
-  </mime-type>
-  <mime-type type="application/vnd.groove-help">
-    <glob pattern="*.ghf"/>
-  </mime-type>
-  <mime-type type="application/vnd.groove-identity-message">
-    <glob pattern="*.gim"/>
-  </mime-type>
-  <mime-type type="application/vnd.groove-injector">
-    <glob pattern="*.grv"/>
-  </mime-type>
-  <mime-type type="application/vnd.groove-tool-message">
-    <glob pattern="*.gtm"/>
-  </mime-type>
-  <mime-type type="application/vnd.groove-tool-template">
-    <glob pattern="*.tpl"/>
-  </mime-type>
-  <mime-type type="application/vnd.groove-vcard">
-    <glob pattern="*.vcg"/>
-  </mime-type>
-  <mime-type type="application/vnd.handheld-entertainment+xml">
-    <glob pattern="*.zmm"/>
-  </mime-type>
-  <mime-type type="application/vnd.hbci">
-    <glob pattern="*.hbci"/>
-  </mime-type>
-  <mime-type type="application/vnd.hcl-bireports"/>
-  <mime-type type="application/vnd.hhe.lesson-player">
-    <glob pattern="*.les"/>
-  </mime-type>
-  <mime-type type="application/vnd.hp-hpgl">
-    <glob pattern="*.hpgl"/>
-  </mime-type>
-  <mime-type type="application/vnd.hp-hpid">
-    <glob pattern="*.hpid"/>
-  </mime-type>
-  <mime-type type="application/vnd.hp-hps">
-    <glob pattern="*.hps"/>
-  </mime-type>
-  <mime-type type="application/vnd.hp-jlyt">
-    <glob pattern="*.jlt"/>
-  </mime-type>
-  <mime-type type="application/vnd.hp-pcl">
-    <glob pattern="*.pcl"/>
-  </mime-type>
-  <mime-type type="application/vnd.hp-pclxl">
-    <glob pattern="*.pclxl"/>
-  </mime-type>
-  <mime-type type="application/vnd.httphone"/>
-  <mime-type type="application/vnd.hydrostatix.sof-data">
-    <glob pattern="*.sfd-hdstx"/>
-  </mime-type>
-  <mime-type type="application/vnd.hzn-3d-crossword">
-    <glob pattern="*.x3d"/>
-  </mime-type>
-  <mime-type type="application/vnd.ibm.afplinedata"/>
-  <mime-type type="application/vnd.ibm.electronic-media"/>
-  <mime-type type="application/vnd.ibm.minipay">
-    <glob pattern="*.mpy"/>
-  </mime-type>
-  <mime-type type="application/vnd.ibm.modcap">
-    <glob pattern="*.afp"/>
-    <glob pattern="*.listafp"/>
-    <glob pattern="*.list3820"/>
-  </mime-type>
-  <mime-type type="application/vnd.ibm.rights-management">
-    <glob pattern="*.irm"/>
-  </mime-type>
-  <mime-type type="application/vnd.ibm.secure-container">
-    <glob pattern="*.sc"/>
-  </mime-type>
-  <mime-type type="application/vnd.iccprofile">
-    <glob pattern="*.icc"/>
-    <glob pattern="*.icm"/>
-  </mime-type>
-  <mime-type type="application/vnd.igloader">
-    <glob pattern="*.igl"/>
-  </mime-type>
-  <mime-type type="application/vnd.immervision-ivp">
-    <glob pattern="*.ivp"/>
-  </mime-type>
-  <mime-type type="application/vnd.immervision-ivu">
-    <glob pattern="*.ivu"/>
-  </mime-type>
-  <mime-type type="application/vnd.informedcontrol.rms+xml"/>
-  <mime-type type="application/vnd.informix-visionary"/>
-  <mime-type type="application/vnd.intercon.formnet">
-    <glob pattern="*.xpw"/>
-    <glob pattern="*.xpx"/>
-  </mime-type>
-  <mime-type type="application/vnd.intertrust.digibox"/>
-  <mime-type type="application/vnd.intertrust.nncp"/>
-  <mime-type type="application/vnd.intu.qbo">
-    <glob pattern="*.qbo"/>
-  </mime-type>
-  <mime-type type="application/vnd.intu.qfx">
-    <glob pattern="*.qfx"/>
-  </mime-type>
-  <mime-type type="application/vnd.iptc.g2.conceptitem+xml"/>
-  <mime-type type="application/vnd.iptc.g2.knowledgeitem+xml"/>
-  <mime-type type="application/vnd.iptc.g2.newsitem+xml"/>
-  <mime-type type="application/vnd.iptc.g2.packageitem+xml"/>
-  <mime-type type="application/vnd.ipunplugged.rcprofile">
-    <glob pattern="*.rcprofile"/>
-  </mime-type>
-  <mime-type type="application/vnd.irepository.package+xml">
-    <glob pattern="*.irp"/>
-  </mime-type>
-  <mime-type type="application/vnd.is-xpr">
-    <glob pattern="*.xpr"/>
-  </mime-type>
-  <mime-type type="application/vnd.jam">
-    <glob pattern="*.jam"/>
-  </mime-type>
-  <mime-type type="application/vnd.japannet-directory-service"/>
-  <mime-type type="application/vnd.japannet-jpnstore-wakeup"/>
-  <mime-type type="application/vnd.japannet-payment-wakeup"/>
-  <mime-type type="application/vnd.japannet-registration"/>
-  <mime-type type="application/vnd.japannet-registration-wakeup"/>
-  <mime-type type="application/vnd.japannet-setstore-wakeup"/>
-  <mime-type type="application/vnd.japannet-verification"/>
-  <mime-type type="application/vnd.japannet-verification-wakeup"/>
-  <mime-type type="application/vnd.jcp.javame.midlet-rms">
-    <glob pattern="*.rms"/>
-  </mime-type>
-  <mime-type type="application/vnd.jisp">
-    <glob pattern="*.jisp"/>
-  </mime-type>
-  <mime-type type="application/vnd.joost.joda-archive">
-    <glob pattern="*.joda"/>
-  </mime-type>
-  <mime-type type="application/vnd.kahootz">
-    <glob pattern="*.ktz"/>
-    <glob pattern="*.ktr"/>
-  </mime-type>
-  <mime-type type="application/vnd.kde.karbon">
-    <glob pattern="*.karbon"/>
-  </mime-type>
-  <mime-type type="application/vnd.kde.kchart">
-    <glob pattern="*.chrt"/>
-  </mime-type>
-  <mime-type type="application/vnd.kde.kformula">
-    <glob pattern="*.kfo"/>
-  </mime-type>
-  <mime-type type="application/vnd.kde.kivio">
-    <glob pattern="*.flw"/>
-  </mime-type>
-  <mime-type type="application/vnd.kde.kontour">
-    <glob pattern="*.kon"/>
-  </mime-type>
-  <mime-type type="application/vnd.kde.kpresenter">
-    <glob pattern="*.kpr"/>
-    <glob pattern="*.kpt"/>
-  </mime-type>
-  <mime-type type="application/vnd.kde.kspread">
-    <glob pattern="*.ksp"/>
-  </mime-type>
-  <mime-type type="application/vnd.kde.kword">
-    <glob pattern="*.kwd"/>
-    <glob pattern="*.kwt"/>
-  </mime-type>
-  <mime-type type="application/vnd.kenameaapp">
-    <glob pattern="*.htke"/>
-  </mime-type>
-  <mime-type type="application/vnd.kidspiration">
-    <glob pattern="*.kia"/>
-  </mime-type>
-  <mime-type type="application/vnd.kinar">
-    <glob pattern="*.kne"/>
-    <glob pattern="*.knp"/>
-  </mime-type>
-  <mime-type type="application/vnd.koan">
-    <alias type="application/x-koan"/>
-    <_comment>SSEYO Koan File</_comment>
-    <glob pattern="*.skp"/>
-    <glob pattern="*.skd"/>
-    <glob pattern="*.skt"/>
-    <glob pattern="*.skm"/>
-  </mime-type>
-  <mime-type type="application/vnd.kodak-descriptor">
-    <glob pattern="*.sse"/>
-  </mime-type>
-  <mime-type type="application/vnd.liberty-request+xml"/>
-  <mime-type type="application/vnd.llamagraphics.life-balance.desktop">
-    <glob pattern="*.lbd"/>
-  </mime-type>
-  <mime-type type="application/vnd.llamagraphics.life-balance.exchange+xml">
-    <glob pattern="*.lbe"/>
-  </mime-type>
-  <mime-type type="application/vnd.lotus-1-2-3">
-    <glob pattern="*.123"/>
-  </mime-type>
-  <mime-type type="application/vnd.lotus-approach">
-    <glob pattern="*.apr"/>
-  </mime-type>
-  <mime-type type="application/vnd.lotus-freelance">
-    <glob pattern="*.pre"/>
-  </mime-type>
-  <mime-type type="application/vnd.lotus-notes">
-    <glob pattern="*.nsf"/>
-  </mime-type>
-  <mime-type type="application/vnd.lotus-organizer">
-    <glob pattern="*.org"/>
-  </mime-type>
-  <mime-type type="application/vnd.lotus-screencam">
-    <glob pattern="*.scm"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.lotus-wordpro">
-    <magic priority="50">
-      <match value="WordPro\0" type="string" offset="0" />
-      <match value="WordPro\r\373" type="string" offset="0" />
-    </magic>
-    <glob pattern="*.lwp"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.macports.portpkg">
-    <glob pattern="*.portpkg"/>
-  </mime-type>
-  <mime-type type="application/vnd.marlin.drm.actiontoken+xml"/>
-  <mime-type type="application/vnd.marlin.drm.conftoken+xml"/>
-  <mime-type type="application/vnd.marlin.drm.license+xml"/>
-  <mime-type type="application/vnd.marlin.drm.mdcf"/>
-  <mime-type type="application/vnd.mcd">
-    <glob pattern="*.mcd"/>
-  </mime-type>
-  <mime-type type="application/vnd.medcalcdata">
-    <glob pattern="*.mc1"/>
-  </mime-type>
-  <mime-type type="application/vnd.mediastation.cdkey">
-    <glob pattern="*.cdkey"/>
-  </mime-type>
-  <mime-type type="application/vnd.meridian-slingshot"/>
-  <mime-type type="application/vnd.mfer">
-    <glob pattern="*.mwf"/>
-  </mime-type>
-  <mime-type type="application/vnd.mfmp">
-    <glob pattern="*.mfm"/>
-  </mime-type>
-  <mime-type type="application/vnd.micrografx.flo">
-    <glob pattern="*.flo"/>
-  </mime-type>
-  <mime-type type="application/vnd.micrografx.igx">
-    <glob pattern="*.igx"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.mif">
-    <_comment>FrameMaker MIF document</_comment>
-    <alias type="application/x-mif"/>
-    <alias type="application/x-frame"/>
-    <magic priority="50">
-      <match value="\&lt;MakerFile" type="string" offset="0" />
-      <match value="\&lt;MIFFile" type="string" offset="0" />
-      <match value="\&lt;MakerDictionary" type="string" offset="0" />
-      <match value="\&lt;MakerScreenFont" type="string" offset="0" />
-      <match value="\&lt;MML" type="string" offset="0" />
-      <match value="\&lt;Book" type="string" offset="0" />
-      <match value="\&lt;Maker" type="string" offset="0" />
-    </magic>
-    <glob pattern="*.mif"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.minisoft-hp3000-save"/>
-  <mime-type type="application/vnd.mitsubishi.misty-guard.trustweb"/>
-  <mime-type type="application/vnd.mobius.daf">
-    <glob pattern="*.daf"/>
-  </mime-type>
-  <mime-type type="application/vnd.mobius.dis">
-    <glob pattern="*.dis"/>
-  </mime-type>
-  <mime-type type="application/vnd.mobius.mbk">
-    <glob pattern="*.mbk"/>
-  </mime-type>
-  <mime-type type="application/vnd.mobius.mqy">
-    <glob pattern="*.mqy"/>
-  </mime-type>
-  <mime-type type="application/vnd.mobius.msl">
-    <glob pattern="*.msl"/>
-  </mime-type>
-  <mime-type type="application/vnd.mobius.plc">
-    <glob pattern="*.plc"/>
-  </mime-type>
-  <mime-type type="application/vnd.mobius.txf">
-    <glob pattern="*.txf"/>
-  </mime-type>
-  <mime-type type="application/vnd.mophun.application">
-    <glob pattern="*.mpn"/>
-  </mime-type>
-  <mime-type type="application/vnd.mophun.certificate">
-    <glob pattern="*.mpc"/>
-  </mime-type>
-  <mime-type type="application/vnd.motorola.flexsuite"/>
-  <mime-type type="application/vnd.motorola.flexsuite.adsi"/>
-  <mime-type type="application/vnd.motorola.flexsuite.fis"/>
-  <mime-type type="application/vnd.motorola.flexsuite.gotap"/>
-  <mime-type type="application/vnd.motorola.flexsuite.kmr"/>
-  <mime-type type="application/vnd.motorola.flexsuite.ttc"/>
-  <mime-type type="application/vnd.motorola.flexsuite.wem"/>
-  <mime-type type="application/vnd.motorola.iprm"/>
-  <mime-type type="application/vnd.mozilla.xul+xml">
-    <glob pattern="*.xul"/>
-  </mime-type>
-  <mime-type type="application/vnd.ms-artgalry">
-    <glob pattern="*.cil"/>
-  </mime-type>
-  <mime-type type="application/vnd.ms-asf"/>
-  <mime-type type="application/vnd.ms-cab-compressed">
-    <glob pattern="*.cab"/>
-  </mime-type>
-
-  <!-- http://www.iana.org/assignments/media-types/application/vnd.ms-excel -->
-  <mime-type type="application/vnd.ms-excel">
-    <!-- Use org.apache.tika.detect.ContainerAwareDetector for more reliable detection of OLE2 documents -->
-    <alias type="application/msexcel" />
-    <_comment>Microsoft Excel Spreadsheet</_comment>
-    <magic priority="50">
-      <match value="Microsoft\ Excel\ 5.0\ Worksheet" type="string" offset="2080"/>
-      <match value="Foglio\ di\ lavoro\ Microsoft\ Exce" type="string" offset="2080"/>
-      <match value="Biff5" type="string" offset="2114"/>
-      <match value="Biff5" type="string" offset="2121"/>
-      <match value="\x09\x04\x06\x00\x00\x00\x10\x00" type="string" offset="0"/>
-      <match value="0xd0cf11e0a1b11ae1" type="string" offset="0:8">
-         <match value="W\x00o\x00r\x00k\x00b\x00o\x00o\x00k" type="string" offset="1152:4096" />
-      </match>
-    </magic>
-    <glob pattern="*.xls"/>
-    <glob pattern="*.xlm"/>
-    <glob pattern="*.xla"/>
-    <glob pattern="*.xlc"/>
-    <glob pattern="*.xlt"/>
-    <glob pattern="*.xlw"/>
-    <glob pattern="*.xll"/>
-    <glob pattern="*.xld"/>
-    <sub-class-of type="application/x-tika-msoffice"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-excel.addin.macroenabled.12">
-    <_comment>Office Open XML Workbook Add-in (macro-enabled)</_comment>
-    <glob pattern="*.xlam"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-excel.sheet.macroenabled.12">
-    <_comment>Office Open XML Workbook (macro-enabled)</_comment>
-    <glob pattern="*.xlsm"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-excel.sheet.binary.macroenabled.12">
-    <_comment>Microsoft Excel 2007 Binary Spreadsheet</_comment>
-    <glob pattern="*.xlsb"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-excel.template.macroenabled.12">
-    <glob pattern="*.xltm"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-fontobject">
-    <glob pattern="*.eot"/>
-  </mime-type>
-  <mime-type type="application/vnd.ms-htmlhelp">
-    <glob pattern="*.chm"/>
-  </mime-type>
-  <mime-type type="application/vnd.ms-ims">
-    <glob pattern="*.ims"/>
-  </mime-type>
-  <mime-type type="application/vnd.ms-lrm">
-    <glob pattern="*.lrm"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-outlook">
-    <_comment>Microsoft Outlook Message</_comment>
-    <glob pattern="*.msg" />
-    <sub-class-of type="application/x-tika-msoffice"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-pki.seccat">
-    <glob pattern="*.cat"/>
-  </mime-type>
-  <mime-type type="application/vnd.ms-pki.stl">
-    <glob pattern="*.stl"/>
-  </mime-type>
-  <mime-type type="application/vnd.ms-playready.initiator+xml"/>
-
-  <!-- http://www.iana.org/assignments/media-types/application/vnd.ms-powerpoint -->
-  <mime-type type="application/vnd.ms-powerpoint">
-    <!-- Use org.apache.tika.detect.ContainerAwareDetector for more reliable detection of OLE2 documents -->
-    <alias type="application/mspowerpoint"/>
-    <_comment>Microsoft Powerpoint Presentation</_comment>
-    <magic priority="50">
-      <match value="0xd0cf11e0a1b11ae1" type="string" offset="0:8">
-         <match value="P\x00o\x00w\x00e\x00r\x00P\x00o\x00i\x00n\x00t\x00 D\x00o\x00c\x00u\x00m\x00e\x00n\x00t" type="string" offset="1152:4096" />
-      </match>
-    </magic>
-    <glob pattern="*.ppz"/>
-    <glob pattern="*.ppt"/>
-    <glob pattern="*.pps"/>
-    <glob pattern="*.pot"/>
-    <glob pattern="*.ppa"/>
-    <sub-class-of type="application/x-tika-msoffice"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-powerpoint.addin.macroenabled.12">
-    <_comment>Office Open XML Presentation Add-in (macro-enabled)</_comment>
-    <glob pattern="*.ppam"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-powerpoint.presentation.macroenabled.12">
-    <_comment>Office Open XML Presentation (macro-enabled)</_comment>
-    <glob pattern="*.pptm"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-powerpoint.slide.macroenabled.12">
-    <glob pattern="*.sldm"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-powerpoint.slideshow.macroenabled.12">
-    <_comment>Office Open XML Presentation Slideshow (macro-enabled)</_comment>
-    <glob pattern="*.ppsm"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-powerpoint.template.macroenabled.12">
-    <glob pattern="*.potm"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-project">
-    <glob pattern="*.mpp"/>
-    <glob pattern="*.mpt"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-tnef">
-    <alias type="application/ms-tnef" />
-    <magic priority="50">
-      <match value="0x223e9f78" type="little16" offset="0" />
-    </magic>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-wmdrm.lic-chlg-req"/>
-  <mime-type type="application/vnd.ms-wmdrm.lic-resp"/>
-  <mime-type type="application/vnd.ms-wmdrm.meter-chlg-req"/>
-  <mime-type type="application/vnd.ms-wmdrm.meter-resp"/>
-
-  <mime-type type="application/vnd.ms-word.document.macroenabled.12">
-    <_comment>Office Open XML Document (macro-enabled)</_comment>
-    <glob pattern="*.docm"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-word.template.macroenabled.12">
-    <_comment>Office Open XML Document Template (macro-enabled)</_comment>
-    <glob pattern="*.dotm"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-works">
-    <glob pattern="*.wps"/>
-    <glob pattern="*.wks"/>
-    <glob pattern="*.wcm"/>
-    <glob pattern="*.wdb"/>
-  </mime-type>
-  <mime-type type="application/vnd.ms-wpl">
-    <glob pattern="*.wpl"/>
-  </mime-type>
-  <mime-type type="application/vnd.ms-xpsdocument">
-    <glob pattern="*.xps"/>
-  </mime-type>
-  <mime-type type="application/vnd.mseq">
-    <glob pattern="*.mseq"/>
-  </mime-type>
-  <mime-type type="application/vnd.msign"/>
-  <mime-type type="application/vnd.multiad.creator"/>
-  <mime-type type="application/vnd.multiad.creator.cif"/>
-  <mime-type type="application/vnd.music-niff"/>
-  <mime-type type="application/vnd.musician">
-    <glob pattern="*.mus"/>
-  </mime-type>
-  <mime-type type="application/vnd.muvee.style">
-    <glob pattern="*.msty"/>
-  </mime-type>
-  <mime-type type="application/vnd.ncd.control"/>
-  <mime-type type="application/vnd.ncd.reference"/>
-  <mime-type type="application/vnd.nervana"/>
-  <mime-type type="application/vnd.netfpx"/>
-  <mime-type type="application/vnd.neurolanguage.nlu">
-    <glob pattern="*.nlu"/>
-  </mime-type>
-  <mime-type type="application/vnd.noblenet-directory">
-    <glob pattern="*.nnd"/>
-  </mime-type>
-  <mime-type type="application/vnd.noblenet-sealer">
-    <glob pattern="*.nns"/>
-  </mime-type>
-  <mime-type type="application/vnd.noblenet-web">
-    <glob pattern="*.nnw"/>
-  </mime-type>
-  <mime-type type="application/vnd.nokia.catalogs"/>
-  <mime-type type="application/vnd.nokia.conml+wbxml"/>
-  <mime-type type="application/vnd.nokia.conml+xml"/>
-  <mime-type type="application/vnd.nokia.isds-radio-presets"/>
-  <mime-type type="application/vnd.nokia.iptv.config+xml"/>
-  <mime-type type="application/vnd.nokia.landmark+wbxml"/>
-  <mime-type type="application/vnd.nokia.landmark+xml"/>
-  <mime-type type="application/vnd.nokia.landmarkcollection+xml"/>
-  <mime-type type="application/vnd.nokia.n-gage.ac+xml"/>
-  <mime-type type="application/vnd.nokia.n-gage.data">
-    <glob pattern="*.ngdat"/>
-  </mime-type>
-  <mime-type type="application/vnd.nokia.n-gage.symbian.install">
-    <glob pattern="*.n-gage"/>
-  </mime-type>
-  <mime-type type="application/vnd.nokia.ncd"/>
-  <mime-type type="application/vnd.nokia.pcd+wbxml"/>
-  <mime-type type="application/vnd.nokia.pcd+xml"/>
-  <mime-type type="application/vnd.nokia.radio-preset">
-    <glob pattern="*.rpst"/>
-  </mime-type>
-  <mime-type type="application/vnd.nokia.radio-presets">
-    <glob pattern="*.rpss"/>
-  </mime-type>
-  <mime-type type="application/vnd.novadigm.edm">
-    <glob pattern="*.edm"/>
-  </mime-type>
-  <mime-type type="application/vnd.novadigm.edx">
-    <glob pattern="*.edx"/>
-  </mime-type>
-  <mime-type type="application/vnd.novadigm.ext">
-    <glob pattern="*.ext"/>
-  </mime-type>
-
-  <!-- =================================================================== -->
-  <!-- Open Document Format for Office Applications (OpenDocument) v1.0    -->
-  <!-- http://www.oasis-open.org/specs/index.php#opendocumentv1.0          -->
-  <!-- =================================================================== -->
-
-  <mime-type type="application/vnd.oasis.opendocument.chart">
-    <alias type="application/x-vnd.oasis.opendocument.chart"/>
-    <_comment>OpenDocument v1.0: Chart document</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-               value="mimetypeapplication/vnd.oasis.opendocument.chart"/>
-      </match>
-    </magic>
-    <glob pattern="*.odc"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.chart-template">
-    <alias type="application/x-vnd.oasis.opendocument.chart-template"/>
-    <_comment>OpenDocument v1.0: Chart document used as template</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-               value="mimetypeapplication/vnd.oasis.opendocument.chart-template"/>
-      </match>
-    </magic>
-    <glob pattern="*.otc"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.database">
-    <glob pattern="*.odb"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.formula">
-    <alias type="application/x-vnd.oasis.opendocument.formula"/>
-    <_comment>OpenDocument v1.0: Formula document</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-               value="mimetypeapplication/vnd.oasis.opendocument.formula" />
-      </match>
-    </magic>
-    <glob pattern="*.odf"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.formula-template">
-    <alias type="application/x-vnd.oasis.opendocument.formula-template"/>
-    <_comment>OpenDocument v1.0: Formula document used as template</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-               value="mimetypeapplication/vnd.oasis.opendocument.formula-template"/>
-      </match>
-    </magic>
-    <glob pattern="*.odft"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.graphics">
-    <alias type="application/x-vnd.oasis.opendocument.graphics"/>
-    <_comment>OpenDocument v1.0: Graphics document (Drawing)</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-               value="mimetypeapplication/vnd.oasis.opendocument.graphics"/>
-      </match>
-    </magic>
-    <glob pattern="*.odg"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.graphics-template">
-    <alias type="application/x-vnd.oasis.opendocument.graphics-template"/>
-    <_comment>OpenDocument v1.0: Graphics document used as template</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-               value="mimetypeapplication/vnd.oasis.opendocument.graphics-template"/>
-      </match>
-    </magic>
-    <glob pattern="*.otg"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.image">
-    <alias type="application/x-vnd.oasis.opendocument.image"/>
-    <_comment>OpenDocument v1.0: Image document</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-               value="mimetypeapplication/vnd.oasis.opendocument.image"/>
-      </match>
-    </magic>
-    <glob pattern="*.odi"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.image-template">
-    <alias type="application/x-vnd.oasis.opendocument.image-template"/>
-    <_comment>OpenDocument v1.0: Image document used as template</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-               value="mimetypeapplication/vnd.oasis.opendocument.image-template"/>
-      </match>
-    </magic>
-    <glob pattern="*.oti"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.presentation">
-    <alias type="application/x-vnd.oasis.opendocument.presentation"/>
-    <_comment>OpenDocument v1.0: Presentation document</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-               value="mimetypeapplication/vnd.oasis.opendocument.presentation"/>
-      </match>
-    </magic>
-    <glob pattern="*.odp"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.presentation-template">
-    <alias type="application/x-vnd.oasis.opendocument.presentation-template"/>
-    <_comment>OpenDocument v1.0: Presentation document used as template</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-              value="mimetypeapplication/vnd.oasis.opendocument.presentation-template"/>
-      </match>
-    </magic>
-    <glob pattern="*.otp"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.spreadsheet">
-    <alias type="application/x-vnd.oasis.opendocument.spreadsheet"/>
-    <_comment>OpenDocument v1.0: Spreadsheet document</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-               value="mimetypeapplication/vnd.oasis.opendocument.spreadsheet"/>
-      </match>
-    </magic>
-    <glob pattern="*.ods"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.spreadsheet-template">
-    <alias type="application/x-vnd.oasis.opendocument.spreadsheet-template"/>
-    <_comment>OpenDocument v1.0: Spreadsheet document used as template</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-               value="mimetypeapplication/vnd.oasis.opendocument.spreadsheet-template"/>
-      </match>
-    </magic>
-    <glob pattern="*.ots"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.text">
-    <alias type="application/x-vnd.oasis.opendocument.text"/>
-    <_comment>OpenDocument v1.0: Text document</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-               value="mimetypeapplication/vnd.oasis.opendocument.text"/>
-      </match>
-    </magic>
-    <glob pattern="*.odt"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.text-master">
-    <alias type="application/x-vnd.oasis.opendocument.text-master"/>
-    <_comment>OpenDocument v1.0: Global Text document</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-               value="mimetypeapplication/vnd.oasis.opendocument.text-master"/>
-      </match>
-    </magic>
-    <glob pattern="*.otm"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.text-template">
-    <alias type="application/x-vnd.oasis.opendocument.text-template"/>
-    <_comment>OpenDocument v1.0: Text document used as template</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-              value="mimetypeapplication/vnd.oasis.opendocument.text-template"/>
-      </match>
-    </magic>
-    <glob pattern="*.ott"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.oasis.opendocument.text-web">
-    <alias type="application/x-vnd.oasis.opendocument.text-web"/>
-    <_comment>OpenDocument v1.0: Text document used as template for HTML documents</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-              value="mimetypeapplication/vnd.oasis.opendocument.text-web"/>
-      </match>
-    </magic>
-    <glob pattern="*.oth"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.obn"/>
-  <mime-type type="application/vnd.olpc-sugar">
-    <glob pattern="*.xo"/>
-  </mime-type>
-  <mime-type type="application/vnd.oma-scws-config"/>
-  <mime-type type="application/vnd.oma-scws-http-request"/>
-  <mime-type type="application/vnd.oma-scws-http-response"/>
-  <mime-type type="application/vnd.oma.bcast.associated-procedure-parameter+xml"/>
-  <mime-type type="application/vnd.oma.bcast.drm-trigger+xml"/>
-  <mime-type type="application/vnd.oma.bcast.imd+xml"/>
-  <mime-type type="application/vnd.oma.bcast.ltkm"/>
-  <mime-type type="application/vnd.oma.bcast.notification+xml"/>
-  <mime-type type="application/vnd.oma.bcast.provisioningtrigger"/>
-  <mime-type type="application/vnd.oma.bcast.sgboot"/>
-  <mime-type type="application/vnd.oma.bcast.sgdd+xml"/>
-  <mime-type type="application/vnd.oma.bcast.sgdu"/>
-  <mime-type type="application/vnd.oma.bcast.simple-symbol-container"/>
-  <mime-type type="application/vnd.oma.bcast.smartcard-trigger+xml"/>
-  <mime-type type="application/vnd.oma.bcast.sprov+xml"/>
-  <mime-type type="application/vnd.oma.bcast.stkm"/>
-  <mime-type type="application/vnd.oma.dcd"/>
-  <mime-type type="application/vnd.oma.dcdc"/>
-  <mime-type type="application/vnd.oma.dd2+xml">
-    <glob pattern="*.dd2"/>
-  </mime-type>
-  <mime-type type="application/vnd.oma.drm.risd+xml"/>
-  <mime-type type="application/vnd.oma.group-usage-list+xml"/>
-  <mime-type type="application/vnd.oma.poc.detailed-progress-report+xml"/>
-  <mime-type type="application/vnd.oma.poc.final-report+xml"/>
-  <mime-type type="application/vnd.oma.poc.groups+xml"/>
-  <mime-type type="application/vnd.oma.poc.invocation-descriptor+xml"/>
-  <mime-type type="application/vnd.oma.poc.optimized-progress-report+xml"/>
-  <mime-type type="application/vnd.oma.xcap-directory+xml"/>
-  <mime-type type="application/vnd.omads-email+xml"/>
-  <mime-type type="application/vnd.omads-file+xml"/>
-  <mime-type type="application/vnd.omads-folder+xml"/>
-  <mime-type type="application/vnd.omaloc-supl-init"/>
-
-  <mime-type type="application/vnd.openofficeorg.extension">
-    <glob pattern="*.oxt"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.openxmlformats-officedocument.presentationml.presentation">
-    <_comment>Office Open XML Presentation</_comment>
-    <glob pattern="*.pptx"/>
-    <glob pattern="*.thmx"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.openxmlformats-officedocument.presentationml.slide">
-    <glob pattern="*.sldx"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.openxmlformats-officedocument.presentationml.slideshow">
-    <glob pattern="*.ppsx"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.openxmlformats-officedocument.presentationml.template">
-    <_comment>Office Open XML Presentation Template</_comment>
-    <glob pattern="*.potx"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.openxmlformats-officedocument.presentationml.slideshow">
-    <_comment>Office Open XML Presentation Slideshow</_comment>
-    <glob pattern="*.ppsx"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet">
-    <_comment>Office Open XML Workbook</_comment>
-    <glob pattern="*.xlsx"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.openxmlformats-officedocument.spreadsheetml.template">
-    <_comment>Office Open XML Workbook Template</_comment>
-    <glob pattern="*.xltx"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.ms-excel.template.macroenabled.12">
-    <_comment>Office Open XML Workbook Template (macro-enabled)</_comment>
-    <glob pattern="*.xltm"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.openxmlformats-officedocument.wordprocessingml.document">
-    <_comment>Office Open XML Document</_comment>
-    <glob pattern="*.docx"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.openxmlformats-officedocument.wordprocessingml.template">
-    <_comment>Office Open XML Document Template</_comment>
-    <glob pattern="*.dotx"/>
-    <sub-class-of type="application/x-tika-ooxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.osa.netdeploy"/>
-  <mime-type type="application/vnd.osgi.bundle"/>
-  <mime-type type="application/vnd.osgi.dp">
-    <glob pattern="*.dp"/>
-  </mime-type>
-  <mime-type type="application/vnd.otps.ct-kip+xml"/>
-  <mime-type type="application/vnd.palm">
-    <glob pattern="*.pdb"/>
-    <glob pattern="*.pqa"/>
-    <glob pattern="*.oprc"/>
-  </mime-type>
-  <mime-type type="application/vnd.paos.xml"/>
-  <mime-type type="application/vnd.pg.format">
-    <glob pattern="*.str"/>
-  </mime-type>
-  <mime-type type="application/vnd.pg.osasli">
-    <glob pattern="*.ei6"/>
-  </mime-type>
-  <mime-type type="application/vnd.piaccess.application-licence"/>
-  <mime-type type="application/vnd.picsel">
-    <glob pattern="*.efif"/>
-  </mime-type>
-  <mime-type type="application/vnd.poc.group-advertisement+xml"/>
-  <mime-type type="application/vnd.pocketlearn">
-    <glob pattern="*.plf"/>
-  </mime-type>
-  <mime-type type="application/vnd.powerbuilder6">
-    <glob pattern="*.pbd"/>
-  </mime-type>
-  <mime-type type="application/vnd.powerbuilder6-s"/>
-  <mime-type type="application/vnd.powerbuilder7"/>
-  <mime-type type="application/vnd.powerbuilder7-s"/>
-  <mime-type type="application/vnd.powerbuilder75"/>
-  <mime-type type="application/vnd.powerbuilder75-s"/>
-  <mime-type type="application/vnd.preminet"/>
-  <mime-type type="application/vnd.previewsystems.box">
-    <glob pattern="*.box"/>
-  </mime-type>
-  <mime-type type="application/vnd.proteus.magazine">
-    <glob pattern="*.mgz"/>
-  </mime-type>
-  <mime-type type="application/vnd.publishare-delta-tree">
-    <glob pattern="*.qps"/>
-  </mime-type>
-  <mime-type type="application/vnd.pvi.ptid1">
-    <glob pattern="*.ptid"/>
-  </mime-type>
-  <mime-type type="application/vnd.pwg-multiplexed"/>
-  <mime-type type="application/vnd.pwg-xhtml-print+xml"/>
-  <mime-type type="application/vnd.qualcomm.brew-app-res"/>
-  <mime-type type="application/vnd.quark.quarkxpress">
-    <glob pattern="*.qxd"/>
-    <glob pattern="*.qxt"/>
-    <glob pattern="*.qwd"/>
-    <glob pattern="*.qwt"/>
-    <glob pattern="*.qxl"/>
-    <glob pattern="*.qxb"/>
-  </mime-type>
-  <mime-type type="application/vnd.rapid"/>
-  <mime-type type="application/vnd.recordare.musicxml">
-    <glob pattern="*.mxl"/>
-  </mime-type>
-  <mime-type type="application/vnd.recordare.musicxml+xml">
-    <glob pattern="*.musicxml"/>
-  </mime-type>
-  <mime-type type="application/vnd.renlearn.rlprint"/>
-  <mime-type type="application/vnd.rim.cod">
-    <glob pattern="*.cod"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.rn-realmedia">
-    <magic priority="50">
-      <match value=".RMF" type="string" offset="0" />
-    </magic>
-    <glob pattern="*.rm"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.route66.link66+xml">
-    <glob pattern="*.link66"/>
-  </mime-type>
-  <mime-type type="application/vnd.ruckus.download"/>
-  <mime-type type="application/vnd.s3sms"/>
-  <mime-type type="application/vnd.sbm.cid"/>
-  <mime-type type="application/vnd.sbm.mid2"/>
-  <mime-type type="application/vnd.scribus"/>
-  <mime-type type="application/vnd.sealed.3df"/>
-  <mime-type type="application/vnd.sealed.csf"/>
-  <mime-type type="application/vnd.sealed.doc"/>
-  <mime-type type="application/vnd.sealed.eml"/>
-  <mime-type type="application/vnd.sealed.mht"/>
-  <mime-type type="application/vnd.sealed.net"/>
-  <mime-type type="application/vnd.sealed.ppt"/>
-  <mime-type type="application/vnd.sealed.tiff"/>
-  <mime-type type="application/vnd.sealed.xls"/>
-  <mime-type type="application/vnd.sealedmedia.softseal.html"/>
-  <mime-type type="application/vnd.sealedmedia.softseal.pdf"/>
-  <mime-type type="application/vnd.seemail">
-    <glob pattern="*.see"/>
-  </mime-type>
-  <mime-type type="application/vnd.sema">
-    <glob pattern="*.sema"/>
-  </mime-type>
-  <mime-type type="application/vnd.semd">
-    <glob pattern="*.semd"/>
-  </mime-type>
-  <mime-type type="application/vnd.semf">
-    <glob pattern="*.semf"/>
-  </mime-type>
-  <mime-type type="application/vnd.shana.informed.formdata">
-    <glob pattern="*.ifm"/>
-  </mime-type>
-  <mime-type type="application/vnd.shana.informed.formtemplate">
-    <glob pattern="*.itp"/>
-  </mime-type>
-  <mime-type type="application/vnd.shana.informed.interchange">
-    <glob pattern="*.iif"/>
-  </mime-type>
-  <mime-type type="application/vnd.shana.informed.package">
-    <glob pattern="*.ipk"/>
-  </mime-type>
-  <mime-type type="application/vnd.simtech-mindmapper">
-    <glob pattern="*.twd"/>
-    <glob pattern="*.twds"/>
-  </mime-type>
-  <mime-type type="application/vnd.smaf">
-    <glob pattern="*.mmf"/>
-  </mime-type>
-  <mime-type type="application/vnd.smart.teacher">
-    <glob pattern="*.teacher"/>
-  </mime-type>
-  <mime-type type="application/vnd.software602.filler.form+xml"/>
-  <mime-type type="application/vnd.software602.filler.form-xml-zip"/>
-  <mime-type type="application/vnd.solent.sdkm+xml">
-    <glob pattern="*.sdkm"/>
-    <glob pattern="*.sdkd"/>
-  </mime-type>
-  <mime-type type="application/vnd.spotfire.dxp">
-    <glob pattern="*.dxp"/>
-  </mime-type>
-  <mime-type type="application/vnd.spotfire.sfs">
-    <glob pattern="*.sfs"/>
-  </mime-type>
-  <mime-type type="application/vnd.sss-cod"/>
-  <mime-type type="application/vnd.sss-dtf"/>
-  <mime-type type="application/vnd.sss-ntf"/>
-  <mime-type type="application/vnd.stardivision.calc">
-    <glob pattern="*.sdc"/>
-  </mime-type>
-  <mime-type type="application/vnd.stardivision.draw">
-    <glob pattern="*.sda"/>
-  </mime-type>
-  <mime-type type="application/vnd.stardivision.impress">
-    <glob pattern="*.sdd"/>
-  </mime-type>
-  <mime-type type="application/vnd.stardivision.math">
-    <glob pattern="*.smf"/>
-  </mime-type>
-  <mime-type type="application/vnd.stardivision.writer">
-    <glob pattern="*.sdw"/>
-  </mime-type>
-  <mime-type type="application/x-staroffice-template">
-    <sub-class-of type="application/x-tika-msoffice"/>
-    <glob pattern="*.vor"/>
-  </mime-type>
-  <mime-type type="application/vnd.stardivision.writer-global">
-    <glob pattern="*.sgl"/>
-  </mime-type>
-  <mime-type type="application/vnd.street-stream"/>
-  <mime-type type="application/vnd.sun.xml.calc">
-    <glob pattern="*.sxc"/>
-  </mime-type>
-  <mime-type type="application/vnd.sun.xml.calc.template">
-    <glob pattern="*.stc"/>
-  </mime-type>
-  <mime-type type="application/vnd.sun.xml.draw">
-    <glob pattern="*.sxd"/>
-  </mime-type>
-  <mime-type type="application/vnd.sun.xml.draw.template">
-    <glob pattern="*.std"/>
-  </mime-type>
-  <mime-type type="application/vnd.sun.xml.impress">
-    <glob pattern="*.sxi"/>
-  </mime-type>
-  <mime-type type="application/vnd.sun.xml.impress.template">
-    <glob pattern="*.sti"/>
-  </mime-type>
-  <mime-type type="application/vnd.sun.xml.math">
-    <glob pattern="*.sxm"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.sun.xml.writer">
-    <alias type="application/x-vnd.sun.xml.writer"/>
-    <_comment>OpenOffice v1.0: Writer Document</_comment>
-    <magic>
-      <match type="string" offset="0" value="PK">
-        <match type="string" offset="30"
-          value="mimetypeapplication/vnd.sun.xml.writer"/>
-      </match>
-    </magic>
-    <glob pattern="*.sxw"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.sun.xml.writer.global">
-    <glob pattern="*.sxg"/>
-  </mime-type>
-  <mime-type type="application/vnd.sun.xml.writer.template">
-    <glob pattern="*.stw"/>
-  </mime-type>
-  <mime-type type="application/vnd.sun.wadl+xml"/>
-  <mime-type type="application/vnd.sus-calendar">
-    <glob pattern="*.sus"/>
-    <glob pattern="*.susp"/>
-  </mime-type>
-  <mime-type type="application/vnd.svd">
-    <glob pattern="*.svd"/>
-  </mime-type>
-  <mime-type type="application/vnd.swiftview-ics"/>
-
-  <mime-type type="application/vnd.symbian.install">
-    <magic priority="50">
-      <match value="0x10000419" type="little32" offset="8" />
-    </magic>
-    <glob pattern="*.sis"/>
-    <glob pattern="*.sisx"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.syncml+xml">
-    <glob pattern="*.xsm"/>
-  </mime-type>
-  <mime-type type="application/vnd.syncml.dm+wbxml">
-    <glob pattern="*.bdm"/>
-  </mime-type>
-  <mime-type type="application/vnd.syncml.dm+xml">
-    <glob pattern="*.xdm"/>
-  </mime-type>
-  <mime-type type="application/vnd.syncml.dm.notification"/>
-  <mime-type type="application/vnd.syncml.ds.notification"/>
-  <mime-type type="application/vnd.tao.intent-module-archive">
-    <glob pattern="*.tao"/>
-  </mime-type>
-  <mime-type type="application/vnd.tmobile-livetv">
-    <glob pattern="*.tmo"/>
-  </mime-type>
-  <mime-type type="application/vnd.trid.tpt">
-    <glob pattern="*.tpt"/>
-  </mime-type>
-  <mime-type type="application/vnd.triscape.mxs">
-    <glob pattern="*.mxs"/>
-  </mime-type>
-  <mime-type type="application/vnd.trueapp">
-    <glob pattern="*.tra"/>
-  </mime-type>
-  <mime-type type="application/vnd.truedoc"/>
-  <mime-type type="application/vnd.ufdl">
-    <glob pattern="*.ufd"/>
-    <glob pattern="*.ufdl"/>
-  </mime-type>
-  <mime-type type="application/vnd.uiq.theme">
-    <glob pattern="*.utz"/>
-  </mime-type>
-  <mime-type type="application/vnd.umajin">
-    <glob pattern="*.umj"/>
-  </mime-type>
-  <mime-type type="application/vnd.unity">
-    <glob pattern="*.unityweb"/>
-  </mime-type>
-  <mime-type type="application/vnd.uoml+xml">
-    <glob pattern="*.uoml"/>
-  </mime-type>
-  <mime-type type="application/vnd.uplanet.alert"/>
-  <mime-type type="application/vnd.uplanet.alert-wbxml"/>
-  <mime-type type="application/vnd.uplanet.bearer-choice"/>
-  <mime-type type="application/vnd.uplanet.bearer-choice-wbxml"/>
-  <mime-type type="application/vnd.uplanet.cacheop"/>
-  <mime-type type="application/vnd.uplanet.cacheop-wbxml"/>
-  <mime-type type="application/vnd.uplanet.channel"/>
-  <mime-type type="application/vnd.uplanet.channel-wbxml"/>
-  <mime-type type="application/vnd.uplanet.list"/>
-  <mime-type type="application/vnd.uplanet.list-wbxml"/>
-  <mime-type type="application/vnd.uplanet.listcmd"/>
-  <mime-type type="application/vnd.uplanet.listcmd-wbxml"/>
-  <mime-type type="application/vnd.uplanet.signal"/>
-  <mime-type type="application/vnd.vcx">
-    <glob pattern="*.vcx"/>
-  </mime-type>
-  <mime-type type="application/vnd.vd-study"/>
-  <mime-type type="application/vnd.vectorworks"/>
-  <mime-type type="application/vnd.vidsoft.vidconference"/>
-
-  <!-- http://www.iana.org/assignments/media-types/application/vnd.visio -->
-  <mime-type type="application/vnd.visio">
-    <_comment>Microsoft Visio Diagram</_comment>
-    <glob pattern="*.vsd"/>
-    <glob pattern="*.vst"/>
-    <glob pattern="*.vss"/>
-    <glob pattern="*.vsw"/>
-    <sub-class-of type="application/x-tika-msoffice"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.visionary">
-    <glob pattern="*.vis"/>
-  </mime-type>
-  <mime-type type="application/vnd.vividence.scriptfile"/>
-  <mime-type type="application/vnd.vsf">
-    <glob pattern="*.vsf"/>
-  </mime-type>
-  <mime-type type="application/vnd.wap.sic"/>
-  <mime-type type="application/vnd.wap.slc"/>
-
-  <mime-type type="application/vnd.wap.wbxml">
-    <glob pattern="*.wbxml"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.wap.wmlc">
-    <_comment>Compiled WML Document</_comment>
-    <glob pattern="*.wmlc"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.wap.wmlscriptc">
-    <_comment>Compiled WML Script</_comment>
-    <glob pattern="*.wmlsc"/>
-  </mime-type>
-
-  <mime-type type="application/vnd.webturbo">
-    <glob pattern="*.wtb"/>
-  </mime-type>
-  <mime-type type="application/vnd.wfa.wsc"/>
-  <mime-type type="application/vnd.wmc"/>
-  <mime-type type="application/vnd.wmf.bootstrap"/>
-  <mime-type type="application/vnd.wordperfect">
-    <glob pattern="*.wpd"/>
-  </mime-type>
-  <mime-type type="application/vnd.wqd">
-    <glob pattern="*.wqd"/>
-  </mime-type>
-  <mime-type type="application/vnd.wrq-hp3000-labelled"/>
-  <mime-type type="application/vnd.wt.stf">
-    <glob pattern="*.stf"/>
-  </mime-type>
-  <mime-type type="application/vnd.wv.csp+wbxml"/>
-  <mime-type type="application/vnd.wv.csp+xml"/>
-  <mime-type type="application/vnd.wv.ssp+xml"/>
-  <mime-type type="application/vnd.xara">
-    <glob pattern="*.xar"/>
-  </mime-type>
-  <mime-type type="application/vnd.xfdl">
-    <glob pattern="*.xfdl"/>
-  </mime-type>
-  <mime-type type="application/vnd.xfdl.webform"/>
-  <mime-type type="application/vnd.xmi+xml"/>
-  <mime-type type="application/vnd.xmpie.cpkg"/>
-  <mime-type type="application/vnd.xmpie.dpkg"/>
-  <mime-type type="application/vnd.xmpie.plan"/>
-  <mime-type type="application/vnd.xmpie.ppkg"/>
-  <mime-type type="application/vnd.xmpie.xlim"/>
-  <mime-type type="application/vnd.yamaha.hv-dic">
-    <glob pattern="*.hvd"/>
-  </mime-type>
-  <mime-type type="application/vnd.yamaha.hv-script">
-    <glob pattern="*.hvs"/>
-  </mime-type>
-  <mime-type type="application/vnd.yamaha.hv-voice">
-    <glob pattern="*.hvp"/>
-  </mime-type>
-  <mime-type type="application/vnd.yamaha.openscoreformat">
-    <glob pattern="*.osf"/>
-  </mime-type>
-  <mime-type type="application/vnd.yamaha.openscoreformat.osfpvg+xml">
-    <glob pattern="*.osfpvg"/>
-  </mime-type>
-  <mime-type type="application/vnd.yamaha.smaf-audio">
-    <glob pattern="*.saf"/>
-  </mime-type>
-  <mime-type type="application/vnd.yamaha.smaf-phrase">
-    <glob pattern="*.spf"/>
-  </mime-type>
-  <mime-type type="application/vnd.yellowriver-custom-menu">
-    <glob pattern="*.cmp"/>
-  </mime-type>
-  <mime-type type="application/vnd.zul">
-    <glob pattern="*.zir"/>
-    <glob pattern="*.zirz"/>
-  </mime-type>
-  <mime-type type="application/vnd.zzazz.deck+xml">
-    <glob pattern="*.zaz"/>
-  </mime-type>
-  <mime-type type="application/voicexml+xml">
-    <glob pattern="*.vxml"/>
-  </mime-type>
-  <mime-type type="application/watcherinfo+xml"/>
-  <mime-type type="application/whoispp-query"/>
-  <mime-type type="application/whoispp-response"/>
-  <mime-type type="application/winhlp">
-    <glob pattern="*.hlp"/>
-  </mime-type>
-  <mime-type type="application/wita"/>
-  <mime-type type="application/wordperfect5.1"/>
-  <mime-type type="application/wsdl+xml">
-    <glob pattern="*.wsdl"/>
-  </mime-type>
-  <mime-type type="application/wspolicy+xml">
-    <glob pattern="*.wspolicy"/>
-  </mime-type>
-
-  <mime-type type="application/x-123">
-    <magic priority="50">
-      <match value="0x00001a00" type="big32" offset="0" />
-      <match value="0x00000200" type="big32" offset="0" />
-    </magic>
-  </mime-type>
-
-  <mime-type type="application/x-abiword">
-    <glob pattern="*.abw"/>
-  </mime-type>
-  <mime-type type="application/x-ace-compressed">
-    <glob pattern="*.ace"/>
-  </mime-type>
-
-  <mime-type type="application/x-adobe-indesign">
-    <acronym>INDD</acronym>
-    <_comment>Adobe InDesign document</_comment>
-    <glob pattern="*.indd"/>
-  </mime-type>
-
-  <mime-type type="application/x-adobe-indesign-interchange">
-    <acronym>INX</acronym>
-    <_comment>Adobe InDesign Interchange format</_comment>
-    <magic priority="50">
-      <match value="&lt;?aid" type="string" offset="0:100"/>
-    </magic>
-    <glob pattern="*.inx"/>
-    <sub-class-of type="application/xml"/>
-  </mime-type>
-
-  <mime-type type="application/x-archive">
-    <magic priority="50">
-      <match value="=&lt;ar&gt;" type="string" offset="0"/>
-      <match value="=!&lt;arch&gt;" type="string" offset="0"/>
-    </magic>
-    <glob patter="*.ar"/>
-  </mime-type>
-
-  <mime-type type="application/x-authorware-bin">
-    <glob pattern="*.aab"/>
-    <glob pattern="*.x32"/>
-    <glob pattern="*.u32"/>
-    <glob pattern="*.vox"/>
-  </mime-type>
-  <mime-type type="application/x-authorware-map">
-    <glob pattern="*.aam"/>
-  </mime-type>
-  <mime-type type="application/x-authorware-seg">
-    <glob pattern="*.aas"/>
-  </mime-type>
-  <mime-type type="application/x-bcpio">
-    <glob pattern="*.bcpio"/>
-  </mime-type>
-
-  <mime-type type="application/x-berkeley-db">
-    <magic priority="50">
-      <match value="0x00061561" type="big32" offset="0"/>
-      <match value="0x00061561" type="host32" offset="12"/>
-      <match value="0x00061561" type="big32" offset="12"/>
-      <match value="0x00061561" type="little32" offset="12"/>
-      <match value="0x00053162" type="host32" offset="12"/>
-      <match value="0x00053162" type="big32" offset="12"/>
-      <match value="0x00053162" type="little32" offset="12"/>
-      <match value="0x00042253" type="host32" offset="12"/>
-      <match value="0x00042253" type="big32" offset="12"/>
-      <match value="0x00042253" type="little32" offset="12"/>
-      <match value="0x00040988" type="host32" offset="12"/>
-      <match value="0x00040988" type="little32" offset="12"/>
-      <match value="0x00040988" type="big32" offset="12"/>
-      <match value="0x00053162" type="host32" offset="0"/>
-      <match value="0x00053162" type="big32" offset="0"/>
-      <match value="0x00053162" type="little32" offset="0"/>
-    </magic>
-  </mime-type>
-
-  <mime-type type="application/x-bibtex-text-file">
-    <magic priority="50">
-      <match value="%\ BibTeX\ `" type="string" offset="0"/>
-      <match value="%%%\ \ " type="string" offset="73"/>
-      <match value="%\ BibTeX\ standard\ bibliography\ " type="string" offset="0"/>
-      <match value="%%%\ \ @BibTeX-style-file{" type="string" offset="73"/>
-      <match value="@article{" type="string" offset="0"/>
-      <match value="@book{" type="string" offset="0"/>
-      <match value="@inbook{" type="string" offset="0"/>
-      <match value="@incollection{" type="string" offset="0"/>
-      <match value="@inproceedings{" type="string" offset="0"/>
-      <match value="@manual{" type="string" offset="0"/>
-      <match value="@misc{" type="string" offset="0"/>
-      <match value="@preamble{" type="string" offset="0"/>
-      <match value="@phdthesis{" type="string" offset="0"/>
-      <match value="@techreport{" type="string" offset="0"/>
-      <match value="@unpublished{" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.bib"/>
-    <glob pattern="*.bibtex"/>
-  </mime-type>
-
-  <mime-type type="application/x-bittorrent">
-    <magic priority="50">
-      <match value="d8:announce" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.torrent"/>
-  </mime-type>
-
-  <mime-type type="application/x-bzip">
-    <magic priority="40">
-      <match value="BZh" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.bz"/>
-    <glob pattern="*.tbz"/>
-  </mime-type>
-
-  <mime-type type="application/x-bzip2">
-    <glob pattern="*.bz2"/>
-    <glob pattern="*.tbz2"/>
-    <glob pattern="*.boz"/>
-    <sub-class-of type="application/x-bzip"/>
-  </mime-type>
-
-  <mime-type type="application/x-cdlink">
-    <_comment>Virtual CD-ROM CD Image File</_comment>
-    <glob pattern="*.vcd"/>
-  </mime-type>
-
-  <mime-type type="application/x-chat">
-    <glob pattern="*.chat"/>
-  </mime-type>
-  <mime-type type="application/x-chess-pgn">
-    <glob pattern="*.pgn"/>
-  </mime-type>
-
-  <mime-type type="application/x-compress">
-    <magic priority="50">
-      <match value="\037\235" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.z"/>
-  </mime-type>
-
-  <mime-type type="application/x-corelpresentations">
-    <glob pattern="*.shw"/>
-    <sub-class-of type="application/x-tika-msoffice"/>
-  </mime-type>
-  
-  <mime-type type="application/x-cpio">
-    <magic priority="50">
-      <match value="070707" type="little16" offset="0"/>
-      <match value="070707" type="big16" offset="0"/>
-      <match value="070707" type="string" offset="0"/>
-      <match value="070701" type="string" offset="0"/>
-      <match value="070702" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.cpio"/>
-  </mime-type>
-
-  <mime-type type="application/x-csh">
-    <glob pattern="*.csh"/>
-  </mime-type>
-
-  <mime-type type="application/x-debian-package">
-    <glob pattern="*.deb"/>
-    <glob pattern="*.udeb"/>
-  </mime-type>
-
-  <mime-type type="application/x-director">
-    <_comment>Shockwave Movie</_comment>
-    <glob pattern="*.dir"/>
-    <glob pattern="*.dcr"/>
-    <glob pattern="*.dxr"/>
-    <glob pattern="*.cst"/>
-    <glob pattern="*.cct"/>
-    <glob pattern="*.cxt"/>
-    <glob pattern="*.w3d"/>
-    <glob pattern="*.fgd"/>
-    <glob pattern="*.swa"/>
-  </mime-type>
-
-  <mime-type type="application/x-doom">
-    <glob pattern="*.wad"/>
-  </mime-type>
-  <mime-type type="application/x-dtbncx+xml">
-    <glob pattern="*.ncx"/>
-  </mime-type>
-  <mime-type type="application/x-dtbook+xml">
-    <glob pattern="*.dtb"/>
-  </mime-type>
-  <mime-type type="application/x-dtbresource+xml">
-    <glob pattern="*.res"/>
-  </mime-type>
-
-  <mime-type type="application/x-dvi">
-    <magic priority="50">
-      <match value="\367\002" type="string" offset="0"/>
-      <match value="0x02f7" type="little16" offset="0"/>
-    </magic>
-    <glob pattern="*.dvi"/>
-  </mime-type>
-
-  <mime-type type="application/x-elc">
-    <_comment>Emacs Lisp bytecode</_comment>
-    <magic priority="50">
-      <!-- Emacs 18 -->
-      <match value="\012(" type="string" offset="0" />
-      <!-- Emacs 19 -->
-      <match value=";ELC\023\000\000\000" type="string" offset="0" />
-    </magic>
-    <glob pattern="*.elc"/>
-  </mime-type>
-
-  <mime-type type="application/x-font-bdf">
-    <glob pattern="*.bdf"/>
-  </mime-type>
-  <mime-type type="application/x-font-dos"/>
-  <mime-type type="application/x-font-framemaker"/>
-  <mime-type type="application/x-font-ghostscript">
-    <glob pattern="*.gsf"/>
-  </mime-type>
-  <mime-type type="application/x-font-libgrx"/>
-  <mime-type type="application/x-font-linux-psf">
-    <glob pattern="*.psf"/>
-  </mime-type>
-
-  <mime-type type="application/x-font-otf">
-    <acronym>OTF</acronym>
-    <_comment>OpenType Font</_comment>
-    <glob pattern="*.otf"/>
-  </mime-type>
-
-  <mime-type type="application/x-font-pcf">
-    <glob pattern="*.pcf"/>
-  </mime-type>
-  <mime-type type="application/x-font-snf">
-    <glob pattern="*.snf"/>
-  </mime-type>
-  <mime-type type="application/x-font-speedo"/>
-  <mime-type type="application/x-font-sunos-news"/>
-
-  <mime-type type="application/x-font-ttf">
-    <acronym>TTF</acronym>
-    <_comment>TrueType Font</_comment>
-    <glob pattern="*.ttf"/>
-    <glob pattern="*.ttc"/>
-    <magic priority="40">
-      <match value="0x00010000" type="string" offset="0"/>
-    </magic>
-  </mime-type>
-
-  <mime-type type="application/x-font-type1">
-    <glob pattern="*.pfa"/>
-    <glob pattern="*.pfb"/>
-    <glob pattern="*.pfm"/>
-    <glob pattern="*.afm"/>
-  </mime-type>
-  <mime-type type="application/x-font-vfont"/>
-
-  <mime-type type="application/x-foxmail">
-    <_comment>Foxmail Email File</_comment>
-    <magic>
-      <match value="0x1010101010101011111111111153" type="string" offset="0"/>
-    </magic>
-  </mime-type>
-
-  <mime-type type="application/x-futuresplash">
-    <_comment>Macromedia FutureSplash File</_comment>
-    <glob pattern="*.spl"/>
-  </mime-type>
-
-  <mime-type type="application/x-gnucash">
-    <glob pattern="*.gnucash" />
-  </mime-type>
-
-  <mime-type type="application/x-gnumeric">
-    <alias type="application/x-Gnumeric-spreadsheet"/>
-    <magic priority="50">
-      <match value="=&lt;gmr:Workbook" type="string" offset="39" />
-    </magic>
-    <glob pattern="*.gnumeric"/>
-  </mime-type>
-
-  <mime-type type="application/x-gtar">
-    <magic priority="40">
-      <!-- GNU tar archive -->
-      <match value="ustar  \0" type="string" offset="257" />
-    </magic>
-    <glob pattern="*.gtar"/>
-    <sub-class-of type="application/x-tar"/>
-  </mime-type>
-
-  <mime-type type="application/x-gzip">
-    <magic priority="40">
-      <match value="\037\213" type="string" offset="0" />
-    </magic>
-    <glob pattern="*.tgz" />
-    <glob pattern="*.gz" />
-    <glob pattern="*-gz" />
-    <glob pattern="*.emz" />
-  </mime-type>
-
-  <mime-type type="application/x-hdf">
-    <magic priority="50">
-      <match value="0x0e031301" type="big32" offset="0"/>
-      <match value="\211HDF\r\n\032" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.hdf"/>
-    <glob pattern="*.he5"/>
-  </mime-type>
-
-  <mime-type type="application/x-hwp">
-    <magic priority="50">
-      <!--
-        TIKA-330: Detection pattern based on signature strings from
-        the hwpfilter/source/hwpfile.cpp file in OpenOffice.org.
-      -->
-      <match value="HWP Document File V" type="string" offset="0"/>
-    </magic>
-  </mime-type>
-
-  <mime-type type="application/x-iso9660-image">
-    <magic priority="50">
-      <match value="CD001" type="string" offset="37633"/>
-    </magic>
-    <glob pattern="*.iso" />
-  </mime-type>
-
-  <mime-type type="application/x-java-jnlp-file">
-    <glob pattern="*.jnlp"/>
-  </mime-type>
-
-  <mime-type type="application/x-kdelnk">
-    <magic priority="50">
-      <match value="[KDE\ Desktop\ Entry]" type="string" offset="0"/>
-      <match value="#\ KDE\ Config\ File" type="string" offset="0"/>
-    </magic>
-  </mime-type>
-
-  <mime-type type="application/x-latex">
-    <_comment>LaTeX Source Document</_comment>
-    <magic priority="50">
-      <match value="%\ -*-latex-*-" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.latex"/>
-  </mime-type>
-
-  <mime-type type="application/x-lha">
-    <magic priority="50">
-      <match value="-lzs-" type="string" offset="2"/>
-      <match value="-lh\40-" type="string" offset="2"/>
-      <match value="-lhd-" type="string" offset="2"/>
-      <match value="-lh2-" type="string" offset="2"/>
-      <match value="-lh3-" type="string" offset="2"/>
-      <match value="-lh4-" type="string" offset="2"/>
-      <match value="-lh5-" type="string" offset="2"/>
-      <match value="-lh6-" type="string" offset="2"/>
-      <match value="-lh7-" type="string" offset="2"/>
-    </magic>
-  </mime-type>
-
-  <mime-type type="application/x-lharc">
-    <magic priority="50">
-      <match value="-lh0-" type="string" offset="2"/>
-      <match value="-lh1-" type="string" offset="2"/>
-      <match value="-lz4-" type="string" offset="2"/>
-      <match value="-lz5-" type="string" offset="2"/>
-    </magic>
-  </mime-type>
-
-  <mime-type type="application/x-mobipocket-ebook">
-    <glob pattern="*.prc"/>
-    <glob pattern="*.mobi"/>
-  </mime-type>
-  <mime-type type="application/x-ms-application">
-    <glob pattern="*.application"/>
-  </mime-type>
-  <mime-type type="application/x-ms-wmd">
-    <glob pattern="*.wmd"/>
-  </mime-type>
-  <mime-type type="application/x-ms-wmz">
-    <sub-class-of type="application/x-gzip"/>
-    <glob pattern="*.wmz"/>
-  </mime-type>
-  <mime-type type="application/x-ms-xbap">
-    <glob pattern="*.xbap"/>
-  </mime-type>
-  <mime-type type="application/x-msaccess">
-    <glob pattern="*.mdb"/>
-    <magic priority="60">
-      <match value="0x000100005374616e" type="string" offset="0"/>
-    </magic>
-  </mime-type>
-  <mime-type type="application/x-msbinder">
-    <glob pattern="*.obd"/>
-  </mime-type>
-  <mime-type type="application/x-mscardfile">
-    <glob pattern="*.crd"/>
-  </mime-type>
-  <mime-type type="application/x-msclip">
-    <glob pattern="*.clp"/>
-  </mime-type>
-  <mime-type type="application/x-msdownload">
-    <glob pattern="*.exe"/>
-    <glob pattern="*.dll"/>
-    <glob pattern="*.com"/>
-    <glob pattern="*.bat"/>
-    <glob pattern="*.msi"/>
-  </mime-type>
-  <mime-type type="application/x-msmediaview">
-    <glob pattern="*.mvb"/>
-    <glob pattern="*.m13"/>
-    <glob pattern="*.m14"/>
-  </mime-type>
-  <mime-type type="application/x-msmetafile">
-    <alias type="image/x-emf"/>
-    <alias type="image/x-wmf"/>
-    <acronym>WMF</acronym>
-    <_comment>Windows Metafile</_comment>
-    <glob pattern="*.wmf"/>
-    <glob pattern="*.emf"/>
-  </mime-type>
-  <mime-type type="application/x-msmoney">
-    <glob pattern="*.mny"/>
-  </mime-type>
-  <mime-type type="application/x-mspublisher">
-    <glob pattern="*.pub"/>
-  </mime-type>
-  <mime-type type="application/x-msschedule">
-    <glob pattern="*.scd"/>
-  </mime-type>
-  <mime-type type="application/x-msterminal">
-    <glob pattern="*.trm"/>
-  </mime-type>
-  <mime-type type="application/x-mswrite">
-    <glob pattern="*.wri"/>
-  </mime-type>
-  <mime-type type="application/x-netcdf">
-    <glob pattern="*.nc"/>
-    <glob pattern="*.cdf"/>
-  </mime-type>
-  <mime-type type="application/x-pkcs12">
-    <glob pattern="*.p12"/>
-    <glob pattern="*.pfx"/>
-  </mime-type>
-  <mime-type type="application/x-pkcs7-certificates">
-    <glob pattern="*.p7b"/>
-    <glob pattern="*.spc"/>
-  </mime-type>
-  <mime-type type="application/x-pkcs7-certreqresp">
-    <glob pattern="*.p7r"/>
-  </mime-type>
-
-  <mime-type type="application/x-quattro-pro">
-    <glob pattern="*.qpw"/>
-    <glob pattern="*.wb1"/>
-    <glob pattern="*.wb2"/>
-    <glob pattern="*.wb3"/>
-    <sub-class-of type="application/x-tika-msoffice"/>
-  </mime-type>
-  
-  <mime-type type="application/x-rar-compressed">
-    <alias type="application/x-rar"/>
-    <magic priority="50">
-      <match value="Rar!" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.rar"/>
-  </mime-type>
-
-  <mime-type type="application/x-rpm">
-    <glob pattern="*.rpm"/>
-  </mime-type>
-
-  <mime-type type="application/x-sc">
-    <magic priority="50">
-      <match value="Spreadsheet" type="string" offset="38"/>
-    </magic>
-  </mime-type>
-
-  <mime-type type="application/x-sh">
-    <magic priority="50">
-      <match value="#!/" type="string" offset="0"/>
-      <match value="#!\ /" type="string" offset="0"/>
-      <match value="#!\t/" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.sh"/>
-    <sub-class-of type="text/plain"/>
-  </mime-type>
-
-  <mime-type type="application/x-shar">
-    <glob pattern="*.shar"/>
-  </mime-type>
-
-  <mime-type type="application/x-shockwave-flash">
-    <acronym>Flash</acronym>
-    <_comment>Adobe Flash</_comment>
-    <magic priority="50">
-      <match value="FWS" type="string" offset="0"/> <!-- F = Uncompressed -->
-      <match value="CWS" type="string" offset="0"/> <!-- C = Compressed   -->
-    </magic>
-    <glob pattern="*.swf"/>
-  </mime-type>
-
-  <mime-type type="application/x-silverlight-app">
-    <glob pattern="*.xap"/>
-  </mime-type>
-
-  <mime-type type="application/x-stuffit">
-    <magic priority="50">
-      <match value="StuffIt" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.sit"/>
-  </mime-type>
-
-  <mime-type type="application/x-stuffitx">
-    <glob pattern="*.sitx"/>
-  </mime-type>
-  <mime-type type="application/x-sv4cpio">
-    <glob pattern="*.sv4cpio"/>
-  </mime-type>
-  <mime-type type="application/x-sv4crc">
-    <glob pattern="*.sv4crc"/>
-  </mime-type>
-
-  <mime-type type="application/x-tar">
-    <magic priority="40">
-      <!-- POSIX tar archive -->
-      <match value="ustar\0" type="string" offset="257" />
-    </magic>
-    <glob pattern="*.tar"/>
-  </mime-type>
-
-  <mime-type type="application/x-tcl">
-    <alias type="text/x-tcl"/>
-    <glob pattern="*.tcl"/>
-    <sub-class-of type="text/plain"/>
-  </mime-type>
-
-  <mime-type type="application/x-tex">
-    <alias type="text/x-tex"/>
-    <magic priority="50">
-      <match value="\\input" type="string" offset="0"/>
-      <match value="\\section" type="string" offset="0"/>
-      <match value="\\setlength" type="string" offset="0"/>
-      <match value="\\documentstyle" type="string" offset="0"/>
-      <match value="\\chapter" type="string" offset="0"/>
-      <match value="\\documentclass" type="string" offset="0"/>
-      <match value="\\relax" type="string" offset="0"/>
-      <match value="\\contentsline" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.tex"/>
-  </mime-type>
-
-  <mime-type type="application/x-tex-tfm">
-    <glob pattern="*.tfm"/>
-  </mime-type>
-
-  <mime-type type="application/x-texinfo">
-    <alias type="text/x-texinfo" />
-    <magic priority="50">
-      <match value="\\input\ texinfo" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.texinfo"/>
-    <glob pattern="*.texi"/>
-  </mime-type>
-
-  <!-- =================================================================== -->
-  <!-- Microsoft Office binary file formats                                -->
-  <!-- http://www.microsoft.com/interop/docs/OfficeBinaryFormats.mspx      -->
-  <!-- =================================================================== -->
-  <mime-type type="application/x-tika-msoffice">
-    <magic>
-      <match value="0xd0cf11e0a1b11ae1" type="string" offset="0:8"/>
-    </magic>
-  </mime-type>
-
-  <!-- =================================================================== -->
-  <!-- Office Open XML file formats                                        -->
-  <!-- http://www.ecma-international.org/publications/standards/Ecma-376.htm -->
-  <!-- =================================================================== -->
-  <mime-type type="application/x-tika-ooxml">
-    <sub-class-of type="application/zip"/>
-    <magic priority="50">
-      <match value="PK\003\004" type="string" offset="0">
-        <match value="[Content_Types].xml" type="string" offset="30"/>
-      </match>
-    </magic>
-  </mime-type>
-
-  <mime-type type="application/x-ustar">
-    <glob pattern="*.ustar"/>
-  </mime-type>
-  <mime-type type="application/x-wais-source">
-    <glob pattern="*.src"/>
-  </mime-type>
-  <mime-type type="application/x-x509-ca-cert">
-    <glob pattern="*.der"/>
-    <glob pattern="*.crt"/>
-  </mime-type>
-  <mime-type type="application/x-xfig">
-    <glob pattern="*.fig"/>
-  </mime-type>
-  <mime-type type="application/x-xpinstall">
-    <glob pattern="*.xpi"/>
-  </mime-type>
-
-  <mime-type type="application/x-zoo">
-    <magic priority="50">
-      <match value="0xfdc4a7dc" type="little32" offset="20"/>
-    </magic>
-    <glob pattern="*.zoo"/>
-  </mime-type>
-
-  <mime-type type="application/x400-bp"/>
-  <mime-type type="application/xcap-att+xml"/>
-  <mime-type type="application/xcap-caps+xml"/>
-  <mime-type type="application/xcap-el+xml"/>
-  <mime-type type="application/xcap-error+xml"/>
-  <mime-type type="application/xcap-ns+xml"/>
-  <mime-type type="application/xcon-conference-info-diff+xml"/>
-  <mime-type type="application/xcon-conference-info+xml"/>
-  <mime-type type="application/xenc+xml">
-    <glob pattern="*.xenc"/>
-  </mime-type>
-
-  <mime-type type="application/xhtml+xml">
-    <magic priority="50">
-      <match value="&lt;html xmlns=" type="string" offset="0:8192"/>
-    </magic>
-    <root-XML namespaceURI="http://www.w3.org/1999/xhtml" localName="html"/>
-    <glob pattern="*.xhtml"/>
-    <glob pattern="*.xht"/>
-  </mime-type>
-
-  <mime-type type="application/xhtml-voice+xml"/>
-
-  <mime-type type="application/xml">
-    <alias type="text/xml"/>
-    <magic priority="50">
-      <match value="&lt;?xml" type="string" offset="0"/>
-      <match value="&lt;?XML" type="string" offset="0"/>
-      <match value="&lt;!--" type="string" offset="0"/>
-      <match value="0xFFFE3C003F0078006D006C00" type="string" offset="0"/>
-      <match value="0xFEFF003C003F0078006D006C" type="string" offset="0"/>
-      <!-- TODO: Add matches for the other possible XML encoding schemes -->
-    </magic>
-    <glob pattern="*.xml"/>
-    <glob pattern="*.xsl"/>
-    <glob pattern="*.xsd"/>
-    <sub-class-of type="text/plain" />
-  </mime-type>
-
-  <mime-type type="application/xml-dtd">
-    <sub-class-of type="text/plain"/>
-    <glob pattern="*.dtd"/>
-  </mime-type>
-  <mime-type type="application/xml-external-parsed-entity"/>
-  <mime-type type="application/xmpp+xml"/>
-  <mime-type type="application/xop+xml">
-    <glob pattern="*.xop"/>
-  </mime-type>
-
-  <mime-type type="application/xslt+xml">
-    <alias type="text/xsl"/>
-    <acronym>XSLT</acronym>
-    <_comment>XSL Transformations</_comment>
-    <root-XML localName="stylesheet"
-              namespaceURI="http://www.w3.org/1999/XSL/Transform"/>
-    <glob pattern="*.xslt"/>
-  </mime-type>
-
-  <mime-type type="application/xspf+xml">
-    <glob pattern="*.xspf"/>
-  </mime-type>
-  <mime-type type="application/xv+xml">
-    <glob pattern="*.mxml"/>
-    <glob pattern="*.xhvml"/>
-    <glob pattern="*.xvml"/>
-    <glob pattern="*.xvm"/>
-  </mime-type>
-
-  <mime-type type="application/zip">
-    <alias type="application/x-zip-compressed"/>
-    <magic priority="40">
-      <match value="PK\003\004" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.zip"/>
-  </mime-type>
-
-  <mime-type type="audio/32kadpcm"/>
-  <mime-type type="audio/3gpp"/>
-  <mime-type type="audio/3gpp2"/>
-  <mime-type type="audio/ac3"/>
-  <mime-type type="audio/adpcm">
-    <glob pattern="*.adp"/>
-  </mime-type>
-  <mime-type type="audio/amr"/>
-  <mime-type type="audio/amr-wb"/>
-  <mime-type type="audio/amr-wb+"/>
-  <mime-type type="audio/asc"/>
-
-  <mime-type type="audio/basic">
-    <magic priority="20">
-      <match value=".snd" type="string" offset="0">
-        <match value="1" type="big32" offset="12"/>
-        <match value="2" type="big32" offset="12"/>
-        <match value="3" type="big32" offset="12"/>
-        <match value="4" type="big32" offset="12"/>
-        <match value="5" type="big32" offset="12"/>
-        <match value="6" type="big32" offset="12"/>
-        <match value="7" type="big32" offset="12"/>
-      </match>
-    </magic>
-    <glob pattern="*.au"/>
-    <glob pattern="*.snd"/>
-  </mime-type>
-
-  <mime-type type="audio/bv16"/>
-  <mime-type type="audio/bv32"/>
-  <mime-type type="audio/clearmode"/>
-  <mime-type type="audio/cn"/>
-  <mime-type type="audio/dat12"/>
-  <mime-type type="audio/dls"/>
-  <mime-type type="audio/dsr-es201108"/>
-  <mime-type type="audio/dsr-es202050"/>
-  <mime-type type="audio/dsr-es202211"/>
-  <mime-type type="audio/dsr-es202212"/>
-  <mime-type type="audio/dvi4"/>
-  <mime-type type="audio/eac3"/>
-  <mime-type type="audio/evrc"/>
-  <mime-type type="audio/evrc-qcp"/>
-  <mime-type type="audio/evrc0"/>
-  <mime-type type="audio/evrc1"/>
-  <mime-type type="audio/evrcb"/>
-  <mime-type type="audio/evrcb0"/>
-  <mime-type type="audio/evrcb1"/>
-  <mime-type type="audio/evrcwb"/>
-  <mime-type type="audio/evrcwb0"/>
-  <mime-type type="audio/evrcwb1"/>
-  <mime-type type="audio/example"/>
-  <mime-type type="audio/g719"/>
-  <mime-type type="audio/g722"/>
-  <mime-type type="audio/g7221"/>
-  <mime-type type="audio/g723"/>
-  <mime-type type="audio/g726-16"/>
-  <mime-type type="audio/g726-24"/>
-  <mime-type type="audio/g726-32"/>
-  <mime-type type="audio/g726-40"/>
-  <mime-type type="audio/g728"/>
-  <mime-type type="audio/g729"/>
-  <mime-type type="audio/g7291"/>
-  <mime-type type="audio/g729d"/>
-  <mime-type type="audio/g729e"/>
-  <mime-type type="audio/gsm"/>
-  <mime-type type="audio/gsm-efr"/>
-  <mime-type type="audio/ilbc"/>
-  <mime-type type="audio/l16"/>
-  <mime-type type="audio/l20"/>
-  <mime-type type="audio/l24"/>
-  <mime-type type="audio/l8"/>
-  <mime-type type="audio/lpc"/>
-
-  <mime-type type="audio/midi">
-    <acronym>MIDI</acronym>
-    <_comment>Musical Instrument Digital Interface</_comment>
-    <magic priority ="20">
-      <match type="string" value="MThd" offset="0"/>
-    </magic>
-    <glob pattern="*.mid"/>
-    <glob pattern="*.midi"/>
-    <glob pattern="*.kar"/>
-    <glob pattern="*.rmi"/>
-  </mime-type>
-
-  <mime-type type="audio/mobile-xmf"/>
-  <mime-type type="audio/mp4">
-    <alias type="audio/x-mp4a"/>
-    <glob pattern="*.mp4a"/>
-  </mime-type>
-  <mime-type type="audio/mp4a-latm"/>
-  <mime-type type="audio/mpa"/>
-  <mime-type type="audio/mpa-robust"/>
-
-  <mime-type type="audio/mpeg">
-    <acronym>MP3</acronym>
-    <_comment>MPEG-1 Audio Layer 3</_comment>
-    <magic priority="20">
-      <!-- http://mpgedit.org/mpgedit/mpeg_format/MP3Format.html -->
-      <!-- Bit pattern for first two bytes: 11111111 111VVLLC    -->
-      <!-- VV = MPEG Audio Version ID; 10 = V2, 11 = V1          -->
-      <!-- LL = Layer description; 01 = L3, 10 = L2, 11 = L1     -->
-      <!-- C = Protection bit; 0 = CRC, 1 = no CRC               -->
-      <match value="0xfff2" type="string" offset="0"/> <!-- V2, L3, CRC -->
-      <match value="0xfff3" type="string" offset="0"/> <!-- V2, L3      -->
-      <match value="0xfff4" type="string" offset="0"/> <!-- V2, L2, CRC -->
-      <match value="0xfff5" type="string" offset="0"/> <!-- V2, L2      -->
-      <match value="0xfff6" type="string" offset="0"/> <!-- V2, L1, CRC -->
-      <match value="0xfff7" type="string" offset="0"/> <!-- V2, L1      -->
-      <match value="0xfffa" type="string" offset="0"/> <!-- V1, L3, CRC -->
-      <match value="0xfffb" type="string" offset="0"/> <!-- V1, L3      -->
-      <match value="0xfffc" type="string" offset="0"/> <!-- V1, L2, CRC -->
-      <match value="0xfffd" type="string" offset="0"/> <!-- V1, L2      -->
-      <!-- TIKA-417: This is the UTF-16 LE byte order mark! -->
-      <!-- match value="0xfffe" type="string" offset="0"/ --> <!-- V1, L1, CRC -->
-      <match value="0xffff" type="string" offset="0"/> <!-- V1, L1      -->
-      <match value="ID3" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.mpga"/>
-    <glob pattern="*.mp2"/>
-    <glob pattern="*.mp2a"/>
-    <glob pattern="*.mp3"/>
-    <glob pattern="*.m2a"/>
-    <glob pattern="*.m3a"/>
-  </mime-type>
-
-  <mime-type type="audio/mpeg4-generic"/>
-
-  <mime-type type="audio/ogg">
-    <glob pattern="*.oga"/>
-    <glob pattern="*.ogg"/>
-    <glob pattern="*.spx"/>
-    <sub-class-of type="application/ogg"/>
-  </mime-type>
-
-  <mime-type type="audio/parityfec"/>
-  <mime-type type="audio/pcma"/>
-  <mime-type type="audio/pcma-wb"/>
-  <mime-type type="audio/pcmu-wb"/>
-  <mime-type type="audio/pcmu"/>
-
-  <mime-type type="audio/prs.sid">
-    <magic priority="50">
-      <match value="PSID" type="string" offset="0"/>
-    </magic>
-  </mime-type>
-
-  <mime-type type="audio/qcelp"/>
-  <mime-type type="audio/red"/>
-  <mime-type type="audio/rtp-enc-aescm128"/>
-  <mime-type type="audio/rtp-midi"/>
-  <mime-type type="audio/rtx"/>
-  <mime-type type="audio/smv"/>
-  <mime-type type="audio/smv0"/>
-  <mime-type type="audio/smv-qcp"/>
-  <mime-type type="audio/sp-midi"/>
-  <mime-type type="audio/t140c"/>
-  <mime-type type="audio/t38"/>
-  <mime-type type="audio/telephone-event"/>
-  <mime-type type="audio/tone"/>
-  <mime-type type="audio/ulpfec"/>
-  <mime-type type="audio/vdvi"/>
-  <mime-type type="audio/vmr-wb"/>
-  <mime-type type="audio/vnd.3gpp.iufp"/>
-  <mime-type type="audio/vnd.4sb"/>
-  <mime-type type="audio/vnd.audiokoz"/>
-  <mime-type type="audio/vnd.celp"/>
-  <mime-type type="audio/vnd.cisco.nse"/>
-  <mime-type type="audio/vnd.cmles.radio-events"/>
-  <mime-type type="audio/vnd.cns.anp1"/>
-  <mime-type type="audio/vnd.cns.inf1"/>
-  <mime-type type="audio/vnd.digital-winds">
-    <glob pattern="*.eol"/>
-  </mime-type>
-  <mime-type type="audio/vnd.dlna.adts"/>
-  <mime-type type="audio/vnd.dolby.heaac.1"/>
-  <mime-type type="audio/vnd.dolby.heaac.2"/>
-  <mime-type type="audio/vnd.dolby.mlp"/>
-  <mime-type type="audio/vnd.dolby.mps"/>
-  <mime-type type="audio/vnd.dolby.pl2"/>
-  <mime-type type="audio/vnd.dolby.pl2x"/>
-  <mime-type type="audio/vnd.dolby.pl2z"/>
-  <mime-type type="audio/vnd.dts">
-    <glob pattern="*.dts"/>
-  </mime-type>
-  <mime-type type="audio/vnd.dts.hd">
-    <glob pattern="*.dtshd"/>
-  </mime-type>
-  <mime-type type="audio/vnd.everad.plj"/>
-  <mime-type type="audio/vnd.hns.audio"/>
-  <mime-type type="audio/vnd.lucent.voice">
-    <glob pattern="*.lvp"/>
-  </mime-type>
-  <mime-type type="audio/vnd.ms-playready.media.pya">
-    <glob pattern="*.pya"/>
-  </mime-type>
-  <mime-type type="audio/vnd.nokia.mobile-xmf"/>
-  <mime-type type="audio/vnd.nortel.vbk"/>
-  <mime-type type="audio/vnd.nuera.ecelp4800">
-    <glob pattern="*.ecelp4800"/>
-  </mime-type>
-  <mime-type type="audio/vnd.nuera.ecelp7470">
-    <glob pattern="*.ecelp7470"/>
-  </mime-type>
-  <mime-type type="audio/vnd.nuera.ecelp9600">
-    <glob pattern="*.ecelp9600"/>
-  </mime-type>
-  <mime-type type="audio/vnd.octel.sbc"/>
-  <mime-type type="audio/vnd.qcelp"/>
-  <mime-type type="audio/vnd.rhetorex.32kadpcm"/>
-  <mime-type type="audio/vnd.sealedmedia.softseal.mpeg"/>
-  <mime-type type="audio/vnd.vmx.cvsd"/>
-  <mime-type type="audio/vorbis"/>
-  <mime-type type="audio/vorbis-config"/>
-  <mime-type type="audio/x-aac">
-    <glob pattern="*.aac"/>
-  </mime-type>
-
-  <mime-type type="audio/x-adbcm">
-    <magic priority="20">
-      <match value=".snd" type="string" offset="0">
-        <match value="23" type="big32" offset="12"/>
-      </match>
-    </magic>
-  </mime-type>
-
-  <mime-type type="audio/x-aiff">
-    <alias type="audio/aiff"/>
-    <acronym>AIFF</acronym>
-    <_comment>Audio Interchange File Format</_comment>
-    <magic priority="20">
-      <match value="FORM....AIFF" type="string" offset="0"
-             mask="0xFFFFFFFF00000000FFFFFFFF"/>
-      <match value="FORM....AIFC" type="string" offset="0"
-             mask="0xFFFFFFFF00000000FFFFFFFF"/>
-      <!-- Amiga IFF sound sample, somewhat like the more modern AIFF -->
-      <match value="FORM....8SVX" type="string" offset="0"
-             mask="0xFFFFFFFF00000000FFFFFFFF"/>
-    </magic>
-    <glob pattern="*.aif"/>
-    <glob pattern="*.aiff"/>
-    <glob pattern="*.aifc"/>
-  </mime-type>
-
-  <mime-type type="audio/x-dec-basic">
-    <magic priority="20">
-      <match value="0x0064732E" type="big32" offset="0">
-        <match value="1" type="big32" offset="12"/>
-        <match value="2" type="big32" offset="12"/>
-        <match value="3" type="big32" offset="12"/>
-        <match value="4" type="big32" offset="12"/>
-        <match value="5" type="big32" offset="12"/>
-        <match value="6" type="big32" offset="12"/>
-        <match value="7" type="big32" offset="12"/>
-      </match>
-    </magic>
-  </mime-type>
-
-  <mime-type type="audio/x-dec-adbcm">
-    <magic priority="20">
-      <match value="0x0064732E" type="big32" offset="0">
-        <match value="23" type="big32" offset="12"/>
-      </match>
-    </magic>
-  </mime-type>
-
-  <mime-type type="audio/x-flac">
-    <acronym>FLAC</acronym>
-    <_comment>Free Lossless Audio Codec</_comment>
-    <magic priority="50">
-      <match value="fLaC" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.flac"/>
-  </mime-type>
-
-  <mime-type type="audio/x-mod">
-    <acronym>MOD</acronym>
-    <magic priority="50">
-      <match value="Extended\ Module:" type="string" offset="0"/>
-      <match value="BMOD2STM" type="string" offset="21"/>
-      <match value="M.K." type="string" offset="1080"/>
-      <match value="M!K!" type="string" offset="1080"/>
-      <match value="FLT4" type="string" offset="1080"/>
-      <match value="FLT8" type="string" offset="1080"/>
-      <match value="4CHN" type="string" offset="1080"/>
-      <match value="6CHN" type="string" offset="1080"/>
-      <match value="8CHN" type="string" offset="1080"/>
-      <match value="CD81" type="string" offset="1080"/>
-      <match value="OKTA" type="string" offset="1080"/>
-      <match value="16CN" type="string" offset="1080"/>
-      <match value="32CN" type="string" offset="1080"/>
-      <match value="IMPM" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.mod"/>
-  </mime-type>
-
-  <mime-type type="audio/x-mpegurl">
-    <glob pattern="*.m3u"/>
-  </mime-type>
-  <mime-type type="audio/x-ms-wax">
-    <glob pattern="*.wax"/>
-  </mime-type>
-  <mime-type type="audio/x-ms-wma">
-    <glob pattern="*.wma"/>
-  </mime-type>
-
-  <mime-type type="audio/x-pn-realaudio">
-    <_comment>Real Audio</_comment>
-    <alias type="audio/x-realaudio" />
-    <magic priority="50">
-      <match value="0x2e7261fd" type="big32" offset="0"/>
-    </magic>
-    <glob pattern="*.ram"/>
-    <glob pattern="*.ra"/>
-  </mime-type>
-
-  <mime-type type="audio/x-pn-realaudio-plugin">
-    <glob pattern="*.rmp"/>
-  </mime-type>
-
-  <mime-type type="audio/x-wav">
-    <acronym>WAV</acronym>
-    <magic priority="20">
-      <match value="RIFF....WAVE" type="string" offset="0"
-             mask="0xFFFFFFFF00000000FFFFFFFF"/>
-    </magic>
-    <glob pattern="*.wav"/>
-  </mime-type>
-
-  <mime-type type="chemical/x-cdx">
-    <glob pattern="*.cdx"/>
-  </mime-type>
-  <mime-type type="chemical/x-cif">
-    <glob pattern="*.cif"/>
-  </mime-type>
-  <mime-type type="chemical/x-cmdf">
-    <glob pattern="*.cmdf"/>
-  </mime-type>
-  <mime-type type="chemical/x-cml">
-    <glob pattern="*.cml"/>
-  </mime-type>
-  <mime-type type="chemical/x-csml">
-    <glob pattern="*.csml"/>
-  </mime-type>
-  <mime-type type="chemical/x-pdb"/>
-  <mime-type type="chemical/x-xyz">
-    <glob pattern="*.xyz"/>
-  </mime-type>
-
-  <mime-type type="image/x-ms-bmp">
-    <alias type="image/bmp"/>
-    <acronym>BMP</acronym>
-    <_comment>Windows bitmap</_comment>
-    <magic priority="50">
-      <match value="BM" type="string" offset="0">
-        <match value="0x0100" type="string" offset="26">
-      	  <match value="0x0000" type="string" offset="28"/>
-      	  <match value="0x0100" type="string" offset="28"/>
-      	  <match value="0x0400" type="string" offset="28"/>
-      	  <match value="0x0800" type="string" offset="28"/>
-      	  <match value="0x1000" type="string" offset="28"/>
-      	  <match value="0x1800" type="string" offset="28"/>
-      	  <match value="0x2000" type="string" offset="28"/>
-        </match>
-      </match>
-    </magic>
-    <glob pattern="*.bmp"/>
-    <glob pattern="*.dib"/>
-  </mime-type>
-
-  <mime-type type="image/cgm">
-    <acronym>CGM</acronym>
-    <_comment>Computer Graphics Metafile</_comment>
-    <magic priority="50">
-      <match value="BEGMF" type="string" offset="0"/>
-      <match value="0x0020" mask="0xffe0" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.cgm"/>
-  </mime-type>
-
-  <mime-type type="image/example"/>
-  <mime-type type="image/fits"/>
-  <mime-type type="image/g3fax">
-    <glob pattern="*.g3"/>
-  </mime-type>
-
-  <mime-type type="image/gif">
-    <acronym>GIF</acronym>
-    <_comment>Graphics Interchange Format</_comment>
-    <magic priority="50">
-      <match value="GIF87a" type="string" offset="0"/>
-      <match value="GIF89a" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.gif"/>
-  </mime-type>
-
-  <mime-type type="image/ief">
-    <glob pattern="*.ief"/>
-  </mime-type>
-  <mime-type type="image/jp2"/>
-
-  <mime-type type="image/jpeg">
-    <acronym>JPEG</acronym>
-    <_comment>Joint Photographic Experts Group</_comment>
-    <magic priority="50">
-      <!-- FFD8 is the SOI (Start Of Image) marker.              -->
-      <!-- It is followed by another marker that starts with FF. -->
-      <match value="0xffd8ff" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.jpg"/>
-    <glob pattern="*.jpeg"/>
-    <glob pattern="*.jpe"/>
-    <glob pattern="*.jif"/>
-    <glob pattern="*.jfif"/>
-    <glob pattern="*.jfi"/>
-  </mime-type>
-
-  <mime-type type="image/jpm"/>
-  <mime-type type="image/jpx"/>
-  <mime-type type="image/naplps"/>
-
-  <mime-type type="image/png">
-    <acronym>PNG</acronym>
-    <_comment>Portable Network Graphics</_comment>
-    <magic priority="50">
-      <match value="\x89PNG\x0d\x0a\x1a\x0a" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.png"/>
-  </mime-type>
-
-  <mime-type type="image/prs.btif">
-    <glob pattern="*.btif"/>
-  </mime-type>
-  <mime-type type="image/prs.pti"/>
-
-  <mime-type type="image/svg+xml">
-    <sub-class-of type="application/xml"/>
-    <acronym>SVG</acronym>
-    <_comment>Scalable Vector Graphics</_comment>
-    <root-XML localName="svg" namespaceURI="http://www.w3.org/2000/svg"/>
-    <glob pattern="*.svg"/>
-    <glob pattern="*.svgz"/>
-  </mime-type>
-
-  <mime-type type="image/t38"/>
-
-  <mime-type type="image/tiff">
-    <acronym>TIFF</acronym>
-    <_comment>Tagged Image File Format</_comment>
-    <magic priority="50">
-      <!-- MM.* = Big endian (M=Motorola) and 0x002a in big endian    -->
-      <match value="MM\x00\x2a" type="string" offset="0"/>
-      <!-- II*. = Little endian (I=Intel) and 0x002a in little endian -->
-      <match value="II\x2a\x00" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.tiff"/>
-    <glob pattern="*.tif"/>
-  </mime-type>
-
-  <mime-type type="image/tiff-fx"/>
-
-  <mime-type type="image/vnd.adobe.photoshop">
-    <alias type="image/x-psd"/>
-    <glob pattern="*.psd"/>
-  </mime-type>
-
-  <mime-type type="image/vnd.cns.inf2"/>
-  <mime-type type="image/vnd.djvu">
-    <glob pattern="*.djvu"/>
-    <glob pattern="*.djv"/>
-  </mime-type>
-
-  <mime-type type="image/vnd.dwg">
-    <acronym>DWG</acronym>
-    <_comment>AutoCad Drawing</_comment>
-    <alias type="image/x-dwg"/>
-    <alias type="application/acad"/>
-    <alias type="application/x-acad"/>
-    <alias type="application/autocad_dwg"/>
-    <alias type="application/dwg"/>
-    <alias type="application/x-dwg"/>
-    <alias type="application/x-autocad"/>
-    <glob pattern="*.dwg"/>
-    <magic priority="50">
-      <!-- "AC" followed by four numbers -->
-      <match value="AC0000" type="string" offset="0"
-             mask="0xFFFFF0F0F0F0"/>
-    </magic>
-  </mime-type>
-
-  <mime-type type="image/vnd.dxf">
-    <glob pattern="*.dxf"/>
-  </mime-type>
-  <mime-type type="image/vnd.fastbidsheet">
-    <glob pattern="*.fbs"/>
-  </mime-type>
-  <mime-type type="image/vnd.fpx">
-    <glob pattern="*.fpx"/>
-  </mime-type>
-  <mime-type type="image/vnd.fst">
-    <glob pattern="*.fst"/>
-  </mime-type>
-  <mime-type type="image/vnd.fujixerox.edmics-mmr">
-    <glob pattern="*.mmr"/>
-  </mime-type>
-  <mime-type type="image/vnd.fujixerox.edmics-rlc">
-    <glob pattern="*.rlc"/>
-  </mime-type>
-  <mime-type type="image/vnd.globalgraphics.pgb"/>
-  <mime-type type="image/vnd.microsoft.icon"/>
-  <mime-type type="image/vnd.mix"/>
-  <mime-type type="image/vnd.ms-modi">
-    <glob pattern="*.mdi"/>
-  </mime-type>
-  <mime-type type="image/vnd.net-fpx">
-    <glob pattern="*.npx"/>
-  </mime-type>
-  <mime-type type="image/vnd.radiance"/>
-  <mime-type type="image/vnd.sealed.png"/>
-  <mime-type type="image/vnd.sealedmedia.softseal.gif"/>
-  <mime-type type="image/vnd.sealedmedia.softseal.jpg"/>
-  <mime-type type="image/vnd.svf"/>
-
-  <mime-type type="image/vnd.wap.wbmp">
-    <_comment>Wireless Bitmap File Format</_comment>
-    <glob pattern="*.wbmp"/>
-  </mime-type>
-
-  <mime-type type="image/vnd.xiff">
-    <glob pattern="*.xif"/>
-  </mime-type>
-  <mime-type type="image/x-cmu-raster">
-    <glob pattern="*.ras"/>
-  </mime-type>
-  <mime-type type="image/x-cmx">
-    <glob pattern="*.cmx"/>
-  </mime-type>
-  <mime-type type="image/x-freehand">
-    <glob pattern="*.fh"/>
-    <glob pattern="*.fhc"/>
-    <glob pattern="*.fh4"/>
-    <glob pattern="*.fh5"/>
-    <glob pattern="*.fh7"/>
-  </mime-type>
-
-  <mime-type type="image/x-icon">
-    <magic priority="50">
-      <match value="\102\101\050\000\000\000\056\000\000\000\000\000\000\000"
-             type="string" offset="0"/>
-      <match value="\000\000\001\000" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.ico"/>
-  </mime-type>
-
-  <mime-type type="image/x-niff">
-    <_comment>Navy Interchange File Format</_comment>
-    <magic priority="50">
-      <match value="IIN1" type="string" offset="0"/>
-    </magic>
-  </mime-type>
-
-  <mime-type type="image/x-pcx">
-    <glob pattern="*.pcx"/>
-  </mime-type>
-  <mime-type type="image/x-pict">
-    <glob pattern="*.pic"/>
-    <glob pattern="*.pct"/>
-  </mime-type>
-
-  <mime-type type="image/x-portable-anymap">
-    <acronym>PNM</acronym>
-    <_comment>Portable Any Map</_comment>
-    <glob pattern="*.pnm" />
-  </mime-type>
-
-  <mime-type type="image/x-portable-bitmap">
-    <sub-class-of type="image/x-portable-anymap"/>
-    <acronym>PBM</acronym>
-    <_comment>Portable Bit Map</_comment>
-    <magic priority="50">
-      <match value="P1" type="string" offset="0"/>
-      <match value="P4" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.pbm"/>
-  </mime-type>
-
-  <mime-type type="image/x-portable-graymap">
-    <sub-class-of type="image/x-portable-anymap"/>
-    <acronym>PGM</acronym>
-    <_comment>Portable Gray Map</_comment>
-    <magic priority="50">
-      <match value="P2" type="string" offset="0"/>
-      <match value="P5" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.pgm"/>
-  </mime-type>
-
-  <mime-type type="image/x-portable-pixmap">
-    <sub-class-of type="image/x-portable-anymap"/>
-    <acronym>PXM</acronym>
-    <_comment>Portable Pixel Map</_comment>
-    <magic priority="50">
-      <match value="P3" type="string" offset="0"/>
-      <match value="P6" type="string" offset="0"/>
-      <match value="P7" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.ppm"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-adobe">
-    <acronym>DNG</acronym>
-    <_comment>Adobe Digital Negative</_comment>
-    <glob pattern="*.dng"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-hasselblad">
-    <_comment>Hasselblad raw image</_comment>
-    <glob pattern="*.3fr"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-fuji">
-    <_comment>Fuji raw image</_comment>
-    <glob pattern="*.raf"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-canon">
-    <_comment>Canon raw image</_comment>
-    <glob pattern="*.crw"/>
-    <glob pattern="*.cr2"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-kodak">
-    <_comment>Kodak raw image</_comment>
-    <glob pattern="*.k25"/>
-    <glob pattern="*.kdc"/>
-    <glob pattern="*.dcs"/>
-    <glob pattern="*.drf"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-minolta">
-    <_comment>Minolta raw image</_comment>
-    <glob pattern="*.mrw"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-nikon">
-    <_comment>Nikon raw image</_comment>
-    <glob pattern="*.nef"/>
-    <glob pattern="*.nrw"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-olympus">
-    <_comment>Olympus raw image</_comment>
-    <glob pattern="*.orf"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-pentax">
-    <_comment>Pentax raw image</_comment>
-    <glob pattern="*.ptx"/>
-    <glob pattern="*.pef"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-sony">
-    <_comment>Sony raw image</_comment>
-    <glob pattern="*.arw"/>
-    <glob pattern="*.srf"/>
-    <glob pattern="*.sr2"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-sigma">
-    <_comment>Sigma raw image</_comment>
-    <glob pattern="*.x3f"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-epson">
-    <_comment>Epson raw image</_comment>
-    <glob pattern="*.erf"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-mamiya">
-    <_comment>Mamiya raw image</_comment>
-    <glob pattern="*.mef"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-leaf">
-    <_comment>Leaf raw image</_comment>
-    <glob pattern="*.mos"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-panasonic">
-    <_comment>Panasonic raw image</_comment>
-    <glob pattern="*.raw"/>
-    <glob pattern="*.rw2"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-phaseone">
-    <_comment>Phase One raw image</_comment>
-    <glob pattern="*.cap"/>
-    <glob pattern="*.iiq"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-red">
-    <_comment>Red raw image</_comment>
-    <glob pattern="*.r3d"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-imacon">
-    <_comment>Imacon raw image</_comment>
-    <glob pattern="*.fff"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-logitech">
-    <_comment>Logitech raw image</_comment>
-    <glob pattern="*.pxn"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-casio">
-    <_comment>Casio raw image</_comment>
-    <glob pattern="*.bay"/>
-  </mime-type>
-
-  <mime-type type="image/x-raw-rawzor">
-    <_comment>Rawzor raw image</_comment>
-    <glob pattern="*.rwz"/>
-  </mime-type>
-
-  <mime-type type="image/x-rgb">
-    <glob pattern="*.rgb"/>
-  </mime-type>
-
-  <mime-type type="image/x-xbitmap">
-    <magic priority="50">
-      <match value="/* XPM" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.xbm"/>
-    <sub-class-of type="text/x-c"/>
-  </mime-type>
-
-  <mime-type type="image/x-xcf">
-    <alias type="image/xcf"/>
-    <magic priority="50">
-      <match type="string" value="gimp xcf " offset="0"/>
-    </magic>
-  </mime-type>
-
-  <mime-type type="image/x-xpixmap">
-    <glob pattern="*.xpm"/>
-  </mime-type>
-  <mime-type type="image/x-xwindowdump">
-    <glob pattern="*.xwd"/>
-  </mime-type>
-
-  <mime-type type="message/cpim"/>
-  <mime-type type="message/delivery-status"/>
-  <mime-type type="message/disposition-notification"/>
-  <mime-type type="message/example"/>
-  <mime-type type="message/external-body"/>
-  <mime-type type="message/global"/>
-  <mime-type type="message/global-delivery-status"/>
-  <mime-type type="message/global-disposition-notification"/>
-  <mime-type type="message/global-headers"/>
-  <mime-type type="message/http"/>
-  <mime-type type="message/imdn+xml"/>
-
-  <mime-type type="message/news">
-    <magic priority="50">
-      <match value="Path:" type="string" offset="0" />
-      <match value="Xref:" type="string" offset="0" />
-      <match value="Article" type="string" offset="0" />
-    </magic>
-  </mime-type>
-
-  <mime-type type="message/partial"/>
-
-  <mime-type type="message/rfc822">
-    <magic priority="50">
-      <match value="Relay-Version:" type="string" offset="0"/>
-      <match value="#!\ rnews" type="string" offset="0"/>
-      <match value="N#!\ rnews" type="string" offset="0"/>
-      <match value="Forward\ to" type="string" offset="0"/>
-      <match value="Pipe\ to" type="string" offset="0"/>
-      <match value="Return-Path:" type="string" offset="0"/>
-      <match value="From:" type="string" offset="0"/>
-      <match value="Received:" type="string" offset="0"/>
-      <match type="string" value="Message-ID:" offset="0"/>
-      <match type="string" value="Date:" offset="0"/>
-    </magic>
-    <glob pattern="*.eml"/>
-    <glob pattern="*.mime"/>
-    <glob pattern="*.mht"/>
-    <glob pattern="*.mhtml"/>
-  </mime-type>
-
-  <mime-type type="message/s-http"/>
-  <mime-type type="message/sip"/>
-  <mime-type type="message/sipfrag"/>
-  <mime-type type="message/tracking-status"/>
-  <mime-type type="message/vnd.si.simp"/>
-
-  <mime-type type="model/example"/>
-
-  <mime-type type="model/iges">
-    <_comment>Initial Graphics Exchange Specification Format</_comment>
-    <glob pattern="*.igs"/>
-    <glob pattern="*.iges"/>
-  </mime-type>
-
-  <mime-type type="model/mesh">
-    <glob pattern="*.msh"/>
-    <glob pattern="*.mesh"/>
-    <glob pattern="*.silo"/>
-  </mime-type>
-
-  <mime-type type="model/vnd.dwf">
-    <glob pattern="*.dwf"/>
-  </mime-type>
-  <mime-type type="model/vnd.flatland.3dml"/>
-  <mime-type type="model/vnd.gdl">
-    <glob pattern="*.gdl"/>
-  </mime-type>
-  <mime-type type="model/vnd.gs-gdl"/>
-  <mime-type type="model/vnd.gs.gdl"/>
-  <mime-type type="model/vnd.gtw">
-    <glob pattern="*.gtw"/>
-  </mime-type>
-  <mime-type type="model/vnd.moml+xml"/>
-  <mime-type type="model/vnd.mts">
-    <glob pattern="*.mts"/>
-  </mime-type>
-  <mime-type type="model/vnd.parasolid.transmit.binary"/>
-  <mime-type type="model/vnd.parasolid.transmit.text"/>
-  <mime-type type="model/vnd.vtu">
-    <glob pattern="*.vtu"/>
-  </mime-type>
-
-  <mime-type type="model/vrml">
-    <glob pattern="*.wrl"/>
-    <glob pattern="*.vrml"/>
-  </mime-type>
-
-  <mime-type type="multipart/alternative"/>
-  <mime-type type="multipart/appledouble"/>
-  <mime-type type="multipart/byteranges"/>
-  <mime-type type="multipart/digest"/>
-  <mime-type type="multipart/encrypted"/>
-  <mime-type type="multipart/example"/>
-  <mime-type type="multipart/form-data"/>
-  <mime-type type="multipart/header-set"/>
-  <mime-type type="multipart/mixed"/>
-  <mime-type type="multipart/parallel"/>
-  <mime-type type="multipart/related"/>
-  <mime-type type="multipart/report"/>
-  <mime-type type="multipart/signed"/>
-  <mime-type type="multipart/voice-message"/>
-  <mime-type type="text/calendar">
-    <glob pattern="*.ics"/>
-    <glob pattern="*.ifb"/>
-  </mime-type>
-
-  <mime-type type="text/css">
-    <_comment>Cascading Style Sheet</_comment>
-    <glob pattern="*.css"/>
-    <sub-class-of type="text/plain"/>
-  </mime-type>
-
-  <mime-type type="text/csv">
-    <glob pattern="*.csv"/>
-  </mime-type>
-  <mime-type type="text/directory"/>
-  <mime-type type="text/dns"/>
-  <mime-type type="text/ecmascript"/>
-  <mime-type type="text/enriched"/>
-  <mime-type type="text/example"/>
-
-  <mime-type type="text/html">
-     <!-- TIKA-327: if you encounter tags in the HTML
-          with no declared namespace, it's not XHTML, it's just
-          bad HTML, unfortunately.
-     -->
-    <root-XML localName="html"/>
-    <root-XML localName="HTML"/>
-    <root-XML localName="link"/>
-    <root-XML localName="LINK"/>
-    <root-XML localName="body"/>
-    <root-XML localName="BODY"/>
-    <root-XML localName="p"/>
-    <root-XML localName="P"/>
-    <root-XML localName="script"/>
-    <root-XML localName="SCRIPT"/>
-    <root-XML localName="frameset"/>
-    <root-XML localName="FRAMESET"/>
-    <!-- The magic priority needs to be lower than that of -->
-    <!--  files which contain HTML within them, eg mime emails -->
-    <magic priority="40">
-      <match value="&lt;!DOCTYPE HTML" type="string" offset="0:64"/>
-      <match value="&lt;!doctype html" type="string" offset="0:64"/>
-      <match value="&lt;HEAD" type="string" offset="0:64"/>
-      <match value="&lt;head" type="string" offset="0:64"/>
-      <match value="&lt;TITLE" type="string" offset="0:64"/>
-      <match value="&lt;title" type="string" offset="0:64"/>
-      <!-- note on the offset value here: this can only be as big as
-           MimeTypes#getMinLength(). If you set the offset value to larger
-           than that size, the magic will only be compared to up to
-           MimeTypes#getMinLength() bytes.
-       -->
-      <match value="&lt;html" type="string" offset="0:8192"/>
-      <match value="&lt;HTML" type="string" offset="0:64"/>
-      <match value="&lt;BODY" type="string" offset="0"/>
-      <match value="&lt;body" type="string" offset="0"/>
-      <match value="&lt;TITLE" type="string" offset="0"/>
-      <match value="&lt;title" type="string" offset="0"/>
-      <match value="&lt;h1" type="string" offset="0"/>
-      <match value="&lt;H1" type="string" offset="0"/>
-      <match value="&lt;!doctype HTML" type="string" offset="0"/>
-      <match value="&lt;!DOCTYPE html" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.html"/>
-    <glob pattern="*.htm"/>
-  </mime-type>
-
-  <mime-type type="text/javascript"/>
-  <mime-type type="text/parityfec"/>
-
-  <mime-type type="text/plain">
-    <magic priority="20">
-      <match value="This is TeX," type="string" offset="0"/>
-      <match value="This is METAFONT," type="string" offset="0"/>
-      <match value="/*" type="string" offset="0"/>
-      <match value="//" type="string" offset="0"/>
-      <match value=";;" type="string" offset="0"/>
-      <!-- UTF-16BE BOM -->
-      <match value="0xfeff" type="string" offset="0"/>
-      <!-- UTF-16LE BOM -->
-      <match value="0xfffe" type="string" offset="0"/>
-      <!-- UTF-8 BOM -->
-      <match value="0xefbbbf" type="string" offset="0"/>
-    </magic>
-
-    <glob pattern="*.txt"/>
-    <glob pattern="*.text"/>
-    <glob pattern="*.conf"/>
-    <glob pattern="*.def"/>
-    <glob pattern="*.list"/>
-    <glob pattern="*.log"/>
-    <glob pattern="*.in"/>
-
-    <!-- TIKA-85: http://www.apache.org/dev/svn-eol-style.txt -->
-    <glob pattern="INSTALL"/>
-    <glob pattern="KEYS"/>
-    <glob pattern="Makefile"/>
-    <glob pattern="README"/>
-    <glob pattern="abs-linkmap"/>
-    <glob pattern="abs-menulinks"/>
-    <glob pattern="*.aart"/>
-    <glob pattern="*.ac"/>
-    <glob pattern="*.am"/>
-    <glob pattern="*.cgi"/>
-    <glob pattern="*.classpath"/>
-    <glob pattern="*.cmd"/>
-    <glob pattern="*.config"/>
-    <glob pattern="*.cwiki"/>
-    <glob pattern="*.data"/>
-    <glob pattern="*.dcl"/>
-    <glob pattern="*.egrm"/>
-    <glob pattern="*.ent"/>
-    <glob pattern="*.ft"/>
-    <glob pattern="*.fn"/>
-    <glob pattern="*.fv"/>
-    <glob pattern="*.grm"/>
-    <glob pattern="*.g"/>
-    <glob pattern=".htaccess"/>
-    <glob pattern="*.ihtml"/>
-    <glob pattern="*.jmx"/>
-    <glob pattern="*.jsp"/>
-    <glob pattern="*.junit"/>
-    <glob pattern="*.jx"/>
-    <glob pattern="*.manifest"/>
-    <glob pattern="*.m4"/>
-    <glob pattern="*.mf"/>
-    <glob pattern="*.MF"/>
-    <glob pattern="*.meta"/>
-    <glob pattern="*.n3"/>
-    <glob pattern="*.pen"/>
-    <glob pattern="*.pl"/>
-    <glob pattern="*.pm"/>
-    <glob pattern="*.pod"/>
-    <glob pattern="*.pom"/>
-    <glob pattern="*.project"/>
-    <glob pattern="*.properties"/>
-    <glob pattern="*.py"/>
-    <glob pattern="*.rb"/>
-    <glob pattern="*.rng"/>
-    <glob pattern="*.rnx"/>
-    <glob pattern="*.roles"/>
-    <glob pattern="*.sql"/>
-    <glob pattern="*.tld"/>
-    <glob pattern="*.types"/>
-    <glob pattern="*.vm"/>
-    <glob pattern="*.vsl"/>
-    <glob pattern="*.wsdd"/>
-    <glob pattern="*.xargs"/>
-    <glob pattern="*.xcat"/>
-    <glob pattern="*.xconf"/>
-    <glob pattern="*.xegrm"/>
-    <glob pattern="*.xgrm"/>
-    <glob pattern="*.xlex"/>
-    <glob pattern="*.xlog"/>
-    <glob pattern="*.xmap"/>
-    <glob pattern="*.xroles"/>
-    <glob pattern="*.xsamples"/>
-    <glob pattern="*.xsp"/>
-    <glob pattern="*.xweb"/>
-    <glob pattern="*.xwelcome"/>
-  </mime-type>
-
-  <mime-type type="text/prs.fallenstein.rst"/>
-  <mime-type type="text/prs.lines.tag">
-    <glob pattern="*.dsc"/>
-  </mime-type>
-  <mime-type type="text/red"/>
-  <mime-type type="text/rfc822-headers"/>
-  <mime-type type="text/richtext">
-    <glob pattern="*.rtx"/>
-  </mime-type>
-  <mime-type type="text/rtf"/>
-  <mime-type type="text/rtp-enc-aescm128"/>
-  <mime-type type="text/rtx"/>
-  <mime-type type="text/sgml">
-    <glob pattern="*.sgml"/>
-    <glob pattern="*.sgm"/>
-  </mime-type>
-  <mime-type type="text/t140"/>
-  <mime-type type="text/tab-separated-values">
-    <glob pattern="*.tsv"/>
-  </mime-type>
-
-  <mime-type type="text/troff">
-    <alias type="application/x-troff"/>
-    <alias type="application/x-troff-man"/>
-    <alias type="application/x-troff-me"/>
-    <alias type="application/x-troff-ms"/>
-    <magic priority="50">
-      <match value=".\\&quot;" type="string" offset="0"/>
-      <match value="'\\&quot;" type="string" offset="0"/>
-      <match value="'.\\&quot;" type="string" offset="0"/>
-      <match value="\\&quot;" type="string" offset="0"/>
-      <match value="'''" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.t"/>
-    <glob pattern="*.tr"/>
-    <glob pattern="*.roff"/>
-    <glob pattern="*.man"/>
-    <glob pattern="*.me"/>
-    <glob pattern="*.ms"/>
-  </mime-type>
-
-  <mime-type type="text/ulpfec"/>
-  <mime-type type="text/uri-list">
-    <glob pattern="*.uri"/>
-    <glob pattern="*.uris"/>
-    <glob pattern="*.urls"/>
-  </mime-type>
-  <mime-type type="text/vnd.abc"/>
-  <mime-type type="text/vnd.curl">
-    <glob pattern="*.curl"/>
-  </mime-type>
-  <mime-type type="text/vnd.curl.dcurl">
-    <glob pattern="*.dcurl"/>
-  </mime-type>
-  <mime-type type="text/vnd.curl.scurl">
-    <glob pattern="*.scurl"/>
-  </mime-type>
-  <mime-type type="text/vnd.curl.mcurl">
-    <glob pattern="*.mcurl"/>
-  </mime-type>
-  <mime-type type="text/vnd.dmclientscript"/>
-  <mime-type type="text/vnd.esmertec.theme-descriptor"/>
-  <mime-type type="text/vnd.fly">
-    <glob pattern="*.fly"/>
-  </mime-type>
-  <mime-type type="text/vnd.fmi.flexstor">
-    <glob pattern="*.flx"/>
-  </mime-type>
-  <mime-type type="text/vnd.graphviz">
-    <glob pattern="*.gv"/>
-  </mime-type>
-  <mime-type type="text/vnd.in3d.3dml">
-    <glob pattern="*.3dml"/>
-  </mime-type>
-  <mime-type type="text/vnd.in3d.spot">
-    <glob pattern="*.spot"/>
-  </mime-type>
-  <mime-type type="text/vnd.iptc.newsml"/>
-  <mime-type type="text/vnd.iptc.nitf"/>
-  <mime-type type="text/vnd.latex-z"/>
-  <mime-type type="text/vnd.motorola.reflex"/>
-  <mime-type type="text/vnd.ms-mediapackage"/>
-  <mime-type type="text/vnd.net2phone.commcenter.command"/>
-  <mime-type type="text/vnd.si.uricatalogue"/>
-  <mime-type type="text/vnd.sun.j2me.app-descriptor">
-    <glob pattern="*.jad"/>
-  </mime-type>
-  <mime-type type="text/vnd.trolltech.linguist"/>
-  <mime-type type="text/vnd.wap.si"/>
-  <mime-type type="text/vnd.wap.sl"/>
-  <mime-type type="text/vnd.wap.wml">
-    <glob pattern="*.wml"/>
-  </mime-type>
-
-  <mime-type type="text/vnd.wap.wmlscript">
-    <_comment>WML Script</_comment>
-    <glob pattern="*.wmls"/>
-  </mime-type>
-
-  <mime-type type="text/x-asm">
-    <glob pattern="*.s"/>
-    <glob pattern="*.asm"/>
-  </mime-type>
-
-  <mime-type type="text/x-c">
-    <glob pattern="*.c"/>
-    <glob pattern="*.cc"/>
-    <glob pattern="*.cxx"/>
-    <glob pattern="*.cpp"/>
-    <glob pattern="*.h"/>
-    <glob pattern="*.hh"/>
-    <glob pattern="*.dic"/>
-    <sub-class-of type="text/plain"/>
-  </mime-type>
-
-  <mime-type type="text/x-diff">
-    <magic priority="50">
-      <match value="diff\ " type="string" offset="0"/>
-      <match value="***\ " type="string" offset="0"/>
-      <match value="Only\ in\ " type="string" offset="0"/>
-      <match value="Common\ subdirectories:\ " type="string" offset="0"/>
-      <match value="Index:" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.diff"/>
-    <glob pattern="*.patch"/>
-  </mime-type>
-
-  <mime-type type="text/x-fortran">
-    <glob pattern="*.f"/>
-    <glob pattern="*.for"/>
-    <glob pattern="*.f77"/>
-    <glob pattern="*.f90"/>
-  </mime-type>
-  <mime-type type="text/x-pascal">
-    <glob pattern="*.p"/>
-    <glob pattern="*.pas"/>
-  </mime-type>
-
-  <mime-type type="text/x-java-source">
-    <glob pattern="*.java"/>
-    <sub-class-of type="text/plain"/>
-  </mime-type>
-
-  <mime-type type="text/x-setext">
-    <glob pattern="*.etx"/>
-  </mime-type>
-
-  <mime-type type="text/x-uuencode">
-    <glob pattern="*.uu"/>
-  </mime-type>
-  <mime-type type="text/x-vcalendar">
-    <glob pattern="*.vcs"/>
-  </mime-type>
-  <mime-type type="text/x-vcard">
-    <glob pattern="*.vcf"/>
-  </mime-type>
-  <mime-type type="text/xml"/>
-  <mime-type type="text/xml-external-parsed-entity"/>
-  <mime-type type="video/3gpp">
-    <glob pattern="*.3gp"/>
-  </mime-type>
-  <mime-type type="video/3gpp-tt"/>
-  <mime-type type="video/3gpp2">
-    <glob pattern="*.3g2"/>
-  </mime-type>
-  <mime-type type="video/bmpeg"/>
-  <mime-type type="video/bt656"/>
-  <mime-type type="video/celb"/>
-  <mime-type type="video/dv"/>
-  <mime-type type="video/example"/>
-  <mime-type type="video/h261">
-    <glob pattern="*.h261"/>
-  </mime-type>
-  <mime-type type="video/h263">
-    <glob pattern="*.h263"/>
-  </mime-type>
-  <mime-type type="video/h263-1998"/>
-  <mime-type type="video/h263-2000"/>
-  <mime-type type="video/h264">
-    <glob pattern="*.h264"/>
-  </mime-type>
-  <mime-type type="video/jpeg">
-    <glob pattern="*.jpgv"/>
-  </mime-type>
-  <mime-type type="video/jpeg2000"/>
-  <mime-type type="video/jpm">
-    <glob pattern="*.jpm"/>
-    <glob pattern="*.jpgm"/>
-  </mime-type>
-  <mime-type type="video/mj2">
-    <glob pattern="*.mj2"/>
-    <glob pattern="*.mjp2"/>
-  </mime-type>
-  <mime-type type="video/mp1s"/>
-  <mime-type type="video/mp2p"/>
-  <mime-type type="video/mp2t"/>
-  <mime-type type="video/mp4">
-    <glob pattern="*.mp4"/>
-    <glob pattern="*.mp4v"/>
-    <glob pattern="*.mpg4"/>
-  </mime-type>
-  <mime-type type="video/mp4v-es"/>
-
-  <mime-type type="video/mpeg">
-    <magic priority="50">
-      <match value="\000\000\001\263" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.mpeg"/>
-    <glob pattern="*.mpg"/>
-    <glob pattern="*.mpe"/>
-    <glob pattern="*.m1v"/>
-    <glob pattern="*.m2v"/>
-  </mime-type>
-
-  <mime-type type="video/vnd.mpegurl">
-    <glob pattern="*.mxu"/>
-  </mime-type>
-
-  <mime-type type="video/mpeg4-generic"/>
-  <mime-type type="video/mpv"/>
-  <mime-type type="video/nv"/>
-
-  <mime-type type="video/ogg">
-    <glob pattern="*.ogv"/>
-    <sub-class-of type="application/ogg"/>
-  </mime-type>
-
-  <mime-type type="video/parityfec"/>
-  <mime-type type="video/pointer"/>
-
-  <mime-type type="video/quicktime">
-    <magic priority="50">
-      <match value="moov" type="string" offset="4"/>
-      <match value="mdat" type="string" offset="4"/>
-      <match value="ftyp" type="string" offset="4"/>
-    </magic>
-    <glob pattern="*.qt"/>
-    <glob pattern="*.mov"/>
-  </mime-type>
-
-  <mime-type type="video/raw"/>
-  <mime-type type="video/rtp-enc-aescm128"/>
-  <mime-type type="video/rtx"/>
-  <mime-type type="video/smpte292m"/>
-  <mime-type type="video/ulpfec"/>
-  <mime-type type="video/vc1"/>
-  <mime-type type="video/vnd.cctv"/>
-  <mime-type type="video/vnd.dlna.mpeg-tts"/>
-  <mime-type type="video/vnd.fvt">
-    <glob pattern="*.fvt"/>
-  </mime-type>
-  <mime-type type="video/vnd.hns.video"/>
-  <mime-type type="video/vnd.iptvforum.1dparityfec-1010"/>
-  <mime-type type="video/vnd.iptvforum.1dparityfec-2005"/>
-  <mime-type type="video/vnd.iptvforum.2dparityfec-1010"/>
-  <mime-type type="video/vnd.iptvforum.2dparityfec-2005"/>
-  <mime-type type="video/vnd.iptvforum.ttsavc"/>
-  <mime-type type="video/vnd.iptvforum.ttsmpeg2"/>
-  <mime-type type="video/vnd.motorola.video"/>
-  <mime-type type="video/vnd.motorola.videop"/>
-  <mime-type type="video/vnd.mpegurl">
-    <glob pattern="*.mxu"/>
-    <glob pattern="*.m4u"/>
-  </mime-type>
-  <mime-type type="video/vnd.ms-playready.media.pyv">
-    <glob pattern="*.pyv"/>
-  </mime-type>
-  <mime-type type="video/vnd.nokia.interleaved-multimedia"/>
-  <mime-type type="video/vnd.nokia.videovoip"/>
-  <mime-type type="video/vnd.objectvideo"/>
-  <mime-type type="video/vnd.sealed.mpeg1"/>
-  <mime-type type="video/vnd.sealed.mpeg4"/>
-  <mime-type type="video/vnd.sealed.swf"/>
-  <mime-type type="video/vnd.sealedmedia.softseal.mov"/>
-  <mime-type type="video/vnd.vivo">
-    <glob pattern="*.viv"/>
-  </mime-type>
-  <mime-type type="video/x-f4v">
-    <glob pattern="*.f4v"/>
-  </mime-type>
-
-  <mime-type type="video/x-flc">
-    <glob pattern="*.flc"/>
-  </mime-type>
-
-  <mime-type type="video/x-fli">
-    <glob pattern="*.fli"/>
-  </mime-type>
-
-  <mime-type type="video/x-flv">
-    <magic priority="50">
-      <match value="FLV" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.flv"/>
-  </mime-type>
-
-  <mime-type type="video/x-jng">
-    <magic priority="50">
-      <match value="\x8bJNG" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.jng"/>
-  </mime-type>
-
-  <mime-type type="video/x-m4v">
-    <glob pattern="*.m4v"/>
-  </mime-type>
-
-  <mime-type type="video/x-mng">
-    <magic priority="50">
-      <match value="\x8aMNG" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.mng"/>
-  </mime-type>
-
-  <mime-type type="video/x-ms-asf">
-    <glob pattern="*.asf"/>
-    <glob pattern="*.asx"/>
-  </mime-type>
-  <mime-type type="video/x-ms-wm">
-    <glob pattern="*.wm"/>
-  </mime-type>
-  <mime-type type="video/x-ms-wmv">
-    <glob pattern="*.wmv"/>
-  </mime-type>
-  <mime-type type="video/x-ms-wmx">
-    <glob pattern="*.wmx"/>
-  </mime-type>
-  <mime-type type="video/x-ms-wvx">
-    <glob pattern="*.wvx"/>
-  </mime-type>
-
-  <mime-type type="video/x-msvideo">
-    <alias type="video/avi"/>
-    <alias type="video/msvideo"/>
-    <magic priority="50">
-      <match value="RIFF....AVI " type="string" offset="0"
-             mask="0xFFFFFFFF00000000FFFFFFFF"/>
-    </magic>
-    <glob pattern="*.avi"/>
-  </mime-type>
-
-  <mime-type type="video/x-sgi-movie">
-    <magic priority="50">
-      <match value="MOVI" type="string" offset="0"/>
-    </magic>
-    <glob pattern="*.movie"/>
-  </mime-type>
-
-  <mime-type type="x-conference/x-cooltalk">
-    <_comment>Cooltalk Audio</_comment>
-    <glob pattern="*.ice"/>
-  </mime-type>
-
-</mime-info>
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/TestRereadableInputStream.java b/trunk/tika-core/src/test/java/org/apache/tika/TestRereadableInputStream.java
deleted file mode 100644
index 1b88a4c..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/TestRereadableInputStream.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.tika.utils.RereadableInputStream;
-
-import junit.framework.TestCase;
-
-public class TestRereadableInputStream extends TestCase {
-
-    private final int TEST_SIZE = 3;
-
-    private final int MEMORY_THRESHOLD = 1;
-
-    private final int NUM_PASSES = 4;
-
-    public void test() throws IOException {
-
-        InputStream is = createTestInputStream();
-        RereadableInputStream ris = new RereadableInputStream(is,
-                MEMORY_THRESHOLD, true, true);
-        try {
-            for (int pass = 0; pass < NUM_PASSES; pass++) {
-                for (int byteNum = 0; byteNum < TEST_SIZE; byteNum++) {
-                    int byteRead = ris.read();
-                    assertEquals("Pass = " + pass + ", byte num should be "
-                            + byteNum + " but is " + byteRead + ".", byteNum,
-                            byteRead);
-                }
-                ris.rewind();
-            }
-        } finally {
-            // The RereadableInputStream should close the original input
-            // stream (if it hasn't already).
-            ris.close();
-        }
-    }
-
-    /**
-     * Test that the constructor's readToEndOfStreamOnFirstRewind parameter
-     * correctly determines the behavior.
-     * 
-     * @throws IOException
-     */
-    public void testRewind() throws IOException {
-        doTestRewind(true);
-        doTestRewind(false);
-    }
-
-    private void doTestRewind(boolean readToEndOnRewind) throws IOException {
-
-        RereadableInputStream ris = null;
-
-        try {
-            InputStream s1 = createTestInputStream();
-            ris = new RereadableInputStream(s1, 5, readToEndOnRewind, true);
-            ris.read();
-            assertEquals(1, ris.getSize());
-            ris.rewind();
-            boolean moreBytesWereRead = (ris.getSize() > 1);
-            assertEquals(readToEndOnRewind, moreBytesWereRead);
-        } finally {
-            if (ris != null) {
-                ris.close();
-            }
-        }
-
-    }
-
-    private TestInputStream createTestInputStream() throws IOException {
-        return new TestInputStream(
-                new BufferedInputStream(
-                        new FileInputStream(createTestFile())));
-    }
-
-    private File createTestFile() throws IOException {
-        File testfile = File.createTempFile("TIKA_ris_test", ".tmp");
-        testfile.deleteOnExit();
-        FileOutputStream fos = new FileOutputStream(testfile);
-        for (int i = 0; i < TEST_SIZE; i++) {
-            fos.write(i);
-        }
-        fos.close();
-        return testfile;
-    }
-
-
-    public void testCloseBehavior() throws IOException {
-        doACloseBehaviorTest(true);
-        doACloseBehaviorTest(false);
-    }
-
-    private void doACloseBehaviorTest(boolean wantToClose) throws IOException {
-
-        TestInputStream tis = createTestInputStream();
-        RereadableInputStream ris =
-                new RereadableInputStream(tis, 5, true, wantToClose);
-        ris.close();
-        assertEquals(wantToClose, tis.isClosed());
-
-        if (! tis.isClosed()) {
-            tis.close();
-        }
-    }
-
-
-    /**
-     * Adds isClosed() to a BufferedInputStream.
-     */
-    class TestInputStream extends BufferedInputStream {
-
-        private boolean closed;
-
-        public TestInputStream(InputStream inputStream) {
-            super(inputStream);
-        }
-
-        public void close() throws IOException {
-            super.close();
-            closed = true;
-        }
-
-        public boolean isClosed() {
-            return closed;
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/TikaTest.java b/trunk/tika-core/src/test/java/org/apache/tika/TikaTest.java
deleted file mode 100644
index b29eec4..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/TikaTest.java
+++ /dev/null
@@ -1,832 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika;
-
-import junit.framework.TestCase;
-
-public class TikaTest extends TestCase {
-
-    private final Tika tika = new Tika();
-
-    /**
-     * This test checks that Tika correctly detects all the file extensions
-     * defined in the mime.types file (revision 819245) of the Apache HTTP
-     * Server project. The tests were created with:
-     * <pre>
-     * cat docs/conf/mime.types | grep -v '#' | perl -lne '/\S\s+\S/ and do {
-     *     my ($type, @ext) = split /\s+/;
-     *     for my $ext (@ext) {
-     *         print "assertEquals(\"$type\", tika.detect(\"x.$ext\"));";
-     *     }
-     * }'
-     * </pre>
-     */
-    public void testHttpServerFileExtensions() {
-        assertEquals("application/andrew-inset", tika.detect("x.ez"));
-        assertEquals("application/applixware", tika.detect("x.aw"));
-        assertEquals("application/atom+xml", tika.detect("x.atom"));
-        assertEquals("application/atomcat+xml", tika.detect("x.atomcat"));
-        assertEquals("application/atomsvc+xml", tika.detect("x.atomsvc"));
-        assertEquals("application/ccxml+xml", tika.detect("x.ccxml"));
-        assertEquals("application/cu-seeme", tika.detect("x.cu"));
-        assertEquals("application/davmount+xml", tika.detect("x.davmount"));
-        assertEquals("application/ecmascript", tika.detect("x.ecma"));
-        assertEquals("application/emma+xml", tika.detect("x.emma"));
-        assertEquals("application/epub+zip", tika.detect("x.epub"));
-        assertEquals("application/font-tdpfr", tika.detect("x.pfr"));
-        assertEquals("application/hyperstudio", tika.detect("x.stk"));
-        assertEquals("application/java-archive", tika.detect("x.jar"));
-        assertEquals("application/java-serialized-object", tika.detect("x.ser"));
-        assertEquals("application/java-vm", tika.detect("x.class"));
-        assertEquals("application/javascript", tika.detect("x.js"));
-        assertEquals("application/json", tika.detect("x.json"));
-        assertEquals("application/lost+xml", tika.detect("x.lostxml"));
-        assertEquals("application/mac-binhex40", tika.detect("x.hqx"));
-        assertEquals("application/mac-compactpro", tika.detect("x.cpt"));
-        assertEquals("application/marc", tika.detect("x.mrc"));
-        assertEquals("application/mathematica", tika.detect("x.ma"));
-        assertEquals("application/mathematica", tika.detect("x.nb"));
-        assertEquals("application/mathematica", tika.detect("x.mb"));
-        assertEquals("application/mathml+xml", tika.detect("x.mathml"));
-        assertEquals("application/mbox", tika.detect("x.mbox"));
-        assertEquals("application/mediaservercontrol+xml", tika.detect("x.mscml"));
-        assertEquals("application/mp4", tika.detect("x.mp4s"));
-        assertEquals("application/msword", tika.detect("x.doc"));
-        assertEquals("application/msword", tika.detect("x.dot"));
-        assertEquals("application/mxf", tika.detect("x.mxf"));
-        assertEquals("application/octet-stream", tika.detect("x.bin"));
-        assertEquals("application/octet-stream", tika.detect("x.dms"));
-        assertEquals("application/octet-stream", tika.detect("x.lha"));
-        assertEquals("application/octet-stream", tika.detect("x.lrf"));
-        assertEquals("application/octet-stream", tika.detect("x.lzh"));
-        assertEquals("application/octet-stream", tika.detect("x.so"));
-        assertEquals("application/octet-stream", tika.detect("x.iso"));
-        assertEquals("application/octet-stream", tika.detect("x.dmg"));
-        assertEquals("application/octet-stream", tika.detect("x.dist"));
-        assertEquals("application/octet-stream", tika.detect("x.distz"));
-        assertEquals("application/octet-stream", tika.detect("x.pkg"));
-        assertEquals("application/octet-stream", tika.detect("x.bpk"));
-        assertEquals("application/octet-stream", tika.detect("x.dump"));
-        assertEquals("application/octet-stream", tika.detect("x.elc"));
-        assertEquals("application/octet-stream", tika.detect("x.deploy"));
-        assertEquals("application/oda", tika.detect("x.oda"));
-        assertEquals("application/oebps-package+xml", tika.detect("x.opf"));
-        assertEquals("application/ogg", tika.detect("x.ogx"));
-        assertEquals("application/onenote", tika.detect("x.onetoc"));
-        assertEquals("application/onenote", tika.detect("x.onetoc2"));
-        assertEquals("application/onenote", tika.detect("x.onetmp"));
-        assertEquals("application/onenote", tika.detect("x.onepkg"));
-        assertEquals("application/patch-ops-error+xml", tika.detect("x.xer"));
-        assertEquals("application/pdf", tika.detect("x.pdf"));
-        assertEquals("application/pgp-encrypted", tika.detect("x.pgp"));
-        assertEquals("application/pgp-signature", tika.detect("x.asc"));
-        assertEquals("application/pgp-signature", tika.detect("x.sig"));
-        assertEquals("application/pics-rules", tika.detect("x.prf"));
-        assertEquals("application/pkcs10", tika.detect("x.p10"));
-        assertEquals("application/pkcs7-mime", tika.detect("x.p7m"));
-        assertEquals("application/pkcs7-mime", tika.detect("x.p7c"));
-        assertEquals("application/pkcs7-signature", tika.detect("x.p7s"));
-        assertEquals("application/pkix-cert", tika.detect("x.cer"));
-        assertEquals("application/pkix-crl", tika.detect("x.crl"));
-        assertEquals("application/pkix-pkipath", tika.detect("x.pkipath"));
-        assertEquals("application/pkixcmp", tika.detect("x.pki"));
-        assertEquals("application/pls+xml", tika.detect("x.pls"));
-        assertEquals("application/postscript", tika.detect("x.ai"));
-        assertEquals("application/postscript", tika.detect("x.eps"));
-        assertEquals("application/postscript", tika.detect("x.ps"));
-        assertEquals("application/prs.cww", tika.detect("x.cww"));
-        assertEquals("application/rdf+xml", tika.detect("x.rdf"));
-        assertEquals("application/reginfo+xml", tika.detect("x.rif"));
-        assertEquals("application/relax-ng-compact-syntax", tika.detect("x.rnc"));
-        assertEquals("application/resource-lists+xml", tika.detect("x.rl"));
-        assertEquals("application/resource-lists-diff+xml", tika.detect("x.rld"));
-        assertEquals("application/rls-services+xml", tika.detect("x.rs"));
-        assertEquals("application/rsd+xml", tika.detect("x.rsd"));
-        assertEquals("application/rss+xml", tika.detect("x.rss"));
-        assertEquals("application/rtf", tika.detect("x.rtf"));
-        assertEquals("application/sbml+xml", tika.detect("x.sbml"));
-        assertEquals("application/scvp-cv-request", tika.detect("x.scq"));
-        assertEquals("application/scvp-cv-response", tika.detect("x.scs"));
-        assertEquals("application/scvp-vp-request", tika.detect("x.spq"));
-        assertEquals("application/scvp-vp-response", tika.detect("x.spp"));
-        assertEquals("application/sdp", tika.detect("x.sdp"));
-        assertEquals("application/set-payment-initiation", tika.detect("x.setpay"));
-        assertEquals("application/set-registration-initiation", tika.detect("x.setreg"));
-        assertEquals("application/shf+xml", tika.detect("x.shf"));
-        assertEquals("application/smil+xml", tika.detect("x.smi"));
-        assertEquals("application/smil+xml", tika.detect("x.smil"));
-        assertEquals("application/sparql-query", tika.detect("x.rq"));
-        assertEquals("application/sparql-results+xml", tika.detect("x.srx"));
-        assertEquals("application/srgs", tika.detect("x.gram"));
-        assertEquals("application/srgs+xml", tika.detect("x.grxml"));
-        assertEquals("application/ssml+xml", tika.detect("x.ssml"));
-        assertEquals("application/vnd.3gpp.pic-bw-large", tika.detect("x.plb"));
-        assertEquals("application/vnd.3gpp.pic-bw-small", tika.detect("x.psb"));
-        assertEquals("application/vnd.3gpp.pic-bw-var", tika.detect("x.pvb"));
-        assertEquals("application/vnd.3gpp2.tcap", tika.detect("x.tcap"));
-        assertEquals("application/vnd.3m.post-it-notes", tika.detect("x.pwn"));
-        assertEquals("application/vnd.accpac.simply.aso", tika.detect("x.aso"));
-        assertEquals("application/vnd.accpac.simply.imp", tika.detect("x.imp"));
-        assertEquals("application/vnd.acucobol", tika.detect("x.acu"));
-        assertEquals("application/vnd.acucorp", tika.detect("x.atc"));
-        assertEquals("application/vnd.acucorp", tika.detect("x.acutc"));
-        assertEquals("application/vnd.adobe.air-application-installer-package+zip", tika.detect("x.air"));
-        assertEquals("application/vnd.adobe.xdp+xml", tika.detect("x.xdp"));
-        assertEquals("application/vnd.adobe.xfdf", tika.detect("x.xfdf"));
-        assertEquals("application/vnd.airzip.filesecure.azf", tika.detect("x.azf"));
-        assertEquals("application/vnd.airzip.filesecure.azs", tika.detect("x.azs"));
-        assertEquals("application/vnd.amazon.ebook", tika.detect("x.azw"));
-        assertEquals("application/vnd.americandynamics.acc", tika.detect("x.acc"));
-        assertEquals("application/vnd.amiga.ami", tika.detect("x.ami"));
-        assertEquals("application/vnd.android.package-archive", tika.detect("x.apk"));
-        assertEquals("application/vnd.anser-web-certificate-issue-initiation", tika.detect("x.cii"));
-        assertEquals("application/vnd.anser-web-funds-transfer-initiation", tika.detect("x.fti"));
-        assertEquals("application/vnd.antix.game-component", tika.detect("x.atx"));
-        assertEquals("application/vnd.apple.installer+xml", tika.detect("x.mpkg"));
-        assertEquals("application/vnd.arastra.swi", tika.detect("x.swi"));
-        assertEquals("application/vnd.audiograph", tika.detect("x.aep"));
-        assertEquals("application/vnd.blueice.multipass", tika.detect("x.mpm"));
-        assertEquals("application/vnd.bmi", tika.detect("x.bmi"));
-        assertEquals("application/vnd.businessobjects", tika.detect("x.rep"));
-        assertEquals("application/vnd.chemdraw+xml", tika.detect("x.cdxml"));
-        assertEquals("application/vnd.chipnuts.karaoke-mmd", tika.detect("x.mmd"));
-        assertEquals("application/vnd.cinderella", tika.detect("x.cdy"));
-        assertEquals("application/vnd.claymore", tika.detect("x.cla"));
-        assertEquals("application/vnd.clonk.c4group", tika.detect("x.c4g"));
-        assertEquals("application/vnd.clonk.c4group", tika.detect("x.c4d"));
-        assertEquals("application/vnd.clonk.c4group", tika.detect("x.c4f"));
-        assertEquals("application/vnd.clonk.c4group", tika.detect("x.c4p"));
-        assertEquals("application/vnd.clonk.c4group", tika.detect("x.c4u"));
-        assertEquals("application/vnd.commonspace", tika.detect("x.csp"));
-        assertEquals("application/vnd.contact.cmsg", tika.detect("x.cdbcmsg"));
-        assertEquals("application/vnd.cosmocaller", tika.detect("x.cmc"));
-        assertEquals("application/vnd.crick.clicker", tika.detect("x.clkx"));
-        assertEquals("application/vnd.crick.clicker.keyboard", tika.detect("x.clkk"));
-        assertEquals("application/vnd.crick.clicker.palette", tika.detect("x.clkp"));
-        assertEquals("application/vnd.crick.clicker.template", tika.detect("x.clkt"));
-        assertEquals("application/vnd.crick.clicker.wordbank", tika.detect("x.clkw"));
-        assertEquals("application/vnd.criticaltools.wbs+xml", tika.detect("x.wbs"));
-        assertEquals("application/vnd.ctc-posml", tika.detect("x.pml"));
-        assertEquals("application/vnd.cups-ppd", tika.detect("x.ppd"));
-        assertEquals("application/vnd.curl.car", tika.detect("x.car"));
-        assertEquals("application/vnd.curl.pcurl", tika.detect("x.pcurl"));
-        assertEquals("application/vnd.data-vision.rdz", tika.detect("x.rdz"));
-        assertEquals("application/vnd.denovo.fcselayout-link", tika.detect("x.fe_launch"));
-        assertEquals("application/vnd.dna", tika.detect("x.dna"));
-        assertEquals("application/vnd.dolby.mlp", tika.detect("x.mlp"));
-        assertEquals("application/vnd.dpgraph", tika.detect("x.dpg"));
-        assertEquals("application/vnd.dreamfactory", tika.detect("x.dfac"));
-        assertEquals("application/vnd.dynageo", tika.detect("x.geo"));
-        assertEquals("application/vnd.ecowin.chart", tika.detect("x.mag"));
-        assertEquals("application/vnd.enliven", tika.detect("x.nml"));
-        assertEquals("application/vnd.epson.esf", tika.detect("x.esf"));
-        assertEquals("application/vnd.epson.msf", tika.detect("x.msf"));
-        assertEquals("application/vnd.epson.quickanime", tika.detect("x.qam"));
-        assertEquals("application/vnd.epson.salt", tika.detect("x.slt"));
-        assertEquals("application/vnd.epson.ssf", tika.detect("x.ssf"));
-        assertEquals("application/vnd.eszigno3+xml", tika.detect("x.es3"));
-        assertEquals("application/vnd.eszigno3+xml", tika.detect("x.et3"));
-        assertEquals("application/vnd.ezpix-album", tika.detect("x.ez2"));
-        assertEquals("application/vnd.ezpix-package", tika.detect("x.ez3"));
-        assertEquals("application/vnd.fdf", tika.detect("x.fdf"));
-        assertEquals("application/vnd.fdsn.mseed", tika.detect("x.mseed"));
-        assertEquals("application/vnd.fdsn.seed", tika.detect("x.seed"));
-        assertEquals("application/vnd.fdsn.seed", tika.detect("x.dataless"));
-        assertEquals("application/vnd.flographit", tika.detect("x.gph"));
-        assertEquals("application/vnd.fluxtime.clip", tika.detect("x.ftc"));
-        assertEquals("application/vnd.framemaker", tika.detect("x.fm"));
-        assertEquals("application/vnd.framemaker", tika.detect("x.frame"));
-        assertEquals("application/vnd.framemaker", tika.detect("x.maker"));
-        assertEquals("application/vnd.framemaker", tika.detect("x.book"));
-        assertEquals("application/vnd.frogans.fnc", tika.detect("x.fnc"));
-        assertEquals("application/vnd.frogans.ltf", tika.detect("x.ltf"));
-        assertEquals("application/vnd.fsc.weblaunch", tika.detect("x.fsc"));
-        assertEquals("application/vnd.fujitsu.oasys", tika.detect("x.oas"));
-        assertEquals("application/vnd.fujitsu.oasys2", tika.detect("x.oa2"));
-        assertEquals("application/vnd.fujitsu.oasys3", tika.detect("x.oa3"));
-        assertEquals("application/vnd.fujitsu.oasysgp", tika.detect("x.fg5"));
-        assertEquals("application/vnd.fujitsu.oasysprs", tika.detect("x.bh2"));
-        assertEquals("application/vnd.fujixerox.ddd", tika.detect("x.ddd"));
-        assertEquals("application/vnd.fujixerox.docuworks", tika.detect("x.xdw"));
-        assertEquals("application/vnd.fujixerox.docuworks.binder", tika.detect("x.xbd"));
-        assertEquals("application/vnd.fuzzysheet", tika.detect("x.fzs"));
-        assertEquals("application/vnd.genomatix.tuxedo", tika.detect("x.txd"));
-        assertEquals("application/vnd.geogebra.file", tika.detect("x.ggb"));
-        assertEquals("application/vnd.geogebra.tool", tika.detect("x.ggt"));
-        assertEquals("application/vnd.geometry-explorer", tika.detect("x.gex"));
-        assertEquals("application/vnd.geometry-explorer", tika.detect("x.gre"));
-        assertEquals("application/vnd.gmx", tika.detect("x.gmx"));
-        assertEquals("application/vnd.google-earth.kml+xml", tika.detect("x.kml"));
-        assertEquals("application/vnd.google-earth.kmz", tika.detect("x.kmz"));
-        assertEquals("application/vnd.grafeq", tika.detect("x.gqf"));
-        assertEquals("application/vnd.grafeq", tika.detect("x.gqs"));
-        assertEquals("application/vnd.groove-account", tika.detect("x.gac"));
-        assertEquals("application/vnd.groove-help", tika.detect("x.ghf"));
-        assertEquals("application/vnd.groove-identity-message", tika.detect("x.gim"));
-        assertEquals("application/vnd.groove-injector", tika.detect("x.grv"));
-        assertEquals("application/vnd.groove-tool-message", tika.detect("x.gtm"));
-        assertEquals("application/vnd.groove-tool-template", tika.detect("x.tpl"));
-        assertEquals("application/vnd.groove-vcard", tika.detect("x.vcg"));
-        assertEquals("application/vnd.handheld-entertainment+xml", tika.detect("x.zmm"));
-        assertEquals("application/vnd.hbci", tika.detect("x.hbci"));
-        assertEquals("application/vnd.hhe.lesson-player", tika.detect("x.les"));
-        assertEquals("application/vnd.hp-hpgl", tika.detect("x.hpgl"));
-        assertEquals("application/vnd.hp-hpid", tika.detect("x.hpid"));
-        assertEquals("application/vnd.hp-hps", tika.detect("x.hps"));
-        assertEquals("application/vnd.hp-jlyt", tika.detect("x.jlt"));
-        assertEquals("application/vnd.hp-pcl", tika.detect("x.pcl"));
-        assertEquals("application/vnd.hp-pclxl", tika.detect("x.pclxl"));
-        assertEquals("application/vnd.hydrostatix.sof-data", tika.detect("x.sfd-hdstx"));
-        assertEquals("application/vnd.hzn-3d-crossword", tika.detect("x.x3d"));
-        assertEquals("application/vnd.ibm.minipay", tika.detect("x.mpy"));
-        assertEquals("application/vnd.ibm.modcap", tika.detect("x.afp"));
-        assertEquals("application/vnd.ibm.modcap", tika.detect("x.listafp"));
-        assertEquals("application/vnd.ibm.modcap", tika.detect("x.list3820"));
-        assertEquals("application/vnd.ibm.rights-management", tika.detect("x.irm"));
-        assertEquals("application/vnd.ibm.secure-container", tika.detect("x.sc"));
-        assertEquals("application/vnd.iccprofile", tika.detect("x.icc"));
-        assertEquals("application/vnd.iccprofile", tika.detect("x.icm"));
-        assertEquals("application/vnd.igloader", tika.detect("x.igl"));
-        assertEquals("application/vnd.immervision-ivp", tika.detect("x.ivp"));
-        assertEquals("application/vnd.immervision-ivu", tika.detect("x.ivu"));
-        assertEquals("application/vnd.intercon.formnet", tika.detect("x.xpw"));
-        assertEquals("application/vnd.intercon.formnet", tika.detect("x.xpx"));
-        assertEquals("application/vnd.intu.qbo", tika.detect("x.qbo"));
-        assertEquals("application/vnd.intu.qfx", tika.detect("x.qfx"));
-        assertEquals("application/vnd.ipunplugged.rcprofile", tika.detect("x.rcprofile"));
-        assertEquals("application/vnd.irepository.package+xml", tika.detect("x.irp"));
-        assertEquals("application/vnd.is-xpr", tika.detect("x.xpr"));
-        assertEquals("application/vnd.jam", tika.detect("x.jam"));
-        assertEquals("application/vnd.jcp.javame.midlet-rms", tika.detect("x.rms"));
-        assertEquals("application/vnd.jisp", tika.detect("x.jisp"));
-        assertEquals("application/vnd.joost.joda-archive", tika.detect("x.joda"));
-        assertEquals("application/vnd.kahootz", tika.detect("x.ktz"));
-        assertEquals("application/vnd.kahootz", tika.detect("x.ktr"));
-        assertEquals("application/vnd.kde.karbon", tika.detect("x.karbon"));
-        assertEquals("application/vnd.kde.kchart", tika.detect("x.chrt"));
-        assertEquals("application/vnd.kde.kformula", tika.detect("x.kfo"));
-        assertEquals("application/vnd.kde.kivio", tika.detect("x.flw"));
-        assertEquals("application/vnd.kde.kontour", tika.detect("x.kon"));
-        assertEquals("application/vnd.kde.kpresenter", tika.detect("x.kpr"));
-        assertEquals("application/vnd.kde.kpresenter", tika.detect("x.kpt"));
-        assertEquals("application/vnd.kde.kspread", tika.detect("x.ksp"));
-        assertEquals("application/vnd.kde.kword", tika.detect("x.kwd"));
-        assertEquals("application/vnd.kde.kword", tika.detect("x.kwt"));
-        assertEquals("application/vnd.kenameaapp", tika.detect("x.htke"));
-        assertEquals("application/vnd.kidspiration", tika.detect("x.kia"));
-        assertEquals("application/vnd.kinar", tika.detect("x.kne"));
-        assertEquals("application/vnd.kinar", tika.detect("x.knp"));
-        assertEquals("application/vnd.koan", tika.detect("x.skp"));
-        assertEquals("application/vnd.koan", tika.detect("x.skd"));
-        assertEquals("application/vnd.koan", tika.detect("x.skt"));
-        assertEquals("application/vnd.koan", tika.detect("x.skm"));
-        assertEquals("application/vnd.kodak-descriptor", tika.detect("x.sse"));
-        assertEquals("application/vnd.llamagraphics.life-balance.desktop", tika.detect("x.lbd"));
-        assertEquals("application/vnd.llamagraphics.life-balance.exchange+xml", tika.detect("x.lbe"));
-        assertEquals("application/vnd.lotus-1-2-3", tika.detect("x.123"));
-        assertEquals("application/vnd.lotus-approach", tika.detect("x.apr"));
-        assertEquals("application/vnd.lotus-freelance", tika.detect("x.pre"));
-        assertEquals("application/vnd.lotus-notes", tika.detect("x.nsf"));
-        assertEquals("application/vnd.lotus-organizer", tika.detect("x.org"));
-        assertEquals("application/vnd.lotus-screencam", tika.detect("x.scm"));
-        assertEquals("application/vnd.lotus-wordpro", tika.detect("x.lwp"));
-        assertEquals("application/vnd.macports.portpkg", tika.detect("x.portpkg"));
-        assertEquals("application/vnd.mcd", tika.detect("x.mcd"));
-        assertEquals("application/vnd.medcalcdata", tika.detect("x.mc1"));
-        assertEquals("application/vnd.mediastation.cdkey", tika.detect("x.cdkey"));
-        assertEquals("application/vnd.mfer", tika.detect("x.mwf"));
-        assertEquals("application/vnd.mfmp", tika.detect("x.mfm"));
-        assertEquals("application/vnd.micrografx.flo", tika.detect("x.flo"));
-        assertEquals("application/vnd.micrografx.igx", tika.detect("x.igx"));
-        assertEquals("application/vnd.mif", tika.detect("x.mif"));
-        assertEquals("application/vnd.mobius.daf", tika.detect("x.daf"));
-        assertEquals("application/vnd.mobius.dis", tika.detect("x.dis"));
-        assertEquals("application/vnd.mobius.mbk", tika.detect("x.mbk"));
-        assertEquals("application/vnd.mobius.mqy", tika.detect("x.mqy"));
-        assertEquals("application/vnd.mobius.msl", tika.detect("x.msl"));
-        assertEquals("application/vnd.mobius.plc", tika.detect("x.plc"));
-        assertEquals("application/vnd.mobius.txf", tika.detect("x.txf"));
-        assertEquals("application/vnd.mophun.application", tika.detect("x.mpn"));
-        assertEquals("application/vnd.mophun.certificate", tika.detect("x.mpc"));
-        assertEquals("application/vnd.mozilla.xul+xml", tika.detect("x.xul"));
-        assertEquals("application/vnd.ms-artgalry", tika.detect("x.cil"));
-        assertEquals("application/vnd.ms-cab-compressed", tika.detect("x.cab"));
-        assertEquals("application/vnd.ms-excel", tika.detect("x.xls"));
-        assertEquals("application/vnd.ms-excel", tika.detect("x.xlm"));
-        assertEquals("application/vnd.ms-excel", tika.detect("x.xla"));
-        assertEquals("application/vnd.ms-excel", tika.detect("x.xlc"));
-        assertEquals("application/vnd.ms-excel", tika.detect("x.xlt"));
-        assertEquals("application/vnd.ms-excel", tika.detect("x.xlw"));
-        assertEquals("application/vnd.ms-excel.addin.macroenabled.12", tika.detect("x.xlam"));
-        assertEquals("application/vnd.ms-excel.sheet.binary.macroenabled.12", tika.detect("x.xlsb"));
-        assertEquals("application/vnd.ms-excel.sheet.macroenabled.12", tika.detect("x.xlsm"));
-        assertEquals("application/vnd.ms-excel.template.macroenabled.12", tika.detect("x.xltm"));
-        assertEquals("application/vnd.ms-fontobject", tika.detect("x.eot"));
-        assertEquals("application/vnd.ms-htmlhelp", tika.detect("x.chm"));
-        assertEquals("application/vnd.ms-ims", tika.detect("x.ims"));
-        assertEquals("application/vnd.ms-lrm", tika.detect("x.lrm"));
-        assertEquals("application/vnd.ms-pki.seccat", tika.detect("x.cat"));
-        assertEquals("application/vnd.ms-pki.stl", tika.detect("x.stl"));
-        assertEquals("application/vnd.ms-powerpoint", tika.detect("x.ppt"));
-        assertEquals("application/vnd.ms-powerpoint", tika.detect("x.pps"));
-        assertEquals("application/vnd.ms-powerpoint", tika.detect("x.pot"));
-        assertEquals("application/vnd.ms-powerpoint.addin.macroenabled.12", tika.detect("x.ppam"));
-        assertEquals("application/vnd.ms-powerpoint.presentation.macroenabled.12", tika.detect("x.pptm"));
-        assertEquals("application/vnd.ms-powerpoint.slide.macroenabled.12", tika.detect("x.sldm"));
-        assertEquals("application/vnd.ms-powerpoint.slideshow.macroenabled.12", tika.detect("x.ppsm"));
-        assertEquals("application/vnd.ms-powerpoint.template.macroenabled.12", tika.detect("x.potm"));
-        assertEquals("application/vnd.ms-project", tika.detect("x.mpp"));
-        assertEquals("application/vnd.ms-project", tika.detect("x.mpt"));
-        assertEquals("application/vnd.ms-word.document.macroenabled.12", tika.detect("x.docm"));
-        assertEquals("application/vnd.ms-word.template.macroenabled.12", tika.detect("x.dotm"));
-        assertEquals("application/vnd.ms-works", tika.detect("x.wps"));
-        assertEquals("application/vnd.ms-works", tika.detect("x.wks"));
-        assertEquals("application/vnd.ms-works", tika.detect("x.wcm"));
-        assertEquals("application/vnd.ms-works", tika.detect("x.wdb"));
-        assertEquals("application/vnd.ms-wpl", tika.detect("x.wpl"));
-        assertEquals("application/vnd.ms-xpsdocument", tika.detect("x.xps"));
-        assertEquals("application/vnd.mseq", tika.detect("x.mseq"));
-        assertEquals("application/vnd.musician", tika.detect("x.mus"));
-        assertEquals("application/vnd.muvee.style", tika.detect("x.msty"));
-        assertEquals("application/vnd.neurolanguage.nlu", tika.detect("x.nlu"));
-        assertEquals("application/vnd.noblenet-directory", tika.detect("x.nnd"));
-        assertEquals("application/vnd.noblenet-sealer", tika.detect("x.nns"));
-        assertEquals("application/vnd.noblenet-web", tika.detect("x.nnw"));
-        assertEquals("application/vnd.nokia.n-gage.data", tika.detect("x.ngdat"));
-        assertEquals("application/vnd.nokia.n-gage.symbian.install", tika.detect("x.n-gage"));
-        assertEquals("application/vnd.nokia.radio-preset", tika.detect("x.rpst"));
-        assertEquals("application/vnd.nokia.radio-presets", tika.detect("x.rpss"));
-        assertEquals("application/vnd.novadigm.edm", tika.detect("x.edm"));
-        assertEquals("application/vnd.novadigm.edx", tika.detect("x.edx"));
-        assertEquals("application/vnd.novadigm.ext", tika.detect("x.ext"));
-        assertEquals("application/vnd.oasis.opendocument.chart", tika.detect("x.odc"));
-        assertEquals("application/vnd.oasis.opendocument.chart-template", tika.detect("x.otc"));
-        assertEquals("application/vnd.oasis.opendocument.database", tika.detect("x.odb"));
-        assertEquals("application/vnd.oasis.opendocument.formula", tika.detect("x.odf"));
-        assertEquals("application/vnd.oasis.opendocument.formula-template", tika.detect("x.odft"));
-        assertEquals("application/vnd.oasis.opendocument.graphics", tika.detect("x.odg"));
-        assertEquals("application/vnd.oasis.opendocument.graphics-template", tika.detect("x.otg"));
-        assertEquals("application/vnd.oasis.opendocument.image", tika.detect("x.odi"));
-        assertEquals("application/vnd.oasis.opendocument.image-template", tika.detect("x.oti"));
-        assertEquals("application/vnd.oasis.opendocument.presentation", tika.detect("x.odp"));
-        assertEquals("application/vnd.oasis.opendocument.presentation-template", tika.detect("x.otp"));
-        assertEquals("application/vnd.oasis.opendocument.spreadsheet", tika.detect("x.ods"));
-        assertEquals("application/vnd.oasis.opendocument.spreadsheet-template", tika.detect("x.ots"));
-        assertEquals("application/vnd.oasis.opendocument.text", tika.detect("x.odt"));
-        assertEquals("application/vnd.oasis.opendocument.text-master", tika.detect("x.otm"));
-        assertEquals("application/vnd.oasis.opendocument.text-template", tika.detect("x.ott"));
-        assertEquals("application/vnd.oasis.opendocument.text-web", tika.detect("x.oth"));
-        assertEquals("application/vnd.olpc-sugar", tika.detect("x.xo"));
-        assertEquals("application/vnd.oma.dd2+xml", tika.detect("x.dd2"));
-        assertEquals("application/vnd.openofficeorg.extension", tika.detect("x.oxt"));
-        assertEquals("application/vnd.openxmlformats-officedocument.presentationml.presentation", tika.detect("x.pptx"));
-        assertEquals("application/vnd.openxmlformats-officedocument.presentationml.slide", tika.detect("x.sldx"));
-        assertEquals("application/vnd.openxmlformats-officedocument.presentationml.slideshow", tika.detect("x.ppsx"));
-        assertEquals("application/vnd.openxmlformats-officedocument.presentationml.template", tika.detect("x.potx"));
-        assertEquals("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", tika.detect("x.xlsx"));
-        assertEquals("application/vnd.openxmlformats-officedocument.spreadsheetml.template", tika.detect("x.xltx"));
-        assertEquals("application/vnd.openxmlformats-officedocument.wordprocessingml.document", tika.detect("x.docx"));
-        assertEquals("application/vnd.openxmlformats-officedocument.wordprocessingml.template", tika.detect("x.dotx"));
-        assertEquals("application/vnd.osgi.dp", tika.detect("x.dp"));
-        assertEquals("application/vnd.palm", tika.detect("x.pdb"));
-        assertEquals("application/vnd.palm", tika.detect("x.pqa"));
-        assertEquals("application/vnd.palm", tika.detect("x.oprc"));
-        assertEquals("application/vnd.pg.format", tika.detect("x.str"));
-        assertEquals("application/vnd.pg.osasli", tika.detect("x.ei6"));
-        assertEquals("application/vnd.picsel", tika.detect("x.efif"));
-        assertEquals("application/vnd.pocketlearn", tika.detect("x.plf"));
-        assertEquals("application/vnd.powerbuilder6", tika.detect("x.pbd"));
-        assertEquals("application/vnd.previewsystems.box", tika.detect("x.box"));
-        assertEquals("application/vnd.proteus.magazine", tika.detect("x.mgz"));
-        assertEquals("application/vnd.publishare-delta-tree", tika.detect("x.qps"));
-        assertEquals("application/vnd.pvi.ptid1", tika.detect("x.ptid"));
-        assertEquals("application/vnd.quark.quarkxpress", tika.detect("x.qxd"));
-        assertEquals("application/vnd.quark.quarkxpress", tika.detect("x.qxt"));
-        assertEquals("application/vnd.quark.quarkxpress", tika.detect("x.qwd"));
-        assertEquals("application/vnd.quark.quarkxpress", tika.detect("x.qwt"));
-        assertEquals("application/vnd.quark.quarkxpress", tika.detect("x.qxl"));
-        assertEquals("application/vnd.quark.quarkxpress", tika.detect("x.qxb"));
-        assertEquals("application/vnd.recordare.musicxml", tika.detect("x.mxl"));
-        assertEquals("application/vnd.recordare.musicxml+xml", tika.detect("x.musicxml"));
-        assertEquals("application/vnd.rim.cod", tika.detect("x.cod"));
-        assertEquals("application/vnd.rn-realmedia", tika.detect("x.rm"));
-        assertEquals("application/vnd.route66.link66+xml", tika.detect("x.link66"));
-        assertEquals("application/vnd.seemail", tika.detect("x.see"));
-        assertEquals("application/vnd.sema", tika.detect("x.sema"));
-        assertEquals("application/vnd.semd", tika.detect("x.semd"));
-        assertEquals("application/vnd.semf", tika.detect("x.semf"));
-        assertEquals("application/vnd.shana.informed.formdata", tika.detect("x.ifm"));
-        assertEquals("application/vnd.shana.informed.formtemplate", tika.detect("x.itp"));
-        assertEquals("application/vnd.shana.informed.interchange", tika.detect("x.iif"));
-        assertEquals("application/vnd.shana.informed.package", tika.detect("x.ipk"));
-        assertEquals("application/vnd.simtech-mindmapper", tika.detect("x.twd"));
-        assertEquals("application/vnd.simtech-mindmapper", tika.detect("x.twds"));
-        assertEquals("application/vnd.smaf", tika.detect("x.mmf"));
-        assertEquals("application/vnd.smart.teacher", tika.detect("x.teacher"));
-        assertEquals("application/vnd.solent.sdkm+xml", tika.detect("x.sdkm"));
-        assertEquals("application/vnd.solent.sdkm+xml", tika.detect("x.sdkd"));
-        assertEquals("application/vnd.spotfire.dxp", tika.detect("x.dxp"));
-        assertEquals("application/vnd.spotfire.sfs", tika.detect("x.sfs"));
-        assertEquals("application/vnd.stardivision.calc", tika.detect("x.sdc"));
-        assertEquals("application/vnd.stardivision.draw", tika.detect("x.sda"));
-        assertEquals("application/vnd.stardivision.impress", tika.detect("x.sdd"));
-        assertEquals("application/vnd.stardivision.math", tika.detect("x.smf"));
-        assertEquals("application/vnd.stardivision.writer", tika.detect("x.sdw"));
-        assertEquals("application/x-staroffice-template", tika.detect("x.vor"));
-        assertEquals("application/vnd.stardivision.writer-global", tika.detect("x.sgl"));
-        assertEquals("application/vnd.sun.xml.calc", tika.detect("x.sxc"));
-        assertEquals("application/vnd.sun.xml.calc.template", tika.detect("x.stc"));
-        assertEquals("application/vnd.sun.xml.draw", tika.detect("x.sxd"));
-        assertEquals("application/vnd.sun.xml.draw.template", tika.detect("x.std"));
-        assertEquals("application/vnd.sun.xml.impress", tika.detect("x.sxi"));
-        assertEquals("application/vnd.sun.xml.impress.template", tika.detect("x.sti"));
-        assertEquals("application/vnd.sun.xml.math", tika.detect("x.sxm"));
-        assertEquals("application/vnd.sun.xml.writer", tika.detect("x.sxw"));
-        assertEquals("application/vnd.sun.xml.writer.global", tika.detect("x.sxg"));
-        assertEquals("application/vnd.sun.xml.writer.template", tika.detect("x.stw"));
-        assertEquals("application/vnd.sus-calendar", tika.detect("x.sus"));
-        assertEquals("application/vnd.sus-calendar", tika.detect("x.susp"));
-        assertEquals("application/vnd.svd", tika.detect("x.svd"));
-        assertEquals("application/vnd.symbian.install", tika.detect("x.sis"));
-        assertEquals("application/vnd.symbian.install", tika.detect("x.sisx"));
-        assertEquals("application/vnd.syncml+xml", tika.detect("x.xsm"));
-        assertEquals("application/vnd.syncml.dm+wbxml", tika.detect("x.bdm"));
-        assertEquals("application/vnd.syncml.dm+xml", tika.detect("x.xdm"));
-        assertEquals("application/vnd.tao.intent-module-archive", tika.detect("x.tao"));
-        assertEquals("application/vnd.tmobile-livetv", tika.detect("x.tmo"));
-        assertEquals("application/vnd.trid.tpt", tika.detect("x.tpt"));
-        assertEquals("application/vnd.triscape.mxs", tika.detect("x.mxs"));
-        assertEquals("application/vnd.trueapp", tika.detect("x.tra"));
-        assertEquals("application/vnd.ufdl", tika.detect("x.ufd"));
-        assertEquals("application/vnd.ufdl", tika.detect("x.ufdl"));
-        assertEquals("application/vnd.uiq.theme", tika.detect("x.utz"));
-        assertEquals("application/vnd.umajin", tika.detect("x.umj"));
-        assertEquals("application/vnd.unity", tika.detect("x.unityweb"));
-        assertEquals("application/vnd.uoml+xml", tika.detect("x.uoml"));
-        assertEquals("application/vnd.vcx", tika.detect("x.vcx"));
-        assertEquals("application/vnd.visio", tika.detect("x.vsd"));
-        assertEquals("application/vnd.visio", tika.detect("x.vst"));
-        assertEquals("application/vnd.visio", tika.detect("x.vss"));
-        assertEquals("application/vnd.visio", tika.detect("x.vsw"));
-        assertEquals("application/vnd.visionary", tika.detect("x.vis"));
-        assertEquals("application/vnd.vsf", tika.detect("x.vsf"));
-        assertEquals("application/vnd.wap.wbxml", tika.detect("x.wbxml"));
-        assertEquals("application/vnd.wap.wmlc", tika.detect("x.wmlc"));
-        assertEquals("application/vnd.wap.wmlscriptc", tika.detect("x.wmlsc"));
-        assertEquals("application/vnd.webturbo", tika.detect("x.wtb"));
-        assertEquals("application/vnd.wordperfect", tika.detect("x.wpd"));
-        assertEquals("application/vnd.wqd", tika.detect("x.wqd"));
-        assertEquals("application/vnd.wt.stf", tika.detect("x.stf"));
-        assertEquals("application/vnd.xara", tika.detect("x.xar"));
-        assertEquals("application/vnd.xfdl", tika.detect("x.xfdl"));
-        assertEquals("application/vnd.yamaha.hv-dic", tika.detect("x.hvd"));
-        assertEquals("application/vnd.yamaha.hv-script", tika.detect("x.hvs"));
-        assertEquals("application/vnd.yamaha.hv-voice", tika.detect("x.hvp"));
-        assertEquals("application/vnd.yamaha.openscoreformat", tika.detect("x.osf"));
-        assertEquals("application/vnd.yamaha.openscoreformat.osfpvg+xml", tika.detect("x.osfpvg"));
-        assertEquals("application/vnd.yamaha.smaf-audio", tika.detect("x.saf"));
-        assertEquals("application/vnd.yamaha.smaf-phrase", tika.detect("x.spf"));
-        assertEquals("application/vnd.yellowriver-custom-menu", tika.detect("x.cmp"));
-        assertEquals("application/vnd.zul", tika.detect("x.zir"));
-        assertEquals("application/vnd.zul", tika.detect("x.zirz"));
-        assertEquals("application/vnd.zzazz.deck+xml", tika.detect("x.zaz"));
-        assertEquals("application/voicexml+xml", tika.detect("x.vxml"));
-        assertEquals("application/winhlp", tika.detect("x.hlp"));
-        assertEquals("application/wsdl+xml", tika.detect("x.wsdl"));
-        assertEquals("application/wspolicy+xml", tika.detect("x.wspolicy"));
-        assertEquals("application/x-abiword", tika.detect("x.abw"));
-        assertEquals("application/x-ace-compressed", tika.detect("x.ace"));
-        assertEquals("application/x-authorware-bin", tika.detect("x.aab"));
-        assertEquals("application/x-authorware-bin", tika.detect("x.x32"));
-        assertEquals("application/x-authorware-bin", tika.detect("x.u32"));
-        assertEquals("application/x-authorware-bin", tika.detect("x.vox"));
-        assertEquals("application/x-authorware-map", tika.detect("x.aam"));
-        assertEquals("application/x-authorware-seg", tika.detect("x.aas"));
-        assertEquals("application/x-bcpio", tika.detect("x.bcpio"));
-        assertEquals("application/x-bittorrent", tika.detect("x.torrent"));
-        assertEquals("application/x-bzip", tika.detect("x.bz"));
-        assertEquals("application/x-bzip2", tika.detect("x.bz2"));
-        assertEquals("application/x-bzip2", tika.detect("x.boz"));
-        assertEquals("application/x-cdlink", tika.detect("x.vcd"));
-        assertEquals("application/x-chat", tika.detect("x.chat"));
-        assertEquals("application/x-chess-pgn", tika.detect("x.pgn"));
-        assertEquals("application/x-cpio", tika.detect("x.cpio"));
-        assertEquals("application/x-csh", tika.detect("x.csh"));
-        assertEquals("application/x-debian-package", tika.detect("x.deb"));
-        assertEquals("application/x-debian-package", tika.detect("x.udeb"));
-        assertEquals("application/x-director", tika.detect("x.dir"));
-        assertEquals("application/x-director", tika.detect("x.dcr"));
-        assertEquals("application/x-director", tika.detect("x.dxr"));
-        assertEquals("application/x-director", tika.detect("x.cst"));
-        assertEquals("application/x-director", tika.detect("x.cct"));
-        assertEquals("application/x-director", tika.detect("x.cxt"));
-        assertEquals("application/x-director", tika.detect("x.w3d"));
-        assertEquals("application/x-director", tika.detect("x.fgd"));
-        assertEquals("application/x-director", tika.detect("x.swa"));
-        assertEquals("application/x-doom", tika.detect("x.wad"));
-        assertEquals("application/x-dtbncx+xml", tika.detect("x.ncx"));
-        assertEquals("application/x-dtbook+xml", tika.detect("x.dtb"));
-        assertEquals("application/x-dtbresource+xml", tika.detect("x.res"));
-        assertEquals("application/x-dvi", tika.detect("x.dvi"));
-        assertEquals("application/x-font-bdf", tika.detect("x.bdf"));
-        assertEquals("application/x-font-ghostscript", tika.detect("x.gsf"));
-        assertEquals("application/x-font-linux-psf", tika.detect("x.psf"));
-        assertEquals("application/x-font-otf", tika.detect("x.otf"));
-        assertEquals("application/x-font-pcf", tika.detect("x.pcf"));
-        assertEquals("application/x-font-snf", tika.detect("x.snf"));
-        assertEquals("application/x-font-ttf", tika.detect("x.ttf"));
-        assertEquals("application/x-font-ttf", tika.detect("x.ttc"));
-        assertEquals("application/x-font-type1", tika.detect("x.pfa"));
-        assertEquals("application/x-font-type1", tika.detect("x.pfb"));
-        assertEquals("application/x-font-type1", tika.detect("x.pfm"));
-        assertEquals("application/x-font-type1", tika.detect("x.afm"));
-        assertEquals("application/x-futuresplash", tika.detect("x.spl"));
-        assertEquals("application/x-gnumeric", tika.detect("x.gnumeric"));
-        assertEquals("application/x-gtar", tika.detect("x.gtar"));
-        assertEquals("application/x-hdf", tika.detect("x.hdf"));
-        assertEquals("application/x-java-jnlp-file", tika.detect("x.jnlp"));
-        assertEquals("application/x-latex", tika.detect("x.latex"));
-        assertEquals("application/x-mobipocket-ebook", tika.detect("x.prc"));
-        assertEquals("application/x-mobipocket-ebook", tika.detect("x.mobi"));
-        assertEquals("application/x-ms-application", tika.detect("x.application"));
-        assertEquals("application/x-ms-wmd", tika.detect("x.wmd"));
-        assertEquals("application/x-ms-wmz", tika.detect("x.wmz"));
-        assertEquals("application/x-ms-xbap", tika.detect("x.xbap"));
-        assertEquals("application/x-msaccess", tika.detect("x.mdb"));
-        assertEquals("application/x-msbinder", tika.detect("x.obd"));
-        assertEquals("application/x-mscardfile", tika.detect("x.crd"));
-        assertEquals("application/x-msclip", tika.detect("x.clp"));
-        assertEquals("application/x-msdownload", tika.detect("x.exe"));
-        assertEquals("application/x-msdownload", tika.detect("x.dll"));
-        assertEquals("application/x-msdownload", tika.detect("x.com"));
-        assertEquals("application/x-msdownload", tika.detect("x.bat"));
-        assertEquals("application/x-msdownload", tika.detect("x.msi"));
-        assertEquals("application/x-msmediaview", tika.detect("x.mvb"));
-        assertEquals("application/x-msmediaview", tika.detect("x.m13"));
-        assertEquals("application/x-msmediaview", tika.detect("x.m14"));
-        assertEquals("application/x-msmetafile", tika.detect("x.wmf"));
-        assertEquals("application/x-msmoney", tika.detect("x.mny"));
-        assertEquals("application/x-mspublisher", tika.detect("x.pub"));
-        assertEquals("application/x-msschedule", tika.detect("x.scd"));
-        assertEquals("application/x-msterminal", tika.detect("x.trm"));
-        assertEquals("application/x-mswrite", tika.detect("x.wri"));
-        assertEquals("application/x-netcdf", tika.detect("x.nc"));
-        assertEquals("application/x-netcdf", tika.detect("x.cdf"));
-        assertEquals("application/x-pkcs12", tika.detect("x.p12"));
-        assertEquals("application/x-pkcs12", tika.detect("x.pfx"));
-        assertEquals("application/x-pkcs7-certificates", tika.detect("x.p7b"));
-        assertEquals("application/x-pkcs7-certificates", tika.detect("x.spc"));
-        assertEquals("application/x-pkcs7-certreqresp", tika.detect("x.p7r"));
-        assertEquals("application/x-rar-compressed", tika.detect("x.rar"));
-        assertEquals("application/x-sh", tika.detect("x.sh"));
-        assertEquals("application/x-shar", tika.detect("x.shar"));
-        assertEquals("application/x-shockwave-flash", tika.detect("x.swf"));
-        assertEquals("application/x-silverlight-app", tika.detect("x.xap"));
-        assertEquals("application/x-stuffit", tika.detect("x.sit"));
-        assertEquals("application/x-stuffitx", tika.detect("x.sitx"));
-        assertEquals("application/x-sv4cpio", tika.detect("x.sv4cpio"));
-        assertEquals("application/x-sv4crc", tika.detect("x.sv4crc"));
-        assertEquals("application/x-tar", tika.detect("x.tar"));
-        assertEquals("application/x-tcl", tika.detect("x.tcl"));
-        assertEquals("application/x-tex", tika.detect("x.tex"));
-        assertEquals("application/x-tex-tfm", tika.detect("x.tfm"));
-        assertEquals("application/x-texinfo", tika.detect("x.texinfo"));
-        assertEquals("application/x-texinfo", tika.detect("x.texi"));
-        assertEquals("application/x-ustar", tika.detect("x.ustar"));
-        assertEquals("application/x-wais-source", tika.detect("x.src"));
-        assertEquals("application/x-x509-ca-cert", tika.detect("x.der"));
-        assertEquals("application/x-x509-ca-cert", tika.detect("x.crt"));
-        assertEquals("application/x-xfig", tika.detect("x.fig"));
-        assertEquals("application/x-xpinstall", tika.detect("x.xpi"));
-        assertEquals("application/xenc+xml", tika.detect("x.xenc"));
-        assertEquals("application/xhtml+xml", tika.detect("x.xhtml"));
-        assertEquals("application/xhtml+xml", tika.detect("x.xht"));
-        assertEquals("application/xml", tika.detect("x.xml"));
-        assertEquals("application/xml", tika.detect("x.xsl"));
-        assertEquals("application/xml-dtd", tika.detect("x.dtd"));
-        assertEquals("application/xop+xml", tika.detect("x.xop"));
-        assertEquals("application/xslt+xml", tika.detect("x.xslt"));
-        assertEquals("application/xspf+xml", tika.detect("x.xspf"));
-        assertEquals("application/xv+xml", tika.detect("x.mxml"));
-        assertEquals("application/xv+xml", tika.detect("x.xhvml"));
-        assertEquals("application/xv+xml", tika.detect("x.xvml"));
-        assertEquals("application/xv+xml", tika.detect("x.xvm"));
-        assertEquals("application/zip", tika.detect("x.zip"));
-        assertEquals("audio/adpcm", tika.detect("x.adp"));
-        assertEquals("audio/basic", tika.detect("x.au"));
-        assertEquals("audio/basic", tika.detect("x.snd"));
-        assertEquals("audio/midi", tika.detect("x.mid"));
-        assertEquals("audio/midi", tika.detect("x.midi"));
-        assertEquals("audio/midi", tika.detect("x.kar"));
-        assertEquals("audio/midi", tika.detect("x.rmi"));
-        assertEquals("audio/mp4", tika.detect("x.mp4a"));
-        assertEquals("audio/mpeg", tika.detect("x.mpga"));
-        assertEquals("audio/mpeg", tika.detect("x.mp2"));
-        assertEquals("audio/mpeg", tika.detect("x.mp2a"));
-        assertEquals("audio/mpeg", tika.detect("x.mp3"));
-        assertEquals("audio/mpeg", tika.detect("x.m2a"));
-        assertEquals("audio/mpeg", tika.detect("x.m3a"));
-        assertEquals("audio/ogg", tika.detect("x.oga"));
-        assertEquals("audio/ogg", tika.detect("x.ogg"));
-        assertEquals("audio/ogg", tika.detect("x.spx"));
-        assertEquals("audio/vnd.digital-winds", tika.detect("x.eol"));
-        assertEquals("audio/vnd.dts", tika.detect("x.dts"));
-        assertEquals("audio/vnd.dts.hd", tika.detect("x.dtshd"));
-        assertEquals("audio/vnd.lucent.voice", tika.detect("x.lvp"));
-        assertEquals("audio/vnd.ms-playready.media.pya", tika.detect("x.pya"));
-        assertEquals("audio/vnd.nuera.ecelp4800", tika.detect("x.ecelp4800"));
-        assertEquals("audio/vnd.nuera.ecelp7470", tika.detect("x.ecelp7470"));
-        assertEquals("audio/vnd.nuera.ecelp9600", tika.detect("x.ecelp9600"));
-        assertEquals("audio/x-aac", tika.detect("x.aac"));
-        assertEquals("audio/x-aiff", tika.detect("x.aif"));
-        assertEquals("audio/x-aiff", tika.detect("x.aiff"));
-        assertEquals("audio/x-aiff", tika.detect("x.aifc"));
-        assertEquals("audio/x-mpegurl", tika.detect("x.m3u"));
-        assertEquals("audio/x-ms-wax", tika.detect("x.wax"));
-        assertEquals("audio/x-ms-wma", tika.detect("x.wma"));
-        assertEquals("audio/x-pn-realaudio", tika.detect("x.ram"));
-        assertEquals("audio/x-pn-realaudio", tika.detect("x.ra"));
-        assertEquals("audio/x-pn-realaudio-plugin", tika.detect("x.rmp"));
-        assertEquals("audio/x-wav", tika.detect("x.wav"));
-        assertEquals("chemical/x-cdx", tika.detect("x.cdx"));
-        assertEquals("chemical/x-cif", tika.detect("x.cif"));
-        assertEquals("chemical/x-cmdf", tika.detect("x.cmdf"));
-        assertEquals("chemical/x-cml", tika.detect("x.cml"));
-        assertEquals("chemical/x-csml", tika.detect("x.csml"));
-        assertEquals("chemical/x-xyz", tika.detect("x.xyz"));
-        assertEquals("image/x-ms-bmp", tika.detect("x.bmp"));
-        assertEquals("image/cgm", tika.detect("x.cgm"));
-        assertEquals("image/g3fax", tika.detect("x.g3"));
-        assertEquals("image/gif", tika.detect("x.gif"));
-        assertEquals("image/ief", tika.detect("x.ief"));
-        assertEquals("image/jpeg", tika.detect("x.jpeg"));
-        assertEquals("image/jpeg", tika.detect("x.jpg"));
-        assertEquals("image/jpeg", tika.detect("x.jpe"));
-        assertEquals("image/png", tika.detect("x.png"));
-        assertEquals("image/prs.btif", tika.detect("x.btif"));
-        assertEquals("image/svg+xml", tika.detect("x.svg"));
-        assertEquals("image/svg+xml", tika.detect("x.svgz"));
-        assertEquals("image/tiff", tika.detect("x.tiff"));
-        assertEquals("image/tiff", tika.detect("x.tif"));
-        assertEquals("image/vnd.adobe.photoshop", tika.detect("x.psd"));
-        assertEquals("image/vnd.djvu", tika.detect("x.djvu"));
-        assertEquals("image/vnd.djvu", tika.detect("x.djv"));
-        assertEquals("image/vnd.dwg", tika.detect("x.dwg"));
-        assertEquals("image/vnd.dxf", tika.detect("x.dxf"));
-        assertEquals("image/vnd.fastbidsheet", tika.detect("x.fbs"));
-        assertEquals("image/vnd.fpx", tika.detect("x.fpx"));
-        assertEquals("image/vnd.fst", tika.detect("x.fst"));
-        assertEquals("image/vnd.fujixerox.edmics-mmr", tika.detect("x.mmr"));
-        assertEquals("image/vnd.fujixerox.edmics-rlc", tika.detect("x.rlc"));
-        assertEquals("image/vnd.ms-modi", tika.detect("x.mdi"));
-        assertEquals("image/vnd.net-fpx", tika.detect("x.npx"));
-        assertEquals("image/vnd.wap.wbmp", tika.detect("x.wbmp"));
-        assertEquals("image/vnd.xiff", tika.detect("x.xif"));
-        assertEquals("image/x-cmu-raster", tika.detect("x.ras"));
-        assertEquals("image/x-cmx", tika.detect("x.cmx"));
-        assertEquals("image/x-freehand", tika.detect("x.fh"));
-        assertEquals("image/x-freehand", tika.detect("x.fhc"));
-        assertEquals("image/x-freehand", tika.detect("x.fh4"));
-        assertEquals("image/x-freehand", tika.detect("x.fh5"));
-        assertEquals("image/x-freehand", tika.detect("x.fh7"));
-        assertEquals("image/x-icon", tika.detect("x.ico"));
-        assertEquals("image/x-pcx", tika.detect("x.pcx"));
-        assertEquals("image/x-pict", tika.detect("x.pic"));
-        assertEquals("image/x-pict", tika.detect("x.pct"));
-        assertEquals("image/x-portable-anymap", tika.detect("x.pnm"));
-        assertEquals("image/x-portable-bitmap", tika.detect("x.pbm"));
-        assertEquals("image/x-portable-graymap", tika.detect("x.pgm"));
-        assertEquals("image/x-portable-pixmap", tika.detect("x.ppm"));
-        assertEquals("image/x-rgb", tika.detect("x.rgb"));
-        assertEquals("image/x-xbitmap", tika.detect("x.xbm"));
-        assertEquals("image/x-xpixmap", tika.detect("x.xpm"));
-        assertEquals("image/x-xwindowdump", tika.detect("x.xwd"));
-        assertEquals("message/rfc822", tika.detect("x.eml"));
-        assertEquals("message/rfc822", tika.detect("x.mime"));
-        assertEquals("model/iges", tika.detect("x.igs"));
-        assertEquals("model/iges", tika.detect("x.iges"));
-        assertEquals("model/mesh", tika.detect("x.msh"));
-        assertEquals("model/mesh", tika.detect("x.mesh"));
-        assertEquals("model/mesh", tika.detect("x.silo"));
-        assertEquals("model/vnd.dwf", tika.detect("x.dwf"));
-        assertEquals("model/vnd.gdl", tika.detect("x.gdl"));
-        assertEquals("model/vnd.gtw", tika.detect("x.gtw"));
-        assertEquals("model/vnd.mts", tika.detect("x.mts"));
-        assertEquals("model/vnd.vtu", tika.detect("x.vtu"));
-        assertEquals("model/vrml", tika.detect("x.wrl"));
-        assertEquals("model/vrml", tika.detect("x.vrml"));
-        assertEquals("text/calendar", tika.detect("x.ics"));
-        assertEquals("text/calendar", tika.detect("x.ifb"));
-        assertEquals("text/css", tika.detect("x.css"));
-        assertEquals("text/csv", tika.detect("x.csv"));
-        assertEquals("text/html", tika.detect("x.html"));
-        assertEquals("text/html", tika.detect("x.htm"));
-        assertEquals("text/plain", tika.detect("x.txt"));
-        assertEquals("text/plain", tika.detect("x.text"));
-        assertEquals("text/plain", tika.detect("x.conf"));
-        assertEquals("text/plain", tika.detect("x.def"));
-        assertEquals("text/plain", tika.detect("x.list"));
-        assertEquals("text/plain", tika.detect("x.log"));
-        assertEquals("text/plain", tika.detect("x.in"));
-        assertEquals("text/prs.lines.tag", tika.detect("x.dsc"));
-        assertEquals("text/richtext", tika.detect("x.rtx"));
-        assertEquals("text/sgml", tika.detect("x.sgml"));
-        assertEquals("text/sgml", tika.detect("x.sgm"));
-        assertEquals("text/tab-separated-values", tika.detect("x.tsv"));
-        assertEquals("text/troff", tika.detect("x.t"));
-        assertEquals("text/troff", tika.detect("x.tr"));
-        assertEquals("text/troff", tika.detect("x.roff"));
-        assertEquals("text/troff", tika.detect("x.man"));
-        assertEquals("text/troff", tika.detect("x.me"));
-        assertEquals("text/troff", tika.detect("x.ms"));
-        assertEquals("text/uri-list", tika.detect("x.uri"));
-        assertEquals("text/uri-list", tika.detect("x.uris"));
-        assertEquals("text/uri-list", tika.detect("x.urls"));
-        assertEquals("text/vnd.curl", tika.detect("x.curl"));
-        assertEquals("text/vnd.curl.dcurl", tika.detect("x.dcurl"));
-        assertEquals("text/vnd.curl.scurl", tika.detect("x.scurl"));
-        assertEquals("text/vnd.curl.mcurl", tika.detect("x.mcurl"));
-        assertEquals("text/vnd.fly", tika.detect("x.fly"));
-        assertEquals("text/vnd.fmi.flexstor", tika.detect("x.flx"));
-        assertEquals("text/vnd.graphviz", tika.detect("x.gv"));
-        assertEquals("text/vnd.in3d.3dml", tika.detect("x.3dml"));
-        assertEquals("text/vnd.in3d.spot", tika.detect("x.spot"));
-        assertEquals("text/vnd.sun.j2me.app-descriptor", tika.detect("x.jad"));
-        assertEquals("text/vnd.wap.wml", tika.detect("x.wml"));
-        assertEquals("text/vnd.wap.wmlscript", tika.detect("x.wmls"));
-        assertEquals("text/x-asm", tika.detect("x.s"));
-        assertEquals("text/x-asm", tika.detect("x.asm"));
-        assertEquals("text/x-c", tika.detect("x.c"));
-        assertEquals("text/x-c", tika.detect("x.cc"));
-        assertEquals("text/x-c", tika.detect("x.cxx"));
-        assertEquals("text/x-c", tika.detect("x.cpp"));
-        assertEquals("text/x-c", tika.detect("x.h"));
-        assertEquals("text/x-c", tika.detect("x.hh"));
-        assertEquals("text/x-c", tika.detect("x.dic"));
-        assertEquals("text/x-fortran", tika.detect("x.f"));
-        assertEquals("text/x-fortran", tika.detect("x.for"));
-        assertEquals("text/x-fortran", tika.detect("x.f77"));
-        assertEquals("text/x-fortran", tika.detect("x.f90"));
-        assertEquals("text/x-pascal", tika.detect("x.p"));
-        assertEquals("text/x-pascal", tika.detect("x.pas"));
-        assertEquals("text/x-java-source", tika.detect("x.java"));
-        assertEquals("text/x-setext", tika.detect("x.etx"));
-        assertEquals("text/x-uuencode", tika.detect("x.uu"));
-        assertEquals("text/x-vcalendar", tika.detect("x.vcs"));
-        assertEquals("text/x-vcard", tika.detect("x.vcf"));
-        assertEquals("video/3gpp", tika.detect("x.3gp"));
-        assertEquals("video/3gpp2", tika.detect("x.3g2"));
-        assertEquals("video/h261", tika.detect("x.h261"));
-        assertEquals("video/h263", tika.detect("x.h263"));
-        assertEquals("video/h264", tika.detect("x.h264"));
-        assertEquals("video/jpeg", tika.detect("x.jpgv"));
-        assertEquals("video/jpm", tika.detect("x.jpm"));
-        assertEquals("video/jpm", tika.detect("x.jpgm"));
-        assertEquals("video/mj2", tika.detect("x.mj2"));
-        assertEquals("video/mj2", tika.detect("x.mjp2"));
-        assertEquals("video/mp4", tika.detect("x.mp4"));
-        assertEquals("video/mp4", tika.detect("x.mp4v"));
-        assertEquals("video/mp4", tika.detect("x.mpg4"));
-        assertEquals("video/mpeg", tika.detect("x.mpeg"));
-        assertEquals("video/mpeg", tika.detect("x.mpg"));
-        assertEquals("video/mpeg", tika.detect("x.mpe"));
-        assertEquals("video/mpeg", tika.detect("x.m1v"));
-        assertEquals("video/mpeg", tika.detect("x.m2v"));
-        assertEquals("video/ogg", tika.detect("x.ogv"));
-        assertEquals("video/quicktime", tika.detect("x.qt"));
-        assertEquals("video/quicktime", tika.detect("x.mov"));
-        assertEquals("video/vnd.fvt", tika.detect("x.fvt"));
-        assertEquals("video/vnd.mpegurl", tika.detect("x.mxu"));
-        assertEquals("video/vnd.mpegurl", tika.detect("x.m4u"));
-        assertEquals("video/vnd.ms-playready.media.pyv", tika.detect("x.pyv"));
-        assertEquals("video/vnd.vivo", tika.detect("x.viv"));
-        assertEquals("video/x-f4v", tika.detect("x.f4v"));
-        assertEquals("video/x-fli", tika.detect("x.fli"));
-        assertEquals("video/x-flv", tika.detect("x.flv"));
-        assertEquals("video/x-m4v", tika.detect("x.m4v"));
-        assertEquals("video/x-ms-asf", tika.detect("x.asf"));
-        assertEquals("video/x-ms-asf", tika.detect("x.asx"));
-        assertEquals("video/x-ms-wm", tika.detect("x.wm"));
-        assertEquals("video/x-ms-wmv", tika.detect("x.wmv"));
-        assertEquals("video/x-ms-wmx", tika.detect("x.wmx"));
-        assertEquals("video/x-ms-wvx", tika.detect("x.wvx"));
-        assertEquals("video/x-msvideo", tika.detect("x.avi"));
-        assertEquals("video/x-sgi-movie", tika.detect("x.movie"));
-        assertEquals("x-conference/x-cooltalk", tika.detect("x.ice"));
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/TypeDetectionBenchmark.java b/trunk/tika-core/src/test/java/org/apache/tika/TypeDetectionBenchmark.java
deleted file mode 100644
index 25f5d15..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/TypeDetectionBenchmark.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-
-import org.apache.tika.io.IOUtils;
-
-public class TypeDetectionBenchmark {
-
-    private static final Tika tika = new Tika();
-
-    public static void main(String[] args) throws Exception {
-        long start = System.currentTimeMillis();
-        if (args.length > 0) {
-            for (String arg : args) {
-                benchmark(new File(arg));
-            }
-        } else {
-            benchmark(new File(
-                    "../tika-parsers/src/test/resources/test-documents"));
-        }
-        System.out.println(
-                "Total benchmark time: "
-                + (System.currentTimeMillis() - start) + "ms");
-    }
-
-    private static void benchmark(File file) throws Exception {
-        if (file.isHidden()) {
-            // ignore
-        } else if (file.isFile()) {
-            InputStream input = new FileInputStream(file);
-            try {
-                byte[] content = IOUtils.toByteArray(input);
-                String type =
-                    tika.detect(new ByteArrayInputStream(content));
-                long start = System.currentTimeMillis();
-                for (int i = 0; i < 1000; i++) {
-                    tika.detect(new ByteArrayInputStream(content));
-                }
-                System.out.printf(
-                        "%6dns per Tika.detect(%s) = %s%n",
-                        System.currentTimeMillis() - start, file, type);
-            } finally {
-                input.close();
-            }
-        } else if (file.isDirectory()) {
-            for (File child : file.listFiles()) {
-                benchmark(child);
-            }
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/detect/MagicDetectorTest.java b/trunk/tika-core/src/test/java/org/apache/tika/detect/MagicDetectorTest.java
deleted file mode 100644
index 18d842f..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/detect/MagicDetectorTest.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-
-/**
- * Test cases for the {@link MagicDetector} class.
- */
-public class MagicDetectorTest extends TestCase {
-
-    public void testDetectNull() throws Exception {
-        MediaType html = new MediaType("text", "html");
-        Detector detector = new MagicDetector(html, "<html".getBytes("ASCII"));
-        assertEquals(
-                MediaType.OCTET_STREAM,
-                detector.detect(null, new Metadata()));
-    }
-
-    public void testDetectSimple() throws Exception {
-        MediaType html = new MediaType("text", "html");
-        Detector detector = new MagicDetector(html, "<html".getBytes("ASCII"));
-
-        assertDetect(detector, html, "<html");
-        assertDetect(detector, html, "<html><head/><body/></html>");
-        assertDetect(detector, MediaType.OCTET_STREAM, "<HTML");
-        assertDetect(detector, MediaType.OCTET_STREAM, "<?xml?><html");
-        assertDetect(detector, MediaType.OCTET_STREAM, " <html");
-        assertDetect(detector, MediaType.OCTET_STREAM, "");
-    }
-
-    public void testDetectOffsetRange() throws Exception {
-        MediaType html = new MediaType("text", "html");
-        Detector detector = new MagicDetector(
-                html, "<html".getBytes("ASCII"), null, 0, 64);
-
-        assertDetect(detector, html, "<html");
-        assertDetect(detector, html, "<html><head/><body/></html>");
-        assertDetect(detector, html, "<?xml?><html/>");
-        assertDetect(detector, html, "\n    <html");
-        assertDetect(detector, html, "\u0000<html");
-        assertDetect(detector, MediaType.OCTET_STREAM, "<htm");
-        assertDetect(detector, MediaType.OCTET_STREAM, " html");
-        assertDetect(detector, MediaType.OCTET_STREAM, "<HTML");
-
-        assertDetect(detector, html,
-                "0........1.........2.........3.........4.........5.........6"
-                + "1234<html");
-        assertDetect(detector, MediaType.OCTET_STREAM,
-                "0........1.........2.........3.........4.........5.........6"
-                + "12345<html");
-
-        assertDetect(detector, MediaType.OCTET_STREAM, "");
-}
-
-    public void testDetectMask() throws Exception {
-        MediaType html = new MediaType("text", "html");
-        byte up = (byte) 0xdf;
-        Detector detector = new MagicDetector(
-                html,
-                new byte[] { '<',  'H',  'T',  'M',  'L' },
-                new byte[] { (byte) 0xff, up, up, up, up },
-                0, 64);
-
-        assertDetect(detector, html, "<html");
-        assertDetect(detector, html, "<HTML><head/><body/></html>");
-        assertDetect(detector, html, "<?xml?><HtMl/>");
-        assertDetect(detector, html, "\n    <html");
-        assertDetect(detector, html, "\u0000<HTML");
-        assertDetect(detector, MediaType.OCTET_STREAM, "<htm");
-        assertDetect(detector, MediaType.OCTET_STREAM, " html");
-
-        assertDetect(detector, html,
-                "0        1         2         3         4         5         6"
-                + "1234<html");
-        assertDetect(detector, MediaType.OCTET_STREAM,
-                "0        1         2         3         4         5         6"
-                + "12345<html");
-
-        assertDetect(detector, MediaType.OCTET_STREAM, "");
-    }
-
-    private void assertDetect(Detector detector, MediaType type, String data) {
-        try {
-            byte[] bytes = data.getBytes("ASCII");
-            InputStream stream = new ByteArrayInputStream(bytes);
-            assertEquals(type, detector.detect(stream, new Metadata()));
-
-            // Test that the stream has been reset
-            for (int i = 0; i < bytes.length; i++) {
-                assertEquals(bytes[i], (byte) stream.read());
-            }
-            assertEquals(-1, stream.read());
-        } catch (IOException e) {
-            fail("Unexpected exception from MagicDetector");
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/detect/NameDetectorTest.java b/trunk/tika-core/src/test/java/org/apache/tika/detect/NameDetectorTest.java
deleted file mode 100644
index 41d7bef..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/detect/NameDetectorTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.regex.Pattern;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-
-import junit.framework.TestCase;
-
-/**
- * Test cases for the {@link NameDetector} class.
- */
-public class NameDetectorTest extends TestCase {
-
-    private Detector detector;
-
-    protected void setUp() {
-        Map<Pattern, MediaType> patterns = new HashMap<Pattern, MediaType>();
-        patterns.put(
-                Pattern.compile(".*\\.txt", Pattern.CASE_INSENSITIVE),
-                MediaType.TEXT_PLAIN);
-        patterns.put(Pattern.compile("README"), MediaType.TEXT_PLAIN);
-        detector = new NameDetector(patterns);
-    }
-
-    public void testDetect() {
-        assertDetect(MediaType.TEXT_PLAIN, "text.txt");
-        assertDetect(MediaType.TEXT_PLAIN, "text.txt ");    // trailing space
-        assertDetect(MediaType.TEXT_PLAIN, "text.txt\n");   // trailing newline
-        assertDetect(MediaType.TEXT_PLAIN, "text.txt?a=b"); // URL query
-        assertDetect(MediaType.TEXT_PLAIN, "text.txt#abc"); // URL fragment
-        assertDetect(MediaType.TEXT_PLAIN, "text%2Etxt");   // URL encoded
-        assertDetect(MediaType.TEXT_PLAIN, "text.TXT");     // case insensitive
-        assertDetect(MediaType.OCTET_STREAM, "text.txt.gz");
-
-        assertDetect(MediaType.TEXT_PLAIN, "README");
-        assertDetect(MediaType.TEXT_PLAIN, " README ");     // space around
-        assertDetect(MediaType.TEXT_PLAIN, "\tREADME\n");   // other whitespace
-        assertDetect(MediaType.TEXT_PLAIN, "/a/README");    // leading path
-        assertDetect(MediaType.TEXT_PLAIN, "\\b\\README");  // windows path
-        assertDetect(MediaType.OCTET_STREAM, "ReadMe");     // case sensitive
-        assertDetect(MediaType.OCTET_STREAM, "README.NOW");
-
-        // tough one
-        assertDetect(
-                MediaType.TEXT_PLAIN,
-                " See http://www.example.com:1234/README.txt?a=b#c \n");
-        assertDetect(MediaType.TEXT_PLAIN, "See README.txt"); // even this!
-        assertDetect(MediaType.OCTET_STREAM, "See README");   // but not this
-
-        // test also the zero input cases
-        assertDetect(MediaType.OCTET_STREAM, "");
-        assertDetect(MediaType.OCTET_STREAM, null);
-        try {
-            assertEquals(
-                    MediaType.OCTET_STREAM,
-                    detector.detect(null, new Metadata()));
-        } catch (IOException e) {
-            fail("NameDetector should never throw an IOException");
-        }
-    }
-
-    private void assertDetect(MediaType type, String name){
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.RESOURCE_NAME_KEY, name);
-        try {
-            assertEquals(type, detector.detect(null, metadata));
-        } catch (IOException e) {
-            fail("NameDetector should never throw an IOException");
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/detect/TextDetectorTest.java b/trunk/tika-core/src/test/java/org/apache/tika/detect/TextDetectorTest.java
deleted file mode 100644
index b2fda0c..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/detect/TextDetectorTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-
-/**
- * Test cases for the {@link TextDetector} class.
- */
-public class TextDetectorTest extends TestCase {
-
-    private final Detector detector = new TextDetector();
-
-    public void testDetectNull() throws Exception {
-        assertEquals(
-                MediaType.OCTET_STREAM,
-                detector.detect(null, new Metadata()));
-    }
-
-    /**
-     * Test for type detection of empty documents.
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-483">TIKA-483</a>
-     */
-    public void testDetectEmpty() throws Exception {
-        assertNotText(new byte[0]);
-    }
-
-    public void testDetectText() throws Exception {
-        assertText("Hello, World!".getBytes("UTF-8"));
-        assertText(" \t\r\n".getBytes("UTF-8"));
-        assertText(new byte[] { -1, -2, -3, 0x09, 0x0A, 0x0C, 0x0D, 0x1B });
-        assertNotText(new byte[] { 0 });
-        assertNotText(new byte[] { 'H', 'e', 'l', 'l', 'o', 0 });
-
-        byte[] data = new byte[512];
-        Arrays.fill(data, (byte) '.');
-        assertText(data);
-        Arrays.fill(data, (byte) 0x1f);
-        assertNotText(data);
-
-        data = new byte[513];
-        Arrays.fill(data, (byte) '.');
-        assertText(data);
-        Arrays.fill(data, (byte) 0x1f);
-        assertNotText(data);
-    }
-
-    private void assertText(byte[] data) {
-        try {
-            InputStream stream = new ByteArrayInputStream(data);
-            assertEquals(
-                    MediaType.TEXT_PLAIN,
-                    detector.detect(stream, new Metadata()));
-
-            // Test that the stream has been reset
-            for (int i = 0; i < data.length; i++) {
-                assertEquals(data[i], (byte) stream.read());
-            }
-            assertEquals(-1, stream.read());
-        } catch (IOException e) {
-            fail("Unexpected exception from TextDetector");
-        }
-    }
-
-    private void assertNotText(byte[] data) {
-        try {
-            assertEquals(
-                    MediaType.OCTET_STREAM,
-                    detector.detect(
-                            new ByteArrayInputStream(data), new Metadata()));
-        } catch (IOException e) {
-            fail("Unexpected exception from TextDetector");
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/detect/TypeDetectorTest.java b/trunk/tika-core/src/test/java/org/apache/tika/detect/TypeDetectorTest.java
deleted file mode 100644
index c75cdff..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/detect/TypeDetectorTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import java.io.IOException;
-import java.util.Map;
-import java.util.TreeMap;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-
-/**
- * Test cases for the {@link TypeDetector} class.
- */
-public class TypeDetectorTest extends TestCase {
-
-    private Detector detector = new TypeDetector();
-    
-    private static final Map<String, String> params = new
-        TreeMap<String, String>();
-    static{
-        params.put("a", "b");
-    }
-    
-    private static final MediaType TEXT_PLAIN_A_EQ_B = 
-          new MediaType("text", "plain", params);
-
-    public void testDetect() {
-        assertDetect(MediaType.TEXT_PLAIN, "text/plain");
-        assertDetect(MediaType.TEXT_PLAIN, "TEXT/PLAIN");
-        assertDetect(MediaType.TEXT_PLAIN, " text/\tplain\n");
-        assertDetect(TEXT_PLAIN_A_EQ_B, "text/plain; a=b");
-        assertDetect(TEXT_PLAIN_A_EQ_B, "\ttext/plain; a=b\n");
-
-        assertDetect(MediaType.OCTET_STREAM, "text\\plain");
-
-        // test also the zero input cases
-        assertDetect(MediaType.OCTET_STREAM, "");
-        assertDetect(MediaType.OCTET_STREAM, null);
-        try {
-            assertEquals(
-                    MediaType.OCTET_STREAM,
-                    detector.detect(null, new Metadata()));
-        } catch (IOException e) {
-            fail("TypeDetector should never throw an IOException");
-        }
-    }
-
-    private void assertDetect(MediaType type, String name){
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.CONTENT_TYPE, name);
-        try {
-            assertEquals(type, detector.detect(null, metadata));
-        } catch (IOException e) {
-            fail("TypeDetector should never throw an IOException");
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/fork/ForkParserTest.java b/trunk/tika-core/src/test/java/org/apache/tika/fork/ForkParserTest.java
deleted file mode 100644
index cfd8334..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/fork/ForkParserTest.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-public class ForkParserTest extends TestCase {
-
-    public void testHelloWorld() throws Exception {
-        ForkParser parser = new ForkParser(
-                ForkParserTest.class.getClassLoader(),
-                new ForkTestParser());
-        try {
-            ContentHandler output = new BodyContentHandler();
-            InputStream stream = new ByteArrayInputStream(new byte[0]);
-            ParseContext context = new ParseContext();
-            parser.parse(stream, output, new Metadata(), context);
-            assertEquals("Hello, World!", output.toString().trim());
-        } finally {
-            parser.close();
-        }
-    }
-
-    public void testSerialParsing() throws Exception {
-        ForkParser parser = new ForkParser(
-                ForkParserTest.class.getClassLoader(),
-                new ForkTestParser());
-        try {
-            ParseContext context = new ParseContext();
-            for (int i = 0; i < 10; i++) {
-                ContentHandler output = new BodyContentHandler();
-                InputStream stream = new ByteArrayInputStream(new byte[0]);
-                parser.parse(stream, output, new Metadata(), context);
-                assertEquals("Hello, World!", output.toString().trim());
-            }
-        } finally {
-            parser.close();
-        }
-    }
-
-    public void testParallelParsing() throws Exception {
-        final ForkParser parser = new ForkParser(
-                ForkParserTest.class.getClassLoader(),
-                new ForkTestParser());
-        try {
-            final ParseContext context = new ParseContext();
-
-            Thread[] threads = new Thread[10];
-            ContentHandler[] output = new ContentHandler[threads.length];
-            for (int i = 0; i < threads.length; i++) {
-                final ContentHandler o = new BodyContentHandler();
-                output[i] = o;
-                threads[i] = new Thread() {
-                    public void run() {
-                        try {
-                            InputStream stream =
-                                new ByteArrayInputStream(new byte[0]);
-                            parser.parse(stream, o, new Metadata(), context);
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                        }
-                    }
-                };
-                threads[i].start();
-            }
-
-            for (int i = 0; i < threads.length; i++) {
-                threads[i].join();
-                assertEquals("Hello, World!", output[i].toString().trim());
-            }
-        } finally {
-            parser.close();
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/fork/ForkTestParser.java b/trunk/tika-core/src/test/java/org/apache/tika/fork/ForkTestParser.java
deleted file mode 100644
index 39a861e..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/fork/ForkTestParser.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.fork;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-class ForkTestParser implements Parser {
-
-    /** Serial version UID */
-    private static final long serialVersionUID = -5492269783593452319L;
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return Collections.singleton(MediaType.TEXT_PLAIN);
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-        char[] ch = "Hello, World!".toCharArray();
-        xhtml.characters(ch, 0, ch.length);
-        xhtml.endDocument();
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
\ No newline at end of file
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/io/TikaInputStreamTest.java b/trunk/tika-core/src/test/java/org/apache/tika/io/TikaInputStreamTest.java
deleted file mode 100644
index f97c560..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/io/TikaInputStreamTest.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.io;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import junit.framework.TestCase;
-
-public class TikaInputStreamTest extends TestCase {
-
-    public void testFileBased() throws IOException {
-        File file = createTempFile("Hello, World!");
-        InputStream stream = TikaInputStream.get(file);
-
-        assertEquals(
-                "The file returned by the getFile() method should"
-                + " be the file used to instantiate a TikaInputStream",
-                file, TikaInputStream.get(stream).getFile());
-
-        assertEquals(
-                "The contents of the TikaInputStream should equal the"
-                + " contents of the underlying file",
-                "Hello, World!", readStream(stream));
-
-        stream.close();
-        assertTrue(
-                "The close() method must not remove the file used to"
-                + " instantiate a TikaInputStream",
-                file.exists());
-
-        file.delete();
-    }
-
-    public void testStreamBased() throws IOException {
-        InputStream input =
-            new ByteArrayInputStream("Hello, World!".getBytes("UTF-8"));
-        InputStream stream = TikaInputStream.get(input);
-
-        File file = TikaInputStream.get(stream).getFile();
-        assertTrue(file != null && file.isFile());
-
-        assertEquals(
-                "The contents of the file returned by the getFile method"
-                + " should equal the contents of the TikaInputStream",
-                "Hello, World!", readFile(file));
-
-        assertEquals(
-                "The contents of the TikaInputStream should not get modified"
-                + " by reading the file first",
-                "Hello, World!", readStream(stream));
-
-        stream.close();
-        assertFalse(
-                "The close() method must remove the temporary file created"
-                + " by a TikaInputStream",
-                file.exists());
-    }
-
-    private File createTempFile(String data) throws IOException {
-        File file = File.createTempFile("tika-", ".tmp");
-        OutputStream stream = new FileOutputStream(file);
-        try {
-            stream.write(data.getBytes("UTF-8"));
-        } finally {
-            stream.close();
-        }
-        return file;
-    }
-
-    private String readFile(File file) throws IOException {
-        InputStream stream = new FileInputStream(file);
-        try {
-            return readStream(stream);
-        } finally {
-            stream.close();
-        }
-    }
-
-    private String readStream(InputStream stream) throws IOException {
-        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
-        IOUtils.copy(stream, buffer);
-        return buffer.toString("UTF-8");
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageIdentifierTest.java b/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageIdentifierTest.java
deleted file mode 100644
index dec2058..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageIdentifierTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.language;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Writer;
-import java.util.HashMap;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.io.IOUtils;
-
-/**
- * JUnit based test of class {@link LanguageIdentifier}.
- *
- * @author Sami Siren
- * @author Jerome Charron - http://frutch.free.fr/
- */
-public class LanguageIdentifierTest extends TestCase {
-
-    private static final String[] languages = new String[] {
-        // TODO - currently Estonian, Greek and Lithuanian fail these tests.
-        // Enable when language detection works better.
-        "da", "de", /* "et", "el", */ "en", "es", "fi", "fr", "it",
-        /* "lt", */ "nl", "pt", "sv"
-    };
-
-    public void setUp() {
-        LanguageIdentifier.initProfiles();
-    }
-    
-    public void testLanguageDetection() throws IOException {
-        for (String language : languages) {
-            ProfilingWriter writer = new ProfilingWriter();
-            writeTo(language, writer);
-            LanguageIdentifier identifier = null;
-            identifier = new LanguageIdentifier(writer.getProfile());
-            assertEquals(language, identifier.getLanguage());
-            assertTrue(identifier.toString(), identifier.isReasonablyCertain());
-        }
-    }
-
-    public void testClearAddAndInitProfiles() throws IOException {
-        // Prepare english and german language profiles
-        ProfilingWriter enWriter = new ProfilingWriter();
-        writeTo("en", enWriter);
-        LanguageProfile enProfile = enWriter.getProfile();
-        ProfilingWriter deWriter = new ProfilingWriter();
-        writeTo("de", deWriter);
-        LanguageProfile deProfile = deWriter.getProfile();
-
-        // Out of the box profiles
-        LanguageIdentifier identifier = null;
-        identifier = new LanguageIdentifier(enProfile);
-        assertEquals("en", identifier.getLanguage());
-        assertTrue(identifier.isReasonablyCertain());
-
-        // No profiles
-        LanguageIdentifier.clearProfiles();
-        identifier = new LanguageIdentifier(enProfile);
-        assertFalse(identifier.isReasonablyCertain());
-
-        // Only English profile
-        LanguageIdentifier.addProfile("en", enProfile);
-        identifier = new LanguageIdentifier(enProfile);
-        assertEquals("en", identifier.getLanguage());
-        assertTrue(identifier.isReasonablyCertain());
-
-        // English and German profiles loaded explicitly from initProfiles method
-        HashMap<String, LanguageProfile> profilesMap = new HashMap<String, LanguageProfile>();
-        profilesMap.put("en", enProfile);
-        profilesMap.put("de", deProfile);
-        LanguageIdentifier.initProfiles(profilesMap);
-        identifier = new LanguageIdentifier(enProfile);
-        assertEquals("en", identifier.getLanguage());
-        assertTrue(identifier.isReasonablyCertain());
-        identifier = new LanguageIdentifier(deProfile);
-        assertEquals("de", identifier.getLanguage());
-        assertTrue(identifier.isReasonablyCertain());
-  }
-
-  public void testMixedLanguages() throws IOException {
-        for (String language : languages) {
-            for (String other : languages) {
-                if (!language.equals(other)) {
-                    ProfilingWriter writer = new ProfilingWriter();
-                    writeTo(language, writer);
-                    writeTo(other, writer);
-                    LanguageIdentifier identifier = null;
-                    identifier = new LanguageIdentifier(writer.getProfile());
-                    assertFalse(identifier.isReasonablyCertain());
-                }
-            }
-        }
-    }
-
-    // TIKA-453: Fix up language identifier used for Estonian
-    public void testEstonia() throws Exception {
-        final String estonian = "et";
-        ProfilingWriter writer = new ProfilingWriter();
-        writeTo(estonian, writer);
-        LanguageIdentifier identifier =
-            new LanguageIdentifier(writer.getProfile());
-        assertEquals(estonian, identifier.getLanguage());
-    }
-    
-    private void writeTo(String language, Writer writer) throws IOException {
-        InputStream stream =
-            LanguageIdentifierTest.class.getResourceAsStream(language + ".test");
-        try {
-            IOUtils.copy(new InputStreamReader(stream, "UTF-8"), writer);
-        } finally {
-            stream.close();
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageProfileTest.java b/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageProfileTest.java
deleted file mode 100644
index a11d87e..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageProfileTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.language;
-
-import java.io.IOException;
-
-import junit.framework.TestCase;
-
-public class LanguageProfileTest extends TestCase {
-
-    public void testLanguageProfile() throws IOException {
-        LanguageProfile foo = new LanguageProfile();
-        assertEquals(0, foo.getCount("foo"));
-
-        foo.add("foo");
-        assertEquals(1, foo.getCount("foo"));
-
-        foo.add("foo", 3);
-        assertEquals(4, foo.getCount("foo"));
-
-        LanguageProfile bar = new LanguageProfile();
-        assertEquals(1.0, foo.distance(bar));
-
-        bar.add("bar");
-        assertEquals(Math.sqrt(2.0), foo.distance(bar));
-
-        bar.add("bar", 3);
-        assertEquals(Math.sqrt(2.0), foo.distance(bar));
-
-        LanguageProfile foobar = new LanguageProfile();
-        assertTrue(foo.distance(foobar) == bar.distance(foobar));
-
-        foobar.add("foo");
-        assertTrue( foo.distance(foobar) < bar.distance(foobar));
-
-        foobar.add("bar");
-        assertTrue(foo.distance(foobar) == bar.distance(foobar));
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/language/ProfilingWriterTest.java b/trunk/tika-core/src/test/java/org/apache/tika/language/ProfilingWriterTest.java
deleted file mode 100644
index 5783d3f..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/language/ProfilingWriterTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.language;
-
-import java.io.IOException;
-
-import junit.framework.TestCase;
-
-public class ProfilingWriterTest extends TestCase {
-
-    public void testProfilingWriter() throws IOException {
-        ProfilingWriter writer = new ProfilingWriter();
-        writer.write(" foo+BAR FooBar\n");
-        writer.close();
-
-        LanguageProfile profile = writer.getProfile();
-        assertEquals(2, profile.getCount("_fo"));
-        assertEquals(2, profile.getCount("foo"));
-        assertEquals(1, profile.getCount("oo_"));
-        assertEquals(1, profile.getCount("oob"));
-        assertEquals(1, profile.getCount("oba"));
-        assertEquals(1, profile.getCount("_ba"));
-        assertEquals(2, profile.getCount("bar"));
-        assertEquals(2, profile.getCount("ar_"));
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java b/trunk/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java
deleted file mode 100644
index 74d5a3f..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-//JDK imports
-import java.util.Date;
-import java.util.Properties;
-
-//Junit imports
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
-
-/**
- * JUnit based tests of class {@link org.apache.tika.metadata.Metadata}.
- */
-public class TestMetadata extends TestCase {
-
-    private static final String CONTENTTYPE = "contenttype";
-
-    public TestMetadata(String testName) {
-        super(testName);
-    }
-
-    public static Test suite() {
-        return new TestSuite(TestMetadata.class);
-    }
-
-    public static void main(String[] args) {
-        TestRunner.run(suite());
-    }
-
-    /** Test for the <code>add(String, String)</code> method. */
-    public void testAdd() {
-        String[] values = null;
-        Metadata meta = new Metadata();
-
-        values = meta.getValues(CONTENTTYPE);
-        assertEquals(0, values.length);
-
-        meta.add(CONTENTTYPE, "value1");
-        values = meta.getValues(CONTENTTYPE);
-        assertEquals(1, values.length);
-        assertEquals("value1", values[0]);
-
-        meta.add(CONTENTTYPE, "value2");
-        values = meta.getValues(CONTENTTYPE);
-        assertEquals(2, values.length);
-        assertEquals("value1", values[0]);
-        assertEquals("value2", values[1]);
-
-        // NOTE : For now, the same value can be added many times.
-        // Should it be changed?
-        meta.add(CONTENTTYPE, "value1");
-        values = meta.getValues(CONTENTTYPE);
-        assertEquals(3, values.length);
-        assertEquals("value1", values[0]);
-        assertEquals("value2", values[1]);
-        assertEquals("value1", values[2]);
-    }
-
-    /** Test for the <code>set(String, String)</code> method. */
-    public void testSet() {
-        String[] values = null;
-        Metadata meta = new Metadata();
-
-        values = meta.getValues(CONTENTTYPE);
-        assertEquals(0, values.length);
-
-        meta.set(CONTENTTYPE, "value1");
-        values = meta.getValues(CONTENTTYPE);
-        assertEquals(1, values.length);
-        assertEquals("value1", values[0]);
-
-        meta.set(CONTENTTYPE, "value2");
-        values = meta.getValues(CONTENTTYPE);
-        assertEquals(1, values.length);
-        assertEquals("value2", values[0]);
-
-        meta.set(CONTENTTYPE, "new value 1");
-        meta.add("contenttype", "new value 2");
-        values = meta.getValues(CONTENTTYPE);
-        assertEquals(2, values.length);
-        assertEquals("new value 1", values[0]);
-        assertEquals("new value 2", values[1]);
-    }
-
-    /** Test for <code>setAll(Properties)</code> method. */
-    public void testSetProperties() {
-        String[] values = null;
-        Metadata meta = new Metadata();
-        Properties props = new Properties();
-
-        meta.setAll(props);
-        assertEquals(0, meta.size());
-
-        props.setProperty("name-one", "value1.1");
-        meta.setAll(props);
-        assertEquals(1, meta.size());
-        values = meta.getValues("name-one");
-        assertEquals(1, values.length);
-        assertEquals("value1.1", values[0]);
-
-        props.setProperty("name-two", "value2.1");
-        meta.setAll(props);
-        assertEquals(2, meta.size());
-        values = meta.getValues("name-one");
-        assertEquals(1, values.length);
-        assertEquals("value1.1", values[0]);
-        values = meta.getValues("name-two");
-        assertEquals(1, values.length);
-        assertEquals("value2.1", values[0]);
-    }
-
-    /** Test for <code>get(String)</code> method. */
-    public void testGet() {
-        Metadata meta = new Metadata();
-        assertNull(meta.get("a-name"));
-        meta.add("a-name", "value-1");
-        assertEquals("value-1", meta.get("a-name"));
-        meta.add("a-name", "value-2");
-        assertEquals("value-1", meta.get("a-name"));
-    }
-
-    /** Test for <code>isMultiValued()</code> method. */
-    public void testIsMultiValued() {
-        Metadata meta = new Metadata();
-        assertFalse(meta.isMultiValued("key"));
-        meta.add("key", "value1");
-        assertFalse(meta.isMultiValued("key"));
-        meta.add("key", "value2");
-        assertTrue(meta.isMultiValued("key"));
-    }
-
-    /** Test for <code>names</code> method. */
-    public void testNames() {
-        String[] names = null;
-        Metadata meta = new Metadata();
-        names = meta.names();
-        assertEquals(0, names.length);
-
-        meta.add("name-one", "value");
-        names = meta.names();
-        assertEquals(1, names.length);
-        assertEquals("name-one", names[0]);
-        meta.add("name-two", "value");
-        names = meta.names();
-        assertEquals(2, names.length);
-    }
-
-    /** Test for <code>remove(String)</code> method. */
-    public void testRemove() {
-        Metadata meta = new Metadata();
-        meta.remove("name-one");
-        assertEquals(0, meta.size());
-        meta.add("name-one", "value-1.1");
-        meta.add("name-one", "value-1.2");
-        meta.add("name-two", "value-2.2");
-        assertEquals(2, meta.size());
-        assertNotNull(meta.get("name-one"));
-        assertNotNull(meta.get("name-two"));
-        meta.remove("name-one");
-        assertEquals(1, meta.size());
-        assertNull(meta.get("name-one"));
-        assertNotNull(meta.get("name-two"));
-        meta.remove("name-two");
-        assertEquals(0, meta.size());
-        assertNull(meta.get("name-one"));
-        assertNull(meta.get("name-two"));
-    }
-
-    /** Test for <code>equals(Object)</code> method. */
-    public void testObject() {
-        Metadata meta1 = new Metadata();
-        Metadata meta2 = new Metadata();
-        assertFalse(meta1.equals(null));
-        assertFalse(meta1.equals("String"));
-        assertTrue(meta1.equals(meta2));
-        meta1.add("name-one", "value-1.1");
-        assertFalse(meta1.equals(meta2));
-        meta2.add("name-one", "value-1.1");
-        assertTrue(meta1.equals(meta2));
-        meta1.add("name-one", "value-1.2");
-        assertFalse(meta1.equals(meta2));
-        meta2.add("name-one", "value-1.2");
-        assertTrue(meta1.equals(meta2));
-        meta1.add("name-two", "value-2.1");
-        assertFalse(meta1.equals(meta2));
-        meta2.add("name-two", "value-2.1");
-        assertTrue(meta1.equals(meta2));
-        meta1.add("name-two", "value-2.2");
-        assertFalse(meta1.equals(meta2));
-        meta2.add("name-two", "value-2.x");
-        assertFalse(meta1.equals(meta2));
-    }
-
-    /**
-     * Tests for getting and setting integer
-     *  based properties
-     */
-    public void testGetSetInt() {
-        Metadata meta = new Metadata();
-        
-        // Isn't initially set, will get null back
-        assertEquals(null, meta.get(Metadata.IMAGE_WIDTH));
-        assertEquals(null, meta.getInt(Metadata.IMAGE_WIDTH));
-        
-        // Can only set as a single valued int
-        try {
-            meta.set(Metadata.BITS_PER_SAMPLE, 1);
-            fail("Shouldn't be able to set a multi valued property as an int");
-        } catch(PropertyTypeException e) {}
-        try {
-            meta.set(Metadata.CREATION_DATE, 1);
-            fail("Shouldn't be able to set a date property as an int");
-        } catch(PropertyTypeException e) {}
-        
-        // Can set it and retrieve it
-        meta.set(Metadata.IMAGE_WIDTH, 22);
-        assertEquals("22", meta.get(Metadata.IMAGE_WIDTH));
-        assertEquals(22, meta.getInt(Metadata.IMAGE_WIDTH).intValue());
-        
-        // If you save a non int value, you get null
-        meta.set(Metadata.IMAGE_WIDTH, "INVALID");
-        assertEquals("INVALID", meta.get(Metadata.IMAGE_WIDTH));
-        assertEquals(null, meta.getInt(Metadata.IMAGE_WIDTH));
-        
-        // If you try to retrieve a non simple int value, you get null
-        meta.set(Metadata.IMAGE_WIDTH, 22);
-        assertEquals(22, meta.getInt(Metadata.IMAGE_WIDTH).intValue());
-        assertEquals(null, meta.getInt(Metadata.BITS_PER_SAMPLE));
-        assertEquals(null, meta.getInt(Metadata.CREATION_DATE));
-    }
-    
-    /**
-     * Tests for getting and setting date
-     *  based properties
-     */
-    public void testGetSetDate() {
-        Metadata meta = new Metadata();
-        
-        // Isn't initially set, will get null back
-        assertEquals(null, meta.get(Metadata.CREATION_DATE));
-        assertEquals(null, meta.getInt(Metadata.CREATION_DATE));
-        
-        // Can only set as a single valued date
-        try {
-            meta.set(Metadata.BITS_PER_SAMPLE, new Date(1000));
-            fail("Shouldn't be able to set a multi valued property as a date");
-        } catch(PropertyTypeException e) {}
-        try {
-            meta.set(Metadata.IMAGE_WIDTH, new Date(1000));
-            fail("Shouldn't be able to set an int property as an date");
-        } catch(PropertyTypeException e) {}
-        
-        // Can set it and retrieve it
-        meta.set(Metadata.CREATION_DATE, new Date(1000));
-        assertEquals("1970-01-01T00:00:01Z", meta.get(Metadata.CREATION_DATE));
-        assertEquals(1000, meta.getDate(Metadata.CREATION_DATE).getTime());
-        
-        // If you save a non date value, you get null
-        meta.set(Metadata.CREATION_DATE, "INVALID");
-        assertEquals("INVALID", meta.get(Metadata.CREATION_DATE));
-        assertEquals(null, meta.getDate(Metadata.CREATION_DATE));
-        
-        // If you try to retrieve a non simple date value, you get null
-        meta.set(Metadata.CREATION_DATE, new Date(1000));
-        assertEquals(1000, meta.getDate(Metadata.CREATION_DATE).getTime());
-        assertEquals(null, meta.getInt(Metadata.BITS_PER_SAMPLE));
-        assertEquals(null, meta.getInt(Metadata.CREATION_DATE));
-        
-        // Our format doesn't include milliseconds
-        // This means things get rounded 
-        meta.set(Metadata.CREATION_DATE, new Date(1050));
-        assertEquals("1970-01-01T00:00:01Z", meta.get(Metadata.CREATION_DATE));
-        assertEquals(1000, meta.getDate(Metadata.CREATION_DATE).getTime());
-        
-        // We can accept a number of different ISO-8601 variants
-        meta.set(Metadata.CREATION_DATE, "1970-01-01T00:00:01Z");
-        assertEquals(1000, meta.getDate(Metadata.CREATION_DATE).getTime());
-        
-        meta.set(Metadata.CREATION_DATE, "1970-01-01 00:00:01Z");
-        assertEquals(1000, meta.getDate(Metadata.CREATION_DATE).getTime());
-        
-        meta.set(Metadata.CREATION_DATE, "1970-01-01T01:00:01+01:00");
-        assertEquals(1000, meta.getDate(Metadata.CREATION_DATE).getTime());
-        
-        meta.set(Metadata.CREATION_DATE, "1970-01-01 01:00:01+01:00");
-        assertEquals(1000, meta.getDate(Metadata.CREATION_DATE).getTime());
-        
-        meta.set(Metadata.CREATION_DATE, "1970-01-01T12:00:01+12:00");
-        assertEquals(1000, meta.getDate(Metadata.CREATION_DATE).getTime());
-        
-        meta.set(Metadata.CREATION_DATE, "1969-12-31T12:00:01-12:00");
-        assertEquals(1000, meta.getDate(Metadata.CREATION_DATE).getTime());
-    }
-    
-    /**
-     * Some documents, like jpegs, might have date in unspecified time zone
-     * which should be handled like strings but verified to have parseable ISO 8601 format
-     */
-    public void testGetSetDateUnspecifiedTimezone() {
-        Metadata meta = new Metadata();    
-        
-        meta.set(Metadata.DATE, "1970-01-01T00:00:01");
-        assertEquals("should return string without time zone specifier because zone is not known",
-        		"1970-01-01T00:00:01", meta.get(Metadata.DATE));
-    }
-    
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/metadata/TestMetadataHelper.java b/trunk/tika-core/src/test/java/org/apache/tika/metadata/TestMetadataHelper.java
deleted file mode 100644
index 9998d5b..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/metadata/TestMetadataHelper.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.metadata;
-
-import java.io.File;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-/**
- * Unit tests for {@link MetadataHelper}.
- */
-public class TestMetadataHelper extends TestCase {
-
-    public void testGetInputStream() throws Exception {
-        URL url = TestMetadataHelper.class.getResource("test.txt");
-        Metadata metadata = new Metadata();
-        MetadataHelper.getInputStream(url, metadata).close();
-        assertEquals("test.txt", metadata.get(Metadata.RESOURCE_NAME_KEY));
-        assertEquals(
-                Long.toString(new File(url.toURI()).length()),
-                metadata.get(Metadata.CONTENT_LENGTH));
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/mime/MediaTypeTest.java b/trunk/tika-core/src/test/java/org/apache/tika/mime/MediaTypeTest.java
deleted file mode 100644
index f6194e0..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/mime/MediaTypeTest.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-public class MediaTypeTest extends TestCase {
-
-    public void testBasics() {
-        assertEquals(
-                "application/octet-stream",
-                new MediaType("application", "octet-stream").toString());
-
-        assertEquals(
-                "text/plain",
-                new MediaType("text", "plain").toString());
-
-        Map<String, String> parameters = new HashMap<String, String>();
-        assertEquals(
-                "text/plain",
-                new MediaType("text", "plain", parameters).toString());
-
-        parameters.put("charset", "UTF-8");
-        assertEquals(
-                "text/plain; charset=UTF-8",
-                new MediaType("text", "plain", parameters).toString());
-
-        parameters.put("x-eol-style", "crlf");
-        assertEquals(
-                "text/plain; charset=UTF-8; x-eol-style=crlf",
-                new MediaType("text", "plain", parameters).toString());
-    }
-
-    public void testLowerCase() {
-        assertEquals(
-                "text/plain",
-                new MediaType("TEXT", "PLAIN").toString());
-        assertEquals(
-                "text/plain",
-                new MediaType("Text", "Plain").toString());
-
-        Map<String, String> parameters = new HashMap<String, String>();
-        assertEquals(
-                "text/plain",
-                new MediaType("text", "PLAIN", parameters).toString());
-
-        parameters.put("CHARSET", "UTF-8");
-        assertEquals(
-                "text/plain; charset=UTF-8",
-                new MediaType("TEXT", "plain", parameters).toString());
-
-        parameters.put("X-Eol-Style", "crlf");
-        assertEquals(
-                "text/plain; charset=UTF-8; x-eol-style=crlf",
-                new MediaType("TeXt", "PlAiN", parameters).toString());
-    }
-
-    public void testTrim() {
-        assertEquals(
-                "text/plain",
-                new MediaType(" text ", " plain ").toString());
-        assertEquals(
-                "text/plain",
-                new MediaType("\ttext", "plain\t").toString());
-
-        Map<String, String> parameters = new HashMap<String, String>();
-        assertEquals(
-                "text/plain",
-                new MediaType("text\r\n", " \tplain", parameters).toString());
-
-        parameters.put(" charset", "UTF-8");
-        assertEquals(
-                "text/plain; charset=UTF-8",
-                new MediaType("\n\ntext", "plain \r", parameters).toString());
-
-        parameters.put("\r\n\tx-eol-style  \t", "crlf");
-        assertEquals(
-                "text/plain; charset=UTF-8; x-eol-style=crlf",
-            new MediaType("    text", "\tplain ", parameters).toString());
-    }
-
-    public void testQuote() {
-        Map<String, String> parameters = new HashMap<String, String>();
-        parameters.put("a", " value with spaces ");
-        parameters.put("b", "text/plain");
-        parameters.put("c", "()<>@,;:\\\"/[]?=");
-        assertEquals(
-                "text/plain; a=\" value with spaces \"; b=\"text\\/plain\""
-                + "; c=\"\\(\\)\\<\\>\\@\\,\\;\\:\\\\\\\"\\/\\[\\]\\?\\=\"",
-                new MediaType("text", "plain", parameters).toString());
-    }
-    
-    /**
-     * @since TIKA-121
-     */
-    public void testParseWithParams() {
-        String mimeStringWithParams = "text/html;charset=UTF-8;foo=bar;foo2=bar2";
-
-        MediaType type = MediaType.parse(mimeStringWithParams);
-        assertNotNull(type);
-        assertNotNull(type.getParameters());
-        assertNotNull(type.getParameters().keySet());
-        assertEquals(3, type.getParameters().keySet().size());
-        boolean gotCharset = false, gotFoo = false, gotFoo2 = false;
-        for (String param : type.getParameters().keySet()) {
-            if (param.equals("charset")) {
-                gotCharset = true;
-            } else if (param.equals("foo")) {
-                gotFoo = true;
-            } else if (param.equals("foo2")) {
-                gotFoo2 = true;
-            }
-        }
-        assertTrue(gotCharset && gotFoo && gotFoo2);
-    }
-
-    /**
-     * @since TIKA-121
-     */
-    public void testParseNoParams() {
-        String mimeStringNoParams = "text/html";
-
-        MediaType type = MediaType.parse(mimeStringNoParams);
-        assertNotNull(type);
-        assertNotNull(type.getParameters());
-        assertNotNull(type.getParameters().keySet());
-        assertEquals(0, type.getParameters().keySet().size());
-    }
-
-    /**
-     * @since TIKA-121
-     */
-    public void testParseNoParamsWithSemi() {
-        String mimeStringNoParamsWithSemi = "text/html;";
-        MediaType type = MediaType.parse(mimeStringNoParamsWithSemi);
-        assertNotNull(type);
-        assertNotNull(type.getParameters());
-        assertNotNull(type.getParameters().keySet());
-        assertEquals(0, type.getParameters().keySet().size());
-    }
-
-    
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/mime/MimeDetectionTest.java b/trunk/tika-core/src/test/java/org/apache/tika/mime/MimeDetectionTest.java
deleted file mode 100644
index bd71946..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/mime/MimeDetectionTest.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.config.TikaConfig;
-import org.apache.tika.metadata.Metadata;
-
-public class MimeDetectionTest extends TestCase {
-
-    private MimeTypes mimeTypes;
-
-    private MediaTypeRegistry registry;
-
-    /** @inheritDoc */
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        this.mimeTypes = TikaConfig.getDefaultConfig().getMimeRepository();
-        this.registry = mimeTypes.getMediaTypeRegistry();
-    }
-
-    public void testDetection() throws Exception {
-        testFile("image/svg+xml", "circles.svg");
-        testFile("image/svg+xml", "circles-with-prefix.svg");
-        testFile("image/png", "datamatrix.png");
-        testFile("text/html", "test.html");
-        testFile("application/xml", "test-iso-8859-1.xml");
-        testFile("application/xml", "test-utf8.xml");
-        testFile("application/xml", "test-utf16le.xml");
-        testFile("application/xml", "test-utf16be.xml");
-        testFile("application/xml", "test-long-comment.xml");
-        testFile("application/xslt+xml", "stylesheet.xsl");
-        testUrl(
-                "application/rdf+xml",
-                "http://www.ai.sri.com/daml/services/owl-s/1.2/Process.owl",
-                "test-difficult-rdf1.xml");
-        testUrl(
-                "application/rdf+xml",
-                "http://www.w3.org/2002/07/owl#",
-                "test-difficult-rdf2.xml");
-        // add evil test from TIKA-327
-        testFile("text/html", "evilhtml.html");
-        // add another evil html test from TIKA-357
-        testFile("text/html", "testlargerbuffer.html");
-    }
-
-    public void testByteOrderMark() throws Exception {
-        assertEquals(MediaType.TEXT_PLAIN, mimeTypes.detect(
-                new ByteArrayInputStream("\ufffetest".getBytes("UTF-16LE")),
-                new Metadata()));
-        assertEquals(MediaType.TEXT_PLAIN, mimeTypes.detect(
-                new ByteArrayInputStream("\ufffetest".getBytes("UTF-16BE")),
-                new Metadata()));
-        assertEquals(MediaType.TEXT_PLAIN, mimeTypes.detect(
-                new ByteArrayInputStream("\ufffetest".getBytes("UTF-8")),
-                new Metadata()));
-    }
-
-    public void testSuperTypes() {
-        assertTrue(registry.isSpecializationOf(
-                MediaType.parse("text/something; charset=UTF-8"),
-                MediaType.parse("text/something")));
-
-        assertTrue(registry.isSpecializationOf(
-                MediaType.parse("text/something; charset=UTF-8"),
-                MediaType.TEXT_PLAIN));
-
-        assertTrue(registry.isSpecializationOf(
-                MediaType.parse("text/something; charset=UTF-8"),
-                MediaType.OCTET_STREAM));
-
-        assertTrue(registry.isSpecializationOf(
-                MediaType.parse("text/something"),
-                MediaType.TEXT_PLAIN));
-
-        assertTrue(registry.isSpecializationOf(
-                MediaType.parse("application/something+xml"),
-                MediaType.APPLICATION_XML));
-
-        assertTrue(registry.isSpecializationOf(
-                MediaType.parse("application/something+zip"),
-                MediaType.APPLICATION_ZIP));
-
-        assertTrue(registry.isSpecializationOf(
-                MediaType.APPLICATION_XML,
-                MediaType.TEXT_PLAIN));
-
-        assertTrue(registry.isSpecializationOf(
-                MediaType.parse("application/vnd.apple.iwork"),
-                MediaType.APPLICATION_ZIP));
-    }
-
-    private void testUrl(String expected, String url, String file) throws IOException{
-        InputStream in = getClass().getResourceAsStream(file);
-        testStream(expected, url, in);
-    }
-
-    private void testFile(String expected, String filename) throws IOException {
-        InputStream in = getClass().getResourceAsStream(filename);
-        testStream(expected, filename, in);
-    }
-
-    private void testStream(String expected, String urlOrFileName, InputStream in) throws IOException{
-        assertNotNull("Test stream: ["+urlOrFileName+"] is null!", in);
-        if (!in.markSupported()) {
-            in = new java.io.BufferedInputStream(in);
-        }
-        try {
-            Metadata metadata = new Metadata();
-            String mime = this.mimeTypes.detect(in, metadata).toString();
-            assertEquals(urlOrFileName + " is not properly detected: detected.", expected, mime);
-
-            //Add resource name and test again
-            metadata.set(Metadata.RESOURCE_NAME_KEY, urlOrFileName);
-            mime = this.mimeTypes.detect(in, metadata).toString();
-            assertEquals(urlOrFileName + " is not properly detected after adding resource name.", expected, mime);
-        } finally {
-            in.close();
-        }        
-    }
-
-    /**
-     * Test for type detection of empty documents.
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-483">TIKA-483</a>
-     */
-    public void testEmptyDocument() throws IOException {
-        assertEquals(MediaType.OCTET_STREAM, mimeTypes.detect(
-                new ByteArrayInputStream(new byte[0]), new Metadata()));
-
-        Metadata namehint = new Metadata();
-        namehint.set(Metadata.RESOURCE_NAME_KEY, "test.txt");
-        assertEquals(MediaType.TEXT_PLAIN, mimeTypes.detect(
-                new ByteArrayInputStream(new byte[0]), namehint));
-
-        Metadata typehint = new Metadata();
-        typehint.set(Metadata.CONTENT_TYPE, "text/plain");
-        assertEquals(MediaType.TEXT_PLAIN, mimeTypes.detect(
-                new ByteArrayInputStream(new byte[0]), typehint));
-
-    }
-
-    /**
-     * Test for things like javascript files whose content is enclosed in XML
-     * comment delimiters, but that aren't actually XML.
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-426">TIKA-426</a>
-     */
-    public void testNotXML() throws IOException {
-        assertEquals(MediaType.TEXT_PLAIN, mimeTypes.detect(
-                new ByteArrayInputStream("<!-- test -->".getBytes("UTF-8")),
-                new Metadata()));
-    }
-
-    /**
-     * Tests that when we repeatedly test the detection of a document
-     *  that can be detected with Mime Magic, that we consistently
-     *  detect it correctly. See TIKA-391 for more details.
-     */
-    public void testMimeMagicStability() throws IOException {
-       for(int i=0; i<100; i++) {
-          testFile("application/vnd.ms-excel", "test.xls");
-       }
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/mime/MimeTypesReaderTest.java b/trunk/tika-core/src/test/java/org/apache/tika/mime/MimeTypesReaderTest.java
deleted file mode 100644
index dd1a6e0..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/mime/MimeTypesReaderTest.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.SortedSet;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.config.TikaConfig;
-
-/**
- * These tests try to ensure that the MimeTypesReader
- *  has correctly processed the mime-types.xml file.
- * To do this, it tests that various aspects of the
- *  mime-types.xml file have ended up correctly as
- *  globs, matches, magics etc.
- *  
- * If you make updates to mime-types.xml, then the
- *  checks in this test may no longer hold true.
- * As such, if tests here start failing after your
- *  changes, please review the test details, and
- *  update it to match the new state of the file! 
- */
-public class MimeTypesReaderTest extends TestCase {
-
-    private MimeTypes mimeTypes;
-    private SortedSet<Magic> magics;
-    private SortedSet<MimeType> xmls;
-
-    @Override
-    @SuppressWarnings("unchecked")
-    protected void setUp() throws Exception {
-        super.setUp();
-        this.mimeTypes = TikaConfig.getDefaultConfig().getMimeRepository();
-
-        Field magicsField = mimeTypes.getClass().getDeclaredField("magics");
-        magicsField.setAccessible(true);
-        magics = (SortedSet<Magic>)magicsField.get(mimeTypes);
-
-        Field xmlsField = mimeTypes.getClass().getDeclaredField("xmls");
-        xmlsField.setAccessible(true);
-        xmls = (SortedSet<MimeType>)xmlsField.get(mimeTypes);
-    }
-
-    public void testHtmlMatches() throws Exception {
-       int minMatches = 10;
-
-       // Check on the type
-       MimeType html = mimeTypes.forName("text/html");
-       assertTrue(html.hasMagic());
-       assertTrue(
-             "There should be at least "+minMatches+" HTML matches, found " + html.getMagics().length,
-             html.getMagics().length >= minMatches
-       );
-
-       // Check on the overall magics
-       List<Magic> htmlMagics = new ArrayList<Magic>();
-       for(Magic magic : magics) {
-          if(magic.getType().toString().equals("text/html")) {
-             htmlMagics.add(magic);
-          }
-       }
-
-       assertTrue(
-             "There should be at least "+minMatches+" HTML matches, found " + htmlMagics.size(),
-             htmlMagics.size() >= minMatches
-       );
-    }
-
-    public void testExcelMatches() throws Exception {
-       int minMatches = 4;
-
-       // Check on the type
-       MimeType excel = mimeTypes.forName("application/vnd.ms-excel");
-       assertTrue(excel.hasMagic());
-       assertTrue(
-             "There should be at least "+minMatches+" Excel matches, found " + excel.getMagics().length,
-             excel.getMagics().length >= minMatches
-       );
-
-       // Check on the overall magics
-       List<Magic> excelMagics = new ArrayList<Magic>();
-       for(Magic magic : magics) {
-          if(magic.getType().toString().equals("application/vnd.ms-excel")) {
-             excelMagics.add(magic);
-          }
-       }
-
-       assertTrue(
-             "There should be at least "+minMatches+" Excel matches, found " + excelMagics.size(),
-             excelMagics.size() >= minMatches
-       );
-    }
-    
-    /**
-     * @since TIKA-515
-     */
-    public void testReadComment() {
-        try {
-            assertNotNull(this.mimeTypes.forName("application/msword")
-                    .getDescription());
-        } catch (Exception e) {
-            fail(e.getMessage());
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/sax/BodyContentHandlerTest.java b/trunk/tika-core/src/test/java/org/apache/tika/sax/BodyContentHandlerTest.java
deleted file mode 100644
index dc2c9e2..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/sax/BodyContentHandlerTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import java.io.ByteArrayOutputStream;
-import java.io.OutputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-
-/**
- * Test cases for the {@link BodyContentHandler} class.
- */
-public class BodyContentHandlerTest extends TestCase {
-
-    /**
-     * Test that the conversion to an {@link OutputStream} doesn't leave
-     * characters unflushed in an internal buffer.
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-179">TIKA-179</a>
-     */
-    public void testOutputStream() throws Exception {
-        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
-
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(
-                new BodyContentHandler(buffer), new Metadata());
-        xhtml.startDocument();
-        xhtml.element("p", "Test text");
-        xhtml.endDocument();
-
-        assertEquals("Test text\n", buffer.toString());
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/sax/OfflineContentHandlerTest.java b/trunk/tika-core/src/test/java/org/apache/tika/sax/OfflineContentHandlerTest.java
deleted file mode 100644
index b04ec98..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/sax/OfflineContentHandlerTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import java.io.StringReader;
-import java.net.ConnectException;
-
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import junit.framework.TestCase;
-
-import org.xml.sax.InputSource;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Unit tests for the {@link OfflineContentHandler} class.
- */
-public class OfflineContentHandlerTest extends TestCase {
-
-    private SAXParser parser;
-
-    private DefaultHandler offline;
-
-    protected void setUp() throws Exception {
-        parser = SAXParserFactory.newInstance().newSAXParser();
-        offline = new OfflineContentHandler(new DefaultHandler());
-    }
-
-    public void testExternalDTD() throws Exception {
-        String xml =
-            "<!DOCTYPE foo SYSTEM \"http://127.234.172.38:7845/bar\"><foo/>";
-        try {
-            parser.parse(new InputSource(new StringReader(xml)), offline);
-        } catch (ConnectException e) {
-            fail("Parser tried to access the external DTD:" + e);
-        }
-    }
-
-    public void testExternalEntity() throws Exception {
-        String xml =
-            "<!DOCTYPE foo ["
-            + " <!ENTITY bar SYSTEM \"http://127.234.172.38:7845/bar\">"
-            + " ]><foo>&bar;</foo>";
-        try {
-            parser.parse(new InputSource(new StringReader(xml)), offline);
-        } catch (ConnectException e) {
-            fail("Parser tried to access the external DTD:" + e);
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/sax/SafeContentHandlerTest.java b/trunk/tika-core/src/test/java/org/apache/tika/sax/SafeContentHandlerTest.java
deleted file mode 100644
index 2b913ad..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/sax/SafeContentHandlerTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-import junit.framework.TestCase;
-
-/**
- * Unit tests for the {@link SafeContentHandler} class.
- */
-public class SafeContentHandlerTest extends TestCase {
-
-    private ContentHandler output;
-
-    private ContentHandler safe;
-
-    protected void setUp() {
-        output = new WriteOutContentHandler();
-        safe = new SafeContentHandler(output);
-    }
-
-    public void testEmptyInput() throws SAXException {
-        safe.characters(new char[0], 0, 0);
-        safe.ignorableWhitespace(new char[0], 0, 0);
-        assertEquals("", output.toString());
-    }
-
-    public void testNormalCharacters() throws SAXException {
-        safe.characters("abc".toCharArray(), 0, 3);
-        assertEquals("abc", output.toString());
-    }
-
-    public void testNormalWhitespace() throws SAXException {
-        safe.ignorableWhitespace("abc".toCharArray(), 0, 3);
-        assertEquals("abc", output.toString());
-    }
-
-    public void testInvalidCharacters() throws SAXException {
-        safe.characters("ab\u0007".toCharArray(), 0, 3);
-        safe.characters("a\u000Bc".toCharArray(), 0, 3);
-        safe.characters("\u0019bc".toCharArray(), 0, 3);
-        assertEquals("ab a c bc", output.toString());
-    }
-
-    public void testInvalidWhitespace() throws SAXException {
-        safe.ignorableWhitespace("ab\u0000".toCharArray(), 0, 3);
-        safe.ignorableWhitespace("a\u0001c".toCharArray(), 0, 3);
-        safe.ignorableWhitespace("\u0002bc".toCharArray(), 0, 3);
-        assertEquals("ab a c bc", output.toString());
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/sax/SecureContentHandlerTest.java b/trunk/tika-core/src/test/java/org/apache/tika/sax/SecureContentHandlerTest.java
deleted file mode 100644
index debdefb..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/sax/SecureContentHandlerTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import java.io.IOException;
-
-import org.apache.tika.io.CountingInputStream;
-import org.apache.tika.io.NullInputStream;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-import junit.framework.TestCase;
-
-/**
- * Tests for the {@link SecureContentHandler} class.
- */
-public class SecureContentHandlerTest extends TestCase {
-
-    private static final int MANY_BYTES = 2000000;
-
-    private CountingInputStream stream;
-
-    private SecureContentHandler handler;
-
-    protected void setUp() {
-        stream = new CountingInputStream(new NullInputStream(MANY_BYTES));
-        handler = new SecureContentHandler(new DefaultHandler(), stream);
-    }
-
-    public void testZeroCharactersPerByte() throws IOException {
-        try {
-            char[] ch = new char[] { 'x' };
-            for (int i = 0; i < MANY_BYTES; i++) {
-                stream.read();
-            }
-            handler.characters(ch, 0, 1);
-        } catch (SAXException e) {
-            fail("Unexpected SAXException");
-        }
-    }
-
-    public void testOneCharacterPerByte() throws IOException {
-        try {
-            char[] ch = new char[1];
-            for (int i = 0; i < MANY_BYTES; i++) {
-                stream.read();
-                handler.characters(ch, 0, ch.length);
-            }
-        } catch (SAXException e) {
-            fail("Unexpected SAXException");
-        }
-    }
-
-    public void testTenCharactersPerByte() throws IOException {
-        try {
-            char[] ch = new char[10];
-            for (int i = 0; i < MANY_BYTES; i++) {
-                stream.read();
-                handler.characters(ch, 0, ch.length);
-            }
-        } catch (SAXException e) {
-            fail("Unexpected SAXException");
-        }
-    }
-
-    public void testManyCharactersPerByte() throws IOException {
-        try {
-            char[] ch = new char[1000];
-            for (int i = 0; i < MANY_BYTES; i++) {
-                stream.read();
-                handler.characters(ch, 0, ch.length);
-            }
-            fail("Expected SAXException not thrown");
-        } catch (SAXException e) {
-            // expected
-        }
-    }
-
-    public void testSomeCharactersWithoutInput() throws IOException {
-        try {
-            char[] ch = new char[100];
-            for (int i = 0; i < 100; i++) {
-                handler.characters(ch, 0, ch.length);
-            }
-        } catch (SAXException e) {
-            fail("Unexpected SAXException");
-        }
-    }
-
-    public void testManyCharactersWithoutInput() throws IOException {
-        try {
-            char[] ch = new char[100];
-            for (int i = 0; i < 20000; i++) {
-                handler.characters(ch, 0, ch.length);
-            }
-            fail("Expected SAXException not thrown");
-        } catch (SAXException e) {
-            // expected
-        }
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/sax/XHTMLContentHandlerTest.java b/trunk/tika-core/src/test/java/org/apache/tika/sax/XHTMLContentHandlerTest.java
deleted file mode 100644
index 73ac91f..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/sax/XHTMLContentHandlerTest.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tika.metadata.Metadata;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-import junit.framework.TestCase;
-
-/**
- * Unit tests for the {@link XHTMLContentHandler} class.
- */
-public class XHTMLContentHandlerTest extends TestCase {
-
-    private ContentHandler output;
-
-    private XHTMLContentHandler xhtml;
-
-    protected void setUp() {
-        output = new BodyContentHandler();
-        xhtml = new XHTMLContentHandler(output, new Metadata());
-    }
-
-    /**
-     * Test that content in block elements are properly separated in text
-     * output.
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-188">TIKA-188</a>
-     */
-    public void testExtraWhitespace() throws SAXException {
-        xhtml.startDocument();
-
-        xhtml.element("p", "foo");
-        xhtml.startElement("p");
-        xhtml.characters("b");
-        xhtml.element("b", "a"); // inlines should not cause extra whitespace
-        xhtml.characters("r");
-        xhtml.endElement("p");
-
-        xhtml.startElement("table");
-        xhtml.startElement("tr");
-        xhtml.element("th", "x");
-        xhtml.element("th", "y");
-        xhtml.endElement("tr");
-        xhtml.startElement("tr");
-        xhtml.element("td", "a");
-        xhtml.element("td", "b");
-        xhtml.endElement("tr");
-        xhtml.endElement("table");
-        xhtml.endDocument();
-
-        String[] words = output.toString().split("\\s+");
-        assertEquals(6, words.length);
-        assertEquals("foo", words[0]);
-        assertEquals("bar", words[1]);
-        assertEquals("x", words[2]);
-        assertEquals("y", words[3]);
-        assertEquals("a", words[4]);
-        assertEquals("b", words[5]);
-    }
-    
-    /**
-     * Test that content in option elements are properly separated in text
-     * output.
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-394">TIKA-394</a>
-     */
-    public void testWhitespaceWithOptions() throws Exception {
-        xhtml.startDocument();
-        xhtml.startElement("form");
-        xhtml.startElement("select");
-        xhtml.element("option", "opt1");
-        xhtml.element("option", "opt2");
-        xhtml.endElement("select");
-        xhtml.endElement("form");
-        xhtml.endDocument();
-
-        String[] words = output.toString().split("\\s+");
-        assertEquals(2, words.length);
-        assertEquals("opt1", words[0]);
-        assertEquals("opt2", words[1]);
-    }
-    
-    public void testWhitespaceWithMenus() throws Exception {
-        xhtml.startDocument();
-        xhtml.startElement("menu");
-        xhtml.element("li", "one");
-        xhtml.element("li", "two");
-        xhtml.endElement("menu");
-        xhtml.endDocument();
-        
-        String[] words = getRealWords(output.toString());
-        assertEquals(2, words.length);
-        assertEquals("one", words[0]);
-        assertEquals("two", words[1]);
-    }
-
-    /**
-     * Return array of non-zerolength words. Splitting on whitespace will get us
-     * empty words for emptylines.
-     * 
-     * @param string some mix of newlines and real words
-     * @return array of real words.
-     */
-    private static String[] getRealWords(String string) {
-        String[] possibleWords = string.split("\\s+");
-        List<String> words = new ArrayList<String>(possibleWords.length);
-        for (String word : possibleWords) {
-            if (word.length() > 0) {
-                words.add(word);
-            }
-        }
-        
-        return words.toArray(new String[words.size()]);
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/sax/xpath/XPathParserTest.java b/trunk/tika-core/src/test/java/org/apache/tika/sax/xpath/XPathParserTest.java
deleted file mode 100644
index 434732f..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/sax/xpath/XPathParserTest.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.sax.xpath;
-
-import junit.framework.TestCase;
-
-public class XPathParserTest extends TestCase {
-
-    private static final String NS = "test namespace";
-
-    private XPathParser parser;
-
-    protected void setUp() {
-        parser = new XPathParser();
-        parser.addPrefix(null, null);
-        parser.addPrefix("prefix", NS);
-    }
-
-    public void testText() {
-        Matcher matcher = parser.parse("/text()");
-        assertTrue(matcher.matchesText());
-        assertFalse(matcher.matchesElement());
-        assertFalse(matcher.matchesAttribute(NS, "name"));
-        assertEquals(Matcher.FAIL, matcher.descend(NS, "name"));
-    }
-
-    public void testAnyAttribute() {
-        Matcher matcher = parser.parse("/@*");
-        assertFalse(matcher.matchesText());
-        assertFalse(matcher.matchesElement());
-        assertTrue(matcher.matchesAttribute(null, "name"));
-        assertTrue(matcher.matchesAttribute(NS, "name"));
-        assertTrue(matcher.matchesAttribute(NS, "eman"));
-        assertEquals(Matcher.FAIL, matcher.descend(NS, "name"));
-    }
-
-    public void testNamedAttribute() {
-        Matcher matcher = parser.parse("/@name");
-        assertFalse(matcher.matchesText());
-        assertFalse(matcher.matchesElement());
-        assertTrue(matcher.matchesAttribute(null, "name"));
-        assertFalse(matcher.matchesAttribute(NS, "name"));
-        assertFalse(matcher.matchesAttribute(NS, "eman"));
-        assertEquals(Matcher.FAIL, matcher.descend(NS, "name"));
-    }
-
-    public void testPrefixedAttribute() {
-        Matcher matcher = parser.parse("/@prefix:name");
-        assertFalse(matcher.matchesText());
-        assertFalse(matcher.matchesElement());
-        assertFalse(matcher.matchesAttribute(null, "name"));
-        assertTrue(matcher.matchesAttribute(NS, "name"));
-        assertFalse(matcher.matchesAttribute(NS, "eman"));
-        assertEquals(Matcher.FAIL, matcher.descend(NS, "name"));
-    }
-
-    public void testAnyElement() {
-        Matcher matcher = parser.parse("/*");
-        assertFalse(matcher.matchesText());
-        assertFalse(matcher.matchesElement());
-        assertFalse(matcher.matchesAttribute(null, "name"));
-        assertFalse(matcher.matchesAttribute(NS, "name"));
-        assertFalse(matcher.matchesAttribute(NS, "eman"));
-        matcher = matcher.descend(NS, "name");
-        assertFalse(matcher.matchesText());
-        assertTrue(matcher.matchesElement());
-        assertFalse(matcher.matchesAttribute(null, "name"));
-        assertFalse(matcher.matchesAttribute(NS, "name"));
-        assertFalse(matcher.matchesAttribute(NS, "eman"));
-        assertEquals(Matcher.FAIL, matcher.descend(NS, "name"));
-    }
-
-    public void testNamedElement() {
-        Matcher matcher = parser.parse("/name");
-        assertFalse(matcher.matchesText());
-        assertFalse(matcher.matchesElement());
-        assertFalse(matcher.matchesAttribute(null, "name"));
-        assertFalse(matcher.matchesAttribute(NS, "name"));
-        assertFalse(matcher.matchesAttribute(NS, "eman"));
-        assertEquals(Matcher.FAIL, matcher.descend(NS, "name"));
-        assertEquals(Matcher.FAIL, matcher.descend(null, "enam"));
-        matcher = matcher.descend(null, "name");
-        assertFalse(matcher.matchesText());
-        assertTrue(matcher.matchesElement());
-        assertFalse(matcher.matchesAttribute(null, "name"));
-        assertFalse(matcher.matchesAttribute(NS, "name"));
-        assertFalse(matcher.matchesAttribute(NS, "eman"));
-    }
-
-    public void testPrefixedElement() {
-        Matcher matcher = parser.parse("/prefix:name");
-        assertFalse(matcher.matchesText());
-        assertFalse(matcher.matchesElement());
-        assertFalse(matcher.matchesAttribute(null, "name"));
-        assertFalse(matcher.matchesAttribute(NS, "name"));
-        assertFalse(matcher.matchesAttribute(NS, "eman"));
-        assertEquals(Matcher.FAIL, matcher.descend(null, "name"));
-        assertEquals(Matcher.FAIL, matcher.descend(NS, "enam"));
-        matcher = matcher.descend(NS, "name");
-        assertFalse(matcher.matchesText());
-        assertTrue(matcher.matchesElement());
-        assertFalse(matcher.matchesAttribute(null, "name"));
-        assertFalse(matcher.matchesAttribute(NS, "name"));
-        assertFalse(matcher.matchesAttribute(NS, "eman"));
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/utils/CharsetUtilsTest.java b/trunk/tika-core/src/test/java/org/apache/tika/utils/CharsetUtilsTest.java
deleted file mode 100644
index 9de2489..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/utils/CharsetUtilsTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.utils;
-
-import junit.framework.TestCase;
-
-public class CharsetUtilsTest extends TestCase {
-
-    public void testInvalidCharset() {
-        assertFalse(CharsetUtils.isSupported(" utf-8"));
-        assertFalse(CharsetUtils.isSupported("my charset name"));
-        assertFalse(CharsetUtils.isSupported("charset1; charset2"));
-        assertFalse(CharsetUtils.isSupported(null));
-        assertFalse(CharsetUtils.isSupported(""));
-    }
-    
-    public void testValidCharset() {
-        assertTrue(CharsetUtils.isSupported("UTF-8"));
-        assertFalse(CharsetUtils.isSupported("bogus"));
-    }
-    
-    public void testCleaningCharsetName() {
-        assertEquals("UTF-8", CharsetUtils.clean("utf-8"));
-        assertEquals(null, CharsetUtils.clean(""));
-        assertEquals(null, CharsetUtils.clean(null));
-        assertEquals("US-ASCII", CharsetUtils.clean(" us-ascii  "));
-        assertEquals("UTF-8", CharsetUtils.clean("\"utf-8\""));
-        assertEquals("ISO-8859-1", CharsetUtils.clean("ISO-8859-1, latin1"));
-    }
-    
-    public void testFunkyNames() {
-        assertEquals(null, CharsetUtils.clean("none"));
-        assertEquals(null, CharsetUtils.clean("no"));
-        
-        assertEquals("UTF-8", CharsetUtils.clean("utf-8>"));
-        
-        assertEquals("ISO-8859-1", CharsetUtils.clean("iso-8851-1"));
-        assertEquals("ISO-8859-15", CharsetUtils.clean("8859-15"));
-        
-        assertEquals("windows-1251", CharsetUtils.clean("cp-1251"));
-        assertEquals("windows-1251", CharsetUtils.clean("win1251"));
-        assertEquals("windows-1251", CharsetUtils.clean("WIN-1251"));
-        assertEquals("windows-1251", CharsetUtils.clean("win-1251"));
-        assertEquals("windows-1252", CharsetUtils.clean("Windows"));
-        
-        assertEquals("KOI8-R", CharsetUtils.clean("koi8r"));
-    }
-
-}
diff --git a/trunk/tika-core/src/test/java/org/apache/tika/utils/RegexUtilsTest.java b/trunk/tika-core/src/test/java/org/apache/tika/utils/RegexUtilsTest.java
deleted file mode 100644
index 41a1732..0000000
--- a/trunk/tika-core/src/test/java/org/apache/tika/utils/RegexUtilsTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.utils;
-
-import java.util.List;
-import junit.framework.TestCase;
-
-/**
- * Test case for {@link RegexUtils}.
- *
- * @version $Revision$ $Date$
- */
-public class RegexUtilsTest extends TestCase {
-
-    /** 
-     * Test {@link RegexUtils#extractLinks(String)} with no links.
-     */
-
-    public void testExtractLinksNone() {
-        List<String> links = null;
-                
-        links = RegexUtils.extractLinks(null);
-        assertNotNull(links);
-        assertEquals(0, links.size());
-        
-        links = RegexUtils.extractLinks("");
-        assertNotNull(links);
-        assertEquals(0, links.size());
-        
-        links = RegexUtils.extractLinks(
-                "Test with no links " +
-                "What about www.google.com");
-        assertNotNull(links);
-        assertEquals(0, links.size());
-    }
-      
-
-    /** 
-     * Test {@link RegexUtils#extractLinks(String)} for http.
-     */
-    public void testExtractLinksHttp() {
-        List<String> links = RegexUtils.extractLinks(
-                "Test with http://www.nutch.org/index.html is it found? " +
-                "What about www.google.com at http://www.google.de " +
-                "A longer URL could be http://www.sybit.com/solutions/portals.html");
-          
-        assertTrue("Url not found!", links.size() == 3);
-        assertEquals("Wrong URL", "http://www.nutch.org/index.html", links.get(0));
-        assertEquals("Wrong URL", "http://www.google.de", links.get(1));
-        assertEquals("Wrong URL", "http://www.sybit.com/solutions/portals.html", links.get(2));
-    }
-        
-    /** 
-     * Test {@link RegexUtils#extractLinks(String)} for ftp.
-     */
-    public void testExtractLinksFtp() {
-        List<String> links = RegexUtils.extractLinks(
-                "Test with ftp://www.nutch.org is it found? " +
-                "What about www.google.com at ftp://www.google.de");
-         
-        assertTrue("Url not found!", links.size() == 2);
-        assertEquals("Wrong URL", "ftp://www.nutch.org", links.get(0));
-        assertEquals("Wrong URL", "ftp://www.google.de", links.get(1));
-    }
-}
diff --git a/trunk/tika-core/src/test/resources/log4j.properties b/trunk/tika-core/src/test/resources/log4j.properties
deleted file mode 100644
index f2c0b92..0000000
--- a/trunk/tika-core/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-
-#info,debug, error,fatal ...
-log4j.rootLogger=info,stdout
-
-#console
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-
-# Pattern to output the caller's file name and line number.
-log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/language/da.test b/trunk/tika-core/src/test/resources/org/apache/tika/language/da.test
deleted file mode 100644
index 1238cd5..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/language/da.test
+++ /dev/null
@@ -1,108 +0,0 @@
-Genoptagelse af sessionen
-Jeg erklærer Europa-Parlamentets session, der blev afbrudt fredag den 17. december, for genoptaget. Endnu en gang vil jeg ønske Dem godt nytår, og jeg håber, De har haft en god ferie.
-Som De kan se, indfandt det store "år 2000-problem" sig ikke. Til gengæld har borgerne i en del af medlemslandene været ramt af meget forfærdelige naturkatastrofer. De har udtrykt ønske om en debat om dette emne i løbet af mødeperioden. I mellemtiden ønsker jeg - som også en del kolleger har anmodet om - at vi iagttager et minuts stilhed til minde om ofrene for bl.a. stormene i de medlemslande, der blev ramt. Jeg opfordrer Dem til stående at iagttage et minuts stilhed.
-(Parlamentet iagttog stående et minuts stilhed
-
-Fru formand, en bemærkning til forretningsordenen. Gennem pressen og tv vil De være bekendt med en række bombeeksplosioner og drab i Sri Lanka. En af de personer, der blev myrdet for ganske nylig i Sri Lanka, var hr. Kumar Ponnambalam, der besøgte Europa-Parlamentet for få måneder siden. Ville det være passende, hvis De, fru formand, sendte en skrivelse til Sri Lankas præsident for at udtrykke vores dybe beklagelse i forbindelse med Kumar Ponnambalams død og de andre voldsomme dødsfald i Sri Lanka og for indtrængende at anmode præsidenten om at gøre alt for at opnå en fredelig løsning på en meget vanskelig situation?
-
-Ja, hr. Evans, jeg mener, at et initiativ, som det, De foreslår, ville være meget hensigtsmæssigt. Hvis Europa-Parlamentet er enigt, vil jeg gøre, som hr. Evans har foreslået.
-
-Fru formand, en bemærkning til forretningsordenen. Jeg vil gerne have Deres råd om artikel 143 vedrørende afvisning. Mit spørgsmål omhandler et emne, der vil blive behandlet på torsdag, og jeg vil gerne tage emnet op igen ved den lejlighed.
-Betænkningen af Cunha om flerårige udviklingsprogrammer skal forhandles af Parlamentet på torsdag og indeholder et forslag i punkt 6 om, at der skal indføres kvotesanktioner for lande, der ikke overholder deres årlige målsætninger for flådereduktion. Dette skal i henhold til punkt 6 indføres til trods for princippet om relativ stabilitet. Jeg mener, at princippet om relativ stabilitet er et grundlæggende retsprincip for den fælles fiskeripolitik, og at der vil være juridisk belæg for at afvise et forslag om at undergrave dette princip. Jeg vil gerne vide, om man kan gøre indsigelse mod noget, der bare er en betænkning og ikke et forslag til retsakt, og om det er noget, jeg kan gøre på torsdag?
-
-Det er netop dér, De - hvis De ønsker det - kan rejse dette spørgsmål, det vil sige på torsdag ved forhandlingens begyndelse.
-
-Fru formand, samtidig med Europa-Parlamentets første mødeperiode i år har man i Texas i USA fastsat datoen for henrettelsen af en dødsdømt, nemlig en ung mand på 34 år ved navn Hicks, og det er desværre på næste torsdag.
-På anmodning af et fransk parlamentsmedlem, hr. Zimeray, er der allerede indgivet et andragende, som mange har skrevet under på, heriblandt undertegnede, men i tråd med den holdning, som Europa-Parlamentet og hele Det Europæiske Fællesskab konstant giver udtryk for, anmoder jeg Dem om at gøre den indflydelse, De har i kraft af Deres embede og den institution, De repræsenterer, gældende over for præsidenten og Texas' guvernør Bush, som har beføjelse til at ophæve dødsdommen og benåde den dømte.
-Alt dette er i tråd med de principper, vi altid har været tilhængere af.
-
-Tak, hr. Segni, det gør jeg med glæde. Det er således helt i tråd med den holdning, Europa-Parlamentet altid har indtaget.
-
-Fru formand, jeg vil gerne gøre Dem opmærksom på en sag, som Parlamentet har beskæftiget sig med gentagne gange. Det drejer sig om Alexander Nikitin. Vi glæder os alle sammen over, at domstolen har frifundet ham og understreget, at adgangen til miljøinformationer også er konstitutionel ret i Rusland. Men nu er det sådan, at han skal anklages igen, fordi statsadvokaten har anket dommen. Vi ved og har fastslået i virkelig mange beslutninger - netop på det sidste møde sidste år - at dette ikke bare er en juridisk sag, og at det er forkert at beskylde Alexander Nikitin for at have begået kriminalitet og forræderi, fordi vi som berørte nyder godt af hans resultater. Disse resultater er grundlaget for de europæiske programmer til beskyttelse af Barentsee, og derfor beder jeg Dem gennemgå et brevudkast, som beskriver de vigtigste fakta, og tydeliggøre denne holdning i Rusland i overensstemmelse med Parlamentets beslutninger.
-
-Ja, fru Schroedter, jeg skal med glæde undersøge dette spørgsmål, når jeg har modtaget Deres brev.
-
-Fru formand, jeg vil gerne først give Dem en kompliment for den kendsgerning, at De har holdt Deres ord, og at antallet af tv-kanaler på vores kontorer faktisk er udvidet enormt nu i denne første mødeperiode i det nye år. Men, fru formand, det, som jeg havde anmodet om, er ikke sket. Der er nu ganske vist to finske kanaler og en portugisisk kanal, men der er stadig ingen nederlandsk kanal, og jeg havde anmodet Dem om en nederlandsk kanal, fordi også nederlændere gerne vil følge med i nyhederne hver måned, når vi forvises til dette sted. Jeg vil således endnu en gang anmode Dem om alligevel at sørge for, at vi også får en nederlandsk kanal.
-
-Fru Plooij-van Gorsel, jeg kan oplyse Dem om, at dette spørgsmål er opført på dagsordenen for kvæstorernes møde på onsdag. Det vil, håber jeg, blive behandlet i en positiv ånd.
-
-Fru formand, kan De fortælle mig, hvorfor Parlamentet ikke overholder de lovgivningsbestemmelser om sundhed og sikkerhed, som det selv har fastsat? Hvorfor er der ikke foretaget en undersøgelse af luftkvaliteten i denne bygning, siden vi blev valgt? Hvorfor har Sundheds- og Sikkerhedsudvalget ikke haft et møde siden 1998? Hvorfor har der ikke været brandøvelser, hverken i parlamentsbygningerne i Bruxelles eller Strasbourg? Hvorfor er der ingen brandinstrukser? Hvorfor etableres der ikke områder med rygeforbud? Det er fuldstændig skandaløst, at vi fastsætter lovgivningsbestemmelser og så ikke overholder dem selv.
-
-Fru Lynne, De har fuldstændig ret, og jeg vil kontrollere, om alle disse ting virkelig ikke er blevet gjort. Jeg vil ligeledes fremlægge problemet for kvæstorerne, og jeg er sikker på, at kvæstorerne vil bestræbe sig på at sørge for, at vi overholder den lovgivning, vi vedtager.
-
-Fru formand, fru Díez González og jeg havde stillet nogle spørgsmål om visse holdninger gengivet i en spansk avis, som næstformanden, fru de Palacio, har givet udtryk for. De kompetente tjenestegrene har ikke opført dem på dagsordenen, fordi de mener, at de blev besvaret ved et tidligere møde.
-Jeg anmoder om, at denne beslutning tages op til fornyet overvejelse, for det er ikke tilfældet. De spørgsmål, der tidligere er blevet besvaret, drejede sig om fru de Palacios medvirken i en bestemt sag og ikke om de erklæringer, som kunne læses i avisen ABC den 18. november sidste år.
-
-Kære kolleger, vi vil undersøge alt dette. Jeg må indrømme, at det hele forekommer mig lidt forvirrende i øjeblikket. Derfor vil vi undersøge det meget omhyggeligt, således at alt er, som det skal være.
-
-Fru formand, jeg vil gerne vide, om der kommer en klar melding fra Parlamentet i denne uge om vores utilfredshed i forbindelse med dagens beslutning om ikke at forlænge embargoen mod våbeneksport til Indonesien i betragtning af, at et stort flertal i Parlamentet tidligere har undertegnet våbenembargoen i Indonesien. Dagens beslutning om ikke at forlænge embargoen er meget farlig på grund af situationen der. Parlamentet bør derfor tilkendegive sin holdning, da det er flertallets ønske. Det er uansvarligt af EU-medlemsstater at nægte at forlænge embargoen. Som nævnt tidligere er der tale om en meget ustabil situation. Der er endog fare for et militærkup i fremtiden. Vi ved ikke, hvad der sker. Så hvorfor skal våbenproducenter i EU profitere på bekostning af uskyldige mennesker?
-
-Under alle omstændigheder er punktet ikke på nuværende tidspunkt opført under forhandlingen om aktuelle og uopsættelige spørgsmål på torsdag.
-
-Arbejdsplan
-Næste punkt på dagsordenen er fastsættelse af arbejdsplanen.
-Det endelige forslag til dagsorden, som det blev opstillet af Formandskonferencen på mødet torsdag den 13. januar i overensstemmelse med forretningsordenens artikel 95, er omdelt.
-Det foreligger ingen forslag til ændring for mandag og tirsdag.
-Onsdag:
-PSE-gruppen anmoder om at få en redegørelse fra Kommissionen om dens strategiske mål for de kommende fem år samt om den administrative reform opført på dagsordenen.
-Hvis hr. Barón Crespo, der har fremsat anmodningen, ønsker det, opfordrer jeg ham til at begrunde sit forslag. Dernæst gør vi, som vi plejer, det vil sige, at vi hører et indlæg for og et indlæg imod forslaget.
-
-Fru formand, forelæggelsen af Prodi-Kommissionens politiske program for hele valgperioden var til at begynde med et forslag fra De Europæiske Socialdemokraters Gruppe, som opnåede enstemmighed på Formandskonferencen i september og også hr. Prodis udtrykkelige accept, og han gentog sit løfte i sin indsættelsestale.
-Dette løfte er vigtigt, fordi Kommissionen er et organ, der har initiativmonopol i henhold til traktaterne og derfor grundlæggende udformer Parlamentets politiske arbejde og lovgivningsarbejde i de kommende fem år. Jeg vil også minde om, fru formand, at Parlamentet to gange i foregående valgperiode ved afstemning gav udtryk for sin tillid til formand Prodi. I denne valgperiode igen i juli og senere, med den nye Kommission på plads, gav det igen i september hele Kommissionen et tillidsvotum. Der har derfor været tid nok til, at Kommissionen kunne forberede sit program, og til at vi kunne få kendskab til det og forklare det til borgerne. I den forbindelse vil jeg minde om beslutningen fra 15. september, hvori der blev henstillet til, at forslaget blev forelagt hurtigst muligt.
-Det, der skete i sidste uge - og som opstod uden for Formandskonferencen, hvor den udelukkende blev brugt til at bekræfte og godkende beslutninger, som var truffet uden for den - skaber et dilemma: Enten er Kommissionen ikke i stand til at fremlægge det program. (I så fald ville det være passende, at den informerede om det. Ifølge kommissionsformandens udsagn er de i stand til at gøre det. Eftersom Kommissionen er repræsenteret af næstformanden, fru de Palacio, mener jeg, at det før afstemningen ville være på sin plads at være på det rene med Kommissionens situation, hvad angår dets vilje til at forelægge programmet, ligesom det var blevet aftalt.) Eller også er Parlamentet ikke i stand til at behandle dette program, som der vist er nogle, der påstår. Efter min mening ville denne anden hypotese være det samme som at give afkald på vores ansvar som parlament og desuden at indføre en original teori, en ukendt metode, der består i skriftligt at give de politiske grupper kendskab til Kommissionens program en uge før - og ikke dagen før, som det var aftalen - i betragtning af, at lovgivningsprogrammet skal diskuteres i februar, således at vi kunne springe forhandlingen over, fordi pressen og Internettet dagen efter havde givet alle borgerne kendskab til det, og Parlamentet ville ikke længere behøve at bekymre sig om sagen.
-Da min gruppe mener, at et parlament er til for at lytte, diskutere og overveje, mener vi, at der ikke er noget som helst, der kan retfærdiggøre denne udsættelse, og vi mener, at hvis Kommissionen er i stand til at gøre det, er der tid nok til, at vi kan genetablere den oprindelige aftale mellem Parlamentet og Kommissionen og handle ansvarligt over for vores medborgere. Derfor går det forslag, som De Europæiske Socialdemokraters Gruppe stiller, og som De har nævnt, ud på, at vi holder fast ved forelæggelsen af Prodi-Kommissionens program for valgperioden på onsdag, og at dette program også omfatter forslaget til administrativ reform, for hvis det ikke bliver sådan, kan vi komme i en paradoksal situation: Med en undskyldning om at der ikke er en tekst, nægtes formanden for Kommissionen på den ene side retten til at tale i Parlamentet, og på den anden side forhindres det, at der finder en forhandling sted om reformen, uden at Parlamentet på forhånd kender de tekster, som den er baseret på. Derfor, fru formand, anmoder jeg Dem om at bede Kommissionen om at udtale sig nu, og at vi derefter går over til afstemning.
-(Bifald fra PSE-gruppen)
-
-Fru formand, kære kolleger, jeg er godt nok noget forbavset over vores kollega Barón Crespos opførsel. Han forlanger nu, at dette punkt sættes på dagsordenen for onsdag.
-Hr. Barón Crespo, De kunne ikke deltage den sidste torsdag på Formandskonferencen. Det kritiserer jeg ikke, for det sker af og til, at man lader sig repræsentere. Hr. Hänsch repræsenterede Dem dér. Vi havde en udførlig debat på Formandskonferencen. Kun Deres gruppe repræsenterede det, som De siger nu. Vi stemte derefter om det. Hver ordfører har jo lige så mange stemmer, som der er medlemmer i gruppen. Der var en afstemning om dette punkt. Så vidt jeg husker, faldt denne afstemning således ud: 422 mod 180 stemmer og nogle få, der undlod at stemme. Det vil sige, at alle grupper med undtagelse af løsgængerne - men de udgør jo ikke nogen gruppe - var enige, kun Deres gruppe mente, at man skulle bære sig sådan ad, som De har foreslået her. Alle andre mente noget andet. Det var beslutningen.
-Nu vil jeg gerne sige noget til selve sagen. Vi har tillid til Kommissionen, til Romano Prodi, og flertallet i vores gruppe har udtrykt tillid til Romano Prodi og Kommissionen efter en vanskelig proces, som alle kender til. Men vi mener også, at vi skal have en debat om Kommissionens strategi i en ordinær procedure, ikke kun på baggrund af en mundtlig forklaring her i Europa-Parlamentet, men også på baggrund af et dokument, som er blevet besluttet i Kommissionen, og som beskriver dette program for fem år. Et sådant dokument findes ikke!
-
-Kommissionen vil fremlægge programmet for år 2000 til februar. Vi har sagt, at hvis Kommissionen ikke ønsker at lave programmet for år 2000 i januar, så gør vi det i februar. Det har vi godkendt. Vi ønsker sådan set ikke nogen konflikt med Kommissionen, vi mener derimod, at hvis det går, skal Kommissionen og Parlamentet gå samme vej. Men Parlamentet er også Kommissionens kontrollør. Og ikke alt, hvad der kommer fra Kommissionen, skal nødvendigvis være i overensstemmelse med os.
-Jeg vil gerne have, at vi får mulighed for at forberede os fornuftigt på en debat om femårsprogrammet i grupperne. Man kan ikke forberede sig, hvis man hører en forklaring her og slet ikke ved, hvad indholdet af en sådan forklaring er. Derfor anbefaler vi - og det er mit indtryk, at Kommissionen også er åben over for denne tanke - at vi fører debatten om Kommissionens langsigtede program frem til år 2005 i februar - jeg håber også, at Kommissionen er blevet enig om et program til den tid, som den vil foreslå os - og at vi samtidig fører en debat om Kommissionens lovgivningsprogram for år 2000 i februar. Det er således også en fornuftig saglig sammenhæng, som råder os til at føre debatten om begge programmer i fællesskab. Derfor afviser min gruppe på det bestemteste Den Socialdemokratiske Gruppes forslag!
-(Bifald fra PPE-DE-gruppen)
-
-Fru formand, jeg vil gøre det meget klart, at Kommissionen først og fremmest har den største respekt for Parlamentets beslutninger, deriblandt opstillingen af dagsordenen. Derfor respekterer vi Parlamentets beslutning, hvad det angår.
-Men jeg vil også gøre det meget klart, at hr. Prodi aftalte med Parlamentet at indføre en ny forhandling, som hr. Barón nok husker, ud over den årlige forhandling om Kommissionens lovgivningsprogram, om hovedlinjerne i aktionerne for den kommende femårsperiode, altså for denne valgperiode.
-Jeg vil sige, fru formand, at denne forhandling i den aftale, som blev indgået i september, adskilte sig fra Kommissionens årlige forelæggelse af programmet for lovgivningen. Og jeg vil sige, fru formand, at vi i Kommissionen er forberedt på og rede til at deltage i den forhandling, når det er belejligt, at vi var rede til at gennemføre den i denne uge, som det var aftalt fra begyndelsen, med udgangspunkt i at den blev forelagt dagen før i en tale til de parlamentariske grupper.
-Jeg vil derfor gentage, fru formand, at vi for vores del har diskuteret handlingsprogrammet for de kommende fem år, og at vi er rede til, når Parlamentet bestemmer det - i denne uge, hvis det er beslutningen - at komme og forelægge programmet for de kommende fem år og i næste måned programmet for 2000, hvilket er helt i overensstemmelse med aftalen.
-
-Jeg foreslår, at vi stemmer om PSE-gruppens anmodning om at få en redegørelse fra Kommissionen om dens strategiske mål genopført på dagsordenen.
-(Forslaget forkastedes) Formanden. Stadig med hensyn til dagsordenen for onsdag har jeg et forslag om de mundtlige forespørgsler om kapitalskat. PPE-DE-gruppen ønsker, at dette punkt tages af dagsordenen.
-Ønsker nogen at tage ordet på vegne af gruppen for at begrunde denne anmodning?
-
-Fru formand, da jeg kan høre en smule latter fra Socialdemokraterne - jeg har fået fortalt, at brede kredse i Den Socialdemokratiske Gruppe også gerne vil have taget dette punkt af dagsordenen, fordi der ved afstemningen på Formandskonferencen ikke forelå noget votum fra arbejdsgruppen af ansvarlige kolleger i Den Socialdemokratiske Gruppe. Jeg ved ikke, om denne oplysning er rigtig, men PPE-DE-gruppen ville i hvert fald være taknemmelig, hvis dette punkt blev annulleret, fordi Parlamentet allerede har beskæftiget sig med dette spørgsmål flere gange. Der er også truffet beslutninger mod en sådan skat. Derfor anmoder min gruppe om, at dette punkt tages af dagsordenen.
-
-Tak, hr. Poettering.
-Vi skal nu høre hr. Wurtz, der er imod forslaget.
-
-Fru formand, jeg vil først og fremmest fremhæve hr. Poetterings manglende konsekvens. For et øjeblik siden belærte han socialdemokraterne, fordi de ville ændre en klar beslutning truffet på Formandskonferencen. Imidlertid gør han det samme. Vi havde en diskussion, vi var alle - på nær PPE-DE-gruppen og Den Liberale Gruppe - enige, og jeg bemærkede endda - som De sikkert husker, kære medformænd - at det ikke drejede sig om, hvorvidt De er for eller imod Tobin-afgiften, men om De turde høre, hvad Kommissionen og Rådet mente om den. Dette er ikke for meget forlangt. Derfor fastholder jeg forslaget om at bevare det mundtlige spørgsmål til Kommissionen og Rådet, således at vi én gang for alle får opklaret, hvilken holdning de to institutioner har til dette ret beskedne forslag, som dog sender et vigtigt signal til befolkningen, navnlig efter fiaskoen i Seattle.
-
-Vi skal stemme om PPE-DE-gruppens anmodning om, at de mundtlige forespørgsler om kapitalskat tages af dagsordenen.
-(Forslaget forkastedes. 164 stemte for, 166 stemte imod, og 7 undlod at stemme)
-
-Fru formand, jeg vil gerne takke hr. Poettering for den reklame, han netop har gjort for denne debat. Tak.
-
-Fru formand, er min stemme, som jeg ikke kunne afgive elektronisk, fordi jeg ikke har kortet, blevet talt med? Jeg stemte for.
-
-Det er rigtigt. Hvis vi tilføjer de to kolleger, der har givet sig til kende, bliver resultatet ...
-
-Fru formand, formandskabet har bekendtgjort afstemningens udfald. Det kan der ikke laves om på.
-
-Kære kolleger, jeg minder endnu en gang om, at det er vigtigt, at alle har deres kort om mandagen. Det er tydeligt, at vi har et problem, og jeg må derfor træffe en beslutning.
-Jeg har også glemt mit kort, og jeg ville have stemt imod. Derfor mener jeg, at det mundtlige spørgsmål fortsat skal medtages på dagsordenen.
-Det er sidste gang, vi vil tage hensyn til glemte kort. Lad dette være helt klart, og husk det.
-(Bifald)
-Ja, det mundtlige spørgsmål er fortsat opført på dagsordenen, og ja, formanden har ret til at stemme, ligesom hun har ret til at glemme sit kort.
-Vi fortsætter nu med de øvrige ændringer af dagsordenen.
-
-Fru formand, i den tidligere afstemning - og jeg vil rette mig efter Deres afgørelse om dette emne - om spørgsmålet om Kommissionens redegørelse om dens strategiske mål gav jeg udtryk for, at jeg gerne ville tale på vegne af min gruppe før afstemningen. Det blev ikke til noget. Jeg vil sætte pris på at få lejlighed til at afgive stemmeforklaring på vegne af min gruppe i forbindelse med afslutningen af dette spørgsmål. Det er et vigtigt spørgsmål, og det vil være nyttigt for Parlamentet, hvis det er angivet, hvordan de forskellige personer opfatter vores handlinger i lyset af deres egne politiske analyser.
-
-Fru formand, jeg vil ikke genoptage debatten, men jeg havde også meldt mig for at tage stilling til hr. Barón Crespos ændringsforslag. De råbte mig heller ikke op. Det beklager jeg, men afstemningen er gennemført, afgørelsen er truffet, vi lader det altså ligge.
-
-Jeg beklager, hr. Hänsch og hr. Cox, jeg så ikke, at De anmodede om ordet. Men i øvrigt mener jeg, at holdningerne er meget klare, og de vil blive indført i protokollen. Når vi i morgen skal vedtage protokollen for i dag, kan de kolleger, der ikke synes, at holdningerne er blevet tilstrækkeligt forklaret, anmode om ændringer. Det, mener jeg, er en god løsning. Selvfølgelig vil protokollen for mødet i morgen tage hensyn til alle de supplerende forklaringer. Jeg mener, at det er en bedre løsning end at gå over til stemmeforklaringer på nuværende tidspunkt, som ville være et stort sidespring. Hr. Cox og hr. Hänsch, passer denne løsning Dem?
-
-Fru formand, hvis protokollen giver korrekt udtryk for min gruppes holdning i forbindelse med afstemningen, vil og kan jeg ikke gøre indsigelser. Hvis De afgør, at der ikke er grund til at afgive stemmeforklaring, vil jeg acceptere det, men med forbehold.
-
-Vi vil derfor være meget opmærksomme på udarbejdelsen af protokollen. Det er vi i øvrigt altid. Hvis holdningerne ikke klart fremgår, kan vi eventuelt ændre den.
-(Den således ændrede dagsorden godkendtes)
-
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/language/de.test b/trunk/tika-core/src/test/resources/org/apache/tika/language/de.test
deleted file mode 100644
index 9d6e5c9..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/language/de.test
+++ /dev/null
@@ -1,104 +0,0 @@
-Wiederaufnahme der Sitzungsperiode
-Ich erkläre die am Freitag, dem 17. Dezember unterbrochene Sitzungsperiode des Europäischen Parlaments für wiederaufgenommen, wünsche Ihnen nochmals alles Gute zum Jahreswechsel und hoffe, daß Sie schöne Ferien hatten.
-Wie Sie feststellen konnten, ist der gefürchtete "Millenium-Bug " nicht eingetreten. Doch sind Bürger einiger unserer Mitgliedstaaten Opfer von schrecklichen Naturkatastrophen geworden. Im Parlament besteht der Wunsch nach einer Aussprache im Verlauf dieser Sitzungsperiode in den nächsten Tagen. Heute möchte ich Sie bitten - das ist auch der Wunsch einiger Kolleginnen und Kollegen -, allen Opfern der Stürme, insbesondere in den verschiedenen Ländern der Europäischen Union, in einer Schweigeminute zu gedenken. Ich bitte Sie, sich zu einer Schweigeminute zu erheben.
-(Das Parlament erhebt sich zu einer Schweigeminute.)
-
-Frau Präsidentin, zur Geschäftsordnung. Wie Sie sicher aus der Presse und dem Fernsehen wissen, gab es in Sri Lanka mehrere Bombenexplosionen mit zahlreichen Toten. Zu den Attentatsopfern, die es in jüngster Zeit in Sri Lanka zu beklagen gab, zählt auch Herr Kumar Ponnambalam, der dem Europäischen Parlament erst vor wenigen Monaten einen Besuch abgestattet hatte. Wäre es angemessen, wenn Sie, Frau Präsidentin, der Präsidentin von Sri Lanka in einem Schreiben das Bedauern des Parlaments zum gewaltsamen Tod von Herrn Ponnambalam und anderen Bürgern von Sri Lanka übermitteln und sie auffordern würden, alles in ihrem Kräften stehende zu tun, um nach einer friedlichen Lösung dieser sehr schwierigen Situation zu suchen?
-
-Ja, Herr Evans, ich denke, daß eine derartige Initiative durchaus angebracht ist. Wenn das Haus damit einverstanden ist, werde ich dem Vorschlag von Herrn Evans folgen.
-
-Frau Präsidentin, zur Geschäftsordnung. Könnten Sie mir eine Auskunft zu Artikel 143 im Zusammenhang mit der Unzulässigkeit geben? Meine Frage betrifft eine Angelegenheit, die am Donnerstag zur Sprache kommen wird und auf die ich dann erneut verweisen werde.
-Das Parlament wird sich am Donnerstag mit dem Cunha-Bericht über mehrjährige Ausrichtungsprogramme befassen, der in Absatz 6 vorschlägt, daß Länder, die ihr Soll zur Flottenverkleinerung nicht erfüllen, jährlich mit einer Art Quotenstrafe belegt werden sollen. Und zwar sollen derartige Strafen trotz des Grundsatzes der relativen Stabilität verhängt werden. Ich meine, daß der Grundsatz der relativen Stabilität einen elementaren Rechtsgrundsatz der gemeinsamen Fischereipolitik darstellt und ein Vorschlag, diesen zu unterlaufen, rechtlich unzulässig wäre. Ich möchte wissen, ob es möglich ist, einen Einwand gegen ein Dokument zu erheben, bei dem es sich lediglich um einen Bericht und keinen Legislativvorschlag handelt, und ob ich befugt bin, dies am Donnerstag zu tun.
-
-Genau dann können Sie, wenn Sie wollen, diese Frage ansprechen, d. h. am Donnerstag zu Beginn der Aussprache über den Bericht.
-
-Frau Präsidentin! Die erste diesjährige Tagung des Europäischen Parlaments fällt leider damit zusammen, daß in den Vereinigten Staaten, in Texas, für Donnerstag dieser Woche die Hinrichtung eines zum Tode verurteilten 34jährigen jungen Mannes namens Hicks festgelegt worden ist.
-Auf Wunsch eines französischen Mitglieds, Herrn Zimeray, wurde bereits eine Petition eingereicht, die von vielen, auch von mir selbst, unterzeichnet worden ist. Gemäß der vom Europäischen Parlament und von der gesamten Europäischen Union nunmehr ständig vertretenen Linie möchte ich Sie jedoch bitten, den ganzen Einfluß Ihres Amtes und der Institution, die Sie vertreten, bei dem Präsidentschaftskandidaten und Gouverneur von Texas, George W. Bush, der zur Aussetzung der Vollstreckung des Todesurteils und zur Begnadigung des Verurteilten befugt ist, geltend zu machen.
-All dies entspricht den Grundsätzen, die wir stets verteidigt haben.
-
-Vielen Dank, Herr Segni, das will ich gerne tun. Das ist ganz im Sinne der Position, die wir als Parlament immer vertreten haben.
-
-Frau Präsidentin! Ich möchte Sie auf einen Fall aufmerksam machen, mit dem sich dieses Parlament immer wieder befaßt hat. Das ist der Fall von Alexander Nikitin. Wir freuen uns hier alle, daß das Gericht ihn freigesprochen und deutlich gemacht hat, daß auch in Rußland der Zugang zu Umweltinformationen konstitutionelles Recht ist. Nun ist es aber so, daß er wieder angeklagt werden soll, weil der Staatsanwalt in Berufung geht. Wir wissen und wir haben es in wirklich sehr vielen Entschließungen festgestellt - gerade während der letzten Plenartagung des vergangenen Jahres-, daß dies nicht nur ein juristischer Fall ist und daß es falsch ist, Alexander Nikitin Kriminalität und Verrat vorzuwerfen, weil wir als Betroffene von seinen Ergebnissen einen Nutzen haben. Diese Ergebnisse sind die Grundlage für die europäischen Programme zum Schutz der Barentsee, und deswegen bitte ich Sie, einen Briefentwurf, der Ihnen die wichtigsten Fakten schildert, zu prüfen und im Sinne der Beschlüsse des Parlaments in Rußland diese Position deutlich zu machen.
-
-Frau Schroedter, ich bin gerne bereit, die damit zusammenhängenden Fakten zu prüfen, wenn mir Ihr Brief vorliegt.
-
-Frau Präsidentin, zunächst besten Dank dafür, daß Sie Wort gehalten haben und nun in der ersten Sitzungsperiode des neuen Jahres das Angebot an Fernsehprogrammen in unseren Büros tatsächlich enorm erweitert ist. Dennoch, Frau Präsidentin, wurde meinem Wunsch nicht entsprochen. Zwar können wir jetzt zwei finnische und einen portugiesischen, nach wie vor aber keinen niederländischen Sender empfangen. Ich hatte Sie aber um ein niederländisches Programm gebeten, denn auch wir Niederländer möchten die Nachrichten verfolgen, wenn wir jeden Monat hierher in die Verbannung geschickt werden. Deshalb möchte ich Sie nochmals ersuchen, dafür Sorge zu tragen, daß auch ein niederländischer Sender eingespeist wird.
-
-Frau Plooij-van Gorsel, ich kann Ihnen mitteilen, daß dieser Punkt am Mittwoch auf der Tagesordnung der Quästoren steht. Ich hoffe, daß dort in Ihrem Sinne entschieden wird.
-
-Frau Präsidentin, können Sie mir sagen, warum sich dieses Parlament nicht an die Arbeitsschutzregelungen hält, die es selbst verabschiedet hat? Weshalb wurde die Luftqualität in diesem Gebäude seit unserer Wahl nicht ein einziges Mal überprüft? Weshalb ist der Arbeitsschutzausschuß seit 1998 nicht ein einziges Mal zusammengetreten? Warum hat weder im Brüsseler noch im Straßburger Parlamentsgebäude eine Brandschutzübung stattgefunden? Warum finden keine Brandschutzbelehrungen statt? Warum wurde nach meinem Unfall nichts unternommen, um die Treppen sicherer zu machen? Warum wird in den Nichtraucherzonen das Rauchverbot nicht durchgesetzt? Es ist eine Schande, daß wir Regeln verabschieden, an die wir uns dann selbst nicht halten.
-
-Frau Lynne, Sie haben völlig recht, und ich werde prüfen, ob all dies wirklich so ist. Ich werde die Frage auch den Quästoren unterbreiten. Ich bin mir sicher, daß diese großen Wert darauf legen, daß wir die Rechtsvorschriften, die wir verabschieden, auch selbst einhalten.
-
-Frau Präsidentin! Frau Díez González und ich hatten einige Anfragen zu bestimmten, in einer spanischen Zeitung wiedergegebenen Stellungnahmen der Vizepräsidentin, Frau de Palacio, gestellt. Die zuständigen Dienste haben sie nicht in die Tagesordnung aufgenommen, da sie der Meinung waren, sie seien schon in einer vorangegangenen Sitzung beantwortet worden.
-Ich bitte, diese Entscheidung zu überdenken, weil das nicht der Fall ist. Die früher beantworteten Anfragen bezogen sich auf das Auftreten von Frau de Palacio in einer bestimmten Angelegenheit, nicht auf die am 18. November des vergangenen Jahres in der Tageszeitung ABC erschienenen Erklärungen.
-
-Lieber Kollege, wir werden das prüfen. Ich muß Ihnen aber sagen, daß ich die Lage im Moment für etwas verworren halte. Wir werden das aber sehr genau prüfen, damit alles seine Richtigkeit hat.
-
-Frau Präsidentin, ich wüßte gern, ob das Parlament in dieser Woche ein deutliches Signal unserer Unzufriedenheit bezüglich der heutigen Entscheidung, mit der eine Verlängerung des Waffenembargos gegen Indonesien abgelehnt wird, aussenden wird, zumal sich die große Mehrheit in diesem Parlament in der Vergangenheit für das Waffenembargo gegen Indonesien ausgesprochen hat. Die heutige Entscheidung gegen eine Verlängerung des Embargos birgt angesichts der dortigen Lage eine sehr große Gefahr. Das Parlament sollte, da dies dem Wunsch der großen Mehrheit entspricht, eine entsprechende Botschaft senden. Die Ablehnung einer Verlängerung des Embargos seitens der EU-Mitgliedstaaten ist unverantwortlich. Wie bereits festgestellt wurde, ist die Lage in Indonesien äußerst instabil. Es besteht sogar die Gefahr eines Militärputsches. Wir wissen nicht, was passiert. Weshalb also sollten Waffenhersteller in der EU auf Kosten unschuldiger Menschen Profite einstreichen?
-
-Dieser Punkt ist bisher nicht für die Dringlichkeitsdebatte am Donnerstag vorgesehen.
-
-Arbeitsplan
-Nach der Tagesordnung folgt die Prüfung des endgültigen Entwurfs der Tagesordnung, wie er nach Artikel 110 der Geschäftsordnung am Donnerstag, dem 13. Januar von der Konferenz der Präsidenten festgelegt wurde. Zu Montag und Dienstag liegen keine Änderungen vor.
-Zum Mittwoch:
-Die Sozialdemokratische Fraktion beantragt, eine Erklärung der Kommission über ihre strategischen Ziele für die nächsten fünf Jahre sowie über die Verwaltungsreform der Kommission in die Tagesordnung aufzunehmen.
-Ich bitte den Antragsteller, Herrn Barón Crespo, seinen Antrag zu begründen, falls er dies wünscht. Danach verfahren wir wie üblich: ein Redner dafür, einer dagegen.
-
-Frau Präsidentin! Die Vorstellung des politischen Programms der Kommission Prodi für die gesamte Wahlperiode ging auf einen Vorschlag der Fraktion der Sozialdemokratischen Partei Europas zurück, der die einhellige Billigung der Konferenz der Präsidenten im September und auch die ausdrückliche Zustimmung von Präsident Prodi fand, der seine Zusage in seiner Antrittsrede bekräftigte.
-Diese Zusage ist insofern von Bedeutung, als die Kommission ein Organ ist, das nach den Verträgen das Initiativmonopol besitzt und somit grundlegend die politische und legislative Tätigkeit dieses Parlaments in den nächsten fünf Jahren gestaltet. Ich möchte auch daran erinnern, daß dieses Parlament in der vorangegangenen Wahlperiode Präsident Prodi zweimal sein Vertrauen ausgesprochen hat; in dieser Wahlperiode sprach es ihm im Juli erneut sein Vertrauen aus, und dann, als die neue Kommission im Amt war, gab es im September erneut ein Vertrauensvotum für die Kommission insgesamt. Somit hatte die Kommission bereits genügend Zeit, ihr Programm zu erarbeiten, und wir, um es kennenlernen und den Bürgern erklären zu können. In diesem Sinne erinnere ich an die Entschließung vom 15. September, in der empfohlen wurde, den Vorschlag in der kürzestmöglichen Frist vorzulegen.
-Die Ereignisse der vergangenen Woche - die am Rande der Konferenz der Präsidenten ihren Anfang nahmen und wobei diese Konferenz nur zur Bestätigung und Ratifizierung von außerhalb gefaßten Beschlüssen genutzt wurde - verdeutlichen ein Dilemma: Entweder ist die Kommission nicht in der Lage, dieses Programm vorzulegen (In diesem Fall sollte sie eine Klärung herbeiführen. Nach den Worten ihres Präsidenten ist sie dazu in der Lage. Da die Kommission durch die Vizepräsidentin, Frau de Palacio, vertreten ist, halte ich es für zweckmäßig, vor der Abstimmung die Position der Kommission hinsichtlich ihrer Bereitschaft zur Vorstellung des Programms, so wie es vereinbart war, zu erfahren.), oder das Parlament ist zur Prüfung dieses Programms nicht in der Lage, wie einige offenbar vorgeben. Nach meiner Ansicht würde diese zweite Hypothese einem Verzicht auf unsere Verantwortung als Parlament und darüber hinaus dem Aufwerfen einer originellen These, einer unbekannten Methode gleichkommen, die darin bestände, den Fraktionen die programmatische Rede der Kommission in schriftlicher Form eine Woche vorher - und nicht, wie vereinbart, am Tag zuvor - zur Kenntnis zu geben, wobei zu berücksichtigen ist, daß das Legislativprogramm im Februar diskutiert werden wird, so daß wir auf die Aussprache verzichten könnten, da die Presse und das Internet am Tag darauf alle Bürger darüber informiert haben würden und das Parlament keinen Grund mehr hätte, sich mit der Angelegenheit zu befassen.
-Da meine Fraktion der Meinung ist, daß ein Parlament dazu da ist, zuzuhören, zu diskutieren und nachzudenken, gibt es unserer Ansicht nach keinen Grund zur Rechtfertigung dieser Verzögerung, und wir glauben, wenn die Kommission dazu in der Lage ist, liegen wir genau in der Zeit, um die ursprüngliche Vereinbarung zwischen dem Parlament und der Kommission wieder in Kraft zu setzen und verantwortungsbewußt vor unsere Mitbürgerinnen und Mitbürgern treten zu können. Deshalb besteht der Vorschlag der Fraktion der Sozialdemokratischen Partei Europas, den Sie erwähnt haben, darin, den Mittwoch als Termin der Vorstellung des Programms der Kommission Prodi für die Wahlperiode beizubehalten, und in dieses Programm auch das Verwaltungsreformprojekt einzubeziehen, da wir andernfalls in eine paradoxe Situation geraten könnten: Mit der Ausrede, der Wortlaut liege nicht vor, wird einerseits dem Präsidenten der Kommission das Recht abgesprochen, in diesem Parlament zu sprechen, und andererseits würde eine Aussprache über die Reform stattfinden, ohne daß dieses Parlament zuvor die Texte lesen konnte, die der Aussprache zugrunde liegen. Daher bitte ich Sie, Frau Präsidentin, die Kommission zu ersuchen, sich jetzt zu äußern, und danach zur Abstimmung zu schreiten.
-(Beifall der PSE-Fraktion)
-
-Frau Präsidentin, liebe Kolleginnen und Kollegen! Ich bin doch etwas erstaunt über das Verhalten des Kollegen Barón Crespo, der jetzt verlangt, daß dieser Tagesordnungspunkt auf die Tagesordnung für Mittwoch gesetzt wird.
-Herr Kollege Barón Crespo, Sie konnten am letzten Donnerstag in der Konferenz der Präsidenten nicht anwesend sein. Das kritisiere ich nicht; es kommt immer mal vor, daß man sich vertreten läßt. Der Kollege Hänsch hat Sie dort vertreten. Wir haben in der Konferenz der Präsidenten eine ausführliche Debatte geführt. Nur Ihre Fraktion hat das vertreten, was Sie jetzt sagen. Wir haben dann abgestimmt. Jeder Vorsitzende bzw. jede Vorsitzende hat ja so viele Stimmen, wie die Fraktion Mitglieder hat. Es gab eine Abstimmung zu diesem Punkt. Diese Abstimmung ist meiner Erinnerung nach so ausgegangen: 422 gegen 180 Stimmen bei einigen wenigen Enthaltungen. Das heißt, alle Fraktionen, mit Ausnahme der Fraktionslosen - aber die sind ja keine Fraktion - waren sich einig, nur Ihre Fraktion war der Meinung, so zu verfahren, wie Sie es hier vorgeschlagen haben. Alle anderen waren anderer Meinung. Das war der Beschluß.
-Jetzt möchte ich zur Sache selbst etwas sagen. Wir haben Vertrauen zur Kommission, zu Romano Prodi, und die ganz große Mehrheit unserer Fraktion hat Romano Prodi und der Kommission nach einem schwierigen Prozeß, wie jeder weiß, das Vertrauen ausgesprochen. Aber wir sind auch der Meinung, daß wir eine Debatte über diese Strategie der Kommission in einem geordneten Verfahren führen müssen, nicht nur aufgrund einer mündlichen Erklärung hier im Europäischen Parlament, sondern auch aufgrund eines Dokumentes, das in der Kommission beschlossen ist und dieses Programm für fünf Jahre beschreibt. Ein solches Dokument gibt es nicht!
-
-Die Kommission wird das Programm für das Jahr 2000 im Februar vorlegen. Wir haben gesagt, o. k, wenn die Kommission das Programm 2000 noch nicht im Januar machen will, dann machen wir das im Februar. Wir haben dem zugestimmt. Wir wollen ja an sich keinen Streit mit der Kommission, sondern wir sind der Meinung, wenn es eben geht, müssen Kommission und Parlament einen gemeinsamen Weg gehen. Aber wir als Parlament sind auch der Kontrolleur der Kommission. Und nicht alles, was von der Kommission kommt, muß unsere Meinung sein.
-Ich möchte, daß wir uns auf eine Debatte über das Fünfjahresprogramm in den Fraktionen vernünftig vorbereiten können. Man kann sich nicht vorbereiten, wenn man hier eine Erklärung hört und gar nicht weiß, was Inhalt einer solchen Erklärung ist. Deswegen ist es unsere Empfehlung - und mein Eindruck ist, daß die Kommission auch aufgeschlossen ist für diesen Gedanken -, daß wir im Februar die Debatte über das langfristige Programm der Kommission bis zum Jahre 2005 führen - ich hoffe, die Kommission wird sich bis dahin auch auf ein Programm verständigen, das sie uns vorschlagen wird -, und daß wir gleichzeitig im Februar auch die Debatte über das Legislativprogramm der Kommission für das Jahr 2000 führen. Es ist also auch ein vernünftiger sachlicher Zusammenhang, der uns rät, die Debatte über beide Programme gemeinsam zu führen. Deswegen lehnt meine Fraktion den Vorschlag der Sozialistischen Fraktion entschieden ab!
-(Beifall von der PPE-DE-Fraktion)
-
-Frau Präsidentin! Ich möchte ganz deutlich sagen, daß die Kommission vor allem höchsten Respekt gegenüber den Beschlüssen dieses Parlaments hat, und dazu gehört die Aufstellung seiner Tagesordnung. Deshalb respektieren wir die Entscheidungen des Parlaments in diesem Sinne. Aber ich möchte auch ganz deutlich zum Ausdruck bringen, daß sich Präsident Prodi gegenüber dem Parlament, wie Herr Barón in Erinnerung brachte, zu einer neuen Aussprache verpflichtet hat, die zusätzlich zu der Jahresaussprache über das Legislativprogramm der Kommission, über die großen Aktionslinien für den nächsten Fünfjahreszeitraum, das heißt, für diese Wahlperiode, stattfinden soll.
-Ich möchte sagen, daß diese Aussprache in der im September getroffenen Vereinbarung von der Jahresvorlage des Legislativprogramms der Kommission abgetrennt wurde. Und ich möchte auch sagen, daß wir seitens der Kommission auf diese Aussprache vorbereitet und bereit sind, sie zum geeigneten Zeitpunkt zu führen, daß wir für diese Woche darauf vorbereitet waren, wie dies grundsätzlich vereinbart war, wobei man am Vorabend vor den Fraktionen des Parlaments mit einer Rede auftreten wollte.
-Deshalb, Frau Präsidentin, möchte ich bekräftigen, daß wir unsererseits das Aktionsprogramm für die nächsten fünf Jahre diskutiert haben und darauf vorbereitet sind, sofern es vom Parlament so beschlossen wird - noch in dieser Woche, wenn der Beschluß so lautet -, das Fünfjahresprogramm und im nächsten Monat das Programm für das Jahr 2000, genau so wie vereinbart, vorzustellen.
-
-Ich schlage vor, daß wir über den Antrag der Sozialdemokratischen Fraktion, die Erklärung der Kommission über ihre strategischen Ziele wieder auf die Tagesordnung zu setzen, abstimmen.
-(Das Parlament lehnt den Antrag ab.) Die Präsidentin. Zum Mittwoch liegt mir noch ein weiterer Antrag betreffend die mündliche Anfrage über die Kapitalsteuer vor. Die PPE/DE-Fraktion beantragt, diesen Punkt von der Tagesordnung abzusetzen.
-Möchte jemand den Antrag im Namen der Fraktion begründen?
-
-Frau Präsidentin, da ich bei den Sozialisten ein bißchen Gelächter höre - mir wurde gesagt, daß auch weite Kreise der Sozialistischen Fraktion diesen Tagesordnungspunkt gern abgesetzt haben wollen, weil bei der Abstimmung in der Konferenz der Präsidenten das Votum der Arbeitsgruppe der zuständigen Kolleginnen und Kollegen der Sozialistischen Fraktion nicht vorlag. Ich weiß nicht, ob diese Information richtig ist, aber wir als EVP-ED-Fraktion wären jedenfalls dankbar, wenn dieser Punkt abgesetzt würde, weil sich das Parlament nämlich schon mehrfach mit dieser Frage befaßt hat. Es gibt auch Beschlüsse gegen eine solche Steuer. Deswegen beantragt meine Fraktion, diesen Punkt von der Tagesordnung abzusetzen.
-
-Vielen Dank, Herr Poettering.
-Wir kommen nun zu Herrn Wurtz, der gegen den Antrag spricht.
-
-Frau Präsidentin, ich möchte zunächst darauf hinweisen, daß das, was Herr Poettering da sagt, nicht ganz logisch ist. Zum einen belehrt er die Sozialdemokratische Fraktion, weil diese eine ganz klare und eindeutige Entscheidung der Konferenz der Präsidenten in Frage stellt. Und nun tut er genau dasselbe. Wir haben diskutiert, wir waren uns einig, nur die EVP-Fraktion und die Liberalen nicht. Und ich hatte noch darauf hingewiesen, die anderen Präsidentenkollegen werden sich noch daran erinnern, daß es nicht darum geht, ob man für oder gegen die Tobin-Steuer ist, sondern darum, ob wir bereit sind, uns anzuhören, was die Kommission und der Rat davon halten. Das ist nicht zuviel verlangt. Ich wiederhole also den Vorschlag, diese mündliche Anfrage an die Kommission und den Rat aufrechtzuerhalten, um ein für alle Mal die Meinung dieser beiden Institutionen zu diesem relativ bescheidenen Vorschlag zu erfahren, der für die Öffentlichkeit ein wichtiges Signal wäre, insbesondere nach der Aufregung im Gefolge des Scheiterns der Konferenz von Seattle.
-
-Wir stimmen jetzt über den Antrag der PPE/DE-Fraktion ab, die mündliche Anfrage über die Kapitalsteuer von der Tagesordnung abzusetzen.
-(Das Parlament lehnt den Antrag mit 164 Ja-Stimmen, 166 Nein-Stimmen und 7 Enthaltungen ab.)
-
-Frau Präsidentin, ich möchte Herrn Poettering für das Rühren der Werbetrommel zugunsten dieser Aussprache danken. Vielen Dank.
-
-Frau Präsidentin! Ist meine Stimme mitgezählt worden? Ich konnte sie nämlich nicht elektronisch abgeben, weil ich die Karte nicht habe. Ich habe "dafür " gestimmt.
-
-In der Tat, wenn man die beiden Mitglieder, die sich gemeldet haben hinzuzählt, dann ergibt sich als Ergebnis ...
-
-Frau Präsidentin! Die Präsidentschaft hat das Ergebnis der Abstimmung verkündet. Änderungen sind nicht möglich.
-
-Liebe Kolleginnen und Kollegen, ich muß Sie nochmals daran erinnern, montags Ihre Stimmkarte mitzubringen. Wir haben da offensichtlich ein Problem, und ich muß jetzt eine Entscheidung treffen.
-Auch ich habe meine Stimmkarte vergessen, und ich hätte dagegen gestimmt. Ich gehe somit davon aus, daß die mündliche Anfrage auf der Tagesordnung bleibt.
-Das war das letzte Mal, daß wir vergessene Karten berücksichtigen. Damit das ein für alle Mal klar ist!
-(Beifall)
-Richtig, damit bleibt die mündliche Anfrage auf der Tagesordnung, und richtig, die Präsidentin hat das Recht abzustimmen, wie sie auch das Recht hat, ihre Stimmkarte zu vergessen.
-Wir kommen nun zu den weiteren Änderungen der Tagesordnung.
-
-Frau Präsidentin, bei der früheren Abstimmung zur Frage des Strategieplans der Kommission - keine Angst, ich werde mich an Ihre Entscheidung in dieser Sache halten - hatte ich darum gebeten, vor der Abstimmung im Namen meiner Fraktion sprechen zu dürfen. Dazu kam es nicht. Ich würde es begrüßen, wenn ich zum Abschluß dieses Geschäftspunktes die Möglichkeit hätte, im Namen meiner Fraktion eine Erklärung zur Abstimmung abzugeben. Das ist eine wichtige Angelegenheit. Vielleicht wäre es sinnvoll festzuhalten, wie das, was wir eben getan haben, von den einzelnen vor dem Hintergrund ihrer eigenen politischen Analyse aufgenommen wird.
-
-Frau Präsidentin! Ich will die Debatte nicht wieder aufnehmen, aber ich hatte mich auch gemeldet, um zu dem Antrag von Herrn Barón Crespo Stellung zu nehmen. Sie haben mich auch nicht aufgerufen. Ich bedauere das, aber die Abstimmung ist durchgeführt worden, die Entscheidung ist gefallen, also lassen wir die Dinge.
-
-Das tut mir leid, Herr Hänsch und Herr Cox. Ich hatte nicht gesehen, daß Sie ums Wort gebeten hatten. Doch die Positionen sind deutlich geworden und werden ins Protokoll aufgenommen. Wenn wir morgen das Protokoll der Sitzung von heute verabschieden, können die Kolleginnen und Kollegen, die der Auffassung sind, daß die Positionen nicht ausreichend klar geworden sind, Änderungen beantragen. Ich halte dieses Vorgehen für angemessen. Natürlich werden im Protokoll der Sitzung von morgen sämtliche zusätzlichen Erläuterungen berücksichtigt. Ich halte das für besser als jetzt lange Stimmerklärungen abzugeben. Herr Cox, Herr Hänsch, sind Sie damit einverstanden?
-
-Frau Präsidentin, wenn aus der Abstimmung einwandfrei hervorgeht, wie meine Fraktion abgestimmt hat, dann werde und kann ich nichts dagegen sagen. Wenn Sie festlegen, daß ich keine Erklärung zur Abstimmung abgeben kann, akzeptiere ich das, wenngleich unter Vorbehalt.
-
-Beim Abfassen des Protokolls werden wir mit großer Sorgfalt vorgehen. Das tun wir im übrigen immer. Wenn Positionen nicht richtig wiedergegeben werden, können wir das Protokoll gegebenenfalls ändern.
-(Das Parlament genehmigt den geänderten Arbeitsplan.)
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/language/el.test b/trunk/tika-core/src/test/resources/org/apache/tika/language/el.test
deleted file mode 100644
index 5fa13e7..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/language/el.test
+++ /dev/null
@@ -1,109 +0,0 @@
-Επαvάληψη της συvσδoυ
-Κηρύσσω την επανάληψη της συνόδου του Ευρωπαϊκού Κοινοβουλίου η οποία είχε διακοπεί την Παρασκευή 17 Δεκεμβρίου και σας απευθύνω ξανά τις θερμές ευχές μου, ελπίζοντας να περάσατε καλά στις διακοπές.
-Όπως μπορέσατε να διαπιστώσετε, ο περίφημος "ιός του έτους 2000" δεν εμφανίσθηκε. Αντιθέτως, οι πολίτες ορισμένων χωρών μας υπήρξαν θύματα φυσικών καταστροφών, οι οποίες ήταν όντως φοβερές. Επιθυμείτε μία συζήτηση επί του θέματος τις επόμενες ημέρες, κατά τη διάρκεια της τρέχουσας περιόδου συνόδου. Επί του παρόντος θα ήθελα, όπως μου ζήτησαν ορισμένοι συνάδελφοι, να τηρήσουμε ενός λεπτού σιγή για όλα τα θύματα, κυρίως για τα θύματα των καταιγίδων, στις διάφορες πληγείσες χώρες της Ευρωπαϊκής Ένωσης. Σας καλώ να σηκωθείτε για αυτή την ενός λεπτού σιγή.
-(Το Σώμα, όρθιο, τηρεί ενός λεπτού σιγή)
-
-Kυρία Πρόεδρε, επί ενός θέματος διαδικασίας. Θα έχετε ενημερωθεί από τον τύπο και την τηλεόραση ότι συνέβησαν ορισμένες εκρήξεις βομβών και φόνοι στη Σρι Λάνκα. Ένας από τους ανθρώπους που δολοφονήθηκαν πολύ πρόσφατα στη Σρι Λάνκα ήταν ο κ. Kumar Ponnambalam, ο οποίος είχε επισκεφθεί το Ευρωπαϊκό Κοινοβούλιο μόλις πριν λίγους μήνες. Θα το θεωρούσατε σωστό, κυρία Πρόεδρε, να γράψετε μία επιστολή στην Πρόεδρο της Σρι Λάνκα, όπου θα εκφράζετε τη λύπη του Κοινοβουλίου για τον θάνατό του και τους άλλους βίαιους θανάτους στη Σρι Λάνκα και θα την παρακινείτε να πράξει οτιδήποτε είναι δυνατό, από την πλευρά της, για να αναζητήσει μια ειρηνική διευθέτηση σε μια πολύ δύσκολη κατάσταση;
-
-Ναι, κύριε Evans, θεωρώ ότι μία πρωτοβουλία με την έννοια που μόλις προτείνατε θα ήταν απολύτως ενδεδειγμένη. Εάν το Σώμα συμφωνεί θα πράξω όπως πρότεινε ο κ. Evans.
-
-Κυρία Πρόεδρε, επί ενός θέματος διαδικασίας. Θα ήθελα τη συμβουλή σας για το άρθρο 143 περί του μη παραδεκτού. Το ερώτημά μου αφορά κάτι που θα τεθεί προς συζήτηση την Πέμπτη, το οποίο θα θέσω τότε ξανά.
-Η έκθεση Cunha, σχετικά με τα πολυετή προγράμματα προσανατολισμού, θα τεθεί ενώπιον του Κοινοβουλίου την Πέμπτη και περιέχει μία πρόταση στην παράγραφο 6, ότι πρέπει να θεσπισθούν κυρώσεις με τη μορφή ποσοστώσεων για τις χώρες που αποτυγχάνουν να επιτύχουν ετησίως τους στόχους μείωσης των στόλων τους. Αναφέρει ότι αυτό πρέπει να πραγματοποιηθεί παρά την αρχή της σχετικής σταθερότητας. Θεωρώ ότι η αρχή της σχετικής σταθερότητας συνιστά θεμελιώδη νομική αρχή της κοινής αλιευτικής πολιτικής και μια πρόταση ανατροπής της θα ήταν νομικά απαράδεκτη. Θέλω να μάθω εάν μπορεί κανείς να θέσει μία ένσταση τέτοιου είδους σε ένα έγγραφο που είναι απλώς έκθεση, και όχι πρόταση νομοθετικού περιεχομένου, και εάν έχω την αρμοδιότητα να το πράξω αυτό την Πέμπτη.
-
-Ακριβώς εκείνη τη στιγμή θα μπορέσετε πράγματι, εάν το επιθυμείτε, να θέσετε αυτό το ερώτημα, δηλαδή την Πέμπτη πριν την έναρξη της παρουσίασης της έκθεσης.
-
-Κυρία Πρόεδρε, ταυτόχρονα με την πρώτη περίοδο συνόδου του Ευρωπαϊκού Κοινοβουλίου αυτού του έτους, στις Ηνωμένες Πολιτείες και συγκεκριμένα στο Τέξας, ορίστηκε η ημερομηνία, για την επόμενη Πέμπτη δυστυχώς, της εκτέλεσης ενός θανατοποινίτη, ενός νέου 34 ετών με το όνομα Hicks.
-Κατόπιν πρωτοβουλίας ενός γάλλου βουλευτή, του κ. Zimeray, έχει ήδη κατατεθεί αίτηση πολλών συνυπογραφόντων, συμπεριλαμβανομένου του ομιλούντος, σας ζητώ ωστόσο, στο πνεύμα της κατεύθυνσης που χάραξαν το Ευρωπαϊκό Κοινοβούλιο και ολόκληρη η Ευρωπαϊκή Κοινότητα, να παρέμβετε, με το κύρος του αξιώματός σας και του θεσμικού οργάνου που εκπροσωπείτε, προς τον Πρόεδρο και τον Κυβερνήτη του Τέξας Bush, που έχει την εξουσία να αναστείλει τη θανατική καταδίκη και να απονείμει χάρη στον κατάδικο.
-Η στάση αυτή είναι συνεπής με τις αρχές που πάντα προσπίζαμε.
-
-Ευχαριστώ κύριε Segni, θα το πράξω πολύ ευχαρίστως. Πράγματι, ευθυγραμμίζεται απολύτως με τις θέσεις που ανέκαθεν υιοθετούσε το Κοινοβούλιό μας.
-
-Κυρία Πρόεδρε, θα ήθελα να επιστήσω την προσοχή σας σε μία περίπτωση με την οποία έχει ασχοληθεί επανειλημμένα αυτό το Κοινοβούλιο. Εννοώ την περίπτωση του Alexander Nikitin. Όλοι εδώ χαιρόμαστε που τον αθώωσε το δικαστήριο, καθιστώντας σαφές ότι η πρόσβαση σε πληροφορίες που αφορούν το περιβάλλον αποτελεί συνταγματικό δικαίωμα και στη Ρωσία. Τώρα όμως μαθαίνουμε πως ο Alexander Nikitin πρόκειται να κατηγορηθεί εκ νέου, αφού θα ασκήσει έφεση η εισαγγελία. Γνωρίζουμε, και το έχουμε διαπιστώσει σε πάρα πολλά, όντως, ψηφίσματα - ειδικά κατά τη διάρκεια της τελευταίας περιόδου συνόδου του προηγούμενου έτους - ότι αυτό δεν αποτελεί νομική μόνον υπόθεση αλλά και ότι είναι λάθος να κατηγορείται ο Alexander Nikitin για εγκληματική δράση και προδοσία, επειδή εμείς επωφελούμεθα ως θιγόμενοι από τα πορίσματά του. Τα εν λόγω πορίσματα συνιστούν τη βάση των ευρωπαϊκών προγραμμάτων για την προστασία της Θάλασσας του Μπάρεντ, και για τον λόγο αυτό σας παρακαλώ να μελετήσετε ένα σχέδιο επιστολής που θα σας περιγράψει τα σημαντικότερα γεγονότα και να καταστήσετε σαφή τη θέση αυτή στη Ρωσία στο πνεύμα των αποφάσεων του Κοινοβουλίου
-
-Βεβαίως, κυρία Schroedter, θα εξετάσω πολύ ευχαρίστως τα σχετικά με το συγκεκριμένο ζήτημα γεγονότα μόλις λάβω την επιστολή σας.
-
-Κυρία Πρόεδρε, θα ήθελα καταρχάς να σας συγχαρώ που κρατήσατε το λόγο σας, γιατί διαπιστώνω όντως σε αυτήν την πρώτη περίοδο συνόδου του καινούργιου χρόνου ότι ο αριθμός των τηλεοπτικών σταθμών που πιάνουμε στο Σώμα αυξήθηκε δραματικά. Όμως, κυρία Πρόεδρε, δεν έγινε αυτό που ζήτησα. Γιατί τώρα πιάνουμε δύο φινλανδικούς σταθμούς και έναν πορτογαλικό αλλά κανέναν ολλανδικό, ενώ αυτό σας είχα ζητήσει, επειδή και εμείς οι Ολλανδοί θέλουμε να παρακολουθούμε τα νέα κάθε μήνα κάθε φορά που μας στέλνουν εξορία εδώ. Θα ήθελα λοιπόν να σας παρακαλέσω για άλλη μία φορά να φροντίσετε, ώστε να μπορούμε να πιάνουμε και έναν ολλανδικό σταθμό.
-
-Κυρία Plooij-van Gorsel, μπορώ να σας πω ότι αυτό το ζήτημα βρίσκεται στην ημερήσια διάταξη της συνεδρίασης των Κοσμητόρων που θα διεξαχθεί την Τετάρτη. Ελπίζω ότι θα εξετασθεί με θετικό πνεύμα.
-
-Κυρία Πρόεδρε, μπορείτε να μου πείτε γιατί αυτό το Κοινοβούλιο δεν εφαρμόζει τη νομοθεσία περί υγιεινής και ασφάλειας την οποία στην πραγματικότητα ψηφίζει; Γιατί δεν έχει πραγματοποιηθεί έλεγχος της ποιότητας του αέρα στο συγκεκριμένο κτίριο από τότε που εκλεγήκαμε; Γιατί δεν έχει πραγματοποιηθεί καμία συνέλευση της Επιτροπής Υγείας και Ασφάλειας από το 1998; Γιατί δεν έχει πραγματοποιηθεί καμία άσκηση πυρκαγιάς, ούτε στα κτίρια του Κοινοβουλίου στις Βρυξέλλες ούτε στα κτίρια του Κοινοβουλίου στο Στρασβούργο; Γιατί δεν υπάρχουν οδηγίες για περίπτωση πυρκαγιάς; Γιατί οι σκάλες δεν βελτιώθηκαν από τότε που έπαθα το ατύχημά μου; Γιατί δεν επιβάλλεται η τήρηση των χώρων μη καπνιστών; Φαίνεται εντελώς επαίσχυντο να ψηφίζουμε νομοθεσία και να μην την εφαρμόζουμε εμείς οι ίδιοι.
-(Χειροκροτήματα)
-
-Κυρία Lynne, έχετε απόλυτο δίκιο και θα εξακριβώσω εάν όντως όλα αυτά δεν έχουν γίνει. Θα θέσω επίσης το πρόβλημα στο Σώμα των Κοσμητόρων και είμαι βέβαιη ότι οι Κοσμήτορές μας θα επιδείξουν ζήλο και θα ενεργήσουν έτσι, ώστε να σεβόμαστε τους κανονισμούς που στην πραγματικότητα ψηφίζουμε εμείς.
-
-Κυρία Πρόεδρε, η κ. Dνez Gonzαlez και εγώ ο ίδιος είχαμε υποβάλει κάποιες ερωτήσεις σχετικά με συγκεκριμένες απόψεις της Αντιπροέδρου κ. de Palacio, οι οποίες παρουσιάστηκαν σε ισπανική εφημερίδα. Οι αρμόδιες υπηρεσίες δεν τις έχουν συμπεριλάβει στην ημερήσια διάταξη, επειδή θεώρησαν ότι έχουν ήδη δοθεί απαντήσεις σε προηγούμενη σύνοδο.
-Σας παρακαλώ να επανεξεταστεί η απόφαση αυτή, γιατί αυτό δεν αληθεύει. Οι ερωτήσεις στις οποίες δόθηκε απάντηση παλαιότερα αναφέρονταν στην παρέμβαση της κ. Palacio σε συγκεκριμένη υπόθεση και όχι στις εν λόγω δηλώσεις, οι οποίες δημοσιεύτηκαν στην εφημερίδα ABC στις 18 του περασμένου Νοεμβρίου.
-
-Αγαπητέ συνάδελφε, θα τα εξακριβώσουμε όλα αυτά. Σας ομολογώ ότι, επί του παρόντος, τα πράγματα μου φαίνονται κάπως συγκεχυμένα. Συνεπώς, θα επανεξετάσουμε το θέμα πολύ σοβαρά, ούτως ώστε όλα να διευθετηθούν πλήρως.
-
-Κυρία Πρόεδρε, θα ήθελα να μάθω εάν θα υπάρξει ένα σαφές μήνυμα από το Κοινοβούλιο αυτή την εβδομάδα για τη δυσαρέσκειά μας, αναφορικά με τη σημερινή απόφαση να μην ανανεωθεί το εμπάργκο όπλων για την Ινδονησία, δεδομένου ότι η συντριπτική πλειοψηφία αυτού του Κοινοβουλίου είχε επιδοκιμάσει το εμπάργκο όπλων για την Ινδονησία στο παρελθόν. Η σημερινή απόφαση για τη μη ανανέωση του εμπάργκο είναι εξαιρετικά επικίνδυνη, λαμβανομένης υπόψη της κατάστασης εκεί. Το Κοινοβούλιο λοιπόν οφείλει να στείλει ένα μήνυμα, εφόσον αυτή είναι η επιθυμία της συντριπτικής πλειοψηφίας. Είναι ανευθυνότητα εκ μέρους των κρατών μελών της ΕΕ η άρνηση ανανέωσης του εμπάργκο. Όπως λέγεται, η κατάσταση εκεί είναι λίαν ασταθής. Στην πραγματικότητα, υπάρχει ο κίνδυνος στρατιωτικού πραξικοπήματος στο μέλλον. Δεν γνωρίζουμε τι θα συμβεί. Γιατί λοιπόν πρέπει να αποκομίσουν κέρδος οι παραγωγοί όπλων της ΕΕ εις βάρος αθώων ανθρώπων;
-(Χειροκροτήματα)
-
-Εν πάση περιπτώσει, αυτό το ζήτημα δεν υπάρχει επί του παρόντος μεταξύ των αιτήσεων κατεπείγοντος για την ερχόμενη Πέμπτη.
-
-Διάταξη τωv εργασιώv
-Η ημερήσια διάταξη προβλέπει την εξέταση του τελικού σχεδίου της ημερήσιας διάταξης έτσι όπως καταρτίστηκε από τη Διάσκεψη των Προέδρων, την Πέμπτη 13 Ιανουαρίου, συμφώνως προς το άρθρο 110 του Κανονισμού. Σε ό,τι αφορά τη Δευτέρα και την Τρίτη δεν έχουν υποβληθεί τροποποιήσεις.
-Τετάρτη:
-Η Ομάδα του Κόμματος των Ευρωπαίων Σοσιαλιστών ζητά να συμπεριληφθεί μία δήλωση της Επιτροπής για τους στρατηγικούς στόχους της την επόμενη πενταετία, καθώς και για τη διοικητική μεταρρύθμιση της Επιτροπής.
-Θα ήθελα ο κ. Barσn Crespo, συντάκτης της αιτήσεως, να παρέμβει για να την αιτιολογήσει, εάν βεβαίως το επιθυμεί. Στη συνέχεια θα πράξουμε όπως συνήθως: θα ακούσουμε έναν αγορητή υπέρ και έναν αγορητή κατά.
-
-Κυρία Πρόεδρε, η παρουσίαση του πολιτικού προγράμματος της Επιτροπής Prodi για ολόκληρη την κοινοβουλευτική περίοδο υπήρξε αρχικά πρόταση της Ομάδας του Κόμματος των Ευρωπαίων Σοσιαλιστών, η οποία κατάφερε να αποσπάσει την ομοφωνία της Διάσκεψης των Προέδρων τον Σεπτέμβριο, καθώς και τη ρητή έγκριση του Προέδρου κ. Prodi, ο οποίος επανέλαβε τη δέσμευσή του στον λόγο που εκφώνησε κατά την τελετή ανάληψης των καθηκόντων του.
-Αυτή η δέσμευση είναι σημαντική, στο βαθμό που η Επιτροπή είναι ένας οργανισμός που κατέχει το μονοπώλιο στη λήψη πρωτοβουλιών σύμφωνα με τις Συνθήκες και, επομένως, διαμορφώνει κατά βάση τη φύση της πολιτικής και νομοθετικής δραστηριότητας αυτού του Κοινοβουλίου για τα επόμενα πέντε έτη. Υπενθυμίζω επίσης, κυρία Πρόεδρε, ότι αυτό το Κοινοβούλιο έδωσε σε δύο περιπτώσεις, στη διάρκεια της προηγούμενης κοινοβουλευτικής περιόδου, ψήφο εμπιστοσύνης στον Πρόεδρο Prodi. Στην τρέχουσα κοινοβουλευτική περίοδο, του έδωσε εκ νέου ψήφο εμπιστοσύνης τον Ιούλιο και κατόπιν, όταν η νέα Επιτροπή είχε αναλάβει τα καθήκοντά της, έδωσε ξανά ψήφο εμπιστοσύνης σε όλη την Επιτροπή τον Σεπτέμβριο. Επομένως, υπήρχε ήδη αρκετός χρόνος ώστε η Επιτροπή να εκπονήσει το πρόγραμμά της και εμείς να μπορέσουμε να το μάθουμε και να μπορέσουμε να το εξηγήσουμε στους πολίτες. Σε αυτό το πλαίσιο, υπενθυμίζω το ψήφισμα της 15ης Σεπτεμβρίου, στο οποίο προτεινόταν η υποβολή της πρότασης στο συντομότερο δυνατό χρονικό διάστημα.
-Τα γεγονότα που συνέβησαν την περασμένη εβδομάδα - τα οποία προκλήθηκαν εκτός του πλαισίου της Διάσκεψης των Προέδρων, ενώ η τελευταία χρησιμοποιήθηκε μόνο για την επιβεβαίωση και την επικύρωση αποφάσεων που είχαν ληφθεί εκτός αυτής - θέτουν ένα δίλημμα: είτε η Επιτροπή δεν είναι σε θέση να παρουσιάσει το πρόγραμμα αυτό· (στην περίπτωση αυτή, θα ήταν καλό να το δηλώσει. Σύμφωνα με τα λεγόμενα του Προέδρου της, είναι σε θέση να το παρουσιάσει. Δεδομένου ότι η Επιτροπή εκπροσωπείται από την Αντιπρόεδρο κ. de Palacio, πιστεύω ότι, πριν από την ψηφοφορία θα ήταν πρέπον να γνωρίζουμε την κατάσταση της Επιτροπής ως προς τη δυνατότητά της να παρουσιάσει το πρόγραμμα, όπως είχε συμφωνηθεί)· είτε το Κοινοβούλιο δεν είναι σε θέση να εξετάσει το πρόγραμμα αυτό, όπως φαίνεται ότι ισχυρίζονται μερικοί. Κατά τη γνώμη μου, αυτό το δεύτερο ενδεχόμενο θα σήμαινε ότι παραιτούμεθα από τις αρμοδιότητές μας ως Κοινοβούλιο και ότι, επιπλέον, εισαγάγουμε μια πρωτότυπη άποψη, μια άγνωστη μέθοδο που συνίσταται στη γραπτή πληροφόρηση των πολιτικών ομάδων σχετικά με τις προγραμματικές δηλώσεις της Επιτροπής μία εβδομάδα πριν - και όχι την προηγούμενη μέρα, όπως είχε συμφωνηθεί - λαμβάνοντας υπόψη ότι το νομοθετικό πρόγραμμα θα συζητηθεί τον Φεβρουάριο, κατά τέτοιον τρόπο ώστε θα μπορούσαμε να παρακάμψουμε τη συζήτηση, επειδή την επόμενη μέρα θα είχε γνωστοποιηθεί σε όλους τους πολίτες από τον Τύπο και το Internet και το Κοινοβούλιο δεν θα είχε πια λόγο να ασχοληθεί με το ζήτημα.
-Καθώς η Ομάδα μου πιστεύει ότι σκοπός της σύστασης ενός Κοινοβουλίου είναι να ακούει, να διαβουλεύεται και να στοχάζεται, νομίζουμε ότι δεν υπάρχει κανένας λόγος που να δικαιολογεί αυτή την αναβολή και πιστεύουμε ότι αν η Επιτροπή είναι σε θέση να το κάνει, η στιγμή είναι κατάλληλη, για να μπορέσουμε να επαναφέρουμε την αρχική συμφωνία μεταξύ του Κοινοβουλίου και της Επιτροπής και να συνεχίσουμε το έργο μας με υπευθυνότητα απέναντι στους συμπολίτες μας. Επομένως, η πρόταση που υποβάλει η Ομάδα του Κόμματος των Ευρωπαίων Σοσιαλιστών και που εσείς αναφέρατε, είναι να παρουσιαστεί την Τετάρτη το πρόγραμμα της κοινοβουλευτικής περιόδου της Επιτροπής του κ. Prodi, συμπεριλαμβανομένου στο πρόγραμμα αυτό του σχεδίου της διοικητικής μεταρρύθμισης διότι, διαφορετικά, είναι πιθανό να έρθουμε αντιμέτωποι με μια παράδοξη κατάσταση: με τη δικαιολογία ότι δεν υπάρχει έγγραφο, από τη μια πλευρά ο Πρόεδρος της Επιτροπής στερείται του δικαιώματος να μιλήσει ενώπιον του Κοινοβουλίου και από την άλλη απορρίπτεται η διεξαγωγή μιας συζήτησης σχετικά με τη μεταρρύθμιση, χωρίς να γνωρίζει από πριν το Κοινοβούλιο αυτό τα κείμενα στα οποία θα βασίζεται αυτή η συζήτηση. Επομένως, σας παρακαλώ, κυρία Πρόεδρε, να ζητήσετε από την Επιτροπή να εκφράσει την άποψή της αυτή τη στιγμή και στη συνέχεια να προχωρήσουμε στην ψηφοφορία.
-(Χειροκροτήματα από την Ομάδα του Κόμματος των Ευρωπαίων Σοσιαλιστών)
-
-Κυρία Πρόεδρε, αγαπητοί συνάδελφοι, ομολογουμένως εκπλήσσομαι κάπως με τη συμπεριφορά του συναδέλφου Barσn Crespo, ο οποίος ζητεί τώρα να τεθεί στην ημερήσια διάταξη της Τετάρτης το εν λόγω θέμα της ημερήσιας διάταξης.
-Κύριε συνάδελφε Barσn Crespo, δεν μπορέσατε να παρευρεθείτε στη Διάσκεψη των Προέδρων την περασμένη Πέμπτη. Δεν το κατακρίνω αυτό, διότι συμβαίνει συχνά να στέλνουμε εκπροσώπους μας. Εκεί σας εκπροσώπησε ο συνάδελφος Hδnsch. Στη Διάσκεψη των Προέδρων πραγματοποιήσαμε μια διεξοδική συζήτηση. Η Ομάδα σας ήταν η μόνη που υποστήριξε αυτό που αναφέρετε τώρα εσείς. Στη συνέχεια διενεργήσαμε ψηφοφορία. Κάθε πρόεδρος διαθέτει, ως γνωστόν, τόσες ψήφους, όσα είναι και τα μέλη της Ομάδας. Διενεργήθηκε ψηφοφορία επ' αυτού, το αποτέλεσμα της οποίας είχε ως εξής απ' ό,τι θυμάμαι: 422 ψήφοι εναντίον 180 ψήφων με μερικές ολιγάριθμες αποχές. Δηλαδή, όλες οι Ομάδες, με την εξαίρεση των μη εγγεγραμμένων - οι οποίοι όμως δεν αποτελούν βέβαια Ομάδα - συμφώνησαν μεταξύ τους, και μόνον η δική σας Ομάδα ήταν της γνώμης πως πρέπει να προχωρήσουμε με τον τρόπο που εσείς προτείνατε εδώ. Όλοι οι άλλοι είχαν διαφορετική γνώμη. Αυτή ήταν η απόφαση.
-Τώρα θα ήθελα να πω κάτι επί του ιδίου του θέματος. Εμπιστευόμαστε την Επιτροπή, τον Romano Prodi, και η συντριπτική πλειοψηφία της Ομάδας μας εξέφρασε την εμπιστοσύνη της στον Romano Prodi και την Επιτροπή έπειτα από μια δύσκολη διαδικασία, όπως γνωρίζουν όλοι. Είμαστε όμως και της γνώμης πως πρέπει να διεξαγάγουμε μια συζήτηση για την εν λόγω στρατηγική της Επιτροπής στο πλαίσιο μιας κανονικής διαδικασίας, όχι μόνον βάσει μιας προφορικής δήλωσης εδώ στο Ευρωπαϊκό Κοινοβούλιο, αλλά και βάσει ενός εγγράφου που θα έχει ψηφισθεί στην Επιτροπή και που θα περιγράφει το πενταετές αυτό πρόγραμμα. Παρόμοιο έγγραφο δεν υφίσταται!
-(Χειροκροτήματα)
-Η Επιτροπή θα καταθέσει το πρόγραμμα για το έτος 2000 τον Φεβρουάριο. Εμείς είπαμε, εντάξει, εάν η Επιτροπή δεν επιθυμεί να εκπονήσει το πρόγραμμα 2000 ήδη εντός του Ιανουαρίου, τότε θα κάνουμε τη συζήτηση εντός του Φεβρουαρίου. Το εγκρίναμε αυτό, διότι βασικά δεν επιθυμούμε διένεξη με την Επιτροπή, αλλά είμαστε της γνώμης πως η Επιτροπή και το Κοινοβούλιο πρέπει να συμπορεύονται όποτε αυτό είναι εφικτό. Όμως εμείς ως Κοινοβούλιο είμαστε και ο ελεγκτής της Επιτροπής. Και δεν είναι απαραίτητο η γνώμη μας να ταυτίζεται με οτιδήποτε προέρχεται από την Επιτροπή.
-Θα ήθελα να είμαστε σε θέση να προετοιμαστούμε καλά στις Ομάδες για μια συζήτηση σχετικά με το πενταετές πρόγραμμα. Δεν μπορεί κανείς να προετοιμαστεί, όταν ακούει εδώ μια δήλωση χωρίς να γνωρίζει καθόλου ποιο είναι το περιεχόμενο μιας τέτοιας δήλωσης. Για τον λόγο αυτό κάνουμε τη σύσταση - και έχω την εντύπωση πως και η Επιτροπή είναι ανοιχτή προς αυτή τη σκέψη - να διεξάγουμε εντός του Φεβρουαρίου τη συζήτηση επί του μακροπρόθεσμου προγράμματος της Επιτροπής έως το έτος 2005 - ελπίζω πως και η Επιτροπή θα συμφωνήσει μέχρι τότε όσον αφορά κάποιο πρόγραμμα που θα μας προτείνει - και να διεξαγάγουμε ταυτόχρονα τον Φεβρουάριο και τη συζήτηση σχετικά με τον προγραμματισμό του νομοθετικού έργου της Επιτροπής για το έτος 2000. Επομένως, υπάρχει και μια λογική αντικειμενική συνοχή που μας συνιστά να διεξαγάγουμε από κοινού τη συζήτηση και για τα δύο προγράμματα. Για τον λόγο αυτό, η Ομάδα μου απορρίπτει κατηγορηματικά την πρόταση της Ομάδας του Κόμματος των Ευρωπαίων Σοσιαλιστών!
-(Χειροκροτήματα από την Ομάδα του Ευρωπαϊκού Λαϊκού Κόμματος (Χριστιανοδημοκράτες) και των Ευρωπαίων Δημοκρατών)
-
-Κυρία Πρόεδρε, θέλω να καταστήσω απολύτως σαφές ότι, καταρχάς, η Επιτροπή σέβεται στο μέγιστο βαθμό τις αποφάσεις του Κοινοβουλίου και, μεταξύ αυτών, την απόφαση να καθορίζει την ημερήσια διάταξή του. Επομένως, εμείς σεβόμαστε την απόφαση που μπορεί να λάβει το Κοινοβούλιο ως προς αυτό.
-Όμως, θέλω επίσης να καταστήσω απολύτως σαφές ότι, ο Πρόεδρος Prodi δεσμεύτηκε έναντι του Κοινοβουλίου να ενσωματώσει μια νέα συζήτηση, όπως υπενθύμισε ο κ. Barσn, η οποία θα προστεθεί στην ετήσια συζήτηση σχετικά με το νομοθετικό πρόγραμμα της Επιτροπής, σχετικά με τις σημαντικές γραμμές δράσης για την επόμενη πενταετία, δηλαδή, για την τρέχουσα κοινοβουλευτική περίοδο.
-Θέλω να αναφέρω, κυρία Πρόεδρε, ότι αυτή η συζήτηση δεν ταυτιζόταν, στη συμφωνία η οποία επιτεύχθηκε το Σεπτέμβριο, με την ετήσια παρουσίαση του νομοθετικού προγράμματος της Επιτροπής. Και θέλω να πω, κυρία Πρόεδρε, ότι, εκ μέρους της Επιτροπής, είμαστε έτοιμοι και διατεθειμένοι να πραγματοποιήσουμε τη συζήτηση αυτή την κατάλληλη στιγμή, ότι ήμασταν έτοιμοι να αναπτύξουμε τη συζήτηση αυτήν την εβδομάδα, όπως είχε συμφωνηθεί αρχικά, ξεκινώντας από τη βάση ότι θα παρουσιαζόταν την προηγούμενη μέρα σε έναν λόγο προς τις κοινοβουλευτικές ομάδες.
-Επομένως, κυρία Πρόεδρε, θέλω να επαναλάβω ότι, από τη δική μας πλευρά, έχουμε συζητήσει το πρόγραμμα δράσης για τα επόμενα πέντε χρόνια και είμαστε έτοιμοι ώστε, όταν το αποφασίσει το Κοινοβούλιο, - ακόμα και αυτήν την εβδομάδα, αν αυτή είναι η απόφαση - να παρουσιάσουμε το πρόγραμμα για τα πέντε επόμενα έτη και, τον επόμενο μήνα, το πρόγραμμα για το έτος 2000, αυτό δηλαδή ακριβώς που είχε συμφωνηθεί.
-
-Προτείνω να ψηφίσουμε επί της αιτήσεως της Ομάδας του Κόμματος των Ευρωπαίων Σοσιαλιστών για την επανεγγραφή της δήλωσης της Επιτροπής σχετικά με τους στρατηγικούς στόχους της.
-(Το Σώμα απορρίπτει την αίτηση) Πρόεδρος. Πάντοτε σε ό,τι αφορά την ημέρα της Τετάρτης, έχω μία άλλη πρόταση που αφορά την προφορική ερώτηση σχετικά με τον φόρο επί του κεφαλαίου. Η Ομάδα του Ευρωπαϊκού Λαϊκού Κόμματος (Χριστιανοδημοκράτες) και των Ευρωπαίων Δημοκρατών ζητά να αποσυρθεί αυτό το σημείο από την ημερήσια διάταξη.
-Υπάρχει κάποιος συνάδελφος για να λάβει τον λόγο εξ ονόματος της συγκεκριμένης Ομάδας και να αιτιολογήσει αυτή την αίτηση;
-
-Κυρία Πρόεδρε, επειδή ακούω κάποια γέλια από την πλευρά των Σοσιαλιστών, είναι καλό να γνωρίζετε πως μου αναφέρθηκε το γεγονός ότι και στην Ομάδα του Κόμματος των Ευρωπαίων Σοσιαλιστών υπάρχουν ευρείς κύκλοι που θα επιθυμούσαν πολύ την απόσυρση από την ημερήσια διάταξη του εν λόγω θέματος, επειδή κατά την ψηφοφορία στη Διάσκεψη των Προέδρων δεν είχε κατατεθεί η ψήφος της ομάδας εργασίας των αρμόδιων συναδέλφων της Ομάδας του Κόμματος των Ευρωπαίων Σοσιαλιστών. Δεν γνωρίζω εάν είναι σωστή αυτή η πληροφορία, εμείς όμως ως Ομάδα του Ευρωπαϊκού Λαϊκού Κόμματος και των Ευρωπαίων Δημοκρατών θα είμαστε σίγουρα ευγνώμονες εάν αποσυρόταν το θέμα αυτό, επειδή το Κοινοβούλιο έχει ήδη ασχοληθεί, ως γνωστόν, πολλές φορές με το εν λόγω ζήτημα. Υπάρχουν μάλιστα και αποφάσεις κατά της επιβολής ενός παρόμοιου φόρου. Για τον λόγο αυτό, η Ομάδα μου ζητεί να αποσυρθεί το θέμα αυτό από την ημερήσια διάταξη.
-
-Σας ευχαριστώ, κύριε Poettering.
-Θα ακούσουμε τώρα τον κ. Wurtz, ο οποίος αντιτίθεται στη συγκεκριμένη αίτηση.
-
-Κυρία Πρόεδρε, θα ήθελα καταρχάς να υπογραμμίσω την έλλειψη λογικής του κ. Poettering. Αυτή τη στιγμή, μόλις έκανε μάθημα ηθικής στην Ομάδα του Κόμματος των Ευρωπαίων Σοσιαλιστών, διότι αναίρεσε μία απόφαση που έλαβε με ιδιαίτερα ξεκάθαρο τρόπο η Διάσκεψη των Προέδρων. Ωστόσο, και αυτός πράττει το ίδιο πράγμα. Συζητήσαμε και είμασταν ομόφωνοι εκτός από την Ομάδα του Ευρωπαϊκού Λαϊκού Κόμματος και την Ομάδα των Φιλελευθέρων, και είχα μάλιστα επισημάνει, θα το θυμάστε αγαπητοί συνάδελφοι, πρόεδροι των Ομάδων, ότι το ζήτημα δεν είναι εάν είστε υπέρ ή κατά του φόρου Tobin, αλλά εάν τολμάτε να ακούσετε τι σκέπτονται επί του προκειμένου η Επιτροπή και το Συμβούλιο. Δεν ζητάμε πολλά. Συνεπώς, επαναλαμβάνω την πρόταση να διατηρηθεί η εν λόγω προφορική ερώτηση προς την Επιτροπή και το Συμβούλιο, για να μάθουμε άπαξ δια παντός τη θέση των εν λόγω δύο αρχών σε σχέση με την προκειμένη πρόταση, η οποία είναι σχετικά μετριοπαθής, αλλά που θα έστελνε, ωστόσο, ένα σημαντικό μήνυμα στην κοινή γνώμη, ιδιαίτερα μετά την ταραχή που προκάλεσε η αποτυχία της Διάσκεψης του Seattle.
-
-Θα ψηφίσουμε επί της αιτήσεως της Ομάδας του Ευρωπαϊκού Λαϊκού Κόμματος (Χριστιανοδημοκράτες) και των Ευρωπαίων Δημοκρατών για την απόσυρση από την ημερήσια διάταξη της προφορικής ερώτησης αναφορικά με τον φόρο επί του κεφαλαίου.
-(Το Σώμα απορρίπτει την αίτηση με 164 ψήφους υπέρ, 166 ψήφους κατά και 7 αποχές)
-
-Κυρία Πρόεδρε, θα ήθελα να ευχαριστήσω τον κ. Poettering για τη δημοσιότητα που έδωσε μόλις τώρα σε αυτή τη συζήτηση. Ευχαριστώ.
-
-Κυρία Πρόεδρε, υπολογίστηκε η ψήφος μου, την οποία δεν μπόρεσα να δώσω με τα ηλεκτρονικά μέσα, επειδή δεν έχω την κάρτα; Η ψήφος μου ήταν "υπέρ";.
-
-Πράγματι, εάν προσθέσουμε τους δύο συναδέλφους που εξέφρασαν τη θέση τους, έχουμε ως αποτέλεσμα·
-(Διαμαρτυρίες)
-
-Κυρία Πρόεδρε, η Προεδρία ανακοίνωσε το αποτέλεσμα της ψηφοφορίας. Δεν υπάρχουν τροποποιήσεις.
-(Χειροκροτήματα)
-
-Αγαπητοί συνάδελφοι, ακόμη μία φορά, πρέπει καθένας να έχει όντως την κάρτα του τη Δευτέρα. Βλέπουμε ότι εδώ έχουμε πρόβλημα. Υπό αυτές τις συνθήκες οφείλω να λάβω μία απόφαση.
-Και εγώ επίσης έχω ξεχάσει την κάρτα μου και θα ψήφιζα κατά της πρότασης. Θεωρώ συνεπώς ότι η προφορική ερώτηση παραμένει στην ημερήσια διάταξη.
-(Χειροκροτήματα) Είναι η τελευταία φορά που λαμβάνουμε υπόψη όσους έχουν ξεχάσει τις κάρτες τους. Να είναι απολύτως σαφές και να το πείτε και στους άλλους.
-(Χειροκροτήματα)Ναι, η προφορική ερώτηση παραμένει στην ημερήσια διάταξη και ναι, η Πρόεδρος έχει δικαίωμα ψήφου, όπως επίσης έχει δικαίωμα να ξεχάσει την κάρτα της.
-Προχωρούμε στις υπόλοιπες τροποποιήσεις της ημερήσιας διάταξης.
-
-Κυρία Πρόεδρε, στην προηγούμενη ψηφοφορία - και θα εμμείνω στην απόφασή σας σε αυτό το θέμα - αναφορικά με το στρατηγικό σχέδιο της Επιτροπής, εκδήλωσα την πρόθεσή μου να μιλήσω πριν από την ψηφοφορία εξ ονόματος της Ομάδας μου. Αυτό δεν συνέβη. Θα το εκτιμούσα εάν με το πέρας αυτού του θέματος μου επιτραπεί να προβώ σε αιτιολόγηση ψήφου εκ μέρους της Ομάδας μου. Πρόκειται για σημαντικό θέμα. Θα ήταν χρήσιμο να καταγραφεί στα πρακτικά του Σώματος πώς αντιλαμβάνεται ο καθένας αυτά που μόλις πράξαμε, υπό το φως της δικής του πολιτικής ανάλυσης.
-
-Κυρία Πρόεδρε, δεν σκοπεύω να επαναλάβω τη συζήτηση, όμως και εγώ είχα δηλώσει την επιθυμία να παρέμβω επί της αιτήσεως του κ. Barσn Crespo. Δεν μου δώσατε όμως τον λόγο. Λυπάμαι γι' αυτό, όμως η ψηφοφορία διενεργήθηκε, η απόφαση λήφθηκε, επομένως θεωρώ το θέμα λήξαν.
-
-Λυπούμαι κύριε Hδnsch και κύριε Cox, δεν είδα ότι ζητούσατε τον λόγο. Υπό τις συγκεκριμένες συνθήκες, θεωρώ ότι οι θέσεις είναι αρκετά σαφείς και θα καταγραφούν στα συνοπτικά πρακτικά. Όταν αύριο εγκρίνουμε τα συνοπτικά πρακτικά της σημερινής συνεδρίασης, οι συνάδελφοι που θεωρούν ότι οι θέσεις δεν έχουν επεξηγηθεί επαρκώς, μπορούν να ζητήσουν τροποποιήσεις. Μου φαίνεται ότι είναι μια καλή λύση. Εξυπακούεται ότι στα συνοπτικά πρακτικά της αυριανής συνεδρίασης θα ληφθούν υπόψη όλες οι συμπληρωματικές επεξηγήσεις. Θεωρώ ότι είναι καλύτερη λύση από το να προβούμε τώρα σε αιτιολογήσεις ψήφου, οι οποίες θα μας αργοπορούσαν. Κύριε Cox, κύριε Hδnsch, συμφωνείτε με αυτό;
-
-Κυρία Πρόεδρε, εάν η ψηφοφορία καταγράφει ορθώς τον τρόπο με τον οποίο ψήφισε η Ομάδα μου, δεν θα εναντιωθώ σε αυτό και ούτε μπορώ να το πράξω. Εάν η απόφασή σας είναι ότι δεν μπορώ να προβώ σε αιτιολόγηση ψήφου, τη δέχομαι αλλά με επιφύλαξη.
-
-Θα δώσουμε λοιπόν μεγάλη προσοχή στη σύνταξη των συνοπτικών πρακτικών. Το πράττουμε άλλωστε πάντοτε. Εάν δεν αντικατοπτρίζουν επαρκώς τις θέσεις θα μπορέσουμε ενδεχομένως να τα διορθώσουμε.
-(Το Σώμα εγκρίνει τη διάταξη των εργασιών όπως τροποποιήθηκε)
-
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/language/en.test b/trunk/tika-core/src/test/resources/org/apache/tika/language/en.test
deleted file mode 100644
index e4465e5..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/language/en.test
+++ /dev/null
@@ -1,105 +0,0 @@
-Resumption of the session
-I declare resumed the session of the European Parliament adjourned on Friday 17 December 1999, and I would like once again to wish you a happy new year in the hope that you enjoyed a pleasant festive period.
-Although, as you will have seen, the dreaded 'millennium bug' failed to materialise, still the people in a number of countries suffered a series of natural disasters that truly were dreadful. You have requested a debate on this subject in the course of the next few days, during this part-session. In the meantime, I should like to observe a minute' s silence, as a number of Members have requested, on behalf of all the victims concerned, particularly those of the terrible storms, in the various countries of the European Union. Please rise, then, for this minute' s silence.
-(The House rose and observed a minute' s silence)
-
-Madam President, on a point of order. You will be aware from the press and television that there have been a number of bomb explosions and killings in Sri Lanka. One of the people assassinated very recently in Sri Lanka was Mr Kumar Ponnambalam, who had visited the European Parliament just a few months ago. Would it be appropriate for you, Madam President, to write a letter to the Sri Lankan President expressing Parliament's regret at his and the other violent deaths in Sri Lanka and urging her to do everything she possibly can to seek a peaceful reconciliation to a very difficult situation?
-
-Yes, Mr Evans, I feel an initiative of the type you have just suggested would be entirely appropriate. If the House agrees, I shall do as Mr Evans has suggested.
-
-Madam President, on a point of order. I would like your advice about Rule 143 concerning inadmissibility. My question relates to something that will come up on Thursday and which I will then raise again.
-The Cunha report on multiannual guidance programmes comes before Parliament on Thursday and contains a proposal in paragraph 6 that a form of quota penalties should be introduced for countries which fail to meet their fleet reduction targets annually. It says that this should be done despite the principle of relative stability. I believe that the principle of relative stability is a fundamental legal principle of the common fisheries policy and a proposal to subvert it would be legally inadmissible. I want to know whether one can raise an objection of that kind to what is merely a report, not a legislative proposal, and whether that is something I can competently do on Thursday.
-
-That is precisely the time when you may, if you wish, raise this question, i.e. on Thursday prior to the start of the presentation of the report.
-
-Madam President, coinciding with this year' s first part-session of the European Parliament, a date has been set, unfortunately for next Thursday, in Texas in America, for the execution of a young 34 year-old man who has been sentenced to death. We shall call him Mr Hicks.
-At the request of a French Member, Mr Zimeray, a petition has already been presented, which many people signed, including myself. However, I would ask you, in accordance with the line which is now constantly followed by the European Parliament and by the whole of the European Community, to make representations, using the weight of your prestigious office and the institution you represent, to the President and to the Governor of Texas, Mr Bush, who has the power to order a stay of execution and to reprieve the condemned person.
-This is all in accordance with the principles that we have always upheld.
-
-Thank you, Mr Segni, I shall do so gladly. Indeed, it is quite in keeping with the positions this House has always adopted.
-
-Madam President, I should like to draw your attention to a case in which this Parliament has consistently shown an interest. It is the case of Alexander Nikitin. All of us here are pleased that the courts have acquitted him and made it clear that in Russia, too, access to environmental information is a constitutional right. Now, however, he is to go before the courts once more because the public prosecutor is appealing. We know, and we have stated as much in very many resolutions indeed, including specifically during the last plenary part-session of last year, that this is not solely a legal case and that it is wrong for Alexander Nikitin to be accused of criminal activity and treason because of our involvement as the beneficiaries of his findings. These findings form the basis of the European programmes to protect the Barents Sea, and that is why I would ask you to examine a draft letter setting out the most important facts and to make Parliament's position, as expressed in the resolutions which it has adopted, clear as far as Russia is concerned.
-
-Yes, Mrs Schroedter, I shall be pleased to look into the facts of this case when I have received your letter.
-
-Madam President, I would firstly like to compliment you on the fact that you have kept your word and that, during this first part-session of the new year, the number of television channels in our offices has indeed increased considerably. But, Madam President, my personal request has not been met. Although there are now two Finnish channels and one Portuguese one, there is still no Dutch channel, which is what I had requested because Dutch people here like to be able to follow the news too when we are sent to this place of exile every month. I would therefore once more ask you to ensure that we get a Dutch channel as well.
-
-Mrs Plooij-van Gorsel, I can tell you that this matter is on the agenda for the Quaestors' meeting on Wednesday. It will, I hope, be examined in a positive light.
-
-Madam President, can you tell me why this Parliament does not adhere to the health and safety legislation that it actually passes? Why has no air quality test been done on this particular building since we were elected? Why has there been no Health and Safety Committee meeting since 1998? Why has there been no fire drill, either in the Brussels Parliament buildings or the Strasbourg Parliament buildings? Why are there no fire instructions? Why have the staircases not been improved since my accident? Why are no-smoking areas not enforced? It seems absolutely disgraceful that we pass legislation and do not adhere to it ourselves.
-
-Mrs Lynne, you are quite right and I shall check whether this has actually not been done. I shall also refer the matter to the College of Quaestors, and I am certain that they will be keen to ensure that we comply with the regulations we ourselves vote on.
-
-Madam President, Mrs Díez González and I had tabled questions on certain opinions of the Vice-President, Mrs de Palacio, which appeared in a Spanish newspaper. The competent services have not included them in the agenda on the grounds that they had been answered in a previous part-session.
-I would ask that they reconsider, since this is not the case. The questions answered previously referred to Mrs de Palacio' s intervention, on another occasion, and not to these comments which appeared in the ABC newspaper on 18 November.
-
-Mr Berenguer Fuster, we shall check all this. I admit that, at present, the matter seems to be somewhat confused. We shall therefore look into it properly to ensure that everything is as it should be.
-
-Madam President, I should like to know if there will be a clear message going out from Parliament this week about our discontent over today's decision refusing to renew the arms embargo on Indonesia, considering that the vast majority in this Parliament have endorsed the arms embargo in Indonesia in the past? Today's decision not to renew the embargo is extremely dangerous considering the situation there. So Parliament should send a message, since that is the wish of the vast majority. It is irresponsible of EU Member States to refuse to renew the embargo. As people have said, the situation there is extremely volatile. There is, in fact, a risk of a military coup in the future. We do not know what is happening. So why should EU arms producers profit at the expense of innocent people?
-
-In any event, this question is not presently included among the requests for topical and urgent debate on Thursday.
-
-Agenda
-The next item is the verification of the final version of the draft agenda as drawn up by the Conference of Presidents at its meeting of 13 January pursuant to Rule 110 of the Rules of Procedure. No amendments have been proposed relating to Monday and Tuesday.
-Relating to Wednesday:
-The Group of the Party of European Socialists requests that a Commission statement be included on its strategic objectives for the next five years and on the administrative reform of the Commission.
-I would like Mr Barón Crespo, who made the request, to speak to propose it. That is, if he so wishes, of course. Then we shall follow the usual procedure, hearing one speaker in favour and one against.
-
-Madam President, the presentation of the Prodi Commission' s political programme for the whole legislature was initially a proposal by the Group of the Party of European Socialists which was unanimously approved by the Conference of Presidents in September and which was also explicitly accepted by President Prodi, who reiterated his commitment in his inaugural speech.
-This commitment is important because the Commission is a body with a monopoly of initiative in accordance with the Treaties and, therefore, basically dictates this Parliament' s political and legislative activity for the next five years. I would also like to point out, Madam President, that this Parliament voted to express its confidence in President Prodi during the previous legislature. It did so again during this legislature, in July, and then, in September, it voted once more to approve the whole Commission. There has therefore been enough time for the Commission to prepare its programme and for us to become familiar with it and explain it to our citizens. To this end, I would like to remind you of the resolution of 15 September, which recommended that the proposal be presented as soon as possible.
-The events of last week - which originated outside the Conference of Presidents, that Conference being used simply to corroborate and ratify decisions taken elsewhere - present us with a dilemma. Either the Commission is not ready to present this programme, in which case it should clarify it. According to its President, it is in a position to do so. Given that the Commission is represented by Vice-President de Palacio, I believe that, before voting, it would help if the Commission could let us know how ready it is to present this programme, as agreed. Alternatively, Parliament is not ready to examine this programme, as some appear to be suggesting. In my opinion, this second hypothesis would imply the failure of Parliament in its duty as a Parliament, as well as introducing an original thesis, an unknown method which consists of making political groups aware, in writing, of a speech concerning the Commission' s programme a week earlier - and not a day earlier, as had been agreed - bearing in mind that the legislative programme will be discussed in February, so we could forego the debate, since on the next day our citizens will hear about it in the press and on the Internet and Parliament will no longer have to worry about it.
-My Group believes that since a parliament is meant to listen, debate and reflect, there can be no justification whatsoever for this delay and we believe that, if the Commission is ready to do so, we still have time to re-establish the original agreement between Parliament and the Commission and proceed in a manner which fulfils our duty to our fellow citizens. Therefore, the proposal of the Group of the Party of European Socialists, and which you have mentioned, is that the Prodi Commission present its legislative programme on Wednesday, including its proposed administrative reform, because, otherwise, we could find ourselves in a paradoxical situation: on the pretext that there is no text, on the one hand, the President of the Commission would be denied his right to speak in this Parliament and, on the other hand, there would be a debate on a reform when Parliament had no prior knowledge of the texts on which it is based. Therefore, Madam President, I would ask you to request that the Commission express its opinion on this issue and that we then proceed to the vote.
-(Applause from the PSE Group)
-
-Madam President, I really am quite astonished at Mr Barón Crespo' s behaviour and the fact that he is now asking for this item to be put on Wednesday's agenda.
-Mr Barón Crespo, you were unable to attend the Conference of Presidents last Thursday. I am not criticising this; it happens from time to time that people send someone to represent them. Mr Hänsch represented you on this occasion. In the Conference of Presidents, we had an in-depth discussion. Your Group was alone in advocating what you are saying now. We then put it to a vote. As you know, each chairman has the same number of votes as his Group has Members. There was a vote on this matter. As I recall, the outcome of this vote was 422 votes to 180 with a few abstentions. This means that all the Groups with the exception of the non-attached Members - but, of course, they are not a Group - were in agreement; only your Group thought that we should proceed as you have proposed here. All of the others were of a different opinion. That was the decision.
-I should now like to comment on the issue itself. We have confidence in the Commission and in Romano Prodi and, after a difficult procedure, as everyone knows, the vast majority of our Group supported the vote of confidence in Romano Prodi and the Commission. We believe, however, that the Commission's strategic plan needs to be debated within a proper procedural framework, not only on the basis of an oral statement here in the European Parliament, but also on the basis of a document which is adopted in the Commission and which describes this programme over the five-year period. There is no such document!
-
-The Commission will present its programme for the year 2000 in February. We have said, very well, if the Commission does not wish to introduce the 2000 programme as early as January then we will do it in February. We have agreed to this. After all, we do not wish to quarrel with the Commission; if at all possible, we believe that the Commission and Parliament need to tread the same path. However, we in Parliament also have a supervisory role with regard to the Commission and we do not have to agree with everything which comes out of the Commission.
-I should like us to be able to do a reasonable amount of preparation for the debate on the five-year programme in our Groups. You cannot prepare if you hear a statement in this House and have no idea of its content. That is why we would recommend - and it is my impression that the Commission is also open to this idea - that we hold the debate on the Commission's long-term programme up to the year 2005 in February - and I hope that the Commission will agree on a programme before then which it will propose to us - and that, at the same time, in February we also hold the debate on the Commission's legislative programme for the year 2000. The fact that the subjects are connected also suggests that we should hold the debate on both programmes together. That is why my Group firmly rejects the proposal made by the Socialist Group.
-(Applause from the PPE-DE Group)
-
-Madam President, I would like to make it very clear that, above all, the Commission has absolute respect for the decisions of this Parliament and, amongst those, the decision establishing its agenda. We therefore respect whatever Parliament may decide.
-But I would also like to make it very clear that President Prodi made a commitment to this Parliament to introduce a new debate, as Mr Barón Crespo has reminded us, which would be in addition to the annual debate on the Commission' s legislative programme, on the broad areas of action for the next five years, that is to say, for this legislature.
-Madam President, I would like to say that the agreement reached in September distinguished this debate from the annual presentation of the Commission' s legislative programme. I would also like to say that the Commission is prepared and ready to hold this debate whenever it is convenient and that we were ready to do so this week as we had agreed originally, on the basis that it would be presented the day before in a speech to parliamentary groups.
-Therefore, Madam President, I would like to repeat that the Commission has debated the action plan for the next five years and, when Parliament decides, - this week if that is the decision - we are prepared to come and explain the programme for the next five years and, next month, the programme for 2000, which is what we fully agreed upon.
-
-I propose that we vote on the request of the Group of the Party of European Socialists that the Commission statement on its strategic objectives should be reinstated.
-(Parliament rejected the request) President. Still on the subject of Wednesday' s sitting, I have another proposal regarding the oral question on capital tax. The PPE-DE Group is requesting that this item be taken off the agenda.
-Is there a member who wishes to speak on behalf of this Group to propose this?
-
-Madam President, I can hear a ripple of laughter from the Socialists. I was told that large sections of the Socialist Group were also keen to have this item taken off the agenda, because at the vote in the Conference of Presidents no vote was received from the working group of Members of the Socialist Group responsible for this matter. I do not know whether this information is correct, but the PPE-DE Group would, in any case, be grateful if this item were removed because Parliament has addressed this issue several times already. Decisions have also been adopted against a tax of this kind. That is why my Group moves that this item be taken off the agenda.
-
-Thank you, Mr Poettering.
-We shall now hear Mr Wurtz speaking against this request.
-
-Madam President, I would firstly like to point out Mr Poettering' s lack of logic. He has just been preaching to the Group of the Party of European Socialists because they went back on a decision taken in a perfectly clear manner at the Conference of Presidents, and now he is doing just the same. We discussed that matter and we were unanimous, with the exception of the PPE and ELDR Groups. As my fellow chairmen will recall, I even mentioned that it was not a matter of knowing whether one was for or against the Tobin tax, but of whether one dared to hear what the Commission and the Council thought of it. It is not a lot to ask. I therefore repeat the proposal that this oral question to the Commission and the Council should be retained so that we can find out, once and for all, the positions of these two bodies regarding the proposal which is relatively modest but which would give a clear message to public opinion, particularly after the tide of feeling generated by the failure of the Seattle Conference.
-
-We shall proceed to vote on the PPE-DE Group' s request that the oral question regarding the capital tax be withdrawn from the agenda.
-(Parliament rejected the request, with 164 votes for, 166 votes against and 7 abstentions)
-
-Madam President, I would like to thank Mr Poettering for advertising this debate. Thank you very much.
-
-Madam President, has my vote been counted? I was unable to vote electronically, since I do not have a card. My vote was "in favour" .
-
-Indeed, if we add the two Members who have declared themselves, then the result of the vote would be ....
-
-Madam President, the Presidency has already declared the result of the vote. There is no room for amendments.
-
-Ladies and gentlemen, once again, we see it is essential for Members to bring their voting cards along on a Monday. Clearly there is a problem here. That being the case, I shall have to make a decision.
-I too forgot my card, and I would have voted against. I therefore consider that the oral question may be kept on the agenda as per the vote.
-This is the last time that we shall make allowances for Members who have forgotten their cards. Let that be clearly noted and understood.
-(Applause)The oral question will therefore remain on the agenda, and yes, your President is entitled to vote just as she is entitled to forget her voting card.
-We shall continue with the other amendments to the agenda.
-
-Madam President, in the earlier vote - and I will abide by your ruling on this matter - on the question of the strategic plan of the Commission I indicated that I would like to speak in advance of the vote on behalf of my Group. That did not happen. I would appreciate it if, on the close of this item of business, I might be allowed to give an explanation of vote on behalf of my Group. This is an important matter. It would be useful for the record of the House to state how people perceive what we have just done in the light of their own political analysis.
-
-Madam President, I do not wish to reopen the debate, but I had also asked for the floor, to comment on Mr Barón Crespo's motion. You did not call me either. I regret this, but the vote has already been taken and the decision is made so let us leave the matter there.
-
-I am terribly sorry, Mr Hänsch and Mr Cox. I did not see you asking to speak. Even so, I think the positions are quite clear and they shall be entered in the Minutes. When we adopt the Minutes for today' s sitting tomorrow, then any Members who think the positions have not been explained clearly enough may ask for amendments. This seems to me to be a workable solution. Of course, the Minutes for tomorrow' s sitting will take into account any additional explanations. I think this is a better solution than proceeding now to extremely time-consuming explanations of votes. Mr Cox, Mr Hänsch, would this be acceptable to you?
-
-Madam President, if the vote records correctly how my Group voted I shall not, and cannot, object to that. If your ruling is that I cannot give an explanation of vote, I accept that but with reservations.
-
-We shall pay particular attention to the wording of the Minutes, as we always do, of course. If they do not properly reflect the positions adopted, then we may correct them, if necessary.
-(The order of business was adopted thus amended)
-
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/language/es.test b/trunk/tika-core/src/test/resources/org/apache/tika/language/es.test
deleted file mode 100644
index c113c5e..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/language/es.test
+++ /dev/null
@@ -1,107 +0,0 @@
-Reanudación del período de sesiones
-Declaro reanudado el período de sesiones del Parlamento Europeo, interrumpido el viernes 17 de diciembre pasado, y reitero a Sus Señorías mi deseo de que hayan tenido unas buenas vacaciones.
-Como todos han podido comprobar, el gran "efecto del año 2000" no se ha producido. En cambio, los ciudadanos de varios de nuestros países han sido víctimas de catástrofes naturales verdaderamente terribles. Sus Señorías han solicitado un debate sobre el tema para los próximos días, en el curso de este período de sesiones. A la espera de que se produzca, de acuerdo con muchos colegas que me lo han pedido, pido que hagamos un minuto de silencio en memoria de todas las víctimas de las tormentas, en los distintos países de la Unión Europea afectados. Invito a todos a que nos pongamos de pie para guardar un minuto de silencio.
-(El Parlamento, de pie, guarda un minuto de silencio)
-
-Señora Presidenta, una cuestión de procedimiento. Sabrá usted por la prensa y la televisión que se han producido una serie de explosiones y asesinatos en Sri Lanka. Una de las personas que recientemente han asesinado en Sri Lanka ha sido al Sr. Kumar Ponnambalam, quien hace pocos meses visitó el Parlamento Europeo. ¿Sería apropiado que usted, Señora Presidenta, escribiese una carta al Presidente de Sri Lanka expresando las condolencias del Parlamento por esa y otras muertes violentas, pidiéndole que haga todo lo posible para encontrar una reconciliación pacífica ante la extremadamente difícil situación que está viviendo su país?
-
-Sí, señor Evans, pienso que una iniciativa como la que usted acaba de sugerir sería muy adecuada. Si la Asamblea está de acuerdo, haré lo que el señor Evans acaba de sugerir.
-
- Señora Presidenta, una cuestión de procedimiento. Me gustaría que me asesorara sobre el Artículo 143 concerniente a la inadmisibilidad. Mi pregunta se refiere a un asunto del que se hablará el jueves, día que en volveré a plantearla.
-El informe Cunha sobre los programas de dirección plurianual se presenta al Parlamento el jueves y contiene una propuesta en el apartado 6 en torno a una forma de penalizaciones basada en cuotas que debe aplicarse a los países que no cumplan anualmente sus objetivos de reducción de flota. El informe estipula que se debe aplicarse a pesar del principio de estabilidad relativa. Creo que el principio de estabilidad relativa es un principio legal fundamental de las políticas pesqueras comunitarias, por lo que una propuesta que lo subvierta es legalmente inadmisible. Quiero saber si se puede hacer este tipo de objeción a lo que sólo es un informe, no una propuesta legislativa, y si es algo que puedo plantear el jueves.
-
-Su Señoría, si así lo desea, podrá plantear esta cuestión en ese momento, es decir, el jueves antes de que se presente el informe.
-
-Señora Presidenta, coincidiendo con el primer período parcial de sesiones de este año del Parlamento Europeo, lamentablemente, en los Estados Unidos, en Texas, se ha fijado para el próximo jueves la ejecución de un condenado a la pena capital, un joven de 34 años que llamaremos con el nombre de Hicks.
-A petición de un diputado francés, el Sr. Zimeray, se ha presentado una solicitud, cuyos firmantes han sido numerosos y entre los cuales me cuento, sin embargo, de conformidad con la posición constantemente expresada por el Parlamento Europeo y por toda la Comunidad europea, le pido que intervenga con el prestigio de su cargo y de la Institución que representa ante el Presidente y el Gobernador del Estado de Texas, Sr. Bush, que tiene la facultad de suspender la condena a muerte y de indultar al condenado.
-Todo ello, de conformidad con los principios que siempre hemos apoyado.
-
-Gracias, señor Segni, lo haré de muy buen grado. Está, sin duda, dentro de la línea de las posiciones que nuestro Parlamento siempre ha adoptado.
-
-Señora Presidenta, quisiera llamar la atención de usted acerca de un caso del que se ha ocupado una y otra vez este Parlamento. Es el caso de Alexander Nikitin. Todos celebramos aquí que el tribunal le haya declarado inocente y que haya puesto de manifiesto que también en Rusia el acceso a la información sobre el medio ambiente es un derecho constitucional. Sin embargo, sucede que va a ser acusado de nuevo, pues el fiscal interpondrá un recurso. Sabemos y lo hemos afirmado realmente en muchas resoluciones -precisamente en la última sesión plenaria del año pasado- que éste no es solamente un caso jurídico y que es un error acusar a Alexander Nikitin de conducta criminal y de traición, porque nosotros, como afectados por sus resultados, obtengamos provecho de ella. Esos resultados constituyen la base de los programas europeos del mar de Barent y, por ello, le pido que estudie un borrador de carta que le describe los hechos más relevantes y que haga patente a Rusia esta posición que es acorde con las decisiones del Parlamento.
-
-Sí, señora Schroedter, de buena gana voy a examinar los hechos relacionados con este tema en cuanto reciba su carta.
-
-Señora Presidenta, en primer lugar me gustaría felicitarla por haber cumplido con su promesa ya que efectivamente en este primer periodo de sesiones del año nuevo se ha ampliado drásticamente el número de canales en nuestros despachos. Sin embargo, señora Presidenta, no se ha hecho lo que yo había pedido. Bien es verdad que ahora hay dos canales finlandeses y uno portugués, pero aún no hay ninguno neerlandés y yo le había pedido un canal neerlandés, porque también los neerlandeses quisiéramos escuchar las noticias cada mes, cuando nos mandan a este exilio. Por lo tanto quisiera pedirle nuevamente que se encargue de que podamos ver también un canal neerlandés.
-
-Señora Plooij-van Gorsel, puedo decirle que esa cuestión está en el orden del día de la reunión de cuestores fijada para el miércoles. Espero que se examine con un espíritu positivo.
-
-Señora Presidenta, ¿podría decirme por qué este Parlamento no cumple la legislación de sanidad y seguridad que en realidad ha aprobado? ¿Por qué no se ha hecho ninguna prueba de calidad del aire de este edificio desde que hemos sido elegidos? ¿Por qué no se ha celebrado ninguna reunión del Comité de Sanidad y Seguridad desde 1998? ¿Por qué no hemos tenido simulacros de incendio ni en los edificios del Parlamento de Bruselas ni en los del Parlamento de Estrasburgo? ¿Por qué no hay instrucciones en caso de incendio? ¿Por qué no se han mejorado las escaleras desde mi accidente? ¿Por qué no se respetan las áreas de no fumadores? Es totalmente vergonzoso que aprobemos una legislación y no la cumplamos ni nosotros mismos.
-
-Señora Lynne, tiene toda la razón del mundo, y verificaré si estas cosas no se han hecho de verdad. También someteré el problema a la Junta de Cuestores, y estoy segura de que los cuestores harán lo debido para que respetemos las normas que, efectivamente, nosotros mismos votamos.
-
-Sra. Presidenta, la Sra. Díez González y yo mismo habíamos presentado unas preguntas sobre determinadas opiniones, reproducidas en un diario español, de la Vicepresidenta, Sra. de Palacio. Los servicios competentes no las han incluido en el orden del día por considerar que ya habían sido contestadas en una sesión anterior.
-Ruego que se reconsidere esta decisión porque esto no es así. Las preguntas contestadas con anterioridad se referían a la intervención, en determinado expediente, de la Sra. de Palacio, no a esas declaraciones aparecidas en el diario ABC el 18 de noviembre pasado.
-
-Señoría, vamos a verificar todo esto. Le confieso que, de momento, las cosas me parecen un tanto confusas. Por consiguiente, vamos a revisarlas con seriedad para que todo esté en orden.
-
-Señora Presidenta, me gustaría saber si el Parlamento emitirá esta semana un comunicado claro sobre el descontento por la decisión de hoy de no renovar el embargo de armas a Indonesia, considerando que la inmensa mayoría de este Parlamento apoyó en el pasado el embargo de armas a Indonesia. La decisión de hoy de no renovar el embargo es extremadamente peligrosa teniendo en cuenta la situación de ese país. Por lo tanto, el Parlamento debe enviar un mensaje, ya que ése es el deseo de la inmensa mayoría. Es irresponsable por parte de los Estados Miembros de la UE negarse a renovar el embargo. Como ha dicho la gente, la situación allí es extremadamente precaria. De hecho, existe el riesgo de un golpe militar en el futuro. No sabemos lo que está ocurriendo allí. ¿Por qué tienen que beneficiarse los productores de armas de la UE a expensas de gente inocente?
-
-En cualquier caso, este tema no figura ahora mismo entre las demandas de urgencia para el jueves próximo.
-
-Orden de los trabajos
-De conformidad con el orden del día, se procede a examinar el proyecto definitivo de orden del día, establecido de conformidad con el artículo 110 del Reglamento en la Conferencia de Presidentes, el jueves 13 de enero. En lo relativo al lunes y al martes, no hay modificaciones.
-Miércoles :
-El Grupo del Partido de los Socialistas Europeos solicita que se incluya una declaración de la Comisión sobre sus objetivos estratégicos para los próximos cinco años, así como sobre la reforma administrativa de la Comisión.
-Desearía que el Sr. Barón Crespo, autor de la petición, interviniera para justificarla, si a él le parece adecuado, por supuesto. Como siempre, escucharemos a un orador a favor y a otro en contra.
-
-Señora Presidenta, la presentación del programa político de la Comisión Prodi para toda la legislatura fue inicialmente una propuesta del Grupo del Partido de los Socialistas Europeos que logró la unanimidad de la Conferencia de Presidentes en septiembre y también la aceptación explícita del Presidente Prodi, que reiteró su compromiso en su discurso de investidura.
-Tiene importancia este compromiso en la medida en que la Comisión es un organismo que tiene el monopolio de la iniciativa de acuerdo con los Tratados y, por lo tanto, configura básicamente lo que va a ser la actividad política y legislativa de este Parlamento en los próximos cincos años. Recuerdo además, señora Presidenta, que este Parlamento votó en dos ocasiones en la anterior legislatura su confianza en el Presidente Prodi; en esta legislatura la votó de nuevo en julio y después, con la nueva Comisión en funciones, volvió en septiembre a darle un voto de confianza a toda la Comisión. Por lo tanto, ya ha habido tiempo suficiente para que la Comisión prepare su programa y para que nosotros lo podamos conocer y podamos explicárselo a los ciudadanos. En este sentido recuerdo la resolución del 15 de septiembre, en la que se recomendaba que se presentara la propuesta en el plazo más breve posible.
-Los hechos ocurridos la semana pasada -que se han originado al margen de la Conferencia de Presidentes y utilizándola sólo para corroborar y ratificar decisiones tomadas fuera de ella- plantean un dilema: o bien la Comisión no está en condiciones de presentar ese programa (en ese caso convendría que lo aclarara. Según palabras de su Presidente, está en condiciones de hacerlo. Dado que la Comisión está representada por la Vicepresidenta, Sra. de Palacio, creo que antes de votar sería conveniente conocer la situación de la Comisión en relación con su disponibilidad para presentar el programa, tal como se había convenido); o bien el Parlamento no está en condiciones de examinar este programa, como parece que pretenden algunos. En mi opinión, esta segunda hipótesis significaría hacer dejación de nuestras responsabilidades como Parlamento, además de introducir una tesis original, un método desconocido consistente en dar a conocer a los grupos políticos por escrito el discurso programático de la Comisión una semana antes -y no el día antes, como se había convenido-, teniendo en cuenta que el programa legislativo se discutirá en febrero, de tal manera que podríamos prescindir del debate, porque al día siguiente la prensa e Internet lo habrían dado a conocer a todos los ciudadanos y el Parlamento no tendría ya por qué ocuparse del asunto.
-Como mi Grupo opina que un Parlamento está hecho para escuchar, para debatir y para reflexionar, pensamos que no hay razón alguna que justifique este aplazamiento y creemos que si, la Comisión está en condiciones de hacerlo, estamos perfectamente a tiempo para poder restablecer el acuerdo original entre el Parlamento y la Comisión y proceder con responsabilidad ante nuestras conciudadanas y nuestros conciudadanos. Por lo tanto, la propuesta que hace el Grupo del Partido de los Socialistas Europeos y que su Señoría ha mencionado es que el miércoles se mantenga la presentación del programa de legislatura de la Comisión Prodi, incluyendo dentro de este programa también el proyecto de reforma administrativa porque, de no ser así, nos podemos encontrar con una situación paradójica: con la excusa de que no hay texto, se niega por una parte el derecho al Presidente de la Comisión a hablar en este Parlamento y, por otra parte, que tenga lugar un debate sobre la reforma sin que este Parlamento conozca previamente los textos en que se basa. Por lo tanto, le ruego, señora Presidenta, que pida a la Comisión que se manifieste en este momento y después que se proceda al voto.
-(Aplausos del grupo PSE)
-
-Señora Presidenta, estimados colegas, estoy un tanto sorprendido por la conducta de nuestro colega, el Sr. Barón Crespo, que ahora pide que este punto del orden del día se incluya en el orden del día del miércoles.
-Señor Barón Crespo, usted no pudo asistir el jueves pasado a la Conferencia de Presidentes. No se lo critico; ocurre a veces que se delega la representación. Nuestro colega, el Sr. Hänsch, le representó a usted en la misma. En la Conferencia de Presidentes, tuvimos un debate muy minucioso. Solamente su Grupo mantuvo lo que usted dice ahora. Votamos luego. Cada Presidente o cada Presidenta tiene tantos votos como miembros tiene su Grupo. Hubo una votación sobre este punto. Según recuerdo el resultado de la votación fue el siguiente: 422 votos contra 180 con unas pocas abstenciones. Esto significa que todos los Grupos, con excepción de los que no pertenecen a grupos -los cuales, ciertamente, no constituyen grupo alguno- estaban de acuerdo. Sólo su Grupo opinaba que había que proceder tal como usted acaba de proponer aquí. Todos los demás eran de otra opinión. Así fue el acuerdo.
-Ahora quisiera decir algo sobre el asunto mismo. Nosotros tenemos confianza en la Comisión, en Romano Prodi, y la gran mayoría de nuestro Grupo manifestó su confianza a Romano Prodi y a la Comisión después de un difícil proceso, como todos sabemos. Sin embargo, somos también de la opinión de que debemos celebrar un debate sobre esta estrategia de la Comisión en un procedimiento, no sólo a causa de una explicación oral que ha tenido lugar aquí, en el Parlamento Europeo, sino también a causa de un documento que se ha aprobado en la Comisión y que describe este programa para cinco años. Tal documento no está.
-La Comisión presentará en febrero el programa para el año 2000. Nosotros hemos dicho, bueno, si la Comisión no quiere hacer todavía el Programa 2000 en enero, hagámoslo en febrero. Hemos otorgado nuestra conformidad. En efecto, no queremos tener ninguna disputa con la Comisión, sino que somos de la opinión de que, si es posible, la Comisión y el Parlamento han de marchar por un camino común. Pero, como Parlamento, somos la instancia controladora de la Comisión. Y no todo lo que proceda de la Comisión debe ser opinión nuestra.
-Quisiera que en los Grupos nos pudiéramos preparar razonablemente para un debate sobre el programa para cinco años. No es posible una preparación, si se escucha aquí una declaración y no se sabe cuál es el contenido de tal declaración. Por esta razón, nuestra propuesta -y mi impresión es que la Comisión se encuentra también abierta a estas ideas- es que celebremos en febrero el debate sobre el plan a largo plazo de la Comisión hasta el año 2005 -espero que de aquí a allá la Comisión se ponga también de acuerdo en un programa que tendrá que proponernos- y que nosotros, en febrero, celebremos también, al mismo tiempo, el debate sobre el programa legislativo de la Comisión para el año 2000. Por consiguiente, es un contexto objetivo y sensato el que nos aconseja celebrar conjuntamente el debate sobre ambos programas. Por esta razón mi Grupo rechaza de manera decidida la propuesta del Grupo Socialista.
-(Aplausos del Grupo PPE-DE)
-. Señora Presidenta, quiero dejar muy claro que, ante todo, la Comisión tiene el máximo respeto por las decisiones de este Parlamento y, entre ellas, la de establecer su orden del día. Por lo tanto, nosotros respetamos lo que en este sentido pueda decidir el Parlamento.
-Pero quiero dejar también muy claro que el Presidente Prodi se comprometió con el Parlamento a incorporar un nuevo debate, como ha recordado el Sr. Barón, que se añade al debate anual sobre el programa legislativo de la Comisión, sobre las grandes líneas de actuación para el próximo período de cinco años, es decir, para esta legislatura.
-Quiero decir, señora Presidenta, que este debate se distinguía, en el acuerdo al que se llegó en el mes de septiembre, de lo que es la presentación anual del programa legislativo de la Comisión. Y quiero decir, señora Presidenta, que, por parte de la Comisión, estamos preparados y dispuestos a tener ese debate cuando convenga, que estábamos preparados para desarrollarlo esta semana, como en principio se había acordado, partiendo de la base de que se presentaba la víspera en un discurso a los grupos parlamentarios.
-Por lo tanto, señora Presidenta, quiero reiterar que, por nuestra parte, hemos debatido el programa de actuación para los próximos cinco años y que estamos preparados para, cuando así lo decida el Parlamento, -esta misma semana si ésa es la decisión- venir a exponer el programa para los próximos cinco años y, el mes que viene, el programa para el año 2000, que era lo que estaba perfectamente acordado.
-
-Propongo que votemos la petición del Grupo del Partido de los Socialistas Europeos para volver a incluir la declaración de la Comisión sobre sus objetivos estratégicos.
-(El Parlamento rechaza la petición) El Presidente. Sobre el tema del miércoles, tengo otra propuesta relativa a la pregunta oral sobre el impuesto al capital. El grupo PPE-DE solicita que se retire este punto del orden del día.
-¿Algún colega tomará la palabra en nombre del grupo para justificar esta petición?
-
-Señora Presidenta, escucho algunas risas entre los socialistas. Me han dicho que también amplios círculos del Grupo Socialista ven de buen grado la supresión de este punto del orden del día, ya que en la votación habida en la Conferencia de Presidentes faltó el voto del grupo de trabajo competente para ello de nuestros colegas del Grupo Socialista. Ignoro si esta información es correcta, pero nosotros como Grupo del PPE/DE agradeceríamos en cualquier caso que se suprimiera este punto, ya que el Parlamento se ha ocupado ya numerosas veces de esta cuestión. También existen acuerdos contra semejante impuesto. Por consiguiente, mi Grupo solicita que se suprima este punto del día.
-
-Gracias, señor Poettering.
-Escuchemos ahora al Sr. Wurtz, que hablará en contra de la petición.
-
-Señora Presidenta, ante todo quiero subrayar la falta de lógica del señor Poettering, que acaba de dar una lección al Grupo de los Socialista Europeos para que se vuelva a tratar una decisión que se tomó de un modo absolutamente claro en la Conferencia de Presidentes. Y él hace lo mismo. Hemos discutido, expresamos unanimidad, con excepción de los Grupos del PPE y del Partido Europeo de los Liberales Demócratas y Reformistas, y yo mismo hice notar -como lo recordarán mis queridos compañeros presidentes- que no se trata de saber si están ustedes a favor o en contra del impuesto Todin, sino de saber si se atreven a comprender lo que piensan al respecto la Comisión y el Consejo. No es pedir demasiado. Por lo tanto, reitero la propuesta de mantener esta pregunta oral a la Comisión y al Consejo para saber de una vez por todas cuál es la posición de esos dos órganos en lo que se refiere a esta propuesta relativamente modesta, pero que sería una señal importante para la opinión, sobre todo después de la conmoción que suscitó el fracaso de la Conferencia de Seattle.
-
-Se vota la propuesta del Grupo PPE-DE para retirar del orden del día la pregunta oral referida al impuesto sobre el capital.
-(El Parlamento rechaza la propuesta por 164 votos a favor, 166 votos en contra y 7 abstenciones)
-
-Señora Presidenta, quiero agradecer al señor Poettering la publicidad que acaba de dar a este debate. Gracias.
-
-Señora Presidenta, ¿se ha contabilizado mi voto, que no ha podido ser realizado electrónicamente, porque no tengo la tarjeta? Mi voto era "a favor" .
-
-En efecto, si se suman los dos colegas que han hablado, el resultado sería...
-
-
-Señora Presidenta, la Presidencia ha proclamado el resultado de la votación. No caben modificaciones.
-
-Señorías, repito una vez más que es preciso que todos tengamos la tarjeta. Es evidente que se trata de un problema. En estas circunstancias, debo tomar una decisión.
-También yo he olvidado mi tarjeta y habría votado en contra. Considero, pues, que la pregunta oral se mantiene en el orden del día.
-
-Es la última vez que tomaremos en cuenta las tarjetas olvidadas. Que esto quede bien claro y que se avise a todos.
-(Aplausos)
-Sí, la pregunta oral se mantiene en el orden del día y sí, la Presidenta tiene el derecho de votar, como también tiene el derecho de olvidar su tarjeta.
-Continuamos con las otras modificaciones del orden del día.1
-
-Señora Presidenta, en la votación anterior -y me atendré a su decisión en este asunto- sobre la cuestión del plan estratégico de la Comisión, indiqué que me habría gustado hablar antes de la votación en nombre de mi Grupo. Esto no ha ocurrido. Le agradecería que, al cierre de este punto, se me permitiera dar una explicación del voto en nombre de mi Grupo. Es un asunto importante. Sería útil que el historial de la Cámara registrara cómo percibe la gente lo que hemos hecho a la luz de sus propios análisis políticos.
-
-Señora Presidenta, no deseo reanudar el debate, pero había pedido también la palabra para dar mi opinión acerca de la enmienda del Sr. Barón Crespo. Tampoco me ha nombrado usted. Lo lamento, pero la votación se ha realizado, se ha adoptado la decisión y, por consiguiente, dejemos así las cosas.
-
-Lo siento mucho, señor Hänsch, señor Cox, no he advertido que ustedes pedían la palabra. En estas circunstancias, creo que las posiciones están claras y que se reflejarán en el Acta. Cuando mañana se trate la aprobación del Acta de la sesión de hoy, si Sus Señorías estiman que las posiciones no se han explicado lo bastante bien, podrán pedir modificaciones. Creo que es una buena fórmula. Por supuesto que el Acta de la sesión de mañana consignará todas las explicaciones complementarias. Creo que esta fórmula es mejor que la de proceder ahora a unas explicaciones de voto que nos llevarían mucho tiempo. Sr. Hänsch, Sr. Cox, ¿les parece bien?
-
- Señora Presidenta, si en el registro de la votación consta correctamente cómo ha votado mi Grupo, ni quiero ni puedo plantear objeción alguna. Si su decisión es que no podemos explicar nuestro voto, la acataré, pero no sin reservas.
-
-Examinaremos con cuidado la redacción del Acta, aunque es algo que siempre hacemos. Si no refleja bien las posiciones, se podrá corregir.
-
-(El Parlamento aprueba el orden de los trabajos así modificado)
-
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/language/et.test b/trunk/tika-core/src/test/resources/org/apache/tika/language/et.test
deleted file mode 100644
index 16bbfab..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/language/et.test
+++ /dev/null
@@ -1,17 +0,0 @@
-Kogu maailmas aga oli üks keel ja ühesugused sõnad.
-
-Ja sündis, kui nad hommiku poolt teele läksid, et nad Sinearimaal leidsid oru ja jäid sinna elama.
-
-Nad ütlesid üksteisele: "Tehkem nüüd telliskive ja põletagem neid hästi." Siis olid telliskivid neile ehituskivideks ja maapigi oli saviks.
-
-Ja nad ütlesid: "Tulge, ehitagem enestele linn ja torn, mille tipp oleks taevas, ja tehkem enestele nimi, et me ei hajuks üle kogu maailma!"
-
-Aga Jehoova tuli alla vaatama linna ja torni, mida inimlapsed ehitasid.
-
-Ja Jehoova ütles: "Vaata, rahvas on üks ja neil kõigil on üks keel, ja see on alles nende tegude algus. Nüüd ei ole neil võimatu ükski asi, mida nad kavatsevad teha!
-
-Mingem nüüd alla ja segagem seal nende keel, et nad üksteise keelt ei mõistaks!"
-
-Ja Jehoova pillutas nad sealt üle kogu maailma ja nad jätsid linna ehitamata.
-
-Seepärast pandi sellele nimeks Paabel, sest seal Jehoova segas ära kogu maailma keele ja sealt pillutas Jehoova nad üle kogu maailma.
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/language/fi.test b/trunk/tika-core/src/test/resources/org/apache/tika/language/fi.test
deleted file mode 100644
index 6fd7f6d..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/language/fi.test
+++ /dev/null
@@ -1,106 +0,0 @@
-Istuntokauden uudelleenavaaminen
- Julistan perjantaina joulukuun 17. päivänä keskeytetyn Euroopan parlamentin istunnon avatuksi ja esitän vielä kerran vilpittömän toiveeni siitä, että teillä olisi ollut oikein mukava joululoma.
-Kuten olette varmaan saattaneet huomata, vuodenvaihteeseen 2000 povattuja suuria tietokoneongelmia ei ilmennytkään. Sen sijaan todella kauheat luonnonkatastrofit koettelivat kansalaisia joissakin unionimme maissa. Te olette esittäneet toiveen, että tästä asiasta keskusteltaisiin lähipäivinä tämän istuntojakson aikana. Sillä välin toivoisin, kuten useampi kollega on minulle esittänytkin, että viettäisimme minuutin hiljaisuuden kaikkien niiden uhrien muistoksi, jotka saivat surmansa useita Euroopan unionin maita koetelleissa myrskyissä. Kehotan, että nousette seisomaan tämän minuutin hiljaisuuden ajaksi
-(Parlamentti vietti seisaallaan minuutin hiljaisuuden.)
-
-Arvoisa puhemies, käytän työjärjestyspuheenvuoron. Olette varmaan saaneet tietoonne lehdistön ja television kautta, että Sri Lankassa on sattunut useita kuolemaan johtaneita pommi-iskuja. Näiden Sri Lankassa aivan äskettäin surmansa saaneiden ihmisten joukossa on Kumar Ponnambalam, joka vieraili parlamentissa vain pari kuukautta sitten. Kävisikö teille, arvoisa puhemies, että kirjoittaisitte Sri Lankan presidentille kirjeen, jossa välittäisitte surunvalittelut parlamentin puolesta Ponnambalanin kuoleman ja muiden Sri Lankassa sattuneiden väkivaltaisten kuolemantapausten johdosta ja jossa pyytäisitte presidenttiä tekemään kaikkensa, jotta tähän hyvin vaikeaan tilanteeseen löydettäisiin rauhanomainen sovitteluratkaisu?
-
- Kyllä, jäsen Evans, mielestäni äsken ehdottamanne suuntainen aloite olisi varsin oikeaan osuva. Jos parlamentin jäsenet kannattavat sitä, teen niin kuin jäsen Evans ehdotti.
-
-Arvoisa puhemies, käytän työjärjestyspuheenvuoron. Haluaisin, että kertoisitte mielipiteenne työjärjestyksen 143 artiklasta, joka koskee sitä, milloin jotakin asiaa ei oteta käsiteltäväksi. Kysymykseni liittyy erääseen seikkaan, jota käsitellään torstaina ja jonka otan silloin taas esille.
-Cunhan monivuotisia ohjausohjelmia koskevaa mietintöä käsitellään parlamentissa torstaina, ja sen 6 kohtaan sisältyy ehdotus, jonka mukaan niiden maiden kohdalla, jotka eivät suoriudu vuosittaisista laivueita koskevista supistamistavoitteistaan, otetaan käyttöön eräänlaisia kiintiöiden vähentämistä tarkoittavia rangaistuksia. Mietinnössä sanotaan, että näin olisi tehtävä suhteellisen vakauden periaatteesta huolimatta. Uskon, että suhteellisen vakauden periaate on perusluonteinen oikeudellinen periaate yhteisen kalastuspolitiikan alalla ja että ehdotusta, jossa sitä horjutetaan, olisi lainsäädännöllisesti mahdoton hyväksyä. Haluaisin tietää, onko mahdollista esittää tällainen vastalause, jonka kohteena on pelkkä mietintö eikä lakiehdotus, ja onko minulla valtuuksia esittää tällainen vastalause torstaina.
-
- Te voitte tosiaankin juuri silloin tehdä tämän esityksen, mikäli sitä haluatte, eli torstaina ennen mietinnön käsittelyn alkamista.
-
-Arvoisa puhemies, samanaikaisesti Euroopan parlamentin tämän vuoden ensimmäisen istuntojakson kanssa Texasissa Yhdysvalloissa päätettiin, että eräs nuori - 34-vuotias - kuolemaantuomittu, nimeltään Hicks, teloitetaan valitettavasti ensi perjantaina.
-Ranskalaisen parlamentin jäsenen Zimerayn pyynnöstä on esitetty vetoomus, jonka monet ovat allekirjoittaneet, ja olen itse yksi heistä, mutta pyydän, että te Euroopan parlamentin ja koko Euroopan yhteisön johdonmukaisesti osoittaman kannan mukaisesti otatte virkanne suoman ja edustamanne toimielimen arvovallan voimin yhteyttä Texasin osavaltion johtajaan, kuvernööri Bushiin, jolla on valtuudet kumota kuolemantuomio ja armahtaa kuolemaantuomittu.
-Ja kaikki tämä niiden periaatteiden mukaisesti, joita olemme aina puolustaneet.
-
- Kiitos, jäsen Segni, teen sen oikein mielelläni. Se on tosiaankin täysin niiden periaatteiden mukaista, joita parlamentti on aina puolustanut.
-
-Arvoisa puhemies, haluaisin kiinnittää huomionne tapaukseen, jota tämä parlamentti on käsitellyt toistuvasti. Se on tapaus Aleksandr Nikitin. Me kaikki täällä parlamentissa olemme iloisia siitä, että oikeus vapautti hänet ja teki selväksi, että ympäristöä koskevien tietojen saaminen on perustuslaillinen oikeus myös Venäjällä. Tilanne on nyt kuitenkin se, että hän on joutunut uudelleen syytteeseen, koska yleinen syyttäjä valittaa oikeuden päätöksestä. Me tiedämme ja olemme todenneet sen todellakin erittäin monissa päätöslauselmissa - nimenomaan viime vuoden viimeisessä täysistunnossa -, että tämä ei ole pelkästään oikeustapaus ja on väärin syyttää Aleksandr Nikitiniä rikollisuudesta ja petoksesta, koska me asianosaisina hyödymme hänen tuloksistaan. Nämä tulokset muodostavat pohjan eurooppalaisille Barentsinmeren suojeluohjelmille, ja pyydän teitä siksi tarkastelemaan huolellisesti kirjeluonnosta, jossa selitetään tärkeimmät tosiasiat, ja tekemään tämän kannan selväksi Venäjällä parlamentin päätösten hengessä.
-
- Kyllä jäsen Schroedter, saatuani kirjeenne otan varsin mielelläni selvää tähän kysymykseen liittyvistä seikoista.
-
-Arvoisa puhemies, haluaisin aluksi kiittää teitä siitä, että olette pitänyt sananne ja että nyt uuden vuoden ensimmäisen istuntojakson aikana huoneissamme näkyvien televisiokanavien määrä on todellakin kasvanut valtavasti. Arvoisa puhemies, se, mitä minä pyysin, ei ole kuitenkaan toteutunut. Nyt näkyvissä on kaksi suomalaista kanavaa ja yksi portugalilainen kanava, ja minä pyysin teiltä alankomaalaista kanavaa, koska myös alankomaalaiset haluavat seurata uutisia joka kuukausi, kun meidät lähetetään tänne karkotuspaikkaan. Haluaisin pyytää teitä vielä kerran huolehtimaan siitä, että me saamme myös alankomaalaisen kanavan.
-
- Jäsen Plooij-van Gorsel, voin kertoa, että kyseinen asia on kvestorien ensi keskiviikon kokouksen esityslistalla. Toivon, että sitä käsitellään myönteisessä hengessä.
-
-Arvoisa puhemies, voitteko kertoa minulle, miksi parlamentti ei noudata terveyttä ja turvallisuutta koskevaa lainsäädäntöä, jonka se oikeastaan itse hyväksyy? Miksei juuri tämän rakennuksen ilmanlaatua ole testattu sinä aikana, kun olemme olleet jäseniä? Miksi terveys- ja turvallisuusasioista vastaava komitea ei ole kokoontunut vuoden 1998 jälkeen? Miksi parlamentin Brysselin tiloissa tai Strasbourgin tiloissa ei ole järjestetty paloharjoituksia? Miksi tulipalon varalta ei ole annettu ohjeita? Miksi portaikossa ei ole tehty parannuksia minulle sattuneen onnettomuuden jälkeen? Miksi "tupakointi kielletty" -alueita ei ole pantu täytäntöön? On todella noloa, että hyväksymme lakeja emmekä noudata niitä itse.
-
-Jäsen Lynne, te olette täysin oikeassa, ja aion tarkistaa, eikö kaikkea tätä todellakaan ole tehty. Toimitan myös tämän ongelman kvestorikollegion käsiteltäväksi ja olen varma, että kvestoreillemme on erittäin tärkeää toimia niin, että noudatamme sellaista lainsäädäntöä, jonka olemme itse hyväksyneet.
-
-Arvoisa puhemies, Díez González ja minä olimme esittäneet muutamia kysymyksiä, jotka koskivat tiettyjä komission varapuheenjohtaja de Palacion lausuntoja, jotka julkaistiin eräässä espanjalaisessa päivälehdessä. Toimivaltaiset yksiköt eivät ole ottaneet kysymyksiä esityslistalle, koska yksiköiden mukaan niihin on jo vastattu aiemmalla istuntojaksolla.
-Pyydän, että tämä päätös perutaan, sillä asia ei ole niin. Ne kysymykset, joihin aiemmin vastattiin, liittyvät komission varapuheenjohtaja De Palacion puheenvuoroon eräässä asiassa, eikä näihin viime marraskuun 18. päivänä ABC-lehdessä julkaistuihin lausuntoihin.
-
-Hyvä kollega, tarkistamme asian. Minun täytyy myöntää, että tällä hetkellä asiat vaikuttavat minusta hieman sekavilta. Niinpä käymme asian erittäin tarkasti läpi, jotta kaikki saadaan hyvälle tolalle.
-
-Arvoisa puhemies, haluaisin tietää, lähettääkö parlamentti tällä viikolla ulkomaailmaan selvän viestin siitä, kuinka tyytymättömiä olemme tämänpäiväiseen päätökseen, jonka mukaan aseiden vientikieltoa Indonesiaan ei jatketa, varsinkin, jos otamme huomioon, että parlamentin valtaenemmistö on aiemmin tukenut aseiden vientikieltoa Indonesiaan? Tämänpäiväinen päätös olla jatkamatta vientikieltoa on erittäin vaarallinen, jos otamme huomioon Indonesian tilanteen. Näin ollen parlamentin olisi lähetettävä tällainen viesti, sillä valtaenemmistö toivoo sitä. On vastuutonta, että EU:n jäsenvaltiot kieltäytyvät jatkamasta aseiden vientikieltoa. Kuten monet ovat kertoneet, tilanne on Indonesiassa äärimmäisen räjähdysaltis. Vaarana todellakin on tuleva sotilasvallankaappaus. Me emme tiedä, mitä tapahtuu. Miksi siis EU:n asevalmistajien olisi tehtävä voittoa viattomien ihmisten kustannuksella?
-
-Joka tapauksessa, tämä kysymys ei ole toistaiseksi torstain ajankohtaiskeskustelun aiheiden joukossa.
-
-Käsittelyjärjestys
-Esityslistalla on seuraavana lopullisen esityslistaluonnoksen käsittely siinä muodossa kuin puheenjohtajakokous torstaina 13. tammikuuta työjärjestyksen 110 artiklan mukaisesti sen laati. Maanantain ja tiistain osalta minulle ei ole ehdotettu muutoksia.
-Keskiviikon osalta:
-Sosialistiryhmä pyytää, että esityslistalle otetaan alunperin esityslistaluonnokseen merkitty komission julkilausuma sen strategisista tavoitteista seuraavien viiden vuoden ajaksi sekä komission hallinnollisesta uudistuksesta.
-Toivoisin, että jäsen Barón Crespo, pyynnön esittäjä, käyttäisi puheenvuoron ja perustelisi pyyntönsä, mutta tietenkin vain, mikäli hän niin haluaa. Sen jälkeen teemme, kuten tapanamme on: kuulemme yhden puheenvuoron puolesta ja yhden vastaan.
-
-Arvoisa puhemies, Prodin johtaman komission koko toimikauden kattavan poliittisen ohjelman esittely oli alun perin Euroopan parlamentin sosiaalidemokraattisen puolueen ryhmän ehdotus, ja se hyväksyttiin yksimielisesti syyskuun puheenjohtajakokouksessa, ja samoin komission puheenjohtaja Prodi antoi sille selvän hyväksyntänsä ja toisti nimityksensä yhteydessä pitämässään puheessa sitoutumistaan siihen.
-Tällä sitoutumisella on merkitystä siinä mielessä, että komissiolla on elimenä perustamissopimusten mukaisesti yksinoikeus tehdä aloitteita, ja siksi komissio määrää sen, millaiseksi parlamentin poliittinen ja lainsäädännöllinen toiminta viiden seuraavan vuoden aikana pohjimmiltaan muotoutuu. Arvoisa puhemies, muistuttaisin lisäksi siitä, että parlamentti antoi edellisellä vaalikaudella kaksi kertaa luottamuslauseen puheenjohtaja Prodille; tällä vaalikaudella luottamuslause annettiin uudelleen heinäkuussa ja sen jälkeen vielä kerran uuden komission astuessa virkaansa, jolloin parlamentti äänesti syyskuussa koko komissiolle annettavasta luottamuslauseesta. Siksi on jo mennyt riittävästi aikaa, jotta komissio on voinut laatia ohjelmansa ja jotta mekin voimme tutustua siihen ja selittää sen kansalaisille. Tässä mielessä palautan mieliin syyskuun 15. päivän päätöslauselman, jossa suositeltiin ehdotuksen esittämistä mahdollisimman pikaisesti.
-Viime viikolla sattuneet asiat jotka saivat alkunsa puheenjohtajakokouksen yhteydessä, jolloin sitä käytettiin vain siihen, että sen ulkopuolella tehdyt päätökset voitaisiin vahvistaa ja sinetöidä ovat johtaneet pulmalliseen tilanteeseen: joko komissio ei pysty esittelemään tätä ohjelmaa (missä tapauksessa komission olisi ilmoitettava se. Komission puheenjohtajan puheiden perusteella komissio pystyykin siihen. Koska komissiota edustaa varapuheenjohtaja de Palacio, luulen, että ennen äänestämistä olisi hyvä tietää komission tilanne eli se, pystyykö komissio esittelemään ohjelman niin kuin sovittiin); tai sitten parlamentti ei pysty käsittelemään tätä ohjelmaa, kuten jotkut näyttävät esittävän. Mielestäni tämä toinen olettamus merkitsisi sitä, että luopuisimme meille parlamenttina kuuluvista velvollisuuksistamme ja lisäksi sitä, että otettaisiin käyttöön omaperäinen teesi ja aivan uudenlainen menetelmä, joka tarkoittaisi sitä, että poliittisille ryhmille annetaan kirjallisessa muodossa tiedoksi komission ohjelmalliset aiheet viikkoa aikaisemmin eikä päivää aikaisemmin, kuten oli sovittu näin varsinkin, jos otetaan huomioon se, että lainsäädäntöohjelmasta keskustellaan helmikuussa, ja näin ollen voimmekin luopua koko keskustelusta, sillä seuraavana päivänä lehdistö ja Internet ovat jo välittäneet tiedon kaikille kansalaisille, eikä parlamentilla ole enää syytä puuttua asiaan.
-Koska ryhmäni on sitä mieltä, että parlamentti on olemassa siksi, että siellä voidaan pohtia asioita, kuunnella ja keskustella, käsityksemme on, että tätä viivästymistä ei voida perustella mitenkään, ja jos komissio pystyy ohjelman esittämään, mielestämme ehdimme hyvin palata alkuperäiseen parlamentin ja komission väliseen sopimukseen ja edetä vastuullisesti kansalaistemme silmissä. Siksi Euroopan parlamentin sosiaalidemokraattisen puolueen ryhmän ehdotus on te myös mainitsitte sen , että keskiviikkona pidetään Prodin komission koko toimikauden ohjelman esittely niin, että tähän ohjelmaan sisältyy myös hallinnollinen uudistussuunnitelma, sillä saatamme joutua paradoksaaliseen tilanteeseen, jos näin ei käy: sen varjolla, että tekstiä ei ole, komission puheenjohtajalta viedään oikeus puhua parlamentille, ja toisaalta pidettäisiin sellainen uudistuksia koskeva keskustelu, jossa parlamentti ei tuntisi etukäteen pohjana olevaa tekstiä. Siksi toivon, että te, arvoisa puhemies, pyytäisitte komissiota ilmoittamaan komission tämänhetkisen kannan, minkä jälkeen toimitettaisiin äänestys.
-(Suosionosoituksia PSE-ryhmältä)
-
-Arvoisa puhemies, hyvät kollegat, olen kaikesta huolimatta hieman hämmästynyt kollega Barón Crespon menettelystä, sillä hän vaatii nyt tämän esityslistan kohdan ottamista keskiviikon istunnon esityslistalle.
-Hyvä kollega Barón Crespo, teillä ei ollut mahdollisuutta olla läsnä viime torstain puheenjohtajakokouksessa. En kritisoi sitä, sillä aina silloin tällöin käy niin, että annamme jonkun toisen edustaa itseämme. Kollega Hänsch edusti teitä siellä. Me keskustelimme tästä asiasta puheenjohtajakokouksessa seikkaperäisesti. Vain teidän ryhmänne puolsi sitä, mitä te nyt ehdotatte. Äänestimme asiasta keskustelun jälkeen. Jokaisella puheenjohtajallahan on yhtä paljon ääniä kuin hänen ryhmässään on jäseniä. Tästä kohdasta toimitettiin siis äänestys. Sen tulos oli muistaakseni seuraavanlainen: 422-180 muutamien harvojen pidättäytyessä äänestämästä. Se tarkoittaa, että kaikki ryhmät sitoutumattomia jäseniä lukuun ottamatta - mutta hehän eivät olekaan mitään ryhmiä - olivat yksimielisiä ja vain teidän ryhmänne kannatti sellaista menettelyä, jota te olette täällä ehdottanut. Kaikki muut olivat eri mieltä. Tämä oli puheenjohtajakokouksen päätös.
-Nyt haluaisin sanoa jotakin itse asiasta. Me luotamme komissioon ja Romano Prodiin, ja ryhmämme hyvin suuri enemmistö antoi vaikean prosessin jälkeen, kuten me kaikki tiedämme, luottamuslauseen Romano Prodille ja komissiolle. Me olemme kuitenkin myös sitä mieltä, että meidän on keskusteltava tästä komission strategiasta asianmukaisessa menettelyssä ei pelkästään komission täällä Euroopan parlamentissa esittämän suullisen tiedonannon pohjalta vaan myös sen asiakirjan pohjalta, josta on päätetty komissiossa ja jossa selostetaan tätä seuraavien viiden vuoden ohjelmaa. Sellaista asiakirjaa ei ole olemassa!
-
-Komissio esittää vuoden 2000 ohjelman helmikuussa. Me olemme sanoneet, hyvä on, jos komissio ei halua tehdä vuoden 2000 ohjelmaa vielä tammikuussa, me teemme sen sitten helmikuussa. Olemme hyväksyneet sen. Mehän emme halua sinänsä mitään riitaa komission kanssa, vaan olemme sitä mieltä, että komission ja parlamentin on kuljettava yhteistä tietä, jos se nimittäin on mahdollista. Me parlamenttina toimimme kuitenkin myös komission valvojana. Eikä meidän tarvitse olla samaa mieltä kaikesta, mitä komissio esittää.
-Haluaisin, että voimme valmistautua viisivuotisohjelmasta käytävään keskusteluun poliittisissa ryhmissä järkevällä tavalla. Se ei ole mahdollista, jos täällä kuullaan julkilausuma tietämättä lainkaan, mitä se sisältää. Suosittelemme siksi - ja minun vaikutelmani on, että komissio on myös vastaanottavainen tälle ajatukselle -, että keskustelemme helmikuussa komission pitkäaikaisesta vuoteen 2005 ulottuvasta ohjelmasta - toivon komission pääsevän siihen mennessä yhteisymmärrykseen myös ohjelmasta, jonka se esittää meille - ja että käymme samaan aikaan helmikuussa myös keskustelua komission vuoden 2000 lainsäädäntöohjelmasta. Tämä on siis myös asiayhteys, jonka takia on järkevää keskustella molemmista ohjelmista yhdessä. Ryhmäni hylkää siksi ehdottomasti sosialistiryhmän ehdotuksen!
-(Suosionosoituksia PPE-DE-ryhmältä)
-
-. (ES) Arvoisa puhemies, haluan tehdä hyvin selväksi, että komissio pitää ilman muuta parlamentin päätöksiä mahdollisimman suuressa arvossa, ja sen myötä arvostaa myös esityslistaa. Siksi kunnioitamme sitä, mikä on tässä mielessä parlamentin päätettävissä.
-Haluaisin myös tehdä selväksi, että puheenjohtaja Prodi lupasi parlamentille, että tämä uusi keskustelu otetaan esityslistalle, mistä jäsen Barón Crespo muistutti, ja että tämä uusi keskustelu käydään komission lainsäädäntöohjelmasta käytävän vuosikeskustelun lisäksi ja siinä käsitellään seuraavan viisivuotiskauden, eli tämän toimikauden, suuria toimintalinjoja.
-Arvoisa puhemies, haluaisin sanoa, että tämä keskustelu poikkeaa syyskuussa tehdyllä sopimuksella komission lainsäädäntöohjelman vuosittaisesta esittelystä. Ja haluaisin sanoa, arvoisa puhemies, että komission puolesta olemme valmistautuneet ja valmiita käymään tämän keskustelun, kun se sopii muille, ja että olemme valmiita käymään sen tällä viikolla, kuten alun perin oli sovittu, ja voimme lähteä myös siitä, että se edeltävänä päivänä esitellään parlamentin ryhmille.
-Arvoisa puhemies, niinpä haluan toistaa, että omasta puolestamme olemme keskustelleet seuraavan viisivuotiskauden toimintasuunnitelmasta ja että olemme valmiit, kun parlamentti niin päättää tällä samalla viikolla, jos se on parlamentin päätös esittelemään parlamentille tämän viisivuotisohjelman ja ensi kuussa ohjelman vuodelle 2000, kuten oli nimenomaan sovittu.
-
-Ehdotan, että pidämme äänestyksen sosialistiryhmän pyynnöstä, jolla pyritään merkitsemään esityslistalle uudelleen komission julkilausuma komission strategisista tavoitteista.
-(Parlamentti hylkäsi pyynnön.) Puhemies. Edelleen keskiviikon istunnon osalta minulla on toinenkin ehdotus, joka liittyy pääomaveroa koskevaan suulliseen kysymykseen. PPE-DE-ryhmä pyytää tämän kohdan poistamista esityslistalta.
-Haluaako joku kollegoista käyttää puheenvuoron ryhmän puolesta ja perustella tämän pyynnön?
-
-Arvoisa puhemies, koska kuulen sosialistiryhmän keskuudesta hieman naurua - minulle sanottiin, että myös monet sosialistiryhmän jäsenistä haluavat mielellään poistaa tämän kohdan esityslistalta, koska puheenjohtajakokouksen äänestyksessä ei ollut käytettävissä sosialistiryhmän asiasta vastaavien jäsenten työryhmän äänestystulosta. En tiedä, pitääkö tämä tieto paikkansa, mutta me PPE-DE-ryhmänä olisimme joka tapauksessa kiitollisia, jos tämä kohta poistettaisiin esityslistalta, koska parlamentti on käsitellyt tätä asiaa jo useita kertoja. Tällaista veroa vastaan on tehty myös päätöksiä. Ryhmäni pyytää siksi tämän kohdan poistamista esityslistalta.
-
-Kiitos, jäsen Poettering.
-Nyt kuuntelemme jäsen Wurtzia, joka puhuu tätä pyyntöä vastaan.
-
-Arvoisa puhemies, haluaisin ensiksi painottaa jäsen Poetteringin epäloogisuutta. Äsken hän läksytti sosialistiryhmää, koska ryhmä olisi perunut puheenjohtajakokouksessa tehdyn äärimmäisen selkeän päätöksen. Nyt hän toimii itse samoin. Keskustelimme ja olimme asiasta yksimielisiä PPE-ryhmää ja liberaaliryhmää lukuun ottamatta, ja silloin jopa huomautin te, hyvät puheenjohtajakollegani varmaan muistatte sen , että kyse ei ole siitä, oletteko te ns. Tobin-veroa vastaan vai ette, vaan siitä, rohkenetteko ymmärtää, mitä mieltä komissio ja neuvosto siitä ovat. Tämä ei ole liikaa vaadittu. Näin ollen pidän kiinni ehdotuksesta, jonka mukaan säilytämme tämän komissiolle ja neuvostolle esitettävän suullisen kysymyksen, jotta saamme vihdoin tietää näiden kahden tahon kannan tästä suhteellisen vaatimattomasta ehdotuksesta, joka kuitenkin merkitsisi tärkeää signaalia yleisen mielipiteen suuntaan varsinkin niiden tunteiden jälkeen, joita Seattlen huippukokouksen epäonnistuminen herätti.
-
- Äänestämme PPE-DE-ryhmän pyynnöstä, jolla pyritään säilyttämään esityslistalla pääomaveroa koskeva suullinen kysymys.
-(Parlamentti hylkäsi pyynnön: 164 puolesta, 166 vastaan ja 7 tyhjää.)
-
-Arvoisa puhemies, haluaisin kiittää jäsen Poetteringia tästä mainosiskusta, jonka hän juuri järjesti kyseiselle keskustelulle. Kiitos.
-
-Arvoisa puhemies, onko ääneni otettu huomioon, vaikka se ei sähköisesti mennytkään läpi, sillä minulla ei ole äänestyskorttia? Äänestin puolesta.
-
-Jos lisäämmekin molempien ilmoittautuneiden kollegojen puheet, saamme oikeastaan tulokseksi...
-
-Arvoisa puhemies, äänestystuloshan on julistettu. Muutoksia ei voi tehdä.
-
- Hyvät kollegat, toistan vielä kerran, että jokaisella on oltava äänestyskorttinsa maanantaisin. Meillä on siinä asiassa näköjään ongelmia. Näin ollen minun on tehtävä päätös.
-Myös minä unohdin äänestyskorttini ja olisin äänestänyt vastaan. Katson siis, että suullinen kysymys säilytetään esityslistalla.
-Tämä on viimeinen kerta, kun otamme huomioon äänestyskorttinsa unohtaneiden jäsenten äänet. Tulkoon tämä varsin selväksi ja tehtäköön se tiettäväksi.
-(Suosionosoituksia)
-Kyllä, suullinen kysymys säilyy esityslistalla, ja kyllä, puhemiehelläkin on oikeus äänestää, kuten hänellä on myös oikeus unohtaa äänestyskorttinsa.
-Jatkamme muiden esityslistalle ehdotettujen muutosten käsittelyä.
-
-Arvoisa puhemies, aiemmassa äänestyksessä ja aion noudattaa sitä, mitä asiasta sanotte , joka koski komission strategista suunnitelmaa, ilmoitin haluavani puhua ennen äänestystä ryhmäni puolesta. Näin ei käynyt. Olisin kiitollinen, jos saisin mahdollisuuden antaa äänestysselityksen ryhmäni puolesta sen jälkeen, kun tämä asia on saatu käsiteltyä. Tämä on tärkeä asia. Olisi parlamentille eduksi, että jäsenet voisivat ilmaista omien poliittisten analyysiensa valossa, miten he suhtautuvat siihen, mitä olemme juuri saaneet aikaiseksi.
-
-Arvoisa puhemies, en halua avata keskustelua uudelleen, mutta myös minä pyysin puheenvuoroa ottaakseni kantaa Barón Crespon pyyntöön. Te ette pyytänyt myöskään minua puhumaan. Pahoittelen sitä, mutta äänestys on toimitettu ja päätös tehty, joten antakaamme asian olla.
-
- Olen pahoillani, jäsen Hänsch ja jäsen Cox, en nähnyt, että pyysitte puheenvuoroa. Näin ollen uskon, että kannat ovat varsin hyvin selvillä ja että ne kirjataan pöytäkirjaan. Kun huomenna hyväksymme tämänpäiväisen istunnon pöytäkirjan, ne kollegat, joiden mielestä jotakin kantaa ei ole selitetty riittävän hyvin, voivat pyytää muutoksia. Minusta tämä on hyvä tapa. Tietenkin huomisen istunnon pöytäkirjassa otetaan kaikki täydentävät selitykset huomioon. Uskoakseni tämä on parempi tapa kuin se, että ryhtyisimme aikaa vieviin äänestysselityksiin nyt. Jäsen Cox ja jäsen Hänsch, sopiiko tämä teille?
-
-Arvoisa puhemies, mikäli pöytäkirjaan on kirjattu oikein, miten ryhmäni äänesti, en aio enkä voikaan vastustaa sitä. Jos päätöksenne on, että en voi antaa äänestysselitystä, hyväksyn sen, mutta tietyin varauksin.
-
- Aiomme siis laatia pöytäkirjan hyvin tarkasti. Niinhän me oikeastaan teemme aina. Jos kannat eivät tule pöytäkirjasta kunnolla ilmi, voimme tarvittaessa korjata asian.
-(Käsittelyjärjestys vahvistettiin näin muutettuna.)
-
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/language/fr.test b/trunk/tika-core/src/test/resources/org/apache/tika/language/fr.test
deleted file mode 100644
index 05e5e35..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/language/fr.test
+++ /dev/null
@@ -1,105 +0,0 @@
-Reprise de la session
-Je déclare reprise la session du Parlement européen qui avait été interrompue le vendredi 17 décembre dernier et je vous renouvelle tous mes vux en espérant que vous avez passé de bonnes vacances.
-Comme vous avez pu le constater, le grand "bogue de l'an 2000" ne s'est pas produit. En revanche, les citoyens d'un certain nombre de nos pays ont été victimes de catastrophes naturelles qui ont vraiment été terribles. Vous avez souhaité un débat à ce sujet dans les prochains jours, au cours de cette période de session. En attendant, je souhaiterais, comme un certain nombre de collègues me l'ont demandé, que nous observions une minute de silence pour toutes les victimes, des tempêtes notamment, dans les différents pays de l'Union européenne qui ont été touchés. Je vous invite à vous lever pour cette minute de silence.
-(Le Parlement, debout, observe une minute de silence)
-
-Madame la Présidente, c'est une motion de procédure. Vous avez probablement appris par la presse et par la télévision que plusieurs attentats à la bombe et crimes ont été perpétrés au Sri Lanka. L'une des personnes qui vient d'être assassinée au Sri Lanka est M. Kumar Ponnambalam, qui avait rendu visite au Parlement européen il y a quelques mois à peine. Ne pensez-vous pas, Madame la Présidente, qu'il conviendrait d'écrire une lettre au président du Sri Lanka pour lui communiquer que le Parlement déplore les morts violentes, dont celle de M. Ponnambalam, et pour l'inviter instamment à faire tout ce qui est en son pouvoir pour chercher une réconciliation pacifique et mettre un terme à cette situation particulièrement difficile.
-
-Oui, Monsieur Evans, je pense qu'une initiative dans le sens que vous venez de suggérer serait tout à fait appropriée. Si l'Assemblée en est d'accord, je ferai comme M. Evans l'a suggéré.
-
-Madame la Présidente, c'est une motion de procédure. Je voudrais vous demander un conseil au sujet de l'article 143, qui concerne l'irrecevabilité. Ma question porte sur un sujet qui est à l'ordre du jour du jeudi et que je soulèverai donc une nouvelle fois.
-Le paragraphe 6 du rapport Cunha sur les programmes d'orientation pluriannuels, qui sera soumis au Parlement ce jeudi, propose d'introduire des sanctions applicables aux pays qui ne respectent pas les objectifs annuels de réduction de leur flotte. Il précise que cela devrait être fait malgré le principe de stabilité relative. À mon sens, le principe de stabilité relative est un principe juridique fondamental de la politique commune de la pêche et toute proposition le bouleversant serait juridiquement irrecevable. Je voudrais savoir si l'on peut avancer une objection de ce type à ce qui n'est qu'un rapport, pas une proposition législative, et si je suis habilité à le faire ce jeudi.
-
-C'est exactement à ce moment-là que vous pourrez, en effet, si vous le souhaitez, soulever cette question, c'est-à-dire jeudi avant le début de la présentation du rapport.
-
-Madame la Présidente, alors que se déroule la première session de l'année du Parlement européen, l'exécution d'un condamné à mort au Texas aux États-Unis, un jeune homme de 34 ans appelé Hicks, a été fixée, malheureusement, à jeudi prochain.
-À la demande d'un député français, Monsieur Zimeray, une pétition a déjà été introduite ; elle a récolté de nombreuses signatures dont la mienne. Cependant, je vous demande, conformément à l'orientation désormais constamment exprimée par le Parlement européen et toute la Communauté européenne, d'intervenir auprès du président et du gouverneur du Texas, Monsieur Bush, en faisant jouer le prestige de votre mandat et de l'Institution que vous représentez, car c'est Monsieur Bush qui a le pouvoir de suspendre la condamnation à mort et de gracier le condamné.
-Et tout ceci dans le respect des principes que nous avons toujours soutenus.
-
-Merci, Monsieur Segni, je le ferai bien volontiers. C'est en effet tout à fait dans la ligne des positions que notre Parlement a toujours adoptées.
-
-Madame la Présidente, je voudrais attirer votre attention sur un cas dont s'est régulièrement occupé le Parlement. Il s'agit du cas d'Alexandre Nikitin. Nous nous réjouissons tous, dans cette enceinte, que le tribunal ait prononcé sa libération et ait clairement établi qu'en Russie aussi, l'accès aux informations environnementales était un droit constitutionnel. Cependant, il se fait qu'il semblerait être à nouveau mis en accusation, le ministère public ayant interjeté appel. Nous savons, et nous l'avons d'ailleurs établi dans de très nombreuses résolutions - y compris lors de la dernière période de session de l'année dernière -, que ce cas n'est pas seulement de nature juridique et qu'il est faux d'accuser Alexandre Nikitin d'activité criminelle et de trahison car nous sommes concernés par ses résultats et nous en profitons. Ces résultats forment la base des programmes européens de protection de la mer de Barents et c'est pourquoi je vous prie d'examiner un projet de lettre vous dépeignant les faits essentiels de cette affaire et de communiquer à la Russie la position qui découle des décisions du Parlement.
-
-Oui, Madame Schroedter, j'examinerai bien volontiers les faits relatifs à cette question lorsque j'aurai reçu votre lettre.
-
-Madame la Présidente, je voudrais tout d'abord vous féliciter pour avoir tenu parole car en effet, en cette première période de session, en cette nouvelle année, le nombre de chaînes de télévision a réellement été augmenté de manière significative dans nos locaux. Toutefois, Madame la Présidente, ce que j'avais demandé n'a pas été réalisé. Il y a bien deux chaînes finnoises et une chaîne portugaise, mais il n'y a toujours aucune chaîne néerlandaise. Pourtant je vous avais demandé une chaîne néerlandaise, car les Néerlandais aussi désirent pouvoir suivre les actualités chaque mois lorsqu'ils sont envoyés en cette terre d'exil. Je vous demande donc à nouveau de faire le nécessaire pour que nous puissions disposer d'une chaîne néerlandaise.
-
-Madame Plooij-van Gorsel, je peux vous dire que cette question est à l'ordre du jour de la réunion des questeurs de mercredi. Elle sera, je l'espère, examinée dans un esprit positif.
-
-Madame la Présidente, comment se fait-il que le Parlement ne se conforme pas à la réglementation en matière de santé et de sécurité qu'il vote ? Comment se fait-il qu'aucun test de qualité de l'air n'ait été réalisé dans ce bâtiment depuis notre élection ? Comment se fait-il que le comité de santé et d'hygiène ne se soit plus réuni depuis 1998 ? Comment se fait-il que nous n'ayons jamais fait d'exercice d'évacuation dans les bâtiments du Parlement de Bruxelles et de Strasbourg ? Comment se fait-il qu'il n'y ait pas de consignes en cas d'incendie ? Comment se fait-il que les escaliers n'aient pas été améliorés depuis mon accident ? Comment se fait-il que l'on ne respecte pas les zones non fumeurs ? Nous votons des réglementations et nous ne nous y conformons même pas. C'est scandaleux.
-
-Madame Lynne, vous avez parfaitement raison et je vais vérifier si tout cela n' a effectivement pas été fait. Je vais soumettre également le problème au Collège des questeurs et je suis certaine que nos questeurs auront à cur de faire en sorte que nous respections la réglementation qu' en effet nous votons.
-
-Madame la Présidente, Mme Díez González et moi-même avions présenté quelques questions sur certaines opinions exprimées par la vice-présidente, Mme de Palacio, et publiées dans un journal espagnol. Les services compétents ne les ont pas inclues à l'ordre du jour, avançant que des réponses avaient déjà été apportées lors d'une précédente session.
-Je demande que cette décision soit reconsidérée car ce n'est pas le cas. Les questions auxquelles on a répondu précédemment se rapportaient à l'intervention de Mme de Palacio dans un dossier précis, et non aux déclarations parues dans le journal ABC du 18 novembre dernier.
-
- Cher collègue nous allons vérifier tout cela. Je vous avouerai que, pour le moment, les choses me semblent un petit peu confuses. Donc, nous allons revoir cela très sérieusement pour que tout soit bien en ordre.
-
-Madame la Présidente, je voudrais savoir si cette semaine, le Parlement va envoyer un message clair exprimant son mécontentement quant à la décision prise aujourd'hui de refuser de renouveler l'embargo sur les armes à destination de l'Indonésie, alors que par le passé, le Parlement a souscrit à une très large majorité à l'embargo sur les armes à destination de l'Indonésie. La décision d'aujourd'hui de ne pas renouveler l'embargo est extrêmement dangereuse, compte tenu de la situation sur place. Le Parlement devrait dès lors envoyer un message en ce sens, étant donné qu'une grande majorité des députés le souhaite. En refusant de prolonger l'embargo, les États membres font preuve d'irresponsabilité. D'aucuns l'ont dit, la situation en Indonésie est extrêmement explosive. Il y a en réalité un risque de coup d'État. Nous ne savons pas ce qui se passe. Pourquoi donc les producteurs d'armes de l'UE devraient-ils s'enrichir sur le dos de personnes innocentes ?
-
-En tout cas, cette question ne figure pas pour l' instant parmi les demandes d' urgence pour jeudi prochain.
-
-Ordre des travaux
-L' ordre du jour appelle l' examen du projet définitif d' ordre du jour tel qu' il a été établi par la Conférence des présidents, le jeudi 13 janvier, conformément à l' article 110 du règlement. S' agissant de lundi et mardi, je n' ai pas de modifications.
-En ce qui concerne le mercredi :
-Le groupe socialiste demande d' inclure une déclaration de la Commission sur ses objectifs stratégiques pour les cinq ans à venir, ainsi que sur la réforme administrative de la Commission.
-Je souhaiterais que M. Barón Crespo, auteur de la demande, intervienne pour la justifier, s' il le souhaite bien sûr. Puis , nous ferons comme d' habitude : nous entendrons un orateur pour et un orateur contre.
-
-Madame la Présidente, la présentation du programme politique de la Commission Prodi pour l'ensemble de la législature était au départ une proposition du groupe du parti des socialistes européens qui a obtenu l'unanimité lors de la Conférence des présidents en septembre, mais aussi l'approbation explicite du président Prodi, qui a réitéré son engagement dans son discours d'investiture.
-Cet engagement est important dans la mesure où la Commission est un organisme qui détient, conformément aux Traités, le monopole de l'initiative et qui, par conséquent, décide pour l'essentiel quelle sera l'activité politique et législative de ce Parlement au cours des cinq prochaines années. Je vous rappelle en outre, Madame la Présidente, que ce Parlement a voté par deux fois la confiance au président Prodi lors de la précédente législature ; au cours de cette législature, il l'a de nouveau votée en juillet et, ensuite, avec l'entrée en fonction de la nouvelle Commission, il a redonné sa confiance en septembre à l'ensemble de la Commission. Il s'est donc écoulé suffisamment de temps pour que la Commission prépare son programme et pour que nous puissions en prendre connaissance et l'expliquer aux citoyens. En ce sens, je vous rappelle la résolution du 15 septembre, laquelle recommandait que la proposition soit présentée dans les plus brefs délais.
-Les événements qui se sont produits la semaine dernière ­ qui sont nés en marge de la Conférence des présidents et se servent d'elle dans le seul but de corroborer et de ratifier des décisions prises en dehors de celle-ci ­ créent un dilemme : ou bien la Commission n'est pas en mesure de présenter ce programme ; (dans ce cas, il conviendrait qu'elle tire les choses au clair. Aux dires de son Président, la Commission serait en mesure de le faire. Étant donné que la Commission est représentée par la vice-présidente, Mme de Palacio, je crois qu'avant de voter, il serait bon de connaître la position de la Commission en ce qui concerne ses disponibilités pour présenter le programme, tel que cela avait été convenu) ou bien le Parlement n'est pas en mesure d'examiner ce programme, comme certains semblent le prétendre. À mon avis, cette deuxième hypothèse signifierait le rejet de nos responsabilités en tant que Parlement, outre l'introduction d'une thèse originale, d'une méthode inconnue qui consiste à communiquer aux groupes politiques le discours du programme de la Commission par écrit une semaine avant ­ et non le jour avant, comme il avait été convenu ­, en tenant compte du fait que le programme législatif serait discuté en février, de telle sorte que nous pourrions nous passer du débat, car le lendemain, la presse et Internet l'auraient porté à la connaissance de tous les citoyens et le Parlement n'aurait plus de raison de s'en occuper.
-Mon groupe estimant qu'un Parlement est là pour écouter, pour débattre et pour réfléchir, nous pensons qu'aucune raison ne justifie cet ajournement et nous croyons que si la Commission est en mesure de le présenter, nous avons parfaitement le temps pour rétablir l'accord original entre le Parlement et la Commission et d'agir de manière responsable vis-à-vis de nos concitoyennes et concitoyens. Par conséquent, la proposition du groupe du parti des socialistes européens que vous avez mentionnée est de maintenir à mercredi la présentation du programme de législature de la Commission Prodi, en incluant également dans le programme le projet de réforme administrative car, si ce n'est pas fait, nous risquons de nous retrouver dans une position paradoxale : sous prétexte qu'il n'y a pas de texte, on refuse d'une part le droit du président de la Commission à s'exprimer dans ce Parlement et, d'autre part, la tenue d'un débat sur une réforme dont le Parlement ne connaît pas les textes. Je vous prie dès lors, Madame la Présidente, de demander à la Commission de s'exprimer maintenant et que l'on procède ensuite au vote.
-(Applaudissements du groupe PSE)
-
-Madame la Présidente, chers collègues, je suis tout de même quelque peu surpris de l'attitude de notre collègue Barón Crespo qui demande à présent que ce point de l'ordre du jour soit placé à l'ordre du jour de la séance de mercredi.
-Monsieur Barón Crespo, vous n'avez pu être présent à la Conférence des présidents de jeudi dernier. Je ne le critique pas : il peut arriver qu'on se fasse représenter. M. Hänsch vous y a représenté. Nous avons mené un débat en profondeur au cours de cette Conférence des présidents. Seul votre groupe a défendu la position que vous venez d'exposer. Nous avons ensuite procédé à un vote, chaque président ou présidente disposant d'un nombre de voix égal au nombre de ses membres. Il y a donc eu un vote à ce stade de la réunion et, de ce que je me souviens, ce vote a donné le résultat suivant : 422 voix contre 180 et quelques rares abstentions. Ce qui signifie qu'à l'exception des non-inscrits - qui ne constituent cependant pas un groupe -, seul votre groupe était d'avis de procéder de la manière que vous venez de proposer. Tous les autres étaient d'un avis différent. Telle était la décision prise.
-À présent, je voudrais dire quelques mots sur l'affaire en tant que telle. Nous avons confiance en la Commission, en Romano Prodi, et, au terme d'un processus difficile connu de chacun, la toute grande majorité de notre groupe a témoigné sa confiance à Romano Prodi et à sa Commission. Mais nous pensons également devoir tenir un débat sur la stratégie de la Commission dans le cadre d'une procédure ordonnée, ne reposant pas seulement sur une déclaration orale faite au sein du Parlement européen mais sur un document adopté par la Commission et décrivant ce programme pour les cinq ans à venir. Un tel document n'existe pas.
-La Commission présentera le programme pour l'an 2000 en février. Nous avons marqué notre accord et dit que si la Commission ne présentait pas ce programme en janvier, nous le ferions en février. Nous avons marqué notre accord. Nous ne voulons pas d'un conflit avec la Commission et pensons que, dans la mesure du possible, la Commission et le Parlement doivent avancer de concert. Toutefois, le Parlement est également le contrôleur de la Commission. Et tout ce qui provient de la Commission ne doit pas avoir notre assentiment.
-Je voudrais que les groupes puissent procéder à la préparation judicieuse d'un débat sur ce programme pour les cinq ans à venir. On ne peut s'y préparer si l'on entend une déclaration dans cette enceinte sans même connaître le contenu d'une telle déclaration. C'est pourquoi nous recommandons - et j'ai l'impression que la Commission se range également à cette idée - de mener le débat sur le programme de la Commission jusqu'à 2005 au cours du mois de février - j'espère que d'ici là, la Commission se sera accordée sur un programme qu'elle nous soumettra - et de mener au cours du même mois de février le débat sur le programme législatif de la Commission pour l'an 2000. La logique nous invite donc également à mener de concert les débats sur ces deux programmes. C'est pourquoi mon groupe rejette résolument la proposition du groupe socialiste.
-(Applaudissements du groupe PPE-DE)
-
-Madame la Présidente, avant toute chose, je voudrais qu'il soit bien clair que la Commission a le plus grand respect pour les décisions de ce Parlement et, notamment, pour celle qui concerne la fixation de l'ordre du jour. Par conséquent, nous respectons les décisions que pourrait prendre le Parlement dans ce sens.
-Mais je voudrais également qu'il soit bien clair que le président Prodi s'est engagé avec le Parlement à instaurer un nouveau débat, comme l'a rappelé M. Barón, qui vient s'ajouter au débat annuel sur le programme législatif de la Commission, sur les grandes lignes d'action pour la prochaine période de cinq ans, c'est-à-dire pour cette législature.
-Je voudrais dire, Madame la Présidente, que, dans l'accord auquel on est parvenu au mois de septembre, ce débat diffère de la présentation annuelle du programme législatif de la Commission. J'ajouterais, Madame la Présidente, que, du côté de la Commission, nous sommes prêts et disposés à organiser ce débat quand cela vous conviendra, que nous étions prêts à le développer cette semaine, comme cela avait été décidé au départ, en se basant sur le fait qu'il était présenté la veille dans un discours aux groupes parlementaires.
-Je voudrais donc répéter, Madame la Présidente, que, pour notre part, nous avons discuté du programme d'action pour les cinq prochaines années et que nous sommes prêts à venir présenter le programme pour les cinq prochaines années quand le Parlement le décidera ­ y compris cette semaine, si telle est sa décision ­ et le programme pour l'an 2000, le mois prochain, ce sur quoi nous nous étions parfaitement mis d'accord.
-
-Je propose que nous votions sur la demande du groupe socialiste visant à réinscrire la déclaration de la Commission sur ses objectifs stratégiques.
-(Le Parlement rejette la demande) La Présidente. Toujours au sujet de la journée du mercredi, j'ai une autre proposition concernant la question orale sur l'impôt sur le capital. Le groupe PPE­DE demande de retirer ce point de l'ordre du jour.
-Y a-t-il un collègue pour prendre la parole au nom du groupe et justifier cette demande ?
-
-Madame la Présidente, pour répondre aux rires que j'entends parmi les socialistes, on m'a dit que de larges pans du groupe socialiste aimeraient également supprimer ce point de l'ordre du jour car lors du scrutin au sein de la Conférence des présidents, les collègues responsables du groupe socialiste ne disposaient pas du vote du groupe de travail. Je ne sais si cette information est correcte mais quoi qu'il en soit, le groupe PPE-DE vous saurait gré de supprimer ce point de l'ordre du jour car le Parlement s'est en effet maintes fois saisi de cette question. Des décisions existent qui s'opposent à une telle taxe. C'est pourquoi mon groupe demande que ce point soit retiré de l'ordre du jour.
-
-Merci Monsieur Poettering.
-Nous entendons à présent M. Wurtz, qui s' exprime contre cette demande.
-
-Madame la Présidente, je voudrais d' abord souligner le manque de logique de M. Poettering. A l' instant, il vient de faire la leçon au groupe socialiste parce que celui-ci revient sur une décision qui a été prise de façon extrêmement nette en Conférence des présidents. Or, il fait la même chose. Nous avons discuté, nous étions unanimes sauf le groupe PPE et le groupe libéral et j' avais même fait remarquer, vous vous en souviendrez mes chers confrères présidents, que la question n' est pas de savoir si vous êtes pour ou contre la taxe Tobin, mais de savoir si vous osez entendre ce que la Commission et le Conseil en pensent. Ce n' est pas demander beaucoup. Donc, je réitère la proposition de maintenir cette question orale à la Commission et au Conseil pour connaître une fois pour toutes la position de ces deux instances par rapport à cette proposition relativement modeste, mais qui donnerait un signal important à l' opinion, en particulier après l' émotion suscitée par l' échec de la conférence de Seattle.
-
-Nous allons voter sur la demande du groupe PPE-DE visant à retirer la question orale concernant l' impôt sur le capital de l' ordre du jour.
-(Le Parlement rejette la demande avec 164 voix pour, 166 voix contre et 7 abstentions)
-
-Madame la Présidente, je voudrais remercier M. Poettering pour le coup de publicité qu' il vient de donner à ce débat. Merci.
-
-Madame la Présidente, a-t-on comptabilisé mon vote, qui n'a pu être réalisé électroniquement parce que je n'ai pas ma carte ? J'ai voté "pour".
-
-Effectivement, si on ajoute les deux collègues qui se sont manifestés, nous obtenons comme résultat....
-
-Madame la Présidente, la présidence a proclamé le résultat du vote. Les modifications n'ont pas lieu d'être.
-
-Mes chers collègues, encore une fois, il faut que chacun ait bien sa carte le lundi. On voit que nous avons là un problème. Cela étant, je dois prendre une décision.
-J' ai aussi oublié ma carte et j' aurais voté contre. Je considère donc que la question orale reste maintenue à l' ordre du jour.
-C' est la dernière fois que nous tiendrons compte des cartes oubliées. Que ceci soit bien clair et qu' on se le dise.
-(Applaudissements)
-Oui, la question orale est maintenue à l' ordre du jour et oui, la présidente a le droit de voter, comme elle a aussi le droit d' oublier sa carte.
-Nous poursuivons avec les autres modifications de l' ordre du jour.
-
-Madame la Présidente, lors du dernier vote ­ et je m'en remets à votre décision sur ce sujet - sur la question du plan stratégique de la Commission, j'ai signalé que je demandais la parole avant le vote au nom de mon groupe. Mais ma demande n'a pas été satisfaite. Je vous saurai gré, à l'issue de ce point de l'ordre du jour, de me permettre de fournir un explication de vote au nom de mon groupe. C'est important. Il serait utile de consigner au procès-verbal du Parlement la manière dont les gens perçoivent ce que nous venons de faire, à la lumière de leur propre analyse politique.
-
-Madame la Présidente, je ne veux pas relancer le débat mais j'avais également demandé la parole pour m'exprimer quant à la demande de M. Barón Crespo. Moi non plus, vous ne m'avez pas donné la parole. Je le déplore mais le vote a été effectué, la décision est tombée et nous devrions donc en rester là.
-
-Je suis désolée, Monsieur Hänsch et Monsieur Cox, je n'avais pas vu que vous demandiez la parole. Cela étant, je crois que les positions sont bien claires et elles seront consignées au procès-verbal. Lorsque nous adopterons demain le procès-verbal de la séance d'aujourd'hui, les collègues qui estimeront que les positions n'ont pas été suffisamment bien expliquées pourront demander des modifications. Il me semble que c'est une bonne formule. Bien entendu, le procès-verbal de la réunion de demain tiendra compte de toutes les explications complémentaires. Je crois que c'est une meilleure formule que de procéder maintenant à des explications de vote qui nous entraîneraient très loin. Monsieur Cox, Monsieur Hänsch, est-ce que cela vous convient ?
-
-Madame la Présidente, si le procès-verbal reflète correctement le vote de mon groupe, je n'ai et n'aurai aucune objection à formuler. Si votre décision est que je ne puis pas donner d'explication de vote, je l'accepte, mais avec certaines réserves.
-
-Nous ferons donc très attention à la rédaction du procès-verbal. Nous le faisons d'ailleurs toujours. S'il ne reflète pas bien les positions, nous pourrons éventuellement le corriger.
-(Le Parlement adopte l'ordre des travaux ainsi modifié)
-
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/language/it.test b/trunk/tika-core/src/test/resources/org/apache/tika/language/it.test
deleted file mode 100644
index 15813fb..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/language/it.test
+++ /dev/null
@@ -1,109 +0,0 @@
-Ripresa della sessione
-Dichiaro ripresa la sessione del Parlamento europeo, interrotta venerdì 17 dicembre e rinnovo a tutti i miei migliori auguri nella speranza che abbiate trascorso delle buone vacanze.
-Come avrete avuto modo di constatare il grande "baco del millennio" non si è materializzato. Invece, i cittadini di alcuni nostri paesi sono stati colpiti da catastrofi naturali di proporzioni davvero terribili. Avete chiesto che si tenesse una discussione su tale tema nei prossimi giorni, nel corso della presente tornata. Nel frattempo è mio desiderio, come del resto mi è stato chiesto da alcuni colleghi, osservare un minuto di silenzio in memoria di tutte le vittime delle tempeste che si sono abbattute sui diversi paesi dell' Unione europea. Vi invito pertanto ad alzarvi in piedi per osservare appunto un minuto di silenzio.
-(Il Parlamento osserva un minuto di silenzio)
-
-Signora Presidente, intervengo per una mozione d'ordine. Come avrà letto sui giornali o sentito alla televisione, in Sri Lanka si sono verificati numerosi assassinii ed esplosioni di ordigni. Una delle vittime più recenti è stato Kumar Ponnambalam, che qualche mese fa era venuto in visita qui al Parlamento europeo. Signora Presidente, sarebbe opportuno che inviasse una lettera alla Presidente del Sri Lanka per esprimere le condoglianze del Parlamento per questa e le altre morti violente verificatesi in Sri Lanka e per invitarla a fare quanto in suo potere al fine di giungere a una riconciliazione pacifica in questa situazione assai difficile.
-
-Sì, onorevole Evans, ritengo che un' iniziativa del tipo che lei propone sia assolutamente opportuna. Se l' Assemblea è d' accordo seguirò il suggerimento dell' onorevole Evans.
-
-Signora Presidente, un richiamo al Regolamento. Gradirei avere il suo parere riguardo all'articolo 143 sull'inammissibilità. La mia domanda si ricollega a un tema all'ordine del giorno di giovedì e che formulerò di nuovo al momento opportuno.
-La relazione Cunha sui programmi di orientamento pluriennali è iscritta all'ordine del giorno della Plenaria di giovedì e al paragrafo 6 contiene una proposta volta a introdurre una sorta di sanzione a carico delle quote di quei paesi che non riescono a raggiungere i loro obiettivi di riduzione annuali delle flotte, nonostante il principio della stabilità relativa. Credo che tale principio sia un principio giuridico fondamentale della politica comune della pesca e qualsiasi proposta volta a sovvertirlo sarebbe giuridicamente inammissibile Vorrei sapere se è possibile sollevare un'obiezione di questo tipo nel contesto di una semplice relazione, e non di una proposta legislativa, e se rientra nelle mie competenze sollevare una tale obiezione giovedì prossimo.
-
-E' appunto in quell' occasione che, se lo desidera, avrà modo di sollevare la sua questione pregiudiziale, cioè giovedì in apertura della discussione sulla relazione.
-
-Signora Presidente, in coincidenza con la prima tornata dell'anno del Parlamento europeo, negli Stati Uniti in Texas è stata fissata, purtroppo per giovedì prossimo, l'esecuzione di un condannato a morte, un giovane di 34 anni che chiameremo di nome Hicks.
-Su richiesta di un deputato francese, l'onorevole Zimeray, è già stata presentata una petizione, che ha avuto molti firmatari tra cui il sottoscritto, ma le chiedo, in conformità con l'indirizzo ormai costantemente espresso dal Parlamento europeo e da tutta la Comunità europea, di intervenire, con il prestigio della sua carica e dell'Istituzione che lei rappresenta, presso il Presidente e il Governatore del Texas Bush, che ha il potere di sospendere la condanna a morte e di graziare il condannato.
-E tutto ciò in conformità con i principi che abbiamo sempre sostenuto.
-
-La ringrazio, onorevole Segni, lo farò volentieri. In effetti ciò è assolutamente conforme alla posizione che il nostro Parlamento ha sempre sostenuto.
-
-Signora Presidente, vorrei richiamare l'attenzione su un caso che il Parlamento segue da tempo, ossia il caso di Alexander Nikitin. Noi tutti siamo lieti che il tribunale lo abbia assolto, ribadendo che anche in Russia l'accesso a informazioni sull'ambiente è un diritto sancito dalla costituzione. Ora, però, verrà messo nuovamente in stato di accusa perché il pubblico ministero ricorrerà in appello. Come sappiamo e come abbiamo fatto rilevare in innumerevoli risoluzioni - anche nell'ultima seduta plenaria dell'anno scorso - non si tratta semplicemente di un caso giudiziario ed è un grave errore accusare Alexander Nikitin di aver commesso reati e atti criminali, tanto più che noi, in quanto diretti interessati, abbiamo beneficiato dei risultati delle sue ricerche. Tali risultati sono alla base dei programmi europei di tutela del Mare di Barents. La prego pertanto di prendere in esame la bozza della lettera in cui vengono indicati i fatti principali e di sostenere presso le autorità russe la posizione assunta dal Parlamento, conformemente alle sue risoluzioni.
-
-Sì, onorevole Scroedter, esaminerò volentieri i fatti relativi alla questione da lei esposta non appena avrò ricevuto la sua lettera.
-
-Signora Presidente, mi permetta di farle innanzi tutto i miei complimenti per aver tenuto fede alla parola data. In effetti il numero di canali televisivi disponibili nei nostri uffici è aumentato enormemente in questa prima tornata dell'anno nuovo. Tuttavia, signora Presidente, non è ancora stato dato seguito alla mia richiesta. E' vero che adesso abbiamo due canali finlandesi e uno portoghese, ma purtroppo manca ancora il canale olandese. Ed era proprio quello che avevo chiesto, dato che noi parlamentari olandesi, quando veniamo spediti in questo esilio mensile, gradiremmo poter vedere il telegiornale in olandese. Ripeto ancora una volta la mia richiesta: faccia in modo che sia reso disponibile anche un canale olandese.
-
-Onorevole Plooj-van Gorsel, posso risponderle che tale punto figura all' ordine del giorno della riunione dei questori di mercoledì. Spero che sarà esaminata con uno spirito positivo.
-
-Signora Presidente, vorrei sapere perché questo Parlamento non rispetta le norme in materia di salute e sicurezza che esso stesso approva. Perché non è stato condotto alcun test della qualità dell'aria in questo edificio da quando siamo stati eletti? Perché dal 1998 il comitato salute e sicurezza non si è più riunito? Perché non sono state fatte prove dell'allarme antincendio né negli edifici del Parlamento di Bruxelles né qui a Strasburgo? Perché non esistono istruzioni da seguire in caso di incendio? Perché dopo il mio incidente non sono state apportate migliorie alle scale? Perché non viene fatto rispettare il divieto di fumare nelle aree riservate appunto ai non fumatori? E' assolutamente vergognoso che proprio noi non rispettiamo le norme da noi stessi approvate.
-
-Onorevole Lynne, lei ha perfettamente ragione e intendo verificare se tutto quanto lei ha detto davvero non è stato fatto. Intendo altresì sottoporre il punto al collegio dei questori e sono certa che ai nostri questori starà a cuore fare in modo che il Parlamento osservi le disposizioni che approva.
-
-Signora Presidente, l' onorevole Díez González e io avevamo presentato alcune interrogazioni in merito a determinate opinioni della Vicepresidente de Palacio riferite da un giornale spagnolo. I servizi competenti non le hanno inserite all' ordine del giorno, in quanto hanno ritenuto che avessero già ottenuto risposta in una tornata precedente.
-Chiedo che venga riesaminata tale decisione, in quanto non è così. Le interrogazioni cui è stata data risposta in precedenza riguardavano un intervento della Commissario de Palacio in un caso determinato, non le dichiarazioni pubblicate dal giornale ABC il 18 novembre scorso.
-
-Onorevole collega, sarà mia cura verificare tale punto. Devo confessarle che in questo momento la questione mi pare un po' confusa. Quindi verificheremo con estrema attenzione per essere certi che tutto sia corretto.
-
-Signora Presidente, gradirei sapere se questa settimana il Parlamento intende lanciare un segnale chiaro per esprimere il nostro scontento riguardo alla decisione presa oggi di rifiutare il rinnovo dell'embargo sulle armi contro l' Indonesia, visto e considerato che in passato la stragrande maggioranza dei deputati aveva sostenuto l'imposizione dell'embargo all'Indonesia. La decisione odierna di non rinnovarlo è pericolosissima, data la situazione sul posto. Il Parlamento dovrebbe pertanto inviare un messaggio, come auspica la stragrande maggioranza dei deputati. Gli Stati membri dell'Unione sono stati irresponsabili a non rinnovare l'embargo. Com'è già stato detto, la situazione in Indonesia è davvero esplosiva, con un forte rischio che in futuro si verifichi un colpo di Stato. Non sappiamo cosa stia succedendo e quindi mi chiedo perché si debba permettere ai produttori di armi dell'UE di trarne profitto a scapito di persone innocenti.
-
-Comunque sia, questo punto non è previsto nelle discussioni sui problemi di attualità di giovedì.
-
-Ordine dei lavori
-L' ordine del giorno reca la fissazione dell' ordine dei lavori.
-E' stata distribuita la versione definitiva del progetto di ordine del giorno, elaborata, ai sensi dell' articolo 110 del Regolamento, dalla Conferenza dei presidenti nella seduta di giovedì 13 gennaio. Non sono state proposte modifiche per lunedì e martedì.
-Mercoledì:
-Il gruppo PSE ha chiesto di iscrivere una dichiarazione della Commissione sui suoi obiettivi strategici per i prossimi cinque anni e sulla riforma amministrativa della Commissione.
-Desidero che l' onorevole Barn Crespo, autore della richiesta, intervenga per motivarla, ovviamente se lo desidera. Poi procederemo come di norma: sentiremo un oratore a favore e uno contro.
-
-Signora Presidente, l' idea che la Commissione Prodi presentasse il suo programma politico per tutta la legislatura proviene inizialmente da una proposta del gruppo del Partito del socialismo europeo, approvata all' unanimità dalla Conferenza dei Presidenti in settembre e anche accettata esplicitamente dal Presidente Prodi, che ha ribadito il suo impegno al riguardo durante il discorso di investitura.
-Si tratta di un impegno importante in quanto la Commissione è un organo che detiene il monopolio di iniziativa, conformemente ai Trattati, e di conseguenza delinea i tratti essenziali di quella che sarà l' attività politica e legislativa di questo Parlamento nei prossimi cinque anni. Ricordo altresì, signora Presidente, che durante la precedente legislatura il Parlamento ha votato due volte la fiducia a favore del Presidente Prodi; durante l' attuale legislatura l' ha votata di nuovo a luglio e poi, dopo l' insediamento della nuova Commissione, ha votato nuovamente la fiducia per l' intera Commissione in settembre. Quindi c' è già stato tempo a sufficienza per permettere alla Commissione di elaborare il suo programma e per consentirci di prenderne conoscenza per poi spiegarlo ai cittadini. A tale proposito ricordo la risoluzione del 15 settembre scorso, in cui si raccomandava di presentare la proposta il più rapidamente possibile.
-I fatti della settimana scorsa - scaturiti a latere della Conferenza dei Presidenti, sfruttata solo per corroborare e ratificare decisioni adottate al di fuori di essa - ci pongono di fronte a un dilemma: o la Commissione non è in grado di presentare questo programma (in tal caso, sarebbe opportuno che lo dicesse. A sentire il suo Presidente, è in grado di farlo. Dato che la Commissione è rappresentata dalla vicepresidente de Palacio, ritengo che prima di votare converrebbe sapere se la Commissione è sempre disposta a presentare il programma, conformemente agli accordi); oppure il Parlamento non è in grado di esaminare tale programma, come apparentemente sostengono alcuni. Secondo me, questa seconda ipotesi significherebbe rinunciare alle nostre responsabilità di Parlamento, oltre a introdurre una tesi originale, un metodo finora sconosciuto che consiste nel distribuire per iscritto ai gruppi politici il discorso programmatico della Commissione una settimana prima - e non il giorno prima, come era stato concordato. Considerando che il programma legislativo sarà discusso a febbraio, potremmo prescindere dal dibattito, in quanto il giorno dopo la stampa ed Internet avrebbero divulgato il testo a tutti i cittadini e quindi il Parlamento non avrebbe più bisogno di occuparsene.
-Secondo il mio gruppo, un Parlamento serve per ascoltare, discutere e riflettere, quindi a nostro avviso non c' è alcuna ragione che giustifichi questo rinvio. Se la Commissione è in grado di presentare il programma, secondo noi siamo perfettamente in tempo per ripristinare l' accordo iniziale intervenuto tra il Parlamento e la Commissione e comportarci responsabilmente dinnanzi ai nostri concittadini. Perciò la proposta del gruppo del Partito del socialismo europeo, da lei menzionata, è che mercoledì si mantenga la presentazione del programma per la legislatura della Commissione Prodi, inserendovi anche il progetto di riforma amministrativa. Altrimenti potremmo ritrovarci in una situazione paradossale: con la scusa che non c' è il testo, si nega da un lato il diritto del Presidente della Commissione di rivolgersi a questo Parlamento, e dall' altro che abbia luogo una discussione sulla riforma, senza che il Parlamento conosca a priori i testi su cui si basa. Pertanto, signora Presidente, la prego di chiedere alla Commissione di esprimersi subito e poi di procedere al voto.
-(Applausi dai banchi del gruppo del partito del socialismo europeo)
-
-Signora Presidente, onorevoli colleghi, sono piuttosto sorpreso del comportamento del collega, onorevole Barón Crespo, che ora pretende che il punto in questione venga inserito nell'ordine del giorno di mercoledì.
-Onorevole collega Barón Crespo, lei non ha potuto partecipare giovedì scorso alla Conferenza dei presidenti. Non la biasimo per questo: può sempre succedere che si debba essere sostituiti. Il collega Hänsch è intervenuto in sua vece. In sede di Conferenza dei presidenti ne abbiamo discusso approfonditamente. Soltanto un gruppo politico condivideva l'opinione da lei espressa in questa sede. La questione è stata posta ai voti. Come è noto, ciascun presidente dispone di un numero di voti pari al numero dei deputati iscritti al proprio gruppo politico. Il punto in questione è stato oggetto di una votazione in cui, se ben ricordo, vi sono stati 422 voti contrari e 180 a favore con poche astensioni. Ciò significa che tutti i gruppi politici, ad eccezione dei non iscritti - che però non costituiscono un gruppo politico -, erano concordi e che un solo gruppo era del parere di procedere come proposto dal collega in questa sede. Tutti gli altri erano di diversa opinione e così è stato deciso.
-Vorrei ora entrare brevemente nel merito. Abbiamo fiducia nella Commissione, in Romano Prodi e la grande maggioranza del nostro gruppo politico, come tutti sanno, dopo un difficile processo ha votato la fiducia a Romano Prodi e alla Commissione. Tuttavia siamo anche dell'idea che la strategia della Commissione vada discussa nel corso di una procedura regolare, non soltanto in base a una dichiarazione rilasciata oralmente in questo Parlamento ma anche in base a un documento adottato dalla Commissione che illustri tale programma per i prossimi cinque anni. Ma un tale documento non esiste ancora!
-
-La Commissione presenterà il programma per il 2000 in febbraio. Abbiamo acconsentito: se la Commissione non vuole discutere il programma 2000 in gennaio lo faremo in febbraio. Non è certo nostra intenzione entrare in conflitto con la Commissione. Al contrario, pensiamo che per quanto possibile la Commissione e il Parlamento debbano percorrere una strada comune. Il Parlamento, tuttavia, esercita anche funzioni di controllo nei confronti della Commissione e non tutto ciò che viene proposto da quest'ultima deve necessariamente trovarci concordi.
-Vorrei che all'interno dei gruppi politici potessimo prepararci adeguatamente al dibattito sul programma quinquennale. Non è possibile farlo ascoltando una dichiarazione di cui non conosciamo con esattezza il contenuto. Perciò raccomandiamo - e ho l'impressione che anche la Commissione sia disposta ad accogliere questa idea - di discutere in febbraio il programma a lungo termine della Commissione che si estende fino al 2005 - sperando che a quel punto la Commissione abbia concordato un programma che ci sottoporrà - e, sempre in febbraio, anche il programma legislativo della Commissione per l'anno 2000. E' dunque sulla base di un nesso oggettivo che proponiamo di discutere contestualmente i due programmi e per questa ragione il mio gruppo politico respinge decisamente la proposta del gruppo socialista!
-(Applausi dai banchi del gruppo del PPE-DE)
-
-Signora Presidente, desidero affermare chiaramente che, innanzi tutto, la Commissione nutre il massimo rispetto per le decisioni del Parlamento tra cui quella di elaborare il proprio ordine del giorno. Quindi, noi rispettiamo le eventuali decisioni in materia del Parlamento.
-Ma voglio dire altrettanto chiaramente che il Presidente Prodi si è impegnato con il Parlamento a inserire un nuovo dibattito, come ha ricordato l' onorevole Barón, oltre al dibattito annuale sul programma legislativo della Commissione, sulle grandi linee di azione per il prossimo quinquennio, cioè per la presente legislatura.
-Tengo a sottolineare, signora Presidente, che, secondo l' accordo concluso nel settembre scorso, questo dibattito era distinto dalla presentazione del programma legislativo della Commissione. E desidero far sapere che, per quanto riguarda la Commissione, siamo pronti e disposti a tenere questo dibattito quando lo si ritenga opportuno; eravamo già pronti a farlo questa settimana, conformemente all' accordo iniziale, sulla base dell' intesa di una presentazione del discorso ai gruppi parlamentari il giorno prima.
-Quindi, signora Presidente, ribadisco che da parte nostra abbiamo discusso del programma di azione per il prossimo quinquennio e che siamo pronti a presentarlo quando vuole il Parlamento - anche questa settimana, se decide il tal senso- mentre il mese prossimo toccherà al programma per il 2000, esattamente come era stato stabilito.
-
-Propongo di porre in votazione la richiesta del gruppo PSE di iscrivere nuovamente all' ordine del giorno la dichiarazione della Commissione sui suoi obiettivi strategici.
-(Il Parlamento respinge la richiesta)
-Presidente. Sempre sulla giornata di mercoledì ho ricevuto un' altra proposta di modifica relativa alla interrogazione orale sull' imposta patrimoniale che il gruppo PPE-DE chiede di ritirare dall' ordine del giorno.
-Qualcuno desidera intervenire a nome del gruppo per motivare tale richiesta?
-
-Signora Presidente, sento qualche risata fra i socialisti. Mi è stato detto che anche una parte cospicua del gruppo socialista vorrebbe che questo punto venisse ritirato dall'ordine del giorno, in quanto nella votazione in sede di Conferenza dei presidenti è mancato il voto del gruppo di lavoro dei colleghi competenti del gruppo socialista. Non so se questa informazione sia corretta, ma noi del PPE-DE saremmo comunque grati se il suddetto punto venisse eliminato visto che il Parlamento si è già occupato ripetutamente della questione. Esistono anche alcune decisioni contro tale imposta. Per questa ragione il gruppo del PPE-DE chiede che il punto in questione venga ritirato dall'ordine del giorno.
-
-La ringrazio, onorevole Poettering.
-Ha facoltà l' onorevole Wurtz che interviene contro la richiesta.
-
-Signora Presidente, vorrei innanzi tutto sottolineare la mancanza di logica da parte dell' onorevole Poettering che ha appena fatto la morale al gruppo socialista per essere tornato su una decisione approvata dalla Conferenza dei presidenti con una netta maggioranza. Ebbene, egli ha fatto la stessa cosa. Si era discusso e tutti si erano detti d' accordo, tranne il gruppo PPE-DE e il gruppo ELDR. In tale circostanza - gli onorevoli colleghi presidenti lo ricorderanno - avevo altresì sottolineato che il punto non era tanto sapere se siamo a favore o contro la tassa Tobin, ma se abbiamo il coraggio di ascoltare che cosa ne pensano la Commissione e il Consiglio. Non è chiedere molto. Pertanto, reitero la proposta di mantenere all' ordine del giorno l' interrogazione orale al Consiglio e alla Commissione, per apprendere, una volta per tutte, la posizione delle due Istituzioni su una proposta relativamente modesta, ma che lancerebbe un segnale importante all' opinione pubblica, soprattutto sull' onda dell' emozione suscitata dal fallimento della Conferenza di Seattle.
-
-Pongo ora in votazione la richiesta del gruppo PPE-DE intesa a ritirare dall' ordine del giorno l' interrogazione orale sull' imposta patrimoniale.
-(Il Parlamento respinge la richiesta con 164 voti favorevoli, 166 contrari e 7 astenuti)
-
-Signora Presidente, ringrazio l' onorevole Poettering per l' inaspettata pubblicità che ha appena dato a questa discussione. Grazie!
-
-Signora Presidente, è stato contato il mio voto, che non è stato deposto elettronicamente, perché non ho la scheda? Il mio voto era favorevole.
-
-In effetti, se aggiungiamo i voti dei due colleghi che sono intervenuti, il risultato...
-
-Signora Presidente, la Presidenza ha già annunciato l' esito della votazione. Non sono ammesse modifiche.
-
-Onorevoli colleghi, ancora una volta, occorre presentarsi in Aula con la carta di votazione anche il lunedì. Evidentemente abbiamo un problema sul quale sono chiamata a prendere una decisione.
-Anch' io ho dimenticato la mia carta di votazione e avrei votato contro. Ritengo pertanto che si debba concludere che l' interrogazione orale rimane iscritta all' ordine del giorno.
-
-Questa è l' ultima volta che si terrà conto del voto dei deputati che hanno dimenticato la loro carta di votazione. Che sia ben chiaro per tutti.
-(Applausi)
-Sì, l' interrogazione orale resta all' ordine del giorno ed ebbene sì, la Presidente ha diritto di votare così come ha diritto anche di dimenticare la carta di votazione.
-Proseguiamo con le altre modifiche all' ordine del giorno.
-
-Signora Presidente, premetto che rispetterò la sua decisione, ma durante la votazione precedente sulla questione del piano strategico della Commissione avevo manifestato l'intenzione di intervenire a nome del mio gruppo prima della votazione, ma non ne ho avuto la possibilità. Le sarei molto grato se prima di chiudere questo punto all'ordine del giorno mi permettesse di rilasciare una dichiarazione di voto a nome del mio gruppo. Si tratta di una cosa importante e sarebbe utile poter mettere a verbale il motivo del nostro comportamento al momento della votazione alla luce della nostra analisi politica.
-
-Signora Presidente, non è mia intenzione riprendere la discussione, ma anch'io avevo chiesto di intervenire per prendere posizione sulla richiesta dell'onorevole Barón Crespo. Lei non mi ha dato la parola. Ne sono spiacente anche se ormai la votazione è già stata effettuata, la decisione presa e quindi la questione è da considerarsi chiusa.
-
-Me ne dispiace, onorevoli Hnsch e Cox, non mi ero accorta che avevate chiesto la parola. Comunque mi pare che le posizioni siano chiare e saranno riportate al processo verbale. Quando domani approveremo il processo verbale della seduta odierna i colleghi che dovessero ritenerlo inadeguato potranno chiedere che esso venga modificato. Mi pare una buona soluzione. Evidentemente il processo verbale della seduta di domani riporterà tutte le eventuali dichiarazioni complementari. Mi pare una formula migliore piuttosto che procedere ora alle dichiarazioni di voto che ci porterebbero molto lontano. Onorevole Cox, onorevole Hnsch, siete d' accordo?
-
-Signora Presidente, se il verbale rispecchierà correttamente il voto del mio gruppo non avrò alcuna obiezione. Ma se la sua decisione implica che non posso rilasciare una dichiarazione di voto, la accetto con delle riserve.
-
-Faremo molta attenzione allora alla redazione del processo verbale, come per altro facciamo sempre. Se esso non rifletterà correttamente le posizioni potrà essere modificato.
-(Il Parlamento approva l' ordine del giorno così modificato)
-
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/language/lt.test b/trunk/tika-core/src/test/resources/org/apache/tika/language/lt.test
deleted file mode 100644
index e2b0dee..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/language/lt.test
+++ /dev/null
@@ -1,32 +0,0 @@
-Lietuvos Respublikos Seimas,
-
- 
-
-stebėdamas 2010 m. Baltarusijos Respublikos Prezidento rinkimus, pasirengimą jiems ir juos lydinčius įvykius,
-
-atsižvelgdamas į Europos saugumo ir bendradarbiavimo organizacijos Baltarusijos Respublikai dėl rinkimų ir jų organizavimo pateiktus siūlymus ir dalinį šių siūlymų įgyvendinimą,
-
-įvertindamas 2010 m. gruodžio 19 d. rinkimus jų teisėtumo, skaidrumo ir atvirumo atžvilgiu,
-
-reikšdamas susirūpinimą dėl teisėsaugos institucijų neproporcingos jėgos panaudojimo prieš gyventojus 2010 m. gruodžio 19-20 d. taikiame mitinge,
-
-sunerimęs dėl areštuotų asmenų, tarp jų prezidento rinkimų kandidatų, saugumo ir deramos jų teisių apsaugos,
-
- 
-
-apgailestaudamas konstatuoja, kad 2010 m. gruodžio 19 d. prezidento rinkimai neatitiko Europos saugumo ir bendradarbiavimo organizacijos keliamų demokratiškumo ir skaidrumo reikalavimų,
-
-reikalauja nedelsiant išleisti į laisvę suimtus 2010 m. gruodžio 19-20 d. taikaus mitingo dalyvius,
-
-kviečia Baltarusijos vyriausybę nenaudoti riaušių kaip preteksto susidorojimui su opozicija,  politinėmis organizacijomis ir pavieniais politikais,
-
-kviečia Lietuvos Respublikos Prezidentą ir Vyriausybę, o taip pat visas Europos saugumo ir bendradarbiavimo organizacijos valstybes nares, įvertinus Baltarusijos Respublikoje vykstančius procesus, nepripažinti 2010 m. gruodžio 19 d. rinkimų demokratiškais ir teisėtais,
-
-skatina Lietuvos Respublikos Vyriausybę ir Seimą, atsižvelgiant į Lietuvos Respublikos pirmininkavimą Europos saugumo ir bendradarbiavimo organizacijoje 2011 m., dėti aktyvias pastangas sprendžiant demokratijos, žmogaus teisių ir rinkimų laisvės klausimus Baltarusijos Respublikoje,
-
-ragina Baltarusijos valdžią įsijungti į realų, atviresnį ir labiau įsipareigojantį dialogą su Europos saugumo ir bendradarbiavimo organizacija ir kitomis tarptautinėmis organizacijomis, pilnai įgyvendinti jų parengtus pasiūlymus, kad galų gale įvyktų tikrai demokratiški rinkimai,
-
-siūlo Lietuvos Respublikos Prezidentui, Vyriausybei, Seimo Užsienio reikalų komitetui apsvarstyti tikslingumą Europos Sąjungos formatuose kelti klausimą dėl sankcijų Baltarusijos Respublikai suspendavimo nutraukimo.
-
- 
-Rezoliucija įsigalioja nuo priėmimo.
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/language/nl.test b/trunk/tika-core/src/test/resources/org/apache/tika/language/nl.test
deleted file mode 100644
index 92473f7..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/language/nl.test
+++ /dev/null
@@ -1,105 +0,0 @@
-Hervatting van de zitting
-Ik verklaar de zitting van het Europees Parlement, die op vrijdag 17 december werd onderbroken, te zijn hervat. Ik wens u allen een gelukkig nieuwjaar en hoop dat u een goede vakantie heeft gehad.
-Zoals u heeft kunnen constateren, is de grote "millenniumbug" uitgebleven. De burgers van een aantal van onze lidstaten zijn daarentegen door verschrikkelijke natuurrampen getroffen. U heeft aangegeven dat u deze vergaderperiode een debat wilt over deze rampen. Nu wil ik graag op verzoek van een aantal collega's een minuut stilte in acht nemen ter nagedachtenis van de slachtoffers. Ik doel hiermee met name op de slachtoffers van het noodweer dat verschillende lidstaten van de Unie heeft geteisterd. Ik wil u vragen deze minuut stilte staande in acht te nemen.
-(Het Parlement neemt staande een minuut stilte in acht)
-
-Mevrouw de Voorzitter, ik wil een motie van orde stellen. U zult via de media hebben vernomen dat er zich in Sri Lanka een aantal bomexplosies en schietpartijen hebben voorgedaan. Een van de mensen die zeer recent in Sri Lanka is vermoord, is de heer Kumar Ponnambalam, die een paar maanden geleden nog een bezoek bracht aan het Europees Parlement. Zou u, mevrouw de Voorzitter, wellicht een brief kunnen schrijven aan de President van Sri Lanka, waarin u laat weten dat uzelf en het Europees Parlement deze moord en de overige brute moorden in Sri Lanka diep betreuren, en waarin u haar oproept al het nodige te doen om in deze zeer moeilijke situatie langs vreedzame weg tot verzoening te komen?
-
-Ja, mijnheer Evans, ik denk dat een dergelijk initiatief zeer gepast zou zijn. Als het Parlement ermee instemt, geef ik graag gevolg aan uw suggestie.
-
- Mevrouw de Voorzitter, ik wil een motie van orde stellen. Ik vraag uw advies over artikel 143 van het Reglement, met betrekking tot niet-ontvankelijkheid. Mijn vraag betreft een zaak die voor donderdag op de agenda staat en waarop ik dan opnieuw zal ingaan.
-Het verslag Cunha, over het resultaat van de meerjarige oriëntatieprogramma's voor de vissersvloot, wordt donderdag in het Parlement besproken. In artikel 6 van dit verslag wordt voorgesteld een soort strafkorting op vangstquota toe te passen voor lidstaten die zich niet houden aan de jaarlijkse doelstellingen voor vlootinkrimping. Dit zou moeten gebeuren in weerwil van het beginsel van relatieve stabiliteit. Naar mijn mening is de relatieve stabiliteit een grondbeginsel van het gemeenschappelijk visserijbeleid, en zou een voorstel om dit te ondermijnen juridisch niet-ontvankelijk zijn. Ik zou graag willen weten of een dergelijk bezwaar kan worden ingebracht tegen enkel een verslag, dus niet een ontwerpwetgevingsvoorstel, en of ik aanstaande donderdag gerechtigd ben dit te doen.
-
-Dat is inderdaad het juiste moment om dit vraagstuk ter tafel te brengen, dat wil zeggen donderdag voordat het verslag wordt gepresenteerd.
-
-Mevrouw de Voorzitter, helaas valt de eerste vergaderperiode van het Europees Parlement in het nieuwe jaar samen met de executie van een jonge terdoodveroordeelde van 34 jaar, Hicks genaamd. Deze executie is door de staat Texas van de Verenigde Staten vastgesteld voor aanstaande donderdag.
-Op initiatief van een van de Franse afgevaardigden, de heer Zimeray, is al een petitie aangeboden, die door velen is ondertekend, onder andere door mij. Maar ik wil u vragen om, in uw hoedanigheid van Voorzitter van het Europees Parlement, uw invloed aan te wenden bij de president en de gouverneur van de staat Texas, de heer Bush, die de macht heeft om de terdoodveroordeling op te schorten en de veroordeelde gratie te verlenen, in overeenstemming met het standpunt van het Europees Parlement en de gehele Europese Gemeenschap, zoals dat herhaaldelijk naar voren is gekomen.
-Bovendien is een dergelijke actie in overeenstemming met onze grondbeginselen.
-
-Hartelijk dank, mijnheer Segni, dat wil ik graag doen. Het ligt ook geheel in de lijn van de standpunten die ons Parlement altijd met betrekking tot dergelijke vraagstukken heeft ingenomen.
-
-Mevrouw de Voorzitter, ik zou op een geval willen wijzen waarmee dit Parlement zich keer op keer bezig heeft gehouden, het geval-Alexander Nikitin. We zijn allemaal blij dat de rechter hem heeft vrijgesproken en duidelijk heeft gemaakt dat ook in Rusland het recht op toegang tot informatie over het milieu door de grondwet wordt gegarandeerd. Hij schijnt echter weer voor de rechter te moeten verschijnen, omdat de officier van justitie in beroep gaat. We weten allemaal, en hebben dat ook gezegd in talloze resoluties, onder andere nog tijdens de laatste plenaire vergadering vorig jaar, dat dit niet alleen een geval voor juristen is, en dat het verkeerd is Alexander Nikitin te beschuldigen van misdrijven en verraad. Wij zijn namelijk direct betrokken bij de resultaten van zijn onderzoek en profiteren ervan. Deze resultaten vormen de basis voor de Europese programma' s voor de bescherming van de Barentszzee, en daarom zou ik u willen vragen een brief te bestuderen waarin de belangrijkste feiten worden samengevat, en een standpunt te bepalen over de besluiten van het Russische parlement.
-
-Mevrouw Schroedter, nadat ik uw brief ontvangen heb, zal ik de feiten die op dit vraagstuk betrekking hebben, zeker bestuderen.
-
-Voorzitter, ik zou u eerst een compliment willen maken met het feit dat u woord hebt gehouden en dat inderdaad nu in deze eerste vergaderperiode in het nieuwe jaar het aantal televisiezenders op onze kamer daadwerkelijk enorm is uitgebreid. Maar, Voorzitter, er is niet gebeurd waar ik om had gevraagd. Er zijn nu weliswaar twee Finse zenders en een Portugese zender, maar er is nog steeds geen Nederlandse zender en ik had u gevraagd om een Nederlandse zender, omdat ook Nederlanders graag het nieuws willen volgen, iedere maand als wij hier naar dit verbanningsoord worden gestuurd. Dus ik zou u nogmaals willen vragen om er toch zorg voor te dragen dat wij ook een Nederlandse zender krijgen.
-
-Mevrouw Plooij-van Gorsel, ik kan u mededelen dat dit vraagstuk op de agenda van de vergadering van het College van quaestoren van aanstaande woensdag staat. Het zal, naar ik hoop, op bevredigende wijze worden opgelost.
-
-Mevrouw de Voorzitter, kunt u mij uitleggen waarom dit Parlement zich niet houdt aan gezondheids- en veiligheidsvoorschriften die het zelf vaststelt? Waarom is de kwaliteit van de lucht in dit gebouw nooit onderzocht sinds de verkiezingen? Waarom heeft het Comité voor veiligheid en hygiëne sinds 1998 niet meer vergaderd? Waarom is er noch in het Parlementsgebouw in Brussel noch hier in Straatsburg een brandweeroefening gehouden? Waarom zijn er nergens instructies over wat te doen in geval van brand? Waarom zijn er sinds mijn ongeval geen verbeteringen aangebracht aan de trappen? Waarom wordt het rookverbod niet gehandhaafd in daarvoor aangewezen delen van het gebouw? Het is absoluut onaanvaardbaar dat wij wetgeving goedkeuren en dat wij ons daar zelf niet aan houden.
-
-Mevrouw Lynne, u hebt volkomen gelijk. Ik zal nagaan of dit inderdaad niet gebeurd is. Ik zal het vraagstuk verder aan het College van quaestoren voorleggen. Ik ben ervan overtuigd dat onze quaestoren ervoor zullen zorgdragen dat de wetgeving waarover we ons hebben uitgesproken, ook daadwerkelijk wordt nageleefd.
-
-Mevrouw de Voorzitter, mevrouw Díez González en ikzelf hadden samen een aantal vragen gesteld naar aanleiding van bepaalde uitspraken van commissaris de Palacio in een Spaans dagblad. De voor de agenda verantwoordelijke diensten hebben die vragen niet op de agenda geplaatst, daar die vragen al in een andere vergaderperiode beantwoord zouden zijn.
-Daar dat niet zo is, verzoek ik het desbetreffende besluit te heroverwegen. De eerder beantwoorde vragen betreffen de bijdrage van mevrouw de Palacio over een ander dossier en gaan niet over de uitspraken die 18 november jongstleden in de krant ABC zijn verschenen.
-
-Waarde collega, we zullen dit alles natrekken. Ik moet u bekennen dat ik de situatie nu enigszins verwarrend vind. We zullen daarom deze kwestie zorgvuldig nagaan en correct volgens de regels handelen.
-
-Mevrouw de Voorzitter, ik zou graag willen weten of het Parlement deze week duidelijk zijn ongenoegen zal laten blijken over het vandaag genomen besluit het wapenembargo tegen Indonesië niet te verlengen. De overgrote meerderheid van het Parlement heeft zich in het verleden immers uitgesproken voor dit embargo.Gezien de situatie in Indonesië is het besluit het embargo niet te verlengen uiterst riskant. Het Parlement moet dan ook een signaal afgeven, aangezien een grote meerderheid dit wenst.Dat de lidstaten van de Europese Unie weigeren het embargo te verlengen, is zonder meer onverantwoordelijk, de explosieve situatie in het land in aanmerking nemend. Het gevaar van een militaire coup is niet denkbeeldig.Wij weten niet wat er aan de hand is. Waarom zouden EU-wapenfabrikanten moeten profiteren van een situatie die ten koste gaan van onschuldige mensen?
-
-Dit punt staat op dit moment in ieder geval niet voor het actualiteitendebat van donderdag ingeschreven.
-
-Regeling van de werkzaamheden
-Aan de orde is de behandeling van de definitieve ontwerpagenda zoals deze op de Conferentie van voorzitters op donderdag 13 januari is vastgesteld overeenkomstig artikel 110 van het Reglement. Ik heb geen wijzigingen voor de maandag en de dinsdag.
-Woensdag 19 januari:
-De socialistische fractie vraagt om inschrijving van een verklaring van de Commissie over haar strategische doelstellingen voor de komende vijf jaar alsmede over de bestuurlijke hervorming van de Commissie.
-Ik zou de heer Barón Crespo willen vragen zijn verzoek om inschrijving hier toe te lichten. Vervolgens zullen we de gebruikelijke procedure volgen, dat wil zeggen dat we een voorstander en een tegenstander van dit verzoek het woord zullen geven.
-
-Mevrouw de Voorzitter, de presentatie van het politieke programma van de Commissie Prodi voor de hele legislatuur was oorspronkelijk een voorstel van Fractie van de Partij van de Europese Sociaal-Democraten, dat in september de unanieme steun kreeg van de Conferentie van voorzitters. Ook de heer Prodi gaf er uitdrukkelijk zijn steun aan, en in de rede waarmee hij zijn benoeming aanvaardde, heeft hij die toezegging nog eens herhaald.
-Die toezegging is vooral belangrijk omdat de Commissie volgens de Verdragen het monopolie heeft op het initiatiefrecht en dus eigenlijk vorm geeft aan wat de komende vijf jaar de politieke en de wetgevende activiteit van dit Parlement zal zijn. Bovendien wil ik eraan herinneren, mevrouw de Voorzitter, dat dit Parlement in de vorige legislatuur tweemaal zijn vertrouwen heeft uitgesproken in de heer Prodi als voorzitter van de Commissie. Tijdens de nieuwe legislatuur is dat vertrouwen nogmaals uitgesproken in juli, en na het aantreden van de voltallige nieuwe Commissie is dat vertrouwen in september aan de hele Commissie geschonken. Er is derhalve in theorie voldoende tijd geweest voor de Commissie om haar programma op te stellen en voor ons om er dan kennis van te nemen en uitleg te geven aan de burgers. In dit verband wil ik wijzen op de resolutie van 15 september, waarin de Commissie de aanbeveling kreeg het voorstel zo snel mogelijk in te dienen.
-De gebeurtenissen van de vorige week in de marge van de Conferentie van voorzitters, waarbij de Conferentie van voorzitters alleen maar gebruikt is om elders genomen besluiten te bekrachtigen en te ratificeren, plaatsen ons voor een dilemma: ofwel de Commissie is niet in staat dat programma te presenteren, ofwel, zoals sommigen schijnen te beweren, het Parlement is niet in staat dat programma te behandelen. In het eerste geval zou de Commissie haar onvermogen moeten toelichten, want volgens de voorzitter van de Commissie is de Commissie klaar voor de presentatie. Daar de Commissie hier vertegenwoordigd is door haar vice-voorzitter mevrouw de Palacio, denk ik dat het gepast zou zijn om voor wij gaan stemmen van de Commissie te horen hoe het zit met haar bereidheid het programma te presenteren zoals is afgesproken. Naar mijn mening houdt de tweede hypothese in dat wij als Parlement onze verantwoordelijkheid verwaarlozen. Volgens een tot nu onbekende procedure krijgen de fracties een week van tevoren - en niet zoals afgesproken één dag van tevoren - de geschreven toespraak over het programma van de Commissie. Bovendien is dit wel een zeer originele thesis, want het wetgevingsprogramma wordt in februari behandeld. Wij zouden dan ook kunnen afzien van het debat over dat programma, daar de dag nadat de fracties het gekregen hebben alle burgers dan via de pers en Internet geïnformeerd zouden zijn en het Parlement niets meer met het onderwerp zou kunnen doen.
-Daar onze fractie meent dat het de taak is van een parlement om te luisteren, te debatteren en na te denken, geloven wij dat er geen enkele reden is die dit uitstel rechtvaardigt. Ook menen wij dat indien de Commissie in staat is het programma te presenteren, wij zeker nog de tijd hebben om terug te komen op de oorspronkelijke afspraak tussen het Parlement en de Commissie, en tegenover onze medeburgers op verantwoordelijke wijze te werk te gaan. Derhalve doet de Fractie van de Partij van de Europese Sociaal-Democraten het voorstel dat door u genoemd is, mevrouw de Voorzitter, om woensdag de presentatie van het programma voor de hele legislatuur van de Commissie Prodi te handhaven. Bij dat programma hoort ook de administratieve hervorming van de Commissie, want anders zouden wij met een paradoxale situatie te maken kunnen krijgen. Onder het voorwendsel dat er geen tekst is, wordt namelijk aan de ene kant de voorzitter van de Commissie het recht ontzegd voor dit Parlement te spreken en wordt er aan de andere kant een debat gehouden over de hervorming, terwijl het Parlement de teksten daarvan niet van tevoren kent. Daarom verzoek ik u, mevrouw de Voorzitter, eerst de Commissie te vragen om haar mening te laten horen en daarna te laten stemmen.
-(Applaus van de PSE-fractie)
-
-Mevrouw de Voorzitter, geachte collega's, de houding van de heer Barón Crespo verbaast me wel een beetje. Hij wil dit punt op de agenda van woensdag plaatsen.
-Mijnheer Barón Crespo, u kon niet deelnemen aan de vergadering van de Conferentie van voorzitters op donderdag jongstleden. Daar heb ik het volste begrip voor; het kan altijd gebeuren dat iemand een plaatsvervanger moet sturen. De heer Hänsch heeft u vertegenwoordigd. Tijdens de vergadering van de Conferentie van voorzitters hebben we een uitvoerig debat gevoerd. Uw fractie was de enige die voorstelde wat u hier nu wilt. Daarover hebben we gestemd. Iedere voorzitter heeft zoveel stemmen als zijn of haar fractie leden heeft. Als ik me niet vergis, was het resultaat 422 stemmen tegen 180, bij slechts een paar onthoudingen. Dat betekent dat alle fracties het met elkaar eens waren, behalve de niet-ingeschreven leden, en die vormen geen fractie. Alleen uw fractie heeft voor het voorstel gestemd dat u hier herhaalt. De anderen waren het niet met u eens, en het besluit is genomen.
-Nu wil ik nog even op de zaak zelf ingaan. Wij hebben vertrouwen in de Commissie, in Romano Prodi, en zoals u allemaal weet, heeft de overwegende meerderheid van onze fractie Romano Prodi en de Commissie na een moeizaam proces het vertrouwen geschonken. We vinden echter ook dat we het debat over de strategie van de Commissie volgens de juiste procedure moeten voeren, en niet zomaar naar aanleiding van een mondelinge verklaring hier in het Europees Parlement. We hebben daarvoor ook een document nodig, dat door de Commissie is goedgekeurd en dit vijfjarig programma beschrijft. Een dergelijk document bestaat echter niet!
-De Commissie zal het programma voor 2000 in februari voorstellen. We hebben gezegd: goed, als de Commissie het programma voor 2000 nog niet in januari wil voorstellen, dan moet dat maar in februari. We hebben daarmee ingestemd. Wij willen tenslotte helemaal geen ruzie met de Commissie; wij vinden dat de Commissie en het Europees Parlement als het enigszins mogelijk is een gezamenlijke weg moeten vinden. Als Parlement zijn we echter ook verantwoordelijk voor de controle van de Commissie. Wat van de Commissie komt, is niet altijd ook ons standpunt.
-Ik ben van mening dat de fracties zich gedegen moeten kunnen voorbereiden op het debat over het vijfjarig programma. Naar een verklaring luisteren en van tevoren helemaal niet weten wat de inhoud van die verklaring is, dat is geen goede voorbereiding. Daarom stellen wij voor - en ik heb de indruk dat de Commissie wel openstaat voor dit idee - dat we in februari het debat voeren over het langetermijnprogramma van de Commissie voor de periode tot 2005. Ik hoop dat de Commissie het tegen die tijd eens is geworden over het programma dat ze dan aan ons zal voorleggen. Wij stellen echter voor dat we tegelijkertijd in februari het debat voeren over het wetgevend programma van de Commissie voor 2000. Er zijn goede inhoudelijke redenen om het debat over die twee programma' s samen te voeren. Daarom wijst mijn fractie het voorstel van de socialistische fractie met nadruk van de hand!
-(Applaus van de PPE-DE-Fractie)
-
-Mevrouw de Voorzitter, allereerst wil ik duidelijk maken dat de Commissie alle respect heeft voor de besluiten die dit Parlement neemt, met inbegrip van het opstellen van de agenda. Derhalve respecteren wij wat het Parlement in dit verband zal besluiten.
-Maar ik wens ook duidelijk te maken dat voorzitter Prodi zich tegenover het Parlement verplicht heeft, zoals de heer Barón in herinnering heeft geroepen, om naast het jaarlijks debat over het wetgevingsprogramma van de Commissie een nieuw debat te houden over de grote lijnen van het beleid voor de komende vijf jaar, dat wil zeggen voor deze hele legislatuur.
-Ik wil erop wijzen, mevrouw de Voorzitter, dat dat debat zich volgens het in septembere bereikte akkoord zou onderscheiden van het debat over het jaarlijks wetgevingsprogramma van de Commissie. Ook wil ik laten weten, mevrouw de Voorzitter, dat wij als Commissie bereid en klaar zijn om dat debat op het gepaste moment te houden. Wij waren ook klaar voor een debat gedurende deze week, zoals in beginsel was afgesproken, met dien verstande dat de dag voor het debat het woord aan de fracties zou worden gegeven.
-Daarom wil ik herhalen, mevrouw de Voorzitter, dat wij als Commissie het beleidsprogramma voor de komende vijf jaar besproken hebben en dat, indien het Parlement zo mocht besluiten - eventueel nog deze week -, wij exact volgens de afspraak klaar zijn om dit programma voor de komende vijf jaar te komen toelichten en om de volgende maand hetzelfde te doen met het programma voor het jaar 2000.
-
-Ik stel voor dat we gaan stemmen over het verzoek van de socialistische fractie om de verklaring van de Commissie over haar strategische doelstellingen opnieuw in te schrijven.
-(Het Parlement verwerpt het verzoek)
-Nog altijd met betrekking tot de woensdag heb ik een ander verzoek ontvangen. De PPE-DE-Fractie wil dat de mondelinge vragen over hoofdelijke belasting van de agenda worden geschrapt.
-Welke vertegenwoordiger van deze fractie wil het woord voeren om dit verzoek toe te lichten?
-
-Mevrouw de Voorzitter, ik heb wat gelach gehoord van de banken van de socialistische fractie. Ik heb ook gehoord dat veel leden van die fractie dit punt graag van de agenda zouden willen afvoeren, omdat ten tijde van de stemming in de Conferentie van voorzitters het standpunt van de socialistische leden van de werkgroep die zich met deze zaken bezig houdt, nog niet beschikbaar was. Ik weet niet of dat klopt, maar wij als PPE-DE-Fractie zouden dankbaar zijn als dit punt van de agenda zou kunnen worden afgevoerd. Het Parlement heeft zich namelijk al meerdere malen met deze kwestie bezig gehouden. Er is ook al besloten om deze belasting af te wijzen. Daarom vraagt mijn fractie dit punt van de agenda af te voeren.
-
-Hartelijk dank, mijnheer Poettering.
-We geven nu de heer Wurtz de gelegenheid om zich tegen dit verzoek uit te spreken.
-
-Mevrouw de Voorzitter, ik wil allereerst benadrukken dat de logica in het betoog van de heer Poettering ver te zoeken is. Zojuist heeft hij de socialistische fractie de les gelezen omdat deze fractie terugkomt op een besluit dat overduidelijk tijdens de Conferentie van voorzitters is genomen. Vervolgens handelt hij op precies dezelfde wijze als deze fractie. Wij hebben over dit vraagstuk gedebatteerd en waren, met uitzondering van de PPE-DE-Fractie en de liberale fractie, allen dezelfde mening toegedaan. Zoals u zich herinnert, heb ik opgemerkt, waarde collega-voorzitters, dat het er niet zozeer toe doet of u voor of tegen de Todin-heffing bent, maar dat u van de Commissie en de Raad durft te verlangen dat ze hun mening over dit vraagstuk kenbaar maken. Dat is toch niet teveel gevraagd. Ik herhaal dus mijn voorstel om deze mondelinge vraag aan de Commissie en de Raad te handhaven zodat we voor eens en altijd weten hoe deze twee instellingen over dit relatief eenvoudige verzoek denken. We kunnen zo immers een belangrijk signaal aan de burgers afgeven, zeker na de commotie die na het mislukken van de Conferentie van Seattle is ontstaan.
-
-We gaan stemmen over het verzoek van de PPE-DE-Fractie om de mondelinge vragen over hoofdelijke belasting van de agenda te schrappen.
-(Het Parlement verwerpt het verzoek met 164 stemmen voor, 166 stemmen tegen en 7 onthoudingen)
-
-Mevrouw de Voorzitter, ik wil de heer Poettering er hartelijk voor danken dat hij dit debat zo effectief onder de aandacht heeft gebracht. Hartelijk dank.
-
-Mevrouw de Voorzitter, is mijn stem die ik elektronisch niet heb kunnen uitbrengen omdat ik mijn stemkaart niet bij mij heb, meegeteld? Ik was vóór.
-
-Inderdaad, als we de stemmen van beide collega's die van zich hebben laten horen bij de uitslag optellen, dan wordt het resultaat...
-
-Mevrouw de Voorzitter, u heeft de uitslag van de stemming bekendgemaakt. Daaraan mag niets veranderd worden.
-
-Waarde collega's, ik wil nogmaals benadrukken dat iedereen zijn kaart voor maandag bij zich moet hebben. We hebben nu een probleem en ik zal daarom een beslissing moeten nemen.
-Ik ben mijn kaart ook vergeten en zou anders tegen hebben gestemd. Ik vind dus dat de mondelinge vraag op de agenda moet blijven staan.
-Dit is de laatste keer dat we rekening houden met collega's die hun kaart vergeten zijn. Laat dit nu voor eens en altijd duidelijk zijn.
-(Applaus)Ja, de mondelinge vraag blijft op de agenda gehandhaafd, en ja, de Voorzitter heeft het recht om te stemmen. Ze heeft immers ook het recht haar kaart te vergeten.
-We gaan nu verder met de andere wijzigingen in de agenda.
-
-Mevrouw de Voorzitter, laat mij vooropstellen dat ik mij zal neerleggen bij uw uitspraak in dezen, maar bij de eerdere stemming over de Commissiestrategie had ik voorafgaand aan de stemming namens mijn fractie het woord willen voeren. Dit is niet gebeurd. Ik zou het waarderen indien ik na afsluiting van dit punt de gelegenheid zou krijgen namens mijn fractie een stemverklaring uit te spreken. Het gaat om een belangrijke kwestie. Het is een goede zaak voor dit Parlement dat wordt vastgelegd, hoe de mensen vanuit hun eigen politieke analyse de zojuist genomen beslissing beoordelen.
-
-Mevrouw de Voorzitter, ik wil het debat niet opnieuw openen, maar ik had ook om het woord gevraagd. Ik wilde ingaan op het verzoek van de heer Barón Crespo. U heeft mij het woord niet verleend. Ik vind dat jammer, maar we hebben nu gestemd en een besluit genomen. Daar wil ik het bij laten.
-
-Mijn excuses, mijnheer Hänsch en mijnheer Cox, ik had niet in de gaten dat u om het woord vroeg. Ik denk dat de stellingname in de notulen zal worden weergegeven. Bij de goedkeuring van notulen van de vergadering van vandaag kunnen de collega's die vinden dat de standpunten niet goed zijn weergegeven, een verzoek tot wijziging indienen. Ik denk dat dit een goede oplossing is. Uiteraard zal in de notulen van de vergadering van morgen rekening gehouden worden met al deze aanvullende verklaringen. Ik denk dat dit beter is dan nu stemverklaringen af te leggen. We zouden dan immers teveel afdwalen. Mijnheer Cox en mijnheer Hänsch, kunt u zich in mijn voorstel vinden?
-
-Mevrouw de Voorzitter, als het stemgedrag van mijn fractie correct is weergegeven, zal en kan ik hiertegen geen bezwaar maken. Indien uw besluit is dat ik geen stemverklaring mag afleggen, dan accepteer ik dat, zij het onder voorbehoud.
-
-We zullen dus heel goed opletten bij het opstellen van de notulen. Dat doen we trouwens altijd al. Als de standpunten niet goed in de notulen worden weergegeven, kunnen deze eventueel worden aangepast.
-(Het Parlement neemt de aldus gewijzigde agenda aan)
-
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/language/pt.test b/trunk/tika-core/src/test/resources/org/apache/tika/language/pt.test
deleted file mode 100644
index 58c7e05..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/language/pt.test
+++ /dev/null
@@ -1,105 +0,0 @@
-Reinício da sessão
-Declaro reaberta a sessão do Parlamento Europeu, que tinha sido interrompida na sexta-feira, 17 de Dezembro último, e renovo todos os meus votos, esperando que tenham tido boas férias.
-Como puderam constatar, o grande "bug do ano 2000" não aconteceu. Em contrapartida, os cidadãos de alguns dos nossos países foram vítimas de catástrofes naturais verdadeiramente terríveis. Os senhores manifestaram o desejo de se proceder a um debate sobre o assunto nos próximos dias, durante este período de sessões. Entretanto, gostaria - como também me foi pedido por um certo número de colegas - que observássemos um minuto de silêncio por todas as vítimas, nomeadamente das tempestades, nos diferentes países da União Europeia que foram afectados. Convido-os a levantarem-se para um minuto de silêncio.
-(O Parlamento, de pé, guarda um minuto de silêncio)
-
-Senhora Presidente, intervenho para um ponto de ordem. Certamente que já tomou conhecimento, pelas notícias transmitidas na imprensa e na televisão, dos diversos atentados à bomba e assassínios perpetrados no Sri Lanka. Uma das pessoas recentemente assassinadas foi o senhor Kumar Ponnambalam, que ainda há poucos meses visitara o Parlamento Europeu. Será que a senhora Presidente poderia enviar uma carta à Presidente do Sri Lanka manifestando o pesar do Parlamento por esta e outras mortes violentas perpetradas no seu país, e instando­a a envidar todos os esforços ao seu alcance para procurar obter uma reconciliação pacífica na situação extremamente difícil que ali se vive?
-
-Sim, Senhor Deputado Evans, penso que uma iniciativa no sentido que acaba de sugerir seria perfeitamente adequada. Se a assembleia estiver de acordo, farei como sugeriu o senhor deputado Evans.
-
-Senhora Presidente, intervenho para um ponto de ordem. Nos termos do artigo 143º do Regimento, gostaria que me desse o seu parecer em relação à inadmissibilidade de uma proposta. A questão que pretendo focar incide sobre um relatório que será aqui tratado na quinta­feira, ocasião em que tenciono levantá­la novamente.
-O relatório Cunha sobre os resultados dos programas de orientação plurianuais para as frotas de pesca, inscrito na ordem do dia de quinta­feira, contém, no seu nº 6, uma proposta no sentido da aplicação de sanções, sob a forma de uma redução automática das quotas, aos Estados­Membros que não cumpram anualmente os objectivos de redução da respectiva frota definidos nos programas de orientação plurianuais. Mais se propõe que a aplicação das sanções seja feita independentemente da salvaguarda do princípio da estabilidade relativa. O princípio da estabilidade relativa constitui, em minha opinião, um princípio jurídico fundamental da política comum da pesca, pelo que toda e qualquer proposta que vise subvertê­lo é, com certeza, juridicamente inadmissível. Gostaria de saber se posso levantar uma objecção deste tipo ao que constitui meramente um relatório, não uma proposta legislativa, e se tenho competência para o fazer na quinta­feira.
-
-Com efeito, é precisamente nessa altura que, se o desejar, poderá levantar a questão, isto é, na quinta-feira antes do início da apresentação do relatório.
-
-Senhora Presidente, coincidindo com a primeira sessão deste ano do Parlamento Europeu, nos Estados Unidos, no Texas, está marcada, lamentavelmente para a próxima quinta-feira, a execução de um condenado à morte, um jovem de 34 anos a quem designaremos por X.
-A pedido de um deputado francês, o senhor deputado Zimeray, já foi apresentada uma petição, que teve muitos signatários, entre os quais o abaixo assinado, mas peço­lhe, em conformidade com a orientação repetidamente expressa pelo Parlamento Europeu e por toda a Comunidade Europeia, que intervenha, com o prestígio do seu cargo e da Instituição que representa, junto do Presidente e do Governador do Texas, Bush, que tem poder para suspender a condenação à morte e perdoar o condenado.
-E tudo isso em conformidade com os princípios que sempre defendemos.
-
-Obrigada, Senhor Deputado Segni, fá-lo-ei de boa vontade. Com efeito, essa é a linha das posições que o nosso Parlamento sempre adoptou.
-
-Senhora Presidente, gostaria de chamar a sua atenção para um caso de que este Parlamento repetidamente se tem ocupado. É o caso de Alexander Nikitin. Congratulamo-nos todos aqui pelo facto de o tribunal o ter posto em liberdade e ter tornado claro que também na Rússia o acesso às informações sobre o ambiente constitui direito constitucional. No entanto, sucede agora que ele deverá será novamente acusado, uma vez que o Ministério Público irá interpor recurso. Sabemos e constatámo­lo realmente em muitíssimas resoluções - precisamente durante a última sessão plenária do ano passado - que aqui não se trata apenas de um caso jurídico e que é errado acusar Alexander Nikitin de crime e de traição, uma vez que nós, que somos afectados, podemos tirar proveito dos resultados por ele conseguidos. Estes resultados constituem a base do Programa Europeu de Defesa do Mar de Barents e, por esse motivo, peço-lhe que analise um projecto de carta que lhe expõe os factos mais importantes, e que, de acordo com as decisões do Parlamento, torne clara esta posição na Rússia.
-
-Sim, Senhora Deputada Schroedter, analisarei de boa vontade os factos relativos a essa questão, logo que receba a sua carta.
-
-­ (NL) Senhora Presidente, em primeiro lugar, gostaria de a felicitar pelo facto de ter cumprido a sua palavra e de agora, neste primeiro período de sessões do novo ano, ter aumentado realmente muito o número de canais de televisão nos nossos gabinetes. Todavia, Senhora Presidente, não se fez aquilo que eu tinha pedido. É certo que há agora dois canais finlandeses e um português, mas continua a não haver um único canal holandês, como eu lhe tinha pedido, porque também os holandeses gostam de ver os noticiários, todos os meses, quando somos mandados para aqui, para este desterro. Queria, portanto, pedir­lhe, uma vez mais, que tome a seu cargo fazer com que também recebamos um canal holandês.
-
-Senhora Deputada Plooij-van Gorsel, posso dizer-lhe que essa questão se encontra inscrita na ordem de trabalhos da reunião dos Questores de quarta­feira. Será analisada, espero, num espírito construtivo.
-
-Senhora Presidente, poder­me­á dizer por que razão este Parlamento não respeita a legislação por si próprio aprovada em matéria de segurança e higiene? Por que razão não foi efectuado neste edifício onde nos encontramos qualquer ensaio sobre a qualidade do ar desde que fomos eleitos? Por que razão o nosso Comité da Segurança e Higiene não se reúne desde 1998? Porque não foi efectuado qualquer exercício de simulação de incêndio nos edifícios do Parlamento, quer em Bruxelas quer em Estrasburgo? Porque não se encontram afixadas instruções a seguir em caso de incêndio? Por que razão as escadas não foram melhoradas desde o meu acidente? Porque não são criadas zonas obrigatórias de não fumadores? Considero absolutamente vergonhoso o facto de não respeitarmos a legislação que nós próprios aprovámos.
-
-Senhora Deputada Lynne, tem toda a razão. Vou verificar se nada disso foi efectivamente feito. Submeterei também o problema ao Colégio dos Questores e estou certa de que os nossos Questores levarão a peito fazer com que respeitemos a regulamentação que, com efeito, aprovamos.
-
-­ (ES) Senhora Presidente, a senhora deputada Díez González e eu próprio tínhamos apresentado algumas perguntas a respeito de certas opiniões da senhora Vice-presidente, senhora Comissária de Palacio, que tinham sido reproduzidas num jornal espanhol. Os serviços competentes não as incluíram na ordem do dia, por considerarem que já lhes tinha sido dada resposta numa sessão anterior.
-Rogo-lhe que reconsidere esta decisão, porque as coisas não se passaram assim. As perguntas a que tinha sido dada resposta anteriormente referiam-se à intervenção da senhora Comissária de Palacio em determinado dossier e não a essas declarações aparecidas no jornal ABC, no dia 18 do passado mês de Novembro.
-
-Cara colega, vamos verificar tudo isso. Confesso que, para já, as coisas me parecem um pouco confusas. Assim, vamos rever essa questão muito seriamente, para que tudo fique em ordem.
-
-Senhora Presidente, gostaria de saber se esta semana o Parlamento terá oportunidade de manifestar a sua inequívoca posição de descontentamento face à decisão, hoje tomada, de não renovar o embargo de armas destinadas à Indonésia, tendo em atenção que a grande maioria da assembleia apoiou o referido embargo quando este foi decretado. Perante a situação que se vive naquela região, a decisão hoje tomada de não renovar o embargo de armas é extremamente perigosa. O Parlamento deveria, pois, enviar um sinal inequívoco do seu descontentamento face à suspensão do embargo, uma vez que é essa a posição da grande maioria da assembleia. A recusa por parte dos Estados­Membros da União Europeia de renovar o embargo de armas destinadas à Indonésia é uma atitude irresponsável. Como já aqui foi afirmado, a situação que ali se vive é extremamente volátil. Existe, aliás, o risco de poder haver um golpe militar no futuro. Não sabemos exactamente o que ali se está a passar. Como é possível a UE permitir que os fabricantes europeus de armamentos obtenham lucros à custa das vidas de seres humanos inocentes?
-
-Seja como for, essa questão não figura, para já, entre os pedidos de aplicação do processo de urgência para a próxima quinta-feira.
-
-Ordem dos trabalhos
-Segue-se na ordem do dia a fixação da ordem de trabalhos. Foi distribuída a versão final do projecto de ordem do dia do presente período de sessões, elaborada pela Conferência dos Presidentes, reunida na quinta-feira, 13 de Janeiro, nos termos do artigo 110º do Regimento. Relativamente a segunda e terça-feiras, não foram apresentados pedidos de modificação.
-Quarta-feira:
-O Grupo do Partido dos Socialistas Europeus pede a inclusão de uma declaração da Comissão sobre os seus objectivos estratégicos para os próximos cinco anos, bem com o sobre a reforma administrativa da Comissão.
-Gostaria que o senhor deputado Barón Crespo, autor do pedido, interviesse para o justificar, caso pretenda, evidentemente. Em seguida, faremos como é costume: ouviremos um orador a favor e um orador contra.
-
-­ (ES) Senhora Presidente, a apresentação do programa político da Comissão Prodi para toda a legislatura foi inicialmente uma proposta do Grupo do Partido dos Socialistas Europeus, que, em Setembro, conseguiu a unanimidade na Conferência dos Presidentes, bem como a aceitação explícita do Presidente da Comissão, Romano Prodi, que reiterou o seu compromisso no seu discurso de investidura.
-Este compromisso é importante na medida em que a Comissão é um organismo que, de acordo com os Tratados, detém o monopólio da iniciativa e que, portanto, determina fundamentalmente o que vai ser a actividade política e legislativa deste Parlamento nos próximos cinco anos. Recordo, além disso, Senhora Presidente, que, na anterior legislatura, este Parlamento deu, em duas ocasiões diferentes, o seu voto de confiança ao Presidente da Comissão, Romano Prodi, coisa que voltou a fazer em Julho, nesta legislatura. Mais tarde, já com a nova Comissão em funcionamento, voltou a dar um voto de confiança a toda a Comissão em Setembro. Já houve, portanto, tempo suficiente para a Comissão preparar o seu programa e para nós podermos tomar conhecimento dele e explaná­lo aos cidadãos. Neste sentido, recordo a resolução de 15 de Setembro, em que se recomendava a apresentação da proposta dentro do mais breve prazo possível.
-Os factos ocorridos na semana passada - que tiveram origem à margem da Conferência dos Presidentes, e que a utilizaram só para corroborar e ratificar decisões tomadas fora dela - criam um dilema: ou a Comissão não se encontra em condições de apresentar esse programa (e nesse caso conviria que o explicasse. Segundo as palavras da sua Presidente, porém, encontra­se em condições de o fazer e dado que a Comissão se encontra representada pela Vice­presidente, senhora Comissária de Palacio, creio que antes de se proceder à votação seria conveniente conhecer a situação da Comissão relativamente à sua disponibilidade para apresentar o programa, tal como tinha sido acordado), ou então o Parlamento não se encontra em condições de examinar este programa como, aparentemente, alguns pretendem. Em minha opinião, esta segunda hipótese significaria o abandono das nossas responsabilidades como Parlamento, além de introduzir uma tese original, um método desconhecido que consiste em dar a conhecer por escrito aos grupos políticos o discurso pragmático da Comissão com uma semana de antecedência - e não no dia anterior, como se tinha acordado -, tendo em conta o facto de o programa legislativo ir ser discutido em Fevereiro, de modo que poderíamos prescindir do debate, porque no dia seguinte a imprensa e a Internet já o teriam dado a conhecer a todos os cidadãos, não tendo já o Parlamento motivo para se ocupar do assunto.
-Como o meu grupo é de opinião que um Parlamento foi feito para escutar, para debater e para reflectir, pensamos não haver motivo algum que justifique este adiamento. Cremos, além disso, que sim, que a Comissão se encontra em condições de o fazer, que estamos perfeitamente a tempo de poder restabelecer o acordo original entre o Parlamento e a Comissão e de proceder responsavelmente perante as nossas concidadãs e os nossos concidadãos. Logo, a proposta do Grupo do Partido dos Socialistas Europeus que a senhora mencionou é que se mantenha a apresentação na quarta­feira do programa da legislatura da Comissão Prodi, incluindo neste programa também o projecto de reforma administrativa, porque, de outro modo, podemos vir a encontrar­nos numa situação paradoxal: com a desculpa de não existir texto, nega­se, por um lado, ao Presidente da Comissão o direito de fazer uso da palavra neste Parlamento, e, por outro lado, a possibilidade de realização de um debate sobre a reforma sem que este Parlamento conheça previamente os textos em que se baseia. Rogo­lhe, portanto, Senhora Presidente, que peça à Comissão que se manifeste agora e que depois se proceda à votação.
-(Aplausos da bancada do Grupo PSE)
-
-Senhora Presidente, caros colegas, estou realmente um pouco estupefacto em relação à atitude do colega Barón Crespo, que exige agora que este ponto da ordem do dia seja inscrito na ordem do dia de quarta-feira.
-Senhor Deputado Barón Crespo, o senhor não pôde comparecer na passada quinta-feira à Conferência dos Presidentes. Não o critico por isso; de vez em quando acontece enviarmos um representante. O colega Hänsch representou-o nessa ocasião. Realizámos um exaustivo debate na Conferência dos Presidentes. Apenas o seu grupo defendeu a posição que o senhor agora defende. Procedemos seguidamente à votação. Cada presidente tem tantos votos quantos os membros do seu grupo. Teve lugar uma votação em relação a este ponto. Se bem me recordo, a votação teve o seguinte resultado: 422 votos contra 180 e umas poucas abstenções. Ou seja, todos os grupos, com a excepção dos Não-inscritos - mas esses nem sequer constituem grupo - chegaram a consenso; apenas o seu grupo defendia que se procedesse do modo que aqui propôs. Todos os restantes discordavam. Foi essa a decisão.
-Agora gostaria de dizer algo a respeito da matéria de fundo desta questão. Confiamos na Comissão, em Romano Prodi e a esmagadora maioria do nosso grupo depositou, como todos sabemos, a sua confiança em Romano Prodi e na Comissão, na sequência de um difícil processo. No entanto, somos também da opinião de que deveria haver um debate sobre esta estratégia da Comissão que seguisse um procedimento ordenado, e não só com base numa declaração oral pronunciada aqui no Parlamento Europeu, mas também com base num documento que seja decidido na Comissão e que apresente uma descrição deste programa para um período de cinco anos. Esse documento não existe!
-
-A Comissão irá apresentar em Fevereiro o programa para o ano 2000. Nós demos o nosso acordo, se a Comissão não quiser ainda elaborar o Programa para 2000 em Janeiro, então que o faça em Fevereiro. Votámos a favor. Não pretendemos entrar em conflito com a Comissão só por entrar, mas somos da opinião de que, se for possível, a Comissão e o Parlamento devem seguir um mesmo caminho. Todavia, enquanto Parlamento, somos também o órgão controlador da Comissão e nem tudo o que provém da Comissão tem de coincidir com a nossa opinião.
-Gostaria que nos pudéssemos preparar seriamente nos diferentes grupos para um debate sobre o programa para os próximos cinco anos. Não é possível prepararmo-nos se ouvirmos aqui falar de uma declaração e não soubermos qual o conteúdo dessa mesma declaração. Por esse motivo, sugerimos - e a minha impressão é que a Comissão também está aberta a estas considerações - que se agende para Fevereiro o debate sobre o programa a longo prazo da Comissão até ao ano 2005. Espero que a Comissão chegue a acordo, até essa data, relativamente a um programa que nos venha a propor, e sugerimos que, também em Fevereiro, realizemos o debate sobre o programa legislativo da Comissão para o ano 2000. É, portanto, também um contexto objectivo sério que nos aconselha a realizar conjuntamente o debate sobre os dois programas. Por isso, o meu grupo rejeita decididamente a proposta do Grupo do Partido dos Socialistas Europeus!
-(Aplausos do Grupo PPE-DE)
-
-Senhora Presidente, quero deixar bem claro que, acima de tudo, a Comissão tem o máximo respeito pelas decisões deste Parlamento e, entre elas, a de estabelecer a sua ordem do dia. Respeitamos, portanto, o que este Parlamento possa decidir nesse sentido.
-Quero, porém, deixar igualmente bem claro que o Presidente da Comissão, Romano Prodi, se comprometeu com o Parlamento a acrescentar um novo debate, como recordou o senhor deputado Barón Crespo, ao debate anual sobre o programa legislativo da Comissão, sobre as grandes linhas de actuação para o próximo período de cinco anos, quer dizer, para esta legislatura.
-Quero dizer, Senhora Presidente, que, no acordo a que se chegou no mês de Setembro, este debate se distinguia daquilo que constitui a apresentação anual do programa legislativo da Comissão. Quero dizer também, Senhora Presidente, que, por parte da Comissão, estamos preparados e dispostos a realizar esse debate quando for conveniente, que estávamos preparados para o realizar esta semana, como se tinha acordado inicialmente, partindo da base de que o programa seria apresentado na véspera, num discurso aos grupos parlamentares.
-Quero, portanto, Senhora Presidente, reiterar que, pela nossa parte, já discutimos o programa de actuação para os próximos cinco anos e que estamos preparados para, quando o Parlamento decidir - esta mesma semana, se for essa a sua decisão - vir expor aqui o programa para os próximos cinco anos, e, no mês que vem, o programa para o ano 2000, que era o que estava absolutamente combinado.
-
-Proponho que votemos o pedido do Grupo do Partido dos Socialistas Europeus que visa voltar a inscrever a declaração da Comissão sobre os seus objectivos estratégicos.
-(O Parlamento rejeita o pedido) Presidente. Ainda no que respeita ao dia de quarta­feira, recebi uma outra proposta referente à pergunta oral relativa ao imposto sobre o capital. O Grupo do Partido Popular Europeu/Democratas Europeus pede que esse ponto seja retirado da ordem do dia.
-Algum colega pretende tomar a palavra em nome do grupo e justificar esse pedido?
-
-Senhora Presidente, estou a ouvir alguns risos da bancada do Grupo do Partido dos Socialistas Europeus, mas foi-me dito que também largos círculos do Grupo do Partido dos Socialistas Europeus teriam gostado de retirar este ponto da ordem do dia, visto que aquando da votação na Conferência dos Presidentes, o parecer do grupo de trabalho das colegas e dos colegas competentes do Grupo do Partido dos Socialistas Europeus não foi apresentado. Não sei se esta informação é correcta, mas nós, Grupo PPE­DE, ficaríamos, em todo o caso, gratos se este ponto fosse retirado, uma vez que o Parlamento já se debruçou sobre esta questão várias vezes. Existem também decisões contra um imposto deste tipo. Por esse motivo, o meu grupo vem requerer a supressão deste ponto da ordem do dia.
-
-Obrigada, Senhor Deputado Poettering.
-Dou a palavra ao senhor deputado Wurtz, que intervirá contra este pedido.
-
-Senhora Presidente, antes de mais, gostaria de realçar a ausência de lógica do senhor deputado Poettering. Há pouco, pregou um sermão ao Grupo do Partido dos Socialistas Europeus porque este volta atrás numa decisão tomada muito claramente na Conferência dos Presidentes. Agora, faz a mesma coisa. Nós discutimos, fomos unânimes - à excepção do Grupo do Partido Popular Europeu/Democratas Europeus e do Grupo do Partido Europeu dos Liberais, Democratas e Reformistas - e eu cheguei mesmo a observar, como se recordarão, caros confrades presidentes, que a questão não é a de saber se estamos a favor ou contra a taxa de Todin, mas sim a de saber se ousamos ouvir o que a Comissão e o Conselho pensam dela. Não é pedir muito. Assim, reitero a proposta de se manter essa pergunta oral à Comissão e ao Conselho, a fim de conhecermos, de uma vez por todas, a posição daquelas duas instâncias perante esta proposta, relativamente modesta, mas que emitiria um sinal importante dirigido à opinião pública, sobretudo depois da emoção criada em torno do fracasso da Conferência de Seattle.
-
-Coloco à votação o pedido do Grupo do Partido Popular Europeu/Democratas Europeus, que visa retirar da ordem do dia a pergunta oral relativa ao imposto sobre o capital.
-(O Parlamento rejeita o pedido, com 164 votos a favor, 166 votos contra e 7 abstenções)
-
-Senhora Presidente, gostaria de agradecer ao senhor deputado Poettering a publicidade que acaba de dar a este debate. Obrigado.
-
-­ (ES) Senhora Presidente, será que se contou o meu voto, que não pôde ser efectuado electronicamente, pelo facto de eu não ter o cartão? O meu voto era "a favor".
-
-Efectivamente, se juntarmos os dois colegas que se manifestaram, obteremos como resultado...
-
-­ (ES) Senhora Presidente, a Presidência anunciou o resultado da votação. Não há lugar para mudanças.
-
-Caros colegas, mais uma vez, temos todos de trazer o cartão à segunda-feira. Estamos perante um problema. Por conseguinte, tenho de tomar uma decisão.
-Também eu me esqueci do meu cartão, e teria votado contra. Assim, considero que a pergunta oral se mantém inscrita na ordem do dia
-É a última vezes que contaremos os cartões esquecidos. Que fique bem claro e que se informe toda a gente.
-(Aplausos)Sim, a pergunta oral mantém-se na ordem do dia, e sim, a presidente tem o direito de votar, como também tem o direito de se esquecer do cartão.
-Vamos prosseguir com as outras modificações da ordem de trabalhos.
-
-Senhora Presidente, na votação anterior - e aceitarei a sua decisão nesta matéria - sobre a questão dos objectivos estratégicos da Comissão, informei que gostaria de, em nome do Grupo ELDR, usar da palavra antes da votação. Tal não se verificou. Solicitar­lhe­ia, pois, que, antes de passarmos ao próximo ponto da ordem do dia, me fosse permitido fazer uma declaração de voto em nome do meu grupo. Trata­se de uma questão importante. Seria vantajoso para a reputação deste Parlamento declarar de que modo as pessoas interpretam o que acabamos de fazer à luz da sua própria análise política.
-
-Senhora Presidente, não pretendo relançar o debate, mas tinha também pedido a palavra para me pronunciar sobre o pedido do senhor deputado Barón Crespo. Também não me chamou. Lamento-o, mas já se procedeu à votação, a decisão foi tomada, portanto, esqueçamos o assunto.
-
-Peço muita desculpa, Senhor Deputado Hänsch e Senhor Deputado Cox, mas não vi que estavam a pedir a palavra. Dito isto, penso que as posições estão muito claras e que serão correctamente reproduzidas na acta. Quando amanhã aprovarmos a acta da sessão de hoje, os colegas que considerarem que as posições não foram suficientemente bem explicadas, podem pedir modificações. Penso que se trata de uma boa solução. Evidentemente que a acta da reunião de amanhã terá em conta todas as explicações suplementares. Creio ser uma solução melhor do que proceder agora a declarações de voto que nos levariam muito longe. Senhor Deputado Cox, Senhor Deputado Hänsch, estão de acordo?
-
-Senhora Presidente, se o resultado da votação reflectir correctamente o sentido de voto do meu grupo, não me posso opor ao mesmo, nem o farei. Se a sua decisão for no sentido de eu não poder fazer uma declaração de voto, terei de a aceitar, mas com reservas.
-
-Prestaremos portanto muita atenção à redacção da acta. Aliás, prestamos sempre. Se não reflectir bem as nossas posições, podemos sempre corrigi-la.
-(O Parlamento aprova a ordem de trabalhos assim modificada)
-
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/language/sv.test b/trunk/tika-core/src/test/resources/org/apache/tika/language/sv.test
deleted file mode 100644
index b43b5df..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/language/sv.test
+++ /dev/null
@@ -1,108 +0,0 @@
-Återupptagande av sessionen
-Jag förklarar Europaparlamentets session återupptagen efter avbrottet den 17 december. Jag vill på nytt önska er ett gott nytt år och jag hoppas att ni haft en trevlig semester.
-Som ni kunnat konstatera ägde "den stora år 2000-buggen" aldrig rum. Däremot har invånarna i ett antal av våra medlemsländer drabbats av naturkatastrofer som verkligen varit förskräckliga. Ni har begärt en debatt i ämnet under sammanträdesperiodens kommande dagar. Till dess vill jag att vi, som ett antal kolleger begärt, håller en tyst minut för offren för bl.a. stormarna i de länder i Europeiska unionen som drabbats. Jag ber er resa er för en tyst minut.
-(Parlamentet höll en tyst minut.)
-
-Fru talman! Det gäller en ordningsfråga. Ni känner till från media att det skett en rad bombexplosioner och mord i Sri Lanka. En av de personer som mycket nyligen mördades i Sri Lanka var Kumar Ponnambalam, som besökte Europaparlamentet för bara några månader sedan. Skulle det vara möjligt för er, fru talman, att skriva ett brev till den srilankesiska presidenten i vilket parlamentets beklagande uttrycks över hans och de övriga brutala dödsfallen i Sri Lanka och uppmanar henne att göra allt som står i hennes makt för att få en fredlig lösning på en mycket komplicerad situation?
-
-Ja, herr Evans, jag tror att ett initiativ i den riktning ni just föreslagit skulle vara mycket lämpligt. Om kammaren instämmer skall jag göra som herr Evans föreslagit.
-
-Fru talman! Det gäller en ordningsfråga. Jag skulle vilja ha råd från er vad gäller artikel 143 om avvisning av ett ärende som otillåtligt. Min fråga har att göra med något som kommer att behandlas på torsdag och som jag då kommer att ta upp igen.
-Cunhas betänkande om de fleråriga utvecklingsprogrammen behandlas i parlamentet på torsdag och det innehåller ett förslag i punkt 6 om att något slag av kvoteringspåföljder bör införas för länder som misslyckas med att uppfylla sina årliga mål rörande minskning av flottorna. I betänkandet står det att detta bör göras trots principen om relativ stabilitet. Jag anser att principen om relativ stabilitet är en grundläggande rättsprincip inom den gemensamma fiskeripolitiken, och ett förslag som skulle undergräva den måste betraktas som rättsligt otillåtligt. Jag vill veta om jag kan göra en sådan invändning mot ett betänkande, som alltså inte är ett lagförslag, och om det är något som jag har behörighet att göra på torsdag.
-
-Det är faktiskt just vid det tillfället som ni, om ni vill, kan ta upp denna fråga, dvs. på torsdag innan betänkandet läggs fram.
-
-Fru talman! Under årets första sammanträdesperiod för Europaparlamentet bestämde man dessvärre i Texas i USA att nästa torsdag avrätta en dödsdömd, en ung man på 34 år som vi kan kalla Hicks.
-På uppmaning av en fransk parlamentsledamot, Zimeray, har redan en framställning gjorts, undertecknad av många, bland annat jag själv, men jag uppmanar er, i enlighet med de riktlinjer som Europaparlamentet och hela den europeiska gemenskapen alltid har hållit fast vid, att med all den tyngd ni har i kraft av ert ämbete och den institution ni företräder, uppmana Texas guvernör, Bush, att uppskjuta verkställigheten och att benåda den dömde.
-Detta är helt i linje med de principer som vi alltid har hävdat.
-
-Tack, herr Segni, det skall jag gärna göra. Det ligger faktiskt helt i linje med de ståndpunkter vårt parlament alltid antagit.
-
-Fru talman! Jag vill fästa er uppmärksamhet vid ett fall som parlamentet vid upprepade tillfällen har befattat sig med. Det gäller fallet Alexander Nikitin. Alla gläder vi oss åt att domstolen har friat honom och tydligt visat att tillgängligheten till miljöinformation är en konstitutionell rättighet även i Ryssland. Nu är det emellertid så att han skall åtalas på nytt i och med att allmänne åklagaren överklagar. Vi är medvetna om, vilket vi också - inte minst under förra årets sista plenarsammanträde - har kunnat konstatera i en lång rad beslut, att detta inte enbart är ett juridiskt fall och att det är fel att beskylla Alexander Nikitin för kriminalitet och förräderi, eftersom vi som berörda parter drar nytta av de resultat han har kommit fram till. Resultaten utgör grunden för de europeiska programmen för skydd av Barents hav, och därför ber jag er granska ett utkast till ett brev som skildrar de viktigaste fakta samt att i enlighet med parlamentsbesluten visa Ryssland denna ståndpunkt klart och tydligt.
-
-Ja, fru Schroedter, jag skall mycket gärna granska fakta rörande denna fråga när jag fått ert brev.
-
-Fru talman! Först skulle jag vilja ge er en komplimang för det faktum att ni hållit ert ord och att det nu, under det nya årets första sammanträdesperiod, faktiskt har skett en kraftig utökning av antalet TV-kanaler på våra rum. Men, fru talman, det som jag bad om har inte inträffat. Det finns nu visserligen två finska kanaler och en portugisisk, men det finns fortfarande ingen nederländsk kanal. Jag bad er om en nederländsk kanal, eftersom nederländare också gärna vill ta del av nyheterna varje månad då vi blir förvisade till den här platsen. Jag skulle således på nytt vilja be er att ombesörja att vi också får en nederländsk kanal.
-
-Fru Plooij-van Gorsel! Jag kan tala om för er att frågan finns på föredragningslistan för kvestorernas möte på onsdag. Jag hoppas att den kommer att granskas i en positiv anda.
-
-Fru talman! Kan ni berätta för mig varför detta parlament inte följer den arbetsskyddslagstiftning det faktiskt antar? Varför har det inte genomförts något luftkvalitetstest i denna byggnad efter denna mandatperiods början? Varför har inte arbetsskyddskommittén haft några sammanträden sedan 1998? Varför har det inte skett några brandövningar i parlamentets byggnader i Bryssel eller Strasbourg? Varför finns det inga instruktioner om hur man skall bete sig om det börjar brinna? Varför har inte trapporna byggts om efter den olycka jag råkade ut för? Varför upprätthåller man inte bestämmelserna om rökfria områden? Jag tycker det är skrämmande att vi antar lagstiftning som vi inte själva följer.
-(Applåder)
-
-Fru Lynne! Ni har helt rätt och jag skall kontrollera om allt detta faktiskt inte har gjorts. Jag skall också överlämna problemet till kvestorerna och jag är övertygad om att de är måna om att se till att vi respekterar de regler som vi faktiskt röstat fram.
-
-Fru talman! Díez González och jag har ställt några frågor angående vissa av vice ordförande de Palacios åsikter som återgavs i en spansk dagstidning. De ansvariga har inte tagit med dessa frågor på föredragningslistan, eftersom man ansåg att dessa hade besvarats vid ett tidigare sammanträde.
-Jag ber att man omprövar det beslutet, eftersom så inte är fallet. De frågor som tidigare besvarats handlade om de Palacios inblandning i ett särskilt ärende, inte om de uttalanden som återgavs i dagstidningen ABC den 18 november i fjol.
-
-Kära kollega! Vi skall kontrollera allt detta. Jag erkänner att för närvarande förefaller saker och ting litet oklara. Vi skall alltså se över detta mycket noga så allt blir i sin ordning.
-
-Fru talman! Jag vill veta om det kommer att gå ut ett tydligt budskap från parlamentet under veckan om vårt missnöje rörande dagens beslut om att vägra en förnyelse av vapenembargot mot Indonesien, med hänsyn till att det stora flertalet i detta parlament har stött vapenembargot mot Indonesien? Dagens beslut att inte förnya embargot är oerhört farligt med hänsyn till situationen där. Parlamentet bör alltså sända ut ett budskap, eftersom detta är vad det stora flertalet vill. Det är oansvarigt av EU:s medlemsstater att vägra att förnya embargot. Som olika personer har sagt, är situationen där oerhört turbulent. Det finns faktiskt en risk för en framtida militärkupp. Vi vet inte vad som händer. Så varför skall vapentillverkarna i EU profitera på oskyldiga människors bekostnad?
-(Applåder)
-
-I vilket fall som helst är frågan för närvarande inte föremål för någon begäran om brådskande förfarande på torsdag.
-
-Arbetsplan
-Nästa punkt på föredragningslistan är fastställande av arbetsplanen. Det slutgiltiga förslaget till föredragningslista som utarbetats av talmanskonferensen vid sammanträdet den 13 januari i enlighet med artikel 110 i arbetsordningen har delats ut. För måndag och tisdag har inga ändringar föreslagits.
-Beträffande onsdag:
-Den socialistiska gruppen har begärt att ett uttalande från kommissionen om dess strategiska mål för de fem kommande åren samt om kommissionens administrativa reform skall tas upp.
-Jag skulle vilja att Barón Crespo, som lämnat begäran, uttalar sig för att motivera den, om han vill, naturligtvis. Sedan gör vi som vi brukar: vi lyssnar till en talare för och en talare emot.
-
-Fru talman! Framläggandet av kommission Prodis politiska program för hela mandatperioden bottnar i ett förslag från Europeiska socialdemokratiska partiets grupp som antogs med enhällighet på talmanskonferensen i september samt ett tydligt godkännande från ordförande Prodi som upprepade detta åtagande i sitt anförande i samband med tillträdandet av sitt ämbete.
-Detta åtagande är viktigt, med tanke på att kommissionen är det organ som enligt fördragen har ensam initiativrätt, och det utgör därför grunden till parlamentets politiska och lagstiftande verksamhet de kommande fem åren. Jag vill dessutom, fru talman, påminna om att parlamentet vid två tillfällen under föregående mandatperiod röstade om förtroendet för ordförande Prodi; man röstade på nytt om detta under denna mandatperiod i juli, och sedan, när den nya kommissionen hade påbörjat sitt arbete, gav man i september en förtroenderöst till hela kommissionen. Därför har det funnits tillräckligt mycket tid för kommissionen att förbereda sitt program och för att oss att ta del av detta och redogöra för detta inför medborgarna. Jag vill också påminna om resolutionen av den 15 september, där man rekommenderade att förslaget skulle läggas fram så snart som möjligt.
-Det som hände förra veckan - något som inleddes utanför talmanskonferensen, en konferens som endast utnyttjades för att bestyrka och bekräfta det beslut som fattats utanför ramarna för denna - utgör ett dilemma: antingen är det så att kommissionen inte är i stånd att presentera programmet (i sådant fall bör den klargöra detta. Enligt ordförandens uttalanden kan man presentera programmet. Med tanke på att kommissionen företräds av vice ordförande de Palacio, anser jag att vi innan omröstningen sker bör få veta huruvida kommissionen är beredd att lägga fram programmet, så som man kommit överens om); annars är parlamentet inte i stånd att granska programmet, så som vissa tycks anse. Enligt min uppfattning skulle den sistnämnda hypotesen innebära att vi försummade vårt ansvar som parlament, förutom att man då skulle införa en grundtes, en okänd metod som innebär att de politiska grupperna skriftligen får ta del av kommissionens tankar kring programmet en vecka i förväg i stället för en dag i förväg, som man kommit överens om. Då bör man tänka på att lagstiftningsprogrammet skall debatteras i februari, och därför skulle vi lika gärna kunna avstå från den debatten, för pressen och Internet skulle redan dagen därpå tillkännage programmet för alla medborgare, och det skulle inte längre finnas någon anledning för parlamentet att ägna sig åt frågan.
-Eftersom min grupp anser att parlamentet är till för att lyssna, för att debattera och för att reflektera, anser vi att det inte finns något som rättfärdigar en senareläggning av debatten, och om kommissionen är beredd till det, menar vi att det fortfarande är möjligt att återupprätta det ursprungliga avtalet mellan parlamentet och kommissionen och agera på ett ansvarsfullt sätt gentemot våra medborgare. Därför innebär förslaget från Europeiska socialdemokratiska partiets grupp, som fru talmannen nämnde, att kommission Prodis lagstiftningsprogram läggs fram på onsdag som planerat, och att man inbegriper förslaget om en administrativ reform, för i annat fall kan en paradoxal situation uppstå: å ena sidan vägras kommissionens ordförande, med ursäkten att det inte finns något dokument, rätten att tala i parlamentet, å andra sidan omöjliggörs en debatt om reformen, eftersom parlamentet inte tidigare har fått ta del av dokumenten i fråga. Därför ber jag, fru talman, att ni uppmanar kommissionen att uttala sig och att vi därefter går till omröstning.
-(Applåder från PSE)
-
-Fru talman, ärade kolleger! Jag måste säga att jag är något förvånad över kollegan Barón Crespos agerande när han nu kräver att denna punkt på föredragningslistan flyttas till onsdagen.
-Herr Barón Crespo! Ni kunde inte närvara vid talmanskonferensen förra torsdagen. Det tänker jag inte kritisera: det händer alltid att man har en ställföreträdare. Kollegan Hänsch var där och företrädde er. Vi förde en grundlig debatt på talmanskonferensen. Det var bara er egen grupp som förespråkade det ni nu talar om. Därefter röstade vi. Varje ordförande har ju lika många röster som hans eller hennes grupp har medlemmar. Det röstades på denna punkt. Omröstningen resulterade vad jag kan minnas i följande siffror: 422 röster mot 180, med några få nedlagda röster. Detta betyder att alla grupper, med undantag för de grupplösa - men de är ju heller ingen grupp - var överens, och endast er grupp ansåg att man borde förfara på det sätt som ni har föreslagit här. Alla andra var av en annan åsikt. Sådant blev beslutet.
-Nu vill jag själv säga något i ämnet. Vi hyser förtroende för kommissionen, för Romano Prodi, och en mycket stor majoritet av vår grupp uttalade sitt förtroende för Romano Prodi och kommissionen efter en, som alla vet, svår process. Men vi anser också att vi måste föra en debatt om kommissionens strategi under ordnade former, inte bara utifrån ett muntligt uttalande här i Europaparlamentet utan också från ett dokument som kommissionen har beslutat om och som beskriver programmet för fem år framöver. Något sådant dokument existerar inte!
-(Applåder)
-I februari skall kommissionen lägga fram programmet för år 2000. Vi har sagt att detta går för sig, om kommissionen inte vill göra klart program 2000 redan i januari, då gör vi det i februari. Det har vi sagt ja till. Vi vill ju för den delen inte gräla med kommissionen utan anser att kommission och parlament så långt det är möjligt skall gå samma väg. Men samtidigt är vi som parlament kontrollinstans gentemot kommissionen. Och allt som kommer från kommissionen behöver inte nödvändigtvis vara vår åsikt.
-Jag vill att vi inom grupperna skall kunna förbereda oss på ett klokt sätt inför en debatt om femårsprogrammet. Man kan inte förbereda sig genom att sitta här och lyssna på ett uttalande utan att alls veta vad som ligger bakom ett sådant uttalande. Därför rekommenderar vi - och jag har intrycket att kommissionen likaledes är öppen för den tanken - att debatten om kommissionens långsiktiga arbete fram till år 2000 förs nu i februari - jag hoppas också att kommissionen till dess har kommit överens om ett program att föreslå - och att vi samtidigt i februari kan debattera kommissionens lagstiftningsprogram för år 2000. Det är sålunda även av förnuftiga och sakliga skäl som vi bör debattera bägge programmen samtidigt. Därför tillbakavisar min grupp å det bestämdaste den socialistiska gruppens förslag!
-(Applåder från PPE-DE-gruppen)
-
-Fru talman! Jag vill i första hand klargöra att kommissionen hyser den största respekt för parlamentets beslut, och därmed även för beslutet om fastställandet av arbetsplanen. Vi respekterar således i det avseendet parlamentets beslut. Samtidigt vill jag klargöra att ordförande Prodi har lovat parlamentet ytterligare en debatt, precis som Barón påpekade, förutom den årliga debatten om kommissionens lagstiftningsprogram, en debatt om de viktigaste handlingslinjerna under den kommande femårsperioden, det vill säga under denna mandatperiod.
-Det jag vill säga, fru talman, är att man i den överenskommelse som uppnåddes i september, gjorde en åtskillnad mellan den debatten och framställandet av kommissionens årliga lagstiftningsprogram. Och jag vill också, fru talman, säga att vi från kommissionens sida är förberedda och färdiga för denna debatt när än det må vara, att vi är redo att hålla debatten denna vecka, så som man i princip avtalade, med tanke på att utkastet redan har presenterats i ett anförande inför de parlamentariska grupperna.
-Därför, fru talman, vill jag än en gång påpeka att vi för vår del har diskuterat igenom åtgärdsprogrammet för de kommande fem åren, och att vi är redo att, när som helst då parlamentet beslutar det, - den här veckan om man bestämmer sig för det - komma och presentera programmet för de kommande fem åren, och sedan nästa månad, programmet för år 2000, precis som avtalat.
-
-Jag föreslår att vi röstar om begäran från den socialistiska gruppen att på nytt föra upp kommissionens uttalande om dess strategiska mål på föredragningslistan.
-(Parlamentet avslog begäran.) Talmannen. Beträffande onsdagen har jag också mottagit ett annat förslag beträffande den muntliga frågan om kapitalskatt. PPE-DE-gruppen begär att denna punkt skall strykas från föredragningslistan.
-Vill någon kollega begära ordet för gruppens räkning och motivera denna begäran?
-
-Fru talman! Eftersom jag hör att det skrattas bland socialisterna: man har sagt mig att även vida kretsar inom den socialistiska gruppen gärna vill se den här punkten avförd från föredragningslistan, eftersom det vid omröstningen på talmanskonferensen saknades votum för berörda kolleger i den socialistiska arbetsgruppen. Jag vet inte huruvida denna information stämmer, men vi i PPE-DE-gruppen vore i alla fall tacksamma ifall punkten ströks, då ju parlamentet redan har befattat sig med frågan flera gånger. Det finns också beslut fattade mot en sådan skatt. Därför yrkar min grupp på att punkten avförs från föredragningslistan.
-
-Tack, herr Poettering.
-Vi skall nu lyssna till Wurtz som skall uttala sig emot denna begäran.
-
-Fru talman! Jag skulle till att börja med vilja understryka Poetterings bristande logik. Han har just läxat upp den socialistiska gruppen för att den ändrat sig när det gäller ett beslut som fattats med mycket liten marginal i talmanskonferensen. Men han gör samma sak själv. Vi diskuterade och var eniga, utom PPE-gruppen och den liberala gruppen, och jag noterade t.o.m., det minns ni säkert kära ordförandekolleger, att frågan inte handlar om huruvida ni är för eller emot Todinskatten, utan om ni vågar höra vad kommissionen och rådet tycker om den. Det är inte för mycket begärt. Jag upprepar därför förslaget att behålla denna muntliga fråga till kommissionen och rådet för att en gång för alla få veta vilken inställning dessa två instanser har till denna relativt blygsamma begäran, som ändå skulle utgöra en viktig signal till allmänheten, särskilt med tanke på den oro som uppstod efter den misslyckade konferensen i Seattle.
-
-Vi skall rösta om begäran från PPE-DE-gruppen som syftar till att stryka den muntliga frågan om kapitalskatt från föredragningslistan.
-(Parlamentet avslog begäran med 164 röster för, 166 emot. 7 ledamöter avstod från att rösta.)
-
-Fru talman! Jag skulle vilja tacka Poettering för att han just gjort reklam för denna debatt. Tack.
-
-Fru talman! Jag undrar om även min röst har räknats, trots att den inte kunde avges på elektronisk väg, eftersom jag inte har något kort? Jag röstade "för".
-
-Om man lägger till de två kolleger som yttrat sig blir resultatet...
-
-Fru talman! Ordförandeskapet har redan meddelat resultatet från omröstningen. Det finns inget utrymme för några ändringar.
-(Applåder)
-
-Kära kolleger! Ännu en gång vill jag påpeka att alla måste ha sitt kort på måndagen. Det är tydligt att vi har ett problem här. Jag måste därför fatta ett beslut.
-Jag har också glömt mitt kort och jag skulle ha röstat emot. Jag anser därför att den muntliga frågan kvarstår på föredragningslistan.
-(Applåder) Det är sista gången vi tar hänsyn till att ni glömt korten. Jag hoppas att alla har förstått och vi skall se till att alla får veta det.
-(Applåder)
-Ja, den munliga frågan kvarstår på föredragningslistan och, ja, talmannen har rätt att rösta, liksom hon har rätt att också glömma sitt kort.
-Vi fortsätter nu med övriga ändringar i föredragningslistan.
-
-Fru talman! Under den tidigare omröstningen - och jag kommer att följa ert utslag i denna fråga - rörande frågan om kommissionens strategiska plan, sade jag att jag ville uttala mig före omröstningen på min grupps vägnar. Så blev inte fallet. Jag skulle uppskatta om jag vid denna punkts avslutande kunde få avge en röstförklaring på min grupps vägnar. Detta är en viktig fråga. Det skulle vara användbart för kammarens räkning att upplysa om hur folk uppfattar vad vi just gjort mot bakgrund av deras egen politiska analys.
-
-Fru talman! Jag skall inte ta upp debatten på nytt, men även jag hade begärt ordet för att ta ställning till herr Barón Crespos begäran. Ni lät mig aldrig komma till tals. Det beklagar jag, men omröstningen har genomförts, beslutet har fattats, alltså får det vara.
-
-Jag är ledsen, herr Hänsch och herr Cox, jag såg inte att ni hade begärt ordet. Jag tror ändå att ståndpunkterna är tydliga och de kommer att bekräftas i protokollet. När vi i morgon justerar protokollet från dagens sammanträde kan de kolleger, som då anser att ståndpunkterna inte förklarats tillräckligt tydligt, begära ändringar. Jag tror att det är ett bra sätt. Naturligtvis kommer man i protokollet från morgondagens sammanträde att ta hänsyn till alla kompletterande förklaringar. Jag tror att det är bättre än att nu genomföra röstförklaringar som kommer att leda mycket långt. Vad säger ni om det, herr Cox och herr Hänsch?
-
-Fru talman! Om omröstningsregistreringen på ett korrekt sätt visar hur min grupp röstade, skall jag och kan jag inte protestera mot denna. Om ert utslag innebär att jag inte kan avge en röstförklaring, accepterar jag detta men med reservation.
-
-Vi skall alltså vara mycket noggranna vid upprättandet av protokollet. Det är vi för övrigt alltid. Om det inte återger ståndpunkterna tillfredsställande, kan vi eventuellt ändra i det.
-(Arbetsplanen fastställdes med dessa ändringar.)
-
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/metadata/test.txt b/trunk/tika-core/src/test/resources/org/apache/tika/metadata/test.txt
deleted file mode 100644
index b45ef6f..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/metadata/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-Hello, World!
\ No newline at end of file
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/mime/circles-with-prefix.svg b/trunk/tika-core/src/test/resources/org/apache/tika/mime/circles-with-prefix.svg
deleted file mode 100644
index d68ff55..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/mime/circles-with-prefix.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg:svg xmlns:svg="http://www.w3.org/2000/svg" width="12cm" height="12cm">
-  <svg:g style="fill-opacity:0.7; stroke:black; stroke-width:0.1cm;">
-    <svg:circle cx="6cm" cy="2cm" r="100" style="fill:red;" transform="translate(0,50)" />
-    <svg:circle cx="6cm" cy="2cm" r="100" style="fill:blue;" transform="translate(70,150)" />
-    <svg:circle cx="6cm" cy="2cm" r="100" style="fill:green;" transform="translate(-70,150)"/>
-  </svg:g>
-</svg:svg>
\ No newline at end of file
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/mime/circles.svg b/trunk/tika-core/src/test/resources/org/apache/tika/mime/circles.svg
deleted file mode 100644
index 8b71e82..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/mime/circles.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="12cm" height="12cm">
-  <g style="fill-opacity:0.7; stroke:black; stroke-width:0.1cm;">
-    <circle cx="6cm" cy="2cm" r="100" style="fill:red;" transform="translate(0,50)" />
-    <circle cx="6cm" cy="2cm" r="100" style="fill:blue;" transform="translate(70,150)" />
-    <circle cx="6cm" cy="2cm" r="100" style="fill:green;" transform="translate(-70,150)"/>
-  </g>
-</svg>
\ No newline at end of file
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/mime/datamatrix.png b/trunk/tika-core/src/test/resources/org/apache/tika/mime/datamatrix.png
deleted file mode 100644
index 4aa5003..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/mime/datamatrix.png
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/mime/evilhtml.html b/trunk/tika-core/src/test/resources/org/apache/tika/mime/evilhtml.html
deleted file mode 100644
index 58f1acc..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/mime/evilhtml.html
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/mime/stylesheet.xsl b/trunk/tika-core/src/test/resources/org/apache/tika/mime/stylesheet.xsl
deleted file mode 100644
index d704f07..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/mime/stylesheet.xsl
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-  <xsl:output method="xml" indent="yes"/>
-
-  <xsl:template match="/">
-    <test hello="world"/>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-difficult-rdf1.xml b/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-difficult-rdf1.xml
deleted file mode 100644
index dc88dcf..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-difficult-rdf1.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE uridef[
-  <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns">
-  <!ENTITY shadow-rdf "http://www.daml.org/services/owl-s/1.2/generic/ObjectList.owl">
-  <!ENTITY expr "http://www.daml.org/services/owl-s/1.2/generic/Expression.owl">
-  <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema">
-  <!ENTITY owl "http://www.w3.org/2002/07/owl">
-  <!ENTITY xsd "http://www.w3.org/2001/XMLSchema">
-  <!ENTITY time "http://www.isi.edu/~hobbs/damltime/time-entry.owl">
-  <!ENTITY swrl "http://www.w3.org/2003/11/swrl">
-  <!ENTITY service "http://www.daml.org/services/owl-s/1.2/Service.owl">
-  <!ENTITY grounding "http://www.daml.org/services/owl-s/1.2/Grounding.owl">
-  <!ENTITY process "http://www.daml.org/services/owl-s/1.2/Process.owl">
-  <!ENTITY DEFAULT "http://www.daml.org/services/owl-s/1.2/Process.owl">
-]>
-
-
-<rdf:RDF
-  xmlns:rdf=    "&rdf;#"
-  xmlns:shadow-rdf= "&shadow-rdf;#"
-  xmlns:expr= "&expr;#"
-  xmlns:rdfs=   "&rdfs;#"
-  xmlns:owl= "&owl;#"
-  xmlns:swrl= "&swrl;#"
-  xmlns:xsd= "&xsd;#"
-  xmlns:service= "&service;#"
-  xmlns:process= "&process;#"
-  xmlns:grounding= "&grounding;#"
-  xmlns=        "&DEFAULT;#"
-  xml:base="&process;">
-
-<!--
-  TIKA-309: Mime type application/rdf+xml not correctly detected
-  Simplified test case based on the OWL document at
-  http://www.ai.sri.com/daml/services/owl-s/1.2/Process.owl
--->
-
-</rdf:RDF>
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-difficult-rdf2.xml b/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-difficult-rdf2.xml
deleted file mode 100644
index 0f8fe28..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-difficult-rdf2.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<!-- This is the OWL 2 Namespace Document, sometimes
-     called the "owl.owl" file.
-
-     For some commentary about its creation, see
-     http://www.w3.org/2007/OWL/wiki/Owl2DotOwlDevel
-
-     This was created from the 16 Oct 2009 version of
-     that page, with the turtle-to-rdf/xml conversion
-     done by cwm, and the conversion to XML entity
-     references done by hand. The GRDDL triple and
-     namespace have also been added by hand
-
-     The real OWL 1 and OWL 2 namespace is:
-          http://www.w3.org/2002/07/owl#
-
--->
-<!DOCTYPE rdf:RDF [
-
-<!ENTITY location "http://www.w3.org/2002/07/owl" >
-<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
-<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
-<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
-<!ENTITY dc "http://purl.org/dc/elements/1.1/" >
-<!ENTITY grddl "http://www.w3.org/2003/g/data-view#" >
-<!ENTITY owl "&location;#" >
-
-]>
-<rdf:RDF
-    xml:base ="&location;"
-    xmlns:rdf ="&rdf;"
-    xmlns:rdfs="&rdfs;"
-    xmlns:xsd = "&xsd;"
-    xmlns:owl ="&owl;"
-    xmlns:dc = "&dc;"
-    xmlns:grddl = "&grddl;"
-    >
-
-<!--
-  TIKA-309: Mime type application/rdf+xml not correctly detected
-  Simplified test case based on the OWL 2 Namespace Document at
-  http://www.w3.org/2002/07/owl#
--->
-
-</rdf:RDF>
\ No newline at end of file
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-iso-8859-1.xml b/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-iso-8859-1.xml
deleted file mode 100644
index 7573369..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-iso-8859-1.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<test hello="world"/>
\ No newline at end of file
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-long-comment.xml b/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-long-comment.xml
deleted file mode 100644
index 84844ec..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-long-comment.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you 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.
--->
-<?somepi blahblah test="ignore-me.xml" ?>
-<test hello="world"/>
\ No newline at end of file
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-utf16be.xml b/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-utf16be.xml
deleted file mode 100644
index 6835338..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-utf16be.xml
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-utf16le.xml b/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-utf16le.xml
deleted file mode 100644
index 2a9124d..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-utf16le.xml
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-utf8.xml b/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-utf8.xml
deleted file mode 100644
index 1304d8b..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test-utf8.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<test hello="world"/>
\ No newline at end of file
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test.html b/trunk/tika-core/src/test/resources/org/apache/tika/mime/test.html
deleted file mode 100644
index 763e237..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Hello World</title>
-</head>
-<body>
-  <p>Hello World!<p/>
-</body>
-</html>
\ No newline at end of file
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test.xls b/trunk/tika-core/src/test/resources/org/apache/tika/mime/test.xls
deleted file mode 100644
index 347d8a6..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/mime/test.xls
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-core/src/test/resources/org/apache/tika/mime/testlargerbuffer.html b/trunk/tika-core/src/test/resources/org/apache/tika/mime/testlargerbuffer.html
deleted file mode 100644
index 545addd..0000000
--- a/trunk/tika-core/src/test/resources/org/apache/tika/mime/testlargerbuffer.html
+++ /dev/null
@@ -1,827 +0,0 @@
-<script language="javascript">
-
-function addToList(from,to)
-{
-    if(from.selectedIndex >= 0) {
-        isPresent = false;
-        var options=to.getElementsByTagName("option");
-
-        if(from.item(from.selectedIndex).value == "0") {
-            for(i=to.options.length-1; i>= 0; i--) {
-                to.removeChild(options[i]);
-            }
-        }
-        for (i=0; i< to.options.length; i++)
-        {
-            if(options[i].value == from.item(from.selectedIndex).value || options[i].value == "0")
-                isPresent = true;
-        }
-        if(!isPresent) {
-            var oOption = document.createElement("option");;
-            to.appendChild(oOption);
-            oOption.value = from.item(from.selectedIndex).value;
-            oOption.text  = from.item(from.selectedIndex).text;
-        }
-    }
-}
-
-function delFromList(to)
-{
-    if(to.selectedIndex >= 0) {
-      var options=to.getElementsByTagName("option");
-      to.removeChild(options[to.selectedIndex]);
-    }
-}
-
-function fillListToGet(form, to)
-{
-    var options=to.getElementsByTagName("option");
-    for (i=0; i< to.options.length; i++)
-    {
-        form.action += "&"+to.name+"="+options[i].value;
-    }
-}
-
-</script>
-<script language="javascript">
-
-function addToList(from,to)
-{
-    if(from.selectedIndex >= 0) {
-        isPresent = false;
-        var options=to.getElementsByTagName("option");
-
-        if(from.item(from.selectedIndex).value == "0") {
-            for(i=to.options.length-1; i>= 0; i--) {
-                to.removeChild(options[i]);
-            }
-        }
-        for (i=0; i< to.options.length; i++)
-        {
-            if(options[i].value == from.item(from.selectedIndex).value || options[i].value == "0")
-                isPresent = true;
-        }
-        if(!isPresent) {
-            var oOption = document.createElement("option");;
-            to.appendChild(oOption);
-            oOption.value = from.item(from.selectedIndex).value;
-            oOption.text  = from.item(from.selectedIndex).text;
-        }
-    }
-}
-
-function delFromList(to)
-{
-    if(to.selectedIndex >= 0) {
-      var options=to.getElementsByTagName("option");
-      to.removeChild(options[to.selectedIndex]);
-    }
-}
-
-function fillListToGet(form, to)
-{
-    var options=to.getElementsByTagName("option");
-    for (i=0; i< to.options.length; i++)
-    {
-        form.action += "&"+to.name+"="+options[i].value;
-    }
-}
-
-function fillOtherGet(form)
-{
-  if (document.all.price_from != "") {
-    form.action += "&price_from="+document.all.price_from.value;
-  }
-  if (document.all.price_to != "") {
-    form.action += "&price_to="+document.all.price_to.value;
-  }
-  if (document.all.square_from != "") {
-    form.action += "&square_from="+document.all.square_from.value;
-  }
-  if (document.all.square_to != "") {
-    form.action += "&square_to="+document.all.square_to.value;
-  }
-  if (document.all.MKAD != "") {
-    form.action += "&MKAD="+document.all.MKAD.value;
-  }
-}
-
-</script>
-<script language="javascript">
-
-function addToList(from,to)
-{
-    if(from.selectedIndex >= 0) {
-        isPresent = false;
-        var options=to.getElementsByTagName("option");
-
-        if(from.item(from.selectedIndex).value == "0") {
-            for(i=to.options.length-1; i>= 0; i--) {
-                to.removeChild(options[i]);
-            }
-        }
-        for (i=0; i< to.options.length; i++)
-        {
-            if(options[i].value == from.item(from.selectedIndex).value || options[i].value == "0")
-                isPresent = true;
-        }
-        if(!isPresent) {
-            var oOption = document.createElement("option");
-            to.appendChild(oOption);
-            oOption.value = from.item(from.selectedIndex).value;
-            oOption.text  = from.item(from.selectedIndex).text;
-        }
-    }
-}
-
-function delFromList(to)
-{
-    if(to.selectedIndex >= 0) {
-      var options=to.getElementsByTagName("option");
-      to.removeChild(options[to.selectedIndex]);
-    }
-}
-
-function fillListToGet(form, to)
-{
-    var options=to.getElementsByTagName("option");
-    for (i=0; i< to.options.length; i++)
-    {
-        form.action += "&"+to.name+"="+options[i].value;
-    }
-}
-
-function fillOtherGet(form)
-{
-  if (document.all.price_from != "") {
-    form.action += "&price_from="+document.all.price_from.value;
-  }
-  if (document.all.price_to != "") {
-    form.action += "&price_to="+document.all.price_to.value;
-  }
-  if (document.all.square_from != "") {
-    form.action += "&square_from="+document.all.square_from.value;
-  }
-  if (document.all.square_to != "") {
-    form.action += "&square_to="+document.all.square_to.value;
-  }
-  if (document.all.MKAD != "") {
-    form.action += "&MKAD="+document.all.MKAD.value;
-  }
-}
-
-</script>
-
-<html>
-<head>
-<title>Àðåíäà êâàðòèð, ñíÿòü êâàðòèðó,  àðåíäà îôèñîâ â Ìîñêâå. Êîììåð÷åñêàÿ íåäâèæèìîñòü. Ãðóïïà êîìïàíèé "Êîíòèíåíò-Íåäâèæèìîñòü"
-
-</title>
-<link rel="SHORTCUT ICON" href="/favicon.ico" />
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
-<meta http-equiv="Content-Language" content="ru">
-<meta name="Keywords" content="Àãåíòñòâî íåäâèæèìîñòè, àðåíäà, ñíÿòü, ñíÿòü, îôèñ, êâàðòèðà,  êîìíàòà,  ïîìåùåíèå, ñêëàä, ìàãàçèí, ïëîùàäü, êîòòåäæ, äîì, êóïèòü, ïðîäàòü, êîììåð÷åñêàÿ, çàãîðîäíàÿ, ýëèòíàÿ, íåäâèæèìîñòü, ìîñêâà, ìàêëåð, ñàéò">
-<meta name="Description" content="Àãåíòñòâà íåäâèæèìîñòè "ÊÎÍÒÈÍÅÍÒ Íåäâèæèìîñòü", "Õîðîøèå äîìà" Ìîñêâà. Àðåíäà è ïðîäàæà êîììåð÷åñêîé è æèëîé íåäâèæèìîñòè â Ìîñêâå è Ïîäìîñêîâüå: îôèñíûå, ñêëàäñêèå, ïðîèçâîäñòâåííûå, òîðãîâûå è äðóãèå íåæèëûå ïîìåùåíèÿ, êâàðòèðû, êîìíàòû, êîòòåäæè, äîìà, äà÷è. Àðåíäà êâàðòèð, îôèñîâ, ïîìåùåíèé. Ñíÿòü êâàðòèðó. Îôèñû Ìîñêâû. Ìàêëåð ñàéò.">
-<meta http-equiv="description" content="Àãåíòñòâà íåäâèæèìîñòè "ÊÎÍÒÈÍÅÍÒ Íåäâèæèìîñòü", "Õîðîøèå äîìà" Ìîñêâà. Àðåíäà è ïðîäàæà êîììåð÷åñêîé è æèëîé íåäâèæèìîñòè â Ìîñêâå è Ïîäìîñêîâüå: îôèñíûå, ñêëàäñêèå, ïðîèçâîäñòâåííûå, òîðãîâûå è äðóãèå íåæèëûå ïîìåùåíèÿ, êâàðòèðû, êîìíàòû, êîòòåäæè, äîìà, äà÷è. Àðåíäà êâàðòèð, îôèñîâ, ïîìåùåíèé. Ñíÿòü êâàðòèðó. Îôèñû Ìîñêâû. Ìàêëåð ñàéò.">
-<meta name="revisit" content="7 days">
-<meta name='yandex-verification' content='77a043af80883202' />
-
-<link rel="stylesheet" href="continent.css" type="text/css">
-</head>
-<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
-<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
-  <tr>
-    <td height="10"> 
-      <noindex><table width="100%" border="0" cellspacing="0" cellpadding="0">
-        <tr>
-          <td><a title="Àðåíäà ïðîäàæà êâàðòèð îôèñîâ" href="/default.asp"><img src="imgs/logo2.gif" Alt="Àðåíäà ïðîäàæà êâàðòèð, êîìíàò, îôèñîâ, ñêëàäîâ, ïîìåùåíèé" width="205" height="68" style="margin-top:13px; margin-bottom:3px; margin-left:13px;" border=0></a></td>
-          <td align=center valign=bottom>
-          
-            <a href='http://office.realty-guide.ru/rot/?key=289' target=_blank><img src='/imgs/banners/ban32.gif' border=0 width=500 height=75></a>
-          
-          </td>
-        </tr>
-      </table></noindex>
-    </td>
-  </tr>
-  <tr>
-    <td valign="top" height="100%"> 
-      <table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
-        <tr>
-          <td width="228" bgcolor="#546154" valign="top" align=center> 
-            <table width="100%" border="0" cellspacing="0" cellpadding="0" height=402>
-              <tr> 
-                <td height="147" background="imgs/hd_bg2.gif" valign="top"><img src="imgs/h_fl.jpg" width="202" height="136" style="margin-top: 10px; margin-left: 14px;" alt="Àðåíäà ïðîäàæà êâàðòèð, êîìíàò, îôèñîâ, ñêëàäîâ, ïîìåùåíèé"></td>
-              </tr>
-              <tr> 
-                <td height="255" valign="top">
-                  <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
- codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
- WIDTH="228" HEIGHT="250" id="menu10" ALIGN="">
- <PARAM NAME=movie VALUE="menu10.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#525E52> <EMBED src="menu10.swf" quality=high bgcolor=#525E52  WIDTH="228" HEIGHT="250" NAME="menu10" ALIGN=""
- TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
-</OBJECT>
-                </td>
-              </tr>
-            </table>
-<a href="/kommvip.asp"><img width=169 height=114 src="/imgs/vipbanner3.gif" border=0 alt=" äàííîì ðàçäåëå âû ìîæåòå îçíàêîìèòüñÿ ñî ïðåäëîæåíèÿìè ÁÅÇ ÊÎÌÈÑÑÈÈ ïî àðåíäå êîììåð÷åñêîé íåäâèæèìîñòè: àðåíäå îôèñîâ, ñêëàäîâ, ìàãàçèíîâ, êàôå, ðåñòîðàíîâ, ïîìåùåíèé ñâîáîäíîãî íàçíà÷åíèÿ è ò.ï., àðåíäîäàòåëè êîòîðûõ çàêëþ÷èëè ýêñêëþçèâíûé äîãîâîð ñ àãåíòñòâîì ÊÎÍÒÈÍÅÍÒ-ÍÅÄÂÈÆÈÌÎÑÒÜ"></a>
-<br>
-<br>
-<a href="/arendavip.asp"><img width=169 height=114 src="/imgs/vipbanner_arenda.jpg" border=0 alt=" äàííîì ðàçäåëå âû ìîæåòå îçíàêîìèòüñÿ ñî ñïåöèàëüíûìè ïðåäëîæåíèÿìè ïî àðåíäå æèëüÿ: àðåíäå êâàðòèð, àðåíäå êîòòåäæåé, àðåíäå äà÷, àðåíäå äîìîâ è ò.ï., àðåíäîäàòåëè êîòîðûõ çàêëþ÷èëè ýêñêëþçèâíûé äîãîâîð ñ àãåíòñòâîì ÊÎÍÒÈÍÅÍÒ-ÍÅÄÂÈÆÈÌÎÑÒÜ"></a>
-<br>
-<br>
-<noindex><a target=_blank title="Êîòòåäæíûé ïîñåëîê ËÀÃÓÍÀ" href="http://www.lagunadom.ru"><img width=169 height=114 src="/ban/ban_169_114.gif" border=0 alt="Êîòòåäæíûé ïîñåëîê ËÀÃÓÍÀ"></a></noindex>
-<br>
-<br>
-<br>
-<br>
-<noindex><!--a target=_blank title="Èñêóññòâåííûå åëêè, íîâîãîäíèå åëêè, åëêè, èñêóññòâåííûå åëè, íîâîãîäíèå åëè - ÈÍÒÅÐÍÅÒ-ÌÀÃÀÇÈÍ ÍÎÂÎÃÎÄÍÈÕ ÅËÎÊ" href="http://www.nyelki.ru"><img width=169 height=94 src="/imgs/banner.jpg" border=0 alt="Èñêóññòâåííûå åëêè, íîâîãîäíèå åëêè, åëêè, èñêóññòâåííûå åëè, íîâîãîäíèå åëè - ÈÍÒÅÐÍÅÒ-ÌÀÃÀÇÈÍ ÍÎÂÎÃÎÄÍÈÕ ÅËÎÊ"></a>
-<br>
-<br>
-<br>
-<br-->
-<!-- Yandex.Metrika -->
-<script src="//mc.yandex.ru/resource/watch.js" type="text/javascript"></script>
-<script type="text/javascript">
-try { var yaCounter177293 = new Ya.Metrika(177293); } catch(e){}
-</script>
-<noscript><div style="position: absolute;"><img src="//mc.yandex.ru/watch/177293" alt="" /></div></noscript>
-<!-- Yandex.Metrika -->
-<!--Rating@Mail.ru COUNTER--><script language="JavaScript" type="text/javascript"><!--
-d=document;var a='';a+=';r='+escape(d.referrer)
-js=10//--></script><script language="JavaScript1.1" type="text/javascript"><!--
-a+=';j='+navigator.javaEnabled()
-js=11//--></script><script language="JavaScript1.2" type="text/javascript"><!--
-s=screen;a+=';s='+s.width+'*'+s.height
-a+=';d='+(s.colorDepth?s.colorDepth:s.pixelDepth)
-js=12//--></script><script language="JavaScript1.3" type="text/javascript"><!--
-js=13//--></script><script language="JavaScript" type="text/javascript"><!--
-d.write('<a target=_blank href="http://top.mail.ru/jump?from=782596"'+
-' target=_top><img src="http://top.list.ru/counter'+
-'?id=782596;t=54;js='+js+a+';rand='+Math.random()+
-'" alt="Ðåéòèíã@Mail.ru"'+' border=0 height=31 width=88/><\/a>')
-if(11<js)d.write('<'+'!-- ')//--></script><noscript><a
-target=_blank href="http://top.mail.ru/jump?from=782596"><img
-src="http://top.list.ru/counter?js=na;id=782596;t=54"
-border=0 height=31 width=88
-alt="Ðåéòèíã@Mail.ru"/></a></noscript><script language="JavaScript" type="text/javascript"><!--
-if(11<js)d.write('--'+'>')//--></script><!--/COUNTER--></noindex>
-<br>
- <br><br>
-          </td>
-          <td valign="top" bgcolor="#546154" height="100%"> 
-            <table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
-              <tr>
-                <td height="4" background="imgs/hd_bg1.gif" align="right" valign="top" style="padding-right:13px; font-size:4px;">&nbsp;</td>
-              </tr>
-              <tr>
-                <td valign="top" style="padding-right:13px;" height="20" align=right background="imgs/hd_bg1n.gif">
-                  <table border=0 cellspacing=0 cellpadding=0 height=20>
-                  <tr>
-
-                    <td><img src="/imgs/tabl1_p.gif" height=20></td>
-                    <td valign=bottom background="/imgs/tabl2_p.gif"><div style="padding-bottom:2px;"><a style="color:#000000; text-decoration:none;" href="/basket.asp">Áëîêíîò</a></td>
-                    <td><img src="/imgs/tablr_pa.gif" height=20></td>
-                    <td valign=bottom background="/imgs/tabl2_a.gif"><div style="padding-bottom:2px; font-weight:bold; text-transform:uppercase;">Êîíòèíåíò-Íåäâèæèìîñòü</div></div></td>
-                    <td><img src="/imgs/tabl3_a.gif" height=20></td>
-
-                  </tr>
-                  </table>
-                </td>
-              </tr>
-              <tr>
-                <td valign="top" style="padding-bottom:13px;padding-right:13px;" height="100%">
-
-<style>
-a:link {  color: #000000; text-decoration: none;}
-a:visited {  color: #000000; text-decoration: none;}
-a:active {  color: #000000; text-decoration: none;}
-a:hover {  color: #1FB21F; text-decoration: underline;}
-h2 { margin:0px; padding:0px; font-weight: normal; font-size: 8pt; text-decoration:none;}
-</style>
-<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor=#FFFFFF>
-<tr>
-  <td valign=top align=left><img src="/imgs/fp2.gif" width=37 height=31></td>
-  <td valign=top align=right><img src="/imgs/fp1.gif" width=257 height=24></td>
-</tr>
-</table>
-<table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-<tr>
-  <td valign=top>
-    <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor=#FFFFFF>
-    <tr>
-      <td width=12 valign=top><img src="/imgs/fp_li2.gif" width=8 height=15></td>
-      <td>
-        <h1>ÊÎÍÒÈÍÅÍÒ-Íåäâèæèìîñòü:</h1>
-<p style="font-family:Times New Roman; font-size:14px; margin-top:10px; margin-bottom:0px;"><b>Àãåíòñòâî íåäâèæèìîñòè "Êîíòèíåíò-Íåäâèæèìîñòü"</b>, îñíîâàíî â 1999 ãîäó, ïðåäñòàâëÿåò ñîáîé êîìàíäó ïðîôåññèîíàëîâ íà ðûíêå íåäâèæèìîñòè ã. Ìîñêâû, êîòîðàÿ îáåñïå÷èâàåò êà÷åñòâåííîå îáñëóæèâàíèå è èíäèâèäóàëüíûé ïîäõîä ê êàæäîìó êëèåíòó.</p>
-<p style="font-family:Times New Roman; font-size:14px; margin-top:10px; margin-bottom:0px;">Êîìïàíèÿ "<b>Êîíòèíåíò-Íåäâèæèìîñòü</b>" íàãðàæäåíà Ðîññèéñêèì ôîíäîì çàùèòû ïðàâ ïîòðåáèòåëåé äèïëîìîì "Ëó÷øèå â Ìîñêâå è Ïîäìîñêîâüå" çà àêòèâíîå ó÷àñòèå â ôîðìèðîâàíèè öèâèëèçîâàííîãî ïîòðåáèòåëüñêîãî ðûíêà â Ðîññèè.</p>
-<p style="font-family:Times New Roman; font-size:14px; margin-top:10px; margin-bottom:0px;">Ìû ïðåäëàãàåì ñëåäóþùèå <b>ðèýëòîðñêèå óñëóãè</b>:</p>
-<ul style="font-family:Times New Roman; font-size:14px; margin-top:10px; margin-bottom:0px;">
-<li><b>Àðåíäà è ïðîäàæà êîììåð÷åñêîé íåäâèæèìîñòè â Ìîñêâå è Ïîäìîñêîâüå</b>: îôèñíûå, ñêëàäñêèå, ïðîèçâîäñòâåííûå, òîðãîâûå è äðóãèå íåæèëûå ïîìåùåíèÿ.
-<li><b>Ïðîäàæà, àðåíäà îôèñîâ â áèçíåñ-öåíòðàõ</b>, ïðÿìàÿ àðåíäà îôèñà, àðåíäà îôèñà áåç êîìèññèè.
-<li><b>Àðåíäà è ïðîäàæà æèëîé íåäâèæèìîñòè â Ìîñêâå</b>: êâàðòèðû, êîìíàòû.
-<li><b>Àðåíäà è ïðîäàæà çàãîðîäíîé íåäâèæèìîñòè â Ïîäìîñêîâüå</b>: êîòòåäæè, äîìà, äà÷è.
-<li><b>Þðèäè÷åñêîå ñîïðîâîæäåíèå ñäåëîê ïî àðåíäå è êóïëå-ïðîäàæå æèëûõ è íåæèëûõ ïîìåùåíèé</b>.
-<li><b>Îôîðìëåíèå è ðåãèñòðàöèÿ ïðàâîóñòàíàâëèâàþùèõ äîêóìåíòîâ</b>.
-<li><b>Äîâåðèòåëüíîå óïðàâëåíèå íåäâèæèìîñòüþ</b>.
-</ul>
-<br>&nbsp;
-      </td>
-    </tr>
-    </table>
-    <table width="100%" border="0" cellspacing="0"  style="padding-left:12px;" cellpadding="0" bgcolor=#FFFFFF>
-    <tr>
-      <td valign=top width=50%><h1 style="color:red">Àðåíäà æèëîé íåäâèæèìîñòè</h1></td>
-      <td valign=top width=50%><h1 style="color:red">Àðåíäà êîììåð÷åñêîé íåäâèæèìîñòè</h1></td>
-    </tr>
-    <tr>
-      <td valign=top><br><h1>Àðåíäà êâàðòèð â Ìîñêâå</h1></td>
-      <td valign=top><br><h1>Àðåíäà îôèñîâ è îñîáíÿêîâ</h1></td>
-    </tr>
-    <tr>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà êâàðòèð â Ìîñêâå" border=0 class=img1 src="/imgs/fp_i1.jpg"></td>
-          <td valign=top class=fp_small>Ñíÿòü êâàðòèðó â Ìîñêâå íàøå àãåíòñòâî íåäâèæèìîñòè ïîìîæåò áûñòðî è âûãîäíî. 150 ïðåäëîæåíèé ñäàòü êâàðòèðó åæåäíåâíî. Áàçà ïî àðåíäå êâàðòèð îáíîâëÿåòñÿ êàæäûé ÷àñ.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà êâàðòèð" href="arenda_all.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå êâàðòèð</h2></a></div>
-            <a title="êâàðòèðû â àðåíäó" href="arenda_dball.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê êâàðòèð â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà îôèñîâ è îñîáíÿêîâ" border=0 class=img1 src="/imgs/fp_i2.jpg"></td>
-          <td valign=top class=fp_small>Àðåíäà îôèñîâ. Ñíÿòü îôèñíîå ïîìåùåíèå â àðåíäó. Áîëåå 2000 âàðèàíòîâ îôèñîâ â Ìîñêâå. 100 íîâûõ ïðåäëîæåíèé ñäàòü îôèñ êàæäûé äåíü. Áàçà ïî àðåíäå îôèñîâ îáíîâëÿåòñÿ åæå÷àñíî. Ôîòî îôèñîâ.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà îôèñîâ" href="komm.asp?kommtype_id=1&kommtype_id=8"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå îôèñîâ</h2></a></div>
-            <a title="îôèñû â àðåíäó" href="komm_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê îôèñîâ â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-    </tr>
-    <tr>
-      <td valign=top><br><h1>Àðåíäà êîìíàò â Ìîñêâå</h1></td>
-      <td valign=top><br><h1>Àðåíäà ñêëàäîâ â Ìîñêâå</h1></td>
-    </tr>
-    <tr>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà êîìíàò â Ìîñêâå" border=0 class=img1 src="/imgs/fp_i3.jpg"></td>
-          <td valign=top class=fp_small>Àðåíäà êîìíàò â ëþáîì ðàéîíå Ìîñêâû çà 1 äåíü ñ âûåçäíûì àãåíòîì. Ó íàñ ìîæíî ñíÿòü íåäîðîãóþ è óþòíóþ êîìíàòó â êîììóíàëüíîé êâàðòèðå. Õîòèòå ñäàòü êîìíàòó? Ïðîñòî îñòàâüòå çàÿâêó!</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà êîìíàò" href="arenda_all.asp?roomamount=-1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå êîìíàò</h2></a></div>
-            <a title="êîìíàòû â àðåíäó" href="arenda_dball.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê êîìíàò â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà ñêëàäîâ â Ìîñêâå" border=0 class=img1 src="/imgs/fp_i4.jpg"></td>
-          <td valign=top class=fp_small>Ñíÿòü ñêëàä â Ìîñêâå èëè Ïîäìîñêîâüå. Íà íàøåì ñàéòå Âû ìîæåòå íàéòè ìíîæåñòâî ïðåäëîæåíèé ïî àðåíäå ñêëàäñêèõ ïîìåùåíèé è ïëîùàäåé. Ôîòî ñêëàäîâ.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà ñêëàäîâ" href="komm.asp?kommtype_id=2"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå ñêëàäîâ</h2></a></div>
-            <a title="ñêëàäû â àðåíäó" href="komm_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê ñêëàäîâ â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-    </tr>
-    <tr>
-      <td valign=top><br><h1>Àðåíäà ýëèòíûõ êâàðòèð. Ôîòî êâàðòèð.</h1></td>
-      <td valign=top><br><h1>Àðåíäà ïðîèçâîäñòâåííûõ ïîìåùåíèé</h1></td>
-    </tr>
-    <tr>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà ýëèòíûõ êâàðòèð" border=0 class=img1 src="/imgs/fp_i5.jpg"></td>
-          <td valign=top class=fp_small>Äëÿ òåõ, êòî õî÷åò ñíÿòü ýëèòíóþ êâàðòèðó èëè êâàðòèðó â öåíòðå. Ó íàñ íà ñàéòå áîëåå 1000 îáúåêòîâ ýëèòíîé íåäâèæèìîñòè â àðåíäó. Ôîòî êâàðòèð. Ñäàòü ýëèòíóþ êâàðòèðó? Îáðàùàéòåñü, ìû ïîìîæåì.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà êâàðòèð" href="arenda_all.asp?elit=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå ýëèòíûõ êâàðòèð</h2></a></div>
-            <a title="êâàðòèðû â àðåíäó" href="arenda_dball.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê ýëèòíûõ êâàðòèð â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà ïðîèçâîäñòâåííûõ ïîìåùåíèé" border=0 class=img1 src="/imgs/fp_i6.jpg"></td>
-          <td valign=top class=fp_small>Äëÿ òåõ, êòî õî÷åò ñäàòü èëè ñíÿòü ïðîèçâîäñòâî â Ìîñêâå èëè Ïîäìîñêîâüå. Ó íàñ íà ñàòå âû ìîæåòå íàéòè øèðîêèé âûáîð ïîìåùåíèé ïîä ïðîèçâîäñòâî . Ôîòî ïîìåùåíèé.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà ïðîèçâîäñòâ" href="komm.asp?kommtype_id=4"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå ïðîèçâîäñòâ</h2></a></div>
-            <a title="ïðîèçâîäñòâà â àðåíäó" href="komm_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê ïðîèçâîäñòâ â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-    </tr>
-    <tr>
-      <td valign=top><br><h1>Ïîñóòî÷íàÿ àðåíäà êâàðòèð</h1></td>
-      <td valign=top><br><h1>Àðåíäà ìàãàçèíîâ</h1></td>
-    </tr>
-    <tr>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Ïîñóòî÷íàÿ àðåíäà êâàðòèð" border=0 class=img1 src="/imgs/fp_i7.jpg"></td>
-          <td valign=top class=fp_small>Ãîñòÿì ñòîëèöû, êîìàíäèðîâàííûì è ïðîñòî æåëàþùèì îòäîõíóòü, àãåíòñòâî íåäâèæèìîñòè ïðåäëàãàåò ñíÿòü êâàðòèðó â àðåíäó ïîñóòî÷íî. Ôîòî êâàðòèð â ïîñóòî÷íóþ àðåíäó.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà êâàðòèð" href="arendaday_results.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïîñóòî÷íîé àðåíäû êâàðòèð</h2></a></div>
-            <a title="êâàðòèðû â àðåíäó" href="arendaday_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê êâàðòèð â ïîñóòî÷íóþ àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà ìàãàçèíîâ" border=0 class=img1 src="/imgs/fp_i8.jpg"></td>
-          <td valign=top class=fp_small>Äëÿ òåõ, êòî õî÷åò ñäàòü èëè ñíÿòü ìàãàçèí. Ìû ïðåäëàãàåì øèðîêèé âûáîð òîðãîâûõ ïîìåùåíèé è ïëîùàäåé â òîðãîâûõ öåíòðàõ Ìîñêâû. Ôîòî ïîìåùåíèé.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà ìàãàçèíîâ" href="komm.asp?kommtype_id=3"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå ìàãàçèíîâ</h2></a></div>
-            <a title="ìàãàçèíû â àðåíäó" href="komm_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê ìàãàçèíîâ â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-    </tr>
-    <tr>
-      <td valign=top><br><h1>Àðåíäà êîòòåäæåé è äà÷ â Ïîäìîñêîâüå</h1></td>
-      <td valign=top><br><h1>Àðåíäà ïîìåùåíèé ïîä ðåñòîðàíû è êàôå</h1></td>
-    </tr>
-    <tr>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà êîòòåäæåé è äà÷" border=0 class=img1 src="/imgs/fp_i9.jpg"></td>
-          <td valign=top class=fp_small>Òåì, êîãî èíòåðåñóåò àðåíäà êîòòåäæà èëè çàãîðîäíîãî äîìà â Ïîäìîñêîâüå, àãåíòñòâî íåäâèæèìîñòè ïðåäëàãàåò øèðîêèé âûáîð çàãîðîäíîé íåäâèæèìîñòè . Ñäàòü èëè ñíÿòü êîòòåäæ ñ íàìè ýòî ïðîñòî. Ôîòî.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà êîòòåäæåé äà÷" href="arenda_cottage.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ àðåíäû êîòòåäæåé, äà÷</h2></a></div>
-            <a title="êîòòåäæè äà÷è â àðåíäó" href="cottage_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê êîòòåäæåé, äà÷, äîìîâ â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà ðåñòîðàíîâ è êàôå" border=0 class=img1 src="/imgs/fp_i10.jpg"></td>
-          <td valign=top class=fp_small>Õîòèòå ñíÿòü ïîìåùåíèå ïîä ðåñòîðàí, áàð èëè êàôå. Íà ýòîì ñàéòå âû ìîæåòå íàéòè ïðåäëîæåíèÿ ïî àðåíäå êîììåð÷åñêîé íåäâèæèìîñòè äëÿ ðåñòîðàííîãî áèçíåñà ñ ÔÎÒÎ. Ñäàòü èëè ñíÿòü ðåñòîðàí, êàôå, áàð â Ìîñêâå.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà ðåñòîðàíîâ êàôå" href="komm.asp?kommtype_id=5&kommtype_id=6"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå ðåñòîðàíîâ, êàôå</h2></a></div>
-            <a title="ðåñòîðàíû è êàôå â àðåíäó" href="komm_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê ðåñòîðàíîâ è êàôå â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-    </tr>
-    <tr>
-      <td valign=top><br><h1>Ïîñóòî÷íàÿ àðåíäà êîòòåäæåé â Ïîäìîñêîâüå</h1></td>
-      <td valign=top><br><h1>Àðåíäà ïîìåùåíèé ñâîáîäíîãî íàçíà÷åíèÿ</h1></td>
-    </tr>
-    <tr>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Ïîñóòî÷íàÿ àðåíäà êîòòåäæåé" border=0 class=img1 src="/imgs/fp_i13.jpg"></td>
-          <td valign=top class=fp_small>Âû õîòèòå ïðîâåñòè âûõîäíûå èëè ïðàçäíèêè â çàãîðîäíîì äîìå? Íàøå àãåíòñòâî íåäâèæèìîñòè ïðåäëàãàåò ñíÿòü êîòòåäæ ïîñóòî÷íî. Ôîòî  êîòòåäæåé.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà êîòòåäæåé" href="arenda_cottageday.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïîñóòî÷íîé àðåíäû êîòòåäæåé</h2></a></div>
-            <a title="êîòòåäæè â àðåíäó" href="cottageday_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê êîòòåäæåé â ïîñóòî÷íóþ àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà ïîìåùåíèé ñâîáîäíîãî íàçíà÷åíèÿ" border=0 class=img1 src="/imgs/fp_i15.jpg"></td>
-          <td valign=top class=fp_small>Ñíÿòü ïîìåùåíèå ñâîáîäíîãî íàçíà÷åíèÿ. Äåñÿòêè ïðåäëîæåíèé ñäàòü ÏÑÍ â Ìîñêâå. Áàçà ïî êîììåð÷åñêîé íåäâèæèìîñòè îáíîâëÿåòñÿ åæåäíåâíî. ÔÎÒÎ.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà ïîìåùåíèé" href="komm.asp?kommtype_id=7"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå ïîìåùåíèé ñâîáîäíîãî íàçíà÷åíèÿ</h2></a></div>
-            <a title="ïîìåùåíèÿ â àðåíäó" href="komm_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê ïîìåùåíèé ñâîáîäíîãî íàçíà÷åíèÿ â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-    </tr>
-    <tr>
-      <td colspan=2 valign=top><br><h1 style="color:red">Ïðîäàæà êîììåð÷åñêîé íåäâèæèìîñòè</h1></td>
-    </tr>
-    <tr>
-      <td colspan=2 align=center valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Ïðîäàæà êîììåð÷åñêîé íåäâèæèìîñòè" border=0 class=img1 src="/imgs/fp_i14.jpg"></td>
-          <td valign=top class=fp_small>Åñëè âû õîòèòå êóïèòü ïîìåùåíèå äëÿ áèçíåñà: îôèñ, ìàãàçèí, ñêëàä, ïðîèçâîäñòâî, òî Âû ìîæåòå îçíàêîìèòüñÿ ñ ïðåäëîæåíèÿìè ïî ïðîäàæå êîììåð÷åñêîé íåäâèæèìîñòè èëè ïðîäàæå ïðàâ àðåíäû íà íåæèëûå ïîìåùåíèÿ â Ìîñêâå. ÔÎÒÎ-êàòàëîã íåäâèæèìîñòè íà ïðîäàæó.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="ïðîäàæà îôèñîâ" href="kommP.asp?kommtype_id=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî ïðîäàæå îôèñîâ</h2></a></div>
-            <a title="ïðîäàæà ñêëàäîâ" href="kommP.asp?kommtype_id=2"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî ïðîäàæå ñêëàäîâ</h2></a></div>
-            <a title="ïðîäàæà ìàãàçèíîâ" href="kommP.asp?kommtype_id=3"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî ïðîäàæå ìàãàçèíîâ</h2></a></div>
-            <a title="ïðîäàæà ðåñòîðàíîâ" href="kommP.asp?kommtype_id=5"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî ïðîäàæå ðåñòîðàíîâ</h2></a></div>
-            <a title="ïðîäàæà êàôå" href="kommP.asp?kommtype_id=6"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî ïðîäàæå êàôå</h2></a></div>
-            <a title="ïðîäàæà ïðîèçâîäñòâ" href="kommP.asp?kommtype_id=4"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî ïðîäàæå ïðîèçâîäñòâåííûõ ïîìåùåíèé</h2></a></div>
-            <a title="ïðîäàæà ïîìåùåíèé" href="kommP.asp?kommtype_id=7"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî ïðîäàæå ÏÑÍ</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-    </tr>
-    </table>
-    <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor=#FFFFFF>
-    <tr>
-      <td width=12 valign=top><img src="/imgs/fp_li2.gif" width=8 height=15></td>
-      <td>
-        <h1>Íîâîñòè íåäâèæèìîñòè. Ìîñêâà:</h1>
-        <br>
-
-    <li><a href="/news.asp?id=69&curr=1"><h2>Àðåíäàòîð íå ïëàòèò - ïîðÿäîê äåéñòâèé àðåíäîäàòåëÿ</h2></a>
-
-    <li><a href="/news.asp?id=68&curr=1"><h2>Àðåíäà äîðîæàåò!</h2></a>
-
-    <li><a href="/news.asp?id=67&curr=1"><h2>×òî äåëàòü àðåíäàòîðó, åñëè íîâûé ñîáñòâåííèê ïîâûøàåò àðåíäíóþ ïëàòó?</h2></a>
-
-    <li><a href="/news.asp?id=66&curr=1"><h2>5 ñïîñîáîâ ñíÿòü äåøåâóþ êâàðòèðó â Ìîñêâå</h2></a>
-
-    <li><a href="/news.asp?id=65&curr=1"><h2>Ñäà¸ì êîìíàòó â êîììóíàëêå: êîãî ïîñåëèòü è êàê?</h2></a>
-
-    <li><a title="íîâîñòè íåäâèæèìîñòè" href="news.asp"><h2><b>Äðóãèå íîâîñòè íåäâèæèìîñòè...</b></h2></a>
-    <br>
-      </td>
-    </tr>
-    </table>
-  </td>
-  <td width=5>&nbsp;</td>
-  <td valign=top width=300>
-    <h1><img src="/imgs/fp_li2.gif" width=8 height=15> Ïðåäëîæåíèÿ <font color=red>ÁÅÇ ÊÎÌÈÑÑÈÈ</font>:</h1>
-    <br>
-
-
-<table cellspacing=0 cellpadding=0 border=0 width=100%>
-<tr>
-  <td width=1 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td>
-  <td valign=top width=100%  bgcolor=white>
-    <table cellspacing=1 cellpadding=3 border=0 width=100% style='margin-top:5px;'>
-    <tr>
-      <td width=1 valign=middle><img src='imgs/knop1.gif'></td>
-      <td class=text bgcolor=white valign=middle>
-          <a href="/arendaview_komm.asp?anketa_id=148110" class=menubig><b>Àðåíäà ñêëàäà</b></a>
-      </td>
-    </tr>
-    </table>
-    <table width=100% cellspacing=0 cellpadding=3 border=0>
-    <tr>
-      <td width=128 valign=top align=right nowrap>
-        <a href="/arendaview_komm.asp?anketa_id=148110"><img style="margin-right:11px; margin-left:5px;" width=9 height=100 src="/imgs/bez.gif" border=0><img class=img1 width=100 height=100 src="/imgs/Photos5/s_k_67491.jpg" border=0 alt="Àðåíäà ñêëàäà"></a>
-      </td>
-      <td valign=top nowrap style='padding-left:6px;'>
-        <a href='/arendaview_komm.asp?anketa_id=148110' style="color:#000000; text-decoration:none; font-size:11px;"><p class='viprow0'><b>Âàðøàâñêîå ø.</b></p><p class='viprow'>7 êì îò ÌÊÀÄ</p><p class='viprow'>2100 - 2500 êâ.ì</b></p><p class='viprow'><b style='font-size:11px;'>130 $/êâ.ì./ãîä</b></p></a>
-      </td>
-    </tr>
-    </table>
-    &nbsp;
-  </td>
-</tr>
-<tr><td colspan=2 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td></tr>
-<tr><td colspan=2><img src='imgs/shadow1.gif'></td></tr>
-</table>
-    <br>
-
-
-<table cellspacing=0 cellpadding=0 border=0 width=300>
-<tr>
-  <td width=1 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td>
-  <td valign=top width=100%  bgcolor=white>
-    <table cellspacing=1 cellpadding=3 border=0 width=100% style='margin-top:5px;'>
-    <tr>
-      <td valign=top width=1 valign=middle><img src='imgs/knop1.gif'></td>
-      <td class=text bgcolor=white valign=middle>
-          <a href="/arendaview_kommp.asp?anketa_id=167792" class=menubig><b>Ïðîäàæà îôèñà</b></a>
-      </td>
-    </tr>
-    </table>
-    <table width=100% cellspacing=0 cellpadding=3 border=0>
-    <tr>
-      <td width=128 valign=top align=right nowrap>
-        <a href="/arendaview_kommp.asp?anketa_id=167792"><img style="margin-right:11px; margin-left:5px;" width=9 height=100 src="/imgs/bez.gif" border=0><img class=img1 width=100 height=100 src="/imgs/Photos5/s_kp_96026.jpg" border=0 alt="Ïðîäàæà îôèñà"></a>
-      </td>
-      <td valign=top nowrap style='padding-left:6px;'>
-        <a href='/arendaview_kommp.asp?anketa_id=167792' style="color:#000000; text-decoration:none; font-size:11px;"><p class='viprow0'><b>ì. Ñëàâÿíñêèé áóëüâàð</b></p><p class='viprow'>918 êâ.ì</b></p><p class='viprow'><b style='font-size:11px;'>7&nbsp;344&nbsp;000 $</b></p></a>
-      </td>
-    </tr>
-    </table>
-    &nbsp;
-  </td>
-</tr>
-<tr><td colspan=2 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td></tr>
-<tr><td colspan=2><img src='imgs/shadow1.gif'></td></tr>
-</table>
-    <br>
-
-<table cellspacing=0 cellpadding=0 border=0 width=100%>
-<tr>
-  <td width=1 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td>
-  <td valign=top width=100%  bgcolor=white>
-    <table cellspacing=1 cellpadding=3 border=0 width=100% style='margin-top:5px;'>
-    <tr>
-      <td valign=top width=1 valign=middle><img src='imgs/knop1.gif'></td>
-      <td class=text bgcolor=white valign=middle>
-          <a href="/arendaview_all.asp?anketa_id=160328" class=menubig><b>Àðåíäà 2-êîìí. êâàðòèðû</b></a>
-      </td>
-    </tr>
-    </table>
-    <table width=100% cellspacing=0 cellpadding=3 border=0>
-    <tr>
-      <td width=128 valign=top align=right nowrap>
-            <a href="/arendaview_all.asp?anketa_id=160328"><img style="margin-right:11px; margin-left:5px;" width=9 height=100 src="/imgs/bez.gif" border=0><img class=img1 width=100 height=100 src="/imgs/Photos1/s_ae_45253.jpg" border=0 alt="Àðåíäà 2-êîìí. êâàðòèðû"></a>
-      </td>
-      <td valign=top nowrap style='padding-left:6px;'>
-        <a href='/arendaview_all.asp?anketa_id=160328' style="color:#000000; text-decoration:none; font-size:11px;"><p class='viprow0'><b>ì. Òâåðñêàÿ</b></p><p class='viprow'>10 ìèíóò ïåøêîì îò ìåòðî</p><p class='viprow'>óë. Òâåðñêàÿ, äîì 25</p><p class='viprow'>îáùàÿ ïëîùàäü 60 êâ.ì</b></p><p class='viprow'><b style='font-size:11px;'>100 000 $/ìåñ</b></p></a>
-      </td>
-    </tr>
-    </table>
-    &nbsp;
-  </td>
-</tr>
-<tr><td colspan=2 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td></tr>
-<tr><td colspan=2><img src='imgs/shadow1.gif'></td></tr>
-</table>
-<br>
-
-
-<table cellspacing=0 cellpadding=0 border=0 width=100%>
-<tr>
-  <td width=1 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td>
-  <td valign=top width=100%  bgcolor=white>
-    <table cellspacing=1 cellpadding=3 border=0 width=100% style='margin-top:5px;'>
-    <tr>
-      <td valign=top width=1 valign=middle><img src='imgs/knop1.gif'></td>
-      <td class=text bgcolor=white valign=middle>
-          <a href="/arendaview_cottage.asp?anketa_id=1761" class=menubig><b>Àðåíäà ÊÎÒÒÅÄÆÀ</b></a>
-      </td>
-    </tr>
-    </table>
-    <table width=100% cellspacing=0 cellpadding=3 border=0>
-    <tr>
-      <td width=128 valign=top align=right nowrap>
-        <a href="/arendaview_cottage.asp?anketa_id=1761"><img style="margin-right:11px; margin-left:5px;" width=9 height=100 src="/imgs/bez.gif" border=0><img class=img1 width=100 height=100 src="/imgs/Photos61/vipcot1761.jpg" border=0 alt="Àðåíäà ÊÎÒÒÅÄÆÀ"></a>
-      </td>
-      <td valign=top nowrap style='padding-left:6px;'>
-        <a href='/arendaview_cottage.asp?anketa_id=1761' style="color:#000000; text-decoration:none; font-size:11px;"><p class='viprow0'><b>Îñòàøêîâñêîå ø.</b></p><p class='viprow'>15 êì îò ÌÊÀÄ</p><p class='viprow'>520 êâ.ì</b></p><p class='viprow'><b style='font-size:11px;'>465 000 $/ìåñ</b></p></a>
-      </td>
-    </tr>
-    </table>
-    &nbsp;
-  </td>
-</tr>
-<tr><td colspan=2 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td></tr>
-<tr><td colspan=2><img src='imgs/shadow1.gif'></td></tr>
-</table>
-<br>
-
-    <div class=ns><a title="àðåíäà íåäâèæèìîñòè" href="kommvip.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Âñå ïðåäëîæåíèÿ ïî àðåíäå êîììåð÷åñêîé íåäâèæèìîñòè áåç êîìèññèè</h2></a></div>
-    <div class=ns><a title="àðåíäà íåäâèæèìîñòè " href="kommvipp.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Âñå ïðåäëîæåíèÿ ïî ïðîäàæå êîììåð÷åñêîé íåäâèæèìîñòè áåç êîìèññèè</h2></a></div>
-    <div class=ns><a title="àðåíäà êâàðòèð" href="arendavip.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Âñå ïðåäëîæåíèÿ ïî àðåíäå êâàðòèð áåç êîìèññèè</h2></a></div>
-    <div class=ns><a title="àðåíäà êâàðòèð " href="arendacotvip.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Âñå ïðåäëîæåíèÿ ïî àðåíäå êîòòåäæåé, äà÷, äîìîâ áåç êîìèññèè</h2></a></div>
-    <br>
-    <h1><img src="/imgs/fp_li2.gif" width=8 height=15> Îñòàâèòü çàÿâêó:</h1>
-    <p style="font-family:Times New Roman; font-size:12px; margin-top:10px; margin-bottom:0px;">
-    <b>Âëàäåëüöàì</b> íåäâèæèìîñòè, æåëàþùèì ïðîäàòü èëè ñäàòü â àðåíäó, ìû ïîìîæåì áûñòðî ïðîäàòü èëè ñäàòü ïîìåùåíèå íà âûãîäíûõ óñëîâèÿõ. Âû ìîæåòå îñòàâèòü çàÿâêó èëè ñâÿçàòüñÿ ñ íàìè ïî òåëåôîíó.
-<br><i>Êîíñóòüòàöèè ïî âîïðîñàì àðåíäû è ïðîäàæè íåäâèæèìîñòè áåñïëàòíî</i>.
-</p>
-    <br>
-    <div class=ns><a target=_blank title="ñäàòü êâàðòèðû " href="form_1.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü êâàðòèðó</h2></a></div>
-    <div class=ns><a target=_blank title="ñäàòü êîìíàòû " href="form_1.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü êîìíàòó</h2></a></div>
-    <div class=ns><a target=_blank title="ñäàòü ýëèòíûå êâàðòèðû" href="form_1.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü ýëèòíóþ êâàðòèðó</h2></a></div>
-    <div class=ns><a target=_blank title="ñäàòü êâàðòèðû ïîñóòî÷íî" href="form_1day.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü êâàðòèðó ïîñóòî÷íî</h2></a></div>
-    <div class=ns><a target=_blank title="ñäàòü êîòòåäæè, äîìà, äà÷è" href="form_5s.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü êîòòåäæ, äîì, äà÷ó</h2></a></div>
-    <div class=ns><a target=_blank title="ñäàòü îôèñû" href="form_1off.asp?kommtypeid=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü îôèñ</h2></a></div>
-    <div class=ns><a target=_blank title="ñäàòü ñêëàäû è ïðîèçâîäñòâà" href="form_1off.asp?kommtypeid=2&kommtypeid=4"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü ñêëàä, ïðîèçâîäñòâî</h2></a></div>
-    <div class=ns nowrap><a target=_blank title="ñäàòü ìàãàçèíû" href="form_1off.asp?kommtypeid=3&kommtypeid=5&kommtypeid=6&kommtypeid=7"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü ìàãàçèí, ðåñòîðàí, êàôå</h2></a></div>
-    <div class=ns><a target=_blank title="ïðîäàòü äà÷ó" href="form_6s.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðîäàòü êîòòåäæ, äà÷ó, äîì</h2></a></div>
-    <div class=ns><a target=_blank title="ïðîäàòü îôèñû" href="form_1off.asp?kommtypeid=1&own_type=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðîäàòü îôèñ</h2></a></div>
-    <div class=ns><a target=_blank title="ïðîäàòü ñêëàäû" href="form_1off.asp?kommtypeid=2&kommtypeid=4&own_type=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðîäàòü ñêëàä, ïðîèçâîäñòâî</h2></a></div>
-    <div class=ns><a target=_blank title="ïðîäàòü ïîìåùåíèå" href="form_1off.asp?kommtypeid=1&kommtypeid=2&kommtypeid=3&kommtypeid=4&kommtypeid=5&kommtypeid=6&kommtypeid=7&own_type=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðîäàòü íåæèëîå ïîìåùåíèå</h2></a></div>
-    <br>
-    <p style="font-family:Times New Roman; font-size:12px; margin-top:10px; margin-bottom:0px;">
-    <b>Êëèåíòàì.</b> Åñëè Âû õîòèòå ñíÿòü â àðåíäó êâàðòèðó, êîòòåäæ, îôèñ, ñêëàä, ìàãàçèí... ëèáî åñëè Âàñ èíòåðåñóåò ïðîäàæà íåäâèæèìîñòè, îñòàâüòå çàÿâêó è ìû ïîìîæåì Âàì ñíÿòü èëè êóïèòü ïîìåùåíèå âûãîäíî, íàäåæíî è â ìèíèìàëüíûå ñðîêè. Âû ìîæåòå îçíàêîìèòüñÿ ñ ïðåäëîæåíèÿìè ïî àðåíäå è ïðîäåæå íåäâèæèìîñòè íà íàøåì ñàéòå. Áàçà îáíîâëÿåòñÿ åæåäíåâíî. Âñÿ ïðåäëàãàåìàÿ íåäâèæèìîñòü ïðåäâàðèòåëüíî ïðîâåðåíà íàøèìè ñïåöèàëèñòàìè.
-<br><i>Âíèìàíèå! Ìû íå áåðåì ïðåäîïëàòû, íå îêàçûâàåì èíôîðìàöèîííûõ óñëóã, ïðîñìîòð ïîìåùåíèé ñ àãåíòîì áåñïëàòíî, îïëàòà êîìèññèîííûõ ïî ôàêòó ñäåëêè.</i>
-    </p>
-    <br>
-    <div class=ns><a target=_blank title="ñíÿòü êâàðòèðó " href="form_3.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü êâàðòèðó</h2></a></div>
-    <div class=ns><a target=_blank title="ñíÿòü êîìíàòó " href="form_3.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü êîìíàòó</h2></a></div>
-    <div class=ns><a target=_blank title="ñíÿòü ýëèòíóþ êâàðòèðó " href="form_3.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü ýëèòíóþ êâàðòèðó</h2></a></div>
-    <div class=ns><a target=_blank title="ñíÿòü êâàðòèðû ïîñóòî÷íî" href="form_3day.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü êâàðòèðó ïîñóòî÷íî</h2></a></div>
-    <div class=ns><a target=_blank title="ñíÿòü äà÷ó" href="form_5.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü êîòòåäæ, äîì, äà÷ó</h2></a></div>
-    <div class=ns><a target=_blank title="ñíÿòü îôèñ " href="form_3off.asp?kommtypeid=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü îôèñ</h2></a></div>
-    <div class=ns><a target=_blank title="ñíÿòü ñêëàä " href="form_3off.asp?kommtypeid=2&kommtypeid=4"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü ñêëàä, ïðîèçâîäñòâî</h2></a></div>
-    <div class=ns><a target=_blank title="ñíÿòü ìàãàçèí " href="form_3off.asp?kommtypeid=3&kommtypeid=5&kommtypeid=6&kommtypeid=7"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü ìàãàçèí, ðåñòîðàí, êàôå</h2></a></div>
-    <div class=ns><a target=_blank title="êóïèòü êîòòåäæ, äà÷ó " href="form_6.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Êóïèòü êîòòåäæ, äà÷ó, äîì</h2></a></div>
-    <div class=ns><a target=_blank title="êóïèòü îôèñ " href="form_3off.asp?kommtypeid=1&own_type=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Êóïèòü îôèñ</h2></a></div>
-    <div class=ns><a target=_blank title="êóïèòü ñêëàä " href="form_3off.asp?kommtypeid=2&kommtypeid=4&own_type=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Êóïèòü ñêëàä, ïðîèçâîäñòâî</h2></a></div>
-    <div class=ns><a target=_blank title="êóïèòü ïîìåùåíèå " href="form_3off.asp?kommtypeid=1&kommtypeid=2&kommtypeid=3&kommtypeid=4&kommtypeid=5&kommtypeid=6&kommtypeid=7&own_type=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Êóïèòü íåæèëîå ïîìåùåíèå</h2></a></div>
-    <br>
-    <h1><img src="/imgs/fp_li2.gif" width=8 height=15> Áåñïëàòíûå äîñêè îáúÿâëåíèé ïî àðåíäå íåäâèæèìîñòè:</h1>
-    <br>
-    <div class=ns><a title="àðåíäà êâàðòèð" href="freetables.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Àðåíäà êâàðòèð è êîìíàò</h2></a></div>
-    <div class=ns><a title="àðåíäà ïîìåùåíèé" href="freetables_komm.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Àðåíäà íåæèëûõ ïîìåùåíèé</h2></a></div>
-    <div class=ns><a title="àðåíäà êîòòåäæåé äà÷" href="freetables_cott.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Àðåíäà êîòòåäæåé, äà÷, äîìîâ</h2></a></div>
-    <br>
-    <h1><img src="/imgs/fp_li2.gif" width=8 height=15> Âàêàíñèè:</h1>
-    <br>
-    <div class=ns><a href="vakansii.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Àãåíò ïî àðåíäå êîììåð÷åñêîé íåäâèæèìîñòè</h2></a></div>
-    <div class=ns><a href="vakansii.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Àãåíò ïî àðåíäå êâàðòèð è êîìíàò</h2></a></div>
-    <br>
-  </td>
-</tr>
-</table>
-<table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-<tr>
-  <td bgcolor="#FFFFFF" colspan=2 valign="top" style="padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 7px">
-    <br>
-<div align=center>
-<a style="font-size:10px;" href="/default.asp">Ãëàâíàÿ</a> ::
-<a style="font-size:10px;" href="/arenda_results.asp">Àðåíäà æèëüÿ</a> ::  
-<a style="font-size:10px;" href="/prodaga.asp">Ïðîäàæà/ïîêóïêà æèëüÿ</a> ::  
-<a style="font-size:10px;" href="/komm.asp">Êîììåð÷åñêàÿ íåäâèæèìîñòü</a> ::  
-<a style="font-size:10px;" href="/nedvvrossii.asp">Íåäâèæèìîñòü â Ðîññèè</a> ::  
-<a style="font-size:10px;" href="/docs.asp">Îôîðìëåíèå äîêóìåíòîâ</a> ::  
-<a style="font-size:10px;" href="/zemuchastki.asp">Çåìåëüíûå ó÷àñòêè</a> ::  
-<a style="font-size:10px;" href="/vakansii.asp">Âàêàíñèè</a> ::  
-<a style="font-size:10px;" href="/questions.asp">Âîïðîñû ýêñïåðòó</a> ::
-<a style="font-size:10px;" href="/info.asp">Ñïðàâî÷íàÿ èíôîðìàöèÿ</a> ::  
-<a style="font-size:10px;" href="/freetables.asp">Äîñêè îáúÿâëåíèé ïî íåäâèæèìîñòè</a> ::  
-<a style="font-size:10px;" href="/links.asp">Êàòàëîã ññûëîê</a> ::  
-<a style="font-size:10px;" href="/kontakty.asp">Êîíòàêòû</a>
-</div> 
-
-  </td>
-</tr>
-</table>
-</td>
-              </tr>
-            </table>
-          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-    <tr>
-    <td height="20" style="padding-left:13px; padding-right:13px;">
-<table width="100%" border="0" cellspacing="0" cellpadding="0">
-  <tr>
-    <td class=copy>
-    &copy; 2001 — 2009 <a title="Àãåíñòâî íåäâèæèìîñòè" href="/">Àãåíòñòâà íåäâèæèìîñòè</a> "Êîíòèíåíò-Íåäâèæèìîñòü", "Õîðîøèå äîìà" -  Àðåíäà êâàðòèð, àðåíäà îôèñîâ, àðåíäà ïîìåùåíèé.<br>
-    Òåë.: +7 495 737-7019&nbsp;&nbsp;&nbsp;Ôàêñ: +7 495 231-7755&nbsp;&nbsp;&nbsp;E-mail: <a href="mailto:info1@makler.su" style="color:black">info1@makler.su</a><br>
-</td>
-  </tr>
-</table>
-    </td>
-  </tr>
-</table><script type="text/javascript">
-var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-</script>
-<script type="text/javascript">
-try {
-var pageTracker = _gat._getTracker("UA-8971199-1");
-pageTracker._trackPageview();
-} catch(err) {}</script></body>
-</html>
-
-
diff --git a/trunk/tika-parent/pom.xml b/trunk/tika-parent/pom.xml
deleted file mode 100644
index c1689af..0000000
--- a/trunk/tika-parent/pom.xml
+++ /dev/null
@@ -1,290 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you 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.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache</groupId>
-    <artifactId>apache</artifactId>
-    <version>6</version>
-    <relativePath />
-  </parent>
-
-  <groupId>org.apache.tika</groupId>
-  <artifactId>tika-parent</artifactId>
-  <version>0.9</version>
-  <packaging>pom</packaging>
-
-  <name>Apache Tika parent</name>
-  <description>
-    Apache Tika is a toolkit for detecting and extracting metadata and
-    structured text content from various documents using existing parser
-    libraries.
-  </description>
-  <inceptionYear>2007</inceptionYear>
-
-  <url>http://tika.apache.org/</url>
-
-  <issueManagement>
-    <system>JIRA</system>
-    <url>https://issues.apache.org/jira/browse/TIKA</url>
-  </issueManagement>
-
-  <mailingLists>
-    <mailingList>
-      <name>Development mailing list</name>
-      <subscribe>dev-subscribe@tika.apache.org</subscribe>
-      <unsubscribe>dev-unsubscribe@tika.apache.org</unsubscribe>
-      <post>dev@tika.apache.org</post>
-      <archive>http://mail-archives.apache.org/mod_mbox/tika-dev/</archive>
-      <otherArchives>
-        <otherArchive>http://mail-archives.apache.org/mod_mbox/lucene-tika-dev</otherArchive>
-        <otherArchive>http://www.mail-archive.com/dev@tika.apache.org</otherArchive>
-        <otherArchive>http://www.mail-archive.com/tika-dev@lucene.apache.org/</otherArchive>
-        <otherArchive>http://www.mail-archive.com/tika-dev@incubator.apache.org/</otherArchive>
-        <otherArchive>http://www.nabble.com/Apache-Tika---Development-f20913.html</otherArchive>
-        <otherArchive>http://news.gmane.org/gmane.comp.apache.tika.devel</otherArchive>
-        <otherArchive>http://tika.markmail.org/</otherArchive>
-      </otherArchives>
-    </mailingList>
-    <mailingList>
-      <name>Commit mailing list</name>
-      <subscribe>commits-subscribe@tika.apache.org</subscribe>
-      <unsubscribe>commits-unsubscribe@tika.apache.org</unsubscribe>
-      <post>commits@tika.apache.org</post>
-      <archive>http://mail-archives.apache.org/mod_mbox/tika-commits/</archive>
-      <otherArchives>
-        <otherArchive>http://mail-archives.apache.org/mod_mbox/lucene-tika-commits/</otherArchive>
-        <otherArchive>http://www.mail-archive.com/tika-commits@lucene.apache.org/</otherArchive>
-        <otherArchive>http://www.mail-archive.com/tika-commits@incubator.apache.org/</otherArchive>
-      </otherArchives>
-    </mailingList>
-    <mailingList>
-      <name>User mailing list</name>
-      <subscribe>user-subscribe@tika.apache.org</subscribe>
-      <unsubscribe>user-unsubscribe@tika.apache.org</unsubscribe>
-      <post>user@tika.apache.org</post>
-      <archive>http://mail-archives.apache.org/mod_mbox/tika-user/</archive>
-      <otherArchives>
-        <otherArchive>http://mail-archives.apache.org/mod_mbox/lucene-tika-user/</otherArchive>
-        <otherArchive>http://www.mail-archive.com/tika-user@lucene.apache.org/</otherArchive>
-      </otherArchives>
-    </mailingList>
-  </mailingLists>
-
-  <developers>
-    <developer>
-      <name>Rida Benjelloun</name>
-      <id>ridabenjelloun</id>
-      <email>ridabenjelloun@apache.org</email>
-      <roles>
-        <role>committer</role>
-      </roles>
-    </developer>
-    <developer>
-      <name>Keith Bennett</name>
-      <id>kbennett</id>
-      <roles>
-        <role>committer</role>
-      </roles>
-    </developer>
-    <developer>
-      <name>Mark Harwood</name>
-      <id>mharwood</id>
-      <roles>
-        <role>committer</role>
-      </roles>
-    </developer>
-    <developer>
-      <name>Ken Krugler</name>
-      <id>kkrugler</id>
-      <email>kkrugler@apache.org</email>
-      <url>http://ken-blog.krugler.org</url>
-      <organization>Bixo Labs</organization>
-      <organizationUrl>http://bixolabs.com</organizationUrl>
-      <roles>
-        <role>committer</role>
-      </roles>
-    </developer>
-    <developer>
-      <name>Chris A. Mattmann</name>
-      <id>mattmann</id>
-      <email>mattmann@apache.org</email>
-      <url>http://people.apache.org/~mattmann/</url>
-      <organization>NASA Jet Propulsion Laboratory</organization>
-      <organizationUrl>http://www.jpl.nasa.gov</organizationUrl>
-      <timezone>-8</timezone>
-      <properties />
-      <roles>
-        <role>committer</role>
-      </roles>
-    </developer>
-    <developer>
-      <name>Dave Meikle</name>
-      <id>dmeikle</id>
-      <roles>
-        <role>committer</role>
-      </roles>
-    </developer>
-    <developer>
-      <name>Sami Siren</name>
-      <id>siren</id>
-      <roles>
-        <role>committer</role>
-      </roles>
-    </developer>
-    <developer>
-      <name>Jukka Zitting</name>
-      <id>jukka</id>
-      <roles>
-        <role>committer</role>
-      </roles>
-    </developer>
-    <developer>
-      <name>Nick Burch</name>
-      <id>nick</id>
-      <organization>Alfresco</organization>
-      <organizationUrl>http://alfresco.com</organizationUrl>
-      <roles>
-        <role>committer</role>
-      </roles>
-    </developer>
-    <developer>
-      <name>Maxim Valyanskiy</name>
-      <id>maxcom</id>
-      <organization>Jet Infosystems</organization>
-      <roles>
-        <role>committer</role>
-      </roles>
-      <timezone>+3</timezone>
-    </developer>
-  </developers>
-  <contributors>
-    <contributor>
-      <name>Doug Cutting</name>
-      <roles>
-        <role>mentor</role>
-      </roles>
-    </contributor>
-    <contributor>
-      <name>Bertrand Delacretaz</name>
-      <roles>
-        <role>mentor</role>
-      </roles>
-    </contributor>
-    <contributor>
-      <name>Niall Pemberton</name>
-      <roles>
-        <role>emeritus</role>
-      </roles>
-    </contributor>
-  </contributors>
-
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>junit</groupId>
-        <artifactId>junit</artifactId>
-        <version>3.8.1</version>
-        <scope>test</scope>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-
-  <properties>
-    <maven.compile.source>1.5</maven.compile.source>
-    <maven.compile.target>1.5</maven.compile.target>
-  </properties>
-
-  <build>
-    <plugins>
-      <plugin>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <source>${maven.compile.source}</source>
-          <target>${maven.compile.target}</target>
-        </configuration>
-      </plugin>
-    </plugins>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.rat</groupId>
-          <artifactId>apache-rat-plugin</artifactId>
-          <version>0.7</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.felix</groupId>
-          <artifactId>maven-bundle-plugin</artifactId>
-          <version>2.1.0</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-
-  <profiles>
-    <profile>
-      <id>apache-release</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>retrotranslator-maven-plugin</artifactId>
-            <version>1.0-alpha-4</version>
-            <executions>
-              <execution>
-                <goals>
-                  <goal>translate-project</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <profile>
-      <id>pedantic</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.rat</groupId>
-            <artifactId>apache-rat-plugin</artifactId>
-            <executions>
-              <execution>
-                <phase>verify</phase>
-                <goals>
-                  <goal>check</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-  <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/0.9</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/0.9</developerConnection>
-    <url>http://svn.apache.org/viewvc/maven/pom/tags/0.9</url>
-  </scm>
-</project>
diff --git a/trunk/tika-parsers/pom.xml b/trunk/tika-parsers/pom.xml
deleted file mode 100644
index 60257ad..0000000
--- a/trunk/tika-parsers/pom.xml
+++ /dev/null
@@ -1,197 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you 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.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.tika</groupId>
-    <artifactId>tika-parent</artifactId>
-    <version>0.9</version>
-    <relativePath>../tika-parent/pom.xml</relativePath>
-  </parent>
-
-  <artifactId>tika-parsers</artifactId>
-  <packaging>bundle</packaging>
-  <name>Apache Tika parsers</name>
-  <url>http://tika.apache.org/</url>
-
-  <properties>
-    <poi.version>3.7</poi.version>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>tika-core</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>edu.ucar</groupId>
-      <artifactId>netcdf</artifactId>
-      <version>4.2-min</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-httpclient</groupId>
-      <artifactId>commons-httpclient</artifactId>
-      <version>3.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.james</groupId>
-      <artifactId>apache-mime4j</artifactId>
-      <version>0.6</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-compress</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.pdfbox</groupId>
-      <artifactId>pdfbox</artifactId>
-      <version>1.4.0</version>
-    </dependency>
-    <!-- TIKA-370: PDFBox declares the Bouncy Castle dependencies
-         as optional, but we prefer to have them always to avoid
-         problems with encrypted PDFs. -->
-    <dependency>
-      <groupId>org.bouncycastle</groupId>
-      <artifactId>bcmail-jdk15</artifactId>
-      <version>1.45</version>
-    </dependency>
-    <dependency>
-      <groupId>org.bouncycastle</groupId>
-      <artifactId>bcprov-jdk15</artifactId>
-      <version>1.45</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.poi</groupId>
-      <artifactId>poi</artifactId>
-      <version>${poi.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.poi</groupId>
-      <artifactId>poi-scratchpad</artifactId>
-      <version>${poi.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.poi</groupId>
-      <artifactId>poi-ooxml</artifactId>
-      <version>${poi.version}</version>
-      <exclusions>
-        <exclusion>
-          <groupId>stax</groupId>
-          <artifactId>stax-api</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>xml-apis</groupId>
-          <artifactId>xml-apis</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-stax-api_1.0_spec</artifactId>
-      <version>1.0.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.ccil.cowan.tagsoup</groupId>
-      <artifactId>tagsoup</artifactId>
-      <version>1.2</version>
-    </dependency>
-    <dependency>
-      <groupId>asm</groupId>
-      <artifactId>asm</artifactId>
-      <version>3.1</version>
-    </dependency>
-    <dependency>
-       <groupId>com.drewnoakes</groupId>
-       <artifactId>metadata-extractor</artifactId>
-       <version>2.4.0-beta-1</version>
-    </dependency>
-    <dependency>
-      <groupId>de.l3s.boilerpipe</groupId>
-      <artifactId>boilerpipe</artifactId>
-      <version>1.1.0</version>
-    </dependency>
-    <dependency>
-      <groupId>rome</groupId>
-      <artifactId>rome</artifactId>
-      <version>0.9</version>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-       <groupId>org.mockito</groupId>
-       <artifactId>mockito-core</artifactId>
-       <version>1.7</version>
-       <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-log4j12</artifactId>
-      <version>1.5.6</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <dependencyManagement>
-    <!-- TIKA-403: Refactor log library usage in tika-parsers            -->
-    <!-- POI depends on Commons Logging 1.1 that has weird dependencies. -->
-    <!-- Override the dependency with version 1.1.1 that's much better.  -->
-    <dependencies>
-      <dependency>
-        <groupId>commons-logging</groupId>
-        <artifactId>commons-logging</artifactId>
-        <version>1.1.1</version>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Bundle-DocURL>${project.url}</Bundle-DocURL>
-          </instructions>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.rat</groupId>
-        <artifactId>apache-rat-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>src/main/java/org/apache/tika/parser/txt/Charset*.java</exclude>
-            <exclude>src/test/resources/test-documents/**</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
diff --git a/trunk/tika-parsers/src/main/appended-resources/META-INF/LICENSE b/trunk/tika-parsers/src/main/appended-resources/META-INF/LICENSE
deleted file mode 100644
index 9dfa0ab..0000000
--- a/trunk/tika-parsers/src/main/appended-resources/META-INF/LICENSE
+++ /dev/null
@@ -1,37 +0,0 @@
-APACHE TIKA SUBCOMPONENTS
-
-Apache Tika includes a number of subcomponents with separate copyright notices
-and license terms. Your use of these subcomponents is subject to the terms and
-conditions of the following licenses.
-
-Charset detection code from ICU4J (http://site.icu-project.org/)
-
-    Copyright (c) 1995-2009 International Business Machines Corporation
-    and others
-
-    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, and/or sell copies of the Software, and to permit persons
-    to whom the Software is furnished to do so, provided that the above
-    copyright notice(s) and this permission notice appear in all copies
-    of the Software and that both the above copyright notice(s) and this
-    permission notice appear in supporting documentation.
-
-    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 OF THIRD PARTY RIGHTS.
-    IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
-    BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
-    OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-    WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-    ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-    SOFTWARE.
-
-    Except as contained in this notice, the name of a copyright holder shall
-    not be used in advertising or otherwise to promote the sale, use or other
-    dealings in this Software without prior written authorization of the
-    copyright holder.
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/detect/ContainerAwareDetector.java b/trunk/tika-parsers/src/main/java/org/apache/tika/detect/ContainerAwareDetector.java
deleted file mode 100644
index 4dddee0..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/detect/ContainerAwareDetector.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.ZipException;
-
-import org.apache.poi.poifs.common.POIFSConstants;
-import org.apache.poi.poifs.storage.HeaderBlockConstants;
-import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.LittleEndian;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.mime.MimeTypes;
-
-
-/**
- * A detector that knows about the container formats that we support 
- *  (eg POIFS, Zip), and is able to peek inside them to better figure 
- *  out the contents.
- * Delegates to another {@link Detector} (normally {@link MimeTypes})
- *  to handle detection for non container formats. 
- * Should normally be used with a {@link TikaInputStream} to minimise 
- *  the memory usage.
- */
-public class ContainerAwareDetector implements Detector {
-
-    private Detector fallbackDetector;
-
-    private Detector zipDetector;
-
-    private Detector poifsDetector;
-
-    /**
-     * Creates a new container detector, which will use the
-     *  given detector for non container formats.
-     * @param fallbackDetector The detector to use for non-containers
-     */
-    public ContainerAwareDetector(Detector fallbackDetector) {
-        this.fallbackDetector = fallbackDetector;
-        poifsDetector = new POIFSContainerDetector();
-        zipDetector = new ZipContainerDetector();
-    }
-
-    public MediaType detect(InputStream input, Metadata metadata)
-            throws IOException {
-        MediaType type = zipDetector.detect(input, metadata);
-        if (MediaType.OCTET_STREAM.equals(type)) {
-            type = poifsDetector.detect(input, metadata);
-        }
-        if (MediaType.OCTET_STREAM.equals(type)) {
-            return fallbackDetector.detect(input, metadata);
-        }
-        return type;
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/detect/POIFSContainerDetector.java b/trunk/tika-parsers/src/main/java/org/apache/tika/detect/POIFSContainerDetector.java
deleted file mode 100644
index b0a23b4..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/detect/POIFSContainerDetector.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import static org.apache.tika.mime.MediaType.application;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.poi.poifs.filesystem.Entry;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.tika.io.CloseShieldInputStream;
-import org.apache.tika.io.TaggedInputStream;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-
-/**
- * A detector that works on a POIFS OLE2 document
- *  to figure out exactly what the file is.
- * This should work for all OLE2 documents, whether
- *  they are ones supported by POI or not.
- */
-public class POIFSContainerDetector implements Detector {
-
-    /** The OLE base file format */
-    public static final MediaType OLE = application("x-tika-msoffice");
-
-    /** Microsoft Excel */
-    public static final MediaType XLS = application("vnd.ms-excel");
-
-    /** Microsoft Word */
-    public static final MediaType DOC = application("msword");
-
-    /** Microsoft PowerPoint */
-    public static final MediaType PPT = application("vnd.ms-powerpoint");
-
-    /** Microsoft Publisher */
-    public static final MediaType PUB = application("x-mspublisher");
-
-    /** Microsoft Visio */
-    public static final MediaType VSD = application("vnd.visio");
-
-    /** Microsoft Works */
-    public static final MediaType WPS = application("vnd.ms-works");
-
-    /** Microsoft Outlook */
-    public static final MediaType MSG = application("vnd.ms-outlook");
-
-    public MediaType detect(InputStream input, Metadata metadata)
-             throws IOException {
-        // Check if we have access to the document
-        if (input == null) {
-            return MediaType.OCTET_STREAM;
-        }
-
-        // Check if the document starts with the OLE header
-        input.mark(8);
-        try {
-            if (input.read() != 0xd0 || input.read() != 0xcf
-                    || input.read() != 0x11 || input.read() != 0xe0
-                    || input.read() != 0xa1 || input.read() != 0xb1
-                    || input.read() != 0x1a || input.read() != 0xe1) {
-                return MediaType.OCTET_STREAM;
-            }
-        } finally {
-            input.reset();
-        }
-
-        // We can only detect the exact type when given a TikaInputStream
-        if (!TikaInputStream.isTikaInputStream(input)) {
-            return OLE;
-        }
-
-        // Look for known top level entry names to detect the document type
-        Set<String> names = getTopLevelNames(TikaInputStream.get(input));
-        if (names.contains("Workbook")) {
-            return XLS;
-        } else if (names.contains("EncryptedPackage")) {
-            return OLE;
-        } else if (names.contains("WordDocument")) {
-            return DOC;
-        } else if (names.contains("Quill")) {
-            return PUB;
-        } else if (names.contains("PowerPoint Document")) {
-            return PPT;
-        } else if (names.contains("VisioDocument")) {
-            return VSD;
-        } else if (names.contains("CONTENTS")) {
-            return WPS;
-        } else if (names.contains("\u0001Ole10Native")) {
-            return OLE;
-        } else if (names.contains("PerfectOffice_MAIN")) {
-            if (names.contains("SlideShow")) {
-                return MediaType.application("x-corelpresentations"); // .shw
-            } else if (names.contains("PerfectOffice_OBJECTS")) {
-                return MediaType.application("x-quattro-pro"); // .wb?
-            } else {
-                return OLE;
-            }
-        } else if (names.contains("NativeContent_MAIN")) {
-            return MediaType.application("x-quattro-pro"); // .qpw
-        } else {
-            for (String name : names) {
-                if (name.startsWith("__substg1.0_")) {
-                    return MSG;
-                }
-            }
-            return OLE;
-        }
-    }
-
-    private static Set<String> getTopLevelNames(TikaInputStream stream)
-            throws IOException {
-        // Force the document stream to a (possibly temporary) file
-        // so we don't modify the current position of the stream
-        File file = stream.getFile();
-
-        // Use a tagged stream to distinguish between real I/O problems
-        // and parse errors thrown as IOExceptions by POI.
-        TaggedInputStream tagged = new TaggedInputStream(
-                new BufferedInputStream(new FileInputStream(file)));
-        try {
-            // POIFSFileSystem might try close the stream
-            POIFSFileSystem fs =
-                new POIFSFileSystem(new CloseShieldInputStream(tagged));
-
-            // Optimize a possible later parsing process by keeping
-            // a reference to the already opened POI file system
-            stream.setOpenContainer(fs);
-
-            Set<String> names = new HashSet<String>();
-            for (Entry entry : fs.getRoot()) {
-                names.add(entry.getName());
-            }
-            return names;
-        } catch (IOException e) {
-            // Was this a real I/O problem?
-            tagged.throwIfCauseOf(e);
-            // Parse error in POI, so we don't know the file type
-            return Collections.emptySet();
-        } catch (RuntimeException e) {
-            // Another problem in POI
-            return Collections.emptySet();
-        } finally {
-            tagged.close();
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/detect/ZipContainerDetector.java b/trunk/tika-parsers/src/main/java/org/apache/tika/detect/ZipContainerDetector.java
deleted file mode 100644
index 5d74606..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/detect/ZipContainerDetector.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-
-import javax.xml.namespace.QName;
-
-import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
-import org.apache.commons.compress.archivers.zip.ZipFile;
-import org.apache.poi.extractor.ExtractorFactory;
-import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
-import org.apache.poi.openxml4j.opc.OPCPackage;
-import org.apache.poi.openxml4j.opc.PackagePart;
-import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
-import org.apache.tika.io.IOUtils;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-
-/**
- * A detector that works on a Zip document
- *  to figure out exactly what the file is
- */
-public class ZipContainerDetector implements Detector {
-
-    public MediaType detect(InputStream input, Metadata metadata)
-            throws IOException {
-        // Check if we have access to the document
-        if (input == null) {
-            return MediaType.OCTET_STREAM;
-        }
-
-        // Check if the document starts with the Zip header
-        input.mark(4);
-        try {
-            if (input.read() != 'P' || input.read() != 'K'
-                    || input.read() != 3 || input.read() != 4) {
-                return MediaType.OCTET_STREAM;
-            }
-        } finally {
-            input.reset();
-        }
-
-        // We can only detect the exact type when given a TikaInputStream
-        if (!TikaInputStream.isTikaInputStream(input)) {
-            return MediaType.APPLICATION_ZIP;
-        }
-
-        try {
-            File file = TikaInputStream.get(input).getFile();
-            ZipFile zip = new ZipFile(file);
-
-            MediaType type = detectOpenDocument(zip);
-            if (type == null) {
-                type = detectOfficeOpenXML(zip, TikaInputStream.get(input));
-            }
-            if (type == null) {
-                type = detectIWork(zip);
-            }
-            if (type == null && zip.getEntry("META-INF/MANIFEST.MF") != null) {
-                type = MediaType.application("java-archive");
-            }
-            if (type == null) {
-                type = MediaType.APPLICATION_ZIP;
-            }
-            return type;
-        } catch (IOException e) {
-            return MediaType.APPLICATION_ZIP;
-        }
-    }
-
-    private MediaType detectOpenDocument(ZipFile zip) {
-        try {
-            ZipArchiveEntry mimetype = zip.getEntry("mimetype");
-            if (mimetype != null) {
-                InputStream stream = zip.getInputStream(mimetype);
-                try {
-                    return MediaType.parse(IOUtils.toString(stream, "UTF-8"));
-                } finally {
-                    stream.close();
-                }
-            } else {
-                return null;
-            }
-        } catch (IOException e) {
-            return null;
-        }
-    }
-
-    private MediaType detectOfficeOpenXML(ZipFile zip, TikaInputStream stream) {
-        try {
-            if (zip.getEntry("_rels/.rels") != null
-                    || zip.getEntry("[Content_Types].xml") != null) {
-                // Use POI to open and investigate it for us
-                OPCPackage pkg = OPCPackage.open(stream.getFile().getPath());
-                stream.setOpenContainer(pkg);
-
-                PackageRelationshipCollection core = 
-                    pkg.getRelationshipsByType(ExtractorFactory.CORE_DOCUMENT_REL);
-                if (core.size() != 1) {
-                    // Invalid OOXML Package received
-                    return null;
-                }
-
-                // Get the type of the core document part
-                PackagePart corePart = pkg.getPart(core.getRelationship(0));
-                String coreType = corePart.getContentType();
-
-                // Turn that into the type of the overall document
-                String docType = coreType.substring(0, coreType.lastIndexOf('.'));
-
-                // The Macro Enabled formats are a little special
-                if(docType.toLowerCase().endsWith("macroenabled")) {
-                    docType = docType.toLowerCase() + ".12";
-                }
-
-                // Build the MediaType object and return
-                return MediaType.parse(docType);
-            } else {
-                return null;
-            }
-        } catch (IOException e) {
-            return null;
-        } catch (RuntimeException e) {
-            return null;
-        } catch (InvalidFormatException e) {
-            return null;
-        }
-    }
-
-    private MediaType detectIWork(ZipFile zip) {
-        if (zip.getEntry("buildVersionHistory.plist") != null) {
-            // Locate the appropriate index file entry, and reads from that
-            // the root element of the document. That is used to the identify
-            // the correct type of the keynote container.
-            MediaType type = detectIWork(zip, "index.apxl");
-            if (type == null) {
-                type = detectIWork(zip, "index.xml");
-            }
-            if (type == null) {
-                type = detectIWork(zip, "presentation.apxl");
-            }
-            if (type == null) {
-                // Not sure, fallback to the container type
-                return MediaType.application("vnd.apple.iwork");
-            }
-            return type;
-        } else {
-            return null;
-        }
-    }
-
-    private MediaType detectIWork(ZipFile zip, String name) {
-        try {
-            ZipArchiveEntry entry = zip.getEntry(name);
-            if (entry == null) {
-                return null;
-            }
-
-            InputStream stream = zip.getInputStream(entry);
-            try {
-                QName qname =
-                    new XmlRootExtractor().extractRootElement(stream);
-                String uri = qname.getNamespaceURI();
-                String local = qname.getLocalPart();
-                if ("http://developer.apple.com/namespaces/ls".equals(uri)
-                        && "document".equals(local)) {
-                    return MediaType.application("vnd.apple.numbers");
-                } else if ("http://developer.apple.com/namespaces/sl".equals(uri)
-                        && "document".equals(local)) {
-                    return MediaType.application("vnd.apple.pages");
-                } else if ("http://developer.apple.com/namespaces/keynote2".equals(uri)
-                        && "presentation".equals(local)) {
-                    return MediaType.application("vnd.apple.keynote");
-                } else {
-                    return null;
-                }
-            } finally {
-                stream.close();
-            }
-        } catch (IOException e) {
-            return null;
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/asm/ClassParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/asm/ClassParser.java
deleted file mode 100644
index 95e8809..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/asm/ClassParser.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.asm;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Parser for Java .class files.
- */
-public class ClassParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.singleton(MediaType.application("java-vm"));
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        new XHTMLClassVisitor(handler, metadata).parse(stream);
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/asm/XHTMLClassVisitor.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/asm/XHTMLClassVisitor.java
deleted file mode 100644
index cdc9a81..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/asm/XHTMLClassVisitor.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.asm;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.objectweb.asm.AnnotationVisitor;
-import org.objectweb.asm.Attribute;
-import org.objectweb.asm.ClassReader;
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.FieldVisitor;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.Opcodes;
-import org.objectweb.asm.Type;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Class visitor that generates XHTML SAX events to describe the
- * contents of the visited class.
- */
-class XHTMLClassVisitor implements ClassVisitor {
-
-    private final XHTMLContentHandler xhtml;
-
-    private final Metadata metadata;
-
-    private Type type;
-
-    private String packageName;
-
-    public XHTMLClassVisitor(ContentHandler handler, Metadata metadata) {
-        this.xhtml = new XHTMLContentHandler(handler, metadata);
-        this.metadata = metadata;
-    }
-
-    public void parse(InputStream stream)
-            throws TikaException, SAXException, IOException {
-        try {
-            ClassReader reader = new ClassReader(stream);
-            reader.accept(this, ClassReader.SKIP_FRAMES | ClassReader.SKIP_CODE);
-        } catch (RuntimeException e) {
-            if (e.getCause() instanceof SAXException) {
-                throw (SAXException) e.getCause();
-            } else {
-                throw new TikaException("Failed to parse a Java class", e);
-            }
-        }
-    }
-
-    public void visit(
-            int version, int access, String name, String signature,
-            String superName, String[] interfaces) {
-        type = Type.getObjectType(name);
-
-        String className = type.getClassName();
-        int dot = className.lastIndexOf('.');
-        if (dot != -1) {
-            packageName = className.substring(0, dot);
-            className = className.substring(dot + 1);
-        }
-
-        metadata.set(Metadata.TITLE, className);
-        metadata.set(Metadata.RESOURCE_NAME_KEY, className + ".class");
-
-        try {
-            xhtml.startDocument();
-            xhtml.startElement("pre");
-
-            if (packageName != null) {
-                writeKeyword("package");
-                xhtml.characters(" " + packageName + ";\n");
-            }
-
-            writeAccess(access);
-            if (isSet(access, Opcodes.ACC_INTERFACE)) {
-                writeKeyword("interface");
-                writeSpace();
-                writeType(type);
-                writeSpace();
-                writeInterfaces("extends", interfaces);
-            } else if (isSet(access, Opcodes.ACC_ENUM)) {
-                writeKeyword("enum");
-                writeSpace();
-                writeType(type);
-                writeSpace();
-            } else {
-                writeKeyword("class");
-                writeSpace();
-                writeType(type);
-                writeSpace();
-                if (superName != null) {
-                    Type superType = Type.getObjectType(superName);
-                    if (!superType.getClassName().equals("java.lang.Object")) {
-                        writeKeyword("extends");
-                        writeSpace();
-                        writeType(superType);
-                        writeSpace();
-                    }
-                }
-                writeInterfaces("implements", interfaces);
-            }
-            xhtml.characters("{\n");
-        } catch (SAXException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    private void writeInterfaces(String keyword, String[] interfaces)
-            throws SAXException {
-        if (interfaces != null && interfaces.length > 0) {
-            writeKeyword(keyword);
-            String separator = " ";
-            for (String iface : interfaces) {
-                xhtml.characters(separator);
-                writeType(Type.getObjectType(iface));
-                separator = ", ";
-            }
-            writeSpace();
-        }
-    }
-
-    public void visitEnd() {
-        try {
-            xhtml.characters("}\n");
-            xhtml.endElement("pre");
-            xhtml.endDocument();
-        } catch (SAXException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Ignored.
-     */
-    public void visitOuterClass(String owner, String name, String desc) {
-    }
-
-    /**
-     * Ignored.
-     */
-    public void visitSource(String source, String debug) {
-    }
-
-
-    /**
-     * Ignored.
-     */
-    public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
-        return null;
-    }
-
-    /**
-     * Ignored.
-     */
-    public void visitAttribute(Attribute attr) {
-    }
-
-    /**
-     * Ignored.
-     */
-    public void visitInnerClass(
-            String name, String outerName, String innerName, int access) {
-    }
-
-    /**
-     * Visits a field.
-     */
-    public FieldVisitor visitField(
-            int access, String name, String desc, String signature,
-            Object value) {
-        if (!isSet(access, Opcodes.ACC_SYNTHETIC)) {
-            try {
-                xhtml.characters("    ");
-                writeAccess(access);
-                writeType(Type.getType(desc));
-                writeSpace();
-                writeIdentifier(name);
-
-                if (isSet(access, Opcodes.ACC_STATIC) && value != null) {
-                    xhtml.characters(" = ");
-                    xhtml.characters(value.toString());
-                }
-
-                writeSemicolon();
-                writeNewline();
-            } catch (SAXException e) {
-                throw new RuntimeException(e);
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * Visits a method.
-     */
-    public MethodVisitor visitMethod(
-            int access, String name, String desc, String signature,
-            String[] exceptions) {
-        if (!isSet(access, Opcodes.ACC_SYNTHETIC)) {
-            try {
-                xhtml.characters("    ");
-                writeAccess(access);
-                writeType(Type.getReturnType(desc));
-                writeSpace();
-                if ("<init>".equals(name)) {
-                    writeType(type);
-                } else {
-                    writeIdentifier(name);
-                }
-
-                xhtml.characters("(");
-                String separator = "";
-                for (Type arg : Type.getArgumentTypes(desc)) {
-                    xhtml.characters(separator);
-                    writeType(arg);
-                    separator = ", ";
-                }
-                xhtml.characters(")");
-
-                if (exceptions != null && exceptions.length > 0) {
-                    writeSpace();
-                    writeKeyword("throws");
-                    separator = " ";
-                    for (String exception : exceptions) {
-                        xhtml.characters(separator);
-                        writeType(Type.getObjectType(exception));
-                        separator = ", ";
-                    }
-                }
-
-                writeSemicolon();
-                writeNewline();
-            } catch (SAXException e) {
-                throw new RuntimeException(e);
-            }
-        }
-
-        return null;
-    }
-
-    private void writeIdentifier(String identifier) throws SAXException {
-        xhtml.startElement("span", "class", "java-identifier");
-        xhtml.characters(identifier);
-        xhtml.endElement("span");
-    }
-
-    private void writeKeyword(String keyword) throws SAXException {
-        xhtml.startElement("span", "class", "java-keyword");
-        xhtml.characters(keyword);
-        xhtml.endElement("span");
-    }
-
-    private void writeSemicolon() throws SAXException {
-        xhtml.characters(";");
-    }
-
-    private void writeSpace() throws SAXException {
-        xhtml.characters(" ");
-    }
-
-    private void writeNewline() throws SAXException {
-        xhtml.characters("\n");
-    }
-
-    private void writeAccess(int access) throws SAXException {
-        writeAccess(access, Opcodes.ACC_PRIVATE, "private");
-        writeAccess(access, Opcodes.ACC_PROTECTED, "protected");
-        writeAccess(access, Opcodes.ACC_PUBLIC, "public");
-        writeAccess(access, Opcodes.ACC_STATIC, "static");
-        writeAccess(access, Opcodes.ACC_FINAL, "final");
-        writeAccess(access, Opcodes.ACC_ABSTRACT, "abstract");
-        writeAccess(access, Opcodes.ACC_SYNCHRONIZED, "synchronized");
-        writeAccess(access, Opcodes.ACC_TRANSIENT, "transient");
-        writeAccess(access, Opcodes.ACC_VOLATILE, "volatile");
-        writeAccess(access, Opcodes.ACC_NATIVE, "native");
-    }
-
-    private void writeAccess(int access, int code, String keyword)
-            throws SAXException {
-        if (isSet(access, code)) {
-            writeKeyword(keyword);
-            xhtml.characters(" ");
-        }
-    }
-
-    private void writeType(Type type) throws SAXException {
-        String name = type.getClassName();
-        if (name.startsWith(packageName + ".")) {
-            xhtml.characters(name.substring(packageName.length() + 1));
-        } else if (name.startsWith("java.lang.")) {
-            xhtml.characters(name.substring("java.lang.".length()));
-        } else {
-            xhtml.characters(name);
-        }
-    }
-
-    private static boolean isSet(int value, int flag) {
-        return (value & flag) != 0;
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/audio/AudioParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/audio/AudioParser.java
deleted file mode 100644
index 328cb56..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/audio/AudioParser.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.audio;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.Map.Entry;
-
-import javax.sound.sampled.AudioFileFormat;
-import javax.sound.sampled.AudioFormat;
-import javax.sound.sampled.AudioSystem;
-import javax.sound.sampled.UnsupportedAudioFileException;
-import javax.sound.sampled.AudioFileFormat.Type;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.XMPDM;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-public class AudioParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.unmodifiableSet(new HashSet<MediaType>(Arrays.asList(
-                MediaType.audio("basic"),
-                MediaType.audio("x-wav"),
-                MediaType.audio("x-aiff"))));
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        // AudioSystem expects the stream to support the mark feature
-        if (!stream.markSupported()) {
-            stream = new BufferedInputStream(stream);
-        }
-        try {
-            AudioFileFormat fileFormat = AudioSystem.getAudioFileFormat(stream);
-            Type type = fileFormat.getType();
-            if (type == Type.AIFC || type == Type.AIFF) {
-                metadata.set(Metadata.CONTENT_TYPE, "audio/x-aiff");
-            } else if (type == Type.AU || type == Type.SND) {
-                metadata.set(Metadata.CONTENT_TYPE, "audio/basic");
-            } else if (type == Type.WAVE) {
-                metadata.set(Metadata.CONTENT_TYPE, "audio/x-wav");
-            }
-
-            AudioFormat audioFormat = fileFormat.getFormat();
-            int channels = audioFormat.getChannels();
-            if (channels != AudioSystem.NOT_SPECIFIED) {
-                metadata.set("channels", String.valueOf(channels));
-                // TODO: Use XMPDM.TRACKS? (see also frame rate in AudioFormat)
-            }
-            float rate = audioFormat.getSampleRate();
-            if (rate != AudioSystem.NOT_SPECIFIED) {
-                metadata.set("samplerate", String.valueOf(rate));
-                metadata.set(
-                        XMPDM.AUDIO_SAMPLE_RATE,
-                        Integer.toString((int) rate));
-            }
-            int bits = audioFormat.getSampleSizeInBits();
-            if (bits != AudioSystem.NOT_SPECIFIED) {
-                metadata.set("bits", String.valueOf(bits));
-                if (bits == 8) {
-                    metadata.set(XMPDM.AUDIO_SAMPLE_TYPE, "8Int");
-                } else if (bits == 16) {
-                    metadata.set(XMPDM.AUDIO_SAMPLE_TYPE, "16Int");
-                } else if (bits == 32) {
-                    metadata.set(XMPDM.AUDIO_SAMPLE_TYPE, "32Int");
-                }
-            }
-            metadata.set("encoding", audioFormat.getEncoding().toString());
-
-            // Javadoc suggests that some of the following properties might
-            // be available, but I had no success in finding any:
-
-            // "duration" Long playback duration of the file in microseconds
-            // "author" String name of the author of this file
-            // "title" String title of this file
-            // "copyright" String copyright message
-            // "date" Date date of the recording or release
-            // "comment" String an arbitrary text
-
-            addMetadata(metadata, fileFormat.properties());
-            addMetadata(metadata, audioFormat.properties());
-        } catch (UnsupportedAudioFileException e) {
-            // There is no way to know whether this exception was
-            // caused by the document being corrupted or by the format
-            // just being unsupported. So we do nothing.
-        }
-
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-        xhtml.endDocument();
-    }
-
-    private void addMetadata(Metadata metadata, Map<String, Object> properties) {
-        if (properties != null) {
-            for (Entry<String, Object> entry : properties.entrySet()) {
-                Object value = entry.getValue();
-                if (value != null) {
-                    metadata.set(entry.getKey(), value.toString());
-                }
-            }
-        }
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/audio/MidiParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/audio/MidiParser.java
deleted file mode 100644
index fddba25..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/audio/MidiParser.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.audio;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.sound.midi.InvalidMidiDataException;
-import javax.sound.midi.MetaMessage;
-import javax.sound.midi.MidiMessage;
-import javax.sound.midi.MidiSystem;
-import javax.sound.midi.Patch;
-import javax.sound.midi.Sequence;
-import javax.sound.midi.Track;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-public class MidiParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.unmodifiableSet(new HashSet<MediaType>(Arrays.asList(
-                MediaType.application("x-midi"),
-                MediaType.audio("midi"))));
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        metadata.set(Metadata.CONTENT_TYPE, "audio/midi");
-
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-
-        // MidiSystem expects the stream to support the mark feature
-        InputStream buffered = new BufferedInputStream(stream);
-        try {
-            Sequence sequence = MidiSystem.getSequence(buffered);
-
-            Track[] tracks = sequence.getTracks();
-            metadata.set("tracks", String.valueOf(tracks.length));
-            // TODO: Use XMPDM.TRACKS?
-
-            Patch[] patches = sequence.getPatchList();
-            metadata.set("patches", String.valueOf(patches.length));
-
-            float type = sequence.getDivisionType();
-            if (type == Sequence.PPQ) {
-                metadata.set("divisionType", "PPQ");
-            } else if (type == Sequence.SMPTE_24) {
-                metadata.set("divisionType", "SMPTE_24");
-            } else if (type == Sequence.SMPTE_25) {
-                metadata.set("divisionType", "SMPTE_25");
-            } else if (type == Sequence.SMPTE_30) {
-                metadata.set("divisionType", "SMPTE_30");
-            } else if (type == Sequence.SMPTE_30DROP) {
-                metadata.set("divisionType", "SMPTE_30DROP");
-            } else if (type == Sequence.SMPTE_24) {
-                metadata.set("divisionType", String.valueOf(type));
-            }
-
-            for (Track track : tracks) {
-                xhtml.startElement("p");
-                for (int i = 0; i < track.size(); i++) {
-                    MidiMessage message = track.get(i).getMessage();
-                    if (message instanceof MetaMessage) {
-                        MetaMessage meta = (MetaMessage) message;
-                        // Types 1-15 are reserved for text events
-                        if (meta.getType() >= 1 && meta.getType() <= 15) {
-                            // FIXME: What's the encoding?
-                            xhtml.characters(
-                                    new String(meta.getData(), "ISO-8859-1"));
-                        }
-                    }
-                }
-                xhtml.endElement("p");
-            }
-        } catch (InvalidMidiDataException ignore) {
-            // There is no way to know whether this exception was
-            // caused by the document being corrupted or by the format
-            // just being unsupported. So we do nothing.
-        }
-
-        xhtml.endDocument();
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/dwg/DWGParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/dwg/DWGParser.java
deleted file mode 100644
index 3289641..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/dwg/DWGParser.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.dwg;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
-import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * DWG (CAD Drawing) parser. This is a very basic parser, which just
- *  looks for bits of the headers.
- * Note that we use Apache POI for various parts of the processing, as
- *  lots of the low level string/int/short concepts are the same.
- */
-public class DWGParser implements Parser {
-
-    private static MediaType TYPE = MediaType.image("vnd.dwg");
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return Collections.singleton(TYPE);
-    }
-
-    /** The order of the fields in the header */
-    private static String[] HEADER_PROPERTIES_ENTRIES = {
-        Metadata.TITLE, 
-        Metadata.SUBJECT,
-        Metadata.AUTHOR,
-        Metadata.KEYWORDS,
-        Metadata.COMMENTS,
-        Metadata.LAST_AUTHOR,
-        null, // Unknown?
-        Metadata.RELATION, // Hyperlink
-    };
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, TikaException, SAXException {
-        // First up, which version of the format are we handling?
-        byte[] header = new byte[128];
-        IOUtils.readFully(stream, header);
-        String version = new String(header, 0, 6, "US-ASCII");
-
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-
-        if (version.equals("AC1018")) {
-            metadata.set(Metadata.CONTENT_TYPE, TYPE.toString());
-            if(skipToPropertyInfoSection(stream, header)){
-                get2004Props(stream,metadata,xhtml);
-            }
-        } else if (version.equals("AC1021") || version.equals("AC1024")) {
-            metadata.set(Metadata.CONTENT_TYPE, TYPE.toString());
-            skipToPropertyInfoSection(stream, header);
-            get2007and2010Props(stream,metadata,xhtml);
-        } else {
-            throw new TikaException(
-                    "Unsupported AutoCAD drawing version: " + version);
-        }
-
-        xhtml.endDocument();
-    }
-
-    /**
-     * Stored as US-ASCII
-     */
-    private void get2004Props(
-            InputStream stream, Metadata metadata, XHTMLContentHandler xhtml)
-            throws IOException, SAXException {
-        for (int i = 0; i < HEADER_PROPERTIES_ENTRIES.length; i++) {
-            int stringLen = LittleEndian.readUShort(stream);
-
-            byte[] stringData = new byte[stringLen];
-            IOUtils.readFully(stream, stringData);
-
-            // Often but not always null terminated
-            if (stringData[stringLen-1] == 0) {
-                stringLen--;
-            }
-            String headerValue =
-                StringUtil.getFromCompressedUnicode(stringData, 0, stringLen);
-
-            handleHeader(i, headerValue, metadata, xhtml);
-        }
-    }
-
-    /**
-     * Stored as UCS2, so 16 bit "unicode"
-     */
-    private void get2007and2010Props(
-            InputStream stream, Metadata metadata, XHTMLContentHandler xhtml)
-            throws IOException, SAXException {
-        for (int i = 0; i < HEADER_PROPERTIES_ENTRIES.length; i++) {
-            int stringLen = LittleEndian.readUShort(stream);
-
-            byte[] stringData = new byte[stringLen * 2];
-            IOUtils.readFully(stream, stringData);
-            String headerValue = StringUtil.getFromUnicodeLE(stringData);
-
-            handleHeader(i, headerValue, metadata, xhtml);
-        }
-    }
-
-    private void handleHeader(
-            int headerNumber, String value, Metadata metadata,
-            XHTMLContentHandler xhtml) throws SAXException {
-        if(value == null || value.length() == 0) {
-            return;
-        }
-
-        // Some strings are null terminated
-        if(value.charAt(value.length()-1) == 0) {
-            value = value.substring(0, value.length()-1);
-        }
-
-        String headerProp = HEADER_PROPERTIES_ENTRIES[headerNumber];
-        if(headerProp != null) {
-            metadata.set(headerProp, value);
-        }
-
-        xhtml.element("p", value);
-    }
-
-    private boolean skipToPropertyInfoSection(InputStream stream, byte[] header)
-            throws IOException {
-        // The offset is stored in the header from 0x20 onwards
-        long offsetToSection = LittleEndian.getLong(header, 0x20);
-        long toSkip = offsetToSection - header.length;
-        if(offsetToSection == 0){
-            return false;
-        }        
-        while (toSkip > 0) {
-            byte[] skip = new byte[Math.min((int) toSkip, 0x4000)];
-            IOUtils.readFully(stream, skip);
-            toSkip -= skip.length;
-        }
-        return true;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/epub/EpubContentParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/epub/EpubContentParser.java
deleted file mode 100644
index 77a2f7e..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/epub/EpubContentParser.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.epub;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
-import javax.xml.XMLConstants;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.CloseShieldInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.OfflineContentHandler;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXNotRecognizedException;
-
-/**
- * Parser for EPUB OPS <code>*.html</code> files.
- *
- * For the time being, assume XHTML (TODO: DTBook)
- */
-public class EpubContentParser implements Parser {
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return Collections.emptySet(); // not a top-level parser
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        final XHTMLContentHandler xhtml =
-            new XHTMLContentHandler(handler,metadata);
-
-        try {
-            SAXParserFactory factory = SAXParserFactory.newInstance();
-            factory.setValidating(false);
-            factory.setNamespaceAware(true);
-            try {
-                factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
-            } catch (SAXNotRecognizedException e) {
-                // TIKA-329: Some XML parsers do not support the secure-processing
-                // feature, even though it's required by JAXP in Java 5. Ignoring
-                // the exception is fine here, deployments without this feature
-                // are inherently vulnerable to XML denial-of-service attacks.
-            }
-            SAXParser parser = factory.newSAXParser();
-            parser.parse(
-                    new CloseShieldInputStream(stream),
-                    new OfflineContentHandler(xhtml));
-        } catch (ParserConfigurationException e) {
-            throw new TikaException("XML parser configuration error", e);
-        }
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/epub/EpubParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/epub/EpubParser.java
deleted file mode 100644
index 3d1db60..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/epub/EpubParser.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.epub;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.IOUtils;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.parser.xml.DcXMLParser;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Epub parser
- */
-public class EpubParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.singleton(MediaType.application("epub+zip"));
-
-    private Parser meta = new DcXMLParser();
-
-    private Parser content = new EpubContentParser();
-
-    public Parser getMetaParser() {
-        return meta;
-    }
-
-    public void setMetaParser(Parser meta) {
-        this.meta = meta;
-    }
-
-    public Parser getContentParser() {
-        return content;
-    }
-
-    public void setContentParser(Parser content) {
-        this.content = content;
-    }
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        ZipInputStream zip = new ZipInputStream(stream);
-        ZipEntry entry = zip.getNextEntry();
-        while (entry != null) {
-            if (entry.getName().equals("mimetype")) {
-                String type = IOUtils.toString(zip, "UTF-8");
-                metadata.set(Metadata.CONTENT_TYPE, type);
-            } else if (entry.getName().equals("metadata.xml")) {
-                meta.parse(zip, new DefaultHandler(), metadata, context);
-            } else if (entry.getName().endsWith(".opf")) {
-                meta.parse(zip, new DefaultHandler(), metadata, context);
-            } else if (entry.getName().endsWith(".html")) {
-                content.parse(zip, handler, metadata, context);
-            }
-            entry = zip.getNextEntry();
-        }
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/feed/FeedParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/feed/FeedParser.java
deleted file mode 100644
index e7fbe1c..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/feed/FeedParser.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.feed;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-import com.sun.syndication.feed.synd.SyndContent;
-import com.sun.syndication.feed.synd.SyndEntry;
-import com.sun.syndication.feed.synd.SyndFeed;
-import com.sun.syndication.io.SyndFeedInput;
-
-/**
- * Feed parser.
- * <p>
- * Uses Rome for parsing the feeds. A feed description is put in a paragraph
- * with its link and title in an anchor.
- */
-public class FeedParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES = Collections
-            .unmodifiableSet(new HashSet<MediaType>(Arrays.asList(
-                    MediaType.application("rss+xml"),
-                    MediaType.application("atom+xml"))));
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(InputStream stream, ContentHandler handler,
-            Metadata metadata) throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-    public void parse(InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context) throws IOException,
-            SAXException, TikaException {
-        SyndFeed feed = null;
-        // set the encoding?
-        try {
-            SyndFeedInput feedInput = new SyndFeedInput();
-            InputSource input = new InputSource(stream);
-            feed = feedInput.build(input);
-        } catch (Exception e) {
-            throw new TikaException(e.getMessage());
-        }
-
-        String feedDesc = stripTags(feed.getDescriptionEx());
-        String feedTitle = stripTags(feed.getTitleEx());
-
-        metadata.set(Metadata.TITLE, feedTitle);
-        metadata.set(Metadata.DESCRIPTION, feedDesc);
-        // store the other fields in the metadata
-
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-
-        List entries = feed.getEntries();
-        for (Iterator i = entries.iterator(); i.hasNext();) {
-            SyndEntry entry = (SyndEntry) i.next();
-            String link = entry.getLink();
-            if (link == null)
-                continue;
-            SyndContent description = entry.getDescription();
-
-            String title = stripTags(entry.getTitleEx());
-            xhtml.startElement("a", "href", link);
-            xhtml.characters(title);
-            xhtml.endElement("a");
-            xhtml.startElement("p");
-            if (description != null)
-                xhtml.characters(description.getValue());
-            xhtml.endElement("p");
-        }
-
-        xhtml.endDocument();
-    }
-
-    private static String stripTags(SyndContent c) {
-        if (c == null)
-            return "";
-
-        String value = c.getValue();
-
-        String[] parts = value.split("<[^>]*>");
-        StringBuffer buf = new StringBuffer();
-
-        for (String part : parts)
-            buf.append(part);
-
-        return buf.toString().trim();
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/font/TrueTypeParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/font/TrueTypeParser.java
deleted file mode 100644
index 37a7511..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/font/TrueTypeParser.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.font;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
-import org.apache.fontbox.ttf.TTFParser;
-import org.apache.fontbox.ttf.TrueTypeFont;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.DublinCore;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.Property;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Parser for TrueType font files (TTF).
- */
-public class TrueTypeParser implements Parser {
-
-    private static final MediaType TYPE =
-        MediaType.application("x-font-ttf");
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.singleton(TYPE);
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        TrueTypeFont font;
-        TikaInputStream tis = TikaInputStream.get(stream);
-        TTFParser parser = new TTFParser();
-        if (tis.hasFile()) {
-            font = parser.parseTTF(tis.getFile());
-        } else {
-            font = parser.parseTTF(stream);
-        }
-
-        metadata.set(Metadata.CONTENT_TYPE, TYPE.toString());
-        metadata.set(DublinCore.DATE, font.getHeader().getCreated().getTime());
-        metadata.set(
-                Property.internalDate(DublinCore.MODIFIED),
-                font.getHeader().getModified().getTime());
-
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-        xhtml.endDocument();
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/hdf/HDFParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/hdf/HDFParser.java
deleted file mode 100644
index a0163cb..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/hdf/HDFParser.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-package org.apache.tika.parser.hdf;
-
-//JDK imports
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
-//TIKA imports
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.parser.netcdf.NetCDFParser;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-//NetCDF imports
-import ucar.nc2.Attribute;
-import ucar.nc2.Group;
-import ucar.nc2.NetcdfFile;
-
-/**
- * 
- * Since the {@link NetCDFParser} depends on the <a
- * href="http://www.unidata.ucar.edu/software/netcdf-java" >NetCDF-Java</a> API,
- * we are able to use it to parse HDF files as well. See <a href=
- * "http://www.unidata.ucar.edu/software/netcdf-java/formats/FileTypes.html"
- * >this link</a> for more information.
- * 
- */
-public class HDFParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES = Collections
-            .singleton(MediaType.application("x-hdf"));
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.apache.tika.parser.netcdf.NetCDFParser#getSupportedTypes(org.apache
-     * .tika.parser.ParseContext)
-     */
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.apache.tika.parser.netcdf.NetCDFParser#parse(java.io.InputStream,
-     * org.xml.sax.ContentHandler, org.apache.tika.metadata.Metadata,
-     * org.apache.tika.parser.ParseContext)
-     */
-    public void parse(InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context) throws IOException,
-            SAXException, TikaException {
-        ByteArrayOutputStream os = new ByteArrayOutputStream();
-        this.writeStreamToMemory(stream, os);
-
-        NetcdfFile ncFile = NetcdfFile.openInMemory("", os.toByteArray());
-        this.unravelStringMet(ncFile, null, metadata);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.apache.tika.parser.netcdf.NetCDFParser#parse(java.io.InputStream,
-     * org.xml.sax.ContentHandler, org.apache.tika.metadata.Metadata)
-     */
-    public void parse(InputStream stream, ContentHandler handler,
-            Metadata metadata) throws IOException, SAXException, TikaException {
-        this.parse(stream, handler, metadata, new ParseContext());
-    }
-
-    protected void unravelStringMet(NetcdfFile ncFile, Group group, Metadata met) {
-        if (group == null) {
-            group = ncFile.getRootGroup();
-        }
-
-        // unravel its string attrs
-        for (Attribute attribute : group.getAttributes()) {
-            if (attribute.isString()) {
-                met.add(attribute.getName(), attribute.getStringValue());
-            } else {
-                // try and cast its value to a string
-                met.add(attribute.getName(), String.valueOf(attribute
-                        .getNumericValue()));
-            }
-        }
-
-        for (Group g : group.getGroups()) {
-            unravelStringMet(ncFile, g, met);
-        }
-    }
-
-    protected void writeStreamToMemory(InputStream is, ByteArrayOutputStream os)
-            throws TikaException {
-        byte[] buf = new byte[512];
-
-        try {
-            while ((is.read(buf, 0, 512)) != -1) {
-                os.write(buf);
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            throw new TikaException(e.getMessage());
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/BoilerpipeContentHandler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/BoilerpipeContentHandler.java
deleted file mode 100644
index 3b26d3e..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/BoilerpipeContentHandler.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.html;
-
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.BitSet;
-import java.util.List;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.WriteOutContentHandler;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-import de.l3s.boilerpipe.BoilerpipeExtractor;
-import de.l3s.boilerpipe.BoilerpipeProcessingException;
-import de.l3s.boilerpipe.document.TextBlock;
-import de.l3s.boilerpipe.document.TextDocument;
-import de.l3s.boilerpipe.extractors.ArticleExtractor;
-import de.l3s.boilerpipe.extractors.DefaultExtractor;
-import de.l3s.boilerpipe.sax.BoilerpipeHTMLContentHandler;
-
-/**
- * Uses the <a href="http://code.google.com/p/boilerpipe/">boilerpipe</a>
- * library to automatically extract the main content from a web page.
- * 
- * Use this as a {@link ContentHandler} object passed to
- * {@link HtmlParser#parse(java.io.InputStream, ContentHandler, Metadata, org.apache.tika.parser.ParseContext)}
- */
-public class BoilerpipeContentHandler extends BoilerpipeHTMLContentHandler {
-
-    private static class RecordedElement {
-        public enum ElementType {
-            START,
-            END,
-            CONTINUE
-        }
-        
-        private String uri;
-        private String localName;
-        private String qName;
-        private Attributes attrs;
-        private List<char[]> characters;
-        private ElementType elementType;
-
-        public RecordedElement(String uri, String localName, String qName, Attributes attrs) {
-            this(uri, localName, qName, attrs, ElementType.START);
-        }
-        
-        public RecordedElement(String uri, String localName, String qName) {
-            this(uri, localName, qName, null, ElementType.END);
-        }
-        
-        public RecordedElement() {
-            this(null, null, null, null, ElementType.CONTINUE);
-        }
-        
-        protected RecordedElement(String uri, String localName, String qName, Attributes attrs, RecordedElement.ElementType elementType) {
-            this.uri = uri;
-            this.localName = localName;
-            this.qName = qName;
-            this.attrs = attrs;
-            this.elementType = elementType;
-            this.characters = new ArrayList<char[]>();
-        }
-
-        @Override
-        public String toString() {
-            return String.format("<%s> of type %s", localName, elementType);
-        };
-        
-        public String getUri() {
-            return uri;
-        }
-
-        public String getLocalName() {
-            return localName;
-        }
-
-        public String getQName() {
-            return qName;
-        }
-
-        public Attributes getAttrs() {
-            return attrs;
-        }
-
-        public List<char[]> getCharacters() {
-            return characters;
-        }
-        
-        public RecordedElement.ElementType getElementType() {
-            return elementType;
-        }
-    }
-    
-    /**
-     * The newline character that gets inserted after block elements.
-     */
-    private static final char[] NL = new char[] { '\n' };
-
-    private ContentHandler delegate;
-    private BoilerpipeExtractor extractor;
-    
-    private boolean includeMarkup;
-    private boolean inHeader;
-    private boolean inFooter;
-    private int headerCharOffset;
-    private List<RecordedElement> elements;
-    
-    /**
-     * Creates a new boilerpipe-based content extractor, using the
-     * {@link DefaultExtractor} extraction rules and "delegate" as the content handler.
-     * 
-     * @param delegate
-     *            The {@link ContentHandler} object
-     */
-    public BoilerpipeContentHandler(ContentHandler delegate) {
-        this(delegate, DefaultExtractor.INSTANCE);
-    }
-
-    /**
-     * Creates a content handler that writes XHTML body character events to
-     * the given writer.
-     *
-     * @param writer writer
-     */
-    public BoilerpipeContentHandler(Writer writer) {
-        this(new WriteOutContentHandler(writer));
-    }
-
-    /**
-     * Creates a new boilerpipe-based content extractor, using the given
-     * extraction rules. The extracted main content will be passed to the
-     * <delegate> content handler.
-     * 
-     * @param delegate
-     *            The {@link ContentHandler} object
-     * @param extractor
-     *            Extraction rules to use, e.g. {@link ArticleExtractor}
-     */
-    public BoilerpipeContentHandler(ContentHandler delegate, BoilerpipeExtractor extractor) {
-        this.delegate = delegate;
-        this.extractor = extractor;
-    }
-
-    public void setIncludeMarkup(boolean includeMarkup) {
-        this.includeMarkup = includeMarkup;
-    }
-    
-    public boolean isIncludeMarkup() {
-        return includeMarkup;
-    }
-    
-    @Override
-    public void startDocument() throws SAXException {
-        super.startDocument();
-        
-        delegate.startDocument();
-        
-        inHeader = true;
-        inFooter = false;
-        headerCharOffset = 0;
-        
-        if (includeMarkup) {
-            elements = new ArrayList<RecordedElement>();
-        }
-    };
-    
-    @Override
-    public void startPrefixMapping(String prefix, String uri) throws SAXException {
-        super.startPrefixMapping(prefix, uri);
-        delegate.startPrefixMapping(prefix, uri);
-    };
-    
-    @Override
-    public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
-        super.startElement(uri, localName, qName, atts);
-        
-        if (inHeader) {
-            delegate.startElement(uri, localName, qName, atts);
-        } else if (inFooter) {
-            // Do nothing
-        } else if (includeMarkup) {
-            elements.add(new RecordedElement(uri, localName, qName, atts));
-        } else {
-            // This happens for the <body> element, if we're not doing markup.
-            delegate.startElement(uri, localName, qName, atts);
-        }
-    };
-    
-    @Override
-    public void characters(char[] chars, int offset, int length) throws SAXException {
-        super.characters(chars, offset, length);
-        
-        if (inHeader) {
-            delegate.characters(chars, offset, length);
-            headerCharOffset++;
-        } else if (inFooter) {
-            // Do nothing
-        } else if (includeMarkup) {
-            RecordedElement element = elements.get(elements.size() - 1);
-            
-            char[] characters = new char[length];
-            System.arraycopy(chars, offset, characters, 0, length);
-            element.getCharacters().add(characters);
-        }
-    };
-    
-    @Override
-    public void endElement(String uri, String localName, String qName) throws SAXException {
-        super.endElement(uri, localName, qName);
-        
-        if (inHeader) {
-            delegate.endElement(uri, localName, qName);
-            inHeader = !localName.equals("head");
-        } else if (inFooter) {
-            // Do nothing
-        } else if (localName.equals("body")) {
-            inFooter = true;
-        } else if (includeMarkup) {
-            // Add the end element, and the continuation from the previous element
-            elements.add(new RecordedElement(uri, localName, qName));
-            elements.add(new RecordedElement());
-        }
-    };
-    
-    @Override
-    public void endDocument() throws SAXException {
-        super.endDocument();
-
-        TextDocument td = toTextDocument();
-        try {
-            extractor.process(td);
-        } catch (BoilerpipeProcessingException e) {
-            throw new SAXException(e);
-        }
-        
-        Attributes emptyAttrs = new AttributesImpl();
-
-        // At this point we have all the information we need to either emit N paragraphs
-        // of plain text (if not including markup), or we have to replay our recorded elements
-        // and only emit character runs that passed the boilerpipe filters.
-        if (includeMarkup) {
-            BitSet validCharacterRuns = new BitSet();
-            for (TextBlock block : td.getTextBlocks()) {
-                if (block.isContent()) {
-                    BitSet bs = block.getContainedTextElements();
-                    if (bs != null) {
-                        validCharacterRuns.or(bs);
-                    }
-                }
-            }
-            
-            // Now have bits set for all valid character runs. Replay our recorded elements,
-            // but only emit character runs flagged as valid.
-            int curCharsIndex = headerCharOffset;
-            for (RecordedElement element : elements) {
-                switch (element.getElementType()) {
-                    case START:
-                        delegate.startElement(element.getUri(), element.getLocalName(), element.getQName(), element.getAttrs());
-                        // Fall through
-                        
-                    case CONTINUE:
-                        // Now emit characters that are valid. Note that boilerpipe pre-increments the character index, so
-                        // we have to follow suit.
-                        for (char[] chars : element.getCharacters()) {
-                            curCharsIndex++;
-                            
-                            if (validCharacterRuns.get(curCharsIndex)) {
-                                delegate.characters(chars, 0, chars.length);
-                            }
-                        }
-                        break;
-                        
-                    case END:
-                        delegate.endElement(element.getUri(), element.getLocalName(), element.getQName());
-                        break;
-                        
-                    default:
-                        throw new RuntimeException("Unhandled element type: " + element.getElementType());
-                }
-                
-                
-            }
-        } else {
-            for (TextBlock block : td.getTextBlocks()) {
-                if (block.isContent()) {
-                    delegate.startElement(XHTMLContentHandler.XHTML, "p", "p", emptyAttrs);
-                    char[] chars = block.getText().toCharArray();
-                    delegate.characters(chars, 0, chars.length);
-                    delegate.endElement(XHTMLContentHandler.XHTML, "p", "p");
-                    delegate.ignorableWhitespace(NL, 0, NL.length);
-                }
-            }
-        }
-        
-        delegate.endElement(XHTMLContentHandler.XHTML, "body", "body");
-        delegate.endElement(XHTMLContentHandler.XHTML, "html", "html");
-        
-        // We defer ending any prefix mapping until here, which is why we don't pass this
-        // through to the delegate in an overridden method.
-        delegate.endPrefixMapping("");
-
-        delegate.endDocument();
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/DefaultHtmlMapper.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/DefaultHtmlMapper.java
deleted file mode 100644
index a93d776..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/DefaultHtmlMapper.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.html;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * The default HTML mapping rules in Tika.
- *
- * @since Apache Tika 0.6
- */
-@SuppressWarnings("serial")
-public class DefaultHtmlMapper implements HtmlMapper {
-
-    // Based on http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
-    private static final Map<String, String> SAFE_ELEMENTS = new HashMap<String, String>() {{
-        put("H1", "h1");
-        put("H2", "h2");
-        put("H3", "h3");
-        put("H4", "h4");
-        put("H5", "h5");
-        put("H6", "h6");
-
-        put("P", "p");
-        put("PRE", "pre");
-        put("BLOCKQUOTE", "blockquote");
-        put("Q", "q");
-        
-        put("UL", "ul");
-        put("OL", "ol");
-        put("MENU", "ul");
-        put("LI", "li");
-        put("DL", "dl");
-        put("DT", "dt");
-        put("DD", "dd");
-
-        put("TABLE", "table");
-        put("THEAD", "thead");
-        put("TBODY", "tbody");
-        put("TR", "tr");
-        put("TH", "th");
-        put("TD", "td");
-
-        put("ADDRESS", "address");
-        
-        // TIKA-460 - add anchors
-        put("A", "a");
-        
-        // TIKA-463 - add additional elements that contain URLs (and their sub-elements)
-        put("MAP", "map");
-        put("AREA", "area");
-        put("IMG", "img");
-        put("FRAMESET", "frameset");
-        put("FRAME", "frame");
-        put("IFRAME", "iframe");
-        put("OBJECT", "object");
-        put("PARAM", "param");
-        put("INS", "ins");
-        put("DEL", "del");
-    }};
-    
-    private static final Set<String> DISCARDABLE_ELEMENTS = new HashSet<String>() {{
-        add("STYLE");
-        add("SCRIPT");
-    }};
-
-    // For information on tags & attributes, see:
-    // http://www.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#a_dtd_XHTML-1.0-Strict
-    // http://www.w3schools.com/TAGS/
-    private static final Map<String, Set<String>> SAFE_ATTRIBUTES = new HashMap<String, Set<String>>() {{
-        put("a", attrSet("charset", "type", "name", "href", "hreflang", "rel", "rev", "shape", "coords"));
-        put("img", attrSet("src", "alt", "longdesc", "height", "width", "usemap", "ismap"));
-        put("frame", attrSet("longdesc", "name", "src", "frameborder", "marginwidth", "marginheight", "noresize", "scrolling"));
-        put("iframe", attrSet("longdesc", "name", "src", "frameborder", "marginwidth", "marginheight", "scrolling", "align", "height", "width"));
-        put("link", attrSet("charset", "href", "hreflang", "type", "rel", "rev", "media"));
-        put("map", attrSet("id", "class", "style", "title", "name"));
-        put("area", attrSet("shape", "coords", "href", "nohref", "alt"));
-        put("object", attrSet("declare", "classid", "codebase", "data", "type", "codetype", "archive", "standby", "height", 
-                "width", "usemap", "name", "tabindex", "align", "border", "hspace", "vspace"));
-        put("param", attrSet("id", "name", "value", "valuetype", "type"));
-        put("blockquote", attrSet("cite"));
-        put("ins", attrSet("cite", "datetime"));
-        put("del", attrSet("cite", "datetime"));
-        put("q", attrSet("cite"));
-        
-        // TODO - fill out this set. Include core, i18n, etc sets where appropriate.
-    }};
-    
-    private static Set<String> attrSet(String... attrs) {
-        Set<String> result = new HashSet<String>();
-        for (String attr : attrs) {
-            result.add(attr);
-        }
-        return result;
-    }
-    
-    /**
-     * @since Apache Tika 0.8
-     */
-    public static final HtmlMapper INSTANCE = new DefaultHtmlMapper();
-
-    public String mapSafeElement(String name) {
-        return SAFE_ELEMENTS.get(name);
-    }
-
-    /** Normalizes an attribute name. Assumes that the element name 
-     * is valid and normalized 
-     */
-    public String mapSafeAttribute(String elementName, String attributeName) {
-        Set<String> safeAttrs = SAFE_ATTRIBUTES.get(elementName);
-        if ((safeAttrs != null) && safeAttrs.contains(attributeName)) {
-            return attributeName;
-        } else {
-            return null;
-        }
-    }
-    
-    public boolean isDiscardElement(String name) {
-        return DISCARDABLE_ELEMENTS.contains(name);
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlHandler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlHandler.java
deleted file mode 100644
index a8b784f..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlHandler.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.html;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashSet;
-import java.util.Locale;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.sax.TextContentHandler;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-@SuppressWarnings("serial")
-class HtmlHandler extends TextContentHandler {
-
-    // List of attributes that need to be resolved.
-    private static final Set<String> URI_ATTRIBUTES = new HashSet<String>() {{
-        add("src");
-        add("href");
-        add("longdesc");
-        add("data");
-        add("cite");
-        add("codebase");
-        add("classid");
-    }};
-
-    private final HtmlMapper mapper;
-
-    private final XHTMLContentHandler xhtml;
-
-    private final Metadata metadata;
-
-    private int bodyLevel = 0;
-
-    private int discardLevel = 0;
-
-    private int titleLevel = 0;
-
-    private final StringBuilder title = new StringBuilder();
-
-    private HtmlHandler(
-            HtmlMapper mapper, XHTMLContentHandler xhtml, Metadata metadata) {
-        super(xhtml);
-        this.mapper = mapper;
-        this.xhtml = xhtml;
-        this.metadata = metadata;
-
-        // Try to determine the default base URL, if one has not been given
-        if (metadata.get(Metadata.CONTENT_LOCATION) == null) {
-            String name = metadata.get(Metadata.RESOURCE_NAME_KEY);
-            if (name != null) {
-                name = name.trim();
-                try {
-                    new URL(name); // test URL format
-                    metadata.set(Metadata.CONTENT_LOCATION, name);
-                } catch (MalformedURLException e) {
-                    // The resource name is not a valid URL, ignore it
-                }
-            }
-        }
-    }
-
-    public HtmlHandler(
-            HtmlMapper mapper, ContentHandler handler, Metadata metadata) {
-        this(mapper, new XHTMLContentHandler(handler, metadata), metadata);
-    }
-
-    @Override
-    public void startElement(
-            String uri, String local, String name, Attributes atts)
-            throws SAXException {
-        if ("TITLE".equals(name) || titleLevel > 0) {
-            titleLevel++;
-        }
-        if ("BODY".equals(name) || ("FRAMESET".equals(name)) || bodyLevel > 0) {
-            bodyLevel++;
-        }
-        if (mapper.isDiscardElement(name) || discardLevel > 0) {
-            discardLevel++;
-        }
-
-        if (bodyLevel == 0 && discardLevel == 0) {
-            if ("META".equals(name) && atts.getValue("content") != null) {
-                // TIKA-478: For cases where we have either a name or
-                // "http-equiv", assume that XHTMLContentHandler will emit
-                // these in the <head>, thus passing them through safely.
-                if (atts.getValue("http-equiv") != null) {
-                    addHtmlMetadata(
-                            atts.getValue("http-equiv"),
-                            atts.getValue("content"));
-                } else if (atts.getValue("name") != null) {
-                    // Record the meta tag in the metadata
-                    addHtmlMetadata(
-                            atts.getValue("name"),
-                            atts.getValue("content"));
-                }
-            } else if ("BASE".equals(name) && atts.getValue("href") != null) {
-                startElementWithSafeAttributes("base", atts);
-                xhtml.endElement("base");
-                metadata.set(
-                        Metadata.CONTENT_LOCATION,
-                        resolve(atts.getValue("href")));
-            } else if ("LINK".equals(name)) {
-                startElementWithSafeAttributes("link", atts);
-                xhtml.endElement("link");
-            }
-        }
-
-        if (bodyLevel > 0 && discardLevel == 0) {
-            String safe = mapper.mapSafeElement(name);
-            if (safe != null) {
-                startElementWithSafeAttributes(safe, atts);
-            }
-        }
-
-        title.setLength(0);
-    }
-
-    private static final Pattern ICBM =
-        Pattern.compile("\\s*(-?\\d+\\.\\d+)[,\\s]+(-?\\d+\\.\\d+)\\s*");
-
-    /**
-     * Adds a metadata setting from the HTML <head/> to the Tika metadata
-     * object. The name and value are normalized where possible.
-     */
-    private void addHtmlMetadata(String name, String value) {
-        if (name == null || value == null) {
-            // ignore
-        } else if (name.equalsIgnoreCase("ICBM")) {
-            Matcher m = ICBM.matcher(value);
-            if (m.matches()) {
-                metadata.set("ICBM", m.group(1) + ", " + m.group(2));
-                metadata.set(Metadata.LATITUDE, m.group(1));
-                metadata.set(Metadata.LONGITUDE, m.group(2));
-            } else {
-                metadata.set("ICBM", value);
-            }
-        } else if (name.equalsIgnoreCase(Metadata.CONTENT_TYPE)){
-            MediaType type = MediaType.parse(value);
-            if (type != null) {
-                metadata.set(Metadata.CONTENT_TYPE, type.toString());
-            } else {
-                metadata.set(Metadata.CONTENT_TYPE, value);
-            }
-        } else {
-            metadata.set(name, value);
-        }
-    }
-
-    private void startElementWithSafeAttributes(String name, Attributes atts) throws SAXException {
-        if (atts.getLength() == 0) {
-            xhtml.startElement(name);
-            return;
-        }
-
-        AttributesImpl newAttributes = new AttributesImpl(atts);
-        for (int att = 0; att < newAttributes.getLength(); att++) {
-            String normAttrName = mapper.mapSafeAttribute(name, newAttributes.getLocalName(att));
-            if (normAttrName == null) {
-                newAttributes.removeAttribute(att);
-                att--;
-            } else {
-                // We have a remapped attribute name, so set it as it might have changed.
-                newAttributes.setLocalName(att, normAttrName);
-                
-                // And resolve relative links. Eventually this should be pushed
-                // into the HtmlMapper code.
-                if (URI_ATTRIBUTES.contains(normAttrName)) {
-                    newAttributes.setValue(att, resolve(newAttributes.getValue(att)));
-                }
-            }
-        }
-
-        xhtml.startElement(name, newAttributes);
-    }
-
-    @Override
-    public void endElement(
-            String uri, String local, String name) throws SAXException {
-        if (bodyLevel > 0 && discardLevel == 0) {
-            String safe = mapper.mapSafeElement(name);
-            if (safe != null) {
-                xhtml.endElement(safe);
-            } else if (XHTMLContentHandler.ENDLINE.contains(
-                    name.toLowerCase(Locale.ENGLISH))) {
-                // TIKA-343: Replace closing block tags (and <br/>) with a
-                // newline unless the HtmlMapper above has already mapped
-                // them to something else
-                xhtml.newline();
-            }
-        }
-
-        if (titleLevel > 0) {
-            titleLevel--;
-            if (titleLevel == 0) {
-                metadata.set(Metadata.TITLE, title.toString().trim());
-            }
-        }
-        if (bodyLevel > 0) {
-            bodyLevel--;
-        }
-        if (discardLevel > 0) {
-            discardLevel--;
-        }
-    }
-
-    @Override
-    public void characters(char[] ch, int start, int length)
-            throws SAXException {
-        if (titleLevel > 0 && bodyLevel == 0) {
-            title.append(ch, start, length);
-        }
-        if (bodyLevel > 0 && discardLevel == 0) {
-            super.characters(ch, start, length);
-        }
-    }
-
-    @Override
-    public void ignorableWhitespace(char[] ch, int start, int length)
-            throws SAXException {
-        if (bodyLevel > 0 && discardLevel == 0) {
-            super.ignorableWhitespace(ch, start, length);
-        }
-    }
-
-    private String resolve(String url) {
-        url = url.trim();
-        
-        // Return the URL as-is if no base URL is available
-        if (metadata.get(Metadata.CONTENT_LOCATION) == null) {
-            return url;
-        }
-
-        // Check for common non-hierarchical and pseudo URI prefixes
-        String lower = url.toLowerCase(Locale.ENGLISH);
-        if (lower.startsWith("urn:")
-                || lower.startsWith("mailto:")
-                || lower.startsWith("tel:")
-                || lower.startsWith("data:")
-                || lower.startsWith("javascript:")
-                || lower.startsWith("about:")) {
-            return url;
-        }
-
-        try {
-            URL base = new URL(metadata.get(Metadata.CONTENT_LOCATION).trim());
-
-            // We need to handle one special case, where the relativeUrl is
-            // just a query string (like "?pid=1"), and the baseUrl doesn't
-            // end with a '/'. In that case, the URL class removes the last
-            // portion of the path, which we don't want.
-            String path = base.getPath();
-            if (url.startsWith("?") && path.length() > 0 && !path.endsWith("/")) {
-                return new URL(
-                        base.getProtocol(), base.getHost(), base.getPort(),
-                        base.getPath() + url).toExternalForm();
-            } else {
-                return new URL(base, url).toExternalForm();
-            }
-        } catch (MalformedURLException e) {
-            // Unknown or broken format; just return the URL as received.
-            return url;
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlMapper.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlMapper.java
deleted file mode 100644
index f4b9c73..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlMapper.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.html;
-
-/**
- * HTML mapper used to make incoming HTML documents easier to handle by
- * Tika clients. The {@link HtmlParser} looks up an optional HTML mapper from
- * the parse context and uses it to map parsed HTML to "safe" XHTML. A client
- * that wants to customize this mapping can place a custom HtmlMapper instance
- * into the parse context.
- *
- * @since Apache Tika 0.6
- */
-public interface HtmlMapper {
-
-    /**
-     * Maps "safe" HTML element names to semantic XHTML equivalents. If the
-     * given element is unknown or deemed unsafe for inclusion in the parse
-     * output, then this method returns <code>null</code> and the element
-     * will be ignored but the content inside it is still processed. See
-     * the {@link #isDiscardElement(String)} method for a way to discard
-     * the entire contents of an element.
-     *
-     * @param name HTML element name (upper case)
-     * @return XHTML element name (lower case), or
-     *         <code>null</code> if the element is unsafe 
-     */
-    String mapSafeElement(String name);
-
-    /**
-     * Checks whether all content within the given HTML element should be
-     * discarded instead of including it in the parse output.
-     *
-     * @param name HTML element name (upper case)
-     * @return <code>true</code> if content inside the named element
-     *         should be ignored, <code>false</code> otherwise
-     */
-    boolean isDiscardElement(String name);
-    
-    
-    /**
-     * Maps "safe" HTML attribute names to semantic XHTML equivalents. If the
-     * given attribute is unknown or deemed unsafe for inclusion in the parse
-     * output, then this method returns <code>null</code> and the attribute
-     * will be ignored. This method assumes that the element name 
-     * is valid and normalised.
-     *
-     * @param elementName HTML element name (lower case)
-     * @param attributeName HTML attribute name (lower case)
-     * @return XHTML attribute name (lower case), or
-     *         <code>null</code> if the element is unsafe 
-     */
-    String mapSafeAttribute(String elementName, String attributeName);
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlParser.java
deleted file mode 100644
index 1a76012..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlParser.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.html;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.nio.charset.Charset;
-import java.nio.charset.IllegalCharsetNameException;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.CloseShieldInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.parser.txt.CharsetDetector;
-import org.apache.tika.parser.txt.CharsetMatch;
-import org.apache.tika.utils.CharsetUtils;
-import org.ccil.cowan.tagsoup.HTMLSchema;
-import org.ccil.cowan.tagsoup.Schema;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * HTML parser. Uses TagSoup to turn the input document to HTML SAX events,
- * and post-processes the events to produce XHTML and metadata expected by
- * Tika clients.
- */
-public class HtmlParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.unmodifiableSet(new HashSet<MediaType>(Arrays.asList(
-                MediaType.text("html"),
-                MediaType.application("xhtml+xml"),
-                MediaType.application("vnd.wap.xhtml+xml"),
-                MediaType.application("x-asp"))));
-
-    // Use the widest, most common charset as our default.
-    private static final String DEFAULT_CHARSET = "windows-1252";
-    // TIKA-357 - use bigger buffer for meta tag sniffing (was 4K)
-    private static final int META_TAG_BUFFER_SIZE = 8192;
-    private static final Pattern HTTP_EQUIV_PATTERN = Pattern.compile(
-                    "(?is)<meta\\s+http-equiv\\s*=\\s*['\\\"]\\s*" +
-                    "Content-Type['\\\"]\\s+content\\s*=\\s*['\\\"]" +
-                    "([^'\\\"]+)['\\\"]");
-
-    private static final Schema HTML_SCHEMA = new HTMLSchema();
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    /**
-     * TIKA-332: Check for meta http-equiv tag with charset info in
-     * HTML content.
-     * <p>
-     * TODO: Move this into core, along with CharsetDetector
-     */ 
-    private String getEncoding(InputStream stream, Metadata metadata) throws IOException {
-        stream.mark(META_TAG_BUFFER_SIZE);
-        char[] buffer = new char[META_TAG_BUFFER_SIZE];
-        InputStreamReader isr = new InputStreamReader(stream, "us-ascii");
-        int bufferSize = isr.read(buffer);
-        stream.reset();
-
-        if (bufferSize != -1) {
-            String metaString = new String(buffer, 0, bufferSize);
-            Matcher m = HTTP_EQUIV_PATTERN.matcher(metaString);
-            if (m.find()) {
-                // TIKA-349: flexible handling of attributes
-                // We have one or more x or x=y attributes, separated by ';'
-                String[] attrs = m.group(1).split(";");
-                for (String attr : attrs) {
-                    String[] keyValue = attr.trim().split("=");
-                    if ((keyValue.length == 2) && keyValue[0].equalsIgnoreCase("charset")) {
-                        // TIKA-459: improve charset handling.
-                    	String charset = CharsetUtils.clean(keyValue[1]);
-                    	if (CharsetUtils.isSupported(charset)) {
-                    	    metadata.set(Metadata.CONTENT_ENCODING, charset);
-                    	    return charset;
-                    	}
-                    }
-                }
-            }
-        }
-
-        // No (valid) charset in a meta http-equiv tag, see if it's in the passed content-encoding
-        // hint, or the passed content-type hint.
-        CharsetDetector detector = new CharsetDetector();
-        String incomingCharset = metadata.get(Metadata.CONTENT_ENCODING);
-        String incomingType = metadata.get(Metadata.CONTENT_TYPE);
-        if (incomingCharset == null && incomingType != null) {
-            // TIKA-341: Use charset in content-type
-            MediaType mt = MediaType.parse(incomingType);
-            if (mt != null) {
-                String charset = mt.getParameters().get("charset");
-                if ((charset != null) && Charset.isSupported(charset)) {
-                    incomingCharset = charset;
-                }
-            }
-        }
-
-        if (incomingCharset != null) {
-            detector.setDeclaredEncoding(incomingCharset);
-        }
-
-        // TIKA-341 without enabling input filtering (stripping of tags) the
-        // short HTML tests don't work well.
-        detector.enableInputFilter(true);
-        detector.setText(stream);
-        for (CharsetMatch match : detector.detectAll()) {
-            if (Charset.isSupported(match.getName())) {
-                metadata.set(Metadata.CONTENT_ENCODING, match.getName());
-
-                // TIKA-339: Don't set language, as it's typically not a very good
-                // guess, and it can create ambiguity if another (better) language
-                // value is specified by a meta tag in the HTML (or via HTTP response
-                // header).
-                /*
-                String language = match.getLanguage();
-                if (language != null) {
-                    metadata.set(Metadata.CONTENT_LANGUAGE, match.getLanguage());
-                    metadata.set(Metadata.LANGUAGE, match.getLanguage());
-                }
-                */
-                
-                break;
-            }
-        }
-
-        String encoding = metadata.get(Metadata.CONTENT_ENCODING);
-        if (encoding == null) {
-            if (Charset.isSupported(DEFAULT_CHARSET)) {
-                encoding = DEFAULT_CHARSET;
-            } else {
-                encoding = Charset.defaultCharset().name();
-            }
-            
-            metadata.set(Metadata.CONTENT_ENCODING, encoding);
-        }
-
-        return encoding;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        // The getEncoding() method depends on the mark feature
-        if (!stream.markSupported()) {
-            stream = new BufferedInputStream(stream);
-        }
-
-        // Protect the stream from being closed by CyberNeko
-        // TODO: Is this still needed, given our use of TagSoup?
-        stream = new CloseShieldInputStream(stream);
-
-        // Prepare the input source using the encoding hint if available
-        InputSource source = new InputSource(stream); 
-        source.setEncoding(getEncoding(stream, metadata));
-
-        // Get the HTML mapper from the parse context
-        HtmlMapper mapper =
-            context.get(HtmlMapper.class, new HtmlParserMapper());
-
-        // Parse the HTML document
-        org.ccil.cowan.tagsoup.Parser parser =
-            new org.ccil.cowan.tagsoup.Parser();
-
-        // Instantiating HTMLSchema is heavy, therefore reuse a cached instance
-        parser.setProperty(org.ccil.cowan.tagsoup.Parser.schemaProperty, HTML_SCHEMA);
-        
-        parser.setContentHandler(new XHTMLDowngradeHandler(
-                new HtmlHandler(mapper, handler, metadata)));
-        parser.parse(source);
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-    throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-    /**
-     * Maps "safe" HTML element names to semantic XHTML equivalents. If the
-     * given element is unknown or deemed unsafe for inclusion in the parse
-     * output, then this method returns <code>null</code> and the element
-     * will be ignored but the content inside it is still processed. See
-     * the {@link #isDiscardElement(String)} method for a way to discard
-     * the entire contents of an element.
-     * <p>
-     * Subclasses can override this method to customize the default mapping.
-     *
-     * @deprecated Use the {@link HtmlMapper} mechanism to customize
-     *             the HTML mapping. This method will be removed in Tika 1.0.
-     * @since Apache Tika 0.5
-     * @param name HTML element name (upper case)
-     * @return XHTML element name (lower case), or
-     *         <code>null</code> if the element is unsafe 
-     */
-    protected String mapSafeElement(String name) {
-        return DefaultHtmlMapper.INSTANCE.mapSafeElement(name);
-    }
-
-    /**
-     * Checks whether all content within the given HTML element should be
-     * discarded instead of including it in the parse output. Subclasses
-     * can override this method to customize the set of discarded elements.
-     *
-     * @deprecated Use the {@link HtmlMapper} mechanism to customize
-     *             the HTML mapping. This method will be removed in Tika 1.0.
-     * @since Apache Tika 0.5
-     * @param name HTML element name (upper case)
-     * @return <code>true</code> if content inside the named element
-     *         should be ignored, <code>false</code> otherwise
-     */
-    protected boolean isDiscardElement(String name) {
-        return DefaultHtmlMapper.INSTANCE.isDiscardElement(name);
-    }
-
-    /**
-    * @deprecated Use the {@link HtmlMapper} mechanism to customize
-    *             the HTML mapping. This method will be removed in Tika 1.0.
-    **/
-    public String mapSafeAttribute(String elementName, String attributeName) {
-        return DefaultHtmlMapper.INSTANCE.mapSafeAttribute(elementName,attributeName) ;
-    }    
-    
-    /**
-     * Adapter class that maintains backwards compatibility with the
-     * protected HtmlParser methods. Making HtmlParser implement HtmlMapper
-     * directly would require those methods to be public, which would break
-     * backwards compatibility with subclasses.
-     *
-     * @deprecated Use the {@link HtmlMapper} mechanism to customize
-     *             the HTML mapping. This class will be removed in Tika 1.0.
-     */
-    private class HtmlParserMapper implements HtmlMapper {
-        public String mapSafeElement(String name) {
-            return HtmlParser.this.mapSafeElement(name);
-        }
-        public boolean isDiscardElement(String name) {
-            return HtmlParser.this.isDiscardElement(name);
-        }
-        public String mapSafeAttribute(String elementName, String attributeName){
-            return HtmlParser.this.mapSafeAttribute(elementName,attributeName);
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/IdentityHtmlMapper.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/IdentityHtmlMapper.java
deleted file mode 100644
index 6011e39..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/IdentityHtmlMapper.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.html;
-
-import java.util.Locale;
-
-/**
- * Alternative HTML mapping rules that pass the input HTML as-is without any
- * modifications.
- * 
- * @since Apache Tika 0.8
- */
-public class IdentityHtmlMapper implements HtmlMapper {
-
-    public static final HtmlMapper INSTANCE = new IdentityHtmlMapper();
-
-    public boolean isDiscardElement(String name) {
-        return false;
-    }
-
-    public String mapSafeAttribute(String elementName, String attributeName) {
-        return attributeName.toLowerCase(Locale.ENGLISH);
-    }
-
-    public String mapSafeElement(String name) {
-        return name;
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/XHTMLDowngradeHandler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/XHTMLDowngradeHandler.java
deleted file mode 100644
index de25800..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/XHTMLDowngradeHandler.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.html;
-
-import java.util.Locale;
-
-import javax.xml.XMLConstants;
-
-import org.apache.tika.sax.ContentHandlerDecorator;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-/**
- * Content handler decorator that downgrades XHTML elements to
- * old-style HTML elements before passing them on to the decorated
- * content handler. This downgrading consists of dropping all namespaces
- * (and namespaced attributes) and uppercasing all element names.
- * Used by the {@link HtmlParser} to make all incoming HTML look the same.
- */
-class XHTMLDowngradeHandler extends ContentHandlerDecorator {
-
-    public XHTMLDowngradeHandler(ContentHandler handler) {
-        super(handler);
-    }
-
-    @Override
-    public void startElement(
-            String uri, String localName, String name, Attributes atts)
-            throws SAXException {
-        String upper = localName.toUpperCase(Locale.ENGLISH);
-
-        AttributesImpl attributes = new AttributesImpl();
-        for (int i = 0; i < atts.getLength(); i++) {
-            String auri = atts.getURI(i);
-            String local = atts.getLocalName(i);
-            String qname = atts.getQName(i);
-            if (XMLConstants.NULL_NS_URI.equals(auri)
-                    && !local.equals(XMLConstants.XMLNS_ATTRIBUTE)
-                    && !qname.startsWith(XMLConstants.XMLNS_ATTRIBUTE + ":")) {
-                attributes.addAttribute(
-                        auri, local, qname, atts.getType(i), atts.getValue(i));
-            }
-        }
-
-        super.startElement(XMLConstants.NULL_NS_URI, upper, upper, attributes);
-    }
-
-    @Override
-    public void endElement(String uri, String localName, String name)
-            throws SAXException {
-        String upper = localName.toUpperCase(Locale.ENGLISH);
-        super.endElement(XMLConstants.NULL_NS_URI, upper, upper);
-    }
-
-    @Override
-    public void startPrefixMapping(String prefix, String uri) {
-    }
-
-    @Override
-    public void endPrefixMapping(String prefix) {
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java
deleted file mode 100644
index e5cb2c8..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java
+++ /dev/null
@@ -1,479 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.image;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.DecimalFormat;
-import java.text.DecimalFormatSymbols;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.Locale;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Geographic;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.Property;
-import org.xml.sax.SAXException;
-
-import com.drew.imaging.jpeg.JpegMetadataReader;
-import com.drew.imaging.jpeg.JpegProcessingException;
-import com.drew.imaging.tiff.TiffMetadataReader;
-import com.drew.imaging.tiff.TiffProcessingException;
-import com.drew.lang.Rational;
-import com.drew.metadata.Directory;
-import com.drew.metadata.MetadataException;
-import com.drew.metadata.Tag;
-import com.drew.metadata.exif.ExifDirectory;
-import com.drew.metadata.exif.GpsDirectory;
-import com.drew.metadata.iptc.IptcDirectory;
-import com.drew.metadata.jpeg.JpegCommentDirectory;
-import com.drew.metadata.jpeg.JpegDirectory;
-
-/**
- * Uses the <a href="http://www.drewnoakes.com/code/exif/">Metadata Extractor</a> library
- * to read EXIF and IPTC image metadata and map to Tika fields.
- * 
- * As of 2.4.0 the library supports jpeg and tiff.
- */
-public class ImageMetadataExtractor {
-
-    private final Metadata metadata;
-    private DirectoryHandler[] handlers;
-
-    /**
-     * @param metadata to extract to, using default directory handlers
-     */
-    public ImageMetadataExtractor(Metadata metadata) {
-        this(metadata,
-            new CopyUnknownFieldsHandler(),
-            new JpegCommentHandler(),
-            new ExifHandler(),
-            new DimensionsHandler(),
-            new GeotagHandler(),
-            new IptcHandler()
-        );
-    }
-    
-    /**
-     * @param metadata to extract to
-     * @param handlers handlers in order, note that handlers may override values from earlier handlers
-     */
-    public ImageMetadataExtractor(Metadata metadata, DirectoryHandler... handlers) {
-        this.metadata = metadata;
-        this.handlers = handlers;
-    }
-
-    public void parseJpeg(InputStream stream)
-            throws IOException, SAXException, TikaException {
-        try {
-            com.drew.metadata.Metadata jpegMetadata =
-                JpegMetadataReader.readMetadata(stream);
-
-            handle(jpegMetadata);
-        } catch (JpegProcessingException e) {
-            throw new TikaException("Can't read JPEG metadata", e);
-        } catch (MetadataException e) {
-            throw new TikaException("Can't read JPEG metadata", e);
-        }
-    }
-    
-    protected void parseTiff(InputStream stream)
-            throws IOException, SAXException, TikaException {
-        try {
-            com.drew.metadata.Metadata tiffMetadata =
-                TiffMetadataReader.readMetadata(stream);
-
-            handle(tiffMetadata);
-        } catch (TiffProcessingException e) {
-            throw new TikaException("Can't read TIFF metadata", e);
-        } catch (MetadataException e) {
-            throw new TikaException("Can't read TIFF metadata", e);
-        }
-    }
-
-    /**
-     * Copies extracted tags to tika metadata using registered handlers.
-     * @param metadataExtractor Tag directories from a Metadata Extractor "reader"
-     * @throws MetadataException This method does not handle exceptions from Metadata Extractor
-     */
-    @SuppressWarnings("unchecked")
-    protected void handle(com.drew.metadata.Metadata metadataExtractor) 
-            throws MetadataException {
-        handle(metadataExtractor.getDirectoryIterator());
-    }
-
-    /**
-     * Copies extracted tags to tika metadata using registered handlers.
-     * @param directories Metadata Extractor {@link com.drew.metadata.Directory} instances.
-     * @throws MetadataException This method does not handle exceptions from Metadata Extractor
-     */    
-    protected void handle(Iterator<Directory> directories) throws MetadataException {
-        while (directories.hasNext()) {
-            Directory directory = directories.next();
-            for (int i = 0; i < handlers.length; i++) {
-                if (handlers[i].supports(directory.getClass())) {
-                    handlers[i].handle(directory, metadata);
-                }
-            }
-        }
-    }
-
-    /**
-     * Reads one or more type of Metadata Extractor fields.
-     */
-    static interface DirectoryHandler {
-        /**
-         * @param directorySubclass A Metadata Extractor directory class
-         * @return true if the directory type is supported by this handler
-         */
-        boolean supports(Class<? extends Directory> directoryType);
-        /**
-         * @param directory extracted tags
-         * @param metadata current tika metadata
-         * @throws MetadataException typically field extraction error, aborts all further extraction
-         */
-        void handle(Directory directory, Metadata metadata) 
-                throws MetadataException;
-    }
-
-    /**
-     * Mimics the behavior from TIKA-314 of copying all extracted tags
-     * to tika metadata using field names from Metadata Extractor.
-     */
-    static class CopyAllFieldsHandler implements DirectoryHandler {
-        public boolean supports(Class<? extends Directory> directoryType) {
-            return true;
-        }
-        public void handle(Directory directory, Metadata metadata)
-                throws MetadataException {
-            Iterator<?> tags = directory.getTagIterator();
-            while (tags.hasNext()) {
-                Tag tag = (Tag) tags.next();
-                metadata.set(tag.getTagName(), tag.getDescription());
-            }
-        }
-    }    
-    
-    /**
-     * Copies all fields regardless of directory, if the tag name
-     * is not identical to a known Metadata field name.
-     * This leads to more predictable behavior than {@link CopyAllFieldsHandler}.
-     */
-    static class CopyUnknownFieldsHandler implements DirectoryHandler {
-        public boolean supports(Class<? extends Directory> directoryType) {
-            return true;
-        }
-        public void handle(Directory directory, Metadata metadata)
-                throws MetadataException {
-            Iterator<?> tags = directory.getTagIterator();
-            while (tags.hasNext()) {
-                Tag tag = (Tag) tags.next();
-                String name = tag.getTagName();
-                if (!MetadataFields.isMetadataField(name)) {
-                    metadata.set(name, tag.getDescription());
-                }
-            }
-        }
-    }
-    
-    /**
-     * Basic image properties for TIFF and JPEG, at least.
-     */
-    static class DimensionsHandler implements DirectoryHandler {
-        private final Pattern LEADING_NUMBERS = Pattern.compile("(\\d+)\\s*.*");
-        public boolean supports(Class<? extends Directory> directoryType) {
-            return directoryType == JpegDirectory.class || directoryType == ExifDirectory.class;
-        }
-        public void handle(Directory directory, Metadata metadata) throws MetadataException {
-            // The test TIFF has width and height stored as follows according to exiv2
-            //Exif.Image.ImageWidth                        Short       1  100
-            //Exif.Image.ImageLength                       Short       1  75
-            // and the values are found in "Thumbnail Image Width" (and Height) from Metadata Extractor
-            set(directory, metadata, ExifDirectory.TAG_THUMBNAIL_IMAGE_WIDTH, Metadata.IMAGE_WIDTH);
-            set(directory, metadata, JpegDirectory.TAG_JPEG_IMAGE_WIDTH, Metadata.IMAGE_WIDTH);
-            set(directory, metadata, ExifDirectory.TAG_THUMBNAIL_IMAGE_HEIGHT, Metadata.IMAGE_LENGTH);
-            set(directory, metadata, JpegDirectory.TAG_JPEG_IMAGE_HEIGHT, Metadata.IMAGE_LENGTH);
-            // Bits per sample, two methods of extracting, exif overrides jpeg
-            set(directory, metadata, JpegDirectory.TAG_JPEG_DATA_PRECISION, Metadata.BITS_PER_SAMPLE);
-            set(directory, metadata, ExifDirectory.TAG_BITS_PER_SAMPLE, Metadata.BITS_PER_SAMPLE);
-            // Straightforward
-            set(directory, metadata, ExifDirectory.TAG_SAMPLES_PER_PIXEL, Metadata.SAMPLES_PER_PIXEL);
-        }
-        private void set(Directory directory, Metadata metadata, int extractTag, Property metadataField) {
-            if (directory.containsTag(extractTag)) {
-                Matcher m = LEADING_NUMBERS.matcher(directory.getString(extractTag));
-                if(m.matches()) {
-                    metadata.set(metadataField, m.group(1));
-                }
-            }
-        }
-    }
-    
-    static class JpegCommentHandler implements DirectoryHandler {
-        public boolean supports(Class<? extends Directory> directoryType) {
-            return directoryType == JpegCommentDirectory.class;
-        }
-        public void handle(Directory directory, Metadata metadata) throws MetadataException {
-            if (directory.containsTag(JpegCommentDirectory.TAG_JPEG_COMMENT)) {
-                metadata.add(Metadata.COMMENT, directory.getString(JpegCommentDirectory.TAG_JPEG_COMMENT));
-            }
-        }
-    }
-    
-    static class ExifHandler implements DirectoryHandler {
-        private static final SimpleDateFormat DATE_UNSPECIFIED_TZ = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
-        public boolean supports(Class<? extends Directory> directoryType) {
-            return directoryType == ExifDirectory.class;
-        }
-        public void handle(Directory directory, Metadata metadata) {
-            try {
-                handleDateTags(directory, metadata);
-                handlePhotoTags(directory, metadata);
-                handleCommentTags(directory, metadata);
-            } catch (MetadataException e) {
-                // ignore date parse errors and proceed with other tags
-            }
-        }
-        /**
-         * EXIF may contain image description, although with undefined encoding.
-         * Use IPTC for other annotation fields, and XMP for unicode support.
-         */
-        public void handleCommentTags(Directory directory, Metadata metadata) {
-            if (metadata.get(Metadata.DESCRIPTION) == null &&
-                    directory.containsTag(ExifDirectory.TAG_IMAGE_DESCRIPTION)) {
-                metadata.set(Metadata.DESCRIPTION, directory.getString(ExifDirectory.TAG_IMAGE_DESCRIPTION));
-            }
-        }
-        /**
-         * Maps common TIFF and EXIF tags onto the Tika
-         *  TIFF image metadata namespace.
-         */       
-        public void handlePhotoTags(Directory directory, Metadata metadata) {
-            if(directory.containsTag(ExifDirectory.TAG_EXPOSURE_TIME)) {
-               Object exposure = directory.getObject(ExifDirectory.TAG_EXPOSURE_TIME);
-               if(exposure instanceof Rational) {
-                  metadata.set(Metadata.EXPOSURE_TIME, ((Rational)exposure).doubleValue());
-               } else {
-                  metadata.set(Metadata.EXPOSURE_TIME, directory.getString(ExifDirectory.TAG_EXPOSURE_TIME));
-               }
-            }
-            
-            if(directory.containsTag(ExifDirectory.TAG_FLASH)) {
-               String flash = "";
-               try {
-                  flash = directory.getDescription(ExifDirectory.TAG_FLASH);
-               } catch (MetadataException e) {
-                  // ignore
-               }
-               if(flash.indexOf("Flash fired") > -1) {
-                  metadata.set(Metadata.FLASH_FIRED, Boolean.TRUE.toString());
-               }
-               else if(flash.indexOf("Flash did not fire") > -1) {
-                  metadata.set(Metadata.FLASH_FIRED, Boolean.FALSE.toString());
-               }
-               else {
-                  metadata.set(Metadata.FLASH_FIRED, flash);
-               }
-            }
-
-            if(directory.containsTag(ExifDirectory.TAG_FNUMBER)) {
-               Object fnumber = directory.getObject(ExifDirectory.TAG_FNUMBER);
-               if(fnumber instanceof Rational) {
-                  metadata.set(Metadata.F_NUMBER, ((Rational)fnumber).doubleValue());
-               } else {
-                  metadata.set(Metadata.F_NUMBER, directory.getString(ExifDirectory.TAG_FNUMBER));
-               }
-            }
-            
-            if(directory.containsTag(ExifDirectory.TAG_FOCAL_LENGTH)) {
-               Object length = directory.getObject(ExifDirectory.TAG_FOCAL_LENGTH);
-               if(length instanceof Rational) {
-                  metadata.set(Metadata.FOCAL_LENGTH, ((Rational)length).doubleValue());
-               } else {
-                  metadata.set(Metadata.FOCAL_LENGTH, directory.getString(ExifDirectory.TAG_FOCAL_LENGTH));
-               }
-            }
-            
-            if(directory.containsTag(ExifDirectory.TAG_ISO_EQUIVALENT)) {
-               metadata.set(Metadata.ISO_SPEED_RATINGS, directory.getString(ExifDirectory.TAG_ISO_EQUIVALENT));
-            }
-          
-            if(directory.containsTag(ExifDirectory.TAG_MAKE)) {
-               metadata.set(Metadata.EQUIPMENT_MAKE, directory.getString(ExifDirectory.TAG_MAKE));
-            }
-            if(directory.containsTag(ExifDirectory.TAG_MODEL)) {
-               metadata.set(Metadata.EQUIPMENT_MODEL, directory.getString(ExifDirectory.TAG_MODEL));
-            }
-          
-            if(directory.containsTag(ExifDirectory.TAG_ORIENTATION)) {
-               Object length = directory.getObject(ExifDirectory.TAG_ORIENTATION);
-               if(length instanceof Integer) {
-                  metadata.set(Metadata.ORIENTATION, Integer.toString( ((Integer)length).intValue() ));
-               } else {
-                  metadata.set(Metadata.ORIENTATION, directory.getString(ExifDirectory.TAG_ORIENTATION));
-               }
-            }
-            
-            if(directory.containsTag(ExifDirectory.TAG_SOFTWARE)) {
-               metadata.set(Metadata.SOFTWARE, directory.getString(ExifDirectory.TAG_SOFTWARE));
-            }
-            
-            if(directory.containsTag(ExifDirectory.TAG_X_RESOLUTION)) {
-               Object resolution = directory.getObject(ExifDirectory.TAG_X_RESOLUTION);
-               if(resolution instanceof Rational) {
-                  metadata.set(Metadata.RESOLUTION_HORIZONTAL, ((Rational)resolution).doubleValue());
-               } else {
-                  metadata.set(Metadata.RESOLUTION_HORIZONTAL, directory.getString(ExifDirectory.TAG_X_RESOLUTION));
-               }
-            }
-            if(directory.containsTag(ExifDirectory.TAG_Y_RESOLUTION)) {
-               Object resolution = directory.getObject(ExifDirectory.TAG_Y_RESOLUTION);
-               if(resolution instanceof Rational) {
-                  metadata.set(Metadata.RESOLUTION_VERTICAL, ((Rational)resolution).doubleValue());
-               } else {
-                  metadata.set(Metadata.RESOLUTION_VERTICAL, directory.getString(ExifDirectory.TAG_Y_RESOLUTION));
-               }
-            }
-            if(directory.containsTag(ExifDirectory.TAG_RESOLUTION_UNIT)) {
-               try {
-                  metadata.set(Metadata.RESOLUTION_UNIT, directory.getDescription(ExifDirectory.TAG_RESOLUTION_UNIT));
-               } catch (MetadataException e) {
-                  // ignore
-               }
-            }
-        }
-        /**
-         * Maps exif dates to metadata fields.
-         */
-        public void handleDateTags(Directory directory, Metadata metadata)
-                throws MetadataException {
-            // Date/Time Original overrides value from ExifDirectory.TAG_DATETIME
-            Date original = null;
-            if (directory.containsTag(ExifDirectory.TAG_DATETIME_ORIGINAL)) {
-                original = directory.getDate(ExifDirectory.TAG_DATETIME_ORIGINAL);
-                // Unless we have GPS time we don't know the time zone so date must be set
-                // as ISO 8601 datetime without timezone suffix (no Z or +/-)
-                String datetimeNoTimeZone = DATE_UNSPECIFIED_TZ.format(original); // Same time zone as Metadata Extractor uses
-                metadata.set(Metadata.DATE, datetimeNoTimeZone);
-                metadata.set(Metadata.ORIGINAL_DATE, datetimeNoTimeZone);
-            }
-            if (directory.containsTag(ExifDirectory.TAG_DATETIME)) {
-                Date datetime = directory.getDate(ExifDirectory.TAG_DATETIME);
-                String datetimeNoTimeZone = DATE_UNSPECIFIED_TZ.format(datetime);
-                metadata.set(Metadata.LAST_MODIFIED, datetimeNoTimeZone);
-                // If Date/Time Original does not exist this might be creation date
-                if (original == null) {
-                    metadata.set(Metadata.DATE, datetimeNoTimeZone);
-                }
-            }
-        }
-    }
-    
-    /**
-     * Reads image comments, originally TIKA-472.
-     * Metadata Extractor does not read XMP so we need to use the values from Iptc or EXIF
-     */
-    static class IptcHandler implements DirectoryHandler {
-        public boolean supports(Class<? extends Directory> directoryType) {
-            return directoryType == IptcDirectory.class;
-        }
-        public void handle(Directory directory, Metadata metadata)
-                throws MetadataException {
-            if (directory.containsTag(IptcDirectory.TAG_KEYWORDS)) {
-                String[] keywords = directory.getStringArray(IptcDirectory.TAG_KEYWORDS);
-                for (String k : keywords) {
-                    metadata.add(Metadata.KEYWORDS, k);
-                }
-            }
-            if (directory.containsTag(IptcDirectory.TAG_HEADLINE)) {
-                metadata.set(Metadata.TITLE, directory.getString(IptcDirectory.TAG_HEADLINE));
-            } else if (directory.containsTag(IptcDirectory.TAG_OBJECT_NAME)) {
-                metadata.set(Metadata.TITLE, directory.getString(IptcDirectory.TAG_OBJECT_NAME));
-            }
-            if (directory.containsTag(IptcDirectory.TAG_BY_LINE)) {
-                metadata.set(Metadata.AUTHOR, directory.getString(IptcDirectory.TAG_BY_LINE));
-            }
-            if (directory.containsTag(IptcDirectory.TAG_CAPTION)) {
-                metadata.set(Metadata.DESCRIPTION,
-                        // Looks like metadata extractor returns IPTC newlines as a single carriage return,
-                        // but the exiv2 command does not so we change to line feed here because that is less surprising to users                        
-                        directory.getString(IptcDirectory.TAG_CAPTION).replaceAll("\r\n?", "\n"));
-            }
-        }
-    }
-
-    /**
-     * Maps EXIF Geo Tags onto the Tika Geo metadata namespace.
-     */
-    static class GeotagHandler implements DirectoryHandler {
-        public boolean supports(Class<? extends Directory> directoryType) {
-            return directoryType == GpsDirectory.class;
-        }
-        public void handle(Directory directory, Metadata metadata) throws MetadataException {
-            String lat = directory.getDescription(GpsDirectory.TAG_GPS_LATITUDE);
-            String latNS = directory.getDescription(GpsDirectory.TAG_GPS_LATITUDE_REF);
-            if(lat != null) {
-                Double latitude = parseHMS(lat);
-                if(latitude != null) {
-                    if(latNS != null && latNS.equalsIgnoreCase("S") &&
-                            latitude > 0) {
-                        latitude *= -1;
-                    }
-                    metadata.set(Metadata.LATITUDE, LAT_LONG_FORMAT.format(latitude)); 
-                }
-            }
-
-            String lng = directory.getDescription(GpsDirectory.TAG_GPS_LONGITUDE);
-            String lngEW = directory.getDescription(GpsDirectory.TAG_GPS_LONGITUDE_REF);
-            if(lng != null) {
-                Double longitude = parseHMS(lng);
-                if(longitude != null) {
-                    if(lngEW != null && lngEW.equalsIgnoreCase("W") &&
-                            longitude > 0) {
-                        longitude *= -1;
-                    }
-                    metadata.set(Metadata.LONGITUDE, LAT_LONG_FORMAT.format(longitude));
-                }
-            }
-        }
-        private Double parseHMS(String hms) {
-           Matcher m = HOURS_MINUTES_SECONDS.matcher(hms);
-           if(m.matches()) {
-              double value = 
-                Integer.parseInt(m.group(1)) +
-                (Integer.parseInt(m.group(2))/60.0) +
-                (Double.parseDouble(m.group(3))/60.0/60.0);
-              return value;
-           }
-           return null;
-        }
-        private static final Pattern HOURS_MINUTES_SECONDS = Pattern.compile("(-?\\d+)\"(\\d+)'(\\d+\\.?\\d*)");
-        /**
-         * The decimal format used for expressing latitudes and longitudes.
-         * The basic geo vocabulary defined by W3C (@see {@link Geographic})
-         * refers to the "float" type in XML Schema as the recommended format
-         * for latitude and longitude values.
-         */
-        private static final DecimalFormat LAT_LONG_FORMAT =
-            new DecimalFormat("##0.0####", new DecimalFormatSymbols(Locale.US));
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageParser.java
deleted file mode 100644
index 32555e9..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageParser.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.image;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import javax.imageio.IIOException;
-import javax.imageio.ImageIO;
-import javax.imageio.ImageReader;
-import javax.imageio.metadata.IIOMetadata;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.CloseShieldInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.Property;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-public class ImageParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.unmodifiableSet(new HashSet<MediaType>(Arrays.asList(
-                MediaType.image("bmp"),
-                MediaType.image("gif"),
-                MediaType.image("png"),
-                MediaType.image("vnd.wap.wbmp"),
-                MediaType.image("x-icon"),
-                MediaType.image("x-psd"),
-                MediaType.image("x-xcf"))));
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        String type = metadata.get(Metadata.CONTENT_TYPE);
-        if (type != null) {
-            try {
-                Iterator<ImageReader> iterator =
-                    ImageIO.getImageReadersByMIMEType(type);
-                if (iterator.hasNext()) {
-                    ImageReader reader = iterator.next();
-                    reader.setInput(ImageIO.createImageInputStream(
-                            new CloseShieldInputStream(stream)));
-                    
-                    metadata.set(Metadata.IMAGE_WIDTH, Integer.toString(reader.getWidth(0)));
-                    metadata.set(Metadata.IMAGE_LENGTH, Integer.toString(reader.getHeight(0)));
-                    metadata.set("height", Integer.toString(reader.getHeight(0)));
-                    metadata.set("width", Integer.toString(reader.getWidth(0)));
-
-                    loadMetadata(reader.getImageMetadata(0), metadata);
-
-                    reader.dispose();
-                }
-                
-                // Translate certain Metadata tags from the ImageIO
-                //  specific namespace into the general Tika one
-                setIfPresent(metadata, "CommentExtensions CommentExtension", Metadata.COMMENTS);
-                setIfPresent(metadata, "markerSequence com", Metadata.COMMENTS);
-                setIfPresent(metadata, "Data BitsPerSample", Metadata.BITS_PER_SAMPLE);
-            } catch (IIOException e) {
-                throw new TikaException(type + " parse error", e);
-            }
-        }
-
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-        xhtml.endDocument();
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-    
-    private static void setIfPresent(Metadata metadata, String imageIOkey, String tikaKey) {
-	if(metadata.get(imageIOkey) != null) {
-	    metadata.set(tikaKey, metadata.get(imageIOkey));
-	}
-    }
-    private static void setIfPresent(Metadata metadata, String imageIOkey, Property tikaProp) {
-	if(metadata.get(imageIOkey) != null) {
-	    String v = metadata.get(imageIOkey);
-	    if(v.endsWith(" ")) {
-		v = v.substring(0, v.lastIndexOf(' '));
-	    }
-	    metadata.set(tikaProp, v);
-	}
-    }
-
-    private static void loadMetadata(IIOMetadata imageMetadata, Metadata metadata) {
-        String[] names = imageMetadata.getMetadataFormatNames();
-        if (names == null) {
-            return;
-        }
-        int length = names.length;
-        for (int i = 0; i < length; i++) {
-            loadNode(metadata, imageMetadata.getAsTree(names[i]), "", false);
-        }
-    }
-
-    private static void loadNode(
-            Metadata metadata, Node node, String parents,
-            boolean addThisNodeName) {
-        if (addThisNodeName) {
-            if (parents.length() > 0) {
-                parents += " ";
-            }
-            parents += node.getNodeName();
-        }
-        NamedNodeMap map = node.getAttributes();
-        if (map != null) {
-
-            int length = map.getLength();
-            if (length == 1) {
-                metadata.add(parents, map.item(0).getNodeValue());
-            } else if (length > 1) {
-                StringBuffer value = new StringBuffer();
-                for (int i = 0; i < length; i++) {
-                    if (i > 0) {
-                        value.append(", ");
-                    }
-                    Node attr = map.item(i);
-                    value.append(attr.getNodeName()).append("=").append(attr.getNodeValue());
-                }
-                metadata.add(parents, value.toString());
-            }
-        }
-
-        Node child = node.getFirstChild();
-        while (child != null) {
-            // print children recursively
-            loadNode(metadata, child, parents, true);
-            child = child.getNextSibling();
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/MetadataFields.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/MetadataFields.java
deleted file mode 100644
index c2f0910..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/MetadataFields.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.image;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.HashSet;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.Property;
-
-/**
- * Knowns about all declared {@link Metadata} fields.
- * Didn't find this functionality anywhere so it was added for
- * ImageMetadataExtractor, but it can be generalized.
- */
-public abstract class MetadataFields {
-    
-    private static HashSet<String> known;
-    
-    static {
-        known = new HashSet<String>();
-        Field[] fields = Metadata.class.getFields();
-        for (Field f : fields) {
-            int mod = f.getModifiers();
-            if (Modifier.isPublic(mod) && Modifier.isStatic(mod) && Modifier.isFinal(mod)) {
-                Class<?> c = f.getType();
-                if (String.class.equals(c)) {
-                    try {
-                        String p = (String) f.get(null);
-                        if (p != null) {
-                            known.add(p);
-                        }
-                    } catch (IllegalArgumentException e) {
-                        e.printStackTrace();
-                    } catch (IllegalAccessException e) {
-                        e.printStackTrace();
-                    }
-                }
-                if (Property.class.isAssignableFrom(c)) {
-                    try {
-                        Property p = (Property) f.get(null);
-                        if (p != null) {
-                            known.add(p.getName());
-                        }
-                    } catch (IllegalArgumentException e) {
-                        e.printStackTrace();
-                    } catch (IllegalAccessException e) {
-                        e.printStackTrace();
-                    }
-                }
-            }
-        }
-    }
-    
-    public static boolean isMetadataField(String name) {
-        return known.contains(name);
-    }
-    
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/TiffParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/TiffParser.java
deleted file mode 100644
index 468bba2..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/TiffParser.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.image;
-
-import java.io.FilterInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.parser.image.xmp.JempboxExtractor;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-public class TiffParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.singleton(MediaType.image("tiff"));
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-
-        // read stream twice - exif and xmp extractors
-        stream.mark(Integer.MAX_VALUE);
-        FilterInputStream first = new FilterInputStream(stream) {
-            @Override
-            public void close() throws IOException {
-            }
-        };
-        new ImageMetadataExtractor(metadata).parseTiff(first);
-        stream.reset();
-        
-        new JempboxExtractor(metadata).parse(stream);
-
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-        xhtml.endDocument();
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/xmp/JempboxExtractor.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/xmp/JempboxExtractor.java
deleted file mode 100644
index 2d4df7a..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/xmp/JempboxExtractor.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.image.xmp;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.jempbox.xmp.XMPMetadata;
-import org.apache.jempbox.xmp.XMPSchemaDublinCore;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.DublinCore;
-import org.apache.tika.metadata.Metadata;
-import org.xml.sax.InputSource;
-
-public class JempboxExtractor {
-
-    private XMPPacketScanner scanner = new XMPPacketScanner();
-    
-    private Metadata metadata;
-    
-    // The XMP spec says it must be unicode, but for most file formats it specifies "must be encoded in UTF-8"
-    private static final String DEFAULT_XMP_CHARSET = "UTF-8";
-
-    public JempboxExtractor(Metadata metadata) {
-        this.metadata = metadata;
-    }
-    
-    public void parse(InputStream file)
-            throws IOException, TikaException {
-    	
-        ByteArrayOutputStream xmpraw = new ByteArrayOutputStream();
-        boolean found = scanner.parse(file, xmpraw);
-        file.close();
-        if (!found) {
-            return;
-        }
-        
-        Reader decoded = new InputStreamReader(new ByteArrayInputStream(xmpraw.toByteArray()), DEFAULT_XMP_CHARSET);
-        XMPMetadata xmp = XMPMetadata.load(new InputSource(decoded));
-        
-        XMPSchemaDublinCore dc = xmp.getDublinCoreSchema();
-        if (dc != null) {
-            if (dc.getTitle() != null) {
-                metadata.set(DublinCore.TITLE, dc.getTitle());
-            }
-            if (dc.getDescription() != null) {
-                metadata.set(DublinCore.DESCRIPTION, dc.getDescription());
-            }
-            if (dc.getCreators() != null && dc.getCreators().size() > 0) {
-                metadata.set(DublinCore.CREATOR, joinCreators(dc.getCreators()));
-            }
-            if (dc.getSubjects() != null && dc.getSubjects().size() > 0) {
-                Iterator<String> keywords = dc.getSubjects().iterator();
-                while (keywords.hasNext()) {
-                    metadata.add(DublinCore.SUBJECT, keywords.next());
-                }
-                // TODO should we set KEYWORDS too?
-                // All tested photo managers set the same in Iptc.Application2.Keywords and Xmp.dc.subject
-            }
-        }
-        
-    }
-
-    protected String joinCreators(List<String> creators) {
-        if (creators == null || creators.size() == 0) {
-            return "";
-        }
-        if (creators.size() == 1) {
-            return creators.get(0);
-        }
-        StringBuffer c = new StringBuffer();
-        for (String s : creators) {
-            c.append(", ").append(s);
-        }
-        return c.substring(2);
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/xmp/XMPPacketScanner.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/xmp/XMPPacketScanner.java
deleted file mode 100644
index 039ebb1..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/xmp/XMPPacketScanner.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* $Id: XMPPacketParser.java 750418 2009-03-05 11:03:54Z vhennebert $ */
-
-package org.apache.tika.parser.image.xmp;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-
-/**
- * This class is a parser for XMP packets. By default, it tries to locate the first XMP packet
- * it finds and parses it.
- * <p>
- * Important: Before you use this class to look for an XMP packet in some random file, please read
- * the chapter on "Scanning Files for XMP Packets" in the XMP specification!
- * <p>
- * Thic class was branched from http://xmlgraphics.apache.org/ XMPPacketParser.
- * See also org.semanticdesktop.aperture.extractor.xmp.XMPExtractor, a variant.
- */
-public class XMPPacketScanner {
-
-    private static final byte[] PACKET_HEADER;
-    private static final byte[] PACKET_HEADER_END;
-    private static final byte[] PACKET_TRAILER;
-
-    static {
-        try {
-            PACKET_HEADER = "<?xpacket begin=".getBytes("US-ASCII");
-            PACKET_HEADER_END = "?>".getBytes("US-ASCII");
-            PACKET_TRAILER = "<?xpacket".getBytes("US-ASCII");
-        } catch (UnsupportedEncodingException e) {
-            throw new RuntimeException("Incompatible JVM! US-ASCII encoding not supported.");
-        }
-    }
-
-    /**
-     * Locates an XMP packet in a stream, parses it and returns the XMP metadata. If no
-     * XMP packet is found until the stream ends, null is returned. Note: This method
-     * only finds the first XMP packet in a stream. And it cannot determine whether it
-     * has found the right XMP packet if there are multiple packets.
-     * 
-     * Does <em>not</em> close the stream.
-     * If XMP block was found reading can continue below the block.
-     * 
-     * @param in the InputStream to search
-     * @param xmlOut to write the XMP packet to
-     * @return true if XMP packet is found, false otherwise
-     * @throws IOException if an I/O error occurs
-     * @throws TransformerException if an error occurs while parsing the XMP packet
-     */
-    public boolean parse(InputStream in, OutputStream xmlOut) throws IOException {
-        if (!in.markSupported()) {
-            in = new java.io.BufferedInputStream(in);
-        }
-        boolean foundXMP = skipAfter(in, PACKET_HEADER);
-        if (!foundXMP) {
-            return false;
-        }
-        //TODO Inspect "begin" attribute!
-        if (!skipAfter(in, PACKET_HEADER_END)) {
-            throw new IOException("Invalid XMP packet header!");
-        }
-        //TODO Do with TeeInputStream when Commons IO 1.4 is available
-        if (!skipAfter(in, PACKET_TRAILER, xmlOut)) {
-            throw new IOException("XMP packet not properly terminated!");
-        }
-        return true;
-    }
-
-    private static boolean skipAfter(InputStream in, byte[] match) throws IOException {
-        return skipAfter(in, match, null);
-    }
-
-    private static boolean skipAfter(InputStream in, byte[] match, OutputStream out)
-            throws IOException {
-        int found = 0;
-        int len = match.length;
-        int b;
-        while ((b = in.read()) >= 0) {
-            if (b == match[found]) {
-                found++;
-                if (found == len) {
-                    return true;
-                }
-            } else {
-                if (out != null) {
-                    if (found > 0) {
-                        out.write(match, 0, found);
-                    }
-                    out.write(b);
-                }
-                found = 0;
-            }
-        }
-        return false;
-    }
-
-}
-
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java
deleted file mode 100644
index ad7e078..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.iwork;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.commons.compress.archivers.ArchiveEntry;
-import org.apache.commons.compress.archivers.ArchiveInputStream;
-import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
-import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
-import org.apache.commons.compress.archivers.zip.ZipFile;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.CloseShieldInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.EmptyParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * A parser for the IWork container files. This includes *.key, *.pages and *.numbers files.
- * This parser delegates the relevant files to {@link IWorkParser} that parsers the content.
- */
-public class IWorkPackageParser implements Parser {
-
-    private final static Set<MediaType> supportedTypes =
-            Collections.singleton(MediaType.application("vnd.apple.iwork"));
-
-    private final static Set<String> relevantFileNames = Collections.unmodifiableSet(
-            new HashSet<String>(Arrays.asList("index.apxl", "index.xml", "presentation.apxl"))
-    );
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return supportedTypes;
-    }
-
-    public void parse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        ArchiveInputStream zip = new ZipArchiveInputStream(stream);
-        ArchiveEntry entry = zip.getNextEntry();
-        Parser parser = context.get(Parser.class, EmptyParser.INSTANCE);
-        while (entry != null) {
-            if (!relevantFileNames.contains(entry.getName())) {
-                entry = zip.getNextEntry();
-                continue;
-            }
-
-            parser.parse(new CloseShieldInputStream(zip), handler, metadata, context);
-            entry = zip.getNextEntry();
-        }
-        zip.close();
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkParser.java
deleted file mode 100644
index 48b65a4..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkParser.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.iwork;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.CloseShieldInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.OfflineContentHandler;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * A parser for the IWork formats.
- *
- * Currently supported formats:
- * <ol>
- * <li>Keynote format version 2.x. Currently only tested with Keynote version 5.x
- * <li>Pages format version 1.x. Currently only tested with Pages version 4.0.x
- * <li>Numbers format version 1.x. Currently only tested with Numbers version 2.0.x
- * </ol>
- */
-public class IWorkParser implements Parser {
-
-    private final static Set<MediaType> supportedTypes =
-        Collections.unmodifiableSet(new HashSet<MediaType>(Arrays.asList(
-                MediaType.application("vnd.apple.keynote"),
-                MediaType.application("vnd.apple.pages"),
-                MediaType.application("vnd.apple.numbers")
-        )));
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return supportedTypes;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        ContentHandler contentHandler;
-        String contentType = metadata.get(Metadata.CONTENT_TYPE);
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        if ("application/vnd.apple.keynote".equals(contentType)) {
-          contentHandler = new KeynoteContentHandler(xhtml, metadata);
-        } else if ("application/vnd.apple.pages".equals(contentType)) {
-          contentHandler = new PagesContentHandler(xhtml, metadata);
-        } else if ("application/vnd.apple.numbers".equals(contentType)) {
-          contentHandler = new NumbersContentHandler(xhtml, metadata);
-        } else {
-          return;
-        }
-
-        xhtml.startDocument();
-        context.getSAXParser().parse(
-                new CloseShieldInputStream(stream),
-                new OfflineContentHandler(contentHandler)
-        );
-        xhtml.endDocument();
-    }
-
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/KeynoteContentHandler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/KeynoteContentHandler.java
deleted file mode 100644
index 1538d41..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/KeynoteContentHandler.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.iwork;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-class KeynoteContentHandler extends DefaultHandler {
-
-    public final static String PRESENTATION_WIDTH = "slides-width";
-    public final static String PRESENTATION_HEIGHT = "slides-height";
-
-    private final XHTMLContentHandler xhtml;
-    private final Metadata metadata;
-
-    private boolean inSlide = false;
-    private boolean inTheme = false;
-    private boolean inTitle = false;
-    private boolean inBody = false;
-    private String tableId;
-    private Integer numberOfColumns = null;
-    private Integer currentColumn = null;
-
-    private boolean inMetadata = false;
-    private boolean inMetaDataTitle = false;
-    private boolean inMetaDataAuthors = false;
-
-    private boolean inParsableText = false;
-
-    private int numberOfSlides = 0;
-
-    KeynoteContentHandler(XHTMLContentHandler xhtml, Metadata metadata) {
-        this.xhtml = xhtml;
-        this.metadata = metadata;
-    }
-
-    @Override
-    public void endDocument() throws SAXException {
-        metadata.set(Metadata.SLIDE_COUNT, String.valueOf(numberOfSlides));
-    }
-
-    @Override
-    public void startElement(
-            String uri, String localName, String qName, Attributes attributes)
-            throws SAXException {
-        if ("key:theme".equals(qName)) {
-            inTheme = true;
-        } else if ("key:slide".equals(qName)) {
-            inSlide = true;
-            numberOfSlides++;
-            xhtml.startElement("div");
-        } else if ("key:title-placeholder".equals(qName) && inSlide) {
-            inTitle = true;
-            xhtml.startElement("h1");
-        } else if ("sf:sticky-note".equals(qName) && inSlide) {
-            xhtml.startElement("p");
-        } else if ("key:notes".equals(qName) && inSlide) {
-            xhtml.startElement("p");
-        } else if ("key:body-placeholder".equals(qName) && inSlide) {
-            xhtml.startElement("p");
-            inBody = true;
-        } else if ("key:size".equals(qName) && !inTheme) {
-            String width = attributes.getValue("sfa:w");
-            String height = attributes.getValue("sfa:h");
-            metadata.set(PRESENTATION_WIDTH, width);
-            metadata.set(PRESENTATION_HEIGHT, height);
-        } else if ("sf:text-body".equals(qName)) {
-            inParsableText = true;
-        } else if ("key:metadata".equals(qName)) {
-            inMetadata = true;
-        } else if (inMetadata && "key:title".equals(qName)) {
-            inMetaDataTitle = true;
-        } else if (inMetadata && "key:authors".equals(qName)) {
-            inMetaDataAuthors = true;
-        } else if (inMetaDataTitle && "key:string".equals(qName)) {
-            metadata.set(Metadata.TITLE, attributes.getValue("sfa:string"));
-        } else if (inMetaDataAuthors && "key:string".equals(qName)) {
-            metadata.add(Metadata.AUTHOR, attributes.getValue("sfa:string"));
-        } else if (inSlide && "sf:tabular-model".equals(qName)) {
-            tableId = attributes.getValue("sfa:ID");
-            xhtml.startElement("table");
-        } else if (tableId != null && "sf:columns".equals(qName)) {
-            numberOfColumns = Integer.parseInt(attributes.getValue("sf:count"));
-            currentColumn = 0;
-        } else if (tableId != null && "sf:ct".equals(qName)) {
-            parseTableData(attributes.getValue("sfa:s"));
-        } else if (tableId != null && "sf:n".equals(qName)) {
-            parseTableData(attributes.getValue("sf:v"));
-        }
-    }
-
-    @Override
-    public void endElement(String uri, String localName, String qName)
-            throws SAXException {
-        if ("key:theme".equals(qName)) {
-            inTheme = false;
-        } else if ("key:slide".equals(qName)) {
-            inSlide = false;
-            xhtml.endElement("div");
-        } else if ("key:title-placeholder".equals(qName) && inSlide) {
-            inTitle = false;
-            xhtml.endElement("h1");
-        } else if ("sf:sticky-note".equals(qName) && inSlide) {
-            xhtml.endElement("p");
-        } else if ("key:notes".equals(qName) && inSlide) {
-            xhtml.endElement("p");
-        } else if ("key:body-placeholder".equals(qName) && inSlide) {
-            xhtml.endElement("p");
-            inBody = false;
-        } else if ("sf:text-body".equals(qName)) {
-            inParsableText = false;
-        } else if ("key:metadata".equals(qName)) {
-            inMetadata = false;
-        } else if (inMetadata && "key:title".equals(qName)) {
-            inMetaDataTitle = false;
-        } else if (inMetadata && "key:authors".equals(qName)) {
-            inMetaDataAuthors = false;
-        } else if (inSlide && "sf:tabular-model".equals(qName)) {
-            xhtml.endElement("table");
-            tableId = null;
-            numberOfColumns = null;
-            currentColumn = null;
-        }
-    }
-
-    @Override
-    public void characters(char[] ch, int start, int length)
-            throws SAXException {
-        if (inParsableText && inSlide && length != 0) {
-            xhtml.characters(ch, start, length);
-        }
-    }
-
-    private void parseTableData(String value) throws SAXException {
-      if (currentColumn == 0) {
-          xhtml.startElement("tr");
-      }
-
-      xhtml.element("td", value);
-
-      if (currentColumn.equals(numberOfColumns)) {
-          xhtml.endElement("tr");
-      }
-    }
-
-}
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/NumbersContentHandler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/NumbersContentHandler.java
deleted file mode 100644
index e40925c..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/NumbersContentHandler.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.iwork;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-import java.util.HashMap;
-import java.util.Map;
-
-class NumbersContentHandler extends DefaultHandler {
-
-    private final XHTMLContentHandler xhtml;
-    private final Metadata metadata;
-
-    private boolean inSheet = false;
-
-    private boolean inText = false;
-    private boolean parseText = false;
-
-    private boolean inMetadata = false;
-    private String metadataKey;
-    private String metadataPropertyQName;
-
-    private boolean inTable = false;
-    private int numberOfSheets = 0;
-    private int numberOfColumns = -1;
-    private int currentColumn = 0;
-
-    private Map<String, String> menuItems = new HashMap<String, String>();
-    private String currentMenuItemId;
-
-    NumbersContentHandler(XHTMLContentHandler xhtml, Metadata metadata) {
-        this.xhtml = xhtml;
-        this.metadata = metadata;
-    }
-
-    @Override
-    public void endDocument() throws SAXException {
-        metadata.set(Metadata.PAGE_COUNT, String.valueOf(numberOfSheets));
-    }
-
-    @Override
-    public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-        if ("ls:workspace".equals(qName)) {
-            inSheet = true;
-            numberOfSheets++;
-            xhtml.startElement("div");
-            String sheetName = attributes.getValue("ls:workspace-name");
-            metadata.add("sheetNames", sheetName);
-        }
-
-        if ("sf:text".equals(qName)) {
-            inText = true;
-            xhtml.startElement("p");
-        }
-
-        if ("sf:p".equals(qName)) {
-            parseText = true;
-        }
-
-        if ("sf:metadata".equals(qName)) {
-            inMetadata = true;
-            return;
-        }
-
-        if (inMetadata && metadataKey == null) {
-            metadataKey = resolveMetadataKey(localName);
-            metadataPropertyQName = qName;
-        }
-
-        if (inMetadata && metadataKey != null && "sf:string".equals(qName)) {
-            metadata.add(metadataKey, attributes.getValue("sfa:string"));
-        }
-
-        if (!inSheet) {
-            return;
-        }
-
-        if ("sf:tabular-model".equals(qName)) {
-            inTable = true;
-            xhtml.startElement("table");
-            xhtml.startElement("tr");
-            currentColumn = 0;
-//            String tableName = attributes.getValue("sf:name");
-        }
-
-        if ("sf:menu-choices".equals(qName)) {
-            menuItems = new HashMap<String, String>();
-        }
-
-        if (inTable && "sf:grid".equals(qName)) {
-            numberOfColumns = Integer.parseInt(attributes.getValue("sf:numcols"));
-        }
-
-        if (menuItems != null && "sf:t".equals(qName)) {
-            currentMenuItemId = attributes.getValue("sfa:ID");
-        }
-
-        if (currentMenuItemId != null && "sf:ct".equals(qName)) {
-            menuItems.put(currentMenuItemId, attributes.getValue("sfa:s"));
-        }
-
-        if (inTable && "sf:ct".equals(qName)) {
-            if (currentColumn >= numberOfColumns) {
-                currentColumn = 0;
-                xhtml.endElement("tr");
-                xhtml.startElement("tr");
-            }
-
-            xhtml.element("td", attributes.getValue("sfa:s"));
-            currentColumn++;
-        }
-
-        if (inTable && ("sf:n".equals(qName) || "sf:rn".equals(qName))) {
-            if (currentColumn >= numberOfColumns) {
-                currentColumn = 0;
-                xhtml.endElement("tr");
-                xhtml.startElement("tr");
-            }
-
-            xhtml.element("td", attributes.getValue("sf:v"));
-            currentColumn++;
-        }
-
-        if (inTable && "sf:proxied-cell-ref".equals(qName)) {
-            if (currentColumn >= numberOfColumns) {
-                currentColumn = 0;
-                xhtml.endElement("tr");
-                xhtml.startElement("tr");
-            }
-
-            xhtml.element("td", menuItems.get(attributes.getValue("sfa:IDREF")));
-            currentColumn++;
-        }
-    }
-
-    @Override
-    public void characters(char[] ch, int start, int length) throws SAXException {
-        if (parseText && length > 0) {
-            xhtml.characters(ch, start, length);
-        }
-    }
-
-    @Override
-    public void endElement(String uri, String localName, String qName) throws SAXException {
-        if ("ls:workspace".equals(qName)) {
-            inSheet = false;
-            xhtml.endElement("div");
-        }
-
-        if ("sf:text".equals(qName)) {
-            inText = false;
-            xhtml.endElement("p");
-        }
-
-        if ("sf:p".equals(qName)) {
-            parseText = false;
-        }
-
-        if ("sf:metadata".equals(qName)) {
-            inMetadata = false;
-        }
-
-        if (inMetadata && qName.equals(metadataPropertyQName)) {
-            metadataPropertyQName = null;
-            metadataKey = null;
-        }
-
-        if (!inSheet) {
-            return;
-        }
-
-        if ("sf:menu-choices".equals(qName)) {
-        }
-
-        if ("sf:tabular-model".equals(qName)) {
-            inTable = false;
-            xhtml.endElement("tr");
-            xhtml.endElement("table");
-        }
-
-        if (currentMenuItemId != null && "sf:t".equals(qName)) {
-            currentMenuItemId = null;
-        }
-    }
-
-    private String resolveMetadataKey(String localName) {
-        if ("authors".equals(localName)) {
-            return Metadata.AUTHOR;
-        }
-
-        return localName;
-    }
-}
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/PagesContentHandler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/PagesContentHandler.java
deleted file mode 100644
index 9d53fb7..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/PagesContentHandler.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.iwork;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.Property;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-class PagesContentHandler extends DefaultHandler {
-
-    private final XHTMLContentHandler xhtml;
-    private final Metadata metadata;
-
-    private boolean inMetaDataPart = false;
-    private boolean parseProperty = false;
-    private boolean inParsableText = false;
-    private int pageCount = 0;
-
-    private Map<String, List<List<String>>> tableData =
-        new HashMap<String, List<List<String>>>();
-    private String activeTableId;
-    private int numberOfColumns = 0;
-    private List<String> activeRow = new ArrayList<String>();
-
-    private String metaDataLocalName;
-    private String metaDataQName;
-
-    PagesContentHandler(XHTMLContentHandler xhtml, Metadata metadata) {
-        this.xhtml = xhtml;
-        this.metadata = metadata;
-    }
-
-    @Override
-    public void endDocument() throws SAXException {
-        metadata.set(Metadata.PAGE_COUNT, String.valueOf(pageCount));
-        if (pageCount > 0) {
-            xhtml.endElement("div");
-        }
-    }
-
-    @Override
-    public void startElement(
-            String uri, String localName, String qName, Attributes attributes)
-            throws SAXException {
-        if (parseProperty) {
-            String value = parsePrimitiveElementValue(qName, attributes);
-            if (value != null) {
-                Object metaDataKey = resolveMetaDataKey(metaDataLocalName);
-                if(metaDataKey instanceof Property) {
-                    metadata.set((Property)metaDataKey, value);
-                } else {
-                    metadata.add((String)metaDataKey, value);
-                }
-            }
-        }
-
-        if ("sl:publication-info".equals(qName)) {
-            inMetaDataPart = true;
-        } else if ("sf:metadata".equals(qName)) {
-            inMetaDataPart = true;
-        } else if ("sf:page-start".equals(qName)) {
-            if (pageCount > 0) {
-                xhtml.endElement("div");
-            }
-            xhtml.startElement("div");
-            pageCount++;
-        } else if ("sf:p".equals(qName) && pageCount > 0) {
-            inParsableText = true;
-            xhtml.startElement("p");
-        } else if ("sf:attachment".equals(qName)) {
-            String kind = attributes.getValue("sf:kind");
-            if ("tabular-attachment".equals(kind)) {
-                activeTableId = attributes.getValue("sfa:ID");
-                tableData.put(activeTableId, new ArrayList<List<String>>());
-            }
-        } else if ("sf:attachment-ref".equals(qName)) {
-            String idRef = attributes.getValue("sfa:IDREF");
-            outputTable(idRef);
-        }
-
-        if (activeTableId != null) {
-            parseTableData(qName, attributes);
-        }
-
-        if (inMetaDataPart) {
-            metaDataLocalName = localName;
-            metaDataQName = qName;
-            parseProperty = true;
-        }
-    }
-
-    @Override
-    public void endElement(String uri, String localName, String qName)
-            throws SAXException {
-        if (metaDataLocalName != null && metaDataLocalName.equals(localName)) {
-            metaDataLocalName = null;
-            parseProperty = false;
-        }
-
-        if ("sl:publication-info".equals(qName)) {
-            inMetaDataPart = false;
-        } else if ("sf:metadata".equals(qName)) {
-            inMetaDataPart = false;
-        } else if ("sf:p".equals(qName) && pageCount > 0) {
-            inParsableText = false;
-            xhtml.endElement("p");
-        } else if ("sf:attachment".equals(qName)) {
-            activeTableId = null;
-        }
-    }
-
-    @Override
-    public void characters(char[] ch, int start, int length) throws SAXException {
-        if (inParsableText && length > 0) {
-            xhtml.characters(ch, start, length);
-        }
-    }
-
-    private void parseTableData(String qName, Attributes attributes) {
-        if ("sf:grid".equals(qName)) {
-            String numberOfColumns = attributes.getValue("sf:numcols");
-            this.numberOfColumns = Integer.parseInt(numberOfColumns);
-        } else if ("sf:ct".equals(qName)) {
-            activeRow.add(attributes.getValue("sfa:s"));
-
-            if (activeRow.size() >= 3) {
-                tableData.get(activeTableId).add(activeRow);
-                activeRow = new ArrayList<String>();
-            }
-        }
-    }
-
-    private void outputTable(String idRef) throws SAXException {
-        List<List<String>> tableData = this.tableData.get(idRef);
-        if (tableData != null) {
-            xhtml.startElement("table");
-            for (List<String> row : tableData) {
-                xhtml.startElement("tr");
-                for (String cell : row) {
-                    xhtml.element("td", cell);
-                }
-                xhtml.endElement("tr");
-            }
-            xhtml.endElement("table");
-        }
-    }
-
-    /**
-     * Returns a resolved key that is common in other document types or
-     * returns the specified metaDataLocalName if no common key could be found.
-     * The key could be a simple String key, or could be a {@link Property}
-     *
-     * @param metaDataLocalName The localname of the element containing metadata
-     * @return a resolved key that is common in other document types
-     */
-    private Object resolveMetaDataKey(String metaDataLocalName) {
-        Object metaDataKey = metaDataLocalName;
-        if ("sf:authors".equals(metaDataQName)) {
-            metaDataKey = Metadata.AUTHOR;
-        } else if ("sf:title".equals(metaDataQName)) {
-            metaDataKey = Metadata.TITLE;
-        } else if ("sl:SLCreationDateProperty".equals(metaDataQName)) {
-            metaDataKey = Metadata.CREATION_DATE;
-        } else if ("sl:SLLastModifiedDateProperty".equals(metaDataQName)) {
-            metaDataKey = Metadata.LAST_MODIFIED;
-        } else if ("sl:language".equals(metaDataQName)) {
-            metaDataKey = Metadata.LANGUAGE;
-        }
-        return metaDataKey;
-    }
-
-    /**
-     * Returns the value of a primitive element e.g.:
-     * &lt;sl:number sfa:number="0" sfa:type="f"/&gt; - the number attribute
-     * &lt;sl:string sfa:string="en"/&gt; = the string attribute
-     * <p>
-     * Returns <code>null</code> if the value could not be extracted from
-     * the list of attributes.
-     *
-     * @param qName      The fully qualified name of the element containing
-     *                   the value to extract
-     * @param attributes The list of attributes of which one contains the
-     *                   value to be extracted
-     * @return the value of a primitive element
-     */
-    private String parsePrimitiveElementValue(
-            String qName, Attributes attributes) {
-        if ("sl:string".equals(qName) || "sf:string".equals(qName)) {
-            return attributes.getValue("sfa:string");
-        } else if ("sl:number".equals(qName)) {
-            return attributes.getValue("sfa:number");
-        } else if ("sl:date".equals(qName)) {
-            return attributes.getValue("sf:val");
-        }
-
-        return null;
-    }
-
-}
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/jpeg/JpegParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/jpeg/JpegParser.java
deleted file mode 100644
index 5924fc1..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/jpeg/JpegParser.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.jpeg;
-
-import java.io.FilterInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.parser.image.ImageMetadataExtractor;
-import org.apache.tika.parser.image.xmp.JempboxExtractor;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-public class JpegParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.singleton(MediaType.image("jpeg"));
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        
-        // read stream twice - exif and xmp extractors
-        stream.mark(Integer.MAX_VALUE);
-        FilterInputStream first = new FilterInputStream(stream) {
-            @Override
-            public void close() throws IOException {
-            }
-        };
-        new ImageMetadataExtractor(metadata).parseJpeg(first);
-        stream.reset();
-        
-        new JempboxExtractor(metadata).parse(stream);
-
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-        xhtml.endDocument();
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java
deleted file mode 100644
index 783ccea..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mail;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.james.mime4j.MimeException;
-import org.apache.james.mime4j.descriptor.BodyDescriptor;
-import org.apache.james.mime4j.field.AbstractField;
-import org.apache.james.mime4j.field.MailboxListField;
-import org.apache.james.mime4j.field.UnstructuredField;
-import org.apache.james.mime4j.field.address.MailboxList;
-import org.apache.james.mime4j.parser.ContentHandler;
-import org.apache.james.mime4j.parser.Field;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.apache.tika.sax.EmbeddedContentHandler;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Bridge between mime4j's content handler and the generic Sax content handler
- * used by Tika. See
- * http://james.apache.org/mime4j/apidocs/org/apache/james/mime4j/parser/ContentHandler.html
- */
-class MailContentHandler implements ContentHandler {
-
-    private XHTMLContentHandler handler;
-    private Metadata metadata;
-
-    private boolean inPart = false;
-
-    MailContentHandler(XHTMLContentHandler xhtml, Metadata metadata) {
-        this.handler = xhtml;
-        this.metadata = metadata;
-    }
-
-    public void body(BodyDescriptor body, InputStream is) throws MimeException,
-            IOException {
-        // call the underlying parser for the part
-        // TODO how to retrieve a non-default config?
-        AutoDetectParser parser = new AutoDetectParser();
-        // use a different metadata object
-        // in order to specify the mime type of the
-        // sub part without damaging the main metadata
-
-        Metadata submd = new Metadata();
-        submd.set(Metadata.CONTENT_TYPE, body.getMimeType());
-        submd.set(Metadata.CONTENT_ENCODING, body.getCharset());
-
-        try {
-            BodyContentHandler bch = new BodyContentHandler(handler);
-            parser.parse(is, new EmbeddedContentHandler(bch), submd);
-        } catch (SAXException e) {
-            e.printStackTrace();
-        } catch (TikaException e) {
-            e.printStackTrace();
-        }
-    }
-
-    public void endBodyPart() throws MimeException {
-        try {
-            handler.endElement("p");
-            handler.endElement("div");
-        } catch (SAXException e) {
-            e.printStackTrace();
-        }
-    }
-
-    public void endHeader() throws MimeException {
-    }
-
-    public void startMessage() throws MimeException {
-        try {
-            handler.startDocument();
-        } catch (SAXException e) {
-            e.printStackTrace();
-        }
-    }
-
-    public void endMessage() throws MimeException {
-        try {
-            handler.endDocument();
-        } catch (SAXException e) {
-            e.printStackTrace();
-        }
-    }
-
-    public void endMultipart() throws MimeException {
-        inPart = false;
-    }
-
-    public void epilogue(InputStream is) throws MimeException, IOException {
-    }
-
-    /**
-     * Header for the whole message or its parts
-     * 
-     * @see http 
-     *      ://james.apache.org/mime4j/apidocs/org/apache/james/mime4j/parser/
-     *      Field.html
-     **/
-    public void field(Field field) throws MimeException {
-        // inPart indicates whether these metadata correspond to the
-        // whole message or its parts
-        if (inPart)
-            return;
-        // TODO add metadata to the parts later
-        String fieldname = field.getName();
-        if (fieldname.equalsIgnoreCase("From")) {
-        	MailboxListField fromField = (MailboxListField) AbstractField.parse(field.getRaw());
-        	MailboxList mailboxList = fromField.getMailboxList();
-        	for (int i = 0; i < mailboxList.size(); ++i) {
-                metadata.add(Metadata.AUTHOR, mailboxList.get(i).getDisplayString());        		
-        	}
-        } else if (fieldname.equalsIgnoreCase("Subject")) {
-        	UnstructuredField subjectField = (UnstructuredField) AbstractField.parse(field.getRaw());
-            metadata.add(Metadata.SUBJECT, subjectField.getValue());
-        }
-    }
-
-    public void preamble(InputStream is) throws MimeException, IOException {
-    }
-
-    public void raw(InputStream is) throws MimeException, IOException {
-    }
-
-    public void startBodyPart() throws MimeException {
-        try {
-            handler.startElement("div", "class", "email-entry");
-            handler.startElement("p");
-        } catch (SAXException e) {
-            e.printStackTrace();
-        }
-    }
-
-    public void startHeader() throws MimeException {
-        // TODO Auto-generated method stub
-
-    }
-
-    public void startMultipart(BodyDescriptor descr) throws MimeException {
-        inPart = true;
-    }
-
-}
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mail/RFC822Parser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mail/RFC822Parser.java
deleted file mode 100644
index ec31388..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mail/RFC822Parser.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mail;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
-import org.apache.james.mime4j.MimeException;
-import org.apache.james.mime4j.parser.MimeStreamParser;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Uses apache-mime4j to parse emails. Each part is treated with the
- * corresponding parser and displayed within elements.
- * 
- * @author jnioche@digitalpebble.com
- **/
-public class RFC822Parser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES = Collections
-            .singleton(MediaType.parse("message/rfc822"));
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context) throws IOException,
-            SAXException, TikaException {
-        MimeStreamParser parser = new MimeStreamParser();
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-
-        MailContentHandler mch = new MailContentHandler(xhtml, metadata);
-        parser.setContentHandler(mch);
-        parser.setContentDecoding(true);
-        try {
-            parser.parse(stream);
-        } catch (MimeException e) {
-            throw new TikaException(e.getMessage());
-        }
-    }
-
-    public void parse(InputStream stream, ContentHandler handler,
-            Metadata metadata) throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java
deleted file mode 100644
index b51f532..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mbox;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Collections;
-import java.util.Date;
-import java.util.Locale;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Mbox (mailbox) parser. This version returns the headers for the first email
- * via metadata, which means headers from subsequent emails will be lost.
- */
-public class MboxParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.singleton(MediaType.application("mbox"));
-
-    public static final String MBOX_MIME_TYPE = "application/mbox";
-    public static final String MBOX_RECORD_DIVIDER = "From ";
-    private static final Pattern EMAIL_HEADER_PATTERN = Pattern.compile("([^ ]+):[ \t]*(.*)");
-    private static final Pattern EMAIL_ADDRESS_PATTERN = Pattern.compile("<(.*@.*)>");
-
-    private static final String EMAIL_HEADER_METADATA_PREFIX = "MboxParser-";
-    private static final String EMAIL_FROMLINE_METADATA = EMAIL_HEADER_METADATA_PREFIX + "from";
-
-    private enum ParseStates {
-        START, IN_HEADER, IN_CONTENT
-    }
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, TikaException, SAXException {
-
-        InputStreamReader isr;
-        try {
-            // Headers are going to be 7-bit ascii
-            isr = new InputStreamReader(stream, "US-ASCII");
-        } catch (UnsupportedEncodingException e) {
-            throw new TikaException("US-ASCII is not supported!", e);
-        }
-
-        BufferedReader reader = new BufferedReader(isr);
-
-        metadata.set(Metadata.CONTENT_TYPE, MBOX_MIME_TYPE);
-        metadata.set(Metadata.CONTENT_ENCODING, "us-ascii");
-
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-
-        ParseStates parseState = ParseStates.START;
-        String multiLine = null;
-        boolean inQuote = false;
-        int numEmails = 0;
-
-        // We're going to scan, line-by-line, for a line that starts with
-        // "From "
-        for (String curLine = reader.readLine(); curLine != null; curLine = reader.readLine()) {
-            boolean newMessage = curLine.startsWith(MBOX_RECORD_DIVIDER);
-            if (newMessage) {
-                numEmails += 1;
-            }
-
-            switch (parseState) {
-            case START:
-                if (newMessage) {
-                    parseState = ParseStates.IN_HEADER;
-                    newMessage = false;
-                    // Fall through to IN_HEADER
-                } else {
-                    break;
-                }
-
-            case IN_HEADER:
-                if (newMessage) {
-                    saveHeaderInMetadata(numEmails, metadata, multiLine);
-                    multiLine = curLine;
-                } else if (curLine.length() == 0) {
-                    // Blank line is signal that we're transitioning to the content.
-                    saveHeaderInMetadata(numEmails, metadata, multiLine);
-                    parseState = ParseStates.IN_CONTENT;
-
-                    // Mimic what PackageParser does between entries.
-                    xhtml.startElement("div", "class", "email-entry");
-                    xhtml.startElement("p");
-                    inQuote = false;
-                } else if (curLine.startsWith(" ") || curLine.startsWith("\t")) {
-                    multiLine += " " + curLine.trim();
-                } else {
-                    saveHeaderInMetadata(numEmails, metadata, multiLine);
-                    multiLine = curLine;
-                }
-
-                break;
-
-                // TODO - use real email parsing support so we can correctly handle
-                // things like multipart messages and quoted-printable encoding.
-                // We'd also want this for charset handling, where content isn't 7-bit
-                // ascii.
-            case IN_CONTENT:
-                if (newMessage) {
-                    endMessage(xhtml, inQuote);
-                    parseState = ParseStates.IN_HEADER;
-                    multiLine = curLine;
-                } else {
-                    boolean quoted = curLine.startsWith(">");
-                    if (inQuote) {
-                        if (!quoted) {
-                            xhtml.endElement("q");
-                            inQuote = false;
-                        }
-                    } else if (quoted) {
-                        xhtml.startElement("q");
-                        inQuote = true;
-                    }
-
-                    xhtml.characters(curLine);
-
-                    // For plain text email, each line is a real break position.
-                    xhtml.element("br", "");
-                }
-            }
-        }
-
-        if (parseState == ParseStates.IN_HEADER) {
-            saveHeaderInMetadata(numEmails, metadata, multiLine);
-        } else if (parseState == ParseStates.IN_CONTENT) {
-            endMessage(xhtml, inQuote);
-        }
-
-        xhtml.endDocument();
-    }
-
-    private void endMessage(XHTMLContentHandler xhtml, boolean inQuote) throws SAXException {
-        if (inQuote) {
-            xhtml.endElement("q");
-        }
-
-        xhtml.endElement("p");
-        xhtml.endElement("div");
-    }
-
-    private void saveHeaderInMetadata(int numEmails, Metadata metadata, String curLine) {
-        if ((curLine == null) || (numEmails > 1)) {
-            return;
-        } else if (curLine.startsWith(MBOX_RECORD_DIVIDER)) {
-            metadata.add(EMAIL_FROMLINE_METADATA, curLine.substring(MBOX_RECORD_DIVIDER.length()));
-            return;
-        }
-
-        Matcher headerMatcher = EMAIL_HEADER_PATTERN.matcher(curLine);
-        if (!headerMatcher.matches()) {
-            return; // ignore malformed header lines
-        }
-
-        String headerTag = headerMatcher.group(1).toLowerCase();
-        String headerContent = headerMatcher.group(2);
-
-        if (headerTag.equalsIgnoreCase("From")) {
-            metadata.add(Metadata.AUTHOR, headerContent);
-            metadata.add(Metadata.CREATOR, headerContent);
-        } else if (headerTag.equalsIgnoreCase("To") ||
-        	headerTag.equalsIgnoreCase("Cc") ||
-        	headerTag.equalsIgnoreCase("Bcc")) {
-            Matcher address = EMAIL_ADDRESS_PATTERN.matcher(headerContent);
-            if(address.find()) {
-        	metadata.add(Metadata.MESSAGE_RECIPIENT_ADDRESS, address.group(1));
-            } else if(headerContent.indexOf('@') > -1) {
-        	metadata.add(Metadata.MESSAGE_RECIPIENT_ADDRESS, headerContent);
-            }
-            
-            String property = Metadata.MESSAGE_TO;
-            if (headerTag.equalsIgnoreCase("Cc")) {
-        	property = Metadata.MESSAGE_CC;
-            } else if (headerTag.equalsIgnoreCase("Bcc")) {
-        	property = Metadata.MESSAGE_BCC;
-            }
-            metadata.add(property, headerContent);
-        } else if (headerTag.equalsIgnoreCase("Subject")) {
-            metadata.add(Metadata.SUBJECT, headerContent);
-            metadata.add(Metadata.TITLE, headerContent);
-        } else if (headerTag.equalsIgnoreCase("Date")) {
-            try {
-                metadata.set(Metadata.DATE, parseDate(headerContent));
-            } catch (ParseException e) {
-                // ignoring date because format was not understood
-            }
-        } else if (headerTag.equalsIgnoreCase("Message-Id")) {
-            metadata.add(Metadata.IDENTIFIER, headerContent);
-        } else if (headerTag.equalsIgnoreCase("In-Reply-To")) {
-            metadata.add(Metadata.RELATION, headerContent);
-        } else if (headerTag.equalsIgnoreCase("Content-Type")) {
-            // TODO - key off content-type in headers to
-            // set mapping to use for content and convert if necessary.
-
-            metadata.add(Metadata.CONTENT_TYPE, headerContent);
-            metadata.add(Metadata.FORMAT, headerContent);
-        } else {
-            metadata.add(EMAIL_HEADER_METADATA_PREFIX + headerTag, headerContent);
-        }
-    }
-    
-    private Date parseDate(String headerContent) throws ParseException {
-        SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.US);
-        return dateFormat.parse(headerContent);
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java
deleted file mode 100644
index a295994..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.poi.poifs.filesystem.DirectoryEntry;
-import org.apache.poi.poifs.filesystem.DocumentEntry;
-import org.apache.poi.poifs.filesystem.DocumentInputStream;
-import org.apache.poi.poifs.filesystem.Entry;
-import org.apache.poi.poifs.filesystem.Ole10Native;
-import org.apache.poi.poifs.filesystem.Ole10NativeException;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.poi.util.IOUtils;
-import org.apache.tika.detect.ZipContainerDetector;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.extractor.EmbeddedDocumentExtractor;
-import org.apache.tika.extractor.ParsingEmbeddedDocumentExtractor;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.microsoft.OfficeParser.POIFSDocumentType;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.SAXException;
-
-abstract class AbstractPOIFSExtractor {
-
-    private final EmbeddedDocumentExtractor extractor;
-
-    protected AbstractPOIFSExtractor(ParseContext context) {
-        EmbeddedDocumentExtractor ex = context.get(EmbeddedDocumentExtractor.class);
-
-        if (ex==null) {
-            this.extractor = new ParsingEmbeddedDocumentExtractor(context);
-        } else {
-            this.extractor = ex;
-        }
-    }
-    
-    protected void handleEmbeddedResource(TikaInputStream resource, String filename,
-          String mediaType, XHTMLContentHandler xhtml, boolean outputHtml)
-          throws IOException, SAXException, TikaException {
-       try {
-           Metadata metadata = new Metadata();
-           if(filename != null) {
-              metadata.set(Metadata.TIKA_MIME_FILE, filename);
-              metadata.set(Metadata.RESOURCE_NAME_KEY, filename);
-           }
-           if(mediaType != null) {
-              metadata.set(Metadata.CONTENT_TYPE, mediaType);
-           }
-
-           if (extractor.shouldParseEmbedded(metadata)) {
-               extractor.parseEmbedded(resource, xhtml, metadata, outputHtml);
-           }
-       } finally {
-           resource.close();
-       }
-    }
-
-    /**
-     * Handle an office document that's embedded at the POIFS level
-     */
-    protected void handleEmbededOfficeDoc(
-            DirectoryEntry dir, XHTMLContentHandler xhtml)
-            throws IOException, SAXException, TikaException {
-        // Is it an embedded OLE2 document, or an embedded OOXML document?
-        try {
-            Entry ooxml = dir.getEntry("Package");
-
-            // It's OOXML
-            TikaInputStream stream = TikaInputStream.get(
-                    new DocumentInputStream((DocumentEntry) ooxml));
-            try {
-                ZipContainerDetector detector = new ZipContainerDetector();
-                MediaType type = detector.detect(stream, new Metadata());
-                handleEmbeddedResource(stream, null, type.toString(), xhtml, true);
-                return;
-            } finally {
-                stream.close();
-            }
-        } catch(FileNotFoundException e) {
-            // It's regular OLE2
-        }
-
-       // Need to dump the directory out to a new temp file, so
-       //  it's stand along
-       POIFSFileSystem newFS = new POIFSFileSystem();
-       copy(dir, newFS.getRoot());
-
-       File tmpFile = File.createTempFile("tika", ".ole2");
-       try {
-           FileOutputStream out = new FileOutputStream(tmpFile);
-           newFS.writeFilesystem(out);
-           out.close();
-
-           // What kind of document is it?
-           Metadata metadata = new Metadata();
-           POIFSDocumentType type = POIFSDocumentType.detectType(dir);
-
-           TikaInputStream embedded;
-
-           if (type==POIFSDocumentType.OLE10_NATIVE) {
-               Entry entry = dir.getEntry(Ole10Native.OLE10_NATIVE);
-               ByteArrayOutputStream bos = new ByteArrayOutputStream();
-               IOUtils.copy(new DocumentInputStream((DocumentEntry) entry), bos);
-               byte[] data = bos.toByteArray();
-
-               try {
-                    Ole10Native ole = new Ole10Native(data, 0);
-                    byte[] dataBuffer = ole.getDataBuffer();
-
-                    metadata.set("resourceName", dir.getName() + '/' + ole.getLabel());
-
-                    embedded = TikaInputStream.get(dataBuffer);
-               } catch (Ole10NativeException ex) {
-                 embedded = TikaInputStream.get(data);
-               }
-           } else {
-               metadata.set(Metadata.CONTENT_TYPE, type.getType().toString());
-               metadata.set(Metadata.RESOURCE_NAME_KEY, dir.getName() + '.' + type.getExtension());
-
-               embedded = TikaInputStream.get(tmpFile);
-           }
-
-           try {
-               if (extractor.shouldParseEmbedded(metadata)) {
-                   extractor.parseEmbedded(embedded, xhtml, metadata, true);
-               }
-           } finally {
-               embedded.close();
-           }
-       } finally {
-           tmpFile.delete();
-       }
-    }
-
-    protected void copy(DirectoryEntry sourceDir, DirectoryEntry destDir)
-            throws IOException {
-        for (Entry entry : sourceDir) {
-            if (entry instanceof DirectoryEntry) {
-                // Need to recurse
-                DirectoryEntry newDir = destDir.createDirectory(entry.getName());
-                copy((DirectoryEntry)entry, newDir);
-            } else {
-                // Copy entry
-                InputStream contents = new DocumentInputStream((DocumentEntry)entry); 
-                destDir.createDocument(entry.getName(), contents);
-            }
-        }
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/Cell.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/Cell.java
deleted file mode 100644
index 0aae55c..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/Cell.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Cell of content. Classes that implement this interface are used by
- * Tika parsers (currently just the MS Excel parser) to keep track of
- * individual pieces of content before they are rendered to the XHTML
- * SAX event stream.
- */
-public interface Cell {
-
-    /**
-     * Renders the content to the given XHTML SAX event stream.
-     *
-     * @param handler
-     * @throws SAXException
-     */
-    void render(XHTMLContentHandler handler) throws SAXException;
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/CellDecorator.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/CellDecorator.java
deleted file mode 100644
index fda9b58..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/CellDecorator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Cell decorator.
- */
-public class CellDecorator implements Cell {
-
-    private final Cell cell;
-
-    public CellDecorator(Cell cell) {
-        this.cell = cell;
-    }
-
-    public void render(XHTMLContentHandler handler) throws SAXException {
-        cell.render(handler);
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java
deleted file mode 100644
index 280cac9..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java
+++ /dev/null
@@ -1,592 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import java.awt.Point;
-import java.io.IOException;
-import java.text.NumberFormat;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
-import org.apache.poi.ddf.EscherBSERecord;
-import org.apache.poi.ddf.EscherBitmapBlip;
-import org.apache.poi.ddf.EscherBlipRecord;
-import org.apache.poi.ddf.EscherMetafileBlip;
-import org.apache.poi.ddf.EscherRecord;
-import org.apache.poi.hssf.eventusermodel.FormatTrackingHSSFListener;
-import org.apache.poi.hssf.eventusermodel.HSSFEventFactory;
-import org.apache.poi.hssf.eventusermodel.HSSFListener;
-import org.apache.poi.hssf.eventusermodel.HSSFRequest;
-import org.apache.poi.hssf.record.BOFRecord;
-import org.apache.poi.hssf.record.BoundSheetRecord;
-import org.apache.poi.hssf.record.CellValueRecordInterface;
-import org.apache.poi.hssf.record.CountryRecord;
-import org.apache.poi.hssf.record.DateWindow1904Record;
-import org.apache.poi.hssf.record.DrawingGroupRecord;
-import org.apache.poi.hssf.record.EOFRecord;
-import org.apache.poi.hssf.record.ExtendedFormatRecord;
-import org.apache.poi.hssf.record.FormatRecord;
-import org.apache.poi.hssf.record.FormulaRecord;
-import org.apache.poi.hssf.record.HyperlinkRecord;
-import org.apache.poi.hssf.record.LabelRecord;
-import org.apache.poi.hssf.record.LabelSSTRecord;
-import org.apache.poi.hssf.record.NumberRecord;
-import org.apache.poi.hssf.record.RKRecord;
-import org.apache.poi.hssf.record.Record;
-import org.apache.poi.hssf.record.SSTRecord;
-import org.apache.poi.hssf.record.TextObjectRecord;
-import org.apache.poi.hssf.record.chart.SeriesTextRecord;
-import org.apache.poi.hssf.record.common.UnicodeString;
-import org.apache.poi.poifs.filesystem.DirectoryEntry;
-import org.apache.poi.poifs.filesystem.DocumentInputStream;
-import org.apache.poi.poifs.filesystem.Entry;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Excel parser implementation which uses POI's Event API
- * to handle the contents of a Workbook.
- * <p>
- * The Event API uses a much smaller memory footprint than
- * <code>HSSFWorkbook</code> when processing excel files
- * but at the cost of more complexity.
- * <p>
- * With the Event API a <i>listener</i> is registered for
- * specific record types and those records are created,
- * fired off to the listener and then discarded as the stream
- * is being processed.
- *
- * @see org.apache.poi.hssf.eventusermodel.HSSFListener
- * @see <a href="http://poi.apache.org/hssf/how-to.html#event_api">
- * POI Event API How To</a>
- */
-public class ExcelExtractor extends AbstractPOIFSExtractor {
-
-    /**
-     * <code>true</code> if the HSSFListener should be registered
-     * to listen for all records or <code>false</code> (the default)
-     * if the listener should be configured to only receive specified
-     * records.
-     */
-    private boolean listenForAllRecords = false;
-
-    public ExcelExtractor(ParseContext context) {
-        super(context);
-    }
-
-    /**
-     * Returns <code>true</code> if this parser is configured to listen
-     * for all records instead of just the specified few.
-     */
-    public boolean isListenForAllRecords() {
-        return listenForAllRecords;
-    }
-
-    /**
-     * Specifies whether this parser should to listen for all
-     * records or just for the specified few.
-     * <p>
-     * <strong>Note:</strong> Under normal operation this setting should
-     * be <code>false</code> (the default), but you can experiment with
-     * this setting for testing and debugging purposes.
-     *
-     * @param listenForAllRecords <code>true</code> if the HSSFListener
-     * should be registered to listen for all records or <code>false</code>
-     * if the listener should be configured to only receive specified records.
-     */
-    public void setListenForAllRecords(boolean listenForAllRecords) {
-        this.listenForAllRecords = listenForAllRecords;
-    }
-
-    /**
-     * Extracts text from an Excel Workbook writing the extracted content
-     * to the specified {@link Appendable}.
-     *
-     * @param filesystem POI file system
-     * @throws IOException if an error occurs processing the workbook
-     * or writing the extracted content
-     */
-    protected void parse(
-            POIFSFileSystem filesystem, XHTMLContentHandler xhtml,
-            Locale locale) throws IOException, SAXException, TikaException {
-        TikaHSSFListener listener = new TikaHSSFListener(xhtml, locale, this);
-        listener.processFile(filesystem, isListenForAllRecords());
-        listener.throwStoredException();
-
-        for (Entry entry : filesystem.getRoot()) {
-            if (entry.getName().startsWith("MBD")
-                    && entry instanceof DirectoryEntry) {
-                try {
-                    handleEmbededOfficeDoc((DirectoryEntry) entry, xhtml);
-                } catch (TikaException e) {
-                    // ignore parse errors from embedded documents
-                }
-            }
-         }
-    }
-
-    // ======================================================================
-
-    /**
-     * HSSF Listener implementation which processes the HSSF records.
-     */
-    private static class TikaHSSFListener implements HSSFListener {
-
-        /**
-         * XHTML content handler to which the document content is rendered.
-         */
-        private final XHTMLContentHandler handler;
-        
-        /**
-         * The POIFS Extractor, used for embeded resources.
-         */
-        private final AbstractPOIFSExtractor extractor;
-
-        /**
-         * Potential exception thrown by the content handler. When set to
-         * non-<code>null</code>, causes all subsequent HSSF records to be
-         * ignored and the stored exception to be thrown when
-         * {@link #throwStoredException()} is invoked.
-         */
-        private Exception exception = null;
-
-        private SSTRecord sstRecord;
-        
-        private short previousSid;
-
-        /**
-         * Internal <code>FormatTrackingHSSFListener</code> to handle cell
-         * formatting within the extraction.
-         */
-        private FormatTrackingHSSFListener formatListener;
-
-        /**
-         * List of worksheet names.
-         */
-        private List<String> sheetNames = new ArrayList<String>();
-
-        /**
-         * Index of the current worksheet within the workbook.
-         * Used to find the worksheet name in the {@link #sheetNames} list.
-         */
-        private short currentSheetIndex;
-
-        /**
-         * Content of the current worksheet, or <code>null</code> if no
-         * worksheet is currently active.
-         */
-        private SortedMap<Point, Cell> currentSheet = null;
-        
-        /**
-         * Extra text or cells that crops up, typically as part of a
-         *  worksheet but not always.
-         */
-        private List<Cell> extraTextCells = new ArrayList<Cell>();
-
-        /**
-         * Format for rendering numbers in the worksheet. Currently we just
-         * use the platform default formatting.
-         *
-         * @see <a href="https://issues.apache.org/jira/browse/TIKA-103">TIKA-103</a>
-         */
-        private final NumberFormat format;
-        
-        /**
-         * These aren't complete when we first see them, as the
-         *  depend on continue records that aren't always
-         *  contiguous. Collect them for later processing.
-         */
-        private List<DrawingGroupRecord> drawingGroups = new ArrayList<DrawingGroupRecord>();
-
-        /**
-         * Construct a new listener instance outputting parsed data to
-         * the specified XHTML content handler.
-         *
-         * @param handler Destination to write the parsed output to
-         */
-        private TikaHSSFListener(XHTMLContentHandler handler, Locale locale, AbstractPOIFSExtractor extractor) {
-            this.handler = handler;
-            this.extractor = extractor;
-            this.format = NumberFormat.getInstance(locale);
-            this.formatListener = new FormatTrackingHSSFListener(this, locale);
-        }
-
-        /**
-         * Entry point to listener to start the processing of a file.
-         *
-         * @param filesystem POI file system.
-         * @param listenForAllRecords sets whether the listener is configured to listen
-         * for all records types or not.
-         * @throws IOException on any IO errors.
-         * @throws SAXException on any SAX parsing errors.
-         */
-    	public void processFile(POIFSFileSystem filesystem, boolean listenForAllRecords)
-    		throws IOException, SAXException, TikaException {
-
-    		// Set up listener and register the records we want to process
-            HSSFRequest hssfRequest = new HSSFRequest();
-            if (listenForAllRecords) {
-                hssfRequest.addListenerForAllRecords(formatListener);
-            } else {
-                hssfRequest.addListener(formatListener, BOFRecord.sid);
-                hssfRequest.addListener(formatListener, EOFRecord.sid);
-                hssfRequest.addListener(formatListener, DateWindow1904Record.sid);
-                hssfRequest.addListener(formatListener, CountryRecord.sid);
-                hssfRequest.addListener(formatListener, BoundSheetRecord.sid);
-                hssfRequest.addListener(formatListener, SSTRecord.sid);
-                hssfRequest.addListener(formatListener, FormulaRecord.sid);
-                hssfRequest.addListener(formatListener, LabelRecord.sid);
-                hssfRequest.addListener(formatListener, LabelSSTRecord.sid);
-                hssfRequest.addListener(formatListener, NumberRecord.sid);
-                hssfRequest.addListener(formatListener, RKRecord.sid);
-                hssfRequest.addListener(formatListener, HyperlinkRecord.sid);
-                hssfRequest.addListener(formatListener, TextObjectRecord.sid);
-                hssfRequest.addListener(formatListener, SeriesTextRecord.sid);
-                hssfRequest.addListener(formatListener, FormatRecord.sid);
-                hssfRequest.addListener(formatListener, ExtendedFormatRecord.sid);
-                hssfRequest.addListener(formatListener, DrawingGroupRecord.sid);
-            }
-
-            // Create event factory and process Workbook (fire events)
-            DocumentInputStream documentInputStream = filesystem.createDocumentInputStream("Workbook");
-            HSSFEventFactory eventFactory = new HSSFEventFactory();
-            eventFactory.processEvents(hssfRequest, documentInputStream);
-            
-            // Output any extra text that came after all the sheets
-            processExtraText(); 
-            
-            // Look for embeded images, now that the drawing records
-            //  have been fully matched with their continue data
-            for(DrawingGroupRecord dgr : drawingGroups) {
-               dgr.decode();
-               findPictures(dgr.getEscherRecords());
-            }
-    	}
-
-        /**
-         * Process a HSSF record.
-         *
-         * @param record HSSF Record
-         */
-        public void processRecord(Record record) {
-            if (exception == null) {
-                try {
-                    internalProcessRecord(record);
-                } catch (TikaException te) {
-                   exception = te;
-                } catch (IOException ie) {
-                    exception = ie;
-                } catch (SAXException se) {
-                    exception = se;
-                }
-            }
-        }
-
-        public void throwStoredException() throws TikaException, SAXException, IOException {
-            if (exception != null) {
-                if(exception instanceof IOException)
-                   throw (IOException)exception;
-                if(exception instanceof SAXException)
-                   throw (SAXException)exception;
-                if(exception instanceof TikaException)
-                   throw (TikaException)exception;
-                throw new TikaException(exception.getMessage());
-            }
-        }
-
-        private void internalProcessRecord(Record record) throws SAXException, TikaException, IOException {
-            switch (record.getSid()) {
-            case BOFRecord.sid: // start of workbook, worksheet etc. records
-                BOFRecord bof = (BOFRecord) record;
-                if (bof.getType() == BOFRecord.TYPE_WORKBOOK) {
-                    currentSheetIndex = -1;
-                } else if (bof.getType() == BOFRecord.TYPE_CHART) {
-                    if(previousSid == EOFRecord.sid) {
-                        // This is a sheet which contains only a chart
-                        newSheet();
-                    } else {
-                        // This is a chart within a normal sheet
-                        // Handling of this is a bit hacky...
-                        if (currentSheet != null) {
-                            processSheet();
-                            currentSheetIndex--;
-                            newSheet();
-                        }
-                    }
-                } else if (bof.getType() == BOFRecord.TYPE_WORKSHEET) {
-                    newSheet();
-                }
-                break;
-
-            case EOFRecord.sid: // end of workbook, worksheet etc. records
-                if (currentSheet != null) {
-                    processSheet();
-                }
-                currentSheet = null;
-                break;
-
-            case BoundSheetRecord.sid: // Worksheet index record
-                BoundSheetRecord boundSheetRecord = (BoundSheetRecord) record;
-                sheetNames.add(boundSheetRecord.getSheetname());
-                break;
-
-            case SSTRecord.sid: // holds all the strings for LabelSSTRecords
-                sstRecord = (SSTRecord) record;
-                break;
-
-            case FormulaRecord.sid: // Cell value from a formula
-                FormulaRecord formula = (FormulaRecord) record;
-                addCell(record, new NumberCell(formula.getValue(), format));
-                break;
-
-            case LabelRecord.sid: // strings stored directly in the cell
-                LabelRecord label = (LabelRecord) record;
-                addTextCell(record, label.getValue());
-                break;
-
-            case LabelSSTRecord.sid: // Ref. a string in the shared string table
-                LabelSSTRecord sst = (LabelSSTRecord) record;
-                UnicodeString unicode = sstRecord.getString(sst.getSSTIndex());
-                addTextCell(record, unicode.getString());
-                break;
-
-            case NumberRecord.sid: // Contains a numeric cell value
-                NumberRecord number = (NumberRecord) record;
-                addTextCell(record, formatListener.formatNumberDateCell(number));
-                break;
-
-            case RKRecord.sid: // Excel internal number record
-                RKRecord rk = (RKRecord) record;
-                addCell(record, new NumberCell(rk.getRKNumber(), format));
-                break;
-
-            case HyperlinkRecord.sid: // holds a URL associated with a cell
-                if (currentSheet != null) {
-                    HyperlinkRecord link = (HyperlinkRecord) record;
-                    Point point =
-                        new Point(link.getFirstColumn(), link.getFirstRow());
-                    Cell cell = currentSheet.get(point);
-                    if (cell != null) {
-                        addCell(record, new LinkedCell(cell, link.getAddress()));
-                    }
-                }
-                break;
-                
-            case TextObjectRecord.sid:
-                TextObjectRecord tor = (TextObjectRecord) record;
-                addTextCell(record, tor.getStr().getString());
-                break;
-                
-            case SeriesTextRecord.sid: // Chart label or title
-                SeriesTextRecord str = (SeriesTextRecord) record;
-                addTextCell(record, str.getText());
-                break;
-                
-            case DrawingGroupRecord.sid:
-               // Collect this now, we'll process later when all
-               //  the continue records are in
-               drawingGroups.add( (DrawingGroupRecord)record );
-               break;
-           
-            }
-            
-            previousSid = record.getSid();
-        }
-        
-        private void processExtraText() throws SAXException {
-            if(extraTextCells.size() > 0) {
-                for(Cell cell : extraTextCells) {
-                    handler.startElement("div", "class", "outside");
-                    cell.render(handler);
-                    handler.endElement("div");
-                }
-                
-                // Reset
-                extraTextCells.clear();
-            }
-        }
-        
-        /**
-         * Adds the given cell (unless <code>null</code>) to the current
-         * worksheet (if any) at the position (if any) of the given record.
-         *
-         * @param record record that holds the cell value
-         * @param cell cell value (or <code>null</code>)
-         */
-        private void addCell(Record record, Cell cell) throws SAXException {
-            if (cell == null) {
-                // Ignore empty cells
-            } else if (currentSheet != null
-                    && record instanceof CellValueRecordInterface) {
-                // Normal cell inside a worksheet
-                CellValueRecordInterface value =
-                    (CellValueRecordInterface) record;
-                Point point = new Point(value.getColumn(), value.getRow());
-                currentSheet.put(point, cell);
-            } else {
-                // Cell outside the worksheets
-                extraTextCells.add(cell);
-            }
-        }
-
-        /**
-         * Adds a text cell with the given text comment. The given text
-         * is trimmed, and ignored if <code>null</code> or empty.
-         *
-         * @param record record that holds the text value
-         * @param text text content, may be <code>null</code>
-         * @throws SAXException
-         */
-        private void addTextCell(Record record, String text) throws SAXException {
-            if (text != null) {
-                text = text.trim();
-                if (text.length() > 0) {
-                    addCell(record, new TextCell(text));
-                }
-            }
-        }
-
-        private void newSheet() {
-            currentSheetIndex++;
-            currentSheet = new TreeMap<Point, Cell>(new PointComparator());
-        }
-
-        /**
-         * Process an excel sheet.
-         *
-         * @throws SAXException if an error occurs
-         */
-        private void processSheet() throws SAXException {
-            // Sheet Start
-            handler.startElement("div", "class", "page");
-            if (currentSheetIndex < sheetNames.size()) {
-                handler.element("h1", sheetNames.get(currentSheetIndex));
-            }
-            handler.startElement("table");
-            handler.startElement("tbody");
-
-            // Process Rows
-            int currentRow = 0;
-            int currentColumn = 0;
-            handler.startElement("tr");
-            handler.startElement("td");
-            for (Map.Entry<Point, Cell> entry : currentSheet.entrySet()) {
-                while (currentRow < entry.getKey().y) {
-                    handler.endElement("td");
-                    handler.endElement("tr");
-                    handler.startElement("tr");
-                    handler.startElement("td");
-                    currentRow++;
-                    currentColumn = 0;
-                }
-
-                while (currentColumn < entry.getKey().x) {
-                    handler.endElement("td");
-                    handler.startElement("td");
-                    currentColumn++;
-                }
-
-                entry.getValue().render(handler);
-            }
-            handler.endElement("td");
-            handler.endElement("tr");
-
-            // Sheet End
-            handler.endElement("tbody");
-            handler.endElement("table");
-            
-            // Finish up
-            processExtraText();
-            handler.endElement("div");
-        }
-
-        private void findPictures(List<EscherRecord> records) throws IOException, SAXException, TikaException {
-           for(EscherRecord escherRecord : records) {
-              if (escherRecord instanceof EscherBSERecord) {
-                 EscherBlipRecord blip = ((EscherBSERecord) escherRecord).getBlipRecord();
-                 if (blip != null) {
-                    // TODO When we have upgraded POI, we can use this code instead
-                    //HSSFPictureData picture = new HSSFPictureData(blip);
-                    //String mimeType = picture.getMimeType();
-                    //TikaInputStream stream = TikaInputStream.get(picture.getData());
-                    
-                    // This code is cut'n'paste from a newer version of POI
-                    String mimeType = "";
-                    switch (blip.getRecordId()) {
-                    case EscherMetafileBlip.RECORD_ID_WMF:
-                       mimeType =  "image/x-wmf";
-                       break;
-                    case EscherMetafileBlip.RECORD_ID_EMF:
-                       mimeType =  "image/x-emf";
-                       break;
-                    case EscherMetafileBlip.RECORD_ID_PICT:
-                       mimeType =  "image/x-pict";
-                       break;
-                    case EscherBitmapBlip.RECORD_ID_PNG:
-                       mimeType =  "image/png";
-                       break;
-                    case EscherBitmapBlip.RECORD_ID_JPEG:
-                       mimeType =  "image/jpeg";
-                       break;
-                    case EscherBitmapBlip.RECORD_ID_DIB:
-                       mimeType =  "image/bmp";
-                       break;
-                    default:
-                       mimeType =  "image/unknown";
-                       break;
-                    }
-                    TikaInputStream stream = TikaInputStream.get(blip.getPicturedata());
-                    
-                    // Handle the embeded resource
-                    extractor.handleEmbeddedResource(
-                          stream, null, mimeType,
-                          handler, true
-                    );
-                 }
-              }
-
-              // Recursive call.
-              findPictures(escherRecord.getChildRecords());
-           }
-        }
-    }
-
-    /**
-     * Utility comparator for points.
-     */
-    private static class PointComparator implements Comparator<Point> {
-
-        public int compare(Point a, Point b) {
-            int diff = a.y - b.y;
-            if (diff == 0) {
-                diff = a.x - b.x;
-            }
-            return diff;
-        }
-
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java
deleted file mode 100644
index c3e9ef0..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import org.apache.poi.hslf.extractor.PowerPointExtractor;
-import org.apache.poi.hslf.model.OLEShape;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.SAXException;
-
-import java.io.IOException;
-import java.util.List;
-
-public class HSLFExtractor extends AbstractPOIFSExtractor {
-    public HSLFExtractor(ParseContext context) {
-        super(context);
-    }
-
-    protected void parse(
-            POIFSFileSystem filesystem, XHTMLContentHandler xhtml)
-            throws IOException, SAXException, TikaException {
-        PowerPointExtractor powerPointExtractor =
-            new PowerPointExtractor(filesystem);
-        xhtml.element("p", powerPointExtractor.getText(true, true));
-
-        List<OLEShape> shapeList = powerPointExtractor.getOLEShapes();
-        for (OLEShape shape : shapeList) {
-            TikaInputStream stream =
-                TikaInputStream.get(shape.getObjectData().getData());
-            try {
-                String mediaType = null;
-                if ("Excel.Chart.8".equals(shape.getProgID())) {
-                    mediaType = "application/vnd.ms-excel";
-                }
-                handleEmbeddedResource(
-                        stream, Integer.toString(shape.getObjectID()),
-                        mediaType, xhtml, false);
-            } finally {
-                stream.close();
-            }
-        }
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/LinkedCell.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/LinkedCell.java
deleted file mode 100644
index 5686d47..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/LinkedCell.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Linked cell. This class decorates another content cell with a hyperlink.
- */
-public class LinkedCell extends CellDecorator {
-
-    private final String link;
-
-    public LinkedCell(Cell cell, String link) {
-        super(cell);
-        this.link = link;
-    }
-
-    public void render(XHTMLContentHandler handler) throws SAXException {
-        handler.startElement("a", "href", link);
-        super.render(handler);
-        handler.endElement("a");
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/NumberCell.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/NumberCell.java
deleted file mode 100644
index 68774d4..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/NumberCell.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import java.text.NumberFormat;
-
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Number cell.
- */
-public class NumberCell implements Cell {
-
-    private final double number;
-
-    private final NumberFormat format;
-
-    public NumberCell(double number, NumberFormat format) {
-        this.number = number;
-        this.format = format;
-    }
-
-    public void render(XHTMLContentHandler handler) throws SAXException {
-        handler.characters(format.format(number));
-    }
-
-    public String toString() {
-        return "Numeric Cell: " + format.format(number);
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java
deleted file mode 100644
index 0ad849a..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.GeneralSecurityException;
-import java.util.*;
-
-import org.apache.poi.hdgf.extractor.VisioTextExtractor;
-import org.apache.poi.hpbf.extractor.PublisherTextExtractor;
-import org.apache.poi.poifs.crypt.Decryptor;
-import org.apache.poi.poifs.crypt.EncryptionInfo;
-import org.apache.poi.poifs.filesystem.DirectoryEntry;
-import org.apache.poi.poifs.filesystem.Entry;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.parser.microsoft.ooxml.OOXMLParser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.apache.tika.sax.EmbeddedContentHandler;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Defines a Microsoft document content extractor.
- */
-public class OfficeParser implements Parser {
-   private static final long serialVersionUID = 7393462244028653479L;
-   
-   private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.unmodifiableSet(new HashSet<MediaType>(Arrays.asList(
-        	POIFSDocumentType.WORKBOOK.type,
-        	POIFSDocumentType.OLE10_NATIVE.type,
-        	POIFSDocumentType.WORDDOCUMENT.type,
-        	POIFSDocumentType.UNKNOWN.type,
-        	POIFSDocumentType.ENCRYPTED.type,
-        	POIFSDocumentType.POWERPOINT.type,
-        	POIFSDocumentType.PUBLISHER.type,
-        	POIFSDocumentType.VISIO.type,
-        	POIFSDocumentType.OUTLOOK.type,
-                MediaType.application("vnd.ms-excel.sheet.binary.macroenabled.12")
-         )));
-    
-    public enum POIFSDocumentType {
-        WORKBOOK("xls", MediaType.application("vnd.ms-excel")),
-        OLE10_NATIVE("ole", MediaType.application("x-tika-msoffice")),
-        WORDDOCUMENT("doc", MediaType.application("msword")),
-        UNKNOWN("unknown", MediaType.application("x-tika-msoffice")),
-        ENCRYPTED("ole", MediaType.application("x-tika-msoffice")),
-        POWERPOINT("ppt", MediaType.application("vnd.ms-powerpoint")),
-        PUBLISHER("pub", MediaType.application("x-mspublisher")),
-        VISIO("vsd", MediaType.application("vnd.visio")),
-        WORKS("wps", MediaType.application("vnd.ms-works")),
-        OUTLOOK("msg", MediaType.application("vnd.ms-outlook"));
-
-        private final String extension;
-        private final MediaType type;
-
-        POIFSDocumentType(String extension, MediaType type) {
-            this.extension = extension;
-            this.type = type;
-        }
-
-        public String getExtension() {
-            return extension;
-        }
-
-        public MediaType getType() {
-            return type;
-        }
-
-        public static POIFSDocumentType detectType(POIFSFileSystem fs) {
-            return detectType(fs.getRoot());
-        }
-
-        public static POIFSDocumentType detectType(DirectoryEntry node) {
-            for (Entry entry : node) {
-                POIFSDocumentType type = detectType(entry);
-                if (type!=UNKNOWN) {
-                    return type;
-                }
-            }
-            return UNKNOWN;
-        }
-
-        public static POIFSDocumentType detectType(Entry entry) {
-            String name = entry.getName();
-
-            if ("Workbook".equals(name)) {
-                return WORKBOOK;
-            }
-            if ("EncryptedPackage".equals(name)) {
-                return ENCRYPTED;
-            }
-            if ("WordDocument".equals(name)) {
-                return WORDDOCUMENT;
-            }
-            if ("Quill".equals(name)) {
-                return PUBLISHER;
-            }
-            if ("PowerPoint Document".equals(entry.getName())) {
-                return POWERPOINT;
-            }
-            if ("VisioDocument".equals(entry.getName())) {
-                return VISIO;
-            }
-            if ("CONTENTS".equals(entry.getName())) {
-               return WORKS;
-           }
-            if (entry.getName().startsWith("__substg1.0_")) {
-                return OUTLOOK;
-            }
-            if ("\u0001Ole10Native".equals(name)) {
-              return POIFSDocumentType.OLE10_NATIVE;
-            }
-
-            return UNKNOWN;
-        }
-    }
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    /**
-     * Extracts properties and text from an MS Document input stream
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-
-        POIFSFileSystem filesystem;
-        if(stream instanceof TikaInputStream && 
-        	((TikaInputStream)stream).getOpenContainer() != null) {
-            filesystem = (POIFSFileSystem)((TikaInputStream)stream).getOpenContainer();
-        } else {
-            filesystem = new POIFSFileSystem(stream);
-        }
-
-        // Parse summary entries first, to make metadata available early
-        new SummaryExtractor(metadata).parseSummaries(filesystem);
-
-        // Parse remaining document entries
-        boolean outlookExtracted = false;
-        for (Entry entry : filesystem.getRoot()) {
-            POIFSDocumentType type = POIFSDocumentType.detectType(entry);
-
-            if (type!=POIFSDocumentType.UNKNOWN) {
-                setType(metadata, type.getType());
-            }
-
-            switch (type) {
-                case PUBLISHER:
-                    PublisherTextExtractor publisherTextExtractor =
-                        new PublisherTextExtractor(filesystem);
-                    xhtml.element("p", publisherTextExtractor.getText());
-                    break;
-                case WORDDOCUMENT:
-                    new WordExtractor(context).parse(filesystem, xhtml);
-                    break;
-                case POWERPOINT:
-                    new HSLFExtractor(context).parse(filesystem, xhtml);
-                    break;
-                case WORKBOOK:
-                    Locale locale = context.get(Locale.class, Locale.getDefault());
-                    new ExcelExtractor(context).parse(filesystem, xhtml, locale);
-                    break;
-                case VISIO:
-                    VisioTextExtractor visioTextExtractor =
-                        new VisioTextExtractor(filesystem);
-                    for (String text : visioTextExtractor.getAllText()) {
-                        xhtml.element("p", text);
-                    }
-                    break;
-                case OUTLOOK:
-                    if (!outlookExtracted) {
-                        outlookExtracted = true;
-
-                        OutlookExtractor extractor =
-                            new OutlookExtractor(filesystem, context);
-
-                        extractor.parse(xhtml, metadata);
-                    }
-                    break;
-                case ENCRYPTED:
-                    EncryptionInfo info = new EncryptionInfo(filesystem);
-                    Decryptor d = new Decryptor(info);
-
-                    try {
-                        if (!d.verifyPassword(Decryptor.DEFAULT_PASSWORD)) {
-                            throw new TikaException("Unable to process: document is encrypted");
-                        }
-
-                        OOXMLParser parser = new OOXMLParser();
-
-                        parser.parse(d.getDataStream(filesystem), new EmbeddedContentHandler(
-                                        new BodyContentHandler(xhtml)),
-                                        metadata, context);
-                    } catch (GeneralSecurityException ex) {
-                        throw new TikaException("Unable to process encrypted document", ex);
-                    }
-            }
-        }
-
-        xhtml.endDocument();
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-    private void setType(Metadata metadata, MediaType type) {
-        metadata.set(Metadata.CONTENT_TYPE, type.toString());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java
deleted file mode 100644
index 9e9facf..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import java.io.IOException;
-
-import org.apache.poi.hsmf.MAPIMessage;
-import org.apache.poi.hsmf.datatypes.AttachmentChunks;
-import org.apache.poi.hsmf.exceptions.ChunkNotFoundException;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Outlook Message Parser.
- */
-public class OutlookExtractor extends AbstractPOIFSExtractor {
-    private final MAPIMessage msg;
-
-    public OutlookExtractor(POIFSFileSystem filesystem, ParseContext context) throws TikaException {
-        super(context);
-        
-        try {
-            this.msg = new MAPIMessage(filesystem);
-        } catch (IOException e) {
-            throw new TikaException("Failed to parse Outlook message", e);
-        }
-    }
-
-    public void parse(XHTMLContentHandler xhtml, Metadata metadata)
-            throws TikaException, SAXException, IOException {
-        try {
-           msg.setReturnNullOnMissingChunk(true);
-          
-           String subject = msg.getSubject();
-           String from = msg.getDisplayFrom();
-   
-           metadata.set(Metadata.AUTHOR, from);
-           metadata.set(Metadata.MESSAGE_FROM, from);
-           metadata.set(Metadata.MESSAGE_TO, msg.getDisplayTo());
-           metadata.set(Metadata.MESSAGE_CC, msg.getDisplayCC());
-           metadata.set(Metadata.MESSAGE_BCC, msg.getDisplayBCC());
-           
-           metadata.set(Metadata.TITLE, subject);
-           metadata.set(Metadata.SUBJECT, msg.getConversationTopic());
-           
-           try {
-           for(String recipientAddress : msg.getRecipientEmailAddressList()) {
-               if(recipientAddress != null)
-        	   metadata.add(Metadata.MESSAGE_RECIPIENT_ADDRESS, recipientAddress);
-           }
-           } catch(ChunkNotFoundException he) {} // Will be fixed in POI 3.7 Final
-           
-           // Date - try two ways to find it
-           // First try via the proper chunk
-           if(msg.getMessageDate() != null) {
-              metadata.set(Metadata.EDIT_TIME, msg.getMessageDate().getTime().toString());
-              metadata.set(Metadata.LAST_SAVED, msg.getMessageDate().getTime().toString());
-           } else {
-              try {
-                 // Failing that try via the raw headers 
-                 String[] headers = msg.getHeaders();
-                 if(headers != null && headers.length > 0) {
-                     for(String header: headers) {
-                        if(header.toLowerCase().startsWith("date:")) {
-                    	String date = header.substring(header.indexOf(':')+1);
-                            metadata.set(Metadata.EDIT_TIME, date);
-                            metadata.set(Metadata.LAST_SAVED, date);
-                            break;
-                        }
-                     }
-                 }
-              } catch(ChunkNotFoundException he) {
-                 // We can't find the date, sorry...
-              }
-           }
-           
-   
-           xhtml.element("h1", subject);
-   
-           // Output the from and to details in text, as you
-           //  often want them in text form for searching
-           xhtml.startElement("dl");
-           if (from!=null) {
-               header(xhtml, "From", from);
-           }
-           header(xhtml, "To", msg.getDisplayTo());
-           header(xhtml, "Cc", msg.getDisplayCC());
-           header(xhtml, "Bcc", msg.getDisplayBCC());
-           try {
-               header(xhtml, "Recipients", msg.getRecipientEmailAddress());
-           } catch(ChunkNotFoundException e) {}
-           xhtml.endElement("dl");
-   
-           xhtml.element("p", msg.getTextBody());
-           
-           for (AttachmentChunks attachment : msg.getAttachmentFiles()) {
-               xhtml.startElement("div", "class", "attachment-entry");
-               
-               String filename = null;
-               if (attachment.attachLongFileName != null) {
-                  filename = attachment.attachLongFileName.getValue();
-               } else if (attachment.attachFileName != null) {
-                  filename = attachment.attachFileName.getValue();
-               }
-               if (filename != null && filename.length() > 0) {
-                   xhtml.element("h1", filename);
-               }
-               
-               if(attachment.attachData != null) {
-                  handleEmbeddedResource(
-                        TikaInputStream.get(attachment.attachData.getValue()),
-                        filename,
-                        null, xhtml, true
-                  );
-               }
-               if(attachment.attachmentDirectory != null) {
-                  handleEmbededOfficeDoc(
-                        attachment.attachmentDirectory.getDirectory(),
-                        xhtml
-                  );
-               }
-
-               xhtml.endElement("div");
-               
-           }
-        } catch(ChunkNotFoundException e) {
-           throw new TikaException("POI MAPIMessage broken - didn't return null on missing chunk", e);
-        }
-    }
-
-    private void header(XHTMLContentHandler xhtml, String key, String value)
-            throws SAXException {
-        if (value != null && value.length() > 0) {
-            xhtml.element("dt", key);
-            xhtml.element("dd", value);
-        }
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/SummaryExtractor.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/SummaryExtractor.java
deleted file mode 100644
index d7d53eb..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/SummaryExtractor.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Date;
-
-import org.apache.poi.hpsf.CustomProperties;
-import org.apache.poi.hpsf.DocumentSummaryInformation;
-import org.apache.poi.hpsf.MarkUnsupportedException;
-import org.apache.poi.hpsf.NoPropertySetStreamException;
-import org.apache.poi.hpsf.PropertySet;
-import org.apache.poi.hpsf.SummaryInformation;
-import org.apache.poi.hpsf.UnexpectedPropertySetTypeException;
-import org.apache.poi.poifs.filesystem.DocumentEntry;
-import org.apache.poi.poifs.filesystem.DocumentInputStream;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.PagedText;
-import org.apache.tika.metadata.Property;
-
-/**
- * Outlook Message Parser.
- */
-class SummaryExtractor {
-
-    private static final String SUMMARY_INFORMATION =
-        SummaryInformation.DEFAULT_STREAM_NAME;
-
-    private static final String DOCUMENT_SUMMARY_INFORMATION =
-        DocumentSummaryInformation.DEFAULT_STREAM_NAME;
-
-    private final Metadata metadata;
-
-    public SummaryExtractor(Metadata metadata) {
-        this.metadata = metadata;
-    }
-
-    public void parseSummaries(POIFSFileSystem filesystem)
-            throws IOException, TikaException {
-        parseSummaryEntryIfExists(filesystem, SUMMARY_INFORMATION);
-        parseSummaryEntryIfExists(filesystem, DOCUMENT_SUMMARY_INFORMATION);
-    }
-
-    private void parseSummaryEntryIfExists(
-            POIFSFileSystem filesystem, String entryName)
-            throws IOException, TikaException {
-        try {
-            DocumentEntry entry =
-                (DocumentEntry) filesystem.getRoot().getEntry(entryName);
-            PropertySet properties =
-                new PropertySet(new DocumentInputStream(entry));
-            if (properties.isSummaryInformation()) {
-                parse(new SummaryInformation(properties));
-            }
-            if (properties.isDocumentSummaryInformation()) {
-                parse(new DocumentSummaryInformation(properties));
-            }
-        } catch (FileNotFoundException e) {
-            // entry does not exist, just skip it
-        } catch (NoPropertySetStreamException e) {
-            throw new TikaException("Not a HPSF document", e);
-        } catch (UnexpectedPropertySetTypeException e) {
-            throw new TikaException("Unexpected HPSF document", e);
-        } catch (MarkUnsupportedException e) {
-            throw new TikaException("Invalid DocumentInputStream", e);
-        }
-    }
-
-    private void parse(SummaryInformation summary) {
-        set(Metadata.TITLE, summary.getTitle());
-        set(Metadata.AUTHOR, summary.getAuthor());
-        set(Metadata.KEYWORDS, summary.getKeywords());
-        set(Metadata.SUBJECT, summary.getSubject());
-        set(Metadata.LAST_AUTHOR, summary.getLastAuthor());
-        set(Metadata.COMMENTS, summary.getComments());
-        set(Metadata.TEMPLATE, summary.getTemplate());
-        set(Metadata.APPLICATION_NAME, summary.getApplicationName());
-        set(Metadata.REVISION_NUMBER, summary.getRevNumber());
-        set(Metadata.CREATION_DATE, summary.getCreateDateTime());
-        set(Metadata.CHARACTER_COUNT, summary.getCharCount());
-        set(Metadata.EDIT_TIME, summary.getEditTime());
-        set(Metadata.LAST_SAVED, summary.getLastSaveDateTime());
-        set(Metadata.PAGE_COUNT, summary.getPageCount());
-        if (summary.getPageCount() > 0) {
-            metadata.set(PagedText.N_PAGES, summary.getPageCount());
-        }
-        set(Metadata.SECURITY, summary.getSecurity());
-        set(Metadata.WORD_COUNT, summary.getWordCount());
-        set(Metadata.LAST_PRINTED, summary.getLastPrinted());
-    }
-
-    private void parse(DocumentSummaryInformation summary) {
-        set(Metadata.COMPANY, summary.getCompany());
-        set(Metadata.MANAGER, summary.getManager());
-        set(Metadata.LANGUAGE, getLanguage(summary));
-        set(Metadata.CATEGORY, summary.getCategory());
-        set(Metadata.SLIDE_COUNT, summary.getSlideCount());
-        if (summary.getSlideCount() > 0) {
-            metadata.set(PagedText.N_PAGES, summary.getSlideCount());
-        }
-    }
-
-    private String getLanguage(DocumentSummaryInformation summary) {
-        CustomProperties customProperties = summary.getCustomProperties();
-        if (customProperties != null) {
-            Object value = customProperties.get("Language");
-            if (value instanceof String) {
-                return (String) value;
-            }
-        }
-        return null;
-    }
-
-    private void set(String name, String value) {
-        if (value != null) {
-            metadata.set(name, value);
-        }
-    }
-
-    private void set(Property property, Date value) {
-        if (value != null) {
-            metadata.set(property, value.toString());
-        }
-    }
-
-    private void set(String name, Date value) {
-        if (value != null) {
-            metadata.set(name, value.toString());
-        }
-    }
-
-    private void set(String name, long value) {
-        if (value > 0) {
-            metadata.set(name, Long.toString(value));
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/TextCell.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/TextCell.java
deleted file mode 100644
index fe75ac9..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/TextCell.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Text cell.
- */
-public class TextCell implements Cell {
-
-    private final String text;
-
-    public TextCell(String text) {
-        this.text = text;
-    }
-
-    public void render(XHTMLContentHandler handler) throws SAXException {
-        handler.characters(text);
-    }
-
-    public String toString() {
-        return "Text Cell: \"" + text + "\"";
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/WordExtractor.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/WordExtractor.java
deleted file mode 100644
index 945ca76..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/WordExtractor.java
+++ /dev/null
@@ -1,494 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.poi.hwpf.HWPFDocument;
-import org.apache.poi.hwpf.HWPFOldDocument;
-import org.apache.poi.hwpf.OldWordFileFormatException;
-import org.apache.poi.hwpf.extractor.Word6Extractor;
-import org.apache.poi.hwpf.model.PicturesTable;
-import org.apache.poi.hwpf.model.StyleDescription;
-import org.apache.poi.hwpf.usermodel.CharacterRun;
-import org.apache.poi.hwpf.usermodel.Paragraph;
-import org.apache.poi.hwpf.usermodel.Picture;
-import org.apache.poi.hwpf.usermodel.Range;
-import org.apache.poi.hwpf.usermodel.Table;
-import org.apache.poi.hwpf.usermodel.TableCell;
-import org.apache.poi.hwpf.usermodel.TableRow;
-import org.apache.poi.poifs.filesystem.DirectoryEntry;
-import org.apache.poi.poifs.filesystem.Entry;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.SAXException;
-
-public class WordExtractor extends AbstractPOIFSExtractor {
-
-    public WordExtractor(ParseContext context) {
-        super(context);
-    }
-
-    protected void parse(
-            POIFSFileSystem filesystem, XHTMLContentHandler xhtml)
-            throws IOException, SAXException, TikaException {
-        HWPFDocument document;
-        try {
-            document = new HWPFDocument(filesystem);
-        } catch(OldWordFileFormatException e) {
-            parseWord6(filesystem, xhtml);
-            return;
-        }
-        org.apache.poi.hwpf.extractor.WordExtractor wordExtractor =
-            new org.apache.poi.hwpf.extractor.WordExtractor(document);
-
-        addTextIfAny(xhtml, "header", wordExtractor.getHeaderText());
-
-        // Grab the list of pictures. As far as we can tell,
-        //  the pictures should be in order, and may be directly
-        //  placed or referenced from an anchor
-        PicturesTable pictureTable = document.getPicturesTable();
-        PicturesSource pictures = new PicturesSource(document);
-        
-        // Do the main paragraph text
-        Range r = document.getRange();
-        for(int i=0; i<r.numParagraphs(); i++) {
-           Paragraph p = r.getParagraph(i);
-           i += handleParagraph(p, 0, r, document, pictures, pictureTable, xhtml);
-        }
-
-        // Do everything else
-        for (String paragraph : wordExtractor.getFootnoteText()) {
-            xhtml.element("p", paragraph);
-        }
-
-        for (String paragraph : wordExtractor.getCommentsText()) {
-            xhtml.element("p", paragraph);
-        }
-
-        for (String paragraph : wordExtractor.getEndnoteText()) {
-            xhtml.element("p", paragraph);
-        }
-
-        addTextIfAny(xhtml, "footer", wordExtractor.getFooterText());
-
-        // Handle any pictures that we haven't output yet
-        for(Picture p = pictures.nextUnclaimed(); p != null; ) {
-           handlePictureCharacterRun(
-                 null, p, pictures, xhtml
-           );
-           p = pictures.nextUnclaimed();
-        }
-        
-        // Handle any embeded office documents
-        try {
-            DirectoryEntry op =
-                (DirectoryEntry) filesystem.getRoot().getEntry("ObjectPool");
-            for (Entry entry : op) {
-                if (entry.getName().startsWith("_")
-                        && entry instanceof DirectoryEntry) {
-                    handleEmbededOfficeDoc((DirectoryEntry) entry, xhtml);
-                }
-            }
-        } catch(FileNotFoundException e) {
-        }
-    }
-    
-    private int handleParagraph(Paragraph p, int parentTableLevel, Range r, HWPFDocument document, 
-          PicturesSource pictures, PicturesTable pictureTable, XHTMLContentHandler xhtml)
-          throws SAXException, IOException, TikaException {
-       // Note - a poi bug means we can't currently properly recurse
-       //  into nested tables, so currently we don't
-       if(p.isInTable() && p.getTableLevel() > parentTableLevel && parentTableLevel==0) {
-          Table t = r.getTable(p);
-          xhtml.startElement("table");
-          xhtml.startElement("tbody");
-          for(int rn=0; rn<t.numRows(); rn++) {
-             TableRow row = t.getRow(rn);
-             xhtml.startElement("tr");
-             for(int cn=0; cn<row.numCells(); cn++) {
-                TableCell cell = row.getCell(cn);
-                xhtml.startElement("td");
-
-                for(int pn=0; pn<cell.numParagraphs(); pn++) {
-                   Paragraph cellP = cell.getParagraph(pn);
-                   handleParagraph(cellP, p.getTableLevel(), cell, document, pictures, pictureTable, xhtml);
-                }
-                xhtml.endElement("td");
-             }
-             xhtml.endElement("tr");
-          }
-          xhtml.endElement("tbody");
-          xhtml.endElement("table");
-          return (t.numParagraphs()-1);
-       }
-
-       StyleDescription style = 
-          document.getStyleSheet().getStyleDescription(p.getStyleIndex());
-       TagAndStyle tas = buildParagraphTagAndStyle(
-             style.getName(), (parentTableLevel>0)
-       );
-
-       if(tas.getStyleClass() != null) {
-          xhtml.startElement(tas.getTag(), "class", tas.getStyleClass());
-       } else {
-          xhtml.startElement(tas.getTag());
-       }
-       
-       for(int j=0; j<p.numCharacterRuns(); j++) {
-          CharacterRun cr = p.getCharacterRun(j);
-          
-          if(cr.text().equals("\u0013")) {
-             j += handleSpecialCharacterRuns(p, j, tas.isHeading(), pictures, xhtml);
-          } else if(cr.text().startsWith("\u0008")) {
-             // Floating Picture(s)
-             for(int pn=0; pn<cr.text().length(); pn++) {
-                // Assume they're in the order from the unclaimed list...
-                Picture picture = pictures.nextUnclaimed();
-                
-                // Output
-                handlePictureCharacterRun(cr, picture, pictures, xhtml);
-             }
-          } else if(pictureTable.hasPicture(cr)) {
-             // Inline Picture
-             Picture picture = pictures.getFor(cr);
-             handlePictureCharacterRun(cr, picture, pictures, xhtml);
-          } else {
-             handleCharacterRun(cr, tas.isHeading(), xhtml);
-          }
-       }
-       
-       xhtml.endElement(tas.getTag());
-       
-       return 0;
-    }
-    
-    private void handleCharacterRun(CharacterRun cr, boolean skipStyling, XHTMLContentHandler xhtml) 
-          throws SAXException {
-       // Skip trailing newlines
-       if(cr.text().equals("\r"))
-          return;
-       
-       List<String> tags = new ArrayList<String>();
-       if(!skipStyling) {
-          if(cr.isBold()) tags.add("b");
-          if(cr.isItalic()) tags.add("i");
-          if(cr.isStrikeThrough()) tags.add("s");
-          for(String tag : tags) {
-             xhtml.startElement(tag);
-          }
-       }
-       
-       // Clean up the text
-       String text = cr.text();
-       text = text.replace('\r', '\n');
-       if(text.endsWith("\u0007")) {
-          // Strip the table cell end marker
-          text = text.substring(0, text.length()-1);
-       }
-       
-       xhtml.characters(text);
-
-       for(int tn=tags.size()-1; tn>=0; tn--) {
-          xhtml.endElement(tags.get(tn));
-       }
-    }
-    /**
-     * Can be \13..text..\15 or \13..control..\14..text..\15 .
-     * Nesting is allowed
-     */
-    private int handleSpecialCharacterRuns(Paragraph p, int index, boolean skipStyling, 
-          PicturesSource pictures, XHTMLContentHandler xhtml) throws SAXException, TikaException, IOException {
-       List<CharacterRun> controls = new ArrayList<CharacterRun>();
-       List<CharacterRun> texts = new ArrayList<CharacterRun>();
-       boolean has14 = false;
-       
-       // Split it into before and after the 14
-       int i;
-       for(i=index+1; i<p.numCharacterRuns(); i++) {
-          CharacterRun cr = p.getCharacterRun(i);
-          if(cr.text().equals("\u0013")) {
-             // Nested, oh joy...
-             int increment = handleSpecialCharacterRuns(p, i+1, skipStyling, pictures, xhtml);
-             i += increment;
-          } else if(cr.text().equals("\u0014")) {
-             has14 = true;
-          } else if(cr.text().equals("\u0015")) {
-             if(!has14) {
-                texts = controls;
-                controls = new ArrayList<CharacterRun>();
-             }
-             break;
-          } else {
-             if(has14) {
-                texts.add(cr);
-             } else {
-                controls.add(cr);
-             }
-          }
-       }
-       
-       // Do we need to do something special with this?
-       if(controls.size() > 0) {
-          String text = controls.get(0).text();
-          for(int j=1; j<controls.size(); j++) {
-             text += controls.get(j).text();
-          }
-          
-          if(text.startsWith("HYPERLINK") && text.indexOf('"') > -1) {
-             String url = text.substring(
-                   text.indexOf('"') + 1,
-                   text.lastIndexOf('"')
-             );
-             xhtml.startElement("a", "href", url);
-             for(CharacterRun cr : texts) {
-                handleCharacterRun(cr, skipStyling, xhtml);
-             }
-             xhtml.endElement("a");
-          } else {
-             // Just output the text ones
-             for(CharacterRun cr : texts) {
-                if(pictures.hasPicture(cr)) {
-                   Picture picture = pictures.getFor(cr);
-                   handlePictureCharacterRun(cr, picture, pictures, xhtml);
-                } else {
-                   handleCharacterRun(cr, skipStyling, xhtml);
-                }
-             }
-          }
-       } else {
-          // We only had text
-          // Output as-is
-          for(CharacterRun cr : texts) {
-             handleCharacterRun(cr, skipStyling, xhtml);
-          }
-       }
-       
-       // Tell them how many to skip over
-       return i-index;
-    }
-
-    private void handlePictureCharacterRun(CharacterRun cr, Picture picture, PicturesSource pictures, XHTMLContentHandler xhtml) 
-          throws SAXException, IOException, TikaException {
-       if(picture == null) {
-          // Oh dear, we've run out...
-          // Probably caused by multiple \u0008 images referencing
-          //  the same real image
-          return;
-       }
-       
-       // Which one is it?
-       String extension = picture.suggestFileExtension();
-       int pictureNumber = pictures.pictureNumber(picture);
-       
-       // Make up a name for the picture
-       // There isn't one in the file, but we need to be able to reference
-       //  the picture from the img tag and the embedded resource
-       String filename = "image"+pictureNumber+(extension.length()>0 ? "."+extension : "");
-       
-       // Grab the mime type for the picture
-       String mimeType = picture.getMimeType();
-       
-       // Output the img tag
-       xhtml.startElement("img", "src", "embedded:" + filename);
-       xhtml.endElement("img");
-
-       // Have we already output this one?
-       // (Only expose each individual image once) 
-       if(! pictures.hasOutput(picture)) {
-          TikaInputStream stream = TikaInputStream.get(picture.getContent());
-          handleEmbeddedResource(stream, filename, mimeType, xhtml, false);
-          pictures.recordOutput(picture);
-       }
-    }
-    
-    /**
-     * Outputs a section of text if the given text is non-empty.
-     *
-     * @param xhtml XHTML content handler
-     * @param section the class of the &lt;div/&gt; section emitted
-     * @param text text to be emitted, if any
-     * @throws SAXException if an error occurs
-     */
-    private void addTextIfAny(
-            XHTMLContentHandler xhtml, String section, String text)
-            throws SAXException {
-        if (text != null && text.length() > 0) {
-            xhtml.startElement("div", "class", section);
-            xhtml.element("p", text);
-            xhtml.endElement("div");
-        }
-    }
-    
-    protected void parseWord6(
-            POIFSFileSystem filesystem, XHTMLContentHandler xhtml)
-            throws IOException, SAXException, TikaException {
-        HWPFOldDocument doc = new HWPFOldDocument(filesystem);
-        Word6Extractor extractor = new Word6Extractor(doc);
-        
-        for(String p : extractor.getParagraphText()) {
-            xhtml.element("p", p);
-        }
-    }
-    
-    /**
-     * Given a style name, return what tag should be used, and
-     *  what style should be applied to it. 
-     */
-    public static TagAndStyle buildParagraphTagAndStyle(String styleName, boolean isTable) {
-       String tag = "p";
-       String styleClass = null;
-       
-       if(styleName.equals("Default") || styleName.equals("Normal")) {
-          // Already setup
-       } else if(styleName.equals("Table Contents") && isTable) {
-          // Already setup
-       } else if(styleName.equals("heading") || styleName.equals("Heading")) {
-          tag = "h1";
-       } else if(styleName.startsWith("heading") || styleName.startsWith("Heading")) {
-          // "Heading 3" or "Heading2" or "heading 4"
-          int num = 1;
-          try {
-             num = Integer.parseInt( 
-                   styleName.substring(styleName.length()-1)
-             );
-          } catch(NumberFormatException e) {}
-          tag = "h"+num;
-       } else if(styleName.equals("Title")) {
-          tag = "h1";
-          styleClass = "title";
-       } else if(styleName.equals("Subtitle")) {
-          tag = "h2";
-          styleClass = "subtitle";
-       } else if(styleName.equals("HTML Preformatted")) {
-          tag = "pre";
-       } else {
-          styleClass = styleName.replace(' ', '_');
-          styleClass = styleClass.substring(0,1).toLowerCase() +
-                         styleClass.substring(1);
-       }
-
-       return new TagAndStyle(tag,styleClass);
-    }
-    
-    public static class TagAndStyle {
-       private String tag;
-       private String styleClass;
-       public TagAndStyle(String tag, String styleClass) {
-         this.tag = tag;
-         this.styleClass = styleClass;
-       }
-       public String getTag() {
-         return tag;
-       }
-       public String getStyleClass() {
-         return styleClass;
-       }
-       public boolean isHeading() {
-          return tag.length()==2 && tag.startsWith("h");
-       }
-    }
-    
-    /**
-     * Provides access to the pictures both by offset, iteration
-     *  over the un-claimed, and peeking forward
-     */
-    private static class PicturesSource {
-       private PicturesTable picturesTable; 
-       private Set<Picture> output = new HashSet<Picture>();
-       private Map<Integer,Picture> lookup;
-       private List<Picture> nonU1based;
-       private List<Picture> all;
-       private int pn = 0;
-       
-       private PicturesSource(HWPFDocument doc) {
-          picturesTable = doc.getPicturesTable();
-          all = picturesTable.getAllPictures();
-          
-          // Compute the Offset-Picture lookup
-          lookup = new HashMap<Integer, Picture>();
-          for(Picture p : all) {
-             // TODO Make this nicer when POI 3.7 is out
-             String name = p.suggestFullFileName();
-             if(name.indexOf('.') > -1)
-                name = name.substring(0, name.indexOf('.'));
-             int offset = Integer.parseInt(name, 16);
-             lookup.put(offset, p);
-          }
-          
-          // Work out which Pictures aren't referenced by
-          //  a \u0001 in the main text
-          // These are \u0008 escher floating ones, ones 
-          //  found outside the normal text, and who
-          //  knows what else...
-          nonU1based = new ArrayList<Picture>();
-          nonU1based.addAll(all);
-          Range r = doc.getRange();
-          for(int i=0; i<r.numCharacterRuns(); i++) {
-             CharacterRun cr = r.getCharacterRun(i);
-             if(picturesTable.hasPicture(cr)) {
-                Picture p = getFor(cr);
-                int at = nonU1based.indexOf(p);
-                nonU1based.set(at, null);
-             }
-          }
-       }
-       
-       private boolean hasPicture(CharacterRun cr) {
-          return picturesTable.hasPicture(cr);
-       }
-       
-       private void recordOutput(Picture picture) {
-          output.add(picture);
-       }
-       private boolean hasOutput(Picture picture) {
-          return output.contains(picture);
-       }
-       
-       private int pictureNumber(Picture picture) {
-          return all.indexOf(picture) + 1;
-       }
-       
-       private Picture getFor(CharacterRun cr) {
-          return lookup.get(cr.getPicOffset());
-       }
-       
-       /**
-        * Return the next unclaimed one, used towards
-        *  the end
-        */
-       private Picture nextUnclaimed() {
-          Picture p = null;
-          while(pn < nonU1based.size()) {
-             p = nonU1based.get(pn);
-             pn++;
-             if(p != null) return p;
-          }
-          return null;
-       }
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/AbstractOOXMLExtractor.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/AbstractOOXMLExtractor.java
deleted file mode 100644
index e96aa81..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/AbstractOOXMLExtractor.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft.ooxml;
-
-import java.io.IOException;
-import java.util.List;
-
-import org.apache.poi.POIXMLDocument;
-import org.apache.poi.POIXMLTextExtractor;
-import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
-import org.apache.poi.openxml4j.opc.PackagePart;
-import org.apache.poi.openxml4j.opc.PackagePartName;
-import org.apache.poi.openxml4j.opc.PackageRelationship;
-import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
-import org.apache.poi.openxml4j.opc.PackagingURIHelper;
-import org.apache.poi.openxml4j.opc.TargetMode;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.extractor.EmbeddedDocumentExtractor;
-import org.apache.tika.extractor.ParsingEmbeddedDocumentExtractor;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.sax.EmbeddedContentHandler;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.apache.xmlbeans.XmlException;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Base class for all Tika OOXML extractors.
- * 
- * Tika extractors decorate POI extractors so that the parsed content of
- * documents is returned as a sequence of XHTML SAX events. Subclasses must
- * implement the buildXHTML method {@link #buildXHTML(XHTMLContentHandler)} that
- * populates the {@link XHTMLContentHandler} object received as parameter.
- */
-public abstract class AbstractOOXMLExtractor implements OOXMLExtractor {
-    static final String RELATION_AUDIO = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/audio";
-    static final String RELATION_IMAGE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image";
-    static final String RELATION_OLE_OBJECT = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject";
-    static final String RELATION_PACKAGE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/package";
-   
-    protected POIXMLTextExtractor extractor;
-
-    private final EmbeddedDocumentExtractor embeddedExtractor;
-
-    private final String type;
-
-    public AbstractOOXMLExtractor(ParseContext context, POIXMLTextExtractor extractor, String type) {
-        this.extractor = extractor;
-        this.type = type;
-
-        EmbeddedDocumentExtractor ex = context.get(EmbeddedDocumentExtractor.class);
-
-        if (ex==null) {
-            embeddedExtractor = new ParsingEmbeddedDocumentExtractor(context);
-        } else {
-            embeddedExtractor = ex;
-        }
-
-    }
-
-    /**
-     * @see org.apache.tika.parser.microsoft.ooxml.OOXMLExtractor#getDocument()
-     */
-    public POIXMLDocument getDocument() {
-        return extractor.getDocument();
-    }
-
-    /**
-     * @see org.apache.tika.parser.microsoft.ooxml.OOXMLExtractor#getMetadataExtractor()
-     */
-    public MetadataExtractor getMetadataExtractor() {
-        return new MetadataExtractor(extractor, type);
-    }
-
-    /**
-     * @see org.apache.tika.parser.microsoft.ooxml.OOXMLExtractor#getXHTML(org.xml.sax.ContentHandler,
-     *      org.apache.tika.metadata.Metadata)
-     */
-    public void getXHTML(ContentHandler handler, Metadata metadata, ParseContext context)
-            throws SAXException, XmlException, IOException, TikaException {
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-        buildXHTML(xhtml);
-        xhtml.endDocument();
-        
-        // Now do any embedded parts
-        List<PackagePart> mainParts = getMainDocumentParts();
-        for(PackagePart part : mainParts) {
-           PackageRelationshipCollection rels;
-           try {
-              rels = part.getRelationships();
-           } catch(InvalidFormatException e) {
-              throw new TikaException("Corrupt OOXML file", e);
-           }
-           
-           for(PackageRelationship rel : rels) {
-              // Is it an embedded type (not part of the document)
-              if( rel.getRelationshipType().equals(RELATION_AUDIO) ||
-                  rel.getRelationshipType().equals(RELATION_IMAGE) ||
-                  rel.getRelationshipType().equals(RELATION_OLE_OBJECT) ||
-                  rel.getRelationshipType().equals(RELATION_PACKAGE) ) {
-                 if(rel.getTargetMode() == TargetMode.INTERNAL) {
-                    PackagePartName relName;
-                    try {
-                       relName = PackagingURIHelper.createPartName(rel.getTargetURI());
-                    } catch(InvalidFormatException e) {
-                       throw new TikaException("Broken OOXML file", e);
-                    }
-                    PackagePart relPart = rel.getPackage().getPart(relName);
-                    handleEmbedded(rel, relPart, handler, context);
-                 }
-              }
-           }
-        }
-    }
-    
-    /**
-     * Handles an embedded resource in the file
-     */
-    protected void handleEmbedded(PackageRelationship rel, PackagePart part, 
-            ContentHandler handler, ParseContext context)
-            throws SAXException, XmlException, IOException, TikaException {
-       // Get the name
-       String name = rel.getTargetURI().toString();
-       if(name.indexOf('/') > -1) {
-          name = name.substring(name.lastIndexOf('/')+1);
-       }
-       
-       // Get the content type
-       String type = part.getContentType();
-       
-       // Call the recursing handler
-       Metadata metadata = new Metadata();
-       metadata.set(Metadata.RESOURCE_NAME_KEY, name);
-       metadata.set(Metadata.CONTENT_TYPE, type);
-
-       if (embeddedExtractor.shouldParseEmbedded(metadata)) {
-         embeddedExtractor.parseEmbedded(
-                 TikaInputStream.get(part.getInputStream()),
-                 new EmbeddedContentHandler(handler),
-                 metadata, false);
-       }
-    }
-
-    /**
-     * Populates the {@link XHTMLContentHandler} object received as parameter.
-     */
-    protected abstract void buildXHTML(XHTMLContentHandler xhtml)
-            throws SAXException, XmlException, IOException;
-    
-    /**
-     * Return a list of the main parts of the document, used
-     *  when searching for embedded resources.
-     * This should be all the parts of the document that end
-     *  up with things embedded into them.
-     */
-    protected abstract List<PackagePart> getMainDocumentParts()
-            throws TikaException;
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/MetadataExtractor.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/MetadataExtractor.java
deleted file mode 100644
index 29c2780..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/MetadataExtractor.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft.ooxml;
-
-import java.util.Date;
-
-import org.apache.poi.POIXMLTextExtractor;
-import org.apache.poi.POIXMLProperties.CoreProperties;
-import org.apache.poi.POIXMLProperties.ExtendedProperties;
-import org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart;
-import org.apache.poi.openxml4j.util.Nullable;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.PagedText;
-import org.apache.tika.metadata.Property;
-import org.openxmlformats.schemas.officeDocument.x2006.extendedProperties.CTProperties;
-
-/**
- * OOXML metadata extractor.
- * 
- * Currently POI doesn't support metadata extraction for OOXML.
- * 
- * @see OOXMLExtractor#getMetadataExtractor()
- */
-public class MetadataExtractor {
-
-    private final POIXMLTextExtractor extractor;
-
-    private final String type;
-
-    public MetadataExtractor(POIXMLTextExtractor extractor, String type) {
-        this.extractor = extractor;
-        this.type = type;
-    }
-
-    public void extract(Metadata metadata) throws TikaException {
-        addProperty(metadata, Metadata.CONTENT_TYPE, type);
-        
-        if (extractor.getDocument()!=null) {
-            extractMetadata(extractor.getCoreProperties(), metadata);
-            extractMetadata(extractor.getExtendedProperties(), metadata);
-        }
-    }
-
-    private void extractMetadata(CoreProperties properties, Metadata metadata) {
-        PackagePropertiesPart propsHolder = properties
-                .getUnderlyingProperties();
-
-        addProperty(metadata, Metadata.CATEGORY, propsHolder.getCategoryProperty());
-        addProperty(metadata, Metadata.CONTENT_STATUS, propsHolder
-                .getContentStatusProperty());
-        addProperty(metadata, Metadata.DATE, propsHolder
-                .getCreatedProperty());
-        addProperty(metadata, Metadata.CREATION_DATE, propsHolder
-                .getCreatedProperty());
-        addProperty(metadata, Metadata.CREATOR, propsHolder
-                .getCreatorProperty());
-        addProperty(metadata, Metadata.AUTHOR, propsHolder
-                .getCreatorProperty());
-        addProperty(metadata, Metadata.DESCRIPTION, propsHolder
-                .getDescriptionProperty());
-        addProperty(metadata, Metadata.IDENTIFIER, propsHolder
-                .getIdentifierProperty());
-        addProperty(metadata, Metadata.KEYWORDS, propsHolder
-                .getKeywordsProperty());
-        addProperty(metadata, Metadata.LANGUAGE, propsHolder
-                .getLanguageProperty());
-        addProperty(metadata, Metadata.LAST_AUTHOR, propsHolder
-                .getLastModifiedByProperty());
-        addProperty(metadata, Metadata.LAST_PRINTED, propsHolder
-                .getLastPrintedPropertyString());
-        addProperty(metadata, Metadata.LAST_MODIFIED, propsHolder
-                .getModifiedProperty());
-        addProperty(metadata, Metadata.REVISION_NUMBER, propsHolder
-                .getRevisionProperty());
-        addProperty(metadata, Metadata.SUBJECT, propsHolder
-                .getSubjectProperty());
-        addProperty(metadata, Metadata.TITLE, propsHolder.getTitleProperty());
-        addProperty(metadata, Metadata.VERSION, propsHolder.getVersionProperty());
-    }
-
-    private void extractMetadata(ExtendedProperties properties,
-            Metadata metadata) {
-        CTProperties propsHolder = properties.getUnderlyingProperties();
-
-        addProperty(metadata, Metadata.APPLICATION_NAME, propsHolder
-                .getApplication());
-        addProperty(metadata, Metadata.APPLICATION_VERSION, propsHolder
-                .getAppVersion());
-        addProperty(metadata, Metadata.CHARACTER_COUNT, propsHolder
-                .getCharacters());
-        addProperty(metadata, Metadata.CHARACTER_COUNT_WITH_SPACES, propsHolder
-                .getCharactersWithSpaces());
-        addProperty(metadata, Metadata.PUBLISHER, propsHolder.getCompany());
-        addProperty(metadata, Metadata.LINE_COUNT, propsHolder.getLines());
-        addProperty(metadata, Metadata.MANAGER, propsHolder.getManager());
-        addProperty(metadata, Metadata.NOTES, propsHolder.getNotes());
-        addProperty(metadata, Metadata.PAGE_COUNT, propsHolder.getPages());
-        if (propsHolder.getPages() > 0) {
-            metadata.set(PagedText.N_PAGES, propsHolder.getPages());
-        } else if (propsHolder.getSlides() > 0) {
-            metadata.set(PagedText.N_PAGES, propsHolder.getSlides());
-        }
-        addProperty(metadata, Metadata.PARAGRAPH_COUNT, propsHolder.getParagraphs());
-        addProperty(metadata, Metadata.PRESENTATION_FORMAT, propsHolder
-                .getPresentationFormat());
-        addProperty(metadata, Metadata.SLIDE_COUNT, propsHolder.getSlides());
-        addProperty(metadata, Metadata.TEMPLATE, propsHolder.getTemplate());
-        addProperty(metadata, Metadata.TOTAL_TIME, propsHolder.getTotalTime());
-        addProperty(metadata, Metadata.WORD_COUNT, propsHolder.getWords());
-    }
-
-    private void addProperty(Metadata metadata, Property property, Nullable<Date> value) {
-        if (value.getValue() != null) {
-            metadata.set(property, value.getValue());
-        }
-    }
-
-    private void addProperty(Metadata metadata, String name, Nullable<?> value) {
-        if (value.getValue() != null) {
-            addProperty(metadata, name, value.getValue().toString());
-        }
-    }
-
-    private void addProperty(Metadata metadata, String name, String value) {
-        if (value != null) {
-            metadata.set(name, value);
-        }
-    }
-
-    private void addProperty(Metadata metadata, String name, long value) {
-        if (value > 0) {
-            metadata.set(name, Long.toString(value));
-        }
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLExtractor.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLExtractor.java
deleted file mode 100644
index bb46a21..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLExtractor.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft.ooxml;
-
-import java.io.IOException;
-
-import org.apache.poi.POIXMLDocument;
-import org.apache.poi.POIXMLTextExtractor;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.ParseContext;
-import org.apache.xmlbeans.XmlException;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Interface implemented by all Tika OOXML extractors.
- * 
- * @see org.apache.poi.POIXMLTextExtractor
- */
-public interface OOXMLExtractor {
-
-    /**
-     * Returns the opened document.
-     * 
-     * @see POIXMLTextExtractor#getDocument()
-     */
-    POIXMLDocument getDocument();
-
-    /**
-     * {@link POIXMLTextExtractor#getMetadataTextExtractor()} not yet supported
-     * for OOXML by POI.
-     */
-    MetadataExtractor getMetadataExtractor();
-
-    /**
-     * Parses the document into a sequence of XHTML SAX events sent to the
-     * given content handler.
-     */
-    void getXHTML(ContentHandler handler, Metadata metadata, ParseContext context)
-            throws SAXException, XmlException, IOException, TikaException;
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLExtractorFactory.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLExtractorFactory.java
deleted file mode 100644
index cd1debd..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLExtractorFactory.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft.ooxml;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Locale;
-
-import org.apache.poi.POIXMLDocument;
-import org.apache.poi.POIXMLTextExtractor;
-import org.apache.poi.extractor.ExtractorFactory;
-import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
-import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
-import org.apache.poi.openxml4j.opc.OPCPackage;
-import org.apache.poi.xslf.XSLFSlideShow;
-import org.apache.poi.xslf.extractor.XSLFPowerPointExtractor;
-import org.apache.poi.xssf.extractor.XSSFExcelExtractor;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
-import org.apache.poi.xwpf.usermodel.XWPFDocument;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.ParseContext;
-import org.apache.xmlbeans.XmlException;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Figures out the correct {@link OOXMLExtractor} for the supplied document and
- * returns it.
- */
-public class OOXMLExtractorFactory {
-
-    public static void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        Locale locale = context.get(Locale.class, Locale.getDefault());
-       
-        try {
-            OOXMLExtractor extractor;
-
-            POIXMLTextExtractor poiExtractor;
-            if(stream instanceof TikaInputStream && 
-            	    ((TikaInputStream)stream).getOpenContainer() != null) {
-               poiExtractor = ExtractorFactory.createExtractor(
-                    (OPCPackage)((TikaInputStream)stream).getOpenContainer()
-               );
-            } else {
-               poiExtractor = (POIXMLTextExtractor) ExtractorFactory.createExtractor(stream);
-            }
-            
-            POIXMLDocument document = poiExtractor.getDocument();
-            if (document instanceof XSLFSlideShow) {
-                extractor = new XSLFPowerPointExtractorDecorator(
-                        context, (XSLFPowerPointExtractor) poiExtractor);
-            } else if (document instanceof XSSFWorkbook) {
-                extractor = new XSSFExcelExtractorDecorator(
-                        context, (XSSFExcelExtractor) poiExtractor, locale);
-            } else if (document instanceof XWPFDocument) {
-                extractor = new XWPFWordExtractorDecorator(
-                        context, (XWPFWordExtractor) poiExtractor);
-            } else {
-                extractor = new POIXMLTextExtractorDecorator(context, poiExtractor);
-            }
-
-            extractor.getMetadataExtractor().extract(metadata);
-            extractor.getXHTML(handler, metadata, context);
-        } catch (IllegalArgumentException e) {
-            if (e.getMessage().startsWith("No supported documents found")) {
-                throw new TikaException(
-                        "TIKA-418: RuntimeException while getting content"
-                        + " for thmx and xps file types", e);
-            } else {
-                throw new TikaException("Error creating OOXML extractor", e);
-            }
-        } catch (InvalidFormatException e) {
-            throw new TikaException("Error creating OOXML extractor", e);
-        } catch (OpenXML4JException e) {
-            throw new TikaException("Error creating OOXML extractor", e);
-        } catch (XmlException e) {
-            throw new TikaException("Error creating OOXML extractor", e);
-
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParser.java
deleted file mode 100644
index c501fc4..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParser.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft.ooxml;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Office Open XML (OOXML) parser.
- * 
- */
-public class OOXMLParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.unmodifiableSet(new HashSet<MediaType>(Arrays.asList(
-                MediaType.application("x-tika-ooxml"),
-                MediaType.application("vnd.openxmlformats-officedocument.presentationml.presentation"),
-                MediaType.application("vnd.ms-powerpoint.presentation.macroenabled.12"),
-                MediaType.application("vnd.openxmlformats-officedocument.presentationml.template"),
-                MediaType.application("vnd.openxmlformats-officedocument.presentationml.slideshow"),
-                MediaType.application("vnd.ms-powerpoint.slideshow.macroenabled.12"),
-                MediaType.application("vnd.ms-powerpoint.addin.macroenabled.12"),
-                MediaType.application("vnd.openxmlformats-officedocument.spreadsheetml.sheet"),
-                MediaType.application("vnd.ms-excel.sheet.macroenabled.12"),
-                MediaType.application("vnd.openxmlformats-officedocument.spreadsheetml.template"),
-                MediaType.application("vnd.ms-excel.template.macroenabled.12"),
-                MediaType.application("vnd.ms-excel.addin.macroenabled.12"),
-                MediaType.application("vnd.openxmlformats-officedocument.wordprocessingml.document"),
-                MediaType.application("vnd.ms-word.document.macroenabled.12"),
-                MediaType.application("vnd.openxmlformats-officedocument.wordprocessingml.template"),
-                MediaType.application("vnd.ms-word.template.macroenabled.12"))));
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        OOXMLExtractorFactory.parse(stream, handler, metadata, context);
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/POIXMLTextExtractorDecorator.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/POIXMLTextExtractorDecorator.java
deleted file mode 100644
index e5644e3..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/POIXMLTextExtractorDecorator.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft.ooxml;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.poi.POIXMLTextExtractor;
-import org.apache.poi.openxml4j.opc.PackagePart;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.SAXException;
-
-public class POIXMLTextExtractorDecorator extends AbstractOOXMLExtractor {
-
-    public POIXMLTextExtractorDecorator(ParseContext context, POIXMLTextExtractor extractor) {
-        super(context, extractor, null);
-    }
-
-    @Override
-    protected void buildXHTML(XHTMLContentHandler xhtml) throws SAXException {
-        // extract document content as a single string (not structured)
-        xhtml.element("p", extractor.getText());
-    }
-
-    @Override
-    protected List<PackagePart> getMainDocumentParts() {
-       return new ArrayList<PackagePart>();
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSLFPowerPointExtractorDecorator.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSLFPowerPointExtractorDecorator.java
deleted file mode 100644
index 424d5c1..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSLFPowerPointExtractorDecorator.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft.ooxml;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
-import org.apache.poi.openxml4j.opc.PackagePart;
-import org.apache.poi.openxml4j.opc.PackagePartName;
-import org.apache.poi.openxml4j.opc.PackageRelationship;
-import org.apache.poi.openxml4j.opc.PackagingURIHelper;
-import org.apache.poi.openxml4j.opc.TargetMode;
-import org.apache.poi.xslf.XSLFSlideShow;
-import org.apache.poi.xslf.extractor.XSLFPowerPointExtractor;
-import org.apache.poi.xslf.usermodel.XMLSlideShow;
-import org.apache.poi.xslf.usermodel.XSLFSlide;
-import org.apache.poi.xslf.usermodel.XSLFCommonSlideData;
-import org.apache.poi.xslf.usermodel.DrawingParagraph;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.apache.xmlbeans.XmlException;
-import org.openxmlformats.schemas.presentationml.x2006.main.CTComment;
-import org.openxmlformats.schemas.presentationml.x2006.main.CTCommentList;
-import org.openxmlformats.schemas.presentationml.x2006.main.CTNotesSlide;
-import org.openxmlformats.schemas.presentationml.x2006.main.CTSlide;
-import org.openxmlformats.schemas.presentationml.x2006.main.CTSlideIdListEntry;
-import org.xml.sax.SAXException;
-
-public class XSLFPowerPointExtractorDecorator extends AbstractOOXMLExtractor {
-
-    public XSLFPowerPointExtractorDecorator(ParseContext context, XSLFPowerPointExtractor extractor) {
-        super(context, extractor, "application/vnd.openxmlformats-officedocument.presentationml.presentation");
-    }
-
-    /**
-     * @see org.apache.poi.xslf.extractor.XSLFPowerPointExtractor#getText()
-     */
-    @Override
-    protected void buildXHTML(XHTMLContentHandler xhtml) throws SAXException,
-            XmlException, IOException {
-        XSLFSlideShow slideShow = (XSLFSlideShow) extractor.getDocument();
-        XMLSlideShow xmlSlideShow = new XMLSlideShow(slideShow);
-
-        XSLFSlide[] slides = xmlSlideShow.getSlides();
-        for (XSLFSlide slide : slides) {
-            CTSlide rawSlide = slide._getCTSlide();
-            CTSlideIdListEntry slideId = slide._getCTSlideId();
-
-            CTNotesSlide notes = xmlSlideShow._getXSLFSlideShow().getNotes(
-                    slideId);
-            CTCommentList comments = xmlSlideShow._getXSLFSlideShow()
-                    .getSlideComments(slideId);
-
-            xhtml.startElement("div");
-            extractShapeContent(slide.getCommonSlideData(), xhtml);
-
-            if (comments != null) {
-                for (CTComment comment : comments.getCmArray()) {
-                    xhtml.element("p", comment.getText());
-                }
-            }
-
-            if (notes != null) {
-                extractShapeContent(new XSLFCommonSlideData(notes.getCSld()), xhtml);
-            }
-            xhtml.endElement("div");
-        }
-    }
-
-    private void extractShapeContent(XSLFCommonSlideData data, XHTMLContentHandler xhtml)
-            throws SAXException {
-        for (DrawingParagraph p : data.getText()) {
-            xhtml.element("p", p.getText().toString());
-        }
-    }
-    
-    /**
-     * In PowerPoint files, slides have things embedded in them,
-     *  and slide drawings which have the images
-     */
-    @Override
-    protected List<PackagePart> getMainDocumentParts() throws TikaException {
-       List<PackagePart> parts = new ArrayList<PackagePart>();
-       XSLFSlideShow document = (XSLFSlideShow) extractor.getDocument();
-       
-       for (CTSlideIdListEntry ctSlide : document.getSlideReferences().getSldIdList()) {
-          // Add the slide
-          PackagePart slidePart;
-          try {
-             slidePart = document.getSlidePart(ctSlide);
-          } catch(IOException e) {
-             throw new TikaException("Broken OOXML file", e);
-          } catch(XmlException xe) {
-             throw new TikaException("Broken OOXML file", xe);
-          }
-          parts.add(slidePart);
-          
-          // If it has drawings, return those too
-          try {
-             // TODO Improve when we upgrade POI
-//             for(PackageRelationship rel : slidePart.getRelationshipsByType(XSLFRelation.VML_DRAWING.getRelation())) {
-             for(PackageRelationship rel : slidePart.getRelationshipsByType("http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing")) {
-                if(rel.getTargetMode() == TargetMode.INTERNAL) {
-                   PackagePartName relName = PackagingURIHelper.createPartName(rel.getTargetURI());
-                   parts.add( rel.getPackage().getPart(relName) );
-                }
-             }
-          } catch(InvalidFormatException e) {
-             throw new TikaException("Broken OOXML file", e);
-          }
-       }
-
-       return parts;
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFExcelExtractorDecorator.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFExcelExtractorDecorator.java
deleted file mode 100644
index 2fe0ab4..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFExcelExtractorDecorator.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft.ooxml;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-
-import org.apache.poi.hssf.extractor.ExcelExtractor;
-import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
-import org.apache.poi.openxml4j.opc.PackagePart;
-import org.apache.poi.openxml4j.opc.PackagePartName;
-import org.apache.poi.openxml4j.opc.PackageRelationship;
-import org.apache.poi.openxml4j.opc.PackagingURIHelper;
-import org.apache.poi.openxml4j.opc.TargetMode;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.CellStyle;
-import org.apache.poi.ss.usermodel.Comment;
-import org.apache.poi.ss.usermodel.DataFormatter;
-import org.apache.poi.ss.usermodel.HeaderFooter;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.xssf.extractor.XSSFExcelExtractor;
-import org.apache.poi.xssf.usermodel.XSSFCell;
-import org.apache.poi.xssf.usermodel.XSSFRelation;
-import org.apache.poi.xssf.usermodel.XSSFSheet;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.TikaMetadataKeys;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.apache.xmlbeans.XmlException;
-import org.xml.sax.SAXException;
-
-public class XSSFExcelExtractorDecorator extends AbstractOOXMLExtractor {
-
-    /**
-     * Internal <code>DataFormatter</code> for formatting Numbers.
-     */
-    private final DataFormatter formatter;
-
-    private final XSSFExcelExtractor extractor;
-    private static final String TYPE = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
-
-    public XSSFExcelExtractorDecorator(
-            ParseContext context, XSSFExcelExtractor extractor, Locale locale) {
-        super(context, extractor, TYPE);
-
-        this.extractor = extractor;
-        formatter = new DataFormatter(locale);
-    }
-
-    /**
-     * @see org.apache.poi.xssf.extractor.XSSFExcelExtractor#getText()
-     */
-    @Override
-    protected void buildXHTML(XHTMLContentHandler xhtml) throws SAXException,
-            XmlException, IOException {
-        XSSFWorkbook document = (XSSFWorkbook) extractor.getDocument();
-
-        for (int i = 0; i < document.getNumberOfSheets(); i++) {
-            xhtml.startElement("div");
-            XSSFSheet sheet = (XSSFSheet) document.getSheetAt(i);
-            xhtml.element("h1", document.getSheetName(i));
-
-            // Header(s), if present
-            extractHeaderFooter(sheet.getFirstHeader(), xhtml);
-            extractHeaderFooter(sheet.getOddHeader(), xhtml);
-            extractHeaderFooter(sheet.getEvenHeader(), xhtml);
-
-            xhtml.startElement("table");
-            xhtml.startElement("tbody");
-
-            // Rows and cells
-            for (Object rawR : sheet) {
-                xhtml.startElement("tr");
-                Row row = (Row) rawR;
-                for (Iterator<Cell> ri = row.cellIterator(); ri.hasNext();) {
-                    xhtml.startElement("td");
-                    Cell cell = ri.next();
-
-                    int type = cell.getCellType();
-                    if (type == Cell.CELL_TYPE_FORMULA) {
-                        type = cell.getCachedFormulaResultType();
-                    }
-                    if (type == Cell.CELL_TYPE_STRING) {
-                        xhtml.characters(cell.getRichStringCellValue()
-                                .getString());
-                    } else if (type == Cell.CELL_TYPE_NUMERIC) {
-                        CellStyle style = cell.getCellStyle();
-                        xhtml.characters(
-                            formatter.formatRawCellContents(cell.getNumericCellValue(),
-                                                            style.getDataFormat(),
-                                                            style.getDataFormatString()));
-                    } else {
-                        XSSFCell xc = (XSSFCell) cell;
-                        String rawValue = xc.getRawValue();
-                        if (rawValue != null) {
-                            xhtml.characters(rawValue);
-                        }
-
-                    }
-
-                    // Output the comment in the same cell as the content
-                    Comment comment = cell.getCellComment();
-                    if (comment != null) {
-                        xhtml.characters(comment.getString().getString());
-                    }
-
-                    xhtml.endElement("td");
-                }
-                xhtml.endElement("tr");
-            }
-
-            xhtml.endElement("tbody");
-            xhtml.endElement("table");
-
-            // Finally footer(s), if present
-            extractHeaderFooter(sheet.getFirstFooter(), xhtml);
-            extractHeaderFooter(sheet.getOddFooter(), xhtml);
-            extractHeaderFooter(sheet.getEvenFooter(), xhtml);
-
-            xhtml.endElement("div");
-        }
-    }
-
-    private void extractHeaderFooter(HeaderFooter hf, XHTMLContentHandler xhtml)
-            throws SAXException {
-        String content = ExcelExtractor._extractHeaderFooter(hf);
-        if (content.length() > 0) {
-            xhtml.element("p", content);
-        }
-    }
-    
-    /**
-     * In Excel files, sheets have things embedded in them,
-     *  and sheet drawings which have the images
-     */
-    @Override
-    protected List<PackagePart> getMainDocumentParts() throws TikaException {
-       List<PackagePart> parts = new ArrayList<PackagePart>();
-       XSSFWorkbook document = (XSSFWorkbook) extractor.getDocument();
-       for(XSSFSheet sheet : document) {
-          PackagePart part = sheet.getPackagePart();
-          
-          // Add the sheet
-          parts.add(part);
-          
-          // If it has drawings, return those too
-          try {
-             for(PackageRelationship rel : part.getRelationshipsByType(XSSFRelation.DRAWINGS.getRelation())) {
-                if(rel.getTargetMode() == TargetMode.INTERNAL) {
-                   PackagePartName relName = PackagingURIHelper.createPartName(rel.getTargetURI());
-                   parts.add( rel.getPackage().getPart(relName) );
-                }
-             }
-             for(PackageRelationship rel : part.getRelationshipsByType(XSSFRelation.VML_DRAWINGS.getRelation())) {
-                if(rel.getTargetMode() == TargetMode.INTERNAL) {
-                   PackagePartName relName = PackagingURIHelper.createPartName(rel.getTargetURI());
-                   parts.add( rel.getPackage().getPart(relName) );
-                }
-             }
-          } catch(InvalidFormatException e) {
-             throw new TikaException("Broken OOXML file", e);
-          }
-       }
-
-       return parts;
-    }
-
-    @Override
-    public MetadataExtractor getMetadataExtractor() {
-        return new MetadataExtractor(extractor, TYPE) {
-            @Override
-            public void extract(Metadata metadata) throws TikaException {
-                super.extract(metadata);
-
-                metadata.set(TikaMetadataKeys.PROTECTED, "false");
-
-                XSSFWorkbook document = (XSSFWorkbook) extractor.getDocument();
-
-                for (int i = 0; i < document.getNumberOfSheets(); i++) {
-                    XSSFSheet sheet = document.getSheetAt(i);
-
-                    if (sheet.getProtect()) {
-                        metadata.set(TikaMetadataKeys.PROTECTED, "true");
-                    }
-                }
-            }
-        };
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/XWPFWordExtractorDecorator.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/XWPFWordExtractorDecorator.java
deleted file mode 100644
index fbfc54e..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/XWPFWordExtractorDecorator.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft.ooxml;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.poi.openxml4j.opc.PackagePart;
-import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
-import org.apache.poi.xwpf.model.XWPFCommentsDecorator;
-import org.apache.poi.xwpf.model.XWPFHeaderFooterPolicy;
-import org.apache.poi.xwpf.usermodel.BodyType;
-import org.apache.poi.xwpf.usermodel.IBody;
-import org.apache.poi.xwpf.usermodel.IBodyElement;
-import org.apache.poi.xwpf.usermodel.XWPFDocument;
-import org.apache.poi.xwpf.usermodel.XWPFHyperlink;
-import org.apache.poi.xwpf.usermodel.XWPFHyperlinkRun;
-import org.apache.poi.xwpf.usermodel.XWPFParagraph;
-import org.apache.poi.xwpf.usermodel.XWPFPicture;
-import org.apache.poi.xwpf.usermodel.XWPFPictureData;
-import org.apache.poi.xwpf.usermodel.XWPFRun;
-import org.apache.poi.xwpf.usermodel.XWPFStyle;
-import org.apache.poi.xwpf.usermodel.XWPFStyles;
-import org.apache.poi.xwpf.usermodel.XWPFTable;
-import org.apache.poi.xwpf.usermodel.XWPFTableCell;
-import org.apache.poi.xwpf.usermodel.XWPFTableRow;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.microsoft.WordExtractor;
-import org.apache.tika.parser.microsoft.WordExtractor.TagAndStyle;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.apache.xmlbeans.XmlException;
-import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBookmark;
-import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSectPr;
-import org.xml.sax.SAXException;
-
-public class XWPFWordExtractorDecorator extends AbstractOOXMLExtractor {
-    private XWPFDocument document;
-    private XWPFStyles styles;
-
-    public XWPFWordExtractorDecorator(ParseContext context, XWPFWordExtractor extractor) {
-        super(context, extractor, "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
-        
-        document = (XWPFDocument) extractor.getDocument();
-        styles = document.getStyles();
-    }
-
-    /**
-     * @see org.apache.poi.xwpf.extractor.XWPFWordExtractor#getText()
-     */
-    @Override
-    protected void buildXHTML(XHTMLContentHandler xhtml)
-            throws SAXException, XmlException, IOException {
-        XWPFHeaderFooterPolicy hfPolicy = document.getHeaderFooterPolicy();
-
-        // headers
-        extractHeaders(xhtml, hfPolicy);
-
-        // process text in the order that it occurs in
-        extractIBodyText(document, xhtml);
-
-        // then all document tables
-        extractFooters(xhtml, hfPolicy);
-    }
-
-    private void extractIBodyText(IBody bodyElement, XHTMLContentHandler xhtml)
-            throws SAXException, XmlException, IOException {
-       for(IBodyElement element : bodyElement.getBodyElements()) {
-          if(element instanceof XWPFParagraph) {
-             XWPFParagraph paragraph = (XWPFParagraph)element;
-             extractParagraph(paragraph, xhtml);
-          }
-          if(element instanceof XWPFTable) {
-             XWPFTable table = (XWPFTable)element;
-             extractTable(table, xhtml);
-          }
-      }
-    }
-    
-    private void extractParagraph(XWPFParagraph paragraph, XHTMLContentHandler xhtml)
-            throws SAXException, XmlException, IOException {
-       // If this paragraph is actually a whole new section, then
-       //  it could have its own headers and footers
-       // Check and handle if so
-       XWPFHeaderFooterPolicy headerFooterPolicy = null;
-       if (paragraph.getCTP().getPPr() != null) {
-           CTSectPr ctSectPr = paragraph.getCTP().getPPr().getSectPr();
-           if(ctSectPr != null) {
-              headerFooterPolicy =
-                  new XWPFHeaderFooterPolicy(document, ctSectPr);
-              extractHeaders(xhtml, headerFooterPolicy);
-           }
-       }
-       
-       // Is this a paragraph, or a heading?
-       String tag = "p";
-       String styleClass = null;
-       if(paragraph.getStyleID() != null) {
-          XWPFStyle style = styles.getStyle(
-                paragraph.getStyleID()
-          );
-          
-          TagAndStyle tas = WordExtractor.buildParagraphTagAndStyle(
-                style.getName(), paragraph.getPartType() == BodyType.TABLECELL
-          );
-          tag = tas.getTag();
-          styleClass = tas.getStyleClass();
-       }
-       
-       if(styleClass == null) {
-          xhtml.startElement(tag);
-       } else {
-          xhtml.startElement(tag, "class", styleClass);
-       }
-       
-       // Attach bookmarks for the paragraph
-       // (In future, we might put them in the right place, for now
-       //  we just put them in the correct paragraph)
-       for (CTBookmark bookmark : paragraph.getCTP().getBookmarkStartList()) {
-          xhtml.startElement("a", "name", bookmark.getName());
-          xhtml.endElement("a");
-       }
-       
-       // Do the text
-       for(XWPFRun run : paragraph.getRuns()) {
-          List<String> tags = new ArrayList<String>();
-          if(run instanceof XWPFHyperlinkRun) {
-             XWPFHyperlinkRun linkRun = (XWPFHyperlinkRun)run;
-             XWPFHyperlink link = linkRun.getHyperlink(document);
-             if(link != null && link.getURL() != null) {
-                xhtml.startElement("a", "href", link.getURL());
-                tags.add("a");
-             } else if(linkRun.getAnchor() != null && linkRun.getAnchor().length() > 0) {
-                xhtml.startElement("a", "href", "#" + linkRun.getAnchor());
-                tags.add("a");
-             }
-          }
-          if(run.isBold()) {
-             xhtml.startElement("b");
-             tags.add("b");
-          }
-          if(run.isItalic()) {
-             xhtml.startElement("i");
-             tags.add("i");
-          }
-          
-          xhtml.characters(run.toString());
-          
-          for(int i=tags.size()-1; i>=0; i--) {
-             xhtml.endElement(tags.get(i));
-          }
-          
-          // If we have any pictures, output them
-          for(XWPFPicture picture : run.getEmbeddedPictures()) {
-             if(paragraph.getDocument() != null) {
-                XWPFPictureData data = picture.getPictureData();
-                if(data != null) {
-                   xhtml.startElement("img", "src", "embedded:" + data.getFileName());
-                   xhtml.endElement("img");
-                }
-             }
-          }
-       }
-       
-       // Now do any comments for the paragraph
-       XWPFCommentsDecorator comments = new XWPFCommentsDecorator(paragraph, null);
-       String commentText = comments.getCommentText();
-       if(commentText != null && commentText.length() > 0) {
-          xhtml.characters(commentText);
-       }
-
-       String footnameText = paragraph.getFootnoteText();
-       if(footnameText != null && footnameText.length() > 0) {
-          xhtml.characters(footnameText + "\n");
-       }
-
-       // Finish this paragraph
-       xhtml.endElement(tag);
-
-       if (headerFooterPolicy != null) {
-           extractFooters(xhtml, headerFooterPolicy);
-       }
-    }
-
-    private void extractTable(XWPFTable table, XHTMLContentHandler xhtml)
-            throws SAXException, XmlException, IOException {
-       xhtml.startElement("table");
-       xhtml.startElement("tbody");
-       for(XWPFTableRow row : table.getRows()) {
-          xhtml.startElement("tr");
-          for(XWPFTableCell cell : row.getTableCells()) {
-             xhtml.startElement("td");
-             extractIBodyText(cell, xhtml);
-             xhtml.endElement("td");
-          }
-          xhtml.endElement("tr");
-       }
-       xhtml.endElement("tbody");
-       xhtml.endElement("table");
-    }
-    
-    private void extractFooters(
-            XHTMLContentHandler xhtml, XWPFHeaderFooterPolicy hfPolicy)
-            throws SAXException {
-        // footers
-        if (hfPolicy.getFirstPageFooter() != null) {
-            xhtml.element("p", hfPolicy.getFirstPageFooter().getText());
-        }
-        if (hfPolicy.getEvenPageFooter() != null) {
-            xhtml.element("p", hfPolicy.getEvenPageFooter().getText());
-        }
-        if (hfPolicy.getDefaultFooter() != null) {
-            xhtml.element("p", hfPolicy.getDefaultFooter().getText());
-        }
-    }
-
-    private void extractHeaders(
-            XHTMLContentHandler xhtml, XWPFHeaderFooterPolicy hfPolicy)
-            throws SAXException {
-        if (hfPolicy.getFirstPageHeader() != null) {
-            xhtml.element("p", hfPolicy.getFirstPageHeader().getText());
-        }
-        if (hfPolicy.getEvenPageHeader() != null) {
-            xhtml.element("p", hfPolicy.getEvenPageHeader().getText());
-        }
-        if (hfPolicy.getDefaultHeader() != null) {
-            xhtml.element("p", hfPolicy.getDefaultHeader().getText());
-        }
-    }
-
-    /**
-     * Word documents are simple, they only have the one
-     *  main part
-     */
-    @Override
-    protected List<PackagePart> getMainDocumentParts() {
-       List<PackagePart> parts = new ArrayList<PackagePart>();
-       parts.add( document.getPackagePart() );
-       return parts;
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/AudioFrame.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/AudioFrame.java
deleted file mode 100644
index 18c599d..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/AudioFrame.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mp3;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.tika.exception.TikaException;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * An Audio Frame in an MP3 file. These come after the ID3v2 tags in the file.
- * Currently, only the header is processed, not the raw audio data.
- */
-public class AudioFrame implements MP3Frame {
-    private String version;
-    private int sampleRate;
-    private int channels;
-
-    public String getVersion() {
-        return version;
-    }
-
-    /**
-     * Get the sampling rate, in Hz
-     */
-    public int getSampleRate() {
-        return sampleRate;
-    }
-
-    /**
-     * Get the number of channels (1=mono, 2=stereo)
-     */
-    public int getChannels() {
-        return channels;
-    }
-
-    /**
-     * Does this appear to be a 4 byte audio frame header?
-     */
-    public static boolean isAudioHeader(int h1, int h2, int h3, int h4) {
-        if (h1 == -1 || h2 == -1 || h3 == -1 || h4 == -1) {
-            return false;
-        }
-        // Check for the magic 11 bits set at the start
-        // Note - doesn't do a CRC check
-        if (h1 == 0xff && (h2 & 0x60) == 0x60) {
-            return true;
-        }
-        return false;
-    }
-
-
-    public AudioFrame(InputStream stream, ContentHandler handler)
-            throws IOException, SAXException, TikaException {
-        this(-2, -2, -2, -2, stream);
-    }
-
-    public AudioFrame(int h1, int h2, int h3, int h4, InputStream in)
-            throws IOException {
-        if (h1 == -2 && h2 == -2 && h3 == -2 && h4 == -2) {
-            h1 = in.read();
-            h2 = in.read();
-            h3 = in.read();
-            h4 = in.read();
-        }
-
-        if (isAudioHeader(h1, h2, h3, h4)) {
-            version = "MPEG 3 Layer ";
-            int layer = (h2 >> 1) & 0x03;
-            if (layer == 1) {
-                version += "III";
-            } else if (layer == 2) {
-                version += "II";
-            } else if (layer == 3) {
-                version += "I";
-            } else {
-                version += "(reserved)";
-            }
-
-            version += " Version ";
-            int ver = (h2 >> 3) & 0x03;
-            if (ver == 0) {
-                version += "2.5";
-            } else if(ver == 2) {
-                version += "2";
-            } else if(ver == 3) {
-                version += "1";
-            } else {
-                version += "(reseved)";
-            }
-
-            int rate = (h3 >> 2) & 0x03;
-            switch (rate) {
-            case 0:
-                sampleRate = 11025;
-                break;
-            case 1:
-                sampleRate = 12000;
-                break;
-            default:
-                sampleRate = 8000;
-            }
-            if (ver == 2) {
-                sampleRate *= 2;
-            } else if(ver == 3) {
-                sampleRate *= 4;
-            }
-
-            int chans = h4 & 0x03;
-            if (chans < 3) {
-                // Stereo, joint stereo, dual channel
-                channels = 2;
-            } else {
-                channels = 1;
-            }
-        } else {
-            throw new IllegalArgumentException("Magic Audio Frame Header not found");
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/CompositeTagHandler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/CompositeTagHandler.java
deleted file mode 100644
index 7e38915..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/CompositeTagHandler.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mp3;
-
-/**
- * Takes an array of {@link ID3Tags} in preference order, and when asked for
- * a given tag, will return it from the first {@link ID3Tags} that has it.
- */
-public class CompositeTagHandler implements ID3Tags {
-
-    private ID3Tags[] tags;
-
-    public CompositeTagHandler(ID3Tags[] tags) {
-        this.tags = tags;
-    }
-
-    public boolean getTagsPresent() {
-        for (ID3Tags tag : tags) {
-            if (tag.getTagsPresent()) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public String getTitle() {
-        for (ID3Tags tag : tags) {
-            if (tag.getTitle() != null) {
-                return tag.getTitle();
-            }
-        }
-        return null;
-    }
-
-    public String getArtist() {
-        for (ID3Tags tag : tags) {
-            if (tag.getArtist() != null) {
-                return tag.getArtist();
-            }
-        }
-        return null;
-    }
-
-    public String getAlbum() {
-        for (ID3Tags tag : tags) {
-            if (tag.getAlbum() != null) {
-                return tag.getAlbum();
-            }
-        }
-        return null;
-    }
-
-    public String getComposer() {
-        for (ID3Tags tag : tags) {
-            if (tag.getComposer() != null) {
-                return tag.getComposer();
-            }
-        }
-        return null;
-    }
-
-    public String getYear() {
-        for (ID3Tags tag : tags) {
-            if (tag.getYear() != null) {
-                return tag.getYear();
-            }
-        }
-        return null;
-    }
-
-    public String getComment() {
-        for (ID3Tags tag : tags) {
-            if (tag.getComment() != null) {
-                return tag.getComment();
-            }
-        }
-        return null;
-    }
-
-    public String getGenre() {
-        for (ID3Tags tag : tags) {
-            if (tag.getGenre() != null) {
-                return tag.getGenre();
-            }
-        }
-        return null;
-    }
-
-    public String getTrackNumber() {
-        for (ID3Tags tag : tags) {
-            if (tag.getTrackNumber() != null) {
-                return tag.getTrackNumber();
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3Tags.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3Tags.java
deleted file mode 100644
index 62438aa..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3Tags.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mp3;
-
-
-/**
- * Interface that defines the common interface for ID3 tag parsers,
- *  such as ID3v1 and ID3v2.3.
- * Implementations should return NULL if the file lacks a given
- *  tag, or if the tag isn't defined for the version.
- *  
- * Note that so far, only the ID3v1 core tags are listed here. In
- *  future, we may wish to add more to cover the extra tags that
- *  our ID3v2 handlers can produce.
- */
-public interface ID3Tags {
-    /**
-     * List of predefined genres.
-     *
-     * @see http://www.id3.org/id3v2-00
-     */
-    String[] GENRES = new String[] {
-        /*  0 */ "Blues",
-        /*  1 */ "Classic Rock",
-        /*  2 */ "Country",
-        /*  3 */ "Dance",
-        /*  4 */ "Disco",
-        /*  5 */ "Funk",
-        /*  6 */ "Grunge",
-        /*  7 */ "Hip-Hop",
-        /*  8 */ "Jazz",
-        /*  9 */ "Metal",
-        /* 10 */ "New Age",
-        /* 11 */ "Oldies",
-        /* 12 */ "Other",
-        /* 13 */ "Pop",
-        /* 14 */ "R&B",
-        /* 15 */ "Rap",
-        /* 16 */ "Reggae",
-        /* 17 */ "Rock",
-        /* 18 */ "Techno",
-        /* 19 */ "Industrial",
-        /* 20 */ "Alternative",
-        /* 21 */ "Ska",
-        /* 22 */ "Death Metal",
-        /* 23 */ "Pranks",
-        /* 24 */ "Soundtrack",
-        /* 25 */ "Euro-Techno",
-        /* 26 */ "Ambient",
-        /* 27 */ "Trip-Hop",
-        /* 28 */ "Vocal",
-        /* 29 */ "Jazz+Funk",
-        /* 30 */ "Fusion",
-        /* 31 */ "Trance",
-        /* 32 */ "Classical",
-        /* 33 */ "Instrumental",
-        /* 34 */ "Acid",
-        /* 35 */ "House",
-        /* 36 */ "Game",
-        /* 37 */ "Sound Clip",
-        /* 38 */ "Gospel",
-        /* 39 */ "Noise",
-        /* 40 */ "AlternRock",
-        /* 41 */ "Bass",
-        /* 42 */ "Soul",
-        /* 43 */ "Punk",
-        /* 44 */ "Space",
-        /* 45 */ "Meditative",
-        /* 46 */ "Instrumental Pop",
-        /* 47 */ "Instrumental Rock",
-        /* 48 */ "Ethnic",
-        /* 49 */ "Gothic",
-        /* 50 */ "Darkwave",
-        /* 51 */ "Techno-Industrial",
-        /* 52 */ "Electronic",
-        /* 53 */ "Pop-Folk",
-        /* 54 */ "Eurodance",
-        /* 55 */ "Dream",
-        /* 56 */ "Southern Rock",
-        /* 57 */ "Comedy",
-        /* 58 */ "Cult",
-        /* 59 */ "Gangsta",
-        /* 60 */ "Top 40",
-        /* 61 */ "Christian Rap",
-        /* 62 */ "Pop/Funk",
-        /* 63 */ "Jungle",
-        /* 64 */ "Native American",
-        /* 65 */ "Cabaret",
-        /* 66 */ "New Wave",
-        /* 67 */ "Psychadelic",
-        /* 68 */ "Rave",
-        /* 69 */ "Showtunes",
-        /* 70 */ "Trailer",
-        /* 71 */ "Lo-Fi",
-        /* 72 */ "Tribal",
-        /* 73 */ "Acid Punk",
-        /* 74 */ "Acid Jazz",
-        /* 75 */ "Polka",
-        /* 76 */ "Retro",
-        /* 77 */ "Musical",
-        /* 78 */ "Rock & Roll",
-        /* 79 */ "Hard Rock",
-        /* 80 */ "Folk",
-        /* 81 */ "Folk-Rock",
-        /* 82 */ "National Folk",
-        /* 83 */ "Swing",
-        /* 84 */ "Fast Fusion",
-        /* 85 */ "Bebob",
-        /* 86 */ "Latin",
-        /* 87 */ "Revival",
-        /* 88 */ "Celtic",
-        /* 89 */ "Bluegrass",
-        /* 90 */ "Avantgarde",
-        /* 91 */ "Gothic Rock",
-        /* 92 */ "Progressive Rock",
-        /* 93 */ "Psychedelic Rock",
-        /* 94 */ "Symphonic Rock",
-        /* 95 */ "Slow Rock",
-        /* 96 */ "Big Band",
-        /* 97 */ "Chorus",
-        /* 98 */ "Easy Listening",
-        /* 99 */ "Acoustic",
-        /* 100 */ "Humour",
-        /* 101 */ "Speech",
-        /* 102 */ "Chanson",
-        /* 103 */ "Opera",
-        /* 104 */ "Chamber Music",
-        /* 105 */ "Sonata",
-        /* 106 */ "Symphony",
-        /* 107 */ "Booty Bass",
-        /* 108 */ "Primus",
-        /* 109 */ "Porn Groove",
-        /* 110 */ "Satire",
-        /* 111 */ "Slow Jam",
-        /* 112 */ "Club",
-        /* 113 */ "Tango",
-        /* 114 */ "Samba",
-        /* 115 */ "Folklore",
-        /* 116 */ "Ballad",
-        /* 117 */ "Power Ballad",
-        /* 118 */ "Rhythmic Soul",
-        /* 119 */ "Freestyle",
-        /* 120 */ "Duet",
-        /* 121 */ "Punk Rock",
-        /* 122 */ "Drum Solo",
-        /* 123 */ "A capella",
-        /* 124 */ "Euro-House",
-        /* 125 */ "Dance Hall",
-        /* sentinel */ ""
-    };
-
-    /**
-     * Does the file contain this kind of tags?
-     */
-    boolean getTagsPresent();
-
-    String getTitle();
-
-    String getArtist();
-
-    String getAlbum();
-    
-    String getComposer();
-
-    String getComment();
-
-    String getGenre();
-
-    String getYear();
-
-    String getTrackNumber();
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v1Handler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v1Handler.java
deleted file mode 100644
index e265636e..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v1Handler.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mp3;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-
-import org.apache.tika.exception.TikaException;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * This is used to parse ID3 Version 1 Tag information from an MP3 file, 
- * if available.
- *
- * @see <a href="http://www.id3.org/ID3v1">MP3 ID3 Version 1 specification</a>
- */
-public class ID3v1Handler implements ID3Tags {
-    private String title;
-    private String artist;
-    private String album;
-    private String year;
-    private String comment;
-    private String genre;
-    private String trackNumber;
-
-    boolean found = false;
-
-    public ID3v1Handler(InputStream stream, ContentHandler handler)
-            throws IOException, SAXException, TikaException {
-        this(LyricsHandler.getSuffix(stream, 128));
-    }
-
-    /**
-     * Creates from the last 128 bytes of a stream.
-     * @param tagData Must be the last 128 bytes 
-     */
-    protected ID3v1Handler(byte[] tagData)
-            throws IOException, SAXException, TikaException {
-        if (tagData.length == 128
-                && tagData[0] == 'T' && tagData[1] == 'A' && tagData[2] == 'G') {
-            found = true;
-
-            title = getString(tagData, 3, 33);
-            artist = getString(tagData, 33, 63);
-            album = getString(tagData, 63, 93);
-            year = getString(tagData, 93, 97);
-            comment = getString(tagData, 97, 127);
-
-            int genreID = (int) tagData[127] & 0xff; // unsigned byte
-            genre = GENRES[Math.min(genreID, GENRES.length - 1)];
-
-            // ID3v1.1 Track addition
-            // If the last two bytes of the comment field are zero and
-            // non-zero, then the last byte is the track number
-            if (tagData[125] == 0 && tagData[126] != 0) {
-                int trackNum = (int) tagData[126] & 0xff;
-                trackNumber = Integer.toString(trackNum);
-            }
-        }
-    }
-
-
-    public boolean getTagsPresent() {
-        return found;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public String getArtist() {
-        return artist;
-    }
-
-    public String getAlbum() {
-        return album;
-    }
-
-    public String getYear() {
-        return year;
-    }
-
-    public String getComment() {
-        return comment;
-    }
-
-    public String getGenre() {
-        return genre;
-    }
-
-    public String getTrackNumber() {
-        return trackNumber;
-    }
-    
-    /**
-     * ID3v1 doesn't have composers,
-     *  so returns null;
-     */
-    public String getComposer() {
-        return null;
-    }
-
-    /**
-     * Returns the identified ISO-8859-1 substring from the given byte buffer.
-     * The return value is the zero-terminated substring retrieved from
-     * between the given start and end positions in the given byte buffer.
-     * Extra whitespace (and control characters) from the beginning and the
-     * end of the substring is removed.
-     *
-     * @param buffer byte buffer
-     * @param start start index of the substring
-     * @param end end index of the substring
-     * @return the identified substring
-     * @throws TikaException if the ISO-8859-1 encoding is not available
-     */
-    private static String getString(byte[] buffer, int start, int end)
-            throws TikaException {
-        // Find the zero byte that marks the end of the string
-        int zero = start;
-        while (zero < end && buffer[zero] != 0) {
-            zero++;
-        }
-
-        // Skip trailing whitespace
-        end = zero;
-        while (start < end && buffer[end - 1] <= ' ') {
-            end--;
-        }
-
-        // Skip leading whitespace
-        while (start < end && buffer[start] <= ' ') {
-            start++;
-        }
-
-        // Return the remaining substring
-        try {
-            return new String(buffer, start, end - start, "ISO-8859-1");
-        } catch (UnsupportedEncodingException e) {
-            throw new TikaException("ISO-8859-1 encoding is not available", e);
-        }
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v22Handler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v22Handler.java
deleted file mode 100644
index aca5847..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v22Handler.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mp3;
-
-import java.io.IOException;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.parser.mp3.ID3v2Frame.RawTag;
-import org.apache.tika.parser.mp3.ID3v2Frame.RawTagIterator;
-import org.xml.sax.SAXException;
-
-/**
- * This is used to parse ID3 Version 2.2 Tag information from an MP3 file,
- * if available.
- *
- * @see <a href="http://id3lib.sourceforge.net/id3/id3v2-00.txt">MP3 ID3 Version 2.2 specification</a>
- */
-public class ID3v22Handler implements ID3Tags {
-    private String title;
-    private String artist;
-    private String album;
-    private String year;
-    private String composer;
-    private String comment;
-    private String genre;
-    private String trackNumber;
-
-    public ID3v22Handler(ID3v2Frame frame)
-            throws IOException, SAXException, TikaException {
-        RawTagIterator tags = new RawV22TagIterator(frame);
-        while (tags.hasNext()) {
-            RawTag tag = tags.next();
-            if (tag.name.equals("TT2")) {
-                title = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TP1")) {
-                artist = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TAL")) {
-                album = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TYE")) {
-                year = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TCM")) {
-                composer = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("COM")) {
-                comment = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TRK")) {
-                trackNumber = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TCO")) {
-                String rawGenre = getTagString(tag.data, 0, tag.data.length);
-                int open = rawGenre.indexOf("(");
-                int close = rawGenre.indexOf(")");
-                if (open < close) {
-                    try {
-                        int genreID = Integer.parseInt(rawGenre.substring(open+1, close));
-                        genre = ID3Tags.GENRES[genreID];
-                    } catch(NumberFormatException ignore) {
-                    }
-                }
-            }
-        }
-    }
-
-    private String getTagString(byte[] data, int offset, int length) {
-        return ID3v2Frame.getTagString(data, offset, length);
-    }
-
-    public boolean getTagsPresent() {
-        return true;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public String getArtist() {
-        return artist;
-    }
-
-    public String getAlbum() {
-        return album;
-    }
-
-    public String getYear() {
-        return year;
-    }
-    
-    public String getComposer() {
-        return composer;
-    }
-
-    public String getComment() {
-        return comment;
-    }
-
-    public String getGenre() {
-        return genre;
-    }
-
-    public String getTrackNumber() {
-        return trackNumber;
-    }
-
-    private class RawV22TagIterator extends RawTagIterator {
-        private RawV22TagIterator(ID3v2Frame frame) {
-            frame.super(3, 3, 1, 0);
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v23Handler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v23Handler.java
deleted file mode 100644
index 27de43e..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v23Handler.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mp3;
-
-import java.io.IOException;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.parser.mp3.ID3v2Frame.RawTag;
-import org.apache.tika.parser.mp3.ID3v2Frame.RawTagIterator;
-import org.xml.sax.SAXException;
-
-/**
- * This is used to parse ID3 Version 2.3 Tag information from an MP3 file,
- * if available.
- *
- * @see <a href="http://id3lib.sourceforge.net/id3/id3v2.3.0.html">MP3 ID3 Version 2.3 specification</a>
- */
-public class ID3v23Handler implements ID3Tags {
-    private String title;
-    private String artist;
-    private String album;
-    private String year;
-    private String composer;
-    private String comment;
-    private String genre;
-    private String trackNumber;
-
-    public ID3v23Handler(ID3v2Frame frame)
-            throws IOException, SAXException, TikaException {
-        RawTagIterator tags = new RawV23TagIterator(frame);
-        while (tags.hasNext()) {
-            RawTag tag = tags.next();
-            if (tag.name.equals("TIT2")) {
-                title = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TPE1")) {
-                artist = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TALB")) {
-                album = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TYER")) {
-                year = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TCOM")) {
-                composer = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("COMM")) {
-                comment = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TRCK")) {
-                trackNumber = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TCON")) {
-                String rawGenre = getTagString(tag.data, 0, tag.data.length);
-                int open = rawGenre.indexOf("(");
-                int close = rawGenre.indexOf(")");
-                if (open < close) {
-                    try {
-                        int genreID = Integer.parseInt(rawGenre.substring(open+1, close));
-                        genre = ID3Tags.GENRES[genreID];
-                    } catch(NumberFormatException ignore) {
-                    }
-                }
-            }
-        }
-    }
-
-    private String getTagString(byte[] data, int offset, int length) {
-        String str = ID3v2Frame.getTagString(data, offset, length);
-        // Handle embedded nulls
-        return str.replace((char)0, '\n');
-    }
-
-    public boolean getTagsPresent() {
-        return true;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public String getArtist() {
-        return artist;
-    }
-
-    public String getAlbum() {
-        return album;
-    }
-
-    public String getYear() {
-        return year;
-    }
-
-    public String getComposer() {
-        return composer;
-    }
-
-    public String getComment() {
-        return comment;
-    }
-
-    public String getGenre() {
-        return genre;
-    }
-
-    public String getTrackNumber() {
-        return trackNumber;
-    }
-
-    private class RawV23TagIterator extends RawTagIterator {
-        private RawV23TagIterator(ID3v2Frame frame) {
-            frame.super(4, 4, 1, 2);
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v24Handler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v24Handler.java
deleted file mode 100644
index a390548..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v24Handler.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mp3;
-
-import java.io.IOException;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.parser.mp3.ID3v2Frame.RawTag;
-import org.apache.tika.parser.mp3.ID3v2Frame.RawTagIterator;
-import org.xml.sax.SAXException;
-
-/**
- * This is used to parse ID3 Version 2.4 Tag information from an MP3 file,
- * if available.
- *
- * @see <a href="http://www.id3.org/id3v2.4.0-structure">MP3 ID3 Version 2.4 specification</a>
- * @see <a href="http://www.id3.org/id3v2.4.0-frames">MP3 ID3 Version 2.4 frames/tags</a>
- */
-public class ID3v24Handler implements ID3Tags {
-    private String title;
-    private String artist;
-    private String album;
-    private String year;
-    private String composer;
-    private String comment;
-    private String genre;
-    private String trackNumber;
-
-    public ID3v24Handler(ID3v2Frame frame)
-            throws IOException, SAXException, TikaException {
-        RawTagIterator tags = new RawV24TagIterator(frame);
-        while (tags.hasNext()) {
-            RawTag tag = tags.next();
-            if (tag.name.equals("TIT2")) {
-                title = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TPE1")) {
-                artist = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TALB")) {
-                album = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TYER")) {
-                year = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TDRC")) {
-               if(year == null) {
-                  year = getTagString(tag.data, 0, tag.data.length);
-               }
-            } else if (tag.name.equals("TCOM")) {
-                composer = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("COMM")) {
-                comment = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TRCK")) {
-                trackNumber = getTagString(tag.data, 0, tag.data.length); 
-            } else if (tag.name.equals("TCON")) {
-                String rawGenre = getTagString(tag.data, 0, tag.data.length);
-                int open = rawGenre.indexOf("(");
-                int close = rawGenre.indexOf(")");
-                if (open == -1 && close == -1) {
-                   genre = rawGenre;
-                } else if (open < close) {
-                    try {
-                        int genreID = Integer.parseInt(rawGenre.substring(open+1, close));
-                        genre = ID3Tags.GENRES[genreID];
-                    } catch(NumberFormatException ignore) {
-                    }
-                }
-            }
-        }
-    }
-
-    private String getTagString(byte[] data, int offset, int length) {
-        return ID3v2Frame.getTagString(data, offset, length);
-    }
-
-    public boolean getTagsPresent() {
-        return true;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public String getArtist() {
-        return artist;
-    }
-
-    public String getAlbum() {
-        return album;
-    }
-
-    public String getYear() {
-        return year;
-    }
-
-    public String getComposer() {
-        return composer;
-    }
-
-    public String getComment() {
-        return comment;
-    }
-
-    public String getGenre() {
-        return genre;
-    }
-
-    public String getTrackNumber() {
-        return trackNumber;
-    }
-
-    private class RawV24TagIterator extends RawTagIterator {
-        private RawV24TagIterator(ID3v2Frame frame) {
-            frame.super(4, 4, 1, 2);
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v2Frame.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v2Frame.java
deleted file mode 100644
index a126572..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v2Frame.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mp3;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.Iterator;
-
-/**
- * A frame of ID3v2 data, which is then passed to a handler to 
- * be turned into useful data.
- */
-public class ID3v2Frame implements MP3Frame {
-    private int majorVersion;
-    private int minorVersion;
-    private int flags;
-    private int length;
-    /** Excludes the header size part */
-    private byte[] extendedHeader;
-    private byte[] data;
-
-    public int getMajorVersion() {
-        return majorVersion;
-    }
-
-    public int getMinorVersion() {
-        return minorVersion;
-    }
-
-    public int getFlags() {
-        return flags;
-    }
-
-    public int getLength() {
-        return length;
-    }
-
-    public byte[] getExtendedHeader() {
-        return extendedHeader;
-    }
-
-    public byte[] getData() {
-        return data;
-    }
-
-    /**
-     * Returns the next Frame (ID3v2 or Audio) in
-     *  the file, or null if the next batch of data
-     *  doesn't correspond to either an ID3v2 Frame
-     *  or an Audio Frame.
-     * ID3v2 Frames should come before all Audio ones.
-     */
-    public static MP3Frame createFrameIfPresent(InputStream inp)
-            throws IOException {
-        int h1 = inp.read();
-        int h2 = inp.read();
-        int h3 = inp.read();
-        
-        // Is it an ID3v2 Frame? 
-        if (h1 == (int)'I' && h2 == (int)'D' && h3 == (int)'3') {
-            int majorVersion = inp.read();
-            int minorVersion = inp.read();
-            if (majorVersion == -1 || minorVersion == -1) {
-                return null;
-            }
-            return new ID3v2Frame(majorVersion, minorVersion, inp);
-        }
-        
-        // Is it an Audio Frame?
-        int h4 = inp.read();
-        if (AudioFrame.isAudioHeader(h1, h2, h3, h4)) {
-            return new AudioFrame(h1, h2, h3, h4, inp);
-        }
-        
-        // Not a frame header
-        return null;
-    }
-
-    private ID3v2Frame(int majorVersion, int minorVersion, InputStream inp)
-            throws IOException {
-        this.majorVersion = majorVersion;
-        this.minorVersion = minorVersion;
-
-        // Get the flags and the length
-        flags = inp.read();
-        length = get7BitsInt(readFully(inp, 4), 0);
-
-        // Do we have an extended header?
-        if ((flags & 0x02) == 0x02) {
-            int size = getInt(readFully(inp, 4));
-            extendedHeader = readFully(inp, size);
-        }
-
-        // Get the frame's data, or at least as much
-        //  of it as we could do
-        data = readFully(inp, length, false);
-    }
-
-    protected static int getInt(byte[] data) {
-        return getInt(data, 0);
-    }
-
-    protected static int getInt(byte[] data, int offset) {
-        int b0 = data[offset+0] & 0xFF;
-        int b1 = data[offset+1] & 0xFF;
-        int b2 = data[offset+2] & 0xFF;
-        int b3 = data[offset+3] & 0xFF;
-        return (b0 << 24) + (b1 << 16) + (b2 << 8) + (b3 << 0);
-    }
-
-    protected static int getInt3(byte[] data, int offset) {
-        int b0 = data[offset+0] & 0xFF;
-        int b1 = data[offset+1] & 0xFF;
-        int b2 = data[offset+2] & 0xFF;
-        return (b0 << 16) + (b1 << 8) + (b2 << 0);
-    }
-
-    protected static int getInt2(byte[] data, int offset) {
-        int b0 = data[offset+0] & 0xFF;
-        int b1 = data[offset+1] & 0xFF;
-        return (b0 << 8) + (b1 << 0);
-    }
-
-    /**
-     * AKA a Synchsafe integer.
-     * 4 bytes hold a 28 bit number. The highest
-     *  bit in each byte is always 0 and always ignored.
-     */
-    protected static int get7BitsInt(byte[] data, int offset) {
-        int b0 = data[offset+0] & 0x7F;
-        int b1 = data[offset+1] & 0x7F;
-        int b2 = data[offset+2] & 0x7F;
-        int b3 = data[offset+3] & 0x7F;
-        return (b0 << 21) + (b1 << 14) + (b2 << 7) + (b3 << 0);
-    }
-
-    protected static byte[] readFully(InputStream inp, int length)
-            throws IOException {
-       return readFully(inp, length, true);
-    }
-    protected static byte[] readFully(InputStream inp, int length, boolean shortDataIsFatal)
-            throws IOException {
-        byte[] b = new byte[length];
-
-        int pos = 0;
-        int read;
-        while (pos < length) {
-            read = inp.read(b, pos, length-pos);
-            if (read == -1) {
-                if(shortDataIsFatal) {
-                   throw new IOException("Tried to read " + length + " bytes, but only " + pos + " bytes present");
-                } else {
-                   // Give them what we found
-                   // TODO Log the short read
-                   return b;
-                }
-            }
-            pos += read;
-        }
-
-        return b;
-    }
-
-    /**
-     * Returns the (possibly null padded) String at the given offset and
-     * length. String encoding is held in the first byte; 
-     */
-    protected static String getTagString(byte[] data, int offset, int length) {
-        int actualLength = length;
-        while (actualLength > 0 && data[actualLength-1] == 0) {
-            actualLength--;
-        }
-        if (actualLength == 0) {
-            return "";
-        }
-
-        // Does it have an encoding flag?
-        // Detect by the first byte being sub 0x20
-        String encoding = "ISO-8859-1";
-        byte maybeEncodingFlag = data[offset];
-        if (maybeEncodingFlag == 0 || maybeEncodingFlag == 1 ||
-              maybeEncodingFlag == 2 || maybeEncodingFlag == 3) {
-            offset++;
-            actualLength--;
-            if (maybeEncodingFlag == 1) {
-                // With BOM
-                encoding = "UTF-16";
-            } else if (maybeEncodingFlag == 2) {
-                // Without BOM
-                encoding = "UTF-16BE";
-            } else if (maybeEncodingFlag == 3) {
-                encoding = "UTF8";
-            }
-        }
-
-        try {
-            return new String(data, offset, actualLength, encoding);
-        } catch (UnsupportedEncodingException e) {
-            throw new RuntimeException(
-                    "Core encoding " + encoding + " is not available", e);
-        }
-    }
-
-    /**
-     * Returns the String at the given
-     *  offset and length. Strings are ISO-8859-1 
-     */
-    protected static String getString(byte[] data, int offset, int length) {
-        try {
-            return new String(data, offset, length, "ISO-8859-1");
-        } catch (UnsupportedEncodingException e) {
-            throw new RuntimeException(
-                    "Core encoding ISO-8859-1 encoding is not available", e);
-        }
-    }
-
-
-    /**
-     * Iterates over id3v2 raw tags.
-     * Create an instance of this that configures the
-     *  various length and multipliers.
-     */
-    protected class RawTagIterator implements Iterator<RawTag> {
-        private int nameLength;
-        private int sizeLength;
-        private int sizeMultiplier;
-        private int flagLength;
-
-        private int offset = 0;
-
-        protected RawTagIterator(
-                int nameLength, int sizeLength, int sizeMultiplier,
-                int flagLength) {
-            this.nameLength = nameLength;
-            this.sizeLength = sizeLength;
-            this.sizeMultiplier = sizeMultiplier;
-            this.flagLength = flagLength;
-        }
-
-        public boolean hasNext() {
-            // Check for padding at the end
-            return offset < data.length && data[offset] != 0;
-        }
-
-        public RawTag next() {
-            RawTag tag = new RawTag(nameLength, sizeLength, sizeMultiplier,
-                    flagLength, data, offset);
-            offset += tag.getSize();
-            return tag;
-        }
-
-        public void remove() {
-        }
-
-    }
-
-    protected static class RawTag {
-        private int headerSize;
-        protected String name;
-        protected int flag;
-        protected byte[] data;
-
-        private RawTag(
-                int nameLength, int sizeLength, int sizeMultiplier,
-                int flagLength, byte[] frameData, int offset) {
-            headerSize = nameLength + sizeLength + flagLength;
-
-            // Name, normally 3 or 4 bytes
-            name = getString(frameData, offset, nameLength);
-
-            // Size
-            int rawSize;
-            if (sizeLength == 3) {
-                rawSize = getInt3(frameData, offset+nameLength);
-            } else {
-                rawSize = getInt(frameData, offset+nameLength);
-            }
-            int size = rawSize * sizeMultiplier;
-
-            // Flag
-            if (flagLength > 0) {
-                if (flagLength == 1) {
-                    flag = (int)frameData[offset+nameLength+sizeLength];
-                } else {
-                    flag = getInt2(frameData, offset+nameLength+sizeLength);
-                }
-            }
-
-            // Now data
-            int copyFrom = offset+nameLength+sizeLength+flagLength;
-            size = Math.min(size, frameData.length-copyFrom);
-            data = new byte[size];
-            System.arraycopy(frameData, copyFrom, data, 0, size);
-        }
-
-        protected int getSize() {
-            return headerSize + data.length;
-        }
-
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/LyricsHandler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/LyricsHandler.java
deleted file mode 100644
index d80a803..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/LyricsHandler.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mp3;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.tika.exception.TikaException;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * This is used to parse Lyrics3 tag information
- *  from an MP3 file, if available.
- * Handles lyrics tags of up to 10kb in size.
- * Will process any ID3v1 tag data if present.
- * Ignores extended ID3v1 data in the lyrics block
- *
- * @see <a href="http://www.id3.org/Lyrics3v2">Lyrics3 v2.0 specification</a>
- */
-public class LyricsHandler {
-    boolean foundLyrics = false;
-    String lyricsText = null;
-    ID3v1Handler id3v1 = null;
-
-    public LyricsHandler(InputStream stream, ContentHandler handler)
-            throws IOException, SAXException, TikaException {
-        this(getSuffix(stream, 10240+128));
-    }
-
-    /**
-     * Looks for the Lyrics data, which will be
-     *  just before the ID3v1 data (if present),
-     *  and process it.
-     * Also sets things up for the ID3v1
-     *  processing if required.
-     * Creates from the last 128 bytes of a stream.
-     */
-    protected LyricsHandler(byte[] tagData)
-            throws IOException, SAXException, TikaException {
-        if(tagData.length < 128) {
-            return;
-        }
-
-        // Is there ID3v1 data?
-        byte[] last128 = new byte[128];
-        System.arraycopy(tagData, tagData.length-128, last128, 0, 128);
-        id3v1 = new ID3v1Handler(last128);
-
-        if(tagData.length < 137) {
-            return;
-        }
-
-        // Are there lyrics?
-        int lookat = tagData.length - 9;
-        if(id3v1.found) {
-            lookat -= 128;
-        }
-        if(tagData[lookat+0] == 'L' && tagData[lookat+1] == 'Y' && 
-                tagData[lookat+2] == 'R' && tagData[lookat+3] == 'I' &&
-                tagData[lookat+4] == 'C' && tagData[lookat+5] == 'S' &&
-                tagData[lookat+6] == '2' && tagData[lookat+7] == '0' &&
-                tagData[lookat+8] == '0') {
-            foundLyrics = true;
-
-            int length = Integer.parseInt(
-                    new String(tagData, lookat-6, 6)
-            );
-
-            String lyrics = new String(
-                    tagData, lookat-length+5, length-11,
-                    "ASCII"
-            );
-
-            int pos = 0;
-            while(pos < lyrics.length()-9) {
-                String tagName = lyrics.substring(pos, pos+3);
-                int tagLen = Integer.parseInt(
-                        lyrics.substring(pos+3, pos+9)
-                );
-
-                if(tagName.equals("LYR")) {
-                    lyricsText = lyrics.substring(pos+9, pos+9+tagLen);
-                }
-
-                pos += tagLen;
-            }
-        }
-    }
-
-    public boolean hasID3v1() {
-        if(id3v1 == null || id3v1.found == false) {
-            return false;
-        }
-        return true;
-    }
-    public boolean hasLyrics() {
-        return lyricsText != null && lyricsText.length() > 0;
-    }
-
-    /**
-     * Reads and returns the last <code>length</code> bytes from the
-     * given stream.
-     * @param stream input stream
-     * @param length number of bytes from the end to read and return
-     * @return stream the <code>InputStream</code> to read from.
-     * @throws IOException if the stream could not be read from.
-     */
-    protected static byte[] getSuffix(InputStream stream, int length)
-            throws IOException {
-        byte[] buffer = new byte[2 * length];
-        int bytesInBuffer = 0;
-
-        int n = stream.read(buffer);
-        while (n != -1) {
-            bytesInBuffer += n;
-            if (bytesInBuffer == buffer.length) {
-                System.arraycopy(buffer, bytesInBuffer - length, buffer, 0, length);
-                bytesInBuffer = length;
-            }
-            n = stream.read(buffer, bytesInBuffer, buffer.length - bytesInBuffer);
-        }
-
-        if (bytesInBuffer < length) {
-            length = bytesInBuffer;
-        }
-
-        byte[] result = new byte[length];
-        System.arraycopy(buffer, bytesInBuffer - length, result, 0, length);
-        return result;
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/MP3Frame.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/MP3Frame.java
deleted file mode 100644
index 923be8a..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/MP3Frame.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mp3;
-
-
-/**
- * A frame in an MP3 file, such as ID3v2 Tags or some
- *  audio.
- */
-public interface MP3Frame {
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/Mp3Parser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/Mp3Parser.java
deleted file mode 100644
index db26e99..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/Mp3Parser.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mp3;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.XMPDM;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * The <code>Mp3Parser</code> is used to parse ID3 Version 1 Tag information
- * from an MP3 file, if available.
- *
- * @see <a href="http://www.id3.org/ID3v1">MP3 ID3 Version 1 specification</a>
- * @see <a href="http://www.id3.org/id3v2.4.0-structure">MP3 ID3 Version 2.4 Structure Specification</a>
- * @see <a href="http://www.id3.org/id3v2.4.0-frames">MP3 ID3 Version 2.4 Frames Specification</a>
- */
-public class Mp3Parser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.singleton(MediaType.audio("mpeg"));
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        metadata.set(Metadata.CONTENT_TYPE, "audio/mpeg");
-        metadata.set(XMPDM.AUDIO_COMPRESSOR, "MP3");
-
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-
-        // Create handlers for the various kinds of ID3 tags
-        ID3TagsAndAudio audioAndTags = getAllTagHandlers(stream, handler);
-
-        if (audioAndTags.tags.length > 0) {
-           CompositeTagHandler tag = new CompositeTagHandler(audioAndTags.tags);
-
-           metadata.set(Metadata.TITLE, tag.getTitle());
-           metadata.set(Metadata.AUTHOR, tag.getArtist());
-           metadata.set(XMPDM.ARTIST, tag.getArtist());
-           metadata.set(XMPDM.COMPOSER, tag.getComposer());
-           metadata.set(XMPDM.ALBUM, tag.getAlbum());
-           metadata.set(XMPDM.RELEASE_DATE, tag.getYear());
-           metadata.set(XMPDM.GENRE, tag.getGenre());
-           metadata.set(XMPDM.LOG_COMMENT, tag.getComment());
-
-           xhtml.element("h1", tag.getTitle());
-           xhtml.element("p", tag.getArtist());
-
-            // ID3v1.1 Track addition
-            if (tag.getTrackNumber() != null) {
-                xhtml.element("p", tag.getAlbum() + ", track " + tag.getTrackNumber());
-                metadata.set(XMPDM.TRACK_NUMBER, tag.getTrackNumber());
-            } else {
-                xhtml.element("p", tag.getAlbum());
-            }
-            xhtml.element("p", tag.getYear());
-            xhtml.element("p", tag.getComment());
-            xhtml.element("p", tag.getGenre());
-        }
-        if (audioAndTags.audio != null) {
-            metadata.set("samplerate", String.valueOf(audioAndTags.audio.getSampleRate()));
-            metadata.set("channels", String.valueOf(audioAndTags.audio.getChannels()));
-            metadata.set("version", audioAndTags.audio.getVersion());
-            
-            metadata.set(
-                    XMPDM.AUDIO_SAMPLE_RATE,
-                    Integer.toString(audioAndTags.audio.getSampleRate()));
-            if(audioAndTags.audio.getChannels() == 1) {
-               metadata.set(XMPDM.AUDIO_CHANNEL_TYPE, "Mono");
-            } else if(audioAndTags.audio.getChannels() == 2) {
-               metadata.set(XMPDM.AUDIO_CHANNEL_TYPE, "Stereo");
-            } else if(audioAndTags.audio.getChannels() == 5) {
-               metadata.set(XMPDM.AUDIO_CHANNEL_TYPE, "5.1");
-            } else if(audioAndTags.audio.getChannels() == 7) {
-               metadata.set(XMPDM.AUDIO_CHANNEL_TYPE, "7.1");
-            }
-        }
-        if (audioAndTags.lyrics != null && audioAndTags.lyrics.hasLyrics()) {
-        	xhtml.element("p", audioAndTags.lyrics.lyricsText);
-        }
-
-        xhtml.endDocument();
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-    /**
-     * Scans the MP3 frames for ID3 tags, and creates ID3Tag Handlers
-     *  for each supported set of tags. 
-     */
-    protected static ID3TagsAndAudio getAllTagHandlers(InputStream stream, ContentHandler handler)
-           throws IOException, SAXException, TikaException {
-       ID3v24Handler v24 = null;
-       ID3v23Handler v23 = null;
-       ID3v22Handler v22 = null;
-       ID3v1Handler v1 = null;
-       LyricsHandler lyrics = null;
-       AudioFrame firstAudio = null;
-
-       // ID3v2 tags live at the start of the file
-       // You can apparently have several different ID3 tag blocks
-       // So, keep going until we don't find any more
-       MP3Frame f;
-       while ((f = ID3v2Frame.createFrameIfPresent(stream)) != null && firstAudio == null) {
-           if(f instanceof ID3v2Frame) {
-               ID3v2Frame id3F = (ID3v2Frame)f;
-               if (id3F.getMajorVersion() == 4) {
-                   v24 = new ID3v24Handler(id3F);
-               } else if(id3F.getMajorVersion() == 3) {
-                   v23 = new ID3v23Handler(id3F);
-               } else if(id3F.getMajorVersion() == 2) {
-                   v22 = new ID3v22Handler(id3F);
-               }
-           } else if(f instanceof AudioFrame) {
-               firstAudio = (AudioFrame)f;
-           }
-       }
-
-       // ID3v1 tags live at the end of the file
-       // Lyrics live just before ID3v1, at the end of the file
-       // Search for both (handlers seek to the end for us)
-       lyrics = new LyricsHandler(stream, handler);
-       v1 = lyrics.id3v1;
-
-       // Go in order of preference
-       // Currently, that's newest to oldest
-       List<ID3Tags> tags = new ArrayList<ID3Tags>();
-
-       if(v24 != null && v24.getTagsPresent()) {
-          tags.add(v24);
-       }
-       if(v23 != null && v23.getTagsPresent()) {
-          tags.add(v23);
-       }
-       if(v22 != null && v22.getTagsPresent()) {
-          tags.add(v22);
-       }
-       if(v1 != null && v1.getTagsPresent()) {
-          tags.add(v1);
-       }
-       
-       ID3TagsAndAudio ret = new ID3TagsAndAudio();
-       ret.audio = firstAudio;
-       ret.lyrics = lyrics;
-       ret.tags = tags.toArray(new ID3Tags[tags.size()]);
-       return ret;
-    }
-
-    protected static class ID3TagsAndAudio {
-        private ID3Tags[] tags;
-        private AudioFrame audio;
-        private LyricsHandler lyrics;
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/netcdf/NetCDFParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/netcdf/NetCDFParser.java
deleted file mode 100644
index 2099ad5..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/netcdf/NetCDFParser.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.netcdf;
-
-//JDK imports
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
-//TIKA imports
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-//NETCDF imports
-import ucar.nc2.Attribute;
-import ucar.nc2.NetcdfFile;
-
-/**
- * A {@link Parser} for <a
- * href="http://www.unidata.ucar.edu/software/netcdf/index.html">NetCDF</a>
- * files using the UCAR, MIT-licensed <a
- * href="http://www.unidata.ucar.edu/software/netcdf-java/">NetCDF for Java</a>
- * API.
- */
-public class NetCDFParser implements Parser {
-
-    private final Set<MediaType> SUPPORTED_TYPES = Collections
-            .singleton(MediaType.application("x-netcdf"));
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.apache.tika.parser.Parser#getSupportedTypes(org.apache.tika.parser
-     * .ParseContext)
-     */
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.apache.tika.parser.Parser#parse(java.io.InputStream,
-     * org.xml.sax.ContentHandler, org.apache.tika.metadata.Metadata,
-     * org.apache.tika.parser.ParseContext)
-     */
-    public void parse(InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context) throws IOException,
-            SAXException, TikaException {
-
-        ByteArrayOutputStream os = new ByteArrayOutputStream();
-        this.writeStreamToMemory(stream, os);
-
-        NetcdfFile ncFile = NetcdfFile.openInMemory("", os.toByteArray());
-
-        // first parse out the set of global attributes
-        for (Attribute attr : ncFile.getGlobalAttributes()) {
-            String attrName = attr.getName();
-            if (attr.getDataType().isString()) {
-                metadata.add(attrName, attr.getStringValue());
-            } else if (attr.getDataType().isNumeric()) {
-                metadata.add(attrName, String.valueOf(attr.getNumericValue()
-                        .intValue()));
-            }
-        }
-
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.apache.tika.parser.Parser#parse(java.io.InputStream,
-     * org.xml.sax.ContentHandler, org.apache.tika.metadata.Metadata)
-     */
-    public void parse(InputStream stream, ContentHandler handler,
-            Metadata metadata) throws IOException, SAXException, TikaException {
-        this.parse(stream, handler, metadata, new ParseContext());
-    }
-
-    protected void writeStreamToMemory(InputStream is, ByteArrayOutputStream os)
-            throws TikaException {
-        byte[] buf = new byte[512];
-
-        try {
-            while ((is.read(buf, 0, 512)) != -1) {
-                os.write(buf);
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            throw new TikaException(e.getMessage());
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/NSNormalizerContentHandler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/NSNormalizerContentHandler.java
deleted file mode 100644
index 70257d0..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/NSNormalizerContentHandler.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.odf;
-
-import java.io.IOException;
-import java.io.StringReader;
-
-import org.apache.tika.sax.ContentHandlerDecorator;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-/**
- * Content handler decorator that:<ul>
- * <li>Maps old OpenOffice 1.0 Namespaces to the OpenDocument ones</li>
- * <li>Returns a fake DTD when parser requests OpenOffice DTD</li>
- * </ul>
- */
-public class NSNormalizerContentHandler extends ContentHandlerDecorator {
-
-    private static final String OLD_NS =
-        "http://openoffice.org/2000/";
-
-    private static final String NEW_NS =
-        "urn:oasis:names:tc:opendocument:xmlns:";
-
-    private static final String DTD_PUBLIC_ID =
-        "-//OpenOffice.org//DTD OfficeDocument 1.0//EN";
-
-    public NSNormalizerContentHandler(ContentHandler handler) {
-        super(handler);
-    }
-
-    private String mapOldNS(String ns) {
-        if (ns != null && ns.startsWith(OLD_NS)) {
-            return NEW_NS + ns.substring(OLD_NS.length()) + ":1.0";
-        } else {
-            return ns;
-        }
-    }
-
-    @Override
-    public void startElement(
-            String namespaceURI, String localName, String qName,
-            Attributes atts) throws SAXException {
-        AttributesImpl natts = new AttributesImpl();
-        for (int i = 0; i < atts.getLength(); i++) {
-            natts.addAttribute(
-                    mapOldNS(atts.getURI(i)), atts.getLocalName(i),
-                    atts.getQName(i), atts.getType(i), atts.getValue(i));
-        }
-        super.startElement(mapOldNS(namespaceURI), localName, qName, atts);
-    }
-
-    @Override
-    public void endElement(String namespaceURI, String localName, String qName)
-            throws SAXException {
-        super.endElement(mapOldNS(namespaceURI), localName, qName);
-    }
-
-    @Override
-    public void startPrefixMapping(String prefix, String uri)
-            throws SAXException {
-        super.startPrefixMapping(prefix, mapOldNS(uri));
-    }
-
-    /**
-     * do not load any DTDs (may be requested by parser). Fake the DTD by
-     * returning a empty string as InputSource
-     */
-    @Override
-    public InputSource resolveEntity(String publicId, String systemId)
-            throws IOException, SAXException {
-        if ((systemId != null && systemId.toLowerCase().endsWith(".dtd"))
-                || DTD_PUBLIC_ID.equals(publicId)) {
-            return new InputSource(new StringReader(""));
-        } else {
-            return super.resolveEntity(publicId, systemId);
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/OpenDocumentContentParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/OpenDocumentContentParser.java
deleted file mode 100644
index 5ba9266..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/OpenDocumentContentParser.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.odf;
-
-import static org.apache.tika.sax.XHTMLContentHandler.XHTML;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.BitSet;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Set;
-import java.util.Stack;
-
-import javax.xml.XMLConstants;
-import javax.xml.namespace.QName;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.CloseShieldInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.ElementMappingContentHandler;
-import org.apache.tika.sax.OfflineContentHandler;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.apache.tika.sax.ElementMappingContentHandler.TargetElement;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Parser for ODF <code>content.xml</code> files.
- */
-public class OpenDocumentContentParser implements Parser {
-
-    public static final String TEXT_NS =
-        "urn:oasis:names:tc:opendocument:xmlns:text:1.0";
-
-    public static final String TABLE_NS =
-        "urn:oasis:names:tc:opendocument:xmlns:table:1.0";
-
-    public static final String OFFICE_NS =
-        "urn:oasis:names:tc:opendocument:xmlns:office:1.0";
-
-    public static final String SVG_NS =
-        "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0";
-
-    public static final String PRESENTATION_NS =
-        "urn:oasis:names:tc:opendocument:xmlns:presentation:1.0";
-
-    public static final String DRAW_NS =
-        "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0";
-
-    public static final String XLINK_NS = "http://www.w3.org/1999/xlink";
-
-    protected static final char[] TAB = new char[] { '\t' };
-
-    /**
-     * Mappings between ODF tag names and XHTML tag names
-     * (including attributes). All other tag names/attributes are ignored
-     * and left out from event stream. 
-     */
-    private static final HashMap<QName, TargetElement> MAPPINGS =
-        new HashMap<QName, TargetElement>();
-
-    static {
-        // general mappings of text:-tags
-        MAPPINGS.put(
-                new QName(TEXT_NS, "p"),
-                new TargetElement(XHTML, "p"));
-        // text:h-tags are mapped specifically in startElement/endElement
-        MAPPINGS.put(
-                new QName(TEXT_NS, "line-break"),
-                new TargetElement(XHTML, "br"));
-        MAPPINGS.put(
-                new QName(TEXT_NS, "list"),
-                new TargetElement(XHTML, "ul"));
-        MAPPINGS.put(
-                new QName(TEXT_NS, "list-item"),
-                new TargetElement(XHTML, "li"));
-        MAPPINGS.put(
-                new QName(TEXT_NS, "note"),
-                new TargetElement(XHTML, "div"));
-        MAPPINGS.put(
-                new QName(OFFICE_NS, "annotation"),
-                new TargetElement(XHTML, "div"));
-        MAPPINGS.put(
-                new QName(PRESENTATION_NS, "notes"),
-                new TargetElement(XHTML, "div"));
-        MAPPINGS.put(
-                new QName(DRAW_NS, "object"),
-                new TargetElement(XHTML, "object"));
-        MAPPINGS.put(
-                new QName(DRAW_NS, "text-box"),
-                new TargetElement(XHTML, "div"));
-        MAPPINGS.put(
-                new QName(SVG_NS, "title"),
-                new TargetElement(XHTML, "span"));
-        MAPPINGS.put(
-                new QName(SVG_NS, "desc"),
-                new TargetElement(XHTML, "span"));
-        MAPPINGS.put(
-                new QName(TEXT_NS, "span"),
-                new TargetElement(XHTML, "span"));
-        
-        final HashMap<QName,QName> aAttsMapping =
-            new HashMap<QName,QName>();
-        aAttsMapping.put(
-                new QName(XLINK_NS, "href"),
-                new QName("href"));
-        aAttsMapping.put(
-                new QName(XLINK_NS, "title"),
-                new QName("title"));
-        MAPPINGS.put(
-                new QName(TEXT_NS, "a"),
-                new TargetElement(XHTML, "a", aAttsMapping));
-
-        // create HTML tables from table:-tags
-        MAPPINGS.put(
-                new QName(TABLE_NS, "table"),
-                new TargetElement(XHTML, "table"));
-        // repeating of rows is ignored; for columns, see below!
-        MAPPINGS.put(
-                new QName(TABLE_NS, "table-row"),
-                new TargetElement(XHTML, "tr"));
-        // special mapping for rowspan/colspan attributes
-        final HashMap<QName,QName> tableCellAttsMapping =
-            new HashMap<QName,QName>();
-        tableCellAttsMapping.put(
-                new QName(TABLE_NS, "number-columns-spanned"),
-                new QName("colspan"));
-        tableCellAttsMapping.put(
-                new QName(TABLE_NS, "number-rows-spanned"),
-                new QName("rowspan"));
-        /* TODO: The following is not correct, the cell should be repeated not spanned!
-         * Code generates a HTML cell, spanning all repeated columns, to make the cell look correct.
-         * Problems may occur when both spanning and repeating is given, which is not allowed by spec.
-         * Cell spanning instead of repeating  is not a problem, because OpenOffice uses it
-         * only for empty cells.
-         */
-        tableCellAttsMapping.put(
-                new QName(TABLE_NS, "number-columns-repeated"),
-                new QName("colspan"));
-        MAPPINGS.put(
-                new QName(TABLE_NS, "table-cell"),
-                new TargetElement(XHTML, "td", tableCellAttsMapping));
-    }
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return Collections.emptySet(); // not a top-level parser
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        final XHTMLContentHandler xhtml =
-            new XHTMLContentHandler(handler,metadata);
-        DefaultHandler dh = new ElementMappingContentHandler(xhtml, MAPPINGS) {
-
-            private final BitSet textNodeStack = new BitSet();
-
-            private int nodeDepth = 0;
-
-            private int completelyFiltered = 0;
-
-            private Stack<String> headingStack = new Stack<String>();
-
-            @Override
-            public void characters(char[] ch, int start, int length)
-                    throws SAXException {
-                // only forward content of tags from text:-namespace
-                if (completelyFiltered == 0 && nodeDepth > 0
-                        && textNodeStack.get(nodeDepth - 1)) {
-                    super.characters(ch,start,length);
-                }
-            }
-
-            // helper for checking tags which need complete filtering
-            // (with sub-tags)
-            private boolean needsCompleteFiltering(
-                    String namespaceURI, String localName) {
-                if (TEXT_NS.equals(namespaceURI)) {
-                    return localName.endsWith("-template")
-                        || localName.endsWith("-style");
-                } else if (TABLE_NS.equals(namespaceURI)) {
-                    return "covered-table-cell".equals(localName);
-                } else {
-                    return false;
-                }
-            }
-
-            // map the heading level to <hX> HTML tags
-            private String getXHTMLHeaderTagName(Attributes atts) {
-                String depthStr = atts.getValue(TEXT_NS, "outline-level");
-                if (depthStr == null) {
-                    return "h1";
-                }
-
-                int depth = Integer.parseInt(depthStr);
-                if (depth >= 6) {
-                    return "h6";
-                } else if (depth <= 1) {
-                    return "h1";
-                } else {
-                    return "h" + depth;
-                }
-            }
-
-            /**
-             * Check if a node is a text node
-             */
-            private boolean isTextNode(String namespaceURI, String localName) {
-                if (TEXT_NS.equals(namespaceURI)) {
-                    return true;
-                }
-                if (SVG_NS.equals(namespaceURI)) {
-                    return "title".equals(localName) ||
-                            "desc".equals(localName);
-                }
-                return false;
-            }
-
-            @Override
-            public void startElement(
-                    String namespaceURI, String localName, String qName,
-                    Attributes atts) throws SAXException {
-                // keep track of current node type. If it is a text node,
-                // a bit at the current depth ist set in textNodeStack.
-                // characters() checks the top bit to determine, if the
-                // actual node is a text node to print out nodeDepth contains
-                // the depth of the current node and also marks top of stack.
-                assert nodeDepth >= 0;
-
-                textNodeStack.set(nodeDepth++, 
-                        isTextNode(namespaceURI, localName));
-                // filter *all* content of some tags
-                assert completelyFiltered >= 0;
-
-                if (needsCompleteFiltering(namespaceURI, localName)) {
-                    completelyFiltered++;
-                }
-                // call next handler if no filtering
-                if (completelyFiltered == 0) {
-                    // special handling of text:h, that are directly passed
-                    // to xhtml handler
-                    if (TEXT_NS.equals(namespaceURI) && "h".equals(localName)) {
-                        xhtml.startElement(headingStack.push(
-                                getXHTMLHeaderTagName(atts)));
-                    } else {
-                        super.startElement(
-                                namespaceURI, localName, qName, atts);
-                    }
-                }
-            }
-
-            @Override
-            public void endElement(
-                    String namespaceURI, String localName, String qName)
-                    throws SAXException {
-                // call next handler if no filtering
-                if (completelyFiltered == 0) {
-                    // special handling of text:h, that are directly passed
-                    // to xhtml handler
-                    if (TEXT_NS.equals(namespaceURI) && "h".equals(localName)) {
-                        xhtml.endElement(headingStack.pop());
-                    } else {
-                        super.endElement(namespaceURI,localName,qName);
-                    }
-
-                    // special handling of tabulators
-                    if (TEXT_NS.equals(namespaceURI)
-                            && ("tab-stop".equals(localName)
-                                    || "tab".equals(localName))) {
-                        this.characters(TAB, 0, TAB.length);
-                    }
-                }
-
-                // revert filter for *all* content of some tags
-                if (needsCompleteFiltering(namespaceURI,localName)) {
-                    completelyFiltered--;
-                }
-                assert completelyFiltered >= 0;
-
-                // reduce current node depth
-                nodeDepth--;
-                assert nodeDepth >= 0;
-            }
-
-            @Override
-            public void startPrefixMapping(String prefix, String uri) {
-                // remove prefix mappings as they should not occur in XHTML
-            }
-
-            @Override
-            public void endPrefixMapping(String prefix) {
-                // remove prefix mappings as they should not occur in XHTML
-            }
-
-        };
-
-        try {
-            SAXParserFactory factory = SAXParserFactory.newInstance();
-            factory.setValidating(false);
-            factory.setNamespaceAware(true);
-            try {
-                factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
-            } catch (SAXNotRecognizedException e){
-                // TIKA-329: Some XML parsers do not support the secure-processing
-                // feature, even though it's required by JAXP in Java 5. Ignoring
-                // the exception is fine here, deployments without this feature
-                // are inherently vulnerable to XML denial-of-service attacks.
-            }
-            SAXParser parser = factory.newSAXParser();
-            parser.parse(
-                    new CloseShieldInputStream(stream),
-                    new OfflineContentHandler(
-                            new NSNormalizerContentHandler(dh)));
-        } catch (ParserConfigurationException e) {
-            throw new TikaException("XML parser configuration error", e);
-        }
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/OpenDocumentMetaParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/OpenDocumentMetaParser.java
deleted file mode 100644
index db747b2..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/OpenDocumentMetaParser.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.odf;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.xml.AttributeDependantMetadataHandler;
-import org.apache.tika.parser.xml.DcXMLParser;
-import org.apache.tika.parser.xml.MetadataHandler;
-import org.apache.tika.sax.TeeContentHandler;
-import org.apache.tika.sax.xpath.CompositeMatcher;
-import org.apache.tika.sax.xpath.Matcher;
-import org.apache.tika.sax.xpath.MatchingContentHandler;
-import org.apache.tika.sax.xpath.XPathParser;
-import org.xml.sax.ContentHandler;
-
-/**
- * Parser for OpenDocument <code>meta.xml</code> files.
- */
-public class OpenDocumentMetaParser extends DcXMLParser {
-
-    private static final XPathParser META_XPATH = new XPathParser(
-            "meta", "urn:oasis:names:tc:opendocument:xmlns:meta:1.0");
-    // eg <meta:user-defined meta:name="Info1">Text1</meta:user-defined> becomes custom:Info1=Text1
-    public static final String USER_DEFINED_METADATA_NAME_PREFIX = "custom:"; 
-
-    private static ContentHandler getMeta(
-            ContentHandler ch, Metadata md, String name, String element) {
-        Matcher matcher = new CompositeMatcher(
-                META_XPATH.parse("//meta:" + element),
-                META_XPATH.parse("//meta:" + element + "//text()"));
-        ContentHandler branch =
-            new MatchingContentHandler(new MetadataHandler(md, name), matcher);
-        return new TeeContentHandler(ch, branch);
-    }
-
-    private static ContentHandler getUserDefined(
-            ContentHandler ch, Metadata md) {
-        Matcher matcher = new CompositeMatcher(
-                META_XPATH.parse("//meta:user-defined/@meta:name"),
-                META_XPATH.parse("//meta:user-defined//text()"));
-        ContentHandler branch = new MatchingContentHandler(
-              new AttributeDependantMetadataHandler(md, "meta:name", USER_DEFINED_METADATA_NAME_PREFIX),
-              matcher);
-        return new TeeContentHandler(ch, branch);
-    }
-
-    private static ContentHandler getStatistic(
-            ContentHandler ch, Metadata md, String name, String attribute) {
-        Matcher matcher =
-            META_XPATH.parse("//meta:document-statistic/@meta:" + attribute);
-        ContentHandler branch =
-            new MatchingContentHandler(new MetadataHandler(md, name), matcher);
-        return new TeeContentHandler(ch, branch);
-    }
-
-    protected ContentHandler getContentHandler(ContentHandler ch, Metadata md) {
-        // Process the Dublin Core Attributes 
-        ch = super.getContentHandler(ch, md);
-        // Process the OO Meta Attributes
-        ch = getMeta(ch, md, Metadata.CREATION_DATE.getName(), "creation-date");
-        ch = getMeta(ch, md, Metadata.KEYWORDS, "keyword");
-        ch = getMeta(ch, md, Metadata.EDIT_TIME, "editing-duration");
-        ch = getMeta(ch, md, "editing-cycles", "editing-cycles");
-        ch = getMeta(ch, md, "initial-creator", "initial-creator");
-        ch = getMeta(ch, md, "generator", "generator");
-        // Process the user defined Meta Attributes
-        ch = getUserDefined(ch, md);
-        // Process the OO Statistics Attributes
-        ch = getStatistic(ch, md, "nbTab", "table-count");
-        ch = getStatistic(ch, md, "nbObject", "object-count");
-        ch = getStatistic(ch, md, "nbImg", "image-count");
-        ch = getStatistic(ch, md, "nbPage", "page-count");
-        ch = getStatistic(ch, md, "nbPara", "paragraph-count");
-        ch = getStatistic(ch, md, "nbWord", "word-count");
-        ch = getStatistic(ch, md, "nbCharacter", "character-count");
-        ch = new NSNormalizerContentHandler(ch);
-        return ch;
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/OpenDocumentParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/OpenDocumentParser.java
deleted file mode 100644
index 4aa9e55..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/OpenDocumentParser.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.odf;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.IOUtils;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * OpenOffice parser
- */
-public class OpenDocumentParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.unmodifiableSet(new HashSet<MediaType>(Arrays.asList(
-                MediaType.application("vnd.sun.xml.writer"),
-                MediaType.application("vnd.oasis.opendocument.text"),
-                MediaType.application("vnd.oasis.opendocument.graphics"),
-                MediaType.application("vnd.oasis.opendocument.presentation"),
-                MediaType.application("vnd.oasis.opendocument.spreadsheet"),
-                MediaType.application("vnd.oasis.opendocument.chart"),
-                MediaType.application("vnd.oasis.opendocument.image"),
-                MediaType.application("vnd.oasis.opendocument.formula"),
-                MediaType.application("vnd.oasis.opendocument.text-master"),
-                MediaType.application("vnd.oasis.opendocument.text-web"),
-                MediaType.application("vnd.oasis.opendocument.text-template"),
-                MediaType.application("vnd.oasis.opendocument.graphics-template"),
-                MediaType.application("vnd.oasis.opendocument.presentation-template"),
-                MediaType.application("vnd.oasis.opendocument.spreadsheet-template"),
-                MediaType.application("vnd.oasis.opendocument.chart-template"),
-                MediaType.application("vnd.oasis.opendocument.image-template"),
-                MediaType.application("vnd.oasis.opendocument.formula-template"),
-                MediaType.application("x-vnd.oasis.opendocument.text"),
-                MediaType.application("x-vnd.oasis.opendocument.graphics"),
-                MediaType.application("x-vnd.oasis.opendocument.presentation"),
-                MediaType.application("x-vnd.oasis.opendocument.spreadsheet"),
-                MediaType.application("x-vnd.oasis.opendocument.chart"),
-                MediaType.application("x-vnd.oasis.opendocument.image"),
-                MediaType.application("x-vnd.oasis.opendocument.formula"),
-                MediaType.application("x-vnd.oasis.opendocument.text-master"),
-                MediaType.application("x-vnd.oasis.opendocument.text-web"),
-                MediaType.application("x-vnd.oasis.opendocument.text-template"),
-                MediaType.application("x-vnd.oasis.opendocument.graphics-template"),
-                MediaType.application("x-vnd.oasis.opendocument.presentation-template"),
-                MediaType.application("x-vnd.oasis.opendocument.spreadsheet-template"),
-                MediaType.application("x-vnd.oasis.opendocument.chart-template"),
-                MediaType.application("x-vnd.oasis.opendocument.image-template"),
-                MediaType.application("x-vnd.oasis.opendocument.formula-template"))));
-
-    private Parser meta = new OpenDocumentMetaParser();
-
-    private Parser content = new OpenDocumentContentParser();
-
-    public Parser getMetaParser() {
-        return meta;
-    }
-
-    public void setMetaParser(Parser meta) {
-        this.meta = meta;
-    }
-
-    public Parser getContentParser() {
-        return content;
-    }
-
-    public void setContentParser(Parser content) {
-        this.content = content;
-    }
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        ZipInputStream zip = new ZipInputStream(stream);
-        ZipEntry entry = zip.getNextEntry();
-        while (entry != null) {
-            if (entry.getName().equals("mimetype")) {
-                String type = IOUtils.toString(zip, "UTF-8");
-                metadata.set(Metadata.CONTENT_TYPE, type);
-            } else if (entry.getName().equals("meta.xml")) {
-                meta.parse(zip, new DefaultHandler(), metadata, context);
-            } else if (entry.getName().endsWith("content.xml")) {
-                content.parse(zip, handler, metadata, context);
-            }
-            entry = zip.getNextEntry();
-        }
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/opendocument/OpenOfficeParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/opendocument/OpenOfficeParser.java
deleted file mode 100644
index 90f2d2e..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/opendocument/OpenOfficeParser.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.opendocument;
-
-import org.apache.tika.parser.odf.OpenDocumentParser;
-
-/**
- * OpenOffice parser
- *
- * @deprecated Use the {@link OpenDocumentParser} class instead.
- *             This class will be removed in Apache Tika 1.0.
- */
-public class OpenOfficeParser extends OpenDocumentParser {
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pdf/PDF2XHTML.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pdf/PDF2XHTML.java
deleted file mode 100644
index 92bd256..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pdf/PDF2XHTML.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.pdf;
-
-import java.io.IOException;
-import java.io.Writer;
-
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDPage;
-import org.apache.pdfbox.util.PDFTextStripper;
-import org.apache.pdfbox.util.TextPosition;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.IOExceptionWithCause;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Utility class that overrides the {@link PDFTextStripper} functionality
- * to produce a semi-structured XHTML SAX events instead of a plain text
- * stream.
- */
-class PDF2XHTML extends PDFTextStripper {
-
-    /**
-     * Converts the given PDF document (and related metadata) to a stream
-     * of XHTML SAX events sent to the given content handler.
-     *
-     * @param document PDF document
-     * @param handler SAX content handler
-     * @param metadata PDF metadata
-     * @throws SAXException if the content handler fails to process SAX events
-     * @throws TikaException if the PDF document can not be processed
-     */
-    public static void process(
-            PDDocument document, ContentHandler handler, Metadata metadata)
-            throws SAXException, TikaException {
-        try {
-            // Extract text using a dummy Writer as we override the
-            // key methods to output to the given content handler.
-            new PDF2XHTML(handler, metadata).writeText(document, new Writer() {
-                @Override
-                public void write(char[] cbuf, int off, int len) {
-                }
-                @Override
-                public void flush() {
-                }
-                @Override
-                public void close() {
-                }
-            });
-        } catch (IOException e) {
-            if (e.getCause() instanceof SAXException) {
-                throw (SAXException) e.getCause();
-            } else {
-                throw new TikaException("Unable to extract PDF content", e);
-            }
-        }
-    }
-
-    private final XHTMLContentHandler handler;
-
-    private PDF2XHTML(ContentHandler handler, Metadata metadata)
-            throws IOException {
-        this.handler = new XHTMLContentHandler(handler, metadata);
-        setForceParsing(true);
-        setSortByPosition(true);
-    }
-
-    @Override
-    protected void startDocument(PDDocument pdf) throws IOException {
-        try {
-            handler.startDocument();
-        } catch (SAXException e) {
-            throw new IOExceptionWithCause("Unable to start a document", e);
-        }
-    }
-
-    @Override
-    protected void endDocument(PDDocument pdf) throws IOException {
-        try {
-            handler.endDocument();
-        } catch (SAXException e) {
-            throw new IOExceptionWithCause("Unable to end a document", e);
-        }
-    }
-
-    @Override
-    protected void startPage(PDPage page) throws IOException {
-        try {
-            handler.startElement("div", "class", "page");
-            handler.startElement("p");
-        } catch (SAXException e) {
-            throw new IOExceptionWithCause("Unable to start a page", e);
-        }
-    }
-
-    @Override
-    protected void endPage(PDPage page) throws IOException {
-        try {
-            handler.endElement("p");
-            handler.endElement("div");
-        } catch (SAXException e) {
-            throw new IOExceptionWithCause("Unable to end a page", e);
-        }
-    }
-
-    @Override
-    protected void writeString(String text) throws IOException {
-        try {
-            handler.characters(text);
-        } catch (SAXException e) {
-            throw new IOExceptionWithCause(
-                    "Unable to write a string: " + text, e);
-        }
-    }
-
-    @Override
-    protected void writeCharacters(TextPosition text) throws IOException {
-        try {
-            handler.characters(text.getCharacter());
-        } catch (SAXException e) {
-            throw new IOExceptionWithCause(
-                    "Unable to write a character: " + text.getCharacter(), e);
-        }
-    }
-
-    @Override
-    protected void writeWordSeparator() throws IOException {
-        try {
-            handler.characters(" ");
-        } catch (SAXException e) {
-            throw new IOExceptionWithCause(
-                    "Unable to write a space character", e);
-        }
-    }
-
-    @Override
-    protected void writeLineSeparator() throws IOException {
-        try {
-            handler.characters("\n");
-        } catch (SAXException e) {
-            throw new IOExceptionWithCause(
-                    "Unable to write a newline character", e);
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pdf/PDFParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pdf/PDFParser.java
deleted file mode 100644
index 637dc13..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pdf/PDFParser.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.pdf;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.pdfbox.cos.COSArray;
-import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.cos.COSName;
-import org.apache.pdfbox.cos.COSString;
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDDocumentInformation;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.PagedText;
-import org.apache.tika.metadata.Property;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * PDF parser.
- * <p>
- * This parser can process also encrypted PDF documents if the required
- * password is given as a part of the input metadata associated with a
- * document. If no password is given, then this parser will try decrypting
- * the document using the empty password that's often used with PDFs.
- */
-public class PDFParser implements Parser {
-
-    /** Serial version UID */
-    private static final long serialVersionUID = -752276948656079347L;
-
-    /**
-     * Metadata key for giving the document password to the parser.
-     *
-     * @since Apache Tika 0.5
-     */
-    public static final String PASSWORD = "org.apache.tika.parser.pdf.password";
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.singleton(MediaType.application("pdf"));
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        PDDocument pdfDocument = PDDocument.load(stream, true);
-        try {
-            if (pdfDocument.isEncrypted()) {
-                try {
-                    String password = metadata.get(PASSWORD);
-                    if (password == null) {
-                        password = "";
-                    }
-                    pdfDocument.decrypt(password);
-                } catch (Exception e) {
-                    // Ignore
-                }
-            }
-            metadata.set(Metadata.CONTENT_TYPE, "application/pdf");
-            extractMetadata(pdfDocument, metadata);
-            PDF2XHTML.process(pdfDocument, handler, metadata);
-        } finally {
-            pdfDocument.close();
-        }
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-    private void extractMetadata(PDDocument document, Metadata metadata)
-            throws TikaException {
-        PDDocumentInformation info = document.getDocumentInformation();
-        metadata.set(PagedText.N_PAGES, document.getNumberOfPages());
-        addMetadata(metadata, Metadata.TITLE, info.getTitle());
-        addMetadata(metadata, Metadata.AUTHOR, info.getAuthor());
-        addMetadata(metadata, Metadata.CREATOR, info.getCreator());
-        addMetadata(metadata, Metadata.KEYWORDS, info.getKeywords());
-        addMetadata(metadata, "producer", info.getProducer());
-        addMetadata(metadata, Metadata.SUBJECT, info.getSubject());
-        addMetadata(metadata, "trapped", info.getTrapped());
-        try {
-            addMetadata(metadata, "created", info.getCreationDate());
-            addMetadata(metadata, Metadata.CREATION_DATE, info.getCreationDate());
-        } catch (IOException e) {
-            // Invalid date format, just ignore
-        }
-        try {
-            Calendar modified = info.getModificationDate(); 
-            addMetadata(metadata, Metadata.LAST_MODIFIED, modified);
-        } catch (IOException e) {
-            // Invalid date format, just ignore
-        }
-        
-        // All remaining metadata is custom
-        // Copy this over as-is
-        List<String> handledMetadata = Arrays.asList(new String[] {
-             "Author", "Creator", "CreationDate", "ModDate",
-             "Keywords", "Producer", "Subject", "Title", "Trapped"
-        });
-        for(COSName key : info.getDictionary().keySet()) {
-            String name = key.getName();
-            if(! handledMetadata.contains(name)) {
-        	addMetadata(metadata, name, info.getDictionary().getDictionaryObject(key));
-            }
-        }
-    }
-
-    private void addMetadata(Metadata metadata, String name, String value) {
-        if (value != null) {
-            metadata.add(name, value);
-        }
-    }
-
-    private void addMetadata(Metadata metadata, String name, Calendar value) {
-        if (value != null) {
-            metadata.set(name, value.getTime().toString());
-        }
-    }
-
-    private void addMetadata(Metadata metadata, Property property, Calendar value) {
-        if (value != null) {
-            metadata.set(property, value.getTime());
-        }
-    }
-
-    /**
-     * Used when processing custom metadata entries, as PDFBox won't do
-     *  the conversion for us in the way it does for the standard ones
-     */
-    private void addMetadata(Metadata metadata, String name, COSBase value) {
-        if(value instanceof COSArray) {
-            for(COSBase v : ((COSArray)value).toList()) {
-                addMetadata(metadata, name, v);
-            }
-        } else if(value instanceof COSString) {
-            addMetadata(metadata, name, ((COSString)value).getString());
-        } else {
-            addMetadata(metadata, name, value.toString());
-        }
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageExtractor.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageExtractor.java
deleted file mode 100644
index 54314fe..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageExtractor.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.pkg;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.GZIPInputStream;
-
-import org.apache.commons.compress.archivers.ArchiveEntry;
-import org.apache.commons.compress.archivers.ArchiveInputStream;
-import org.apache.commons.compress.archivers.ar.ArArchiveInputStream;
-import org.apache.commons.compress.archivers.cpio.CpioArchiveInputStream;
-import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
-import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
-import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
-import org.apache.commons.compress.compressors.gzip.GzipUtils;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.extractor.EmbeddedDocumentExtractor;
-import org.apache.tika.extractor.ParsingEmbeddedDocumentExtractor;
-import org.apache.tika.io.CloseShieldInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Extractor for packaging and compression formats.
- */
-class PackageExtractor {
-
-    private final ContentHandler handler;
-
-    private final Metadata metadata;
-
-    private final EmbeddedDocumentExtractor extractor;
-
-    public PackageExtractor(
-            ContentHandler handler, Metadata metadata, ParseContext context) {
-        this.handler = handler;
-        this.metadata = metadata;
-
-        EmbeddedDocumentExtractor ex = context.get(EmbeddedDocumentExtractor.class);
-
-        if (ex==null) {
-            this.extractor = new ParsingEmbeddedDocumentExtractor(context);
-        } else {
-            this.extractor = ex;
-        }
-
-    }
-
-    public void parse(InputStream stream)
-            throws IOException, SAXException, TikaException {
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-
-        // At the end we want to close the package/compression stream to
-        // release any associated resources, but the underlying document
-        // stream should not be closed
-        stream = new CloseShieldInputStream(stream);
-
-        // Capture two bytes to determine the packaging/compression format
-        if (!stream.markSupported()) {
-            stream = new BufferedInputStream(stream);
-        }
-        stream.mark(2);
-        int a = stream.read();
-        int b = stream.read();
-        stream.reset();
-
-        // Select decompression or unpacking mechanism based on the two bytes
-        if (a == 'B' && b == 'Z') {
-            metadata.set(Metadata.CONTENT_TYPE, "application/x-bzip");
-            decompress(new BZip2CompressorInputStream(stream), xhtml);
-        } else if (a == 0x1f && b == 0x8b) {
-            metadata.set(Metadata.CONTENT_TYPE, "application/x-gzip");
-            decompress(new GZIPInputStream(stream), xhtml);
-        } else if (a == 'P' && b == 'K') {
-            metadata.set(Metadata.CONTENT_TYPE, "application/zip");
-            unpack(new ZipArchiveInputStream(stream), xhtml);
-        } else if ((a == '0' && b == '7')
-                || (a == 0x71 && b == 0xc7)
-                || (a == 0xc7 && b == 0x71)) {
-            metadata.set(Metadata.CONTENT_TYPE, "application/x-cpio");
-            unpack(new CpioArchiveInputStream(stream), xhtml);
-        } else if (a == '=' && (b == '<' || b == '!')) {
-            metadata.set(Metadata.CONTENT_TYPE, "application/x-archive");
-            unpack(new ArArchiveInputStream(stream), xhtml);
-        } else {
-            metadata.set(Metadata.CONTENT_TYPE, "application/x-tar");
-            unpack(new TarArchiveInputStream(stream), xhtml);
-        }
-
-        xhtml.endDocument();
-    }
-
-    private void decompress(InputStream stream, XHTMLContentHandler xhtml)
-            throws IOException, SAXException, TikaException {
-        try {
-            Metadata entrydata = new Metadata();
-            String name = metadata.get(Metadata.RESOURCE_NAME_KEY);
-            if (name != null) {
-                if (name.endsWith(".tbz")) {
-                    name = name.substring(0, name.length() - 4) + ".tar";
-                } else if (name.endsWith(".tbz2")) {
-                    name = name.substring(0, name.length() - 5) + ".tar";
-                } else if (name.endsWith(".bz")) {
-                    name = name.substring(0, name.length() - 3);
-                } else if (name.endsWith(".bz2")) {
-                    name = name.substring(0, name.length() - 4);
-                } else if (name.length() > 0) {
-                    name = GzipUtils.getUncompressedFilename(name);
-                }
-                entrydata.set(Metadata.RESOURCE_NAME_KEY, name);
-            }
-
-            // Use the delegate parser to parse the compressed document
-            if (extractor.shouldParseEmbedded(entrydata)) {
-                extractor.parseEmbedded(stream, xhtml, entrydata, true);
-            }
-        } finally {
-            stream.close();
-        }
-    }
-
-    /**
-     * Parses the given stream as a package of multiple underlying files.
-     * The package entries are parsed using the delegate parser instance.
-     * It is not an error if the entry can not be parsed, in that case
-     * just the entry name (if given) is emitted.
-     *
-     * @param archive package stream
-     * @param xhtml content handler
-     * @throws IOException if an IO error occurs
-     * @throws SAXException if a SAX error occurs
-     */
-    public void unpack(ArchiveInputStream archive, XHTMLContentHandler xhtml)
-            throws IOException, SAXException {
-        try {
-            ArchiveEntry entry = archive.getNextEntry();
-            while (entry != null) {
-                if (!entry.isDirectory()) {
-                    Metadata entrydata = new Metadata();
-                    String name = entry.getName();
-                    if (name != null && name.length() > 0) {
-                        entrydata.set(Metadata.RESOURCE_NAME_KEY, name);
-                    }
-
-                    if (extractor.shouldParseEmbedded(entrydata)) {
-                        extractor.parseEmbedded(archive, xhtml, entrydata, true);
-                    }
-                }
-                entry = archive.getNextEntry();
-            }
-        } finally {
-            archive.close();
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
deleted file mode 100644
index 0a1f2af..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.pkg;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Parser for various packaging and compression formats. Package entries will
- * be written to the XHTML event stream as &lt;div class="package-entry"&gt;
- * elements that contain the (optional) entry name as a &lt;h1&gt; element
- * and the full structured body content of the parsed entry.
- */
-public class PackageParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.unmodifiableSet(new HashSet<MediaType>(Arrays.asList(
-                MediaType.application("x-archive"),
-                MediaType.application("x-bzip"),
-                MediaType.application("x-bzip2"),
-                MediaType.application("x-cpio"),
-                MediaType.application("x-gtar"),
-                MediaType.application("x-gzip"),
-                MediaType.application("x-tar"),
-                MediaType.application("zip"))));
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        new PackageExtractor(handler, metadata, context).parse(stream);
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/rtf/RTFParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/rtf/RTFParser.java
deleted file mode 100644
index e41bf94..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/rtf/RTFParser.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.rtf;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.IOUtils;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-import javax.swing.text.*;
-import javax.swing.text.rtf.RTFEditorKit;
-import java.io.*;
-import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- * RTF parser
- */
-public class RTFParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES = Collections
-            .singleton(MediaType.application("rtf"));
-
-    private static final Pattern F_PATTERN = Pattern.compile("\\\\a?f([0-9]+)");
-
-    private static final Pattern FCHARSET_PATTERN = Pattern
-            .compile("\\\\fcharset[0-9]+");
-
-    private static final Pattern ANSICPG_PATTERN = Pattern
-            .compile("\\\\ansicpg[0-9]+");
-
-    private static final Pattern DEFAULT_FONT_PATTERN = Pattern.compile("\\\\deff(0-9)+");
-
-    private static final Pattern FONT_FAMILY_PATTERN = Pattern.compile("\\\\f(nil|roman|swiss|modern|script|decor|tech|bidi)");
-
-    private static Map<Integer, String> FONTSET_MAP = new HashMap<Integer, String>();
-    static {
-        FONTSET_MAP.put(0, "windows-1251"); // ANSI
-        // charset 1 is Default
-        // charset 2 is Symbol
-
-        FONTSET_MAP.put(77, "MacRoman"); // Mac Roman
-        FONTSET_MAP.put(78, "Shift_JIS"); // Mac Shift Jis
-        FONTSET_MAP.put(79, "ms949"); // Mac Hangul
-        FONTSET_MAP.put(80, "GB2312"); // Mac GB2312
-        FONTSET_MAP.put(81, "Big5"); // Mac Big5
-        FONTSET_MAP.put(82, "johab"); // Mac Johab (old)
-        FONTSET_MAP.put(83, "MacHebrew"); // Mac Hebrew
-        FONTSET_MAP.put(84, "MacArabic"); // Mac Arabic
-        FONTSET_MAP.put(85, "MacGreek"); // Mac Greek
-        FONTSET_MAP.put(86, "MacTurkish"); // Mac Turkish
-        FONTSET_MAP.put(87, "MacThai"); // Mac Thai
-        FONTSET_MAP.put(88, "cp1250"); // Mac East Europe
-        FONTSET_MAP.put(89, "cp1251"); // Mac Russian
-
-        FONTSET_MAP.put(128, "MS932"); // Shift JIS
-        FONTSET_MAP.put(129, "ms949"); // Hangul
-        FONTSET_MAP.put(130, "ms1361"); // Johab
-        FONTSET_MAP.put(134, "ms936"); // GB2312
-        FONTSET_MAP.put(136, "ms950"); // Big5
-        FONTSET_MAP.put(161, "cp1253"); // Greek
-        FONTSET_MAP.put(162, "cp1254"); // Turkish
-        FONTSET_MAP.put(163, "cp1258"); // Vietnamese
-        FONTSET_MAP.put(177, "cp1255"); // Hebrew
-        FONTSET_MAP.put(178, "cp1256"); // Arabic
-        // FONTSET_MAP.put( 179, "" ); // Arabic Traditional
-        // FONTSET_MAP.put( 180, "" ); // Arabic user
-        // FONTSET_MAP.put( 181, "" ); // Hebrew user
-        FONTSET_MAP.put(186, "cp1257"); // Baltic
-
-        FONTSET_MAP.put(204, "cp1251"); // Russian
-        FONTSET_MAP.put(222, "ms874"); // Thai
-        FONTSET_MAP.put(238, "cp1250"); // Eastern European
-        FONTSET_MAP.put(254, "cp437"); // PC 437
-        FONTSET_MAP.put(255, "cp850"); // OEM
-    }
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context) throws IOException,
-            SAXException, TikaException {
-        File tempFile = null;
-        InputStream in = null;
-        try {
-            tempFile = createUnicodeRtfTempFile(stream);
-            in = new FileInputStream(tempFile);
-
-            Document sd = new CustomStyledDocument();
-            new RTFEditorKit().read(in, sd, 0);
-
-            XHTMLContentHandler xhtml = new XHTMLContentHandler(handler,
-                    metadata);
-            xhtml.startDocument();
-            xhtml.element("p", sd.getText(0, sd.getLength()));
-            xhtml.endDocument();
-        } catch (BadLocationException e) {
-            throw new TikaException("Error parsing an RTF document", e);
-        } finally {
-            IOUtils.closeQuietly(in);
-            if (tempFile != null) {
-                tempFile.delete();
-            }
-        }
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(InputStream stream, ContentHandler handler,
-            Metadata metadata) throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-    private String escapeByUnicode(String data, String enc) {
-        StringBuilder dataBuf = new StringBuilder(data.length() + 16);
-        StringBuilder keywordBuf = new StringBuilder(4);
-        StringBuilder origDataBuf = new StringBuilder();
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        for (int i = 0; i < data.length(); i++) {
-            char c1 = data.charAt(i);
-            keywordBuf.append(c1);
-            if (c1 == '\\' && data.length()>i+1) {
-                i++;
-                char c2 = data.charAt(i);
-                keywordBuf.append(c2);
-                if (c2 == '\'') {
-                    i++;
-                    char c3 = data.charAt(i);
-                    keywordBuf.append(c3);
-                    if ((c3 >= '0' && c3 <= '9') || (c3 >= 'a' && c3 <= 'f')
-                            || (c3 >= 'A' && c3 <= 'F')) {
-                        i++;
-                        char c4 = data.charAt(i);
-                        keywordBuf.append(c4);
-                        if ((c4 >= '0' && c4 <= '9')
-                                || (c4 >= 'a' && c4 <= 'f')
-                                || (c4 >= 'A' && c4 <= 'F')) {
-                            int value = Integer.parseInt(
-                                    String.valueOf(new char[] { c3, c4 }), 16);
-                            baos.write(value);
-                            origDataBuf.append(keywordBuf.toString());
-                            keywordBuf.delete(0, 4);
-                            continue;
-                        }
-                    }
-                }
-            }
-            if (baos.size() != 0) {
-                try {
-                    appendUnicodeStr(dataBuf, new String(baos.toByteArray(),
-                            enc));
-                } catch (UnsupportedEncodingException e) {
-                    dataBuf.append(origDataBuf.toString());
-                }
-                origDataBuf.delete(0, origDataBuf.length());
-                baos.reset();
-            }
-            dataBuf.append(keywordBuf.toString());
-            keywordBuf.delete(0, 4);
-        }
-
-        if (baos.size() != 0) {
-            try {
-                appendUnicodeStr(dataBuf, new String(baos.toByteArray(), enc));
-            } catch (UnsupportedEncodingException e) {
-                dataBuf.append(origDataBuf.toString());
-            }
-        }
-
-        return dataBuf.toString();
-    }
-
-    private void appendUnicodeStr(StringBuilder dataBuf, String value) {
-        for (int j = 0; j < value.length(); j++) {
-            char ch = value.charAt(j);
-            if (ch >= 20 && ch < 80) {
-                dataBuf.append(ch);
-            } else {
-                dataBuf.append("{\\u");
-                dataBuf.append((int) ch);
-                dataBuf.append('}');
-            }
-        }
-    }
-
-    private File createUnicodeRtfTempFile(InputStream in) throws IOException {
-        boolean isDelete = false;
-        File tempFile = null;
-        BufferedOutputStream out = null;
-        try {
-            tempFile = File.createTempFile("temp", ".rtf");
-            out = new BufferedOutputStream(new FileOutputStream(tempFile));
-
-            String defaultCharset = "windows-1251"; // ansi
-            String defaultFont = "0";
-            Map<String, String> fontTableMap = new HashMap<String, String>();
-            StringBuilder dataBuf = new StringBuilder(255);
-            int ch;
-            LinkedList<String> charsetQueue = new LinkedList<String>();
-            int depth = 0;
-            String prevFt = null;
-            int prevCh = -1;
-            while ((ch = in.read()) != -1) {
-                if ( ((ch == '{' || ch == '}') && prevCh!='\\') || ( ch == ' ' && (! FONT_FAMILY_PATTERN.matcher(dataBuf.toString()).find())) ) {
-                    if (charsetQueue.size() > depth + 1) {
-                        charsetQueue.removeLast();
-                    }
-
-                    String data = dataBuf.toString();
-                    data = data.replace("\\cell","\\u0020\\cell");
-
-                    if(data.indexOf("\\colortbl")!=-1){
-                        // End of font table, clear last/previous font encountered.
-                        prevFt = null;
-                    }
-
-                    if (depth == 1) {
-                        // check control words for a default charset
-                        String cset = loadAnsiCpg(data);
-                        if (cset != null) {
-                            defaultCharset = cset;
-                        }
-                        Matcher matcher = DEFAULT_FONT_PATTERN.matcher(data);
-                        if(matcher.find()){
-                            defaultFont = matcher.group(1);
-                        }
-                    }
-
-                    String ft = loadFontTable(data);
-                    String charset = loadCharset(data);
-                    if (ft != null && charset != null) {
-                        fontTableMap.put(ft, charset);
-                    }
-
-                    if (ft == null && prevCh == ' ') {
-                        ft = prevFt;
-                    } else if (ft != null) {
-                        prevFt = ft;
-                    }
-                    if(ft==null){
-                        ft = defaultFont;
-                    }
-
-                    // set a current charset
-                    if (charset == null && ft != null) {
-                        charset = fontTableMap.get(ft);
-                    }
-                    if (charset == null && charsetQueue.size() > 0) {
-                        charset = charsetQueue.getLast();
-                    }
-                    if (charset == null) {
-                        charset = defaultCharset;
-                    }
-
-                    // add the current charset to a queue
-                    if (charsetQueue.size() < depth + 1) {
-                        charsetQueue.add(charset);
-                    }
-
-                    String escapedStr = "windows-1251".equals(charset) ? data
-                            : escapeByUnicode(data, charset);
-                    out.write(escapedStr.getBytes("UTF-8"));
-                    out.write(ch);
-                    dataBuf.delete(0, dataBuf.length());
-
-                    prevCh = ch;
-
-                    // update a depth
-                    if (ch == '{') {
-                        depth++;
-                    } else if (ch == '}') {
-                        depth--;
-                    }
-                } else {
-                    dataBuf.append((char) ch);
-                }
-            }
-            out.flush();
-        } catch (IOException e) {
-            isDelete = true;
-            throw e;
-        } finally {
-            IOUtils.closeQuietly(out);
-            if (isDelete && tempFile != null) {
-                tempFile.delete();
-            }
-        }
-
-        return tempFile;
-    }
-
-    private String loadFontTable(String line) {
-        Matcher m = F_PATTERN.matcher(line);
-        String font = null;
-        while((m.find())) {
-            font = m.group(1);
-        }
-        return font;
-    }
-
-    private String loadAnsiCpg(String line) {
-        Matcher m = ANSICPG_PATTERN.matcher(line);
-        String charset = null;
-        if (m.find()) {
-            int encVal;
-            try {
-                encVal = Integer.parseInt(m.group().substring(8));
-                charset = FONTSET_MAP.get(encVal);
-            } catch (NumberFormatException e) {
-                // ignore
-            }
-        }
-
-        return charset;
-    }
-
-    private String loadCharset(String line) {
-        Matcher m = FCHARSET_PATTERN.matcher(line);
-        String charset = null;
-        if (m.find()) {
-            int encVal;
-            try {
-                encVal = Integer.parseInt(m.group().substring(9));
-            } catch (NumberFormatException e) {
-                encVal = 0;
-            }
-            charset = FONTSET_MAP.get(encVal);
-        }
-
-        return charset;
-    }
-
-    /**
-     * Customized version of {@link DefaultStyledDocument}. Adds whitespace
-     * to places where words otherwise could have run together (see
-     * <a href="https://issues.apache.org/jira/browse/TIKA-392">TIKA-392</a>),
-     * and works around the problem of Swing expecting a GUI environment (see
-     * <a href="https://issues.apache.org/jira/browse/TIKA-282">TIKA-282</a>).
-     */
-    private static class CustomStyledDocument extends DefaultStyledDocument {
-        private boolean isPrevUnicode = false;
-
-        public CustomStyledDocument() {
-            super(new NoReclaimStyleContext());
-        }
-
-        @Override
-        public void insertString(int offs, String str, AttributeSet a)
-                throws BadLocationException {
-            boolean isUnicode = str.length() == 1 && str.charAt(0) > 127;
-
-            if (offs > 0 && offs == getLength() && !isPrevUnicode && !isUnicode) {
-                super.insertString(offs, " ", a);
-                super.insertString(getLength(), str, a);
-            } else {
-                super.insertString(offs, str, a);
-            }
-
-            isPrevUnicode = isUnicode;
-        }
-
-    }
-
-    /**
-     * A workaround to
-     * <a href="https://issues.apache.org/jira/browse/TIKA-282">TIKA-282</a>:
-     * RTF parser expects a GUI environment. This class simply disables the
-     * troublesome SwingUtilities.isEventDispatchThread() call that's made in
-     * the {@link StyleContext#reclaim(AttributeSet)} method.
-     */
-    private static class NoReclaimStyleContext extends StyleContext {
-
-        /** Ignored. */
-        public void reclaim(AttributeSet a) {
-        }
-
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetDetector.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetDetector.java
deleted file mode 100644
index 482c2e2..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetDetector.java
+++ /dev/null
@@ -1,551 +0,0 @@
-/**
-*******************************************************************************
-* Copyright (C) 2005-2009, International Business Machines Corporation and    *
-* others. All Rights Reserved.                                                *
-*******************************************************************************
-*/
-package org.apache.tika.parser.txt;
-
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Arrays;
-
-
-/**
- * <code>CharsetDetector</code> provides a facility for detecting the
- * charset or encoding of character data in an unknown format.
- * The input data can either be from an input stream or an array of bytes.
- * The result of the detection operation is a list of possibly matching
- * charsets, or, for simple use, you can just ask for a Java Reader that
- * will will work over the input data.
- * <p/>
- * Character set detection is at best an imprecise operation.  The detection
- * process will attempt to identify the charset that best matches the characteristics
- * of the byte data, but the process is partly statistical in nature, and
- * the results can not be guaranteed to always be correct.
- * <p/>
- * For best accuracy in charset detection, the input data should be primarily
- * in a single language, and a minimum of a few hundred bytes worth of plain text
- * in the language are needed.  The detection process will attempt to
- * ignore html or xml style markup that could otherwise obscure the content.
- * <p/>
- * @stable ICU 3.4
- */
-public class CharsetDetector {
-
-//   Question: Should we have getters corresponding to the setters for inut text
-//   and declared encoding?
-
-//   A thought: If we were to create our own type of Java Reader, we could defer
-//   figuring out an actual charset for data that starts out with too much English
-//   only ASCII until the user actually read through to something that didn't look
-//   like 7 bit English.  If  nothing else ever appeared, we would never need to
-//   actually choose the "real" charset.  All assuming that the application just
-//   wants the data, and doesn't care about a char set name.
-
-    /**
-     *   Constructor
-     * 
-     * @stable ICU 3.4
-     */
-    public CharsetDetector() {
-    }
-
-    /**
-     * Set the declared encoding for charset detection.
-     *  The declared encoding of an input text is an encoding obtained
-     *  from an http header or xml declaration or similar source that
-     *  can be provided as additional information to the charset detector.  
-     *  A match between a declared encoding and a possible detected encoding
-     *  will raise the quality of that detected encoding by a small delta,
-     *  and will also appear as a "reason" for the match.
-     * <p/>
-     * A declared encoding that is incompatible with the input data being
-     * analyzed will not be added to the list of possible encodings.
-     * 
-     *  @param encoding The declared encoding 
-     *
-     * @stable ICU 3.4
-     */
-    public CharsetDetector setDeclaredEncoding(String encoding) {
-        setCanonicalDeclaredEncoding(encoding);
-        return this;
-    }
-    
-    /**
-     * Set the input text (byte) data whose charset is to be detected.
-     * 
-     * @param in the input text of unknown encoding
-     * 
-     * @return This CharsetDetector
-     *
-     * @stable ICU 3.4
-     */
-    public CharsetDetector setText(byte [] in) {
-        fRawInput  = in;
-        fRawLength = in.length;
-        
-        MungeInput();
-        
-        return this;
-    }
-    
-    private static final int kBufSize = 8000;
-
-    private static final int MAX_CONFIDENCE = 100;
-
-    /**
-     * Set the input text (byte) data whose charset is to be detected.
-     *  <p/>
-     *   The input stream that supplies the character data must have markSupported()
-     *   == true; the charset detection process will read a small amount of data,
-     *   then return the stream to its original position via
-     *   the InputStream.reset() operation.  The exact amount that will
-     *   be read depends on the characteristics of the data itself.
-     *
-     * @param in the input text of unknown encoding
-     * 
-     * @return This CharsetDetector
-     *
-     * @stable ICU 3.4
-     */
-    
-    public CharsetDetector setText(InputStream in) throws IOException {
-        fInputStream = in;
-        fInputStream.mark(kBufSize);
-        fRawInput = new byte[kBufSize];   // Always make a new buffer because the
-                                          //   previous one may have come from the caller,
-                                          //   in which case we can't touch it.
-        fRawLength = 0;
-        int remainingLength = kBufSize;
-        while (remainingLength > 0 ) {
-            // read() may give data in smallish chunks, esp. for remote sources.  Hence, this loop.
-            int  bytesRead = fInputStream.read(fRawInput, fRawLength, remainingLength);
-            if (bytesRead <= 0) {
-                 break;
-            }
-            fRawLength += bytesRead;
-            remainingLength -= bytesRead;
-        }
-        fInputStream.reset();
-        
-        MungeInput();                     // Strip html markup, collect byte stats.
-        return this;
-    }
-
-  
-    /**
-     * Return the charset that best matches the supplied input data.
-     * 
-     * Note though, that because the detection 
-     * only looks at the start of the input data,
-     * there is a possibility that the returned charset will fail to handle
-     * the full set of input data.
-     * <p/>
-     * Raise an exception if 
-     *  <ul>
-     *    <li>no charset appears to match the data.</li>
-     *    <li>no input text has been provided</li>
-     *  </ul>
-     *
-     * @return a CharsetMatch object representing the best matching charset, or
-     *         <code>null</code> if there are no matches.
-     *
-     * @stable ICU 3.4
-     */
-    public CharsetMatch detect() {
-//   TODO:  A better implementation would be to copy the detect loop from
-//          detectAll(), and cut it short as soon as a match with a high confidence
-//          is found.  This is something to be done later, after things are otherwise
-//          working.
-        CharsetMatch matches[] = detectAll();
-        
-        if (matches == null || matches.length == 0) {
-            return null;
-        }
-        
-        return matches[0];
-     }
-    
-    /**
-     *  Return an array of all charsets that appear to be plausible
-     *  matches with the input data.  The array is ordered with the
-     *  best quality match first.
-     * <p/>
-     * Raise an exception if 
-     *  <ul>
-     *    <li>no charsets appear to match the input data.</li>
-     *    <li>no input text has been provided</li>
-     *  </ul>
-     * 
-     * @return An array of CharsetMatch objects representing possibly matching charsets.
-     *
-     * @stable ICU 3.4
-     */
-    public CharsetMatch[] detectAll() {
-        CharsetRecognizer csr;
-        int               i;
-        int               detectResults;
-        int               confidence;
-        ArrayList<CharsetMatch> matches = new ArrayList<CharsetMatch>();
-        
-        //  Iterate over all possible charsets, remember all that
-        //    give a match quality > 0.
-        for (i=0; i<fCSRecognizers.size(); i++) {
-            csr = fCSRecognizers.get(i);
-            detectResults = csr.match(this);
-            confidence = detectResults & 0x000000ff;
-            if (confidence > 0) {
-                // Just to be safe, constrain
-                confidence = Math.min(confidence, MAX_CONFIDENCE);
-                
-                // Apply charset hint.
-                if ((fDeclaredEncoding != null) && (fDeclaredEncoding.equalsIgnoreCase(csr.getName()))) {
-                    // Reduce lack of confidence (delta between "sure" and current) by 50%.
-                    confidence += (MAX_CONFIDENCE - confidence)/2;
-                }
-                
-                CharsetMatch  m = new CharsetMatch(this, csr, confidence);
-                matches.add(m);
-            }
-        }
-        
-        Collections.sort(matches);      // CharsetMatch compares on confidence
-        Collections.reverse(matches);   //  Put best match first.
-        CharsetMatch [] resultArray = new CharsetMatch[matches.size()];
-        resultArray = (CharsetMatch[]) matches.toArray(resultArray);
-        return resultArray;
-    }
-
-    
-    /**
-     * Autodetect the charset of an inputStream, and return a Java Reader
-     * to access the converted input data.
-     * <p/>
-     * This is a convenience method that is equivalent to
-     *   <code>this.setDeclaredEncoding(declaredEncoding).setText(in).detect().getReader();</code>
-     * <p/>
-     *   For the input stream that supplies the character data, markSupported()
-     *   must be true; the  charset detection will read a small amount of data,
-     *   then return the stream to its original position via
-     *   the InputStream.reset() operation.  The exact amount that will
-     *    be read depends on the characteristics of the data itself.
-     *<p/>
-     * Raise an exception if no charsets appear to match the input data.
-     * 
-     * @param in The source of the byte data in the unknown charset.
-     *
-     * @param declaredEncoding  A declared encoding for the data, if available,
-     *           or null or an empty string if none is available.
-     *
-     * @stable ICU 3.4
-     */
-    public Reader getReader(InputStream in, String declaredEncoding) {
-        setCanonicalDeclaredEncoding(declaredEncoding);
-        
-        try {
-            setText(in);
-            
-            CharsetMatch match = detect();
-            
-            if (match == null) {
-                return null;
-            }
-            
-            return match.getReader();
-        } catch (IOException e) {
-            return null;
-        }
-    }
-
-    /**
-     * Autodetect the charset of an inputStream, and return a String
-     * containing the converted input data.
-     * <p/>
-     * This is a convenience method that is equivalent to
-     *   <code>this.setDeclaredEncoding(declaredEncoding).setText(in).detect().getString();</code>
-     *<p/>
-     * Raise an exception if no charsets appear to match the input data.
-     * 
-     * @param in The source of the byte data in the unknown charset.
-     *
-     * @param declaredEncoding  A declared encoding for the data, if available,
-     *           or null or an empty string if none is available.
-     *
-     * @stable ICU 3.4
-     */
-    public String getString(byte[] in, String declaredEncoding) {
-        setCanonicalDeclaredEncoding(declaredEncoding);
-       
-        try {
-            setText(in);
-            
-            CharsetMatch match = detect();
-            
-            if (match == null) {
-                return null;
-            }
-            
-            return match.getString(-1);
-        } catch (IOException e) {
-            return null;
-        }
-    }
-
- 
-    /**
-     * Get the names of all char sets that can be recognized by the char set detector.
-     *
-     * @return an array of the names of all charsets that can be recognized
-     * by the charset detector.
-     *
-     * @stable ICU 3.4
-     */
-    public static String[] getAllDetectableCharsets() {
-        return fCharsetNames;
-    }
-    
-    /**
-     * Test whether or not input filtering is enabled.
-     * 
-     * @return <code>true</code> if input text will be filtered.
-     * 
-     * @see #enableInputFilter
-     *
-     * @stable ICU 3.4
-     */
-    public boolean inputFilterEnabled()
-    {
-        return fStripTags;
-    }
-    
-    /**
-     * Enable filtering of input text. If filtering is enabled,
-     * text within angle brackets ("<" and ">") will be removed
-     * before detection.
-     * 
-     * @param filter <code>true</code> to enable input text filtering.
-     * 
-     * @return The previous setting.
-     *
-     * @stable ICU 3.4
-     */
-    public boolean enableInputFilter(boolean filter)
-    {
-        boolean previous = fStripTags;
-        
-        fStripTags = filter;
-        
-        return previous;
-    }
-    
-    /**
-     * Try to set fDeclaredEncoding to the canonical name for <encoding>, if it exists.
-     * 
-     * @param encoding - name of character encoding
-     */
-    private void setCanonicalDeclaredEncoding(String encoding) {
-        Charset cs = Charset.forName(encoding);
-        if (cs != null) {
-            fDeclaredEncoding = cs.name();
-        }
-    }
-    
-    /*
-     *  MungeInput - after getting a set of raw input data to be analyzed, preprocess
-     *               it by removing what appears to be html markup.
-     */
-    private void MungeInput() {
-        int srci = 0;
-        int dsti = 0;
-        byte b;
-        boolean  inMarkup = false;
-        int      openTags = 0;
-        int      badTags  = 0;
-        
-        //
-        //  html / xml markup stripping.
-        //     quick and dirty, not 100% accurate, but hopefully good enough, statistically.
-        //     discard everything within < brackets >
-        //     Count how many total '<' and illegal (nested) '<' occur, so we can make some
-        //     guess as to whether the input was actually marked up at all.
-        if (fStripTags) {
-            for (srci = 0; srci < fRawLength && dsti < fInputBytes.length; srci++) {
-                b = fRawInput[srci];
-                if (b == (byte)'<') {
-                    if (inMarkup) {
-                        badTags++;
-                    }
-                    inMarkup = true;
-                    openTags++;
-                }
-                
-                if (! inMarkup) {
-                    fInputBytes[dsti++] = b;
-                }
-                
-                if (b == (byte)'>') {
-                    inMarkup = false;
-                }        
-            }
-            
-            fInputLen = dsti;
-        }
-        
-        //
-        //  If it looks like this input wasn't marked up, or if it looks like it's
-        //    essentially nothing but markup abandon the markup stripping.
-        //    Detection will have to work on the unstripped input.
-        //
-        if (openTags<5 || openTags/5 < badTags || 
-                (fInputLen < 100 && fRawLength>600)) {
-            int limit = fRawLength;
-            
-            if (limit > kBufSize) {
-                limit = kBufSize;
-            }
-            
-            for (srci=0; srci<limit; srci++) {
-                fInputBytes[srci] = fRawInput[srci];
-            }
-            fInputLen = srci;
-        }
-        
-        //
-        // Tally up the byte occurence statistics.
-        //   These are available for use by the various detectors.
-        //
-        Arrays.fill(fByteStats, (short)0);
-        for (srci=0; srci<fInputLen; srci++) {
-            int val = fInputBytes[srci] & 0x00ff;
-            fByteStats[val]++;
-        }
-        
-        fC1Bytes = false;
-        for (int i = 0x80; i <= 0x9F; i += 1) {
-            if (fByteStats[i] != 0) {
-                fC1Bytes = true;
-                break;
-            }
-        }
-     }
-
-    /*
-     *  The following items are accessed by individual CharsetRecongizers during
-     *     the recognition process
-     * 
-     */
-    byte[]      fInputBytes =       // The text to be checked.  Markup will have been
-                   new byte[kBufSize];  //   removed if appropriate.
-    
-    int         fInputLen;          // Length of the byte data in fInputText.
-    
-    short       fByteStats[] =      // byte frequency statistics for the input text.
-                   new short[256];  //   Value is percent, not absolute.
-                                    //   Value is rounded up, so zero really means zero occurences.
-    
-    boolean     fC1Bytes =          // True if any bytes in the range 0x80 - 0x9F are in the input;
-                   false;
-    
-    String      fDeclaredEncoding;
-    
-    
-
-    //
-    //  Stuff private to CharsetDetector
-    //
-    byte[]               fRawInput;     // Original, untouched input bytes.
-                                        //  If user gave us a byte array, this is it.
-                                        //  If user gave us a stream, it's read to a 
-                                        //  buffer here.
-    int                  fRawLength;    // Length of data in fRawInput array.
-    
-    InputStream          fInputStream;  // User's input stream, or null if the user
-                                        //   gave us a byte array.
-     
-    boolean              fStripTags =   // If true, setText() will strip tags from input text.
-                           false;
-    
-    
-    /*
-     * List of recognizers for all charsets known to the implementation.
-     */
-    private static ArrayList<CharsetRecognizer> fCSRecognizers = createRecognizers();
-    private static String [] fCharsetNames;
-    
-    /*
-     * Create the singleton instances of the CharsetRecognizer classes
-     */
-    private static ArrayList<CharsetRecognizer> createRecognizers() {
-        ArrayList<CharsetRecognizer> recognizers = new ArrayList<CharsetRecognizer>();
-        
-        recognizers.add(new CharsetRecog_UTF8());
-        
-        recognizers.add(new CharsetRecog_Unicode.CharsetRecog_UTF_16_BE());
-        recognizers.add(new CharsetRecog_Unicode.CharsetRecog_UTF_16_LE());
-        recognizers.add(new CharsetRecog_Unicode.CharsetRecog_UTF_32_BE());
-        recognizers.add(new CharsetRecog_Unicode.CharsetRecog_UTF_32_LE());
-        
-        recognizers.add(new CharsetRecog_mbcs.CharsetRecog_sjis());
-        recognizers.add(new CharsetRecog_2022.CharsetRecog_2022JP());
-        recognizers.add(new CharsetRecog_2022.CharsetRecog_2022CN());
-        recognizers.add(new CharsetRecog_2022.CharsetRecog_2022KR());
-        recognizers.add(new CharsetRecog_mbcs.CharsetRecog_euc.CharsetRecog_gb_18030());
-        recognizers.add(new CharsetRecog_mbcs.CharsetRecog_euc.CharsetRecog_euc_jp());
-        recognizers.add(new CharsetRecog_mbcs.CharsetRecog_euc.CharsetRecog_euc_kr());
-        recognizers.add(new CharsetRecog_mbcs.CharsetRecog_big5());
-        
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_da());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_de());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_en());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_es());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_fr());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_it());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_nl());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_no());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_pt());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_1_sv());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_2_cs());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_2_hu());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_2_pl());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_2_ro());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_5_ru());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_6_ar());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_7_el());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_8_I_he());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_8_he());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_windows_1251());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_windows_1256());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_KOI8_R());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_8859_9_tr());
-        
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_IBM424_he_rtl());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_IBM424_he_ltr());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_IBM420_ar_rtl());
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_IBM420_ar_ltr());
-
-        recognizers.add(new CharsetRecog_sbcs.CharsetRecog_IBM866_ru());
-
-        // Create an array of all charset names, as a side effect.
-        // Needed for the getAllDetectableCharsets() API.
-        String[] charsetNames = new String [recognizers.size()];
-        int out = 0;
-        
-        for (int i = 0; i < recognizers.size(); i++) {
-            String name = ((CharsetRecognizer)recognizers.get(i)).getName();
-            
-            if (out == 0 || ! name.equals(charsetNames[out - 1])) {
-                charsetNames[out++] = name;
-            }
-        }
-        
-        fCharsetNames = new String[out];
-        System.arraycopy(charsetNames, 0, fCharsetNames, 0, out);
-        
-        return recognizers;
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetMatch.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetMatch.java
deleted file mode 100644
index 813debd..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetMatch.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/**
-*******************************************************************************
-* Copyright (C) 2005-2007, International Business Machines Corporation and    *
-* others. All Rights Reserved.                                                *
-*******************************************************************************
-*/
-package org.apache.tika.parser.txt;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-
-/**
- * This class represents a charset that has been identified by a CharsetDetector
- * as a possible encoding for a set of input data.  From an instance of this
- * class, you can ask for a confidence level in the charset identification,
- * or for Java Reader or String to access the original byte data in Unicode form.
- * <p/>
- * Instances of this class are created only by CharsetDetectors.
- * <p/>
- * Note:  this class has a natural ordering that is inconsistent with equals.
- *        The natural ordering is based on the match confidence value.
- *
- * @stable ICU 3.4
- */
-public class CharsetMatch implements Comparable<CharsetMatch> {
-
-    
-    /**
-     * Create a java.io.Reader for reading the Unicode character data corresponding
-     * to the original byte data supplied to the Charset detect operation.
-     * <p/>
-     * CAUTION:  if the source of the byte data was an InputStream, a Reader
-     * can be created for only one matching char set using this method.  If more 
-     * than one charset needs to be tried, the caller will need to reset
-     * the InputStream and create InputStreamReaders itself, based on the charset name.
-     *
-     * @return the Reader for the Unicode character data.
-     *
-     * @stable ICU 3.4
-     */
-    public Reader getReader() {
-        InputStream inputStream = fInputStream;
-        
-        if (inputStream == null) {
-            inputStream = new ByteArrayInputStream(fRawInput, 0, fRawLength);
-        }
-        
-        try {
-            inputStream.reset();
-            return new InputStreamReader(inputStream, getName());
-        } catch (IOException e) {
-            return null;
-        }
-    }
-
-    /**
-     * Create a Java String from Unicode character data corresponding
-     * to the original byte data supplied to the Charset detect operation.
-     *
-     * @return a String created from the converted input data.
-     *
-     * @stable ICU 3.4
-     */
-    public String getString()  throws java.io.IOException {
-        return getString(-1);
-
-    }
-
-    /**
-     * Create a Java String from Unicode character data corresponding
-     * to the original byte data supplied to the Charset detect operation.
-     * The length of the returned string is limited to the specified size;
-     * the string will be trunctated to this length if necessary.  A limit value of
-     * zero or less is ignored, and treated as no limit.
-     *
-     * @param maxLength The maximium length of the String to be created when the
-     *                  source of the data is an input stream, or -1 for
-     *                  unlimited length.
-     * @return a String created from the converted input data.
-     *
-     * @stable ICU 3.4
-     */
-    public String getString(int maxLength) throws java.io.IOException {
-        String result = null;
-        if (fInputStream != null) {
-            StringBuffer sb = new StringBuffer();
-            char[] buffer = new char[1024];
-            Reader reader = getReader();
-            int max = maxLength < 0? Integer.MAX_VALUE : maxLength;
-            int bytesRead = 0;
-            
-            while ((bytesRead = reader.read(buffer, 0, Math.min(max, 1024))) >= 0) {
-                sb.append(buffer, 0, bytesRead);
-                max -= bytesRead;
-            }
-            
-            reader.close();
-            
-            return sb.toString();
-        } else {
-            result = new String(fRawInput, getName());            
-        }
-        return result;
-
-    }
-    
-    /**
-     * Get an indication of the confidence in the charset detected.
-     * Confidence values range from 0-100, with larger numbers indicating
-     * a better match of the input data to the characteristics of the
-     * charset.
-     *
-     * @return the confidence in the charset match
-     *
-     * @stable ICU 3.4
-     */
-    public int getConfidence() {
-        return fConfidence;
-    }
-    
-
-    /**
-     * Bit flag indicating the match is based on the the encoding scheme.
-     *
-     * @see #getMatchType
-     * @stable ICU 3.4
-     */
-    static public final int ENCODING_SCHEME    = 1;
-    
-    /**
-     * Bit flag indicating the match is based on the presence of a BOM.
-     * 
-     * @see #getMatchType
-     * @stable ICU 3.4
-     */
-    static public final int BOM                = 2;
-    
-    /**
-     * Bit flag indicating he match is based on the declared encoding.
-     * 
-     * @see #getMatchType
-     * @stable ICU 3.4
-     */
-    static public final int DECLARED_ENCODING  = 4;
-    
-    /**
-     * Bit flag indicating the match is based on language statistics.
-     *
-     * @see #getMatchType
-     * @stable ICU 3.4
-     */
-    static public final int LANG_STATISTICS    = 8;
-    
-    /**
-     * Return flags indicating what it was about the input data 
-     * that caused this charset to be considered as a possible match.
-     * The result is a bitfield containing zero or more of the flags
-     * ENCODING_SCHEME, BOM, DECLARED_ENCODING, and LANG_STATISTICS.
-     * A result of zero means no information is available.
-     * <p>
-     * Note: currently, this method always returns zero.
-     * <p>
-     *
-     * @return the type of match found for this charset.
-     *
-     * @draft ICU 3.4
-     * @provisional This API might change or be removed in a future release.
-     */
-    public int getMatchType() {
-//      TODO: create a list of enum-like constants for common combinations of types of matches.
-        return 0;
-    }
-
-    /**
-     * Get the name of the detected charset.  
-     * The name will be one that can be used with other APIs on the
-     * platform that accept charset names.  It is the "Canonical name"
-     * as defined by the class java.nio.charset.Charset; for
-     * charsets that are registered with the IANA charset registry,
-     * this is the MIME-preferred registerd name.
-     *
-     * @see java.nio.charset.Charset
-     * @see java.io.InputStreamReader
-     *
-     * @return The name of the charset.
-     *
-     * @stable ICU 3.4
-     */
-    public String getName() {
-        return fRecognizer.getName();
-    }
-    
-    /**
-     * Get the ISO code for the language of the detected charset.  
-     *
-     * @return The ISO code for the language or <code>null</code> if the language cannot be determined.
-     *
-     * @stable ICU 3.4
-     */
-    public String getLanguage() {
-        return fRecognizer.getLanguage();
-    }
-
-    /**
-     * Compare to other CharsetMatch objects.
-     * Comparison is based on the match confidence value, which 
-     *   allows CharsetDetector.detectAll() to order its results. 
-     *
-     * @param o the CharsetMatch object to compare against.
-     * @return  a negative integer, zero, or a positive integer as the 
-     *          confidence level of this CharsetMatch
-     *          is less than, equal to, or greater than that of
-     *          the argument.
-     * @throws ClassCastException if the argument is not a CharsetMatch.
-     * @stable ICU 3.4
-     */
-    public int compareTo(CharsetMatch other) {
-        int compareResult = 0;
-        if (this.fConfidence > other.fConfidence) {
-            compareResult = 1;
-        } else if (this.fConfidence < other.fConfidence) {
-            compareResult = -1;
-        }
-        return compareResult;
-    }
-    
-    /*
-     *  Constructor.  Implementation internal
-     */
-    CharsetMatch(CharsetDetector det, CharsetRecognizer rec, int conf) {
-        fRecognizer = rec;
-        fConfidence = conf;
-        
-        // The references to the original aplication input data must be copied out
-        //   of the charset recognizer to here, in case the application resets the
-        //   recognizer before using this CharsetMatch.
-        if (det.fInputStream == null) {
-            // We only want the existing input byte data if it came straight from the user,
-            //   not if is just the head of a stream.
-            fRawInput    = det.fRawInput;
-            fRawLength   = det.fRawLength;
-        }
-        fInputStream = det.fInputStream;
-    }
-
-    
-    //
-    //   Private Data
-    //
-    private int                 fConfidence;
-    private CharsetRecognizer   fRecognizer;
-    private byte[]              fRawInput = null;     // Original, untouched input bytes.
-                                                      //  If user gave us a byte array, this is it.
-    private int                 fRawLength;           // Length of data in fRawInput array.
-
-    private InputStream         fInputStream = null;  // User's input stream, or null if the user
-                                                      //   gave us a byte array.
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_2022.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_2022.java
deleted file mode 100644
index c59da36..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_2022.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
-*******************************************************************************
-* Copyright (C) 2005 - 2008, International Business Machines Corporation and  *
-* others. All Rights Reserved.                                                *
-*******************************************************************************
-*/
-package org.apache.tika.parser.txt;
-
-/**
- *  class CharsetRecog_2022  part of the ICU charset detection imlementation.
- *                           This is a superclass for the individual detectors for
- *                           each of the detectable members of the ISO 2022 family
- *                           of encodings.
- * 
- *                           The separate classes are nested within this class.
- * 
- * @internal
- */
-abstract class CharsetRecog_2022 extends CharsetRecognizer {
-
-    
-    /**
-     * Matching function shared among the 2022 detectors JP, CN and KR
-     * Counts up the number of legal an unrecognized escape sequences in
-     * the sample of text, and computes a score based on the total number &
-     * the proportion that fit the encoding.
-     * 
-     * 
-     * @param text the byte buffer containing text to analyse
-     * @param textLen  the size of the text in the byte.
-     * @param escapeSequences the byte escape sequences to test for.
-     * @return match quality, in the range of 0-100.
-     */
-    int   match(byte [] text, int textLen, byte [][] escapeSequences) {
-        int     i, j;
-        int     escN;
-        int     hits   = 0;
-        int     misses = 0;
-        int     shifts = 0;
-        int     quality;
-        scanInput:
-            for (i=0; i<textLen; i++) {
-                if (text[i] == 0x1b) {
-                    checkEscapes:
-                        for (escN=0; escN<escapeSequences.length; escN++) {
-                            byte [] seq = escapeSequences[escN];
-                            
-                            if ((textLen - i) < seq.length) {
-                                continue checkEscapes;
-                            }
-                            
-                            for (j=1; j<seq.length; j++) {
-                                if (seq[j] != text[i+j])  {
-                                    continue checkEscapes;
-                                }                                   
-                            }
-                            
-                            hits++; 
-                            i += seq.length-1;
-                            continue scanInput;
-                        }
-                
-                        misses++;                  
-                }
-                
-                if (text[i] == 0x0e || text[i] == 0x0f) {
-                    // Shift in/out
-                    shifts++;
-                }
-            }
-        
-        if (hits == 0) {
-            return 0;
-        }
-        
-        //
-        // Initial quality is based on relative proportion of recongized vs.
-        //   unrecognized escape sequences. 
-        //   All good:  quality = 100;
-        //   half or less good: quality = 0;
-        //   linear inbetween.
-        quality = (100*hits - 100*misses) / (hits + misses);
-        
-        // Back off quality if there were too few escape sequences seen.
-        //   Include shifts in this computation, so that KR does not get penalized
-        //   for having only a single Escape sequence, but many shifts.
-        if (hits+shifts < 5) {
-            quality -= (5-(hits+shifts))*10;
-        }
-        
-        if (quality < 0) {
-            quality = 0;
-        }        
-        return quality;
-    }
-
-    
- 
-    
-    static class CharsetRecog_2022JP extends CharsetRecog_2022 {
-        private byte [] [] escapeSequences = {
-                {0x1b, 0x24, 0x28, 0x43},   // KS X 1001:1992
-                {0x1b, 0x24, 0x28, 0x44},   // JIS X 212-1990
-                {0x1b, 0x24, 0x40},         // JIS C 6226-1978
-                {0x1b, 0x24, 0x41},         // GB 2312-80
-                {0x1b, 0x24, 0x42},         // JIS X 208-1983
-                {0x1b, 0x26, 0x40},         // JIS X 208 1990, 1997
-                {0x1b, 0x28, 0x42},         // ASCII
-                {0x1b, 0x28, 0x48},         // JIS-Roman
-                {0x1b, 0x28, 0x49},         // Half-width katakana
-                {0x1b, 0x28, 0x4a},         // JIS-Roman
-                {0x1b, 0x2e, 0x41},         // ISO 8859-1
-                {0x1b, 0x2e, 0x46}          // ISO 8859-7
-                };
-        
-        String getName() {
-            return "ISO-2022-JP";
-        }
-        
-        int   match(CharsetDetector det) {
-            return match(det.fInputBytes, det.fInputLen, escapeSequences);
-        }
-    }
-
-    static class CharsetRecog_2022KR extends CharsetRecog_2022 {
-        private byte [] [] escapeSequences = {
-                {0x1b, 0x24, 0x29, 0x43}   
-                 };
-        
-        String getName() {
-            return "ISO-2022-KR";
-        }
-        
-        int   match(CharsetDetector det) {
-            return match(det.fInputBytes, det.fInputLen, escapeSequences);
-        }
-        
-    }
-
-    static class CharsetRecog_2022CN extends CharsetRecog_2022 {
-        private byte [] [] escapeSequences = {
-                {0x1b, 0x24, 0x29, 0x41},   // GB 2312-80
-                {0x1b, 0x24, 0x29, 0x47},   // CNS 11643-1992 Plane 1
-                {0x1b, 0x24, 0x2A, 0x48},   // CNS 11643-1992 Plane 2
-                {0x1b, 0x24, 0x29, 0x45},   // ISO-IR-165
-                {0x1b, 0x24, 0x2B, 0x49},   // CNS 11643-1992 Plane 3
-                {0x1b, 0x24, 0x2B, 0x4A},   // CNS 11643-1992 Plane 4
-                {0x1b, 0x24, 0x2B, 0x4B},   // CNS 11643-1992 Plane 5
-                {0x1b, 0x24, 0x2B, 0x4C},   // CNS 11643-1992 Plane 6
-                {0x1b, 0x24, 0x2B, 0x4D},   // CNS 11643-1992 Plane 7
-                {0x1b, 0x4e},               // SS2
-                {0x1b, 0x4f},               // SS3
-        };
-        
-        String getName() {
-            return "ISO-2022-CN";
-        }
-        
-        
-        int   match(CharsetDetector det) {
-            return match(det.fInputBytes, det.fInputLen, escapeSequences);
-        }
-    }
-    
-    }
-
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_UTF8.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_UTF8.java
deleted file mode 100644
index 3f0f7cc..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_UTF8.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/**
-*******************************************************************************
-* Copyright (C) 2005 - 2007, International Business Machines Corporation and  *
-* others. All Rights Reserved.                                                *
-*******************************************************************************
-*/
-package org.apache.tika.parser.txt;
-
-/**
- * Charset recognizer for UTF-8
- *
- * @internal
- */
-class CharsetRecog_UTF8 extends CharsetRecognizer {
-
-    String getName() {
-        return "UTF-8";
-    }
-
-    /* (non-Javadoc)
-     * @see com.ibm.icu.text.CharsetRecognizer#match(com.ibm.icu.text.CharsetDetector)
-     */
-    int match(CharsetDetector det) {
-        boolean     hasBOM = false;
-        int         numValid = 0;
-        int         numInvalid = 0;
-        byte        input[] = det.fRawInput;
-        int         i;
-        int         trailBytes = 0;
-        int         confidence;
-        
-        if (det.fRawLength >= 3 && 
-                (input[0] & 0xFF) == 0xef && (input[1] & 0xFF) == 0xbb & (input[2] & 0xFF) == 0xbf) {
-            hasBOM = true;
-        }
-        
-        // Scan for multi-byte sequences
-        for (i=0; i<det.fRawLength; i++) {
-            int b = input[i];
-            if ((b & 0x80) == 0) {
-                continue;   // ASCII
-            }
-            
-            // Hi bit on char found.  Figure out how long the sequence should be
-            if ((b & 0x0e0) == 0x0c0) {
-                trailBytes = 1;                
-            } else if ((b & 0x0f0) == 0x0e0) {
-                trailBytes = 2;
-            } else if ((b & 0x0f8) == 0xf0) {
-                trailBytes = 3;
-            } else {
-                numInvalid++;
-                if (numInvalid > 5) {
-                    break;
-                }
-                trailBytes = 0;
-            }
-                
-            // Verify that we've got the right number of trail bytes in the sequence
-            for (;;) {
-                i++;
-                if (i>=det.fRawLength) {
-                    break;
-                }
-                b = input[i];
-                if ((b & 0xc0) != 0x080) {
-                    numInvalid++;
-                    break;
-                }
-                if (--trailBytes == 0) {
-                    numValid++;
-                    break;
-                }
-            }
-                        
-        }
-        
-        // Cook up some sort of confidence score, based on presense of a BOM
-        //    and the existence of valid and/or invalid multi-byte sequences.
-        confidence = 0;
-        if (hasBOM && numInvalid==0) {
-            confidence = 100;
-        } else if (hasBOM && numValid > numInvalid*10) {
-            confidence = 80;
-        } else if (numValid > 3 && numInvalid == 0) {
-            confidence = 100;            
-        } else if (numValid > 0 && numInvalid == 0) {
-            confidence = 80;
-        } else if (numValid == 0 && numInvalid == 0) {
-            // Plain ASCII.  
-            confidence = 10;            
-        } else if (numValid > numInvalid*10) {
-            // Probably corruput utf-8 data.  Valid sequences aren't likely by chance.
-            confidence = 25;
-        }
-        return confidence;
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_Unicode.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_Unicode.java
deleted file mode 100644
index 65fe9d7..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_Unicode.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- *******************************************************************************
- * Copyright (C) 1996-2007, International Business Machines Corporation and    *
- * others. All Rights Reserved.                                                *
- *******************************************************************************
- *
- */
-package org.apache.tika.parser.txt;
-
-/**
- * This class matches UTF-16 and UTF-32, both big- and little-endian. The
- * BOM will be used if it is present.
- * 
- * @internal
- */
-abstract class CharsetRecog_Unicode extends CharsetRecognizer {
-
-    /* (non-Javadoc)
-     * @see com.ibm.icu.text.CharsetRecognizer#getName()
-     */
-    abstract String getName();
-
-    /* (non-Javadoc)
-     * @see com.ibm.icu.text.CharsetRecognizer#match(com.ibm.icu.text.CharsetDetector)
-     */
-    abstract int match(CharsetDetector det);
-    
-    static class CharsetRecog_UTF_16_BE extends CharsetRecog_Unicode
-    {
-        String getName()
-        {
-            return "UTF-16BE";
-        }
-        
-        int match(CharsetDetector det)
-        {
-            byte[] input = det.fRawInput;
-            
-            if (input.length>=2 && ((input[0] & 0xFF) == 0xFE && (input[1] & 0xFF) == 0xFF)) {
-                return 100;
-            }
-            
-            // TODO: Do some statistics to check for unsigned UTF-16BE
-            return 0;
-        }
-    }
-    
-    static class CharsetRecog_UTF_16_LE extends CharsetRecog_Unicode
-    {
-        String getName()
-        {
-            return "UTF-16LE";
-        }
-        
-        int match(CharsetDetector det)
-        {
-            byte[] input = det.fRawInput;
-            
-            if (input.length >= 2 && ((input[0] & 0xFF) == 0xFF && (input[1] & 0xFF) == 0xFE))
-            {
-               // An LE BOM is present.
-               if (input.length>=4 && input[2] == 0x00 && input[3] == 0x00) {
-                   // It is probably UTF-32 LE, not UTF-16
-                   return 0;
-               }
-               return 100;
-            }        
-            
-            // TODO: Do some statistics to check for unsigned UTF-16LE
-            return 0;
-        }
-    }
-    
-    static abstract class CharsetRecog_UTF_32 extends CharsetRecog_Unicode
-    {
-        abstract int getChar(byte[] input, int index);
-        
-        abstract String getName();
-        
-        int match(CharsetDetector det)
-        {
-            byte[] input   = det.fRawInput;
-            int limit      = (det.fRawLength / 4) * 4;
-            int numValid   = 0;
-            int numInvalid = 0;
-            boolean hasBOM = false;
-            int confidence = 0;
-            
-            if (limit==0) {
-                return 0;
-            }
-            if (getChar(input, 0) == 0x0000FEFF) {
-                hasBOM = true;
-            }
-            
-            for(int i = 0; i < limit; i += 4) {
-                int ch = getChar(input, i);
-                
-                if (ch < 0 || ch >= 0x10FFFF || (ch >= 0xD800 && ch <= 0xDFFF)) {
-                    numInvalid += 1;
-                } else {
-                    numValid += 1;
-                }
-            }
-            
-            
-            // Cook up some sort of confidence score, based on presence of a BOM
-            //    and the existence of valid and/or invalid multi-byte sequences.
-            if (hasBOM && numInvalid==0) {
-                confidence = 100;
-            } else if (hasBOM && numValid > numInvalid*10) {
-                confidence = 80;
-            } else if (numValid > 3 && numInvalid == 0) {
-                confidence = 100;            
-            } else if (numValid > 0 && numInvalid == 0) {
-                confidence = 80;
-            } else if (numValid > numInvalid*10) {
-                // Probably corrupt UTF-32BE data.  Valid sequences aren't likely by chance.
-                confidence = 25;
-            }
-            
-            return confidence;
-        }
-    }
-    
-    static class CharsetRecog_UTF_32_BE extends CharsetRecog_UTF_32
-    {
-        int getChar(byte[] input, int index)
-        {
-            return (input[index + 0] & 0xFF) << 24 | (input[index + 1] & 0xFF) << 16 |
-                   (input[index + 2] & 0xFF) <<  8 | (input[index + 3] & 0xFF);
-        }
-        
-        String getName()
-        {
-            return "UTF-32BE";
-        }
-    }
-
-    
-    static class CharsetRecog_UTF_32_LE extends CharsetRecog_UTF_32
-    {
-        int getChar(byte[] input, int index)
-        {
-            return (input[index + 3] & 0xFF) << 24 | (input[index + 2] & 0xFF) << 16 |
-                   (input[index + 1] & 0xFF) <<  8 | (input[index + 0] & 0xFF);
-        }
-        
-        String getName()
-        {
-            return "UTF-32LE";
-        }
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_mbcs.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_mbcs.java
deleted file mode 100644
index 6e69074..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_mbcs.java
+++ /dev/null
@@ -1,542 +0,0 @@
-/*
- ****************************************************************************
- * Copyright (C) 2005-2008, International Business Machines Corporation and *
- * others. All Rights Reserved.                                             *
- ****************************************************************************
- *
- */
-package org.apache.tika.parser.txt;
-
-import java.util.Arrays;
-
-/**
- * CharsetRecognizer implemenation for Asian  - double or multi-byte - charsets.
- *                   Match is determined mostly by the input data adhering to the
- *                   encoding scheme for the charset, and, optionally,
- *                   frequency-of-occurence of characters.
- * <p/>
- *                   Instances of this class are singletons, one per encoding
- *                   being recognized.  They are created in the main
- *                   CharsetDetector class and kept in the global list of available
- *                   encodings to be checked.  The specific encoding being recognized
- *                   is determined by subclass.
- * 
- * @internal                  
- */
-abstract class CharsetRecog_mbcs extends CharsetRecognizer {
-
-   /**
-     * Get the IANA name of this charset.
-     * @return the charset name.
-     */
-    abstract String      getName() ;
-    
-    
-    /**
-     * Test the match of this charset with the input text data
-     *      which is obtained via the CharsetDetector object.
-     * 
-     * @param det  The CharsetDetector, which contains the input text
-     *             to be checked for being in this charset.
-     * @return     Two values packed into one int  (Damn java, anyhow)
-     *             <br/>
-     *             bits 0-7:  the match confidence, ranging from 0-100
-     *             <br/>
-     *             bits 8-15: The match reason, an enum-like value.
-     */
-    int match(CharsetDetector det, int [] commonChars) {
-        int   singleByteCharCount = 0;
-        int   doubleByteCharCount = 0;
-        int   commonCharCount     = 0;
-        int   badCharCount        = 0;
-        int   totalCharCount      = 0;
-        int   confidence          = 0;
-        iteratedChar   iter       = new iteratedChar();
-        
-        detectBlock: {
-            for (iter.reset(); nextChar(iter, det);) {
-                totalCharCount++;
-                if (iter.error) {
-                    badCharCount++; 
-                } else {
-                    long cv = iter.charValue & 0xFFFFFFFFL;
-                                        
-                    if (cv <= 0xff) {
-                        singleByteCharCount++;
-                    } else {
-                        doubleByteCharCount++;
-                        if (commonChars != null) {
-                            // NOTE: This assumes that there are no 4-byte common chars.
-                            if (Arrays.binarySearch(commonChars, (int) cv) >= 0) {
-                                commonCharCount++;
-                            }
-                        }
-                    }
-                }
-                if (badCharCount >= 2 && badCharCount*5 >= doubleByteCharCount) {
-                    // Bail out early if the byte data is not matching the encoding scheme.
-                    break detectBlock;
-                }
-            }
-            
-            if (doubleByteCharCount <= 10 && badCharCount== 0) {
-                // Not many multi-byte chars.
-                if (doubleByteCharCount == 0 && totalCharCount < 10) {
-                    // There weren't any multibyte sequences, and there was a low density of non-ASCII single bytes.
-                    // We don't have enough data to have any confidence.
-                    // Statistical analysis of single byte non-ASCII charcters would probably help here.
-                    confidence = 0;
-                }
-                else {
-                    //   ASCII or ISO file?  It's probably not our encoding,
-                    //   but is not incompatible with our encoding, so don't give it a zero.
-                    confidence = 10;
-                }
-                
-                break detectBlock;
-            }
-            
-            //
-            //  No match if there are too many characters that don't fit the encoding scheme.
-            //    (should we have zero tolerance for these?)
-            //
-            if (doubleByteCharCount < 20*badCharCount) {
-                confidence = 0;
-                break detectBlock;
-            }
-            
-            if (commonChars == null) {
-                // We have no statistics on frequently occuring characters.
-                //  Assess confidence purely on having a reasonable number of
-                //  multi-byte characters (the more the better
-                confidence = 30 + doubleByteCharCount - 20*badCharCount;
-                if (confidence > 100) {
-                    confidence = 100;
-                }
-            }else {
-                //
-                // Frequency of occurence statistics exist.
-                //
-                double maxVal = Math.log((float)doubleByteCharCount / 4);
-                double scaleFactor = 90.0 / maxVal;
-                confidence = (int)(Math.log(commonCharCount+1) * scaleFactor + 10);
-                confidence = Math.min(confidence, 100);
-            }
-        }   // end of detectBlock:
-        
-        return confidence;
-    }
-    
-     // "Character"  iterated character class.
-     //    Recognizers for specific mbcs encodings make their "characters" available
-     //    by providing a nextChar() function that fills in an instance of iteratedChar
-     //    with the next char from the input.
-     //    The returned characters are not converted to Unicode, but remain as the raw
-     //    bytes (concatenated into an int) from the codepage data.
-     //
-     //  For Asian charsets, use the raw input rather than the input that has been
-     //   stripped of markup.  Detection only considers multi-byte chars, effectively
-     //   stripping markup anyway, and double byte chars do occur in markup too.
-     //
-     static class iteratedChar {
-         int             charValue = 0;             // 1-4 bytes from the raw input data
-         int             index     = 0;
-         int             nextIndex = 0;
-         boolean         error     = false;
-         boolean         done      = false;
-         
-         void reset() {
-             charValue = 0;
-             index     = -1;
-             nextIndex = 0;
-             error     = false;
-             done      = false;
-         }
-         
-         int nextByte(CharsetDetector det) {
-             if (nextIndex >= det.fRawLength) {
-                 done = true;
-                 return -1;
-             }
-             int byteValue = (int)det.fRawInput[nextIndex++] & 0x00ff;
-             return byteValue;
-         }       
-     }
-     
-     /**
-      * Get the next character (however many bytes it is) from the input data
-      *    Subclasses for specific charset encodings must implement this function
-      *    to get characters according to the rules of their encoding scheme.
-      * 
-      *  This function is not a method of class iteratedChar only because
-      *   that would require a lot of extra derived classes, which is awkward.
-      * @param it  The iteratedChar "struct" into which the returned char is placed.
-      * @param det The charset detector, which is needed to get at the input byte data
-      *            being iterated over.
-      * @return    True if a character was returned, false at end of input.
-      */
-     abstract boolean nextChar(iteratedChar it, CharsetDetector det);
-     
-
-
-     
-     
-     /**
-      *   Shift-JIS charset recognizer.   
-      *
-      */
-     static class CharsetRecog_sjis extends CharsetRecog_mbcs {
-         static int [] commonChars = 
-             // TODO:  This set of data comes from the character frequency-
-             //        of-occurence analysis tool.  The data needs to be moved
-             //        into a resource and loaded from there.
-            {0x8140, 0x8141, 0x8142, 0x8145, 0x815b, 0x8169, 0x816a, 0x8175, 0x8176, 0x82a0, 
-             0x82a2, 0x82a4, 0x82a9, 0x82aa, 0x82ab, 0x82ad, 0x82af, 0x82b1, 0x82b3, 0x82b5, 
-             0x82b7, 0x82bd, 0x82be, 0x82c1, 0x82c4, 0x82c5, 0x82c6, 0x82c8, 0x82c9, 0x82cc, 
-             0x82cd, 0x82dc, 0x82e0, 0x82e7, 0x82e8, 0x82e9, 0x82ea, 0x82f0, 0x82f1, 0x8341, 
-             0x8343, 0x834e, 0x834f, 0x8358, 0x835e, 0x8362, 0x8367, 0x8375, 0x8376, 0x8389, 
-             0x838a, 0x838b, 0x838d, 0x8393, 0x8e96, 0x93fa, 0x95aa};
-         
-         boolean nextChar(iteratedChar it, CharsetDetector det) {
-             it.index = it.nextIndex;
-             it.error = false;
-             int firstByte;
-             firstByte = it.charValue = it.nextByte(det);
-             if (firstByte < 0) {
-                 return false;
-             }
-             
-             if (firstByte <= 0x7f || (firstByte>0xa0 && firstByte<=0xdf)) {
-                 return true;
-             }
-             
-             int secondByte = it.nextByte(det);
-             if (secondByte < 0)  {
-                 return false;          
-             }
-             it.charValue = (firstByte << 8) | secondByte;
-             if (! ((secondByte>=0x40 && secondByte<=0x7f) || (secondByte>=0x80 && secondByte<=0xff))) {
-                 // Illegal second byte value.
-                 it.error = true;
-             }
-             return true;
-         }
-         
-         int match(CharsetDetector det) {
-             return match(det, commonChars);
-         }
-         
-         String getName() {
-             return "Shift_JIS";
-         }
-         
-         public String getLanguage()
-         {
-             return "ja";
-         }
-
-         
-     }
-     
-     
-     /**
-      *   Big5 charset recognizer.   
-      *
-      */
-     static class CharsetRecog_big5 extends CharsetRecog_mbcs {
-         static int [] commonChars = 
-             // TODO:  This set of data comes from the character frequency-
-             //        of-occurence analysis tool.  The data needs to be moved
-             //        into a resource and loaded from there.
-            {0xa140, 0xa141, 0xa142, 0xa143, 0xa147, 0xa149, 0xa175, 0xa176, 0xa440, 0xa446, 
-             0xa447, 0xa448, 0xa451, 0xa454, 0xa457, 0xa464, 0xa46a, 0xa46c, 0xa477, 0xa4a3, 
-             0xa4a4, 0xa4a7, 0xa4c1, 0xa4ce, 0xa4d1, 0xa4df, 0xa4e8, 0xa4fd, 0xa540, 0xa548, 
-             0xa558, 0xa569, 0xa5cd, 0xa5e7, 0xa657, 0xa661, 0xa662, 0xa668, 0xa670, 0xa6a8, 
-             0xa6b3, 0xa6b9, 0xa6d3, 0xa6db, 0xa6e6, 0xa6f2, 0xa740, 0xa751, 0xa759, 0xa7da, 
-             0xa8a3, 0xa8a5, 0xa8ad, 0xa8d1, 0xa8d3, 0xa8e4, 0xa8fc, 0xa9c0, 0xa9d2, 0xa9f3, 
-             0xaa6b, 0xaaba, 0xaabe, 0xaacc, 0xaafc, 0xac47, 0xac4f, 0xacb0, 0xacd2, 0xad59, 
-             0xaec9, 0xafe0, 0xb0ea, 0xb16f, 0xb2b3, 0xb2c4, 0xb36f, 0xb44c, 0xb44e, 0xb54c, 
-             0xb5a5, 0xb5bd, 0xb5d0, 0xb5d8, 0xb671, 0xb7ed, 0xb867, 0xb944, 0xbad8, 0xbb44, 
-             0xbba1, 0xbdd1, 0xc2c4, 0xc3b9, 0xc440, 0xc45f};
-          
-         boolean nextChar(iteratedChar it, CharsetDetector det) {
-             it.index = it.nextIndex;
-             it.error = false;
-             int firstByte;
-             firstByte = it.charValue = it.nextByte(det);
-             if (firstByte < 0) {
-                 return false;
-             }
-             
-             if (firstByte <= 0x7f || firstByte==0xff) {
-                 // single byte character.
-                 return true;
-             }
-             
-             int secondByte = it.nextByte(det);
-             if (secondByte < 0)  {
-                 return false;          
-             }
-             it.charValue = (it.charValue << 8) | secondByte;
-
-             if (secondByte < 0x40 ||
-                 secondByte ==0x7f ||
-                 secondByte == 0xff) {
-                     it.error = true;
-             }
-             return true;
-         }
-         
-         int match(CharsetDetector det) {
-             return match(det, commonChars);
-         }
-         
-         String getName() {
-             return "Big5";
-         }
-         
-         
-         public String getLanguage()
-         {
-             return "zh";
-         }
-     }
-     
-     
-     /**
-      *   EUC charset recognizers.  One abstract class that provides the common function
-      *             for getting the next character according to the EUC encoding scheme,
-      *             and nested derived classes for EUC_KR, EUC_JP, EUC_CN.   
-      *
-      */
-     abstract static class CharsetRecog_euc extends CharsetRecog_mbcs {
-         
-         /*
-          *  (non-Javadoc)
-          *  Get the next character value for EUC based encodings.
-          *  Character "value" is simply the raw bytes that make up the character
-          *     packed into an int.
-          */
-         boolean nextChar(iteratedChar it, CharsetDetector det) {
-             it.index = it.nextIndex;
-             it.error = false;
-             int firstByte  = 0;
-             int secondByte = 0;
-             int thirdByte  = 0;
-             //int fourthByte = 0;
-             
-             buildChar: {
-                 firstByte = it.charValue = it.nextByte(det);                 
-                 if (firstByte < 0) {
-                     // Ran off the end of the input data
-                     it.done = true;
-                     break buildChar;
-                 }
-                 if (firstByte <= 0x8d) {
-                     // single byte char
-                     break buildChar;
-                 }
-                 
-                 secondByte = it.nextByte(det);
-                 it.charValue = (it.charValue << 8) | secondByte;
-                 
-                 if (firstByte >= 0xA1 && firstByte <= 0xfe) {
-                     // Two byte Char
-                     if (secondByte < 0xa1) {
-                         it.error = true;
-                     }
-                     break buildChar;
-                 }
-                 if (firstByte == 0x8e) {
-                     // Code Set 2.
-                     //   In EUC-JP, total char size is 2 bytes, only one byte of actual char value.
-                     //   In EUC-TW, total char size is 4 bytes, three bytes contribute to char value.
-                     // We don't know which we've got.
-                     // Treat it like EUC-JP.  If the data really was EUC-TW, the following two
-                     //   bytes will look like a well formed 2 byte char.  
-                     if (secondByte < 0xa1) {
-                         it.error = true;
-                     }
-                     break buildChar;                     
-                 }
-                 
-                 if (firstByte == 0x8f) {
-                     // Code set 3.
-                     // Three byte total char size, two bytes of actual char value.
-                     thirdByte    = it.nextByte(det);
-                     it.charValue = (it.charValue << 8) | thirdByte;
-                     if (thirdByte < 0xa1) {
-                         it.error = true;
-                     }
-                 }
-              }
-             
-             return (it.done == false);
-         }
-         
-         /**
-          * The charset recognize for EUC-JP.  A singleton instance of this class
-          *    is created and kept by the public CharsetDetector class
-          */
-         static class CharsetRecog_euc_jp extends CharsetRecog_euc {
-             static int [] commonChars = 
-                 // TODO:  This set of data comes from the character frequency-
-                 //        of-occurence analysis tool.  The data needs to be moved
-                 //        into a resource and loaded from there.
-                {0xa1a1, 0xa1a2, 0xa1a3, 0xa1a6, 0xa1bc, 0xa1ca, 0xa1cb, 0xa1d6, 0xa1d7, 0xa4a2, 
-                 0xa4a4, 0xa4a6, 0xa4a8, 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4af, 0xa4b1, 0xa4b3, 
-                 0xa4b5, 0xa4b7, 0xa4b9, 0xa4bb, 0xa4bd, 0xa4bf, 0xa4c0, 0xa4c1, 0xa4c3, 0xa4c4, 
-                 0xa4c6, 0xa4c7, 0xa4c8, 0xa4c9, 0xa4ca, 0xa4cb, 0xa4ce, 0xa4cf, 0xa4d0, 0xa4de, 
-                 0xa4df, 0xa4e1, 0xa4e2, 0xa4e4, 0xa4e8, 0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ef, 
-                 0xa4f2, 0xa4f3, 0xa5a2, 0xa5a3, 0xa5a4, 0xa5a6, 0xa5a7, 0xa5aa, 0xa5ad, 0xa5af, 
-                 0xa5b0, 0xa5b3, 0xa5b5, 0xa5b7, 0xa5b8, 0xa5b9, 0xa5bf, 0xa5c3, 0xa5c6, 0xa5c7, 
-                 0xa5c8, 0xa5c9, 0xa5cb, 0xa5d0, 0xa5d5, 0xa5d6, 0xa5d7, 0xa5de, 0xa5e0, 0xa5e1, 
-                 0xa5e5, 0xa5e9, 0xa5ea, 0xa5eb, 0xa5ec, 0xa5ed, 0xa5f3, 0xb8a9, 0xb9d4, 0xbaee, 
-                 0xbbc8, 0xbef0, 0xbfb7, 0xc4ea, 0xc6fc, 0xc7bd, 0xcab8, 0xcaf3, 0xcbdc, 0xcdd1};             
-             String getName() {
-                 return "EUC-JP";
-             }
-             
-             int match(CharsetDetector det) {
-                 return match(det, commonChars);
-             }
-             
-             public String getLanguage()
-             {
-                 return "ja";
-             }
-         }
-         
-         /**
-          * The charset recognize for EUC-KR.  A singleton instance of this class
-          *    is created and kept by the public CharsetDetector class
-          */
-         static class CharsetRecog_euc_kr extends CharsetRecog_euc {
-             static int [] commonChars = 
-                 // TODO:  This set of data comes from the character frequency-
-                 //        of-occurence analysis tool.  The data needs to be moved
-                 //        into a resource and loaded from there.
-                {0xb0a1, 0xb0b3, 0xb0c5, 0xb0cd, 0xb0d4, 0xb0e6, 0xb0ed, 0xb0f8, 0xb0fa, 0xb0fc, 
-                 0xb1b8, 0xb1b9, 0xb1c7, 0xb1d7, 0xb1e2, 0xb3aa, 0xb3bb, 0xb4c2, 0xb4cf, 0xb4d9, 
-                 0xb4eb, 0xb5a5, 0xb5b5, 0xb5bf, 0xb5c7, 0xb5e9, 0xb6f3, 0xb7af, 0xb7c2, 0xb7ce, 
-                 0xb8a6, 0xb8ae, 0xb8b6, 0xb8b8, 0xb8bb, 0xb8e9, 0xb9ab, 0xb9ae, 0xb9cc, 0xb9ce, 
-                 0xb9fd, 0xbab8, 0xbace, 0xbad0, 0xbaf1, 0xbbe7, 0xbbf3, 0xbbfd, 0xbcad, 0xbcba, 
-                 0xbcd2, 0xbcf6, 0xbdba, 0xbdc0, 0xbdc3, 0xbdc5, 0xbec6, 0xbec8, 0xbedf, 0xbeee, 
-                 0xbef8, 0xbefa, 0xbfa1, 0xbfa9, 0xbfc0, 0xbfe4, 0xbfeb, 0xbfec, 0xbff8, 0xc0a7, 
-                 0xc0af, 0xc0b8, 0xc0ba, 0xc0bb, 0xc0bd, 0xc0c7, 0xc0cc, 0xc0ce, 0xc0cf, 0xc0d6, 
-                 0xc0da, 0xc0e5, 0xc0fb, 0xc0fc, 0xc1a4, 0xc1a6, 0xc1b6, 0xc1d6, 0xc1df, 0xc1f6, 
-                 0xc1f8, 0xc4a1, 0xc5cd, 0xc6ae, 0xc7cf, 0xc7d1, 0xc7d2, 0xc7d8, 0xc7e5, 0xc8ad};
-             
-             String getName() {
-                 return "EUC-KR";
-             }
-             
-             int match(CharsetDetector det) {
-                 return match(det, commonChars);
-             }
-             
-             public String getLanguage()
-             {
-                 return "ko";
-             }
-         }
-     }
-     
-     /**
-      * 
-      *   GB-18030 recognizer. Uses simplified Chinese statistics.   
-      *
-      */
-     static class CharsetRecog_gb_18030 extends CharsetRecog_mbcs {
-         
-         /*
-          *  (non-Javadoc)
-          *  Get the next character value for EUC based encodings.
-          *  Character "value" is simply the raw bytes that make up the character
-          *     packed into an int.
-          */
-         boolean nextChar(iteratedChar it, CharsetDetector det) {
-             it.index = it.nextIndex;
-             it.error = false;
-             int firstByte  = 0;
-             int secondByte = 0;
-             int thirdByte  = 0;
-             int fourthByte = 0;
-             
-             buildChar: {
-                 firstByte = it.charValue = it.nextByte(det); 
-                 
-                 if (firstByte < 0) {
-                     // Ran off the end of the input data
-                     it.done = true;
-                     break buildChar;
-                 }
-                 
-                 if (firstByte <= 0x80) {
-                     // single byte char
-                     break buildChar;
-                 }
-                 
-                 secondByte = it.nextByte(det);
-                 it.charValue = (it.charValue << 8) | secondByte;
-                 
-                 if (firstByte >= 0x81 && firstByte <= 0xFE) {
-                     // Two byte Char
-                     if ((secondByte >= 0x40 && secondByte <= 0x7E) || (secondByte >=80 && secondByte <=0xFE)) {
-                         break buildChar;
-                     }
-                     
-                     // Four byte char
-                     if (secondByte >= 0x30 && secondByte <= 0x39) {
-                         thirdByte = it.nextByte(det);
-                         
-                         if (thirdByte >= 0x81 && thirdByte <= 0xFE) {
-                             fourthByte = it.nextByte(det);
-                             
-                             if (fourthByte >= 0x30 && fourthByte <= 0x39) {
-                                 it.charValue = (it.charValue << 16) | (thirdByte << 8) | fourthByte;
-                                 break buildChar;
-                             }
-                         }
-                     }
-                     
-                     it.error = true;
-                     break buildChar;
-                 }
-             }
-                 
-             return (it.done == false);
-         }
-         
-         static int [] commonChars = 
-             // TODO:  This set of data comes from the character frequency-
-             //        of-occurence analysis tool.  The data needs to be moved
-             //        into a resource and loaded from there.
-            {0xa1a1, 0xa1a2, 0xa1a3, 0xa1a4, 0xa1b0, 0xa1b1, 0xa1f1, 0xa1f3, 0xa3a1, 0xa3ac, 
-             0xa3ba, 0xb1a8, 0xb1b8, 0xb1be, 0xb2bb, 0xb3c9, 0xb3f6, 0xb4f3, 0xb5bd, 0xb5c4, 
-             0xb5e3, 0xb6af, 0xb6d4, 0xb6e0, 0xb7a2, 0xb7a8, 0xb7bd, 0xb7d6, 0xb7dd, 0xb8b4, 
-             0xb8df, 0xb8f6, 0xb9ab, 0xb9c9, 0xb9d8, 0xb9fa, 0xb9fd, 0xbacd, 0xbba7, 0xbbd6, 
-             0xbbe1, 0xbbfa, 0xbcbc, 0xbcdb, 0xbcfe, 0xbdcc, 0xbecd, 0xbedd, 0xbfb4, 0xbfc6, 
-             0xbfc9, 0xc0b4, 0xc0ed, 0xc1cb, 0xc2db, 0xc3c7, 0xc4dc, 0xc4ea, 0xc5cc, 0xc6f7, 
-             0xc7f8, 0xc8ab, 0xc8cb, 0xc8d5, 0xc8e7, 0xc9cf, 0xc9fa, 0xcab1, 0xcab5, 0xcac7, 
-             0xcad0, 0xcad6, 0xcaf5, 0xcafd, 0xccec, 0xcdf8, 0xceaa, 0xcec4, 0xced2, 0xcee5, 
-             0xcfb5, 0xcfc2, 0xcfd6, 0xd0c2, 0xd0c5, 0xd0d0, 0xd0d4, 0xd1a7, 0xd2aa, 0xd2b2, 
-             0xd2b5, 0xd2bb, 0xd2d4, 0xd3c3, 0xd3d0, 0xd3fd, 0xd4c2, 0xd4da, 0xd5e2, 0xd6d0};
-
-         
-         String getName() {
-             return "GB18030";
-         }
-         
-         int match(CharsetDetector det) {
-             return match(det, commonChars);
-         }
-         
-         public String getLanguage()
-         {
-             return "zh";
-         }
-     }
-     
-     
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_sbcs.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_sbcs.java
deleted file mode 100644
index e5b5f18..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_sbcs.java
+++ /dev/null
@@ -1,1339 +0,0 @@
-/*
- ****************************************************************************
- * Copyright (C) 2005-2009, International Business Machines Corporation and *
- * others. All Rights Reserved.                                             *
- ************************************************************************** *
- *
- */
-package org.apache.tika.parser.txt;
-
-import java.nio.ByteBuffer;
-
-/**
- * This class recognizes single-byte encodings. Because the encoding scheme is so
- * simple, language statistics are used to do the matching.
- * 
- * @internal
- */
-abstract class CharsetRecog_sbcs extends CharsetRecognizer {
-
-    /* (non-Javadoc)
-     * @see com.ibm.icu.text.CharsetRecognizer#getName()
-     */
-    abstract String getName();
-
-    /* (non-Javadoc)
-     * @see com.ibm.icu.text.CharsetRecognizer#match(com.ibm.icu.text.CharsetDetector)
-     */
-    abstract int match(CharsetDetector det);
-    
-    static class NGramParser
-    {
-//        private static final int N_GRAM_SIZE = 3;
-        private static final int N_GRAM_MASK = 0xFFFFFF;
-
-        private int byteIndex = 0;
-        private int ngram = 0;
-        
-        private int[] ngramList;
-        private byte[] byteMap;
-        
-        private int ngramCount;
-        private int hitCount;
-        
-        private byte spaceChar;
-        
-        public NGramParser(int[] theNgramList, byte[] theByteMap)
-        {
-            ngramList = theNgramList;
-            byteMap   = theByteMap;
-            
-            ngram = 0;
-            
-            ngramCount = hitCount = 0;
-        }
-        
-        /*
-         * Binary search for value in table, which must have exactly 64 entries.
-         */
-        private static int search(int[] table, int value)
-        {
-            int index = 0;
-            
-            if (table[index + 32] <= value) {
-                index += 32;
-            }
-            
-            if (table[index + 16] <= value) {
-                index += 16;
-            }
-
-            if (table[index + 8] <= value) {
-                index += 8;
-            }
-
-            if (table[index + 4] <= value) {
-                index += 4;
-            }
-
-            if (table[index + 2] <= value) {
-                index += 2;
-            }
-
-            if (table[index + 1] <= value) {
-                index += 1;
-            }
-
-            if (table[index] > value) {
-                index -= 1;
-            }
-            
-            if (index < 0 || table[index] != value) {
-                return -1;
-            }
-            
-            return index;
-        }
-
-        private void lookup(int thisNgram)
-        {
-            ngramCount += 1;
-            
-            if (search(ngramList, thisNgram) >= 0) {
-                hitCount += 1;
-            }
-            
-        }
-        
-        private void addByte(int b)
-        {
-            ngram = ((ngram << 8) + (b & 0xFF)) & N_GRAM_MASK;
-            lookup(ngram);
-        }
-        
-        private int nextByte(CharsetDetector det)
-        {
-            if (byteIndex >= det.fInputLen) {
-                return -1;
-            }
-            
-            return det.fInputBytes[byteIndex++] & 0xFF;
-        }
-        
-        public int parse(CharsetDetector det)
-        {
-            return parse (det, (byte)0x20);
-        }
-        public int parse(CharsetDetector det, byte spaceCh)
-        {
-            int b;
-            boolean ignoreSpace = false;
-            this.spaceChar = spaceCh;
-            
-            while ((b = nextByte(det)) >= 0) {
-                byte mb = byteMap[b];
-                
-                // TODO: 0x20 might not be a space in all character sets...
-                if (mb != 0) {
-                    if (!(mb == spaceChar && ignoreSpace)) {
-                        addByte(mb);                    
-                    }
-                    
-                    ignoreSpace = (mb == spaceChar);
-                }
-            }
-            
-            // TODO: Is this OK? The buffer could have ended in the middle of a word...
-            addByte(spaceChar);
-
-            double rawPercent = (double) hitCount / (double) ngramCount;
-            
-//                if (rawPercent <= 2.0) {
-//                    return 0;
-//                }
-            
-            // TODO - This is a bit of a hack to take care of a case
-            // were we were getting a confidence of 135...
-            if (rawPercent > 0.33) {
-                return 98;
-            }
-            
-            return (int) (rawPercent * 300.0);
-        }
-    }
-    
-    protected boolean haveC1Bytes = false;
-    
-    int match(CharsetDetector det, int[] ngrams,  byte[] byteMap)
-    {
-        return match (det, ngrams, byteMap, (byte)0x20);
-    }
-    
-    int match(CharsetDetector det, int[] ngrams,  byte[] byteMap, byte spaceChar)
-    {
-        NGramParser parser = new NGramParser(ngrams, byteMap);
-        
-        haveC1Bytes = det.fC1Bytes;
-        
-        return parser.parse(det, spaceChar);
-    }
-    
-    abstract static class CharsetRecog_8859_1 extends CharsetRecog_sbcs
-    {
-        protected static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0xAA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xB5, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0xBA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0x20, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xDF, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0x20, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xFF, 
-        };
-
-        public String getName()
-        {
-            return haveC1Bytes? "windows-1252" : "ISO-8859-1";
-        }
-    }
-
-    static class CharsetRecog_8859_1_da extends CharsetRecog_8859_1
-    {
-        private static int[] ngrams = {
-            0x206166, 0x206174, 0x206465, 0x20656E, 0x206572, 0x20666F, 0x206861, 0x206920, 0x206D65, 0x206F67, 0x2070E5, 0x207369, 0x207374, 0x207469, 0x207669, 0x616620, 
-            0x616E20, 0x616E64, 0x617220, 0x617420, 0x646520, 0x64656E, 0x646572, 0x646574, 0x652073, 0x656420, 0x656465, 0x656E20, 0x656E64, 0x657220, 0x657265, 0x657320, 
-            0x657420, 0x666F72, 0x676520, 0x67656E, 0x676572, 0x696765, 0x696C20, 0x696E67, 0x6B6520, 0x6B6B65, 0x6C6572, 0x6C6967, 0x6C6C65, 0x6D6564, 0x6E6465, 0x6E6520, 
-            0x6E6720, 0x6E6765, 0x6F6720, 0x6F6D20, 0x6F7220, 0x70E520, 0x722064, 0x722065, 0x722073, 0x726520, 0x737465, 0x742073, 0x746520, 0x746572, 0x74696C, 0x766572, 
-        };
-
-        public String getLanguage()
-        {
-            return "da";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-
-    static class CharsetRecog_8859_1_de extends CharsetRecog_8859_1
-    {
-        private static int[] ngrams = {
-            0x20616E, 0x206175, 0x206265, 0x206461, 0x206465, 0x206469, 0x206569, 0x206765, 0x206861, 0x20696E, 0x206D69, 0x207363, 0x207365, 0x20756E, 0x207665, 0x20766F, 
-            0x207765, 0x207A75, 0x626572, 0x636820, 0x636865, 0x636874, 0x646173, 0x64656E, 0x646572, 0x646965, 0x652064, 0x652073, 0x65696E, 0x656974, 0x656E20, 0x657220, 
-            0x657320, 0x67656E, 0x68656E, 0x687420, 0x696368, 0x696520, 0x696E20, 0x696E65, 0x697420, 0x6C6963, 0x6C6C65, 0x6E2061, 0x6E2064, 0x6E2073, 0x6E6420, 0x6E6465, 
-            0x6E6520, 0x6E6720, 0x6E6765, 0x6E7465, 0x722064, 0x726465, 0x726569, 0x736368, 0x737465, 0x742064, 0x746520, 0x74656E, 0x746572, 0x756E64, 0x756E67, 0x766572, 
-        };
-
-        public String getLanguage()
-        {
-            return "de";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    static class CharsetRecog_8859_1_en extends CharsetRecog_8859_1
-    {
-        private static int[] ngrams = {
-            0x206120, 0x20616E, 0x206265, 0x20636F, 0x20666F, 0x206861, 0x206865, 0x20696E, 0x206D61, 0x206F66, 0x207072, 0x207265, 0x207361, 0x207374, 0x207468, 0x20746F, 
-            0x207768, 0x616964, 0x616C20, 0x616E20, 0x616E64, 0x617320, 0x617420, 0x617465, 0x617469, 0x642061, 0x642074, 0x652061, 0x652073, 0x652074, 0x656420, 0x656E74, 
-            0x657220, 0x657320, 0x666F72, 0x686174, 0x686520, 0x686572, 0x696420, 0x696E20, 0x696E67, 0x696F6E, 0x697320, 0x6E2061, 0x6E2074, 0x6E6420, 0x6E6720, 0x6E7420, 
-            0x6F6620, 0x6F6E20, 0x6F7220, 0x726520, 0x727320, 0x732061, 0x732074, 0x736169, 0x737420, 0x742074, 0x746572, 0x746861, 0x746865, 0x74696F, 0x746F20, 0x747320, 
-        };
-            
-        public String getLanguage()
-        {
-            return "en";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    static class CharsetRecog_8859_1_es extends CharsetRecog_8859_1
-    {
-        private static int[] ngrams = {
-            0x206120, 0x206361, 0x20636F, 0x206465, 0x20656C, 0x20656E, 0x206573, 0x20696E, 0x206C61, 0x206C6F, 0x207061, 0x20706F, 0x207072, 0x207175, 0x207265, 0x207365, 
-            0x20756E, 0x207920, 0x612063, 0x612064, 0x612065, 0x61206C, 0x612070, 0x616369, 0x61646F, 0x616C20, 0x617220, 0x617320, 0x6369F3, 0x636F6E, 0x646520, 0x64656C, 
-            0x646F20, 0x652064, 0x652065, 0x65206C, 0x656C20, 0x656E20, 0x656E74, 0x657320, 0x657374, 0x69656E, 0x69F36E, 0x6C6120, 0x6C6F73, 0x6E2065, 0x6E7465, 0x6F2064, 
-            0x6F2065, 0x6F6E20, 0x6F7220, 0x6F7320, 0x706172, 0x717565, 0x726120, 0x726573, 0x732064, 0x732065, 0x732070, 0x736520, 0x746520, 0x746F20, 0x756520, 0xF36E20, 
-        };
-            
-        public String getLanguage()
-        {
-            return "es";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    static class CharsetRecog_8859_1_fr extends CharsetRecog_8859_1
-    {
-        private static int[] ngrams = {
-            0x206175, 0x20636F, 0x206461, 0x206465, 0x206475, 0x20656E, 0x206574, 0x206C61, 0x206C65, 0x207061, 0x20706F, 0x207072, 0x207175, 0x207365, 0x20736F, 0x20756E, 
-            0x20E020, 0x616E74, 0x617469, 0x636520, 0x636F6E, 0x646520, 0x646573, 0x647520, 0x652061, 0x652063, 0x652064, 0x652065, 0x65206C, 0x652070, 0x652073, 0x656E20, 
-            0x656E74, 0x657220, 0x657320, 0x657420, 0x657572, 0x696F6E, 0x697320, 0x697420, 0x6C6120, 0x6C6520, 0x6C6573, 0x6D656E, 0x6E2064, 0x6E6520, 0x6E7320, 0x6E7420, 
-            0x6F6E20, 0x6F6E74, 0x6F7572, 0x717565, 0x72206C, 0x726520, 0x732061, 0x732064, 0x732065, 0x73206C, 0x732070, 0x742064, 0x746520, 0x74696F, 0x756520, 0x757220, 
-        };
-
-        public String getLanguage()
-        {
-            return "fr";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    static class CharsetRecog_8859_1_it extends CharsetRecog_8859_1
-    {
-        private static int[] ngrams = {
-            0x20616C, 0x206368, 0x20636F, 0x206465, 0x206469, 0x206520, 0x20696C, 0x20696E, 0x206C61, 0x207065, 0x207072, 0x20756E, 0x612063, 0x612064, 0x612070, 0x612073, 
-            0x61746F, 0x636865, 0x636F6E, 0x64656C, 0x646920, 0x652061, 0x652063, 0x652064, 0x652069, 0x65206C, 0x652070, 0x652073, 0x656C20, 0x656C6C, 0x656E74, 0x657220, 
-            0x686520, 0x692061, 0x692063, 0x692064, 0x692073, 0x696120, 0x696C20, 0x696E20, 0x696F6E, 0x6C6120, 0x6C6520, 0x6C6920, 0x6C6C61, 0x6E6520, 0x6E6920, 0x6E6F20, 
-            0x6E7465, 0x6F2061, 0x6F2064, 0x6F2069, 0x6F2073, 0x6F6E20, 0x6F6E65, 0x706572, 0x726120, 0x726520, 0x736920, 0x746120, 0x746520, 0x746920, 0x746F20, 0x7A696F, 
-        };
-
-        public String getLanguage()
-        {
-            return "it";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    static class CharsetRecog_8859_1_nl extends CharsetRecog_8859_1
-    {
-        private static int[] ngrams = {
-            0x20616C, 0x206265, 0x206461, 0x206465, 0x206469, 0x206565, 0x20656E, 0x206765, 0x206865, 0x20696E, 0x206D61, 0x206D65, 0x206F70, 0x207465, 0x207661, 0x207665, 
-            0x20766F, 0x207765, 0x207A69, 0x61616E, 0x616172, 0x616E20, 0x616E64, 0x617220, 0x617420, 0x636874, 0x646520, 0x64656E, 0x646572, 0x652062, 0x652076, 0x65656E, 
-            0x656572, 0x656E20, 0x657220, 0x657273, 0x657420, 0x67656E, 0x686574, 0x696520, 0x696E20, 0x696E67, 0x697320, 0x6E2062, 0x6E2064, 0x6E2065, 0x6E2068, 0x6E206F, 
-            0x6E2076, 0x6E6465, 0x6E6720, 0x6F6E64, 0x6F6F72, 0x6F7020, 0x6F7220, 0x736368, 0x737465, 0x742064, 0x746520, 0x74656E, 0x746572, 0x76616E, 0x766572, 0x766F6F, 
-        };
-
-        public String getLanguage()
-        {
-            return "nl";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    static class CharsetRecog_8859_1_no extends CharsetRecog_8859_1
-    {
-        private static int[] ngrams = {
-            0x206174, 0x206176, 0x206465, 0x20656E, 0x206572, 0x20666F, 0x206861, 0x206920, 0x206D65, 0x206F67, 0x2070E5, 0x207365, 0x20736B, 0x20736F, 0x207374, 0x207469, 
-            0x207669, 0x20E520, 0x616E64, 0x617220, 0x617420, 0x646520, 0x64656E, 0x646574, 0x652073, 0x656420, 0x656E20, 0x656E65, 0x657220, 0x657265, 0x657420, 0x657474, 
-            0x666F72, 0x67656E, 0x696B6B, 0x696C20, 0x696E67, 0x6B6520, 0x6B6B65, 0x6C6520, 0x6C6C65, 0x6D6564, 0x6D656E, 0x6E2073, 0x6E6520, 0x6E6720, 0x6E6765, 0x6E6E65, 
-            0x6F6720, 0x6F6D20, 0x6F7220, 0x70E520, 0x722073, 0x726520, 0x736F6D, 0x737465, 0x742073, 0x746520, 0x74656E, 0x746572, 0x74696C, 0x747420, 0x747465, 0x766572, 
-        };
-
-        public String getLanguage()
-        {
-            return "no";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    static class CharsetRecog_8859_1_pt extends CharsetRecog_8859_1
-    {
-        private static int[] ngrams = {
-            0x206120, 0x20636F, 0x206461, 0x206465, 0x20646F, 0x206520, 0x206573, 0x206D61, 0x206E6F, 0x206F20, 0x207061, 0x20706F, 0x207072, 0x207175, 0x207265, 0x207365, 
-            0x20756D, 0x612061, 0x612063, 0x612064, 0x612070, 0x616465, 0x61646F, 0x616C20, 0x617220, 0x617261, 0x617320, 0x636F6D, 0x636F6E, 0x646120, 0x646520, 0x646F20, 
-            0x646F73, 0x652061, 0x652064, 0x656D20, 0x656E74, 0x657320, 0x657374, 0x696120, 0x696361, 0x6D656E, 0x6E7465, 0x6E746F, 0x6F2061, 0x6F2063, 0x6F2064, 0x6F2065, 
-            0x6F2070, 0x6F7320, 0x706172, 0x717565, 0x726120, 0x726573, 0x732061, 0x732064, 0x732065, 0x732070, 0x737461, 0x746520, 0x746F20, 0x756520, 0xE36F20, 0xE7E36F, 
-        };
-
-        public String getLanguage()
-        {
-            return "pt";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    static class CharsetRecog_8859_1_sv extends CharsetRecog_8859_1
-    {
-        private static int[] ngrams = {
-            0x206174, 0x206176, 0x206465, 0x20656E, 0x2066F6, 0x206861, 0x206920, 0x20696E, 0x206B6F, 0x206D65, 0x206F63, 0x2070E5, 0x20736B, 0x20736F, 0x207374, 0x207469, 
-            0x207661, 0x207669, 0x20E472, 0x616465, 0x616E20, 0x616E64, 0x617220, 0x617474, 0x636820, 0x646520, 0x64656E, 0x646572, 0x646574, 0x656420, 0x656E20, 0x657220, 
-            0x657420, 0x66F672, 0x67656E, 0x696C6C, 0x696E67, 0x6B6120, 0x6C6C20, 0x6D6564, 0x6E2073, 0x6E6120, 0x6E6465, 0x6E6720, 0x6E6765, 0x6E696E, 0x6F6368, 0x6F6D20, 
-            0x6F6E20, 0x70E520, 0x722061, 0x722073, 0x726120, 0x736B61, 0x736F6D, 0x742073, 0x746120, 0x746520, 0x746572, 0x74696C, 0x747420, 0x766172, 0xE47220, 0xF67220, 
-        };
-
-        public String getLanguage()
-        {
-            return "sv";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    abstract static class CharsetRecog_8859_2 extends CharsetRecog_sbcs
-    {
-        protected static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0xB1, (byte) 0x20, (byte) 0xB3, (byte) 0x20, (byte) 0xB5, (byte) 0xB6, (byte) 0x20, 
-            (byte) 0x20, (byte) 0xB9, (byte) 0xBA, (byte) 0xBB, (byte) 0xBC, (byte) 0x20, (byte) 0xBE, (byte) 0xBF, 
-            (byte) 0x20, (byte) 0xB1, (byte) 0x20, (byte) 0xB3, (byte) 0x20, (byte) 0xB5, (byte) 0xB6, (byte) 0xB7, 
-            (byte) 0x20, (byte) 0xB9, (byte) 0xBA, (byte) 0xBB, (byte) 0xBC, (byte) 0x20, (byte) 0xBE, (byte) 0xBF, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0x20, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xDF, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0x20, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0x20, 
-        };
-
-        public String getName()
-        {
-            return haveC1Bytes? "windows-1250" : "ISO-8859-2";
-        }
-    }
-    
-    static class CharsetRecog_8859_2_cs extends CharsetRecog_8859_2
-    {
-        private static int[] ngrams = {
-            0x206120, 0x206279, 0x20646F, 0x206A65, 0x206E61, 0x206E65, 0x206F20, 0x206F64, 0x20706F, 0x207072, 0x2070F8, 0x20726F, 0x207365, 0x20736F, 0x207374, 0x20746F, 
-            0x207620, 0x207679, 0x207A61, 0x612070, 0x636520, 0x636820, 0x652070, 0x652073, 0x652076, 0x656D20, 0x656EED, 0x686F20, 0x686F64, 0x697374, 0x6A6520, 0x6B7465, 
-            0x6C6520, 0x6C6920, 0x6E6120, 0x6EE920, 0x6EEC20, 0x6EED20, 0x6F2070, 0x6F646E, 0x6F6A69, 0x6F7374, 0x6F7520, 0x6F7661, 0x706F64, 0x706F6A, 0x70726F, 0x70F865, 
-            0x736520, 0x736F75, 0x737461, 0x737469, 0x73746E, 0x746572, 0x746EED, 0x746F20, 0x752070, 0xBE6520, 0xE16EED, 0xE9686F, 0xED2070, 0xED2073, 0xED6D20, 0xF86564, 
-        };
-
-        public String getLanguage()
-        {
-            return "cs";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    static class CharsetRecog_8859_2_hu extends CharsetRecog_8859_2
-    {
-        private static int[] ngrams = {
-            0x206120, 0x20617A, 0x206265, 0x206567, 0x20656C, 0x206665, 0x206861, 0x20686F, 0x206973, 0x206B65, 0x206B69, 0x206BF6, 0x206C65, 0x206D61, 0x206D65, 0x206D69, 
-            0x206E65, 0x20737A, 0x207465, 0x20E973, 0x612061, 0x61206B, 0x61206D, 0x612073, 0x616B20, 0x616E20, 0x617A20, 0x62616E, 0x62656E, 0x656779, 0x656B20, 0x656C20, 
-            0x656C65, 0x656D20, 0x656E20, 0x657265, 0x657420, 0x657465, 0x657474, 0x677920, 0x686F67, 0x696E74, 0x697320, 0x6B2061, 0x6BF67A, 0x6D6567, 0x6D696E, 0x6E2061, 
-            0x6E616B, 0x6E656B, 0x6E656D, 0x6E7420, 0x6F6779, 0x732061, 0x737A65, 0x737A74, 0x737AE1, 0x73E967, 0x742061, 0x747420, 0x74E173, 0x7A6572, 0xE16E20, 0xE97320, 
-        };
-
-        public String getLanguage()
-        {
-            return "hu";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    static class CharsetRecog_8859_2_pl extends CharsetRecog_8859_2
-    {
-        private static int[] ngrams = {
-            0x20637A, 0x20646F, 0x206920, 0x206A65, 0x206B6F, 0x206D61, 0x206D69, 0x206E61, 0x206E69, 0x206F64, 0x20706F, 0x207072, 0x207369, 0x207720, 0x207769, 0x207779, 
-            0x207A20, 0x207A61, 0x612070, 0x612077, 0x616E69, 0x636820, 0x637A65, 0x637A79, 0x646F20, 0x647A69, 0x652070, 0x652073, 0x652077, 0x65207A, 0x65676F, 0x656A20, 
-            0x656D20, 0x656E69, 0x676F20, 0x696120, 0x696520, 0x69656A, 0x6B6120, 0x6B6920, 0x6B6965, 0x6D6965, 0x6E6120, 0x6E6961, 0x6E6965, 0x6F2070, 0x6F7761, 0x6F7769, 
-            0x706F6C, 0x707261, 0x70726F, 0x70727A, 0x727A65, 0x727A79, 0x7369EA, 0x736B69, 0x737461, 0x776965, 0x796368, 0x796D20, 0x7A6520, 0x7A6965, 0x7A7920, 0xF37720, 
-        };
-
-        public String getLanguage()
-        {
-            return "pl";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    static class CharsetRecog_8859_2_ro extends CharsetRecog_8859_2
-    {
-        private static int[] ngrams = {
-            0x206120, 0x206163, 0x206361, 0x206365, 0x20636F, 0x206375, 0x206465, 0x206469, 0x206C61, 0x206D61, 0x207065, 0x207072, 0x207365, 0x2073E3, 0x20756E, 0x20BA69, 
-            0x20EE6E, 0x612063, 0x612064, 0x617265, 0x617420, 0x617465, 0x617520, 0x636172, 0x636F6E, 0x637520, 0x63E320, 0x646520, 0x652061, 0x652063, 0x652064, 0x652070, 
-            0x652073, 0x656120, 0x656920, 0x656C65, 0x656E74, 0x657374, 0x692061, 0x692063, 0x692064, 0x692070, 0x696520, 0x696920, 0x696E20, 0x6C6120, 0x6C6520, 0x6C6F72, 
-            0x6C7569, 0x6E6520, 0x6E7472, 0x6F7220, 0x70656E, 0x726520, 0x726561, 0x727520, 0x73E320, 0x746520, 0x747275, 0x74E320, 0x756920, 0x756C20, 0xBA6920, 0xEE6E20, 
-        };
-
-        public String getLanguage()
-        {
-            return "ro";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    abstract static class CharsetRecog_8859_5 extends CharsetRecog_sbcs
-    {
-        protected static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0x20, (byte) 0xFE, (byte) 0xFF, 
-            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7, 
-            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDB, (byte) 0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7, 
-            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDB, (byte) 0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0x20, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0x20, (byte) 0xFE, (byte) 0xFF, 
-        };
-
-        public String getName()
-        {
-            return "ISO-8859-5";
-        }
-    }
-    
-    static class CharsetRecog_8859_5_ru extends CharsetRecog_8859_5
-    {
-        private static int[] ngrams = {
-            0x20D220, 0x20D2DE, 0x20D4DE, 0x20D7D0, 0x20D820, 0x20DAD0, 0x20DADE, 0x20DDD0, 0x20DDD5, 0x20DED1, 0x20DFDE, 0x20DFE0, 0x20E0D0, 0x20E1DE, 0x20E1E2, 0x20E2DE, 
-            0x20E7E2, 0x20EDE2, 0xD0DDD8, 0xD0E2EC, 0xD3DE20, 0xD5DBEC, 0xD5DDD8, 0xD5E1E2, 0xD5E220, 0xD820DF, 0xD8D520, 0xD8D820, 0xD8EF20, 0xDBD5DD, 0xDBD820, 0xDBECDD, 
-            0xDDD020, 0xDDD520, 0xDDD8D5, 0xDDD8EF, 0xDDDE20, 0xDDDED2, 0xDE20D2, 0xDE20DF, 0xDE20E1, 0xDED220, 0xDED2D0, 0xDED3DE, 0xDED920, 0xDEDBEC, 0xDEDC20, 0xDEE1E2, 
-            0xDFDEDB, 0xDFE0D5, 0xDFE0D8, 0xDFE0DE, 0xE0D0D2, 0xE0D5D4, 0xE1E2D0, 0xE1E2D2, 0xE1E2D8, 0xE1EF20, 0xE2D5DB, 0xE2DE20, 0xE2DEE0, 0xE2EC20, 0xE7E2DE, 0xEBE520, 
-        };
-
-        public String getLanguage()
-        {
-            return "ru";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    abstract static class CharsetRecog_8859_6 extends CharsetRecog_sbcs
-    {
-        protected static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0xC1, (byte) 0xC2, (byte) 0xC3, (byte) 0xC4, (byte) 0xC5, (byte) 0xC6, (byte) 0xC7, 
-            (byte) 0xC8, (byte) 0xC9, (byte) 0xCA, (byte) 0xCB, (byte) 0xCC, (byte) 0xCD, (byte) 0xCE, (byte) 0xCF, 
-            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7, 
-            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-        };
-
-        public String getName()
-        {
-            return "ISO-8859-6";
-        }
-    }
-    
-    static class CharsetRecog_8859_6_ar extends CharsetRecog_8859_6
-    {
-        private static int[] ngrams = {
-            0x20C7E4, 0x20C7E6, 0x20C8C7, 0x20D9E4, 0x20E1EA, 0x20E4E4, 0x20E5E6, 0x20E8C7, 0xC720C7, 0xC7C120, 0xC7CA20, 0xC7D120, 0xC7E420, 0xC7E4C3, 0xC7E4C7, 0xC7E4C8, 
-            0xC7E4CA, 0xC7E4CC, 0xC7E4CD, 0xC7E4CF, 0xC7E4D3, 0xC7E4D9, 0xC7E4E2, 0xC7E4E5, 0xC7E4E8, 0xC7E4EA, 0xC7E520, 0xC7E620, 0xC7E6CA, 0xC820C7, 0xC920C7, 0xC920E1, 
-            0xC920E4, 0xC920E5, 0xC920E8, 0xCA20C7, 0xCF20C7, 0xCFC920, 0xD120C7, 0xD1C920, 0xD320C7, 0xD920C7, 0xD9E4E9, 0xE1EA20, 0xE420C7, 0xE4C920, 0xE4E920, 0xE4EA20, 
-            0xE520C7, 0xE5C720, 0xE5C920, 0xE5E620, 0xE620C7, 0xE720C7, 0xE7C720, 0xE8C7E4, 0xE8E620, 0xE920C7, 0xEA20C7, 0xEA20E5, 0xEA20E8, 0xEAC920, 0xEAD120, 0xEAE620, 
-        };
-
-        public String getLanguage()
-        {
-            return "ar";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    abstract static class CharsetRecog_8859_7 extends CharsetRecog_sbcs
-    {
-        protected static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0xA1, (byte) 0xA2, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xDC, (byte) 0x20, 
-            (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, (byte) 0x20, (byte) 0xFC, (byte) 0x20, (byte) 0xFD, (byte) 0xFE, 
-            (byte) 0xC0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0x20, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0x20, 
-        };
-
-        public String getName()
-        {
-            return haveC1Bytes? "windows-1253" : "ISO-8859-7";
-        }
-    }
-    
-    static class CharsetRecog_8859_7_el extends CharsetRecog_8859_7
-    {
-        private static int[] ngrams = {
-            0x20E1ED, 0x20E1F0, 0x20E3E9, 0x20E4E9, 0x20E5F0, 0x20E720, 0x20EAE1, 0x20ECE5, 0x20EDE1, 0x20EF20, 0x20F0E1, 0x20F0EF, 0x20F0F1, 0x20F3F4, 0x20F3F5, 0x20F4E7, 
-            0x20F4EF, 0xDFE120, 0xE120E1, 0xE120F4, 0xE1E920, 0xE1ED20, 0xE1F0FC, 0xE1F220, 0xE3E9E1, 0xE5E920, 0xE5F220, 0xE720F4, 0xE7ED20, 0xE7F220, 0xE920F4, 0xE9E120, 
-            0xE9EADE, 0xE9F220, 0xEAE1E9, 0xEAE1F4, 0xECE520, 0xED20E1, 0xED20E5, 0xED20F0, 0xEDE120, 0xEFF220, 0xEFF520, 0xF0EFF5, 0xF0F1EF, 0xF0FC20, 0xF220E1, 0xF220E5, 
-            0xF220EA, 0xF220F0, 0xF220F4, 0xF3E520, 0xF3E720, 0xF3F4EF, 0xF4E120, 0xF4E1E9, 0xF4E7ED, 0xF4E7F2, 0xF4E9EA, 0xF4EF20, 0xF4EFF5, 0xF4F9ED, 0xF9ED20, 0xFEED20, 
-        };
-
-        public String getLanguage()
-        {
-            return "el";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    abstract static class CharsetRecog_8859_8 extends CharsetRecog_sbcs
-    {
-        protected static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xB5, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-        };
-
-        public String getName()
-        {
-            return haveC1Bytes? "windows-1255" : "ISO-8859-8";
-        }
-    }
-    
-    static class CharsetRecog_8859_8_I_he extends CharsetRecog_8859_8
-    {
-        private static int[] ngrams = {
-            0x20E0E5, 0x20E0E7, 0x20E0E9, 0x20E0FA, 0x20E1E9, 0x20E1EE, 0x20E4E0, 0x20E4E5, 0x20E4E9, 0x20E4EE, 0x20E4F2, 0x20E4F9, 0x20E4FA, 0x20ECE0, 0x20ECE4, 0x20EEE0, 
-            0x20F2EC, 0x20F9EC, 0xE0FA20, 0xE420E0, 0xE420E1, 0xE420E4, 0xE420EC, 0xE420EE, 0xE420F9, 0xE4E5E0, 0xE5E020, 0xE5ED20, 0xE5EF20, 0xE5F820, 0xE5FA20, 0xE920E4, 
-            0xE9E420, 0xE9E5FA, 0xE9E9ED, 0xE9ED20, 0xE9EF20, 0xE9F820, 0xE9FA20, 0xEC20E0, 0xEC20E4, 0xECE020, 0xECE420, 0xED20E0, 0xED20E1, 0xED20E4, 0xED20EC, 0xED20EE, 
-            0xED20F9, 0xEEE420, 0xEF20E4, 0xF0E420, 0xF0E920, 0xF0E9ED, 0xF2EC20, 0xF820E4, 0xF8E9ED, 0xF9EC20, 0xFA20E0, 0xFA20E1, 0xFA20E4, 0xFA20EC, 0xFA20EE, 0xFA20F9, 
-        };
-
-        public String getName()
-        {
-            return haveC1Bytes? "windows-1255" : /*"ISO-8859-8-I"*/ "ISO-8859-8";
-        }
-
-        public String getLanguage()
-        {
-            return "he";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    static class CharsetRecog_8859_8_he extends CharsetRecog_8859_8
-    {
-        private static int[] ngrams = {
-            0x20E0E5, 0x20E0EC, 0x20E4E9, 0x20E4EC, 0x20E4EE, 0x20E4F0, 0x20E9F0, 0x20ECF2, 0x20ECF9, 0x20EDE5, 0x20EDE9, 0x20EFE5, 0x20EFE9, 0x20F8E5, 0x20F8E9, 0x20FAE0, 
-            0x20FAE5, 0x20FAE9, 0xE020E4, 0xE020EC, 0xE020ED, 0xE020FA, 0xE0E420, 0xE0E5E4, 0xE0EC20, 0xE0EE20, 0xE120E4, 0xE120ED, 0xE120FA, 0xE420E4, 0xE420E9, 0xE420EC, 
-            0xE420ED, 0xE420EF, 0xE420F8, 0xE420FA, 0xE4EC20, 0xE5E020, 0xE5E420, 0xE7E020, 0xE9E020, 0xE9E120, 0xE9E420, 0xEC20E4, 0xEC20ED, 0xEC20FA, 0xECF220, 0xECF920, 
-            0xEDE9E9, 0xEDE9F0, 0xEDE9F8, 0xEE20E4, 0xEE20ED, 0xEE20FA, 0xEEE120, 0xEEE420, 0xF2E420, 0xF920E4, 0xF920ED, 0xF920FA, 0xF9E420, 0xFAE020, 0xFAE420, 0xFAE5E9, 
-        };
-
-        public String getLanguage()
-        {
-            return "he";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    abstract static class CharsetRecog_8859_9 extends CharsetRecog_sbcs
-    {
-        protected static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0xAA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xB5, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0xBA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0x20, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0x69, (byte) 0xFE, (byte) 0xDF, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0x20, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xFF, 
-        };
-
-        public String getName()
-        {
-            return haveC1Bytes? "windows-1254" : "ISO-8859-9";
-        }
-    }
-    
-    static class CharsetRecog_8859_9_tr extends CharsetRecog_8859_9
-    {
-        private static int[] ngrams = {
-            0x206261, 0x206269, 0x206275, 0x206461, 0x206465, 0x206765, 0x206861, 0x20696C, 0x206B61, 0x206B6F, 0x206D61, 0x206F6C, 0x207361, 0x207461, 0x207665, 0x207961, 
-            0x612062, 0x616B20, 0x616C61, 0x616D61, 0x616E20, 0x616EFD, 0x617220, 0x617261, 0x6172FD, 0x6173FD, 0x617961, 0x626972, 0x646120, 0x646520, 0x646920, 0x652062, 
-            0x65206B, 0x656469, 0x656E20, 0x657220, 0x657269, 0x657369, 0x696C65, 0x696E20, 0x696E69, 0x697220, 0x6C616E, 0x6C6172, 0x6C6520, 0x6C6572, 0x6E2061, 0x6E2062, 
-            0x6E206B, 0x6E6461, 0x6E6465, 0x6E6520, 0x6E6920, 0x6E696E, 0x6EFD20, 0x72696E, 0x72FD6E, 0x766520, 0x796120, 0x796F72, 0xFD6E20, 0xFD6E64, 0xFD6EFD, 0xFDF0FD, 
-        };
-
-        public String getLanguage()
-        {
-            return "tr";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    static class CharsetRecog_windows_1251 extends CharsetRecog_sbcs
-    {
-        private static int[] ngrams = {
-            0x20E220, 0x20E2EE, 0x20E4EE, 0x20E7E0, 0x20E820, 0x20EAE0, 0x20EAEE, 0x20EDE0, 0x20EDE5, 0x20EEE1, 0x20EFEE, 0x20EFF0, 0x20F0E0, 0x20F1EE, 0x20F1F2, 0x20F2EE, 
-            0x20F7F2, 0x20FDF2, 0xE0EDE8, 0xE0F2FC, 0xE3EE20, 0xE5EBFC, 0xE5EDE8, 0xE5F1F2, 0xE5F220, 0xE820EF, 0xE8E520, 0xE8E820, 0xE8FF20, 0xEBE5ED, 0xEBE820, 0xEBFCED, 
-            0xEDE020, 0xEDE520, 0xEDE8E5, 0xEDE8FF, 0xEDEE20, 0xEDEEE2, 0xEE20E2, 0xEE20EF, 0xEE20F1, 0xEEE220, 0xEEE2E0, 0xEEE3EE, 0xEEE920, 0xEEEBFC, 0xEEEC20, 0xEEF1F2, 
-            0xEFEEEB, 0xEFF0E5, 0xEFF0E8, 0xEFF0EE, 0xF0E0E2, 0xF0E5E4, 0xF1F2E0, 0xF1F2E2, 0xF1F2E8, 0xF1FF20, 0xF2E5EB, 0xF2EE20, 0xF2EEF0, 0xF2FC20, 0xF7F2EE, 0xFBF520, 
-        };
-
-        private static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x90, (byte) 0x83, (byte) 0x20, (byte) 0x83, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x9A, (byte) 0x20, (byte) 0x9C, (byte) 0x9D, (byte) 0x9E, (byte) 0x9F, 
-            (byte) 0x90, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x9A, (byte) 0x20, (byte) 0x9C, (byte) 0x9D, (byte) 0x9E, (byte) 0x9F, 
-            (byte) 0x20, (byte) 0xA2, (byte) 0xA2, (byte) 0xBC, (byte) 0x20, (byte) 0xB4, (byte) 0x20, (byte) 0x20, 
-            (byte) 0xB8, (byte) 0x20, (byte) 0xBA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xBF, 
-            (byte) 0x20, (byte) 0x20, (byte) 0xB3, (byte) 0xB3, (byte) 0xB4, (byte) 0xB5, (byte) 0x20, (byte) 0x20, 
-            (byte) 0xB8, (byte) 0x20, (byte) 0xBA, (byte) 0x20, (byte) 0xBC, (byte) 0xBE, (byte) 0xBE, (byte) 0xBF, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xFF, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xFF, 
-        };
-
-        public String getName()
-        {
-            return  "windows-1251";
-        }
-        
-        public String getLanguage()
-        {
-            return "ru";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-
-    static class CharsetRecog_IBM866_ru extends CharsetRecog_sbcs
-    {
-        private static int[] ngrams = {
-            0x20E220, 0x20E2EE, 0x20E4EE, 0x20E7E0, 0x20E820, 0x20EAE0, 0x20EAEE, 0x20EDE0, 0x20EDE5, 0x20EEE1, 0x20EFEE, 0x20EFF0, 0x20F0E0, 0x20F1EE, 0x20F1F2, 0x20F2EE,
-            0x20F7F2, 0x20FDF2, 0xE0EDE8, 0xE0F2FC, 0xE3EE20, 0xE5EBFC, 0xE5EDE8, 0xE5F1F2, 0xE5F220, 0xE820EF, 0xE8E520, 0xE8E820, 0xE8FF20, 0xEBE5ED, 0xEBE820, 0xEBFCED,
-            0xEDE020, 0xEDE520, 0xEDE8E5, 0xEDE8FF, 0xEDEE20, 0xEDEEE2, 0xEE20E2, 0xEE20EF, 0xEE20F1, 0xEEE220, 0xEEE2E0, 0xEEE3EE, 0xEEE920, 0xEEEBFC, 0xEEEC20, 0xEEF1F2,
-            0xEFEEEB, 0xEFF0E5, 0xEFF0E8, 0xEFF0EE, 0xF0E0E2, 0xF0E5E4, 0xF1F2E0, 0xF1F2E2, 0xF1F2E8, 0xF1FF20, 0xF2E5EB, 0xF2EE20, 0xF2EEF0, 0xF2FC20, 0xF7F2EE, 0xFBF520,
-        };
-
-        // bytemap converts cp866 chars to cp1251 chars, so ngrams are still unchanged
-        private static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00,
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67,
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F,
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77,
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67,
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F,
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77,
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7,
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF,
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7,
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xFF,
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7,
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF,
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7,
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xFF,
-            (byte) 0xB8, (byte) 0xB8, (byte) 0xBA, (byte) 0xBA, (byte) 0xBF, (byte) 0xBF, (byte) 0xA2, (byte) 0xA2,
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
-        };
-
-        public String getName()
-        {
-            return  "IBM866";
-        }
-
-        public String getLanguage()
-        {
-            return "ru";
-        }
-
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-
-    static class CharsetRecog_windows_1256 extends CharsetRecog_sbcs
-    {
-        private static int[] ngrams = {
-            0x20C7E1, 0x20C7E4, 0x20C8C7, 0x20DAE1, 0x20DDED, 0x20E1E1, 0x20E3E4, 0x20E6C7, 0xC720C7, 0xC7C120, 0xC7CA20, 0xC7D120, 0xC7E120, 0xC7E1C3, 0xC7E1C7, 0xC7E1C8, 
-            0xC7E1CA, 0xC7E1CC, 0xC7E1CD, 0xC7E1CF, 0xC7E1D3, 0xC7E1DA, 0xC7E1DE, 0xC7E1E3, 0xC7E1E6, 0xC7E1ED, 0xC7E320, 0xC7E420, 0xC7E4CA, 0xC820C7, 0xC920C7, 0xC920DD, 
-            0xC920E1, 0xC920E3, 0xC920E6, 0xCA20C7, 0xCF20C7, 0xCFC920, 0xD120C7, 0xD1C920, 0xD320C7, 0xDA20C7, 0xDAE1EC, 0xDDED20, 0xE120C7, 0xE1C920, 0xE1EC20, 0xE1ED20, 
-            0xE320C7, 0xE3C720, 0xE3C920, 0xE3E420, 0xE420C7, 0xE520C7, 0xE5C720, 0xE6C7E1, 0xE6E420, 0xEC20C7, 0xED20C7, 0xED20E3, 0xED20E6, 0xEDC920, 0xEDD120, 0xEDE420, 
-        };
-
-        private static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x81, (byte) 0x20, (byte) 0x83, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x88, (byte) 0x20, (byte) 0x8A, (byte) 0x20, (byte) 0x9C, (byte) 0x8D, (byte) 0x8E, (byte) 0x8F, 
-            (byte) 0x90, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x98, (byte) 0x20, (byte) 0x9A, (byte) 0x20, (byte) 0x9C, (byte) 0x20, (byte) 0x20, (byte) 0x9F, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0xAA, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xB5, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0xC0, (byte) 0xC1, (byte) 0xC2, (byte) 0xC3, (byte) 0xC4, (byte) 0xC5, (byte) 0xC6, (byte) 0xC7, 
-            (byte) 0xC8, (byte) 0xC9, (byte) 0xCA, (byte) 0xCB, (byte) 0xCC, (byte) 0xCD, (byte) 0xCE, (byte) 0xCF, 
-            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0x20, 
-            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDB, (byte) 0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xF4, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0xF9, (byte) 0x20, (byte) 0xFB, (byte) 0xFC, (byte) 0x20, (byte) 0x20, (byte) 0xFF, 
-        };
-
-        public String getName()
-        {
-            return  "windows-1256";
-        }
-        
-        public String getLanguage()
-        {
-            return "ar";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-        
-    static class CharsetRecog_KOI8_R extends CharsetRecog_sbcs
-    {
-        private static int[] ngrams = {
-            0x20C4CF, 0x20C920, 0x20CBC1, 0x20CBCF, 0x20CEC1, 0x20CEC5, 0x20CFC2, 0x20D0CF, 0x20D0D2, 0x20D2C1, 0x20D3CF, 0x20D3D4, 0x20D4CF, 0x20D720, 0x20D7CF, 0x20DAC1, 
-            0x20DCD4, 0x20DED4, 0xC1CEC9, 0xC1D4D8, 0xC5CCD8, 0xC5CEC9, 0xC5D3D4, 0xC5D420, 0xC7CF20, 0xC920D0, 0xC9C520, 0xC9C920, 0xC9D120, 0xCCC5CE, 0xCCC920, 0xCCD8CE, 
-            0xCEC120, 0xCEC520, 0xCEC9C5, 0xCEC9D1, 0xCECF20, 0xCECFD7, 0xCF20D0, 0xCF20D3, 0xCF20D7, 0xCFC7CF, 0xCFCA20, 0xCFCCD8, 0xCFCD20, 0xCFD3D4, 0xCFD720, 0xCFD7C1, 
-            0xD0CFCC, 0xD0D2C5, 0xD0D2C9, 0xD0D2CF, 0xD2C1D7, 0xD2C5C4, 0xD3D120, 0xD3D4C1, 0xD3D4C9, 0xD3D4D7, 0xD4C5CC, 0xD4CF20, 0xD4CFD2, 0xD4D820, 0xD9C820, 0xDED4CF, 
-        };
-
-        private static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xA3, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xA3, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0xC0, (byte) 0xC1, (byte) 0xC2, (byte) 0xC3, (byte) 0xC4, (byte) 0xC5, (byte) 0xC6, (byte) 0xC7, 
-            (byte) 0xC8, (byte) 0xC9, (byte) 0xCA, (byte) 0xCB, (byte) 0xCC, (byte) 0xCD, (byte) 0xCE, (byte) 0xCF, 
-            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7, 
-            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDB, (byte) 0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
-            (byte) 0xC0, (byte) 0xC1, (byte) 0xC2, (byte) 0xC3, (byte) 0xC4, (byte) 0xC5, (byte) 0xC6, (byte) 0xC7, 
-            (byte) 0xC8, (byte) 0xC9, (byte) 0xCA, (byte) 0xCB, (byte) 0xCC, (byte) 0xCD, (byte) 0xCE, (byte) 0xCF, 
-            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7, 
-            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDB, (byte) 0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
-        };
-        
-        public String getName()
-        {
-            return  "KOI8-R";
-        }
-        
-        public String getLanguage()
-        {
-            return "ru";
-        }
-        
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap);
-        }
-    }
-    
-    abstract static class CharsetRecog_IBM424_he extends CharsetRecog_sbcs
-    {
-        protected static byte[] byteMap = {
-/*                 -0           -1           -2           -3           -4           -5           -6           -7           -8           -9           -A           -B           -C           -D           -E           -F   */
-/* 0- */    (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 1- */    (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 2- */    (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 3- */    (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 4- */    (byte) 0x40, (byte) 0x41, (byte) 0x42, (byte) 0x43, (byte) 0x44, (byte) 0x45, (byte) 0x46, (byte) 0x47, (byte) 0x48, (byte) 0x49, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 5- */    (byte) 0x40, (byte) 0x51, (byte) 0x52, (byte) 0x53, (byte) 0x54, (byte) 0x55, (byte) 0x56, (byte) 0x57, (byte) 0x58, (byte) 0x59, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 6- */    (byte) 0x40, (byte) 0x40, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, (byte) 0x68, (byte) 0x69, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 7- */    (byte) 0x40, (byte) 0x71, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x00, (byte) 0x40, (byte) 0x40, 
-/* 8- */    (byte) 0x40, (byte) 0x81, (byte) 0x82, (byte) 0x83, (byte) 0x84, (byte) 0x85, (byte) 0x86, (byte) 0x87, (byte) 0x88, (byte) 0x89, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 9- */    (byte) 0x40, (byte) 0x91, (byte) 0x92, (byte) 0x93, (byte) 0x94, (byte) 0x95, (byte) 0x96, (byte) 0x97, (byte) 0x98, (byte) 0x99, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* A- */    (byte) 0xA0, (byte) 0x40, (byte) 0xA2, (byte) 0xA3, (byte) 0xA4, (byte) 0xA5, (byte) 0xA6, (byte) 0xA7, (byte) 0xA8, (byte) 0xA9, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* B- */    (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* C- */    (byte) 0x40, (byte) 0x81, (byte) 0x82, (byte) 0x83, (byte) 0x84, (byte) 0x85, (byte) 0x86, (byte) 0x87, (byte) 0x88, (byte) 0x89, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* D- */    (byte) 0x40, (byte) 0x91, (byte) 0x92, (byte) 0x93, (byte) 0x94, (byte) 0x95, (byte) 0x96, (byte) 0x97, (byte) 0x98, (byte) 0x99, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* E- */    (byte) 0x40, (byte) 0x40, (byte) 0xA2, (byte) 0xA3, (byte) 0xA4, (byte) 0xA5, (byte) 0xA6, (byte) 0xA7, (byte) 0xA8, (byte) 0xA9, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* F- */    (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-        };
-
-        public String getLanguage()
-        {
-            return "he";
-        }
-    }
-    static class CharsetRecog_IBM424_he_rtl extends CharsetRecog_IBM424_he 
-    {
-        public String getName()
-        {
-            return "IBM424_rtl";
-        }
-        private static int[] ngrams = {
-            0x404146, 0x404148, 0x404151, 0x404171, 0x404251, 0x404256, 0x404541, 0x404546, 0x404551, 0x404556, 0x404562, 0x404569, 0x404571, 0x405441, 0x405445, 0x405641, 
-            0x406254, 0x406954, 0x417140, 0x454041, 0x454042, 0x454045, 0x454054, 0x454056, 0x454069, 0x454641, 0x464140, 0x465540, 0x465740, 0x466840, 0x467140, 0x514045, 
-            0x514540, 0x514671, 0x515155, 0x515540, 0x515740, 0x516840, 0x517140, 0x544041, 0x544045, 0x544140, 0x544540, 0x554041, 0x554042, 0x554045, 0x554054, 0x554056, 
-            0x554069, 0x564540, 0x574045, 0x584540, 0x585140, 0x585155, 0x625440, 0x684045, 0x685155, 0x695440, 0x714041, 0x714042, 0x714045, 0x714054, 0x714056, 0x714069, 
-        };
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap, (byte)0x40);
-        }
-    }
-    static class CharsetRecog_IBM424_he_ltr extends CharsetRecog_IBM424_he 
-    {
-        public String getName()
-        {
-            return "IBM424_ltr";
-        }
-        private static int[] ngrams = {
-            0x404146, 0x404154, 0x404551, 0x404554, 0x404556, 0x404558, 0x405158, 0x405462, 0x405469, 0x405546, 0x405551, 0x405746, 0x405751, 0x406846, 0x406851, 0x407141,
-            0x407146, 0x407151, 0x414045, 0x414054, 0x414055, 0x414071, 0x414540, 0x414645, 0x415440, 0x415640, 0x424045, 0x424055, 0x424071, 0x454045, 0x454051, 0x454054,
-            0x454055, 0x454057, 0x454068, 0x454071, 0x455440, 0x464140, 0x464540, 0x484140, 0x514140, 0x514240, 0x514540, 0x544045, 0x544055, 0x544071, 0x546240, 0x546940,
-            0x555151, 0x555158, 0x555168, 0x564045, 0x564055, 0x564071, 0x564240, 0x564540, 0x624540, 0x694045, 0x694055, 0x694071, 0x694540, 0x714140, 0x714540, 0x714651
-
-        };
-        public int match(CharsetDetector det)
-        {
-            return match(det, ngrams, byteMap, (byte)0x40);
-        }
-    }
-    
-    abstract static class CharsetRecog_IBM420_ar extends CharsetRecog_sbcs
-    {
-        //arabic shaping class, method shape/unshape
-        //protected static ArabicShaping as = new ArabicShaping(ArabicShaping.LETTERS_UNSHAPE);
-        protected byte[] prev_fInputBytes = null;
-
-        protected static byte[] byteMap = {
-/*                 -0           -1           -2           -3           -4           -5           -6           -7           -8           -9           -A           -B           -C           -D           -E           -F   */
-/* 0- */    (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 1- */    (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 2- */    (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 3- */    (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 4- */    (byte) 0x40, (byte) 0x40, (byte) 0x42, (byte) 0x43, (byte) 0x44, (byte) 0x45, (byte) 0x46, (byte) 0x47, (byte) 0x48, (byte) 0x49, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 5- */    (byte) 0x40, (byte) 0x51, (byte) 0x52, (byte) 0x40, (byte) 0x40, (byte) 0x55, (byte) 0x56, (byte) 0x57, (byte) 0x58, (byte) 0x59, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 6- */    (byte) 0x40, (byte) 0x40, (byte) 0x62, (byte) 0x63, (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, (byte) 0x68, (byte) 0x69, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 7- */    (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, (byte) 0x78, (byte) 0x79, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 8- */    (byte) 0x80, (byte) 0x81, (byte) 0x82, (byte) 0x83, (byte) 0x84, (byte) 0x85, (byte) 0x86, (byte) 0x87, (byte) 0x88, (byte) 0x89, (byte) 0x8A, (byte) 0x8B, (byte) 0x8C, (byte) 0x8D, (byte) 0x8E, (byte) 0x8F, 
-/* 9- */    (byte) 0x90, (byte) 0x91, (byte) 0x92, (byte) 0x93, (byte) 0x94, (byte) 0x95, (byte) 0x96, (byte) 0x97, (byte) 0x98, (byte) 0x99, (byte) 0x9A, (byte) 0x9B, (byte) 0x9C, (byte) 0x9D, (byte) 0x9E, (byte) 0x9F, 
-/* A- */    (byte) 0xA0, (byte) 0x40, (byte) 0xA2, (byte) 0xA3, (byte) 0xA4, (byte) 0xA5, (byte) 0xA6, (byte) 0xA7, (byte) 0xA8, (byte) 0xA9, (byte) 0xAA, (byte) 0xAB, (byte) 0xAC, (byte) 0xAD, (byte) 0xAE, (byte) 0xAF, 
-/* B- */    (byte) 0xB0, (byte) 0xB1, (byte) 0xB2, (byte) 0xB3, (byte) 0xB4, (byte) 0xB5, (byte) 0x40, (byte) 0x40, (byte) 0xB8, (byte) 0xB9, (byte) 0xBA, (byte) 0xBB, (byte) 0xBC, (byte) 0xBD, (byte) 0xBE, (byte) 0xBF, 
-/* C- */    (byte) 0x40, (byte) 0x81, (byte) 0x82, (byte) 0x83, (byte) 0x84, (byte) 0x85, (byte) 0x86, (byte) 0x87, (byte) 0x88, (byte) 0x89, (byte) 0x40, (byte) 0xCB, (byte) 0x40, (byte) 0xCD, (byte) 0x40, (byte) 0xCF, 
-/* D- */    (byte) 0x40, (byte) 0x91, (byte) 0x92, (byte) 0x93, (byte) 0x94, (byte) 0x95, (byte) 0x96, (byte) 0x97, (byte) 0x98, (byte) 0x99, (byte) 0xDA, (byte) 0xDB, (byte) 0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
-/* E- */    (byte) 0x40, (byte) 0x40, (byte) 0xA2, (byte) 0xA3, (byte) 0xA4, (byte) 0xA5, (byte) 0xA6, (byte) 0xA7, (byte) 0xA8, (byte) 0xA9, (byte) 0xEA, (byte) 0xEB, (byte) 0x40, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-/* F- */    (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0x40, 
-        };
-        
-        protected static byte[] unshapeMap = {
-/*                 -0           -1           -2           -3           -4           -5           -6           -7           -8           -9           -A           -B           -C           -D           -E           -F   */
-/* 0- */    (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 1- */    (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 2- */    (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 3- */    (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, (byte) 0x40, 
-/* 4- */    (byte) 0x40, (byte) 0x40, (byte) 0x42, (byte) 0x42, (byte) 0x44, (byte) 0x45, (byte) 0x46, (byte) 0x47, (byte) 0x47, (byte) 0x49, (byte) 0x4A, (byte) 0x4B, (byte) 0x4C, (byte) 0x4D, (byte) 0x4E, (byte) 0x4F, 
-/* 5- */    (byte) 0x50, (byte) 0x49, (byte) 0x52, (byte) 0x53, (byte) 0x54, (byte) 0x55, (byte) 0x56, (byte) 0x56, (byte) 0x58, (byte) 0x58, (byte) 0x5A, (byte) 0x5B, (byte) 0x5C, (byte) 0x5D, (byte) 0x5E, (byte) 0x5F, 
-/* 6- */    (byte) 0x60, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x63, (byte) 0x65, (byte) 0x65, (byte) 0x67, (byte) 0x67, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-/* 7- */    (byte) 0x69, (byte) 0x71, (byte) 0x71, (byte) 0x73, (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, (byte) 0x77, (byte) 0x79, (byte) 0x7A, (byte) 0x7B, (byte) 0x7C, (byte) 0x7D, (byte) 0x7E, (byte) 0x7F, 
-/* 8- */    (byte) 0x80, (byte) 0x81, (byte) 0x82, (byte) 0x83, (byte) 0x84, (byte) 0x85, (byte) 0x86, (byte) 0x87, (byte) 0x88, (byte) 0x89, (byte) 0x80, (byte) 0x8B, (byte) 0x8B, (byte) 0x8D, (byte) 0x8D, (byte) 0x8F, 
-/* 9- */    (byte) 0x90, (byte) 0x91, (byte) 0x92, (byte) 0x93, (byte) 0x94, (byte) 0x95, (byte) 0x96, (byte) 0x97, (byte) 0x98, (byte) 0x99, (byte) 0x9A, (byte) 0x9A, (byte) 0x9A, (byte) 0x9A, (byte) 0x9E, (byte) 0x9E, 
-/* A- */    (byte) 0x9E, (byte) 0xA1, (byte) 0xA2, (byte) 0xA3, (byte) 0xA4, (byte) 0xA5, (byte) 0xA6, (byte) 0xA7, (byte) 0xA8, (byte) 0xA9, (byte) 0x9E, (byte) 0xAB, (byte) 0xAB, (byte) 0xAD, (byte) 0xAD, (byte) 0xAF, 
-/* B- */    (byte) 0xAF, (byte) 0xB1, (byte) 0xB2, (byte) 0xB3, (byte) 0xB4, (byte) 0xB5, (byte) 0xB6, (byte) 0xB7, (byte) 0xB8, (byte) 0xB9, (byte) 0xB1, (byte) 0xBB, (byte) 0xBB, (byte) 0xBD, (byte) 0xBD, (byte) 0xBF, 
-/* C- */    (byte) 0xC0, (byte) 0xC1, (byte) 0xC2, (byte) 0xC3, (byte) 0xC4, (byte) 0xC5, (byte) 0xC6, (byte) 0xC7, (byte) 0xC8, (byte) 0xC9, (byte) 0xCA, (byte) 0xBF, (byte) 0xCC, (byte) 0xBF, (byte) 0xCE, (byte) 0xCF, 
-/* D- */    (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7, (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDA, (byte) 0xDC, (byte) 0xDC, (byte) 0xDC, (byte) 0xDF, 
-/* E- */    (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-/* F- */    (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7, (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xFF, 
-        };
-
-        public String getLanguage()
-        {
-            return "ar";
-        }
-        protected void matchInit(CharsetDetector det) 
-        {
-            prev_fInputBytes = (byte[])det.fInputBytes.clone();
-            byte bb[] = unshape(det.fInputBytes);
-            det.setText(bb);
-        }
-        
-        /*
-         * Arabic shaping needs to be done manually. Cannot call ArabicShaping class
-         * because CharsetDetector is dealing with bytes not Unicode code points. We could
-         * convert the bytes to Unicode code points but that would leave us dependent
-         * on CharsetICU which we try to avoid. IBM420 converter amongst different versions
-         * of JDK can produce different results and therefore is also avoided.
-         */
-        private byte[] unshape(byte[] inputBytes) {
-            byte resultByteArr[] = unshapeLamAlef(inputBytes);
-            
-            for (int i=0; i<inputBytes.length; i++){
-                resultByteArr[i] = unshapeMap[resultByteArr[i]& 0xFF];
-            }
-            return resultByteArr;
-        }
-
-        private byte[] unshapeLamAlef(byte[] inputBytes) {
-            ByteBuffer resultBigBuffer =  ByteBuffer.allocate(inputBytes.length*2);
-            ByteBuffer resultBuffer;
-            byte unshapedLamAlef[] = {(byte)0xb1, (byte)0x56};
-
-           
-            for (int i=0; i<inputBytes.length; i++){
-                if (isLamAlef(inputBytes[i]))
-                    resultBigBuffer.put(unshapedLamAlef);
-                else
-                    resultBigBuffer.put(inputBytes[i]);
-            }
-            resultBuffer = ByteBuffer.allocate(resultBigBuffer.position());
-            resultBuffer.put(resultBigBuffer.array(),0, resultBigBuffer.position());
-            return resultBuffer.array();
-        }
-        
-        private boolean isLamAlef(byte b) {
-            byte shapedLamAlef[] = {(byte)0xb2,(byte)0xb3,(byte)0xb4,(byte)0xb5,(byte)0xb7,(byte)0xb8 };
-            for (int i = 0; i<shapedLamAlef.length; i++)
-                if (b == shapedLamAlef[i])
-                    return true;
-            return false;
-        }
-        
-        protected void matchFinish(CharsetDetector det) {
-            if (prev_fInputBytes != null)
-                det.setText(prev_fInputBytes);
-        }
-        
-    }
-    static class CharsetRecog_IBM420_ar_rtl extends CharsetRecog_IBM420_ar 
-    {
-        private static int[] ngrams = {
-            0x4056B1, 0x4056BD, 0x405856, 0x409AB1, 0x40ABDC, 0x40B1B1, 0x40BBBD, 0x40CF56, 0x564056, 0x564640, 0x566340, 0x567540, 0x56B140, 0x56B149, 0x56B156, 0x56B158,
-            0x56B163, 0x56B167, 0x56B169, 0x56B173, 0x56B178, 0x56B19A, 0x56B1AD, 0x56B1BB, 0x56B1CF, 0x56B1DC, 0x56BB40, 0x56BD40, 0x56BD63, 0x584056, 0x624056, 0x6240AB,
-            0x6240B1, 0x6240BB, 0x6240CF, 0x634056, 0x734056, 0x736240, 0x754056, 0x756240, 0x784056, 0x9A4056, 0x9AB1DA, 0xABDC40, 0xB14056, 0xB16240, 0xB1DA40, 0xB1DC40,
-            0xBB4056, 0xBB5640, 0xBB6240, 0xBBBD40, 0xBD4056, 0xBF4056, 0xBF5640, 0xCF56B1, 0xCFBD40, 0xDA4056, 0xDC4056, 0xDC40BB, 0xDC40CF, 0xDC6240, 0xDC7540, 0xDCBD40,
-        };
-
-        public String getName()
-        {
-            return "IBM420_rtl";
-        }
-        public int match(CharsetDetector det)
-        {
-            matchInit(det);
-            int result =  match(det, ngrams, byteMap, (byte)0x40);
-            matchFinish(det);
-            return result;
-        }
-        
-    }
-    static class CharsetRecog_IBM420_ar_ltr extends CharsetRecog_IBM420_ar 
-    {
-        private static int[] ngrams = {
-            0x404656, 0x4056BB, 0x4056BF, 0x406273, 0x406275, 0x4062B1, 0x4062BB, 0x4062DC, 0x406356, 0x407556, 0x4075DC, 0x40B156, 0x40BB56, 0x40BD56, 0x40BDBB, 0x40BDCF, 
-            0x40BDDC, 0x40DAB1, 0x40DCAB, 0x40DCB1, 0x49B156, 0x564056, 0x564058, 0x564062, 0x564063, 0x564073, 0x564075, 0x564078, 0x56409A, 0x5640B1, 0x5640BB, 0x5640BD,
-            0x5640BF, 0x5640DA, 0x5640DC, 0x565840, 0x56B156, 0x56CF40, 0x58B156, 0x63B156, 0x63BD56, 0x67B156, 0x69B156, 0x73B156, 0x78B156, 0x9AB156, 0xAB4062, 0xADB156,
-            0xB14062, 0xB15640, 0xB156CF, 0xB19A40, 0xB1B140, 0xBB4062, 0xBB40DC, 0xBBB156, 0xBD5640, 0xBDBB40, 0xCF4062, 0xCF40DC, 0xCFB156, 0xDAB19A, 0xDCAB40, 0xDCB156
-        };
-
-        public String getName()
-        {
-            return "IBM420_ltr";
-        }
-        public int match(CharsetDetector det)
-        {
-            matchInit(det);
-            int result = match(det, ngrams, byteMap, (byte)0x40);
-            matchFinish(det);
-            return result;
-        }
-        
-    }
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecognizer.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecognizer.java
deleted file mode 100644
index dbb9acb..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecognizer.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
-*******************************************************************************
-* Copyright (C) 2005, International Business Machines Corporation and         *
-* others. All Rights Reserved.                                                *
-*******************************************************************************
-*/
-package org.apache.tika.parser.txt;
-
-/**
- * Abstract class for recognizing a single charset.
- * Part of the implementation of ICU's CharsetDetector.
- * 
- * Each specific charset that can be recognized will have an instance
- * of some subclass of this class.  All interaction between the overall
- * CharsetDetector and the stuff specific to an individual charset happens
- * via the interface provided here.
- * 
- * Instances of CharsetDetector DO NOT have or maintain 
- * state pertaining to a specific match or detect operation.
- * The WILL be shared by multiple instances of CharsetDetector.
- * They encapsulate const charset-specific information.
- * 
- * @internal
- */
-abstract class CharsetRecognizer {
-    /**
-     * Get the IANA name of this charset.
-     * @return the charset name.
-     */
-    abstract String      getName();
-    
-    /**
-     * Get the ISO language code for this charset.
-     * @return the language code, or <code>null</code> if the language cannot be determined.
-     */
-    public   String      getLanguage()
-    {
-        return null;
-    }
-    
-    /**
-     * Test the match of this charset with the input text data
-     *      which is obtained via the CharsetDetector object.
-     * 
-     * @param det  The CharsetDetector, which contains the input text
-     *             to be checked for being in this charset.
-     * @return     Two values packed into one int  (Damn java, anyhow)
-     *             <br/>
-     *             bits 0-7:  the match confidence, ranging from 0-100
-     *             <br/>
-     *             bits 8-15: The match reason, an enum-like value.
-     */
-    abstract int         match(CharsetDetector det);
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/TXTParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/TXTParser.java
deleted file mode 100644
index ca419ef..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/TXTParser.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.txt;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-import java.nio.charset.Charset;
-import java.util.Collections;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Plain text parser. The text encoding of the document stream is
- * automatically detected based on the byte patterns found at the
- * beginning of the stream. The input metadata key
- * {@link org.apache.tika.metadata.HttpHeaders#CONTENT_ENCODING} is used
- * as an encoding hint if the automatic encoding detection fails.
- * <p>
- * This parser sets the following output metadata entries:
- * <dl>
- *   <dt>{@link org.apache.tika.metadata.HttpHeaders#CONTENT_TYPE}</dt>
- *   <dd><code>text/plain</code></dd>
- *   <dt>{@link org.apache.tika.metadata.HttpHeaders#CONTENT_ENCODING}</dt>
- *   <dd>The detected text encoding of the document.</dd>
- *   <dt>
- *     {@link org.apache.tika.metadata.HttpHeaders#CONTENT_LANGUAGE} and
- *     {@link org.apache.tika.metadata.DublinCore#LANGUAGE}
- *   </dt>
- * </dl>
- */
-@SuppressWarnings("serial")
-public class TXTParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.singleton(MediaType.TEXT_PLAIN);
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-    throws IOException, SAXException, TikaException {
-
-        // CharsetDetector expects a stream to support marks
-        if (!stream.markSupported()) {
-            stream = new BufferedInputStream(stream);
-        }
-
-        // Detect the content encoding (the stream is reset to the beginning)
-        CharsetDetector detector = new CharsetDetector();
-        String incomingCharset = metadata.get(Metadata.CONTENT_ENCODING);
-        String incomingType = metadata.get(Metadata.CONTENT_TYPE);
-        if (incomingCharset == null && incomingType != null) {
-            // TIKA-341: Use charset in content-type
-            MediaType mt = MediaType.parse(incomingType);
-            if (mt != null) {
-                incomingCharset = mt.getParameters().get("charset");
-            }
-        }
-
-        if (incomingCharset != null) {
-            detector.setDeclaredEncoding(incomingCharset);
-        }
-
-        detector.setText(stream);
-        for (CharsetMatch match : detector.detectAll()) {
-            if (Charset.isSupported(match.getName())) {
-                metadata.set(Metadata.CONTENT_ENCODING, match.getName());
-                break;
-            }
-        }
-
-        String encoding = metadata.get(Metadata.CONTENT_ENCODING);
-        if (encoding == null) {
-            throw new TikaException(
-                    "Text encoding could not be detected and no encoding"
-                    + " hint is available in document metadata");
-        }
-
-        // TIKA-341: Only stomp on content-type after we're done trying to
-        // use it to guess at the charset.
-        metadata.set(Metadata.CONTENT_TYPE, "text/plain");
-
-        try {
-            Reader reader =
-                new BufferedReader(new InputStreamReader(stream, encoding));
-
-            // TIKA-240: Drop the BOM when extracting plain text
-            reader.mark(1);
-            int bom = reader.read();
-            if (bom != '\ufeff') { // zero-width no-break space
-                reader.reset();
-            }
-
-            XHTMLContentHandler xhtml =
-                new XHTMLContentHandler(handler, metadata);
-            xhtml.startDocument();
-
-            xhtml.startElement("p");
-            char[] buffer = new char[4096];
-            int n = reader.read(buffer);
-            while (n != -1) {
-                xhtml.characters(buffer, 0, n);
-                n = reader.read(buffer);
-            }
-            xhtml.endElement("p");
-
-            xhtml.endDocument();
-        } catch (UnsupportedEncodingException e) {
-            throw new TikaException(
-                    "Unsupported text encoding: " + encoding, e);
-        }
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-    throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/video/FLVParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/video/FLVParser.java
deleted file mode 100644
index 86665a2..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/video/FLVParser.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.video;
-
-import java.io.ByteArrayInputStream;
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.Map.Entry;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * <p>
- * Parser for metadata contained in Flash Videos (.flv). Resources:
- * http://osflash.org/flv and for AMF:
- * http://download.macromedia.com/pub/labs/amf/amf0_spec_121207.pdf
- * <p>
- * This parser is capable of extracting the general metadata from header as well
- * as embedded metadata.
- * <p>
- * Known keys for metadata (from file header):
- * <ol>
- * <li>hasVideo: true|false
- * <li>hasSound: true|false
- * </ol>
- * <p>
- * In addition to the above values also metadata that is inserted in to the
- * actual stream will be picked. Usually there are keys like:
- * hasKeyframes, lastkeyframetimestamp, audiocodecid, keyframes, filepositions,
- * hasMetadata, audiosamplerate, videodatarate metadatadate, videocodecid,
- * metadatacreator, audiosize, hasVideo, height, audiosamplesize, framerate,
- * hasCuePoints width, cuePoints, lasttimestamp, canSeekToEnd, datasize,
- * duration, videosize, filesize, audiodatarate, hasAudio, stereo audiodelay
- */
-public class FLVParser implements Parser {
-
-    private static int TYPE_METADATA = 0x12;
-    private static byte MASK_AUDIO = 1;
-    private static byte MASK_VIDEO = 4;
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.singleton(MediaType.video("x-flv"));
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    private long readUInt32(DataInputStream input) throws IOException {
-        return input.readInt() & 0xFFFFFFFFL;
-    }
-
-    private int readUInt24(DataInputStream input) throws IOException {
-        int uint = input.read()<<16;
-        uint += input.read()<<8;
-        uint += input.read(); 
-        return uint;
-    }
-
-    private Object readAMFData(DataInputStream input, int type)
-            throws IOException {
-        if (type == -1) {
-            type = input.readUnsignedByte();
-        }
-        switch (type) {
-        case 0:
-            return input.readDouble();
-        case 1:
-            return input.readUnsignedByte() == 1;
-        case 2:
-            return readAMFString(input);
-        case 3:
-            return readAMFObject(input);
-        case 8:
-            return readAMFEcmaArray(input);
-        case 10:
-            return readAMFStrictArray(input);
-        case 11:
-            final Date date = new Date((long) input.readDouble());
-            input.skip(2); // time zone
-            return date;
-        case 13:
-            return "UNDEFINED";
-        default:
-            return null;
-        }
-    }
-
-    private Object readAMFStrictArray(DataInputStream input) throws IOException {
-        long count = readUInt32(input);
-        ArrayList<Object> list = new ArrayList<Object>();
-        for (int i = 0; i < count; i++) {
-            list.add(readAMFData(input, -1));
-        }
-        return list;
-    }
-
-
-    private String readAMFString(DataInputStream input) throws IOException {
-        int size = input.readUnsignedShort();
-        byte[] chars = new byte[size];
-        input.readFully(chars);
-        return new String(chars);
-    }
-
-    private Object readAMFObject(DataInputStream input) throws IOException {
-        HashMap<String, Object> array = new HashMap<String, Object>();
-        while (true) {
-            String key = readAMFString(input);
-            int dataType = input.read();
-            if (dataType == 9) { // object end marker
-                break;
-            }
-            array.put(key, readAMFData(input, dataType));
-        }
-        return array;
-    }
-
-    private Object readAMFEcmaArray(DataInputStream input) throws IOException {
-        long size = readUInt32(input);
-        HashMap<String, Object> array = new HashMap<String, Object>();
-        for (int i = 0; i < size; i++) {
-            String key = readAMFString(input);
-            int dataType = input.read();
-            array.put(key, readAMFData(input, dataType));
-        }
-        return array;
-    }
-
-    private boolean checkSignature(DataInputStream fis) throws IOException {
-        return fis.read() == 'F' && fis.read() == 'L' && fis.read() == 'V';
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        DataInputStream datainput = new DataInputStream(stream);
-        if (!checkSignature(datainput)) {
-            throw new TikaException("FLV signature not detected");
-        }
-
-        // header
-        int version = datainput.readUnsignedByte();
-        if (version != 1) {
-            // should be 1, perhaps this is not flv?
-            throw new TikaException("Unpexpected FLV version: " + version);
-        }
-
-        int typeFlags = datainput.readUnsignedByte();
-
-        long len = readUInt32(datainput);
-        if (len != 9) {
-            // we only know about format with header of 9 bytes
-            throw new TikaException("Unpexpected FLV header length: " + len);
-        }
-
-        long sizePrev = readUInt32(datainput);
-        if (sizePrev != 0) {
-            // should be 0, perhaps this is not flv?
-            throw new TikaException(
-                    "Unpexpected FLV first previous block size: " + sizePrev);
-        }
-
-        metadata.set(Metadata.CONTENT_TYPE, "video/x-flv");
-        metadata.set("hasVideo", Boolean.toString((typeFlags & MASK_VIDEO) != 0));
-        metadata.set("hasAudio", Boolean.toString((typeFlags & MASK_AUDIO) != 0));
-
-        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-
-        // flv tag stream follows...
-        while (true) {
-            int type = datainput.read();
-            if (type == -1) {
-                // EOF
-                break;
-            }
-
-            int datalen = readUInt24(datainput); //body length
-            stream.skip(4); // timestamp
-            stream.skip(3); // streamid
-
-            if (type == TYPE_METADATA) {
-                // found metadata Tag, read content to buffer
-                byte[] metaBytes = new byte[datalen];
-                for (int readCount = 0; readCount < datalen;) {
-                    int r = stream.read(metaBytes, readCount, datalen - readCount);
-                    if(r!=-1) {
-                        readCount += r;
-
-                    } else {
-                        break;
-                    }
-                }
-
-                ByteArrayInputStream is = new ByteArrayInputStream(metaBytes);
-
-                DataInputStream dis = new DataInputStream(is);
-
-                Object data = null;
-
-                for (int i = 0; i < 2; i++) {
-                    data = readAMFData(dis, -1);
-                }
-
-                if (data instanceof Map) {
-                    // TODO if there are multiple metadata values with same key (in
-                    // separate AMF blocks, we currently loose previous values)
-                    Map<String, Object> extractedMetadata = (Map<String, Object>) data;
-                    for (Entry<String, Object> entry : extractedMetadata.entrySet()) {
-                        metadata.set(entry.getKey(), entry.getValue().toString());
-                    }
-                }
-
-            } else {
-                // Tag was not metadata, skip over data we cannot handle
-                for (int skiplen = 0; skiplen < datalen;) {
-                    long currentSkipLen = datainput.skip(datalen - skiplen);
-                    skiplen += currentSkipLen;
-                }
-            }
-
-            sizePrev = readUInt32(datainput); // previous block size
-            if (sizePrev != datalen + 11) {
-                // file was corrupt or we could not parse it...
-                break;
-            }
-        }
-
-        xhtml.endDocument();
-    }
-
-    public void parse(InputStream stream, ContentHandler handler,
-            Metadata metadata) throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/AttributeDependantMetadataHandler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/AttributeDependantMetadataHandler.java
deleted file mode 100644
index c1795fa..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/AttributeDependantMetadataHandler.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.xml;
-
-import org.apache.tika.metadata.Metadata;
-import org.xml.sax.Attributes;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * This adds a Metadata entry for a given node.
- * The textual content of the node is used as the
- *  value, and the Metadata name is taken from
- *  an attribute, with a prefix if required. 
- */
-public class AttributeDependantMetadataHandler extends DefaultHandler {
-
-    private final Metadata metadata;
-
-    private final String nameHoldingAttribute;
-    private final String namePrefix;
-    private String name;
-
-    private final StringBuilder buffer = new StringBuilder();
-
-    public AttributeDependantMetadataHandler(Metadata metadata, String nameHoldingAttribute, String namePrefix) {
-        this.metadata = metadata;
-        this.nameHoldingAttribute = nameHoldingAttribute;
-        this.namePrefix = namePrefix;
-    }
-
-    public void addMetadata(String value) {
-        if(name == null || name.length() == 0) {
-           // We didn't find the attribute which holds the name
-           return;
-        }
-        if (value.length() > 0) {
-            String previous = metadata.get(name);
-            if (previous != null && previous.length() > 0) {
-                value = previous + ", " + value;
-            }
-            metadata.set(name, value);
-        }
-    }
-
-    public void endElement(String uri, String localName, String name) {
-        addMetadata(buffer.toString());
-        buffer.setLength(0);
-    }
-
-    public void startElement(
-            String uri, String localName, String name, Attributes attributes) {
-        String rawName = attributes.getValue(nameHoldingAttribute);
-        if (rawName != null) {
-           if (namePrefix == null) {
-              this.name = rawName;
-           } else {
-              this.name = namePrefix + rawName;
-           }
-        }
-        // All other attributes are ignored
-    }
-
-    
-    public void characters(char[] ch, int start, int length) {
-        buffer.append(ch, start, length);
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/DcXMLParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/DcXMLParser.java
deleted file mode 100644
index ee5155a..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/DcXMLParser.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.xml;
-
-import org.apache.tika.metadata.DublinCore;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.TeeContentHandler;
-import org.apache.tika.sax.xpath.CompositeMatcher;
-import org.apache.tika.sax.xpath.Matcher;
-import org.apache.tika.sax.xpath.MatchingContentHandler;
-import org.apache.tika.sax.xpath.XPathParser;
-import org.xml.sax.ContentHandler;
-
-/**
- * Dublin Core metadata parser
- */
-public class DcXMLParser extends XMLParser {
-
-    private static final XPathParser DC_XPATH = new XPathParser(
-            "dc", "http://purl.org/dc/elements/1.1/");
-
-    private static ContentHandler getDublinCore(
-            ContentHandler ch, Metadata md, String name, String element) {
-        Matcher matcher = new CompositeMatcher(
-                DC_XPATH.parse("//dc:" + element),
-                DC_XPATH.parse("//dc:" + element + "//text()"));
-        ContentHandler branch =
-            new MatchingContentHandler(new MetadataHandler(md, name), matcher);
-        return new TeeContentHandler(ch, branch);
-    }
-
-    protected ContentHandler getContentHandler(ContentHandler ch, Metadata md) {
-        ch = super.getContentHandler(ch, md);
-        ch = getDublinCore(ch, md, DublinCore.TITLE, "title");
-        ch = getDublinCore(ch, md, DublinCore.SUBJECT, "subject");
-        ch = getDublinCore(ch, md, DublinCore.CREATOR, "creator");
-        ch = getDublinCore(ch, md, DublinCore.DESCRIPTION, "description");
-        ch = getDublinCore(ch, md, DublinCore.PUBLISHER, "publisher");
-        ch = getDublinCore(ch, md, DublinCore.CONTRIBUTOR, "contributor");
-        try {
-            ch = getDublinCore(ch, md, DublinCore.DATE.getName(), "date");
-        } catch (Exception e) {
-            // Date format and parsing behavior was undefined and untested when DublinCare
-            // date was converted to Property.internalDate so we silently skip date on parse error
-        }
-        ch = getDublinCore(ch, md, DublinCore.TYPE, "type");
-        ch = getDublinCore(ch, md, DublinCore.FORMAT, "format");
-        ch = getDublinCore(ch, md, DublinCore.IDENTIFIER, "identifier");
-        ch = getDublinCore(ch, md, DublinCore.LANGUAGE, "language");
-        ch = getDublinCore(ch, md, DublinCore.RIGHTS, "rights");
-        return ch;
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/MetadataHandler.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/MetadataHandler.java
deleted file mode 100644
index 0e407cd..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/MetadataHandler.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.xml;
-
-import org.apache.tika.metadata.Metadata;
-import org.xml.sax.Attributes;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * This adds Metadata entries with a specified name for
- *  the textual content of a node (if present), and 
- *  all attribute values passed through the matcher
- *  (but not their names). 
- */
-public class MetadataHandler extends DefaultHandler {
-
-    private final Metadata metadata;
-
-    private final String name;
-
-    private final StringBuilder buffer = new StringBuilder();
-
-    public MetadataHandler(Metadata metadata, String name) {
-        this.metadata = metadata;
-        this.name = name;
-    }
-
-    public void addMetadata(String value) {
-        if (value.length() > 0) {
-            String previous = metadata.get(name);
-            if (previous != null && previous.length() > 0) {
-                value = previous + ", " + value;
-            }
-            metadata.set(name, value);
-        }
-    }
-
-    public void endElement(String uri, String localName, String name) {
-        addMetadata(buffer.toString());
-        buffer.setLength(0);
-    }
-
-    public void startElement(
-            String uri, String localName, String name, Attributes attributes) {
-        for (int i = 0; i < attributes.getLength(); i++) {
-            addMetadata(attributes.getValue(i));
-        }
-    }
-
-    
-    public void characters(char[] ch, int start, int length) {
-        buffer.append(ch, start, length);
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/XMLParser.java b/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/XMLParser.java
deleted file mode 100644
index ef66355..0000000
--- a/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/XMLParser.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.xml;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.CloseShieldInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.EmbeddedContentHandler;
-import org.apache.tika.sax.OfflineContentHandler;
-import org.apache.tika.sax.TextContentHandler;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * XML parser.
- */
-public class XMLParser implements Parser {
-
-    private static final Set<MediaType> SUPPORTED_TYPES =
-        Collections.unmodifiableSet(new HashSet<MediaType>(Arrays.asList(
-                MediaType.application("xml"),
-                MediaType.image("svg+xml"))));
-
-    public Set<MediaType> getSupportedTypes(ParseContext context) {
-        return SUPPORTED_TYPES;
-    }
-
-    public void parse(
-            InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context)
-            throws IOException, SAXException, TikaException {
-        if (metadata.get(Metadata.CONTENT_TYPE) == null) {
-            metadata.set(Metadata.CONTENT_TYPE, "application/xml");
-        }
-
-        final XHTMLContentHandler xhtml =
-            new XHTMLContentHandler(handler, metadata);
-        xhtml.startDocument();
-        xhtml.startElement("p");
-
-        context.getSAXParser().parse(
-                new CloseShieldInputStream(stream),
-                new OfflineContentHandler(new EmbeddedContentHandler(
-                        getContentHandler(handler, metadata))));
-
-        xhtml.endElement("p");
-        xhtml.endDocument();
-    }
-
-    /**
-     * @deprecated This method will be removed in Apache Tika 1.0.
-     */
-    public void parse(
-            InputStream stream, ContentHandler handler, Metadata metadata)
-            throws IOException, SAXException, TikaException {
-        parse(stream, handler, metadata, new ParseContext());
-    }
-
-    protected ContentHandler getContentHandler(
-            ContentHandler handler, Metadata metadata) {
-        return new TextContentHandler(handler);
-    }
-
-}
diff --git a/trunk/tika-parsers/src/main/resources/META-INF/services/org.apache.tika.detect.Detector b/trunk/tika-parsers/src/main/resources/META-INF/services/org.apache.tika.detect.Detector
deleted file mode 100755
index 6f4b13b..0000000
--- a/trunk/tika-parsers/src/main/resources/META-INF/services/org.apache.tika.detect.Detector
+++ /dev/null
@@ -1,17 +0,0 @@
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#  contributor license agreements.  See the NOTICE file distributed with
-#  this work for additional information regarding copyright ownership.
-#  The ASF licenses this file to You 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.
-
-org.apache.tika.detect.POIFSContainerDetector
-org.apache.tika.detect.ZipContainerDetector
diff --git a/trunk/tika-parsers/src/main/resources/META-INF/services/org.apache.tika.parser.Parser b/trunk/tika-parsers/src/main/resources/META-INF/services/org.apache.tika.parser.Parser
deleted file mode 100644
index 4c334a0..0000000
--- a/trunk/tika-parsers/src/main/resources/META-INF/services/org.apache.tika.parser.Parser
+++ /dev/null
@@ -1,42 +0,0 @@
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#  contributor license agreements.  See the NOTICE file distributed with
-#  this work for additional information regarding copyright ownership.
-#  The ASF licenses this file to You 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.
-
-org.apache.tika.parser.asm.ClassParser
-org.apache.tika.parser.audio.AudioParser
-org.apache.tika.parser.audio.MidiParser
-org.apache.tika.parser.dwg.DWGParser
-org.apache.tika.parser.epub.EpubParser
-org.apache.tika.parser.feed.FeedParser
-org.apache.tika.parser.font.TrueTypeParser
-org.apache.tika.parser.html.HtmlParser
-org.apache.tika.parser.image.ImageParser
-org.apache.tika.parser.image.TiffParser
-org.apache.tika.parser.iwork.IWorkParser
-org.apache.tika.parser.iwork.IWorkPackageParser
-org.apache.tika.parser.jpeg.JpegParser
-org.apache.tika.parser.mail.RFC822Parser
-org.apache.tika.parser.mbox.MboxParser
-org.apache.tika.parser.microsoft.OfficeParser
-org.apache.tika.parser.microsoft.ooxml.OOXMLParser
-org.apache.tika.parser.mp3.Mp3Parser
-org.apache.tika.parser.hdf.HDFParser
-org.apache.tika.parser.netcdf.NetCDFParser
-org.apache.tika.parser.odf.OpenDocumentParser
-org.apache.tika.parser.pdf.PDFParser
-org.apache.tika.parser.pkg.PackageParser
-org.apache.tika.parser.rtf.RTFParser
-org.apache.tika.parser.txt.TXTParser
-org.apache.tika.parser.video.FLVParser
-org.apache.tika.parser.xml.DcXMLParser
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/TestParsers.java b/trunk/tika-parsers/src/test/java/org/apache/tika/TestParsers.java
deleted file mode 100644
index 6584365..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/TestParsers.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika;
-
-import junit.framework.TestCase;
-import org.apache.tika.config.TikaConfig;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.utils.ParseUtils;
-import org.xml.sax.helpers.DefaultHandler;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.net.URISyntaxException;
-import java.net.URL;
-
-/**
- * Junit test class for Tika {@link Parser}s.
- */
-public class TestParsers extends TestCase {
-
-    private TikaConfig tc;
-
-    public void setUp() throws Exception {
-        tc = TikaConfig.getDefaultConfig();
-    }
-
-    public void testPDFExtraction() throws Exception {
-        File file = getResourceAsFile("/test-documents/testPDF.pdf");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc, "application/pdf");
-        String s3 = ParseUtils.getStringContent(file, TikaConfig
-                .getDefaultConfig());
-        assertEquals(s1, s2);
-        assertEquals(s1, s3);
-    }
-
-    public void testTXTExtraction() throws Exception {
-        File file = getResourceAsFile("/test-documents/testTXT.txt");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc, "text/plain");
-        assertEquals(s1, s2);
-    }
-
-    public void testRTFExtraction() throws Exception {
-        File file = getResourceAsFile("/test-documents/testRTF.rtf");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc, "application/rtf");
-        assertEquals(s1, s2);
-    }
-
-    public void testRTFms932Extraction() throws Exception {
-        File file = getResourceAsFile("/test-documents/testRTF-ms932.rtf");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc, "application/rtf");
-        assertEquals(s1, s2);
-        // Hello in Japanese
-        assertTrue(s1.contains("\u3053\u3093\u306b\u3061\u306f"));
-    }
-
-    public void testRTFUmlautSpacesExtraction() throws Exception {
-        File file = getResourceAsFile("/test-documents/testRTFUmlautSpaces.rtf");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc, "application/rtf");
-        assertEquals(s1, s2);
-        assertTrue(s1.contains("\u00DCbersicht"));
-    }
-
-    public void testRTFWordPadCzechCharactersExtraction() throws Exception {
-        File file = getResourceAsFile("/test-documents/testRTFWordPadCzechCharacters.rtf");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc, "application/rtf");
-        assertEquals(s1, s2);
-        assertTrue(s1.contains("\u010Cl\u00E1nek t\u00FDdne"));
-        assertTrue(s1.contains("starov\u011Bk\u00E9 \u017Eidovsk\u00E9 n\u00E1bo\u017Eensk\u00E9 texty"));
-    }
-
-    public void testRTFWord2010CzechCharactersExtraction() throws Exception {
-        File file = getResourceAsFile("/test-documents/testRTFWord2010CzechCharacters.rtf");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc, "application/rtf");
-        assertEquals(s1, s2);
-        assertTrue(s1.contains("\u010Cl\u00E1nek t\u00FDdne"));
-        assertTrue(s1.contains("starov\u011Bk\u00E9 \u017Eidovsk\u00E9 n\u00E1bo\u017Eensk\u00E9 texty"));
-    }
-
-    public void testRTFTableCellSeparation() throws Exception {
-        File file = getResourceAsFile("/test-documents/testRTFTableCellSeparation.rtf");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc, "application/rtf");
-        assertEquals(s1, s2);
-        String content = s1.replaceAll("\\s+"," ");
-        assertTrue(content.contains("a b c d \u00E4 \u00EB \u00F6 \u00FC"));
-    }
-
-    public void testXMLExtraction() throws Exception {
-        File file = getResourceAsFile("/test-documents/testXML.xml");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc, "application/xml");
-        assertEquals(s1, s2);
-    }
-
-    public void testPPTExtraction() throws Exception {
-        File file = getResourceAsFile("/test-documents/testPPT.ppt");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc,
-                "application/vnd.ms-powerpoint");
-        assertEquals(s1, s2);
-        Parser parser =
-            tc.getParser(MediaType.parse("application/vnd.ms-powerpoint"));
-        Metadata metadata = new Metadata();
-        InputStream stream = new FileInputStream(file);
-        try {
-            parser.parse(stream, new DefaultHandler(), metadata);
-        } finally {
-            stream.close();
-        }
-        assertEquals("Sample Powerpoint Slide", metadata.get(Metadata.TITLE));
-    }
-
-    public void testWORDxtraction() throws Exception {
-        File file = getResourceAsFile("/test-documents/testWORD.doc");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc, "application/msword");
-        assertEquals(s1, s2);
-        Parser parser = tc.getParser(MediaType.parse("application/msword"));
-        Metadata metadata = new Metadata();
-        InputStream stream = new FileInputStream(file);
-        try {
-            parser.parse(stream, new DefaultHandler(), metadata);
-        } finally {
-            stream.close();
-        }
-        assertEquals("Sample Word Document", metadata.get(Metadata.TITLE));
-    }
-
-    public void testEXCELExtraction() throws Exception {
-        final String expected = "Numbers and their Squares";
-        File file = getResourceAsFile("/test-documents/testEXCEL.xls");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc,
-                "application/vnd.ms-excel");
-        assertEquals(s1, s2);
-        assertTrue("Text does not contain '" + expected + "'", s1
-                .contains(expected));
-        Parser parser =
-            tc.getParser(MediaType.parse("application/vnd.ms-excel"));
-        Metadata metadata = new Metadata();
-        InputStream stream = new FileInputStream(file);
-        try {
-            parser.parse(stream, new DefaultHandler(), metadata);
-        } finally {
-            stream.close();
-        }
-        assertEquals("Simple Excel document", metadata.get(Metadata.TITLE));
-    }
-
-    public void testOOExtraction() throws Exception {
-        File file = getResourceAsFile("/test-documents/testOpenOffice2.odt");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc,
-                "application/vnd.oasis.opendocument.text");
-        assertEquals(s1, s2);
-    }
-
-    public void testOutlookExtraction() throws Exception {
-        File file = getResourceAsFile("/test-documents/test-outlook.msg");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc,
-                "application/vnd.ms-outlook");
-        assertEquals(s1, s2);
-    }
-
-    public void testHTMLExtraction() throws Exception {
-        File file = getResourceAsFile("/test-documents/testHTML.html");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc, "text/html");
-        assertEquals(s1, s2);
-
-        Parser parser = tc.getParser(MediaType.parse("text/html"));
-        assertNotNull(parser);
-    }
-
-    public void testZipFileExtraction() throws Exception {
-        File file = getResourceAsFile("/test-documents/test-documents.zip");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc, "application/zip");
-        assertEquals(s1, s2);
-
-        Parser parser = tc.getParser(MediaType.parse("application/zip"));
-        assertNotNull(parser);
-    }
-
-    public void testMP3Extraction() throws Exception {
-        File file = getResourceAsFile("/test-documents/testMP3id3v1.mp3");
-        String s1 = ParseUtils.getStringContent(file, tc);
-        String s2 = ParseUtils.getStringContent(file, tc, "audio/mpeg");
-        assertEquals(s1, s2);
-
-        Parser parser = tc.getParser(MediaType.parse("audio/mpeg"));
-        assertNotNull(parser);
-    }
-
-    /**
-     * This method will give you back the filename incl. the absolute path name
-     * to the resource. If the resource does not exist it will give you back the
-     * resource name incl. the path.
-     * 
-     * @param name
-     *            The named resource to search for.
-     * @return an absolute path incl. the name which is in the same directory as
-     *         the the class you've called it from.
-     */
-    public File getResourceAsFile(String name) throws URISyntaxException {
-        URL url = this.getClass().getResource(name);
-        if (url != null) {
-            return new File(url.toURI());
-        } else {
-            // We have a file which does not exists
-            // We got the path
-            url = this.getClass().getResource(".");
-            return new File(new File(url.toURI()), name);
-        }
-    }
-
-    public InputStream getResourceAsStream(String name) {
-        return this.getClass().getResourceAsStream(name);
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/detect/TestContainerAwareDetector.java b/trunk/tika-parsers/src/test/java/org/apache/tika/detect/TestContainerAwareDetector.java
deleted file mode 100644
index d5fc871..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/detect/TestContainerAwareDetector.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.detect;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.mime.MimeTypes;
-
-/**
- * Junit test class for {@link ContainerAwareDetector}
- */
-public class TestContainerAwareDetector extends TestCase {
-
-    private final ContainerAwareDetector detector =
-        new ContainerAwareDetector(MimeTypes.getDefaultMimeTypes());
-
-    private void assertDetect(String file, String type) throws Exception {
-        TikaInputStream stream = TikaInputStream.get(
-                TestContainerAwareDetector.class.getResource(
-                        "/test-documents/" + file));
-        try {
-            assertEquals(
-                    MediaType.parse(type),
-                    detector.detect(stream, new Metadata()));
-        } finally {
-            stream.close();
-        }
-    }
-
-    public void testDetectOLE2() throws Exception {
-        // Microsoft office types known by POI
-        assertDetect("testEXCEL.xls", "application/vnd.ms-excel");
-        assertDetect("testWORD.doc", "application/msword");
-        assertDetect("testPPT.ppt", "application/vnd.ms-powerpoint");
-
-        // Try some ones that POI doesn't handle, that are still OLE2 based
-        assertDetect("testWORKS.wps", "application/vnd.ms-works");
-        assertDetect("testCOREL.shw", "application/x-corelpresentations");
-        assertDetect("testQUATTRO.qpw", "application/x-quattro-pro");
-        assertDetect("testQUATTRO.wb3", "application/x-quattro-pro");
-    }
-
-    public void testOpenContainer() throws Exception {
-        TikaInputStream stream = TikaInputStream.get(
-                TestContainerAwareDetector.class.getResource(
-                        "/test-documents/testPPT.ppt"));
-        try {
-            assertNull(stream.getOpenContainer());
-            assertEquals(
-                    MediaType.parse("application/vnd.ms-powerpoint"),
-                    detector.detect(stream, new Metadata()));
-            assertTrue(stream.getOpenContainer() instanceof POIFSFileSystem);
-        } finally {
-            stream.close();
-        }
-    }
-
-    public void testDetectODF() throws Exception {
-        assertDetect("testODFwithOOo3.odt", "application/vnd.oasis.opendocument.text");
-        assertDetect("testOpenOffice2.odf", "application/vnd.oasis.opendocument.formula");
-    }
-
-    public void testDetectOOXML() throws Exception {
-        assertDetect("testEXCEL.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
-        assertDetect("testWORD.docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
-        assertDetect("testPPT.pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation");
-
-        // Check some of the less common OOXML types
-        assertDetect("testPPT.pptm", "application/vnd.ms-powerpoint.presentation.macroenabled.12");
-        assertDetect("testPPT.ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow");
-        assertDetect("testPPT.ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12");
-    }
-
-    public void testDetectIWork() throws Exception {
-        assertDetect("testKeynote.key", "application/vnd.apple.keynote");
-        assertDetect("testNumbers.numbers", "application/vnd.apple.numbers");
-        assertDetect("testPages.pages", "application/vnd.apple.pages");
-    }
-
-    public void testDetectZip() throws Exception {
-        assertDetect("test-documents.zip", "application/zip");
-        assertDetect("test-zip-of-zip.zip", "application/zip");
-        assertDetect("testJAR.jar", "application/java-archive");
-    }
-
-    private TikaInputStream getTruncatedFile(String name, int n)
-            throws IOException {
-        InputStream input =
-            TestContainerAwareDetector.class.getResourceAsStream(
-                    "/test-documents/" + name);
-        try {
-            byte[] bytes = new byte[n];
-            int m = 0;
-            while (m < bytes.length) {
-                int i = input.read(bytes, m, bytes.length - m);
-                if (i != -1) {
-                    m += i;
-                } else {
-                    throw new IOException("Unexpected end of stream");
-                }
-            }
-            return TikaInputStream.get(bytes);
-        } finally {
-            input.close();
-        }
-    }
-
-    public void testTruncatedFiles() throws Exception {
-        // First up a truncated OOXML (zip) file
-        TikaInputStream xlsx = getTruncatedFile("testEXCEL.xlsx", 300);
-        try {
-            assertEquals(
-                    MediaType.APPLICATION_ZIP,
-                    detector.detect(xlsx, new Metadata()));
-        } finally {
-            xlsx.close();
-        }
-
-        // Now a truncated OLE2 file 
-        TikaInputStream xls = getTruncatedFile("testEXCEL.xls", 400);
-        try {
-            assertEquals(
-                    MediaType.application("x-tika-msoffice"),
-                    detector.detect(xls, new Metadata()));
-        } finally {
-            xls.close();
-        }
-   }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/mime/MimeTypeTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/mime/MimeTypeTest.java
deleted file mode 100644
index 9e92053..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/mime/MimeTypeTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import junit.framework.TestCase;
-
-public class MimeTypeTest extends TestCase {
-
-    private MimeTypes types;
-    private MimeType text;
-
-    protected void setUp() throws MimeTypeException {
-        types = new MimeTypes();
-        text = types.forName("text/plain");
-    }
-
-    /** Test MimeType constructor */
-    public void testConstrctor() {
-        // Missing name
-        try {
-            new MimeType(null);
-            fail("Expected IllegalArgumentException");
-        } catch (IllegalArgumentException e) {
-            // expected result
-        }
-    }
-
-    public void testIsValidName() {
-        assertTrue(MimeType.isValid("application/octet-stream"));
-        assertTrue(MimeType.isValid("text/plain"));
-        assertTrue(MimeType.isValid("foo/bar"));
-        assertTrue(MimeType.isValid("a/b"));
-
-        assertFalse(MimeType.isValid("application"));
-        assertFalse(MimeType.isValid("application/"));
-        assertFalse(MimeType.isValid("/"));
-        assertFalse(MimeType.isValid("/octet-stream"));
-        assertFalse(MimeType.isValid("application//octet-stream"));
-        assertFalse(MimeType.isValid("application/octet=stream"));
-        assertFalse(MimeType.isValid("application/\u00f6ctet-stream"));
-        assertFalse(MimeType.isValid("text/plain;"));
-        assertFalse(MimeType.isValid("text/plain; charset=UTF-8"));
-        try {
-            MimeType.isValid(null);
-            fail("Expected IllegalArgumentException");
-        } catch (IllegalArgumentException e) {
-            // expected result
-        }
-    }
-
-    /** Test MimeType setDescription() */
-    public void testSetDescription() {
-        try {
-            text.setDescription(null);
-            fail("Expected IllegalArgumentException");
-        } catch (IllegalArgumentException e) {
-            // expected result
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/mime/MimeTypesTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/mime/MimeTypesTest.java
deleted file mode 100644
index 0d15f06..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/mime/MimeTypesTest.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import static org.apache.tika.mime.MediaType.OCTET_STREAM;
-import static org.apache.tika.mime.MediaType.TEXT_PLAIN;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-public class MimeTypesTest extends TestCase {
-
-    private MimeTypes types;
-
-    private MediaTypeRegistry registry;
-
-    private MimeType binary;
-
-    private MimeType text;
-
-    private MimeType html;
-
-    protected void setUp() throws MimeTypeException {
-        types = new MimeTypes();
-        registry = types.getMediaTypeRegistry();
-        binary = types.forName("application/octet-stream");
-        text = types.forName("text/plain");
-        types.addAlias(text, MediaType.parse("text/x-plain"));
-        html = types.forName("text/html");
-        types.setSuperType(html, TEXT_PLAIN);
-    }
-
-    public void testForName() throws MimeTypeException {
-        assertEquals(text, types.forName("text/plain"));
-        assertEquals(text, types.forName("TEXT/PLAIN"));
-
-        try {
-            types.forName("invalid");
-            fail("MimeTypeException not thrown on invalid type name");
-        } catch (MimeTypeException e) {
-            // expected
-        }
-    }
-
-    public void testSuperType() throws MimeTypeException {
-        assertNull(registry.getSupertype(OCTET_STREAM));
-        assertEquals(OCTET_STREAM, registry.getSupertype(TEXT_PLAIN));
-        assertEquals(TEXT_PLAIN, registry.getSupertype(html.getType()));
-   }
-
-    public void testIsDescendantOf() {
-        assertFalse(registry.isSpecializationOf(OCTET_STREAM, OCTET_STREAM));
-        assertFalse(registry.isSpecializationOf(TEXT_PLAIN, TEXT_PLAIN));
-        assertFalse(registry.isSpecializationOf(html.getType(), html.getType()));
-
-        assertTrue(registry.isSpecializationOf(html.getType(), OCTET_STREAM));
-        assertFalse(registry.isSpecializationOf(OCTET_STREAM, html.getType()));
-
-        assertTrue(registry.isSpecializationOf(html.getType(), TEXT_PLAIN));
-        assertFalse(registry.isSpecializationOf(TEXT_PLAIN, html.getType()));
-
-        assertTrue(registry.isSpecializationOf(TEXT_PLAIN, OCTET_STREAM));
-        assertFalse(registry.isSpecializationOf(OCTET_STREAM, TEXT_PLAIN));
-    }
-
-    public void testCompareTo() {
-        assertTrue(binary.compareTo(binary) == 0);
-        assertTrue(binary.compareTo(text) != 0);
-        assertTrue(binary.compareTo(html) != 0);
-
-        assertTrue(text.compareTo(binary) != 0);
-        assertTrue(text.compareTo(text) == 0);
-        assertTrue(text.compareTo(html) != 0);
-
-        assertTrue(html.compareTo(binary) != 0);
-        assertTrue(html.compareTo(text) != 0);
-        assertTrue(html.compareTo(html) == 0);
-    }
-
-    /** Test getMimeType(byte[]) */
-    public void testGetMimeType_byteArray() {
-        try {
-            types.getMimeType((byte[])null);
-            fail("Expected IllegalArgumentException");
-        } catch (IllegalArgumentException e) {
-            // expected result
-        }
-
-        // Plain text detection
-        assertText(new byte[] { (byte) 0xFF, (byte) 0xFE });
-        assertText(new byte[] { (byte) 0xFF, (byte) 0xFE });
-        assertText(new byte[] { (byte) 0xEF, (byte) 0xFB, (byte) 0xBF });
-        assertText(new byte[] { 'a', 'b', 'c' });
-        assertText(new byte[] { '\t', '\r', '\n', 0x0C, 0x1B });
-        assertNotText(new byte[] { '\t', '\r', '\n', 0x0E, 0x1C });
-    }
-
-    private void assertText(byte[] prefix) {
-        assertMagic("text/plain", prefix);
-    }
-
-    private void assertNotText(byte[] prefix) {
-        assertMagic("application/octet-stream", prefix);
-    }
-
-    private void assertMagic(String expected, byte[] prefix) {
-        MimeType type = types.getMimeType(prefix);
-        assertNotNull(type);
-        assertEquals(expected, type.getName());
-    }
-
-    /** Test getMimeType(InputStream) */
-    public void testGetMimeType_InputStream() throws IOException {
-        try {
-            types.getMimeType((InputStream)null);
-            fail("Expected IllegalArgumentException");
-        } catch (IllegalArgumentException e) {
-            // expected result
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/mime/PatternsTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/mime/PatternsTest.java
deleted file mode 100644
index 7ca2bbc..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/mime/PatternsTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-import junit.framework.TestCase;
-
-/**
- * Test case for {@link Patterns}.
- *
- * @version $Id$
- */
-public class PatternsTest extends TestCase {
-
-    private Patterns patterns;
-    private MimeTypes types;
-    private MimeType text;
-
-    protected void setUp() throws MimeTypeException {
-        patterns = new Patterns(new MediaTypeRegistry());
-        types = new MimeTypes();
-        text = types.forName("text/plain");
-    }
-
-    /** Test add() */
-    public void testAdd() throws MimeTypeException {
-        try {
-            patterns.add(null, text);
-            fail("Expected IllegalArgumentException");
-        } catch (IllegalArgumentException e) {
-            // expected result
-        }
-        try {
-            patterns.add("", null);
-            fail("Expected IllegalArgumentException");
-        } catch (IllegalArgumentException e) {
-            // expected result
-        }
-        try {
-            patterns.add(null, null);
-            fail("Expected IllegalArgumentException");
-        } catch (IllegalArgumentException e) {
-            // expected result
-        }
-    }
-
-    /** Test matches() */
-    public void testMatches() {
-        try {
-            patterns.matches(null);
-            fail("Expected IllegalArgumentException");
-        } catch (IllegalArgumentException e) {
-            // expected result
-        }
-    }
-
-    public void testExtension() throws MimeTypeException {
-        MimeType doc = types.forName("application/vnd.ms-word");
-        patterns.add("*.doc", doc);
-
-        assertEquals(".doc", doc.getExtension());
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java b/trunk/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
deleted file mode 100644
index 64ef34a..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
+++ /dev/null
@@ -1,435 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.mime;
-
-// Junit imports
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.config.TikaConfig;
-import org.apache.tika.metadata.Metadata;
-
-/**
- * 
- * Test Suite for the {@link MimeTypes} repository.
- * 
- */
-public class TestMimeTypes extends TestCase {
-
-    private MimeTypes repo;
-
-    private static URL u;
-
-    static {
-        try {
-            u = new URL("http://mydomain.com/x.pdf?x=y");
-        } catch (MalformedURLException e) {
-            fail(e.getMessage());
-        }
-    }
-
-    private static final File f = new File("/a/b/c/x.pdf");
-
-    public TestMimeTypes() {
-        try {
-            repo = TikaConfig.getDefaultConfig().getMimeRepository();
-        } catch (Exception e) {
-            fail(e.getMessage());
-        }
-
-    }
-
-    public void testCaseSensitivity() {
-        MimeType type = repo.getMimeType("test.PDF");
-        assertNotNull(type);
-        assertEquals(repo.getMimeType("test.pdf"), type);
-        assertEquals(repo.getMimeType("test.PdF"), type);
-        assertEquals(repo.getMimeType("test.pdF"), type);
-    }
-
-    public void testLoadMimeTypes() throws MimeTypeException {
-        assertNotNull(repo.forName("application/octet-stream"));
-        assertNotNull(repo.forName("text/x-tex"));
-    }
-
-    /**
-     * Tests MIME type determination based solely on the URL's extension.
-     */
-    public void testGuessMimeTypes() throws Exception {
-        assertTypeByName("application/pdf", "x.pdf");
-        assertEquals("application/pdf", repo.getMimeType(u).getName());
-        assertEquals("application/pdf", repo.getMimeType(f).getName());
-        assertTypeByName("text/plain", "x.txt");
-        assertTypeByName("text/html", "x.htm");
-        assertTypeByName("text/html", "x.html");
-        assertTypeByName("application/xhtml+xml", "x.xhtml");
-        assertTypeByName("application/xml", "x.xml");
-        assertTypeByName("application/zip", "x.zip");
-        assertTypeByName("application/vnd.oasis.opendocument.text", "x.odt");
-        assertTypeByName("application/octet-stream", "x.unknown");
-
-        // Test for the MS Office media types and file extensions listed in
-        // http://blogs.msdn.com/vsofficedeveloper/pages/Office-2007-Open-XML-MIME-Types.aspx
-        assertTypeByName("application/msword", "x.doc");
-        assertTypeByName("application/msword", "x.dot");
-        assertTypeByName("application/vnd.openxmlformats-officedocument.wordprocessingml.document", "x.docx");
-        assertTypeByName("application/vnd.openxmlformats-officedocument.wordprocessingml.template", "x.dotx");
-        assertTypeByName("application/vnd.ms-word.document.macroenabled.12", "x.docm");
-        assertTypeByName("application/vnd.ms-word.template.macroenabled.12", "x.dotm");
-        assertTypeByName("application/vnd.ms-excel", "x.xls");
-        assertTypeByName("application/vnd.ms-excel", "x.xlt");
-        assertTypeByName("application/vnd.ms-excel", "x.xla");
-        assertTypeByName("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "x.xlsx");
-        assertTypeByName("application/vnd.openxmlformats-officedocument.spreadsheetml.template", "x.xltx");
-        assertTypeByName("application/vnd.ms-excel.sheet.macroenabled.12", "x.xlsm");
-        assertTypeByName("application/vnd.ms-excel.template.macroenabled.12", "x.xltm");
-        assertTypeByName("application/vnd.ms-excel.addin.macroenabled.12", "x.xlam");
-        assertTypeByName("application/vnd.ms-excel.sheet.binary.macroenabled.12", "x.xlsb");
-        assertTypeByName("application/vnd.ms-powerpoint", "x.ppt");
-        assertTypeByName("application/vnd.ms-powerpoint", "x.pot");
-        assertTypeByName("application/vnd.ms-powerpoint", "x.pps");
-        assertTypeByName("application/vnd.ms-powerpoint", "x.ppa");
-        assertTypeByName("application/vnd.openxmlformats-officedocument.presentationml.presentation", "x.pptx");
-        assertTypeByName("application/vnd.openxmlformats-officedocument.presentationml.template", "x.potx");
-        assertTypeByName("application/vnd.openxmlformats-officedocument.presentationml.slideshow", "x.ppsx");
-        assertTypeByName("application/vnd.ms-powerpoint.addin.macroenabled.12", "x.ppam");
-        assertTypeByName("application/vnd.ms-powerpoint.presentation.macroenabled.12", "x.pptm");
-        assertTypeByName("application/vnd.ms-powerpoint.template.macroenabled.12", "x.potm");
-        assertTypeByName("application/vnd.ms-powerpoint.slideshow.macroenabled.12", "x.ppsm");
-
-        assertTypeByName("application/x-staroffice-template", "x.vor");
-        assertTypeByData("application/x-tika-msoffice", "testVORCalcTemplate.vor");
-        assertTypeByData("application/x-tika-msoffice", "testVORDrawTemplate.vor");
-        assertTypeByData("application/x-tika-msoffice", "testVORImpressTemplate.vor");
-        assertTypeByData("application/x-tika-msoffice", "testVORWriterTemplate.vor");
-        assertTypeByNameAndData("application/x-staroffice-template", "testVORCalcTemplate.vor");
-        assertTypeByNameAndData("application/x-staroffice-template", "testVORDrawTemplate.vor");
-        assertTypeByNameAndData("application/x-staroffice-template", "testVORImpressTemplate.vor");
-        assertTypeByNameAndData("application/x-staroffice-template", "testVORWriterTemplate.vor");
-    }
-
-    /**
-     * Note - detecting container formats by mime magic is very very
-     *  iffy, as we can't be sure where things will end up.
-     * People really ought to use the container aware detection...
-     */
-    public void testOoxmlDetection() throws Exception {
-        // These two do luckily have [Content_Types].xml near the start,
-        //  so our mime magic will spot them
-        assertTypeByData("application/x-tika-ooxml", "testEXCEL.xlsx");
-        assertTypeByData("application/x-tika-ooxml", "testPPT.pptx");
-        
-        // This one quite legitimately doesn't have its [Content_Types].xml
-        //  file as one of the first couple of entries
-        // As such, our mime magic can't figure it out...
-        assertTypeByData("application/zip", "testWORD.docx");
-        
-        assertTypeByNameAndData("application/vnd.ms-excel.sheet.binary.macroenabled.12","testEXCEL.xlsb");
-        assertTypeByNameAndData("application/vnd.ms-powerpoint.presentation.macroenabled.12", "testPPT.pptm");
-        assertTypeByNameAndData("application/vnd.ms-powerpoint.template.macroenabled.12", "testPPT.potm");
-        assertTypeByNameAndData("application/vnd.ms-powerpoint.slideshow.macroenabled.12", "testPPT.ppsm");
-    }
-
-    /**
-     * Note - detecting container formats by mime magic is very very
-     *  iffy, as we can't be sure where things will end up.
-     * People really ought to use the container aware detection...
-     */
-    public void testIWorkDetection() throws Exception {
-        // By name is easy
-       assertTypeByName("application/vnd.apple.keynote", "testKeynote.key");
-       assertTypeByName("application/vnd.apple.numbers", "testNumbers.numbers");
-       assertTypeByName("application/vnd.apple.pages", "testPages.pages");
-       
-       // We can't do it by data, as we'd need to unpack
-       //  the zip file to check the XML 
-       assertTypeByData("application/zip", "testKeynote.key");
-       
-       assertTypeByNameAndData("application/vnd.apple.keynote", "testKeynote.key");
-       assertTypeByNameAndData("application/vnd.apple.numbers", "testNumbers.numbers");
-       assertTypeByNameAndData("application/vnd.apple.pages", "testPages.pages");
-    }
-
-    public void testJpegDetection() throws Exception {
-        assertType("image/jpeg", "testJPEG.jpg");
-        assertTypeByData("image/jpeg", "testJPEG.jpg");
-        assertTypeByName("image/jpeg", "x.jpg");
-        assertTypeByName("image/jpeg", "x.JPG");
-        assertTypeByName("image/jpeg", "x.jpeg");
-        assertTypeByName("image/jpeg", "x.JPEG");
-        assertTypeByName("image/jpeg", "x.jpe");
-        assertTypeByName("image/jpeg", "x.jif");
-        assertTypeByName("image/jpeg", "x.jfif");
-        assertTypeByName("image/jpeg", "x.jfi");
-    }
-
-    public void testTiffDetection() throws Exception {
-        assertType("image/tiff", "testTIFF.tif");
-        assertTypeByData("image/tiff", "testTIFF.tif");
-        assertTypeByName("image/tiff", "x.tiff");
-        assertTypeByName("image/tiff", "x.tif");
-        assertTypeByName("image/tiff", "x.TIF");
-    }
-
-    public void testGifDetection() throws Exception {
-        assertType("image/gif", "testGIF.gif");
-        assertTypeByData("image/gif", "testGIF.gif");
-        assertTypeByName("image/gif", "x.gif");
-        assertTypeByName("image/gif", "x.GIF");
-    }
-
-    public void testPngDetection() throws Exception {
-        assertType("image/png", "testPNG.png");
-        assertTypeByData("image/png", "testPNG.png");
-        assertTypeByName("image/png", "x.png");
-        assertTypeByName("image/png", "x.PNG");
-    }
-
-    public void testBmpDetection() throws Exception {
-        assertType("image/x-ms-bmp", "testBMP.bmp");
-        assertTypeByData("image/x-ms-bmp", "testBMP.bmp");
-        assertTypeByName("image/x-ms-bmp", "x.bmp");
-        assertTypeByName("image/x-ms-bmp", "x.BMP");
-        assertTypeByName("image/x-ms-bmp", "x.dib");
-        assertTypeByName("image/x-ms-bmp", "x.DIB");
-        //false positive check -- contains part of BMP signature
-        assertType("text/plain", "testBMPfp.txt");
-    }
-
-    public void testPnmDetection() throws Exception {
-        assertType("image/x-portable-bitmap", "testPBM.pbm");
-        assertType("image/x-portable-graymap", "testPGM.pgm");
-        assertType("image/x-portable-pixmap", "testPPM.ppm");
-        assertTypeByData("image/x-portable-bitmap", "testPBM.pbm");
-        assertTypeByData("image/x-portable-graymap", "testPGM.pgm");
-        assertTypeByData("image/x-portable-pixmap", "testPPM.ppm");
-        assertTypeByName("image/x-portable-anymap", "x.pnm");
-        assertTypeByName("image/x-portable-anymap", "x.PNM");
-        assertTypeByName("image/x-portable-bitmap", "x.pbm");
-        assertTypeByName("image/x-portable-bitmap", "x.PBM");
-        assertTypeByName("image/x-portable-graymap", "x.pgm");
-        assertTypeByName("image/x-portable-graymap", "x.PGM");
-        assertTypeByName("image/x-portable-pixmap", "x.ppm");
-        assertTypeByName("image/x-portable-pixmap", "x.PPM");
-    }
-
-    public void testCgmDetection() throws Exception {
-        // TODO: Need a test image file
-        assertTypeByName("image/cgm", "x.cgm");
-        assertTypeByName("image/cgm", "x.CGM");
-    }
-
-    public void testRdfXmlDetection() throws Exception {
-        assertTypeByName("application/rdf+xml", "x.rdf");
-        assertTypeByName("application/rdf+xml", "x.owl");
-    }
-
-    public void testSvgDetection() throws Exception {
-        assertType("image/svg+xml", "testSVG.svg");
-        assertTypeByData("image/svg+xml", "testSVG.svg");
-        assertTypeByName("image/svg+xml", "x.svg");
-        assertTypeByName("image/svg+xml", "x.SVG");
-
-        // Should *.svgz be svg or gzip
-        assertType("application/x-gzip", "testSVG.svgz");
-        assertTypeByData("application/x-gzip", "testSVG.svgz");
-        assertTypeByName("image/svg+xml", "x.svgz");
-        assertTypeByName("image/svg+xml", "x.SVGZ");
-    }
-
-    public void testPdfDetection() throws Exception {
-        assertType("application/pdf", "testPDF.pdf");
-        assertTypeByData("application/pdf", "testPDF.pdf");
-        assertTypeByName("application/pdf", "x.pdf");
-        assertTypeByName("application/pdf", "x.PDF");
-    }
-
-    public void testSwfDetection() throws Exception {
-        // TODO: Need a test flash file
-        assertTypeByName("application/x-shockwave-flash", "x.swf");
-        assertTypeByName("application/x-shockwave-flash", "x.SWF");
-    }
-
-    public void testDwgDetection() throws Exception {
-        assertTypeByName("image/vnd.dwg", "x.dwg");
-        assertTypeByData("image/vnd.dwg", "testDWG2004.dwg");
-        assertTypeByData("image/vnd.dwg", "testDWG2007.dwg");
-        assertTypeByData("image/vnd.dwg", "testDWG2010.dwg");
-    }
-
-    public void testWmfDetection() throws Exception {
-        // TODO: Need a test wmf file
-        assertTypeByName("application/x-msmetafile", "x.wmf");
-        assertTypeByName("application/x-msmetafile", "x.WMF");
-        // TODO: Need a test emf file
-        assertTypeByName("application/x-msmetafile", "x.emf");
-        assertTypeByName("application/x-msmetafile", "x.EMF");
-        // TODO: Need a test wmz file
-        assertTypeByName("application/x-ms-wmz", "x.wmz");
-        assertTypeByName("application/x-ms-wmz", "x.WMZ");
-        // TODO: Need a test emf file
-        assertTypeByName("application/x-gzip", "x.emz");
-        assertTypeByName("application/x-gzip", "x.EMZ");
-    }
-
-    public void testPsDetection() throws Exception {
-        // TODO: Need a test postscript file
-        assertTypeByName("application/postscript", "x.ps");
-        assertTypeByName("application/postscript", "x.PS");
-        assertTypeByName("application/postscript", "x.eps");
-        assertTypeByName("application/postscript", "x.epsf");
-        assertTypeByName("application/postscript", "x.epsi");
-    }
-
-    /**
-     * @since TIKA-194
-     */
-    public void testJavaRegex() throws Exception{
-        MimeType testType = new MimeType(MediaType.parse("foo/bar"));
-        this.repo.add(testType);
-        assertNotNull(repo.forName("foo/bar"));
-        String pattern = "rtg_sst_grb_0\\.5\\.\\d{8}";
-        this.repo.addPattern(testType, pattern, true);
-        String testFileName = "rtg_sst_grb_0.5.12345678";
-        assertNotNull(this.repo.getMimeType(testFileName));
-        assertEquals(this.repo.getMimeType(testFileName).getName(), "foo/bar");
-
-        MimeType testType2 = new MimeType(MediaType.parse("foo/bar2"));
-        this.repo.add(testType2);
-        assertNotNull(repo.forName("foo/bar2"));
-        this.repo.addPattern(testType2, pattern, false);
-        assertNotNull(this.repo.getMimeType(testFileName));
-        assertNotSame("foo/bar2", this.repo.getMimeType(testFileName).getName());
-    }
-    
-    public void testRawDetection() throws Exception {
-        assertTypeByName("image/x-raw-adobe", "x.dng");
-        assertTypeByName("image/x-raw-adobe", "x.DNG");
-        assertTypeByName("image/x-raw-hasselblad", "x.3fr");
-        assertTypeByName("image/x-raw-fuji", "x.raf");
-        assertTypeByName("image/x-raw-canon", "x.crw");
-        assertTypeByName("image/x-raw-canon", "x.cr2");
-        assertTypeByName("image/x-raw-kodak", "x.k25");
-        assertTypeByName("image/x-raw-kodak", "x.kdc");
-        assertTypeByName("image/x-raw-kodak", "x.dcs");
-        assertTypeByName("image/x-raw-kodak", "x.drf");
-        assertTypeByName("image/x-raw-minolta", "x.mrw");
-        assertTypeByName("image/x-raw-nikon", "x.nef");
-        assertTypeByName("image/x-raw-nikon", "x.nrw");
-        assertTypeByName("image/x-raw-olympus", "x.orf");
-        assertTypeByName("image/x-raw-pentax", "x.ptx");
-        assertTypeByName("image/x-raw-pentax", "x.pef");
-        assertTypeByName("image/x-raw-sony", "x.arw");
-        assertTypeByName("image/x-raw-sony", "x.srf");
-        assertTypeByName("image/x-raw-sony", "x.sr2");
-        assertTypeByName("image/x-raw-sigma", "x.x3f");
-        assertTypeByName("image/x-raw-epson", "x.erf");
-        assertTypeByName("image/x-raw-mamiya", "x.mef");
-        assertTypeByName("image/x-raw-leaf", "x.mos");
-        assertTypeByName("image/x-raw-panasonic", "x.raw");
-        assertTypeByName("image/x-raw-panasonic", "x.rw2");
-        assertTypeByName("image/x-raw-phaseone", "x.cap");
-        assertTypeByName("image/x-raw-phaseone", "x.iiq");
-        assertTypeByName("image/x-raw-phaseone", "x.cap");
-        assertTypeByName("image/x-raw-red", "x.r3d");
-        assertTypeByName("image/x-raw-imacon", "x.fff");
-        assertTypeByName("image/x-raw-logitech", "x.pxn");
-        assertTypeByName("image/x-raw-casio", "x.bay");
-        assertTypeByName("image/x-raw-rawzor", "x.rwz");
-    }
-
-    /**
-     * Tests MimeTypes.getMimeType(URL), which examines both the byte header
-     * and, if necessary, the URL's extension.
-     */
-    public void testMimeDeterminationForTestDocuments() throws Exception {
-        assertType("text/html", "testHTML.html");
-        assertType("application/zip", "test-documents.zip");
-        // TODO: Currently returns generic MS Office type based on
-        // the magic header. The getMimeType method should understand
-        // MS Office types better.
-        // assertEquals("application/vnd.ms-excel",
-        // getMimeType("testEXCEL.xls"));
-        // assertEquals("application/vnd.ms-powerpoint",
-        // getMimeType("testPPT.ppt"));
-        // assertEquals("application/msword", getMimeType("testWORD.doc"));
-        assertType("text/html", "testHTML_utf8.html");
-        assertType(
-                "application/vnd.oasis.opendocument.text",
-                "testOpenOffice2.odt");
-        assertType("application/pdf", "testPDF.pdf");
-        assertType("application/rtf", "testRTF.rtf");
-        assertType("text/plain", "testTXT.txt");
-        assertType("application/xml", "testXML.xml");
-        assertType("audio/basic", "testAU.au");
-        assertType("audio/x-aiff", "testAIFF.aif");
-        assertType("audio/x-wav", "testWAV.wav");
-        assertType("audio/midi", "testMID.mid");
-        assertType("application/x-msaccess", "testACCESS.mdb");
-        assertType("application/x-font-ttf", "testTrueType.ttf");
-    }
-
-    private void assertType(String expected, String filename) throws Exception {
-        InputStream stream = TestMimeTypes.class.getResourceAsStream(
-                "/test-documents/" + filename);
-        try {
-            Metadata metadata = new Metadata();
-            metadata.set(Metadata.RESOURCE_NAME_KEY, filename);
-            assertEquals(expected, repo.detect(stream, metadata).toString());
-        } finally {
-            stream.close();
-        }
-    }
-
-    private void assertTypeByName(String expected, String filename)
-            throws IOException {
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.RESOURCE_NAME_KEY, filename);
-        assertEquals(expected, repo.detect(null, metadata).toString());
-    }
-
-    private void assertTypeByData(String expected, String filename)
-            throws IOException {
-        InputStream stream = TestMimeTypes.class.getResourceAsStream(
-                "/test-documents/" + filename);
-        try {
-            Metadata metadata = new Metadata();
-            assertEquals(expected, repo.detect(stream, metadata).toString());
-        } finally {
-            stream.close();
-        }
-    }
-    
-    private void assertTypeByNameAndData(String expected, String filename)
-	    throws IOException {
-	InputStream stream = TestMimeTypes.class.getResourceAsStream(
-	        "/test-documents/" + filename);
-	try {
-	    Metadata metadata = new Metadata();
-	    metadata.set(Metadata.RESOURCE_NAME_KEY, filename);
-	    assertEquals(expected, repo.detect(stream, metadata).toString());
-	} finally {
-	    stream.close();
-	}
-}
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/AutoDetectParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/AutoDetectParserTest.java
deleted file mode 100644
index 9e3a9d4..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/AutoDetectParserTest.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.detect.Detector;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashSet;
-import java.util.Set;
-
-public class AutoDetectParserTest extends TestCase {
-
-    // Easy to read constants for the MIME types:
-    private static final String RAW        = "application/octet-stream";
-    private static final String EXCEL      = "application/vnd.ms-excel";
-    private static final String HTML       = "text/html";
-    private static final String PDF        = "application/pdf";
-    private static final String POWERPOINT = "application/vnd.ms-powerpoint";
-    private static final String KEYNOTE = "application/vnd.apple.keynote";
-    private static final String PAGES = "application/vnd.apple.pages";
-    private static final String NUMBERS = "application/vnd.apple.numbers";
-    private static final String RTF        = "application/rtf";
-    private static final String PLAINTEXT  = "text/plain";
-    private static final String WORD       = "application/msword";
-    private static final String XML        = "application/xml";
-    private static final String OPENOFFICE
-            = "application/vnd.oasis.opendocument.text";
-
-
-    /**
-     * This is where a single test is done.
-     * @param tp the parameters encapsulated in a TestParams instance
-     * @throws IOException
-     */
-    private void assertAutoDetect(TestParams tp) throws Exception {
-
-        InputStream input =
-            AutoDetectParserTest.class.getResourceAsStream(tp.resourceRealName);
-
-        if (input == null) {
-            fail("Could not open stream from specified resource: "
-                    + tp.resourceRealName);
-        }
-
-        try {
-            Metadata metadata = new Metadata();
-            metadata.set(Metadata.RESOURCE_NAME_KEY, tp.resourceStatedName);
-            metadata.set(Metadata.CONTENT_TYPE, tp.statedType);
-            ContentHandler handler = new BodyContentHandler();
-            new AutoDetectParser().parse(input, handler, metadata);
-
-            assertEquals("Bad content type: " + tp,
-                    tp.realType, metadata.get(Metadata.CONTENT_TYPE));
-
-            assertTrue("Expected content not found: " + tp,
-                    handler.toString().contains(tp.expectedContentFragment));
-        } finally {
-            input.close();
-        }
-    }
-
-    /**
-     * Convenience method -- its sole purpose of existence is to make the
-     * call to it more readable than it would be if a TestParams instance
-     * would need to be instantiated there.
-     *
-     * @param resourceRealName real name of resource
-     * @param resourceStatedName stated name -- will a bad name fool us?
-     * @param realType - the real MIME type
-     * @param statedType - stated MIME type - will a wrong one fool us?
-     * @param expectedContentFragment - something expected in the text
-     * @throws Exception
-     */
-    private void assertAutoDetect(String resourceRealName,
-                                  String resourceStatedName,
-                                  String realType,
-                                  String statedType,
-                                  String expectedContentFragment)
-            throws Exception {
-
-        assertAutoDetect(new TestParams(resourceRealName, resourceStatedName,
-                realType, statedType, expectedContentFragment));
-    }
-
-    private void assertAutoDetect(
-            String resource, String type, String content) throws Exception {
-
-        resource = "/test-documents/" + resource;
-
-        // TODO !!!!  The disabled tests below should work!
-        // The correct MIME type should be determined regardless of the
-        // stated type (ContentType hint) and the stated URL name.
-
-
-        // Try different combinations of correct and incorrect arguments:
-        final String wrongMimeType = RAW;
-        assertAutoDetect(resource, resource, type, type,          content);
-        assertAutoDetect(resource, resource, type, null,          content);
-        assertAutoDetect(resource, resource, type, wrongMimeType, content);
-
-        assertAutoDetect(resource, null, type, type,          content);
-        assertAutoDetect(resource, null, type, null,          content);
-        assertAutoDetect(resource, null, type, wrongMimeType, content);
-
-        final String badResource = "a.xyz";
-        assertAutoDetect(resource, badResource, type, type,          content);
-        assertAutoDetect(resource, badResource, type, null,          content);
-        assertAutoDetect(resource, badResource, type, wrongMimeType, content);
-    }
-
-    public void testKeynote() throws Exception {
-        // assertAutoDetect("testKeynote.key", KEYNOTE, "A sample presentation");
-    }
-
-    public void testPages() throws Exception {
-        // assertAutoDetect("testPages.pages", PAGES, "Sample pages document");
-    }
-
-    public void testNumbers() throws Exception {
-        // assertAutoDetect("testNumbers.numbers", NUMBERS, "Checking Account: 300545668");
-    }
-
-    public void testEpub() throws Exception {
-        assertAutoDetect(
-                "testEPUB.epub", "application/epub+zip",
-                "The previous headings were subchapters");
-    }
-
-    public void testExcel() throws Exception {
-        assertAutoDetect("testEXCEL.xls", EXCEL, "Sample Excel Worksheet");
-    }
-
-    public void testHTML() throws Exception {
-        assertAutoDetect("testHTML.html", HTML, "Test Indexation Html");
-    }
-
-    public void testOpenOffice() throws Exception {
-        assertAutoDetect("testOpenOffice2.odt", OPENOFFICE,
-                "This is a sample Open Office document");
-    }
-
-    public void testPDF() throws Exception {
-        assertAutoDetect("testPDF.pdf", PDF, "Content Analysis Toolkit");
-
-    }
-
-    public void testPowerpoint() throws Exception {
-        assertAutoDetect("testPPT.ppt", POWERPOINT, "Sample Powerpoint Slide");
-    }
-
-    public void testRdfXml() throws Exception {
-        assertAutoDetect("testRDF.rdf", "application/rdf+xml", "");
-    }
-
-    public void testRTF() throws Exception {
-        assertAutoDetect("testRTF.rtf", RTF, "indexation Word");
-    }
-
-    public void testText() throws Exception {
-        assertAutoDetect("testTXT.txt", PLAINTEXT, "indexation de Txt");
-    }
-
-    public void testWord() throws Exception {
-        assertAutoDetect("testWORD.doc", WORD, "Sample Word Document");
-    }
-
-    public void testXML() throws Exception {
-        assertAutoDetect("testXML.xml", XML, "Lius");
-    }
-
-    /**
-     * Make sure that zip bomb attacks are prevented.
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-216">TIKA-216</a>
-     */
-    public void testZipBombPrevention() throws Exception {
-        InputStream tgz = AutoDetectParserTest.class.getResourceAsStream(
-                "/test-documents/TIKA-216.tgz");
-        try {
-            Metadata metadata = new Metadata();
-            ContentHandler handler = new BodyContentHandler(-1);
-            new AutoDetectParser().parse(tgz, handler, metadata);
-            fail("Zip bomb was not detected");
-        } catch (TikaException e) {
-            // expected
-        } finally {
-            tgz.close();
-        }
-    
-    }
-    
-    /**
-     * Test case for TIKA-514. Provide constructor for AutoDetectParser that has explicit
-     * list of supported parsers.
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-514">TIKA-514</a>
-     */
-    public void testSpecificParserList() throws Exception {
-        AutoDetectParser parser = new AutoDetectParser(new MyDetector(), new MyParser());
-        
-        InputStream is = new ByteArrayInputStream("test".getBytes());
-        Metadata metadata = new Metadata();
-        parser.parse(is, new BodyContentHandler(), metadata, new ParseContext());
-        
-        assertEquals("value", metadata.get("MyParser"));
-    }
-
-    private static final MediaType MY_MEDIA_TYPE = new MediaType("application", "x-myparser");
-    
-    /**
-     * A test detector which always returns the type supported
-     *  by the test parser
-     */
-    @SuppressWarnings("serial")
-    private static class MyDetector implements Detector {
-        public MediaType detect(InputStream input, Metadata metadata) throws IOException {
-            return MY_MEDIA_TYPE;
-        }
-    }
-    
-    @SuppressWarnings("serial")
-    private static class MyParser implements Parser {
-        public Set<MediaType> getSupportedTypes(ParseContext context) {
-            Set<MediaType> supportedTypes = new HashSet<MediaType>();
-            supportedTypes.add(MY_MEDIA_TYPE);
-            return supportedTypes;
-        }
-
-        public void parse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context) {
-            metadata.add("MyParser", "value");
-        }
-
-        public void parse(InputStream stream, ContentHandler handler, Metadata metadata) {
-            parse(stream, handler, metadata, new ParseContext());
-        }
-    }
-    
-    /**
-     * Minimal class to encapsulate all parameters -- the main reason for
-     * its existence is to aid in debugging via its toString() method.
-     *
-     * Getters and setters intentionally not provided.
-     */
-    private static class TestParams {
-
-        public String resourceRealName;
-        public String resourceStatedName;
-        public String realType;
-        public String statedType;
-        public String expectedContentFragment;
-
-
-        private TestParams(String resourceRealName,
-                           String resourceStatedName,
-                           String realType,
-                           String statedType,
-                           String expectedContentFragment) {
-            this.resourceRealName = resourceRealName;
-            this.resourceStatedName = resourceStatedName;
-            this.realType = realType;
-            this.statedType = statedType;
-            this.expectedContentFragment = expectedContentFragment;
-        }
-
-
-        /**
-         * Produces a string like the following:
-         *
-         * <pre>
-         * Test parameters:
-         *   resourceRealName        = /test-documents/testEXCEL.xls
-         *   resourceStatedName      = null
-         *   realType                = application/vnd.ms-excel
-         *   statedType              = null
-         *   expectedContentFragment = Sample Excel Worksheet
-         * </pre>
-         */
-        public String toString() {
-            return "Test parameters:\n"
-                + "  resourceRealName        = " + resourceRealName + "\n"
-                + "  resourceStatedName      = " + resourceStatedName + "\n"
-                + "  realType                = " + realType + "\n"
-                + "  statedType              = " + statedType + "\n"
-                + "  expectedContentFragment = " + expectedContentFragment + "\n";
-        }
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/ParsingReaderTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/ParsingReaderTest.java
deleted file mode 100644
index 028c4c2..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/ParsingReaderTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.io.Reader;
-
-import org.apache.tika.metadata.Metadata;
-
-import junit.framework.TestCase;
-
-public class ParsingReaderTest extends TestCase {
-
-    public void testPlainText() throws Exception {
-        String data = "test content";
-        InputStream stream = new ByteArrayInputStream(data.getBytes("UTF-8"));
-        Reader reader = new ParsingReader(stream, "test.txt");
-        assertEquals('t', reader.read());
-        assertEquals('e', reader.read());
-        assertEquals('s', reader.read());
-        assertEquals('t', reader.read());
-        assertEquals(' ', reader.read());
-        assertEquals('c', reader.read());
-        assertEquals('o', reader.read());
-        assertEquals('n', reader.read());
-        assertEquals('t', reader.read());
-        assertEquals('e', reader.read());
-        assertEquals('n', reader.read());
-        assertEquals('t', reader.read());
-        assertEquals('\n', reader.read());
-        assertEquals(-1, reader.read());
-        reader.close();
-        assertEquals(-1, stream.read());
-    }
-
-    public void testXML() throws Exception {
-        String data = "<p>test <span>content</span></p>";
-        InputStream stream = new ByteArrayInputStream(data.getBytes("UTF-8"));
-        Reader reader = new ParsingReader(stream, "test.xml");
-        assertEquals('t', (char) reader.read());
-        assertEquals('e', (char) reader.read());
-        assertEquals('s', (char) reader.read());
-        assertEquals('t', (char) reader.read());
-        assertEquals(' ', (char) reader.read());
-        assertEquals('c', (char) reader.read());
-        assertEquals('o', (char) reader.read());
-        assertEquals('n', (char) reader.read());
-        assertEquals('t', (char) reader.read());
-        assertEquals('e', (char) reader.read());
-        assertEquals('n', (char) reader.read());
-        assertEquals('t', (char) reader.read());
-        assertEquals('\n', (char) reader.read());
-        assertEquals(-1, reader.read());
-        reader.close();
-        assertEquals(-1, stream.read());
-    }
-
-    /**
-     * Test case for TIKA-203
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-203">TIKA-203</a>
-     */
-    public void testMetadata() throws Exception {
-        Metadata metadata = new Metadata();
-        InputStream stream = ParsingReaderTest.class.getResourceAsStream(
-                "/test-documents/testEXCEL.xls");
-        Reader reader =
-            new ParsingReader(new AutoDetectParser(), stream, metadata);
-        try {
-            // Metadata should already be available
-            assertEquals("Simple Excel document", metadata.get(Metadata.TITLE));
-            // Check that the internal buffering isn't broken
-            assertEquals('F', (char) reader.read());
-            assertEquals('e', (char) reader.read());
-            assertEquals('u', (char) reader.read());
-            assertEquals('i', (char) reader.read());
-            assertEquals('l', (char) reader.read());
-            assertEquals('1', (char) reader.read());
-        } finally {
-            reader.close();
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/asm/ClassParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/asm/ClassParserTest.java
deleted file mode 100644
index 6792ee9..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/asm/ClassParserTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.asm;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.Tika;
-import org.apache.tika.metadata.Metadata;
-
-/**
- * Test case for parsing Java class files.
- */
-public class ClassParserTest extends TestCase {
-
-    public void testClassParsing() throws Exception {
-        String path = "/test-documents/AutoDetectParser.class";
-        Metadata metadata = new Metadata();
-        String content = new Tika().parseToString(
-                ClassParserTest.class.getResourceAsStream(path), metadata);
-
-        assertEquals("AutoDetectParser", metadata.get(Metadata.TITLE));
-        assertEquals(
-                "AutoDetectParser.class",
-                metadata.get(Metadata.RESOURCE_NAME_KEY));
-
-        assertTrue(content.contains("package org.apache.tika.parser;"));
-        assertTrue(content.contains(
-                "class AutoDetectParser extends CompositeParser"));
-        assertTrue(content.contains(
-                "private org.apache.tika.mime.MimeTypes types"));
-        assertTrue(content.contains(
-                "public void parse("
-                + "java.io.InputStream, org.xml.sax.ContentHandler,"
-                + " org.apache.tika.metadata.Metadata) throws"
-                + " java.io.IOException, org.xml.sax.SAXException,"
-                + " org.apache.tika.exception.TikaException;"));
-        assertTrue(content.contains(
-                "private byte[] getPrefix(java.io.InputStream, int)"
-                + " throws java.io.IOException;"));
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/audio/AudioParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/audio/AudioParserTest.java
deleted file mode 100644
index 6d65345..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/audio/AudioParserTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.audio;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.Tika;
-import org.apache.tika.metadata.Metadata;
-
-public class AudioParserTest extends TestCase {
-
-    public void testWAV() throws Exception {
-        String path = "/test-documents/testWAV.wav";
-        Metadata metadata = new Metadata();
-        String content = new Tika().parseToString(
-                AudioParserTest.class.getResourceAsStream(path), metadata);
-
-        assertEquals("audio/x-wav", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("44100.0", metadata.get("samplerate"));
-        assertEquals("2", metadata.get("channels"));
-        assertEquals("16", metadata.get("bits"));
-        assertEquals("PCM_SIGNED", metadata.get("encoding"));
-
-        assertEquals("", content);
-    }
-
-    public void testAIFF() throws Exception {
-        String path = "/test-documents/testAIFF.aif";
-        Metadata metadata = new Metadata();
-        String content = new Tika().parseToString(
-                AudioParserTest.class.getResourceAsStream(path), metadata);
-
-        assertEquals("audio/x-aiff", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("44100.0", metadata.get("samplerate"));
-        assertEquals("2", metadata.get("channels"));
-        assertEquals("16", metadata.get("bits"));
-        assertEquals("PCM_SIGNED", metadata.get("encoding"));
-
-        assertEquals("", content);
-    }
-
-    public void testAU() throws Exception {
-        String path = "/test-documents/testAU.au";
-        Metadata metadata = new Metadata();
-        String content = new Tika().parseToString(
-                AudioParserTest.class.getResourceAsStream(path), metadata);
-
-        assertEquals("audio/basic", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("44100.0", metadata.get("samplerate"));
-        assertEquals("2", metadata.get("channels"));
-        assertEquals("16", metadata.get("bits"));
-        assertEquals("PCM_SIGNED", metadata.get("encoding"));
-
-        assertEquals("", content);
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/audio/MidiParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/audio/MidiParserTest.java
deleted file mode 100644
index beda486..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/audio/MidiParserTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.audio;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.Tika;
-import org.apache.tika.metadata.Metadata;
-
-public class MidiParserTest extends TestCase {
-
-    public void testMID() throws Exception {
-        String path = "/test-documents/testMID.mid";
-        Metadata metadata = new Metadata();
-        String content = new Tika().parseToString(
-                MidiParserTest.class.getResourceAsStream(path), metadata);
-
-        assertEquals("audio/midi", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("2", metadata.get("tracks"));
-        assertEquals("0", metadata.get("patches"));
-        assertEquals("PPQ", metadata.get("divisionType"));
-
-        assertTrue(content.contains("Untitled"));
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/dwg/DWGParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/dwg/DWGParserTest.java
deleted file mode 100644
index 9e4f4d3..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/dwg/DWGParserTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.dwg;
-
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-public class DWGParserTest extends TestCase {
-
-    public void testDWG2004Parser() throws Exception {
-        InputStream input = DWGParserTest.class.getResourceAsStream(
-                "/test-documents/testDWG2004.dwg");
-        testParser(input);
-    }
-
-    public void testDWG2004ParserNoHeaderAddress() throws Exception {
-        InputStream input = DWGParserTest.class.getResourceAsStream(
-                "/test-documents/testDWG2004_no_header.dwg");
-        testParserNoHeader(input);
-    }
-
-    public void testDWG2007Parser() throws Exception {
-        InputStream input = DWGParserTest.class.getResourceAsStream(
-                "/test-documents/testDWG2007.dwg");
-        testParser(input);
-    }
-
-    public void testDWG2010Parser() throws Exception {
-        InputStream input = DWGParserTest.class.getResourceAsStream(
-                "/test-documents/testDWG2010.dwg");
-        testParser(input);
-    }
-
-    private void testParser(InputStream input) throws Exception {
-        try {
-            Metadata metadata = new Metadata();
-            ContentHandler handler = new BodyContentHandler();
-            new DWGParser().parse(input, handler, metadata);
-
-            assertEquals("image/vnd.dwg", metadata.get(Metadata.CONTENT_TYPE));
-
-            assertEquals("The quick brown fox jumps over the lazy dog", 
-                    metadata.get(Metadata.TITLE));
-            assertEquals("Gym class featuring a brown fox and lazy dog",
-                    metadata.get(Metadata.SUBJECT));
-            assertEquals("Nevin Nollop",
-                    metadata.get(Metadata.AUTHOR));
-            assertEquals("Pangram, fox, dog",
-                    metadata.get(Metadata.KEYWORDS));
-            assertEquals("Lorem ipsum",
-                    metadata.get(Metadata.COMMENTS).substring(0,11));
-            assertEquals("http://www.alfresco.com",
-                    metadata.get(Metadata.RELATION));
-
-            String content = handler.toString();
-            assertTrue(content.contains("The quick brown fox jumps over the lazy dog"));
-            assertTrue(content.contains("Gym class"));
-            assertTrue(content.contains("www.alfresco.com"));
-        } finally {
-            input.close();
-        }
-    }
-
-    private void testParserNoHeader(InputStream input) throws Exception {
-        try {
-            Metadata metadata = new Metadata();
-            ContentHandler handler = new BodyContentHandler();
-            new DWGParser().parse(input, handler, metadata);
-
-            assertEquals("image/vnd.dwg", metadata.get(Metadata.CONTENT_TYPE));
-            
-            assertNull(metadata.get(Metadata.TITLE));
-            assertNull(metadata.get(Metadata.SUBJECT));
-            assertNull(metadata.get(Metadata.AUTHOR));
-            assertNull(metadata.get(Metadata.KEYWORDS));
-            assertNull(metadata.get(Metadata.COMMENTS));
-            assertNull(metadata.get(Metadata.RELATION));
-
-            String content = handler.toString();
-            assertTrue(content.contains(""));
-        } finally {
-            input.close();
-        }
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/epub/EpubParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/epub/EpubParserTest.java
deleted file mode 100644
index b7b1cac..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/epub/EpubParserTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.epub;
-
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-public class EpubParserTest extends TestCase {
-
-    public void testXMLParser() throws Exception {
-        InputStream input = EpubParserTest.class.getResourceAsStream(
-                "/test-documents/testEPUB.epub");
-        try {
-            Metadata metadata = new Metadata();
-            ContentHandler handler = new BodyContentHandler();
-            new EpubParser().parse(input, handler, metadata);
-
-            assertEquals("application/epub+zip",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            assertEquals("en",
-                    metadata.get(Metadata.LANGUAGE));
-            assertEquals("This is an ePub test publication for Tika.",
-                    metadata.get(Metadata.DESCRIPTION));
-            assertEquals("Apache",
-                    metadata.get(Metadata.PUBLISHER));
-
-            String content = handler.toString();
-            assertTrue(content.contains("Plus a simple div"));
-            assertTrue(content.contains("First item"));
-            assertTrue(content.contains("The previous headings were subchapters"));
-            assertTrue(content.contains("Table data"));
-        } finally {
-            input.close();
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/feed/FeedParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/feed/FeedParserTest.java
deleted file mode 100644
index 54f8fa9..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/feed/FeedParserTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.feed;
-
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-public class FeedParserTest extends TestCase {
-
-    public void testXMLParser() throws Exception {
-        InputStream input = FeedParserTest.class
-                .getResourceAsStream("/test-documents/rsstest.rss");
-        try {
-            Metadata metadata = new Metadata();
-            ContentHandler handler = new BodyContentHandler();
-            ParseContext context = new ParseContext();
-
-            new FeedParser().parse(input, handler, metadata, context);
-
-            String content = handler.toString();
-            assertFalse(content == null);
-
-            assertEquals("Sample RSS File for Junit test",
-                    metadata.get(Metadata.DESCRIPTION));
-            assertEquals("TestChannel", metadata.get(Metadata.TITLE));
-
-            // TODO find a way of testing the paragraphs and anchors
-
-        } finally {
-            input.close();
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/hdf/HDFParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/hdf/HDFParserTest.java
deleted file mode 100644
index 28e4b2d..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/hdf/HDFParserTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.hdf;
-
-//JDK imports
-import java.io.InputStream;
-
-//TIKA imports
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.parser.hdf.HDFParser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-//Junit imports
-import junit.framework.TestCase;
-
-/**
- * 
- * Test suite for the {@link HDFParser}.
- * 
- */
-public class HDFParserTest extends TestCase {
-
-    public void testParseGlobalMetadata() throws Exception {
-        if(System.getProperty("java.version").startsWith("1.5")) {
-            return;
-        }
-        Parser parser = new HDFParser();
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        /*
-         * this is a publicly available HDF5 file from the MLS mission:
-         * 
-         * 
-         * ftp://acdisc.gsfc.nasa.gov/data/s4pa///Aura_MLS_Level2/ML2O3.002//2009
-         * /MLS-Aura_L2GP-O3_v02-23-c01_2009d122.he5
-         */
-        InputStream stream = HDFParser.class
-                .getResourceAsStream("/test-documents/test.he5");
-        try {
-            parser.parse(stream, handler, metadata);
-        } finally {
-            stream.close();
-        }
-
-        assertNotNull(metadata);
-        assertEquals("5", metadata.get("GranuleMonth"));
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/html/HtmlParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/html/HtmlParserTest.java
deleted file mode 100644
index 816c712..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/html/HtmlParserTest.java
+++ /dev/null
@@ -1,712 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.html;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Pattern;
-
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import javax.xml.transform.sax.TransformerHandler;
-import javax.xml.transform.stream.StreamResult;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.Tika;
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Geographic;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.sax.BodyContentHandler;
-import org.apache.tika.sax.TeeContentHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class HtmlParserTest extends TestCase {
-
-    public void testParseAscii() throws Exception {
-        String path = "/test-documents/testHTML.html";
-        final StringWriter href = new StringWriter();
-        final StringWriter name = new StringWriter();
-        ContentHandler body = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-        InputStream stream = HtmlParserTest.class.getResourceAsStream(path);
-        try {
-            ContentHandler link = new DefaultHandler() {
-                @Override
-                public void startElement(
-                        String u, String l, String n, Attributes a)
-                        throws SAXException {
-                    if ("a".equals(l)) {
-                        if (a.getValue("href") != null) {
-                            href.append(a.getValue("href"));
-                        } else if (a.getValue("name") != null) {
-                            name.append(a.getValue("name"));
-                        }
-                    }
-                }
-            };
-            new HtmlParser().parse(
-                    stream, new TeeContentHandler(body, link),
-                    metadata, new ParseContext());
-        } finally {
-            stream.close();
-        }
-
-        assertEquals(
-                "Title : Test Indexation Html", metadata.get(Metadata.TITLE));
-        assertEquals("Tika Developers", metadata.get("Author"));
-        assertEquals("5", metadata.get("refresh"));
-        
-        assertEquals("51.2312", metadata.get(Geographic.LATITUDE));
-        assertEquals("-5.1987", metadata.get(Geographic.LONGITUDE));
-
-        assertEquals("http://www.apache.org/", href.toString());
-        assertEquals("test-anchor", name.toString());
-
-        String content = body.toString();
-        assertTrue(
-                "Did not contain expected text:" + "Test Indexation Html",
-                content.contains("Test Indexation Html"));
-        assertTrue(
-                "Did not contain expected text:" + "Indexation du fichier",
-                content.contains("Indexation du fichier"));
-    }
-
-    public void XtestParseUTF8() throws IOException, SAXException, TikaException {
-        String path = "/test-documents/testXHTML_utf8.html";
-        Metadata metadata = new Metadata();
-        String content = new Tika().parseToString(
-                HtmlParserTest.class.getResourceAsStream(path), metadata);
-
-        assertTrue("Did not contain expected text:"
-                + "Title : Tilte with UTF-8 chars öäå", content
-                .contains("Title : Tilte with UTF-8 chars öäå"));
-
-        assertTrue("Did not contain expected text:"
-                + "Content with UTF-8 chars", content
-                .contains("Content with UTF-8 chars"));
-
-        assertTrue("Did not contain expected text:" + "åäö", content
-                .contains("åäö"));
-    }
-
-    public void testXhtmlParsing() throws Exception {
-        String path = "/test-documents/testXHTML.html";
-        Metadata metadata = new Metadata();
-        String content = new Tika().parseToString(
-                HtmlParserTest.class.getResourceAsStream(path), metadata);
-
-        assertEquals("application/xhtml+xml", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("XHTML test document", metadata.get(Metadata.TITLE));
-
-        assertEquals("Tika Developers", metadata.get("Author"));
-        assertEquals("5", metadata.get("refresh"));
-        assertTrue(content.contains("ability of Apache Tika"));
-        assertTrue(content.contains("extract content"));
-        assertTrue(content.contains("an XHTML document"));
-    }
-
-    public void testParseEmpty() throws Exception {
-        ContentHandler handler = new BodyContentHandler();
-        new HtmlParser().parse(
-                new ByteArrayInputStream(new byte[0]),
-                handler,  new Metadata(), new ParseContext());
-        assertEquals("", handler.toString());
-    }
-
-    /**
-     * Test case for TIKA-210
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-210">TIKA-210</a>
-     */
-    public void testCharactersDirectlyUnderBodyElement() throws Exception {
-        String test = "<html><body>test</body></html>";
-        String content = new Tika().parseToString(
-                new ByteArrayInputStream(test.getBytes("UTF-8")));
-        assertEquals("test", content);
-    }
-
-    /**
-     * Test case for TIKA-287
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-287">TIKA-287</a>
-     */
-    public void testBaseHref() throws Exception {
-        assertRelativeLink(
-                "http://lucene.apache.org/tika/",
-                "http://lucene.apache.org/", "tika/");
-
-        assertRelativeLink(
-                "http://domain.com/?pid=1",
-                "http://domain.com", "?pid=1");
-        assertRelativeLink(
-                "http://domain.com/?pid=2",
-                "http://domain.com?pid=1", "?pid=2");
-
-        assertRelativeLink(
-                "http://domain.com/file.html",
-                "http://domain.com/path/", "/file.html");
-        assertRelativeLink(
-                "http://domain.com/path/file.html",
-                "http://domain.com/path/", "./file.html");
-        assertRelativeLink(
-                "http://domain.com/path/file.html",
-                "http://domain.com/path/", "file.html");
-
-        assertRelativeLink(
-                "http://domain2.com/newpath",
-                "http://domain.com/path/to/file", "http://domain2.com/newpath");
-
-        // See http://www.communities.hp.com/securitysoftware/blogs/jeff/archive/2007/12/19/RFC-1808-vs-2396-vs-3986_3A00_-Browsers-vs.-programing-languages.aspx
-        // Also http://www.ietf.org/rfc/rfc3986.txt
-        // Also http://issues.apache.org/jira/browse/NUTCH-566
-        // Also http://issues.apache.org/jira/browse/NUTCH-436
-        assertRelativeLink(
-                "http://domain.com/path/?pid=1",
-                "http://domain.com/path/", "?pid=1");
-        assertRelativeLink(
-                "http://domain.com/file?pid=1",
-                "http://domain.com/file", "?pid=1");
-        assertRelativeLink(
-                "http://domain.com/path/d;p?pid=1",
-                "http://domain.com/path/d;p?q#f", "?pid=1");
-    }
-
-    private void assertRelativeLink(String url, String base, String relative)
-            throws Exception {
-        String test =
-            "<html><head><base href=\"" + base + "\"></head>"
-            + "<body><a href=\"" + relative + "\">test</a></body></html>";
-        final List<String> links = new ArrayList<String>();
-        new HtmlParser().parse(
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                new DefaultHandler() {
-                    @Override
-                    public void startElement(
-                            String u, String l, String name, Attributes atts) {
-                        if (name.equals("a") && atts.getValue("", "href") != null) {
-                            links.add(atts.getValue("", "href"));
-                        }
-                    }
-                },
-                new Metadata(),
-                new ParseContext());
-        assertEquals(1, links.size());
-        assertEquals(url, links.get(0));
-    }
-
-    /**
-     * Test case for TIKA-268
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-268">TIKA-268</a>
-     */
-    public void testWhitespaceBetweenTableCells() throws Exception {
-        String test =
-            "<html><body><table><tr><td>a</td><td>b</td></table></body></html>";
-        String content = new Tika().parseToString(
-                new ByteArrayInputStream(test.getBytes("UTF-8")));
-        assertTrue(content.contains("a"));
-        assertTrue(content.contains("b"));
-        assertFalse(content.contains("ab"));
-    }
-
-    /**
-     * Test case for TIKA-332
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-332">TIKA-332</a>
-     */
-    public void testHttpEquivCharset() throws Exception {
-        String test =
-            "<html><head><meta http-equiv=\"content-type\""
-            + " content=\"text/html; charset=ISO-8859-1\" />"
-            + "<title>the name is \u00e1ndre</title>"
-            + "</head><body></body></html>";
-        Metadata metadata = new Metadata();
-        new HtmlParser().parse (
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                new BodyContentHandler(),  metadata, new ParseContext());
-        assertEquals("ISO-8859-1", metadata.get(Metadata.CONTENT_ENCODING));
-    }
-
-    /**
-     * Test case for TIKA-334
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-334">TIKA-334</a>
-     */
-    public void testDetectOfCharset() throws Exception {
-        String test =
-            "<html><head><title>\u017d</title></head><body></body></html>";
-        Metadata metadata = new Metadata();
-        new HtmlParser().parse (
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                new BodyContentHandler(),  metadata, new ParseContext());
-        assertEquals("\u017d", metadata.get(Metadata.TITLE));
-    }
-
-    /**
-     * Test case for TIKA-341
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-341">TIKA-341</a>
-     */
-    public void testUsingCharsetInContentTypeHeader() throws Exception {
-        final String test =
-            "<html><head><title>the name is \u00e1ndre</title></head>"
-            + "<body></body></html>";
-
-        Metadata metadata = new Metadata();
-        new HtmlParser().parse (
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                new BodyContentHandler(),  metadata, new ParseContext());
-        assertEquals("UTF-8", metadata.get(Metadata.CONTENT_ENCODING));
-
-        metadata = new Metadata();
-        metadata.set(Metadata.CONTENT_TYPE, "text/html; charset=ISO-8859-1");
-        new HtmlParser().parse (
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                new BodyContentHandler(),  metadata, new ParseContext());
-        assertEquals("ISO-8859-1", metadata.get(Metadata.CONTENT_ENCODING));
-    }
-
-    /**
-     * Test case for HTML content like
-     * "&gt;div&lt;foo&gt;br&lt;bar&gt;/div&gt;" that should result
-     * in three whitespace-separated tokens "foo", "bar" and "baz" instead
-     * of a single token "foobarbaz".
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-343">TIKA-343</a>
-     */
-    public void testLineBreak() throws Exception {
-        String test = "<html><body><div>foo<br>bar</div>baz</body></html>";
-        String text = new Tika().parseToString(
-                new ByteArrayInputStream(test.getBytes("US-ASCII")));
-        String[] parts = text.trim().split("\\s+");
-        assertEquals(3, parts.length);
-        assertEquals("foo", parts[0]);
-        assertEquals("bar", parts[1]);
-        assertEquals("baz", parts[2]);
-    }
-
-    /**
-     * Test case for TIKA-339: Don't use language returned by CharsetDetector
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-339">TIKA-339</a>
-     */
-    public void testIgnoreCharsetDetectorLanguage() throws Exception {
-        String test = "<html><title>Simple Content</title><body></body></html>";
-        Metadata metadata = new Metadata();
-        metadata.add(Metadata.CONTENT_LANGUAGE, "en");
-        new HtmlParser().parse (
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                new BodyContentHandler(),  metadata, new ParseContext());
-
-        assertEquals("en", metadata.get(Metadata.CONTENT_LANGUAGE));
-    }
-
-    /**
-     * Test case for TIKA-349
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-349">TIKA-349</a>
-     */
-    public void testHttpEquivCharsetFunkyAttributes() throws Exception {
-        String test1 =
-            "<html><head><meta http-equiv=\"content-type\""
-            + " content=\"text/html; charset=ISO-8859-1; charset=iso-8859-1\" />"
-            + "<title>the name is \u00e1ndre</title>"
-            + "</head><body></body></html>";
-        Metadata metadata = new Metadata();
-        new HtmlParser().parse (
-                new ByteArrayInputStream(test1.getBytes("UTF-8")),
-                new BodyContentHandler(),  metadata, new ParseContext());
-        assertEquals("ISO-8859-1", metadata.get(Metadata.CONTENT_ENCODING));
-
-        // Some HTML pages have errors like ';;' versus '; ' as separator
-        String test2 =
-            "<html><head><meta http-equiv=\"content-type\""
-            + " content=\"text/html;;charset=ISO-8859-1\" />"
-            + "<title>the name is \u00e1ndre</title>"
-            + "</head><body></body></html>";
-        metadata = new Metadata();
-        new HtmlParser().parse (
-                new ByteArrayInputStream(test2.getBytes("UTF-8")),
-                new BodyContentHandler(),  metadata, new ParseContext());
-        assertEquals("ISO-8859-1", metadata.get(Metadata.CONTENT_ENCODING));
-    }
-
-    /**
-     * Test case for TIKA-350
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-350">TIKA-350</a>
-     */
-    public void testUsingFunkyCharsetInContentTypeHeader() throws Exception {
-        final String test =
-            "<html><head><title>the name is \u00e1ndre</title></head>"
-            + "<body></body></html>";
-
-        Metadata metadata = new Metadata();
-        new HtmlParser().parse (
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                new BodyContentHandler(),  metadata, new ParseContext());
-        assertEquals("UTF-8", metadata.get(Metadata.CONTENT_ENCODING));
-
-        metadata = new Metadata();
-        metadata.set(Metadata.CONTENT_TYPE, "charset=ISO-8859-1;text/html");
-        new HtmlParser().parse (
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                new BodyContentHandler(),  metadata, new ParseContext());
-        assertEquals("ISO-8859-1", metadata.get(Metadata.CONTENT_ENCODING));
-    }
-
-
-    /**
-     * Test case for TIKA-357
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-357">TIKA-357</a>
-     */
-    public void testMetaHttpEquivWithLotsOfPreambleText() throws Exception {
-        String path = "/test-documents/big-preamble.html";
-        Metadata metadata = new Metadata();
-        new HtmlParser().parse(
-                HtmlParserTest.class.getResourceAsStream(path),
-                new BodyContentHandler(),  metadata, new ParseContext());
-
-        assertEquals("windows-1251", metadata.get(Metadata.CONTENT_ENCODING));
-    }
-
-    /**
-     * Test case for TIKA-420
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-420">TIKA-420</a>
-     */
-    public void testBoilerplateRemoval() throws Exception {
-        String path = "/test-documents/boilerplate.html";
-        
-        Metadata metadata = new Metadata();
-        BodyContentHandler handler = new BodyContentHandler();
-        new HtmlParser().parse(
-                HtmlParserTest.class.getResourceAsStream(path),
-                new BoilerpipeContentHandler(handler),  metadata, new ParseContext());
-        
-        String content = handler.toString();
-        assertTrue(content.startsWith("This is the real meat"));
-        assertTrue(content.endsWith("This is the end of the text.\n"));
-        assertFalse(content.contains("boilerplate"));
-        assertFalse(content.contains("footer"));
-    }
-    
-    
-    /**
-     * Test case for TIKA-478. Don't emit <head> sub-elements inside of <body>.
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-478">TIKA-478</a>
-     */
-    public void testElementOrdering() throws Exception {
-        final String test = "<html><head><title>Title</title>" +
-        "<meta http-equiv=\"content-type\" content=\"text/html\">" +
-        "<link rel=\"next\" href=\"next.html\" />" +
-        "</head><body><p>Simple Content</p></body></html>";
-
-        StringWriter sw = new StringWriter();
-        new HtmlParser().parse(
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                makeHtmlTransformer(sw), new Metadata(), new ParseContext());
-
-        String result = sw.toString();
-        
-        // Title element in <head> section
-        assertTrue(Pattern.matches("(?s)<html.*<head>.*<title>Title</title>.*</head>.*$", result));
-
-        // No meta elements in body
-        assertFalse(Pattern.matches("(?s).*<body>.*<meta. *</body>.*$", result));
-        
-        // meta elements should show up in <head> section
-        assertTrue(Pattern.matches("(?s)<html.*<head>.*<meta .*</head>.*$", result));
-        
-        // No link elements in body
-        assertFalse(Pattern.matches("(?s).*<body>.*<link .*</body>.*$", result));
-        
-        // link element should be in <head> section
-        assertTrue(Pattern.matches("(?s)<html.*<head>.*<link .*</head>.*$", result));
-        
-        // There should be ending elements.
-        assertTrue(Pattern.matches("(?s).*</body>.*</html>$", result));
-
-    }
-
-    /**
-     * Test case for TIKA-463. Don't skip elements that have URLs.
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-463">TIKA-463</a>
-     */
-    public void testImgUrlExtraction() throws Exception {
-        final String test = "<html><head><title>Title</title>" +
-        "<base href=\"http://domain.com\" />" +
-        "</head><body><img src=\"image.jpg\" /></body></html>";
-
-        StringWriter sw = new StringWriter();
-        new HtmlParser().parse(
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                makeHtmlTransformer(sw), new Metadata(), new ParseContext());
-
-        String result = sw.toString();
-        
-        // <img> tag should exist, with fully resolved URL
-        assertTrue(Pattern.matches("(?s).*<img src=\"http://domain.com/image.jpg\"/>.*$", result));
-    }
-
-    /**
-     * Test case for TIKA-463. Don't skip elements that have URLs.
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-463">TIKA-463</a>
-     */
-    public void testFrameSrcExtraction() throws Exception {
-        final String test = "<html><head><title>Title</title>" +
-        "<base href=\"http://domain.com\" />" +
-        "</head><frameset><frame src=\"frame.html\" /></frameset></html>";
-
-        StringWriter sw = new StringWriter();
-        new HtmlParser().parse(
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                makeHtmlTransformer(sw), new Metadata(), new ParseContext());
-
-        String result = sw.toString();
-        
-        // <frame> tag should exist, with fully resolved URL
-        assertTrue(Pattern.matches("(?s).*<frame .* src=\"http://domain.com/frame.html\"/>.*$", result));
-    }
-
-    /**
-     * Test case for TIKA-463. Don't skip elements that have URLs.
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-463">TIKA-463</a>
-     */
-    public void testIFrameSrcExtraction() throws Exception {
-        final String test = "<html><head><title>Title</title>" +
-        "<base href=\"http://domain.com\" />" +
-        "</head><body><iframe src =\"framed.html\" width=\"100%\" height=\"300\">" +
-        "<p>Your browser doesn't support iframes!</p></body></html>";
-
-        StringWriter sw = new StringWriter();
-        new HtmlParser().parse(
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                makeHtmlTransformer(sw), new Metadata(), new ParseContext());
-
-        String result = sw.toString();
-        
-        // <iframe> tag should exist, with fully resolved URL
-        assertTrue(Pattern.matches("(?s).*<iframe .* src=\"http://domain.com/framed.html\".*$", result));
-    }
-
-    /**
-     * Test case for TIKA-463. Don't skip elements that have URLs.
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-463">TIKA-463</a>
-     */
-    public void testAreaExtraction() throws Exception {
-        final String test = "<html><head><title>Title</title>" +
-        "<base href=\"http://domain.com\" />" +
-        "</head><body><p><map name=\"map\" id=\"map\">" +
-        "<area shape=\"rect\" href=\"map.html\" alt=\"\" />" +
-        "</map></p></body></html>";
-
-        StringWriter sw = new StringWriter();
-        new HtmlParser().parse(
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                makeHtmlTransformer(sw), new Metadata(), new ParseContext());
-
-        String result = sw.toString();
-        
-        // <map> tag should exist, with <area> tag with fully resolved URL
-        assertTrue(Pattern.matches("(?s).*<map .*<area .* href=\"http://domain.com/map.html\".*</map>.*$", result));
-    }
-
-    /**
-     * Test case for TIKA-463. Don't skip elements that have URLs.
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-463">TIKA-463</a>
-     */
-    public void testObjectExtraction() throws Exception {
-        final String test = "<html><head><title>Title</title>" +
-        "<base href=\"http://domain.com\" />" +
-        "</head><body><p><object data=\"object.data\" type=\"text/html\">" +
-        "<param name=\"name\" value=\"value\" />" +
-        "</object></p></body></html>";
-
-        StringWriter sw = new StringWriter();
-        new HtmlParser().parse(
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                makeHtmlTransformer(sw), new Metadata(), new ParseContext());
-
-        String result = sw.toString();
-        
-        // <object> tag should exist with fully resolved URLs
-        assertTrue(Pattern.matches("(?s).*<object data=\"http://domain.com/object.data\".*<param .* name=\"name\" value=\"value\"/>.*</object>.*$", result));
-    }
-
-    /**
-     * Test case for change related to TIKA-463. Verify proper handling of <meta> tags.
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-463">TIKA-463</a>
-     */
-    public void testMetaTagHandling() throws Exception {
-        final String test = "<html><body><h1>header</h1><p>some text</p></body></html>";
-
-        Metadata metadata = new Metadata();
-        metadata.add("Content-Type", "text/html; charset=utf-8");
-        metadata.add("Language", null);
-        
-        StringWriter sw = new StringWriter();
-        new HtmlParser().parse(
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                makeHtmlTransformer(sw), metadata, new ParseContext());
-
-        String result = sw.toString();
-        
-        // <meta> tag for Content-Type should exist, but nothing for Language
-        assertTrue(Pattern.matches("(?s).*<meta name=\"Content-Type\" content=\"text/html; charset=utf-8\"/>.*$", result));
-        assertFalse(Pattern.matches("(?s).*<meta name=\"Language\".*$", result));
-    }
-
-    /**
-     * Test case for TIKA-457. Better handling for broken HTML that has <frameset> inside of <body>.
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-457">TIKA-457</a>
-     */
-    public void testBrokenFrameset() throws Exception {
-        final String test1 = "<html><head><title>Title</title>" +
-        "<base href=\"http://domain.com\" />" +
-        "</head><body><frameset><frame src=\"frame.html\" /></frameset></body></html>";
-
-        StringWriter sw1 = new StringWriter();
-        new HtmlParser().parse(
-                new ByteArrayInputStream(test1.getBytes("UTF-8")),
-                makeHtmlTransformer(sw1), new Metadata(), new ParseContext());
-
-        String result = sw1.toString();
-        
-        // <frame> tag should exist, with fully resolved URL
-        assertTrue(Pattern.matches("(?s).*<frame .* src=\"http://domain.com/frame.html\"/>.*$", result));
-        
-        // <body> tag should not exist.
-        assertFalse(Pattern.matches("(?s).*<body>.*$", result));
-
-        // Test the example from the Nutch project.
-        final String test2 = "<html><head><title> my title </title></head><body>" +
-        "<frameset rows=\"20,*\"><frame src=\"top.html\"></frame>" +
-        "<frameset cols=\"20,*\"><frame src=\"left.html\"></frame>" +
-        "<frame src=\"invalid.html\"/></frame>" +
-        "<frame src=\"right.html\"></frame>" +
-        "</frameset></frameset></body></html>";
-
-        StringWriter sw2 = new StringWriter();
-        new HtmlParser().parse(
-                new ByteArrayInputStream(test2.getBytes("UTF-8")),
-                makeHtmlTransformer(sw2), new Metadata(), new ParseContext());
-
-        result = sw2.toString();
-        
-        // <frame> tags should exist, with relative URL (no base element specified)
-        assertTrue(Pattern.matches("(?s).*<frame .* src=\"top.html\"/>.*$", result));
-        assertTrue(Pattern.matches("(?s).*<frame .* src=\"left.html\"/>.*$", result));
-        assertTrue(Pattern.matches("(?s).*<frame .* src=\"invalid.html\"/>.*$", result));
-        assertTrue(Pattern.matches("(?s).*<frame .* src=\"right.html\"/>.*$", result));
-
-        // <body> tag should not exist.
-        assertFalse(Pattern.matches("(?s).*<body>.*$", result));
-    }
-
-    /**
-     * Test case for TIKA-480: fix NPE when using BodyContentHandler or HtmlTransformer
-     * as delegate for BoilerpipeContentHandler
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-480">TIKA-480</a>
-     */
-    public void testBoilerplateDelegation() throws Exception {
-        String path = "/test-documents/boilerplate.html";
-        
-        Metadata metadata = new Metadata();
-        StringWriter sw = new StringWriter();
-        new HtmlParser().parse(
-                HtmlParserTest.class.getResourceAsStream(path),
-                makeHtmlTransformer(sw),  metadata, new ParseContext());
-        
-        String content = sw.toString();
-        
-        // Should have <html>, <head>, <title>, <body> elements
-        assertTrue(Pattern.matches("(?s).*<html xmlns=\"http://www.w3.org/1999/xhtml\">.*</html>.*$", content));
-        assertTrue(Pattern.matches("(?s).*<head>.*</head>.*$", content));
-        assertTrue(Pattern.matches("(?s).*<title>Title</title>.*$", content));
-        assertTrue(Pattern.matches("(?s).*<body>.*</body>.*$", content));
-    }
-    
-    /**
-     * Test case for TIKA-481. Verify href in <link> is resolved.
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-481">TIKA-481</a>
-     */
-    public void testLinkHrefResolution() throws Exception {
-        final String test = "<html><head><title>Title</title>" +
-        "<base href=\"http://domain.com\" />" +
-        "<link rel=\"next\" href=\"next.html\" />" +
-        "</head><body></body></html>";
-
-        StringWriter sw = new StringWriter();
-        new HtmlParser().parse(
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                makeHtmlTransformer(sw), new Metadata(), new ParseContext());
-
-        String result = sw.toString();
-        
-        // <link> tag should exist in <head>, with fully resolved URL
-        assertTrue(Pattern.matches("(?s).*<head>.*<link rel=\"next\" href=\"http://domain.com/next.html\"/>.*</head>.*$", result));
-    }
-    
-
-    /**
-     * Create ContentHandler that transforms SAX events into textual HTML output,
-     * and writes it out to <writer> - typically this is a StringWriter.
-     * 
-     * @param writer Where to write resulting HTML text.
-     * @return ContentHandler suitable for passing to parse() methods.
-     * @throws Exception
-     */
-    private ContentHandler makeHtmlTransformer(Writer writer) throws Exception {
-        SAXTransformerFactory factory = (SAXTransformerFactory)SAXTransformerFactory.newInstance();
-        TransformerHandler handler = factory.newTransformerHandler();
-        handler.getTransformer().setOutputProperty(OutputKeys.METHOD, "html");
-        handler.getTransformer().setOutputProperty(OutputKeys.INDENT, "no");
-        handler.getTransformer().setOutputProperty(OutputKeys.ENCODING, "utf-8");
-        handler.setResult(new StreamResult(writer));
-        return handler;
-    }
-    
-    /**
-     * Test case for TIKA-564. Support returning markup from BoilerpipeContentHandler.
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-564">TIKA-564</a>
-     */
-    public void testBoilerplateWithMarkup() throws Exception {
-        String path = "/test-documents/boilerplate.html";
-        
-        Metadata metadata = new Metadata();
-        StringWriter sw = new StringWriter();
-        ContentHandler ch = makeHtmlTransformer(sw);
-        BoilerpipeContentHandler bpch = new BoilerpipeContentHandler(ch);
-        bpch.setIncludeMarkup(true);
-        
-        new HtmlParser().parse(
-                HtmlParserTest.class.getResourceAsStream(path),
-                bpch,  metadata, new ParseContext());
-        
-        String content = sw.toString();
-        assertTrue("Has empty table elements", content.contains("<body><table><tr><td><table><tr><td>"));
-        assertTrue("Has empty a element", content.contains("<a shape=\"rect\" href=\"Main.php\"/>"));
-        assertTrue("Has real content", content.contains("<p>This is the real meat"));
-        assertTrue("Ends with appropriate HTML", content.endsWith("</p></body></html>"));
-        assertFalse(content.contains("boilerplate"));
-        assertFalse(content.contains("footer"));
-    }
-    
-    
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/ImageMetadataExtractorTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/ImageMetadataExtractorTest.java
deleted file mode 100644
index cce5995..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/ImageMetadataExtractorTest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.image;
-
-import java.util.Arrays;
-import java.util.GregorianCalendar;
-import java.util.Iterator;
-
-import org.apache.tika.metadata.DublinCore;
-import org.apache.tika.metadata.Metadata;
-
-import com.drew.metadata.Directory;
-import com.drew.metadata.MetadataException;
-import com.drew.metadata.Tag;
-import com.drew.metadata.exif.ExifDirectory;
-import com.drew.metadata.jpeg.JpegCommentDirectory;
-
-import junit.framework.TestCase;
-
-import static org.mockito.Mockito.*;
-
-public class ImageMetadataExtractorTest extends TestCase {
-    
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    public void testHandleDirectories() throws MetadataException {
-        Metadata metadata = mock(Metadata.class);
-        ImageMetadataExtractor.DirectoryHandler handler1 = mock(ImageMetadataExtractor.DirectoryHandler.class);
-        ImageMetadataExtractor e = new ImageMetadataExtractor(metadata, handler1);
-        
-        Directory directory = new JpegCommentDirectory();
-        Iterator directories = mock(Iterator.class);
-        when(directories.hasNext()).thenReturn(true, false);
-        when(directories.next()).thenReturn(directory);
-        when(handler1.supports(JpegCommentDirectory.class)).thenReturn(true);
-        
-        e.handle(directories);
-        verify(handler1).supports(JpegCommentDirectory.class);
-        verify(handler1).handle(directory, metadata);
-    }
-    
-    public void testExifHandlerSupports() {
-        assertTrue(new ImageMetadataExtractor.ExifHandler().supports(ExifDirectory.class));
-        assertFalse(new ImageMetadataExtractor.ExifHandler().supports(Directory.class));
-        assertFalse(new ImageMetadataExtractor.ExifHandler().supports(JpegCommentDirectory.class));
-    }
-    
-    public void testExifHandlerParseDate() throws MetadataException {
-        ExifDirectory exif = mock(ExifDirectory.class);
-        when(exif.containsTag(ExifDirectory.TAG_DATETIME_ORIGINAL)).thenReturn(true);
-        when(exif.getDate(ExifDirectory.TAG_DATETIME_ORIGINAL)).thenReturn(
-                new GregorianCalendar(2000, 0, 1, 0, 0, 0).getTime()); // jvm default timezone as in Metadata Extractor
-        Metadata metadata = new Metadata();
-        
-        new ImageMetadataExtractor.ExifHandler().handle(exif, metadata);
-        assertEquals("Should be ISO date without time zone", "2000-01-01T00:00:00", metadata.get(DublinCore.DATE));
-    }
-
-    public void testExifHandlerParseDateFallback() throws MetadataException {
-        ExifDirectory exif = mock(ExifDirectory.class);
-        when(exif.containsTag(ExifDirectory.TAG_DATETIME)).thenReturn(true);
-        when(exif.getDate(ExifDirectory.TAG_DATETIME)).thenReturn(
-                new GregorianCalendar(1999, 0, 1, 0, 0, 0).getTime()); // jvm default timezone as in Metadata Extractor
-        Metadata metadata = new Metadata();
-        
-        new ImageMetadataExtractor.ExifHandler().handle(exif, metadata);
-        assertEquals("Should try EXIF Date/Time if Original is not set", "1999-01-01T00:00:00", metadata.get(DublinCore.DATE));
-    }
-    
-    public void testExifHandlerParseDateError() throws MetadataException {
-        ExifDirectory exif = mock(ExifDirectory.class);
-        when(exif.containsTag(ExifDirectory.TAG_DATETIME_ORIGINAL)).thenReturn(true);
-        when(exif.getDate(ExifDirectory.TAG_DATETIME_ORIGINAL)).thenThrow(
-                new MetadataException("Tag 'X' cannot be cast to a java.util.Date."));
-        Metadata metadata = new Metadata();
-        
-        new ImageMetadataExtractor.ExifHandler().handle(exif, metadata);
-        assertEquals("Parsing should proceed without date", null, metadata.get(DublinCore.DATE));
-    }
-    
-    public void testCopyUnknownFieldsHandler() throws MetadataException {
-        Directory d = mock(Directory.class);
-        Tag t1 = mock(Tag.class);
-        when(t1.getTagName()).thenReturn("Image Description");
-        when(t1.getDescription()).thenReturn("t1");
-        Tag t2 = mock(Tag.class);
-        when(t2.getTagName()).thenReturn(Metadata.KEYWORDS);
-        when(t2.getDescription()).thenReturn("known");
-        Tag t3 = mock(Tag.class);
-        when(t3.getTagName()).thenReturn(Metadata.DESCRIPTION);
-        when(t3.getDescription()).thenReturn("known");
-        Iterator<Tag> tags = Arrays.asList(t1, t2, t3).iterator();
-        when(d.getTagIterator()).thenReturn(tags);
-        Metadata metadata = new Metadata();
-        new ImageMetadataExtractor.CopyUnknownFieldsHandler().handle(d, metadata);
-        assertEquals("t1", metadata.get("Image Description"));
-        assertNull("keywords should be excluded from bulk copy because it is a defined field",
-                metadata.get(Metadata.KEYWORDS));
-        assertNull(metadata.get(Metadata.DESCRIPTION));
-    }
-    
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/ImageParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/ImageParserTest.java
deleted file mode 100644
index f322772..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/ImageParserTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.image;
-
-import java.io.InputStream;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.Parser;
-import org.xml.sax.helpers.DefaultHandler;
-
-import junit.framework.TestCase;
-
-public class ImageParserTest extends TestCase {
-
-    private final Parser parser = new ImageParser();
-
-    public void testBMP() throws Exception {
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.CONTENT_TYPE, "image/bmp");
-        InputStream stream =
-            getClass().getResourceAsStream("/test-documents/testBMP.bmp");
-        parser.parse(stream, new DefaultHandler(), metadata);
-
-        assertEquals("75", metadata.get("height"));
-        assertEquals("100", metadata.get("width"));
-        assertEquals("8 8 8 ", metadata.get("Data BitsPerSample"));
-        assertEquals("1.0", metadata.get("Dimension PixelAspectRatio"));
-        assertEquals("0", metadata.get("Dimension VerticalPhysicalPixelSpacing"));
-        assertEquals("0", metadata.get("Dimension HorizontalPhysicalPixelSpacing"));
-        assertEquals("BI_RGB", metadata.get("Compression CompressionTypeName"));
-        assertEquals("image/bmp", metadata.get("Content-Type"));
-        
-        assertEquals("100", metadata.get(Metadata.IMAGE_WIDTH));
-        assertEquals("75", metadata.get(Metadata.IMAGE_LENGTH));
-        assertEquals("8 8 8", metadata.get(Metadata.BITS_PER_SAMPLE));
-    }
-
-    public void testGIF() throws Exception {
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.CONTENT_TYPE, "image/gif");
-        InputStream stream =
-            getClass().getResourceAsStream("/test-documents/testGIF.gif");
-        parser.parse(stream, new DefaultHandler(), metadata);
-
-        assertEquals("75", metadata.get("height"));
-        assertEquals("100", metadata.get("width"));
-        assertEquals("TRUE", metadata.get("Compression Lossless"));
-        assertEquals("Normal", metadata.get("Dimension ImageOrientation"));
-        assertEquals("lzw", metadata.get("Compression CompressionTypeName"));
-        assertEquals("0", metadata.get("Dimension HorizontalPixelOffset"));
-        assertEquals("imageLeftPosition=0, imageTopPosition=0, imageWidth=100, imageHeight=75, interlaceFlag=false", metadata.get("ImageDescriptor"));
-        assertEquals("Index", metadata.get("Data SampleFormat"));
-        assertEquals("3", metadata.get("Chroma NumChannels"));
-        assertEquals("1", metadata.get("Compression NumProgressiveScans"));
-        assertEquals("RGB", metadata.get("Chroma ColorSpaceType"));
-        assertEquals("Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.", metadata.get("CommentExtensions CommentExtension"));
-        assertEquals("value=Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership., encoding=ISO-8859-1, compression=none", metadata.get("Text TextEntry"));
-        assertEquals("TRUE", metadata.get("Chroma BlackIsZero"));
-        assertEquals("disposalMethod=none, userInputFlag=false, transparentColorFlag=false, delayTime=0, transparentColorIndex=0", metadata.get("GraphicControlExtension"));
-        assertEquals("0", metadata.get("Dimension VerticalPixelOffset"));
-        assertEquals("image/gif", metadata.get("Content-Type"));
-        
-        assertEquals("100", metadata.get(Metadata.IMAGE_WIDTH));
-        assertEquals("75", metadata.get(Metadata.IMAGE_LENGTH));
-        assertEquals("Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.", metadata.get(Metadata.COMMENTS));
-    }
-
-    public void testJPEG() throws Exception {
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.CONTENT_TYPE, "image/jpeg");
-        InputStream stream =
-            getClass().getResourceAsStream("/test-documents/testJPEG.jpg");
-        parser.parse(stream, new DefaultHandler(), metadata);
-
-        assertEquals("75", metadata.get("height"));
-        assertEquals("100", metadata.get("width"));
-        assertEquals("0.35277778", metadata.get("Dimension VerticalPixelSize"));
-        assertEquals("false", metadata.get("Compression Lossless"));
-        assertEquals("class=0, htableId=0", metadata.get("markerSequence dht dhtable"));
-        assertEquals("majorVersion=1, minorVersion=1, resUnits=1, Xdensity=72, Ydensity=72, thumbWidth=0, thumbHeight=0", metadata.get("JPEGvariety app0JFIF"));
-        assertEquals("225", metadata.get("markerSequence unknown"));
-        assertEquals("componentSelector=1, dcHuffTable=0, acHuffTable=0", metadata.get("markerSequence sos scanComponentSpec"));
-        assertEquals("normal", metadata.get("Dimension ImageOrientation"));
-        assertEquals("1.0", metadata.get("Dimension PixelAspectRatio"));
-        assertEquals("elementPrecision=0, qtableId=0", metadata.get("markerSequence dqt dqtable"));
-        assertEquals("numScanComponents=3, startSpectralSelection=0, endSpectralSelection=63, approxHigh=0, approxLow=0", metadata.get("markerSequence sos"));
-        assertEquals("componentId=1, HsamplingFactor=1, VsamplingFactor=1, QtableSelector=0", metadata.get("markerSequence sof componentSpec"));
-        assertEquals("JPEG", metadata.get("Compression CompressionTypeName"));
-        assertEquals("0.35277778", metadata.get("Dimension HorizontalPixelSize"));
-        assertEquals("Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.", metadata.get("markerSequence com"));
-        assertEquals("3", metadata.get("Chroma NumChannels"));
-        assertEquals("1", metadata.get("Compression NumProgressiveScans"));
-        assertEquals("YCbCr", metadata.get("Chroma ColorSpaceType"));
-        assertEquals("keyword=comment, value=Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.", metadata.get("Text TextEntry"));
-        assertEquals("image/jpeg", metadata.get("Content-Type"));
-        assertEquals("process=0, samplePrecision=8, numLines=75, samplesPerLine=100, numFrameComponents=3", metadata.get("markerSequence sof"));
-        
-        assertEquals("100", metadata.get(Metadata.IMAGE_WIDTH));
-        assertEquals("75", metadata.get(Metadata.IMAGE_LENGTH));
-        assertEquals("Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.", metadata.get(Metadata.COMMENTS));
-    }
-
-    public void testPNG() throws Exception {
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.CONTENT_TYPE, "image/png");
-        InputStream stream =
-            getClass().getResourceAsStream("/test-documents/testPNG.png");
-        parser.parse(stream, new DefaultHandler(), metadata);
-
-        assertEquals("75", metadata.get("height"));
-        assertEquals("100", metadata.get("width"));
-        assertEquals("0.35273367", metadata.get("Dimension VerticalPixelSize"));
-        assertEquals("8 8 8", metadata.get("Data BitsPerSample"));
-        assertEquals("Perceptual", metadata.get("sRGB"));
-        assertEquals("true", metadata.get("Compression Lossless"));
-        assertEquals("year=2008, month=5, day=6, hour=6, minute=18, second=47", metadata.get("tIME"));
-        assertEquals("Normal", metadata.get("Dimension ImageOrientation"));
-        assertEquals("1.0", metadata.get("Dimension PixelAspectRatio"));
-        assertEquals("keyword=Comment, value=Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.", metadata.get("tEXt tEXtEntry"));
-        assertEquals("deflate", metadata.get("Compression CompressionTypeName"));
-        assertEquals("UnsignedIntegral", metadata.get("Data SampleFormat"));
-        assertEquals("0.35273367", metadata.get("Dimension HorizontalPixelSize"));
-        assertEquals("none", metadata.get("Transparency Alpha"));
-        assertEquals("pixelsPerUnitXAxis=2835, pixelsPerUnitYAxis=2835, unitSpecifier=meter", metadata.get("pHYs"));
-        assertEquals("3", metadata.get("Chroma NumChannels"));
-        assertEquals("1", metadata.get("Compression NumProgressiveScans"));
-        assertEquals("RGB", metadata.get("Chroma ColorSpaceType"));
-        assertEquals("keyword=Comment, value=Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership., encoding=ISO-8859-1, compression=none", metadata.get("Text TextEntry"));
-        assertEquals("PixelInterleaved", metadata.get("Data PlanarConfiguration"));
-        assertEquals("width=100, height=75, bitDepth=8, colorType=RGB, compressionMethod=deflate, filterMethod=adaptive, interlaceMethod=none", metadata.get("IHDR"));
-        assertEquals("true", metadata.get("Chroma BlackIsZero"));
-        assertEquals("year=2008, month=5, day=6, hour=6, minute=18, second=47", metadata.get("Document ImageModificationTime"));
-        assertEquals("image/png", metadata.get("Content-Type"));
-        
-        assertEquals("100", metadata.get(Metadata.IMAGE_WIDTH));
-        assertEquals("75", metadata.get(Metadata.IMAGE_LENGTH));
-        assertEquals("8 8 8", metadata.get(Metadata.BITS_PER_SAMPLE));
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/MetadataFieldsTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/MetadataFieldsTest.java
deleted file mode 100644
index 3b145bd..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/MetadataFieldsTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.image;
-
-import org.apache.tika.metadata.DublinCore;
-import org.apache.tika.metadata.TIFF;
-
-import junit.framework.TestCase;
-
-public class MetadataFieldsTest extends TestCase {
-
-    public void testIsMetadataField() {
-        assertFalse(MetadataFields.isMetadataField("random string that is not a field"));
-        assertFalse(MetadataFields.isMetadataField("xyz"));
-        assertTrue(MetadataFields.isMetadataField(DublinCore.SUBJECT));
-        assertTrue(MetadataFields.isMetadataField(TIFF.F_NUMBER.getName()));
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/TiffParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/TiffParserTest.java
deleted file mode 100644
index e7b52a6..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/TiffParserTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.image;
-
-import junit.framework.TestCase;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.parser.image.TiffParser;
-import org.apache.tika.metadata.Metadata;
-import org.xml.sax.helpers.DefaultHandler;
-
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.List;
-
-public class TiffParserTest extends TestCase {
-    private final Parser parser = new TiffParser();
-
-    public void testTIFF() throws Exception {
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.CONTENT_TYPE, "image/tiff");
-        InputStream stream =
-            getClass().getResourceAsStream("/test-documents/testTIFF.tif");
-        parser.parse(stream, new DefaultHandler(), metadata);
-
-        assertEquals("Licensed to the Apache Software Foundation (ASF) under one or " +
-        		"more contributor license agreements.  See the NOTICE file " +
-        		"distributed with this work for additional information regarding " +
-        		"copyright ownership.", metadata.get(Metadata.DESCRIPTION));
-        
-        // All EXIF/TIFF tags
-        assertEquals("Inch", metadata.get(Metadata.RESOLUTION_UNIT));
-        
-        // Core EXIF/TIFF tags
-        assertEquals("100", metadata.get(Metadata.IMAGE_WIDTH));
-        assertEquals("75", metadata.get(Metadata.IMAGE_LENGTH));
-        assertEquals("8", metadata.get(Metadata.BITS_PER_SAMPLE));
-        assertEquals("3", metadata.get(Metadata.SAMPLES_PER_PIXEL));
-        
-        // Embedded XMP
-        List<String> subject = Arrays.asList(metadata.getValues(Metadata.SUBJECT));
-        assertTrue("got " + subject, subject.contains("cat"));
-        assertTrue("got " + subject, subject.contains("garden"));
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/xmp/JempboxExtractorTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/xmp/JempboxExtractorTest.java
deleted file mode 100644
index c9291ce..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/xmp/JempboxExtractorTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.image.xmp;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.image.xmp.JempboxExtractor;
-
-import junit.framework.TestCase;
-
-public class JempboxExtractorTest extends TestCase {
-   
-    public void testParseJpeg() throws IOException, TikaException {
-        Metadata metadata = new Metadata();
-        InputStream stream = getClass().getResourceAsStream("/test-documents/testJPEG_commented.jpg");
-        // set some values before extraction to see that they are overridden
-        metadata.set(Metadata.TITLE, "old title");
-        metadata.set(Metadata.DESCRIPTION, "old description");
-        metadata.set(Metadata.CREATOR, "previous author");
-        // ... or kept in case the field is multi-value
-        metadata.add(Metadata.SUBJECT, "oldkeyword");
-        
-        JempboxExtractor extractor = new JempboxExtractor(metadata);
-        extractor.parse(stream);
-        
-        // DublinCore fields
-        assertEquals("Tosteberga \u00C4ngar", metadata.get(Metadata.TITLE));
-        assertEquals("Bird site in north eastern Sk\u00E5ne, Sweden.\n(new line)", metadata.get(Metadata.DESCRIPTION));
-        assertEquals("Some Tourist", metadata.get(Metadata.CREATOR));
-        Collection<String> keywords = Arrays.asList(metadata.getValues(Metadata.SUBJECT));  
-        assertTrue(keywords.contains("oldkeyword"));
-        assertTrue(keywords.contains("grazelands"));
-        assertTrue(keywords.contains("nature reserve"));
-        assertTrue(keywords.contains("bird watching"));
-        assertTrue(keywords.contains("coast"));
-    }
-
-    public void testParseJpegPhotoshop() throws IOException, TikaException {
-        Metadata metadata = new Metadata();
-        InputStream stream = getClass().getResourceAsStream("/test-documents/testJPEG_commented_pspcs2mac.jpg");
-       
-        JempboxExtractor extractor = new JempboxExtractor(metadata);
-        extractor.parse(stream);
-        
-        // DublinCore fields
-        assertEquals("Tosteberga \u00C4ngar", metadata.get(Metadata.TITLE));
-        assertEquals("Bird site in north eastern Sk\u00E5ne, Sweden.\n(new line)", metadata.get(Metadata.DESCRIPTION));
-        assertEquals("Some Tourist", metadata.get(Metadata.CREATOR));
-        Collection<String> keywords = Arrays.asList(metadata.getValues(Metadata.SUBJECT));  
-        assertTrue(keywords.contains("bird watching"));
-        assertTrue(keywords.contains("coast"));
-    }
-    
-    public void testParseJpegXnviewmp() throws IOException, TikaException {
-        Metadata metadata = new Metadata();
-        InputStream stream = getClass().getResourceAsStream("/test-documents/testJPEG_commented_xnviewmp026.jpg");
-       
-        JempboxExtractor extractor = new JempboxExtractor(metadata);
-        extractor.parse(stream);
-        
-        // XnViewMp fields not understood by Jempbox
-        assertEquals("Bird site in north eastern Sk\u00E5ne, Sweden.\n(new line)", metadata.get(Metadata.DESCRIPTION));
-        Collection<String> keywords = Arrays.asList(metadata.getValues(Metadata.SUBJECT));
-        assertTrue(keywords.contains("coast"));
-        assertTrue(keywords.contains("nature reserve"));
-    }
-    
-    public void testJoinCreators() {
-        assertEquals("Mr B", new JempboxExtractor(null).joinCreators(
-                Arrays.asList("Mr B")));
-        // TODO use multi-value property instead?
-        assertEquals("Mr B, Mr A", new JempboxExtractor(null).joinCreators(
-                Arrays.asList("Mr B", "Mr A")));
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/iwork/IWorkParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/iwork/IWorkParserTest.java
deleted file mode 100644
index aee73c7..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/iwork/IWorkParserTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.iwork;
-
-import junit.framework.TestCase;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-import java.io.InputStream;
-
-/**
- * Tests if the IWork parser parses the content and metadata properly of the supported formats.
- */
-public class IWorkParserTest extends TestCase {
-
-    private IWorkPackageParser iWorkParser;
-    private ParseContext parseContext;
-
-    @Override
-    protected void setUp() throws Exception {
-        iWorkParser = new IWorkPackageParser();
-        parseContext = new ParseContext();
-        parseContext.set(Parser.class, new AutoDetectParser());
-    }
-
-    public void testParseKeynote() throws Exception {
-        InputStream input = IWorkParserTest.class.getResourceAsStream("/test-documents/testKeynote.key");
-        Metadata metadata = new Metadata();
-        ContentHandler handler = new BodyContentHandler();
-        iWorkParser.parse(input, handler, metadata, parseContext);
-
-        assertEquals(6, metadata.size());
-        assertEquals("application/vnd.apple.keynote", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("3", metadata.get(Metadata.SLIDE_COUNT));
-        assertEquals("1024", metadata.get(KeynoteContentHandler.PRESENTATION_WIDTH));
-        assertEquals("768", metadata.get(KeynoteContentHandler.PRESENTATION_HEIGHT));
-        assertEquals("Tika user", metadata.get(Metadata.AUTHOR));
-        assertEquals("Apache tika", metadata.get(Metadata.TITLE));
-
-        String content = handler.toString();
-        assertTrue(content.contains("A sample presentation"));
-        assertTrue(content.contains("For the Apache Tika project"));
-        assertTrue(content.contains("Slide 1"));
-        assertTrue(content.contains("Some random text for the sake of testability."));
-        assertTrue(content.contains("A nice comment"));
-        assertTrue(content.contains("A nice note"));
-
-        // test table data
-        assertTrue(content.contains("Cell one"));
-        assertTrue(content.contains("Cell two"));
-        assertTrue(content.contains("Cell three"));
-        assertTrue(content.contains("Cell four"));
-        assertTrue(content.contains("Cell 5"));
-        assertTrue(content.contains("Cell six"));
-        assertTrue(content.contains("7"));
-        assertTrue(content.contains("Cell eight"));
-        assertTrue(content.contains("5/5/1985"));
-    }
-
-    public void testParsePages() throws Exception {
-        InputStream input = IWorkParserTest.class.getResourceAsStream("/test-documents/testPages.pages");
-        Metadata metadata = new Metadata();
-        ContentHandler handler = new BodyContentHandler();
-        iWorkParser.parse(input, handler, metadata, parseContext);
-
-        assertEquals(51, metadata.size());
-        assertEquals("application/vnd.apple.pages", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("Tika user", metadata.get(Metadata.AUTHOR));
-        assertEquals("Apache tika", metadata.get(Metadata.TITLE));
-        assertEquals("2010-05-09T21:34:38+0200", metadata.get(Metadata.CREATION_DATE));
-        assertEquals("2010-05-09T23:50:36+0200", metadata.get(Metadata.LAST_MODIFIED));
-        assertEquals("en", metadata.get(Metadata.LANGUAGE));
-        assertEquals("2", metadata.get(Metadata.PAGE_COUNT));
-
-        String content = handler.toString();
-
-        // text on page 1
-        assertTrue(content.contains("Sample pages document"));
-        assertTrue(content.contains("Some plain text to parse."));
-        assertTrue(content.contains("Cell one"));
-        assertTrue(content.contains("Cell two"));
-        assertTrue(content.contains("Cell three"));
-        assertTrue(content.contains("Cell four"));
-        assertTrue(content.contains("Cell five"));
-        assertTrue(content.contains("Cell six"));
-        assertTrue(content.contains("Cell seven"));
-        assertTrue(content.contains("Cell eight"));
-        assertTrue(content.contains("Cell nine"));
-        assertTrue(content.contains("Both Pages 1.x and Keynote 2.x")); // ...
-
-        // text on page 2
-        assertTrue(content.contains("A second page...."));
-        assertTrue(content.contains("Extensible Markup Language")); // ...
-    }
-
-    public void testParseNumbers() throws Exception {
-        InputStream input = IWorkParserTest.class.getResourceAsStream("/test-documents/testNumbers.numbers");
-        Metadata metadata = new Metadata();
-        ContentHandler handler = new BodyContentHandler();
-
-        iWorkParser.parse(input, handler, metadata, parseContext);
-
-        String content = handler.toString();
-        assertEquals(9, metadata.size());
-        assertEquals("2", metadata.get(Metadata.PAGE_COUNT));
-        assertEquals("Tika User", metadata.get(Metadata.AUTHOR));
-        assertEquals("Account checking", metadata.get(Metadata.TITLE));
-        assertEquals("a comment", metadata.get(Metadata.COMMENT));
-
-        assertTrue(content.contains("Category"));
-        assertTrue(content.contains("Home"));
-        assertTrue(content.contains("-226"));
-        assertTrue(content.contains("-137.5"));
-        assertTrue(content.contains("Checking Account: 300545668"));
-        assertTrue(content.contains("4650"));
-        assertTrue(content.contains("Credit Card"));
-        assertTrue(content.contains("Groceries"));
-        assertTrue(content.contains("-210"));
-        assertTrue(content.contains("Food"));
-        assertTrue(content.contains("Try adding your own account transactions to this table."));
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java
deleted file mode 100644
index 9d3939d..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.jpeg;
-
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.TIFF;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class JpegParserTest extends TestCase {
-    private final Parser parser = new JpegParser();
-
-    public void testJPEG() throws Exception {
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.CONTENT_TYPE, "image/jpeg");
-        InputStream stream =
-            getClass().getResourceAsStream("/test-documents/testJPEG_EXIF.jpg");
-        parser.parse(stream, new DefaultHandler(), metadata, new ParseContext());
-
-        // Core EXIF/TIFF tags
-        assertEquals("100", metadata.get(Metadata.IMAGE_WIDTH));
-        assertEquals("68", metadata.get(Metadata.IMAGE_LENGTH));
-        assertEquals("8", metadata.get(Metadata.BITS_PER_SAMPLE));
-        assertEquals(null, metadata.get(Metadata.SAMPLES_PER_PIXEL));
-        
-        assertEquals("6.25E-4", metadata.get(Metadata.EXPOSURE_TIME)); // 1/1600
-        assertEquals("5.6", metadata.get(Metadata.F_NUMBER));
-        assertEquals("false", metadata.get(Metadata.FLASH_FIRED));
-        assertEquals("194.0", metadata.get(Metadata.FOCAL_LENGTH));
-        assertEquals("400", metadata.get(Metadata.ISO_SPEED_RATINGS));
-        assertEquals("Canon", metadata.get(Metadata.EQUIPMENT_MAKE));
-        assertEquals("Canon EOS 40D", metadata.get(Metadata.EQUIPMENT_MODEL));
-        assertEquals("Adobe Photoshop CS3 Macintosh", metadata.get(Metadata.SOFTWARE));
-        assertEquals(null, metadata.get(Metadata.ORIENTATION)); // Not present
-        assertEquals("240.0", metadata.get(Metadata.RESOLUTION_HORIZONTAL));
-        assertEquals("240.0", metadata.get(Metadata.RESOLUTION_VERTICAL));
-        assertEquals("Inch", metadata.get(Metadata.RESOLUTION_UNIT));
-        
-        // Check that EXIF/TIFF tags come through with their raw values too
-        // (This may be removed for Tika 1.0, as we support more of them
-        //  with explicit Metadata entries)
-        assertEquals("Canon EOS 40D", metadata.get("Model"));
-        
-        // Common tags
-        //assertEquals("2009-10-02T23:02:49", metadata.get(Metadata.LAST_MODIFIED));
-        assertEquals("Date/Time Original for when the photo was taken, unspecified time zone",
-                "2009-08-11T09:09:45", metadata.get(Metadata.DATE));
-        List<String> keywords = Arrays.asList(metadata.getValues(Metadata.SUBJECT));
-        assertTrue("'canon-55-250' expected in " + keywords, keywords.contains("canon-55-250"));
-        assertTrue("'moscow-birds' expected in " + keywords, keywords.contains("moscow-birds")); 
-        assertTrue("'serbor' expected in " + keywords, keywords.contains("serbor"));
-        assertFalse(keywords.contains("canon-55-250 moscow-birds serbor"));
-    }
-
-    public void testJPEGGeo() throws Exception {
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.CONTENT_TYPE, "image/jpeg");
-        InputStream stream =
-            getClass().getResourceAsStream("/test-documents/testJPEG_GEO.jpg");
-        parser.parse(stream, new DefaultHandler(), metadata, new ParseContext());
-        
-        // Geo tags
-        assertEquals("12.54321", metadata.get(Metadata.LATITUDE));
-        assertEquals("-54.1234", metadata.get(Metadata.LONGITUDE));
-        
-        // Core EXIF/TIFF tags
-        assertEquals("100", metadata.get(Metadata.IMAGE_WIDTH));
-        assertEquals("68", metadata.get(Metadata.IMAGE_LENGTH));
-        assertEquals("8", metadata.get(Metadata.BITS_PER_SAMPLE));
-        assertEquals(null, metadata.get(Metadata.SAMPLES_PER_PIXEL));
-        
-        assertEquals("6.25E-4", metadata.get(Metadata.EXPOSURE_TIME)); // 1/1600
-        assertEquals("5.6", metadata.get(Metadata.F_NUMBER));
-        assertEquals("false", metadata.get(Metadata.FLASH_FIRED));
-        assertEquals("194.0", metadata.get(Metadata.FOCAL_LENGTH));
-        assertEquals("400", metadata.get(Metadata.ISO_SPEED_RATINGS));
-        assertEquals("Canon", metadata.get(Metadata.EQUIPMENT_MAKE));
-        assertEquals("Canon EOS 40D", metadata.get(Metadata.EQUIPMENT_MODEL));
-        assertEquals("Adobe Photoshop CS3 Macintosh", metadata.get(Metadata.SOFTWARE));
-        assertEquals(null, metadata.get(Metadata.ORIENTATION)); // Not present
-        assertEquals("240.0", metadata.get(Metadata.RESOLUTION_HORIZONTAL));
-        assertEquals("240.0", metadata.get(Metadata.RESOLUTION_VERTICAL));
-        assertEquals("Inch", metadata.get(Metadata.RESOLUTION_UNIT));
-        
-        // Common tags
-        assertEquals("Date/Time Original for when the photo was taken, unspecified time zone",
-                "2009-08-11T09:09:45", metadata.get(Metadata.DATE));
-        assertEquals("This image has different Date/Time than Date/Time Original, so it is probably modification date",
-                "2009-10-02T23:02:49", metadata.get(Metadata.LAST_MODIFIED));
-        assertEquals("Date/Time Original should be stored in EXIF field too",
-                "2009-08-11T09:09:45", metadata.get(TIFF.ORIGINAL_DATE));
-        assertEquals("canon-55-250", metadata.getValues(Metadata.KEYWORDS)[0]);
-    }
-    
-    public void testJPEGTitleAndDescription() throws Exception {
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.CONTENT_TYPE, "image/jpeg");
-        InputStream stream =
-            getClass().getResourceAsStream("/test-documents/testJPEG_commented.jpg");
-        parser.parse(stream, new DefaultHandler(), metadata, new ParseContext());
-          
-        // embedded comments with non-ascii characters
-        assertEquals("Tosteberga \u00C4ngar", metadata.get(Metadata.TITLE));
-        assertEquals("Bird site in north eastern Sk\u00E5ne, Sweden.\n(new line)", metadata.get(Metadata.DESCRIPTION));
-        assertEquals("Some Tourist", metadata.get(Metadata.AUTHOR));
-        assertEquals("Some Tourist", metadata.get(Metadata.CREATOR)); // Dublin Core
-        // xmp handles spaces in keywords, returns "bird watching, nature reserve, coast, grazelands"
-        // but we have to replace them with underscore
-        
-        List<String> keywords = Arrays.asList(metadata.getValues(Metadata.KEYWORDS));
-        assertTrue(keywords.contains("coast"));
-        assertTrue(keywords.contains("bird watching"));
-        assertEquals(keywords, Arrays.asList(metadata.getValues(Metadata.SUBJECT)));
-        
-        // Core EXIF/TIFF tags
-        assertEquals("103", metadata.get(Metadata.IMAGE_WIDTH));
-        assertEquals("77", metadata.get(Metadata.IMAGE_LENGTH));
-        assertEquals("8", metadata.get(Metadata.BITS_PER_SAMPLE));
-        assertEquals(null, metadata.get(Metadata.SAMPLES_PER_PIXEL));
-        
-        assertEquals("1.0E-6", metadata.get(Metadata.EXPOSURE_TIME)); // 1/1000000
-        assertEquals("2.8", metadata.get(Metadata.F_NUMBER));
-        assertEquals("4.6", metadata.get(Metadata.FOCAL_LENGTH));
-        assertEquals("114", metadata.get(Metadata.ISO_SPEED_RATINGS));
-        assertEquals(null, metadata.get(Metadata.EQUIPMENT_MAKE));
-        assertEquals(null, metadata.get(Metadata.EQUIPMENT_MODEL));
-        assertEquals(null, metadata.get(Metadata.SOFTWARE));
-        assertEquals("1", metadata.get(Metadata.ORIENTATION)); // Not present
-        assertEquals("300.0", metadata.get(Metadata.RESOLUTION_HORIZONTAL));
-        assertEquals("300.0", metadata.get(Metadata.RESOLUTION_VERTICAL));
-        assertEquals("Inch", metadata.get(Metadata.RESOLUTION_UNIT));          
-    }
-    
-    public void testJPEGTitleAndDescriptionPhotoshop() throws Exception {
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.CONTENT_TYPE, "image/jpeg");
-        InputStream stream =
-            getClass().getResourceAsStream("/test-documents/testJPEG_commented_pspcs2mac.jpg");
-        parser.parse(stream, new DefaultHandler(), metadata, new ParseContext());
-          
-        // embedded comments with non-ascii characters
-        assertEquals("Tosteberga \u00C4ngar", metadata.get(Metadata.TITLE));
-        assertEquals("Bird site in north eastern Sk\u00E5ne, Sweden.\n(new line)", metadata.get(Metadata.DESCRIPTION));
-        assertEquals("Some Tourist", metadata.get(Metadata.CREATOR));
-        List<String> subject = Arrays.asList(metadata.getValues(Metadata.SUBJECT));
-        assertTrue("got " + subject, subject.contains("bird watching")); 
-    }
-    
-    public void testJPEGTitleAndDescriptionXnviewmp() throws Exception {
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.CONTENT_TYPE, "image/jpeg");
-        InputStream stream =
-            getClass().getResourceAsStream("/test-documents/testJPEG_commented_xnviewmp026.jpg");
-        parser.parse(stream, new DefaultHandler(), metadata, new ParseContext());
-          
-        // XnViewMp's default comment dialog has only comment, not headline.
-        // Comment is embedded only if "Write comments in XMP" is enabled in settings
-        assertEquals("Bird site in north eastern Sk\u00E5ne, Sweden.\n(new line)", metadata.get(Metadata.DESCRIPTION));
-        // xmp handles spaces in keywords, returns "bird watching, nature reserve, coast, grazelands"
-        // but we have to replace them with underscore
-        String[] subject = metadata.getValues(Metadata.SUBJECT);
-        List<String> keywords = Arrays.asList(subject);
-        assertTrue("'coast'" + " not in " + keywords, keywords.contains("coast"));
-        assertTrue("'nature reserve'" + " not in " + keywords, keywords.contains("nature reserve"));     
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
deleted file mode 100644
index 967bf56..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mail;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class RFC822ParserTest extends TestCase {
-
-    public void testSimple() {
-        Parser parser = new RFC822Parser();
-        Metadata metadata = new Metadata();
-        InputStream stream = getStream("test-documents/testRFC822");
-        ContentHandler handler = mock(DefaultHandler.class);
-
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-            verify(handler).startDocument();
-            //just one body
-            verify(handler).startElement(eq(XHTMLContentHandler.XHTML), eq("p"), eq("p"), any(Attributes.class));
-            verify(handler).endElement(XHTMLContentHandler.XHTML, "p", "p");
-            //no multi-part body parts
-            verify(handler, never()).startElement(eq(XHTMLContentHandler.XHTML), eq("div"), eq("div"), any(Attributes.class));
-            verify(handler, never()).endElement(XHTMLContentHandler.XHTML, "div", "div");
-            verify(handler).endDocument();
-            //note no leading spaces, and no quotes
-            assertEquals("Julien Nioche (JIRA) <jira@apache.org>", metadata.get(Metadata.AUTHOR));
-            assertEquals("[jira] Commented: (TIKA-461) RFC822 messages not parsed", metadata.get(Metadata.SUBJECT));
-        } catch (Exception e) {
-            fail("Exception thrown: " + e.getMessage());
-        }
-    }
-
-    public void testMultipart() {
-        Parser parser = new RFC822Parser();
-        Metadata metadata = new Metadata();
-        InputStream stream = getStream("test-documents/testRFC822-multipart");
-        ContentHandler handler = mock(XHTMLContentHandler.class);
-
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-            verify(handler).startDocument();
-            //4 body-part divs -- two outer bodies and two inner bodies
-            verify(handler, times(4)).startElement(eq(XHTMLContentHandler.XHTML), eq("div"), eq("div"), any(Attributes.class));
-            verify(handler, times(4)).endElement(XHTMLContentHandler.XHTML, "div", "div");
-            //5 paragraph elements, 4 for body-parts and 1 for encompassing message
-            verify(handler, times(5)).startElement(eq(XHTMLContentHandler.XHTML), eq("p"), eq("p"), any(Attributes.class));
-            verify(handler, times(5)).endElement(XHTMLContentHandler.XHTML, "p", "p");
-            verify(handler).endDocument();
-        } catch (Exception e) {
-            fail("Exception thrown: " + e.getMessage());
-        }
-        
-        //repeat, this time looking at content
-        parser = new RFC822Parser();
-        metadata = new Metadata();
-        stream = getStream("test-documents/testRFC822-multipart");
-        handler = new BodyContentHandler();
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-            //tests correct decoding of quoted printable text, including UTF-8 bytes into Unicode
-            String bodyText = handler.toString();
-            assertTrue(bodyText.contains("body 1"));
-            assertTrue(bodyText.contains("body 2"));
-            assertFalse(bodyText.contains("R0lGODlhNgE8AMQAA")); //part of encoded gif
-        } catch (Exception e) {
-            fail("Exception thrown: " + e.getMessage());
-        }
-    }
-
-    public void testQuotedPrintable() {
-        Parser parser = new RFC822Parser();
-        Metadata metadata = new Metadata();
-        InputStream stream = getStream("test-documents/testRFC822_quoted");
-        ContentHandler handler = new BodyContentHandler();
-
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-            //tests correct decoding of quoted printable text, including UTF-8 bytes into Unicode
-            String bodyText = handler.toString();
-            assertTrue(bodyText.contains("D\u00FCsseldorf has non-ascii."));
-            assertTrue(bodyText.contains("Lines can be split like this."));
-            assertTrue(bodyText.contains("Spaces at the end of a line \r\nmust be encoded.\r\n"));
-            assertFalse(bodyText.contains("=")); //there should be no escape sequences
-        } catch (Exception e) {
-            fail("Exception thrown: " + e.getMessage());
-        }
-    }
-
-    public void testBase64() {
-        Parser parser = new RFC822Parser();
-        Metadata metadata = new Metadata();
-        InputStream stream = getStream("test-documents/testRFC822_base64");
-        ContentHandler handler = new BodyContentHandler();
-
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-            //tests correct decoding of base64 text, including ISO-8859-1 bytes into Unicode
-            assertTrue(handler.toString().contains("Here is some text, with international characters, voil\u00E0!"));
-        } catch (Exception e) {
-            fail("Exception thrown: " + e.getMessage());
-        }
-    }
-
-    public void testI18NHeaders() {
-        Parser parser = new RFC822Parser();
-        Metadata metadata = new Metadata();
-        InputStream stream = getStream("test-documents/testRFC822_i18nheaders");
-        ContentHandler handler = mock(DefaultHandler.class);
-
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-            //tests correct decoding of internationalized headers, both
-            //quoted-printable (Q) and Base64 (B).
-            assertEquals("Keld J\u00F8rn Simonsen <keld@dkuug.dk>", metadata.get(Metadata.AUTHOR));
-            assertEquals("If you can read this you understand the example.", metadata.get(Metadata.SUBJECT));
-        } catch (Exception e) {
-            fail("Exception thrown: " + e.getMessage());
-        }
-    }
-
-    private static InputStream getStream(String name) {
-        return Thread.currentThread().getContextClassLoader()
-                .getResourceAsStream(name);
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mbox/MboxParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mbox/MboxParserTest.java
deleted file mode 100644
index 0af7941..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mbox/MboxParserTest.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mbox;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class MboxParserTest extends TestCase {
-
-    public void testSimple() {
-        Parser parser = new MboxParser();
-        Metadata metadata = new Metadata();
-        InputStream stream = getStream("test-documents/simple.mbox");
-        ContentHandler handler = mock(DefaultHandler.class);
-
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-            verify(handler).startDocument();
-            verify(handler, times(2)).startElement(eq(XHTMLContentHandler.XHTML), eq("p"), eq("p"), any(Attributes.class));
-            verify(handler, times(2)).endElement(XHTMLContentHandler.XHTML, "p", "p");
-            verify(handler).characters(new String("Test content 1").toCharArray(), 0, 14);
-            verify(handler).characters(new String("Test content 2").toCharArray(), 0, 14);
-            verify(handler).endDocument();
-        } catch (Exception e) {
-            fail("Exception thrown: " + e.getMessage());
-        }
-    }
-
-    public void testHeaders() {
-        Parser parser = new MboxParser();
-        Metadata metadata = new Metadata();
-        InputStream stream = getStream("test-documents/headers.mbox");
-        ContentHandler handler = mock(DefaultHandler.class);
-
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-
-            verify(handler).startDocument();
-            verify(handler).startElement(eq(XHTMLContentHandler.XHTML), eq("p"), eq("p"), any(Attributes.class));
-            verify(handler).characters(new String("Test content").toCharArray(), 0, 12);
-            verify(handler).endDocument();
-
-            assertEquals("subject", metadata.get(Metadata.TITLE));
-            assertEquals("subject", metadata.get(Metadata.SUBJECT));
-            assertEquals("<author@domain.com>", metadata.get(Metadata.AUTHOR));
-            assertEquals("<author@domain.com>", metadata.get(Metadata.CREATOR));
-            assertEquals(null, metadata.get(Metadata.MESSAGE_RECIPIENT_ADDRESS));
-            assertEquals("<name@domain.com>", metadata.get("MboxParser-return-path"));
-            assertEquals("Should be ISO date in UTC, converted from 'Tue, 9 Jun 2009 23:58:45 -0400'", 
-                    "2009-06-10T03:58:45Z", metadata.get(Metadata.DATE));
-        } catch (Exception e) {
-            fail("Exception thrown: " + e.getMessage());
-        }
-    }
-
-    public void testMultilineHeader() {
-        Parser parser = new MboxParser();
-        Metadata metadata = new Metadata();
-        InputStream stream = getStream("test-documents/multiline.mbox");
-        ContentHandler handler = mock(DefaultHandler.class);
-
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-
-            verify(handler).startDocument();
-            verify(handler).startElement(eq(XHTMLContentHandler.XHTML), eq("p"), eq("p"), any(Attributes.class));
-            verify(handler).characters(new String("Test content").toCharArray(), 0, 12);
-            verify(handler).endDocument();
-
-            assertEquals("from xxx by xxx with xxx; date", metadata.get("MboxParser-received"));
-        } catch (Exception e) {
-            fail("Exception thrown: " + e.getMessage());
-        }
-    }
-
-    public void testQuoted() {
-        Parser parser = new MboxParser();
-        Metadata metadata = new Metadata();
-        InputStream stream = getStream("test-documents/quoted.mbox");
-        ContentHandler handler = mock(DefaultHandler.class);
-
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-
-            verify(handler).startDocument();
-            verify(handler).startElement(eq(XHTMLContentHandler.XHTML), eq("p"), eq("p"), any(Attributes.class));
-            verify(handler).startElement(eq(XHTMLContentHandler.XHTML), eq("q"), eq("q"), any(Attributes.class));
-            verify(handler).endElement(eq(XHTMLContentHandler.XHTML), eq("q"), eq("q"));
-            verify(handler).endElement(eq(XHTMLContentHandler.XHTML), eq("p"), eq("p"));
-            verify(handler).characters(new String("Test content").toCharArray(), 0, 12);
-            verify(handler).characters(new String("> quoted stuff").toCharArray(), 0, 14);
-            verify(handler).endDocument();
-        } catch (Exception e) {
-            fail("Exception thrown: " + e.getMessage());
-        }
-    }
-
-    public void testComplex() {
-        Parser parser = new MboxParser();
-        Metadata metadata = new Metadata();
-        InputStream stream = getStream("test-documents/complex.mbox");
-        ContentHandler handler = mock(DefaultHandler.class);
-
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-
-            assertEquals("Re: question about when shuffle/sort start working", metadata.get(Metadata.TITLE));
-            assertEquals("Re: question about when shuffle/sort start working", metadata.get(Metadata.SUBJECT));
-            assertEquals("Jothi Padmanabhan <jothipn@yahoo-inc.com>", metadata.get(Metadata.AUTHOR));
-            assertEquals("Jothi Padmanabhan <jothipn@yahoo-inc.com>", metadata.get(Metadata.CREATOR));
-            assertEquals("core-user@hadoop.apache.org", metadata.get(Metadata.MESSAGE_RECIPIENT_ADDRESS));
-            
-            verify(handler).startDocument();
-            verify(handler, times(3)).startElement(eq(XHTMLContentHandler.XHTML), eq("p"), eq("p"), any(Attributes.class));
-            verify(handler, times(3)).endElement(eq(XHTMLContentHandler.XHTML), eq("p"), eq("p"));
-            verify(handler, times(3)).startElement(eq(XHTMLContentHandler.XHTML), eq("q"), eq("q"), any(Attributes.class));
-            verify(handler, times(3)).endElement(eq(XHTMLContentHandler.XHTML), eq("q"), eq("q"));
-            verify(handler).endDocument();
-        } catch (Exception e) {
-            fail("Exception thrown: " + e.getMessage());
-        }
-    }
-
-    private static InputStream getStream(String name) {
-        return Thread.currentThread().getContextClassLoader()
-        .getResourceAsStream(name);
-    }
-
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/AbstractPOIContainerExtractionTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/AbstractPOIContainerExtractionTest.java
deleted file mode 100644
index 36c114d..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/AbstractPOIContainerExtractionTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.extractor.ContainerExtractor;
-import org.apache.tika.extractor.EmbeddedResourceHandler;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.mime.MediaType;
-
-/**
- * Parent class of tests that the various POI powered parsers are
- *  able to extract their embedded contents.
- */
-public abstract class AbstractPOIContainerExtractionTest extends TestCase {
-    public static final MediaType TYPE_DOC = MediaType.application("msword");
-    public static final MediaType TYPE_PPT = MediaType.application("vnd.ms-powerpoint");
-    public static final MediaType TYPE_XLS = MediaType.application("vnd.ms-excel");
-    public static final MediaType TYPE_DOCX = MediaType.application("vnd.openxmlformats-officedocument.wordprocessingml.document");
-    public static final MediaType TYPE_PPTX = MediaType.application("vnd.openxmlformats-officedocument.presentationml.presentation");
-    public static final MediaType TYPE_XLSX = MediaType.application("vnd.openxmlformats-officedocument.spreadsheetml.sheet");
-    public static final MediaType TYPE_MSG = MediaType.application("vnd.ms-outlook");
-    
-    public static final MediaType TYPE_TXT = MediaType.text("plain");
-    public static final MediaType TYPE_PDF = MediaType.application("pdf");
-    
-    public static final MediaType TYPE_JPG = MediaType.image("jpeg");
-    public static final MediaType TYPE_GIF = MediaType.image("gif");
-    public static final MediaType TYPE_PNG = MediaType.image("png");
-    public static final MediaType TYPE_EMF = MediaType.application("x-msmetafile");
-
-    protected TrackingHandler process(String filename, ContainerExtractor extractor, boolean recurse) throws Exception {
-        InputStream input = AbstractPOIContainerExtractionTest.class.getResourceAsStream(
-             "/test-documents/" + filename);
-        assertNotNull(filename + " not found", input);
-        
-        TikaInputStream stream = TikaInputStream.get(input);
-        assertNotNull(stream);
-        
-        assertEquals(true, extractor.isSupported(stream));
-        
-        // Process it
-        TrackingHandler handler = new TrackingHandler();
-        if(recurse) {
-           extractor.extract(stream, extractor, handler);
-        } else {
-           extractor.extract(stream, null, handler);
-        }
-        
-        // So they can check what happened
-        return handler;
-    }
-    
-    protected static class TrackingHandler implements EmbeddedResourceHandler {
-       public List<String> filenames = new ArrayList<String>();
-       public List<MediaType> mediaTypes = new ArrayList<MediaType>();
-       
-       public void handle(String filename, MediaType mediaType,
-            InputStream stream) {
-          filenames.add(filename);
-          mediaTypes.add(mediaType);
-      }
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/ExcelParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/ExcelParserTest.java
deleted file mode 100644
index cce365a..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/ExcelParserTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import java.io.InputStream;
-import java.util.Locale;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-public class ExcelParserTest extends TestCase {
-    public void testExcelParser() throws Exception {
-        InputStream input = ExcelParserTest.class.getResourceAsStream(
-                "/test-documents/testEXCEL.xls");
-        try {
-            Metadata metadata = new Metadata();
-            ContentHandler handler = new BodyContentHandler();
-            ParseContext context = new ParseContext();
-            context.set(Locale.class, Locale.US);
-            new OfficeParser().parse(input, handler, metadata, context);
-
-            assertEquals(
-                    "application/vnd.ms-excel",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            assertEquals("Simple Excel document", metadata.get(Metadata.TITLE));
-            assertEquals("Keith Bennett", metadata.get(Metadata.AUTHOR));
-            String content = handler.toString();
-            assertTrue(content.contains("Sample Excel Worksheet"));
-            assertTrue(content.contains("Numbers and their Squares"));
-            assertTrue(content.contains("\t\tNumber\tSquare"));
-            assertTrue(content.contains("9"));
-            assertFalse(content.contains("9.0"));
-            assertTrue(content.contains("196"));
-            assertFalse(content.contains("196.0"));
-        } finally {
-            input.close();
-        }
-    }
-
-    public void testExcelParserFormatting() throws Exception {
-        InputStream input = ExcelParserTest.class.getResourceAsStream(
-                "/test-documents/testEXCEL-formats.xls");
-        try {
-            Metadata metadata = new Metadata();
-            ParseContext context = new ParseContext();
-            context.set(Locale.class, Locale.US);
-            ContentHandler handler = new BodyContentHandler();
-            new OfficeParser().parse(input, handler, metadata, context);
-
-            assertEquals(
-                    "application/vnd.ms-excel",
-                    metadata.get(Metadata.CONTENT_TYPE));
-
-            String content = handler.toString();
-
-            // Number #,##0.00
-            assertTrue(content.contains("1,599.99"));
-            assertTrue(content.contains("-1,599.99"));
-
-            // Currency $#,##0.00;[Red]($#,##0.00)
-            assertTrue(content.contains("$1,599.99"));
-            assertTrue(content.contains("($1,599.99)"));
-
-            // Scientific 0.00E+00
-            assertTrue(content.contains("1.98E08"));
-            assertTrue(content.contains("-1.98E08"));
-
-            // Percentage.
-            assertTrue(content.contains("2.50%"));
-            // Excel rounds up to 3%, but that requires Java 1.6 or later
-            if(System.getProperty("java.version").startsWith("1.5")) {
-                assertTrue(content.contains("2%"));
-            } else {
-                assertTrue(content.contains("3%"));
-            }
-
-            // Time Format: h:mm
-            assertTrue(content.contains("6:15"));
-            assertTrue(content.contains("18:15"));
-
-            // Date Format: d-mmm-yy
-            assertTrue(content.contains("17-May-07"));
-
-            // Below assertions represent outstanding formatting issues to be addressed
-            // they are included to allow the issues to be progressed with the Apache POI
-            // team - See TIKA-103.
-
-            /*************************************************************************
-            // Date Format: m/d/yy
-            assertTrue(content.contains("03/10/2009"));
-
-            // Date/Time Format
-            assertTrue(content.contains("19/01/2008 04:35"));
-
-            // Custom Number (0 "dollars and" .00 "cents")
-            assertTrue(content.contains("19 dollars and .99 cents"));
-
-            // Custom Number ("At" h:mm AM/PM "on" dddd mmmm d"," yyyy)
-            assertTrue(content.contains("At 4:20 AM on Thursday May 17, 2007"));
-
-            // Fraction (2.5): # ?/?
-            assertTrue(content.contains("2 1 / 2"));
-            **************************************************************************/
-
-        } finally {
-            input.close();
-        }
-    }
-
-    /**
-     * TIKA-214 - Ensure we extract labels etc from Charts
-     */
-    public void testExcelParserCharts() throws Exception {
-        InputStream input = ExcelParserTest.class.getResourceAsStream(
-                  "/test-documents/testEXCEL-charts.xls");
-        try {
-            Metadata metadata = new Metadata();
-            ParseContext context = new ParseContext();
-            context.set(Locale.class, Locale.US);
-            ContentHandler handler = new BodyContentHandler();
-            new OfficeParser().parse(input, handler, metadata, context);
-        
-            assertEquals(
-                    "application/vnd.ms-excel",
-                    metadata.get(Metadata.CONTENT_TYPE));
-        
-            String content = handler.toString();
-            
-            // The first sheet has a pie chart
-            assertTrue(content.contains("charttabyodawg"));
-            assertTrue(content.contains("WhamPuff"));
-            
-            // The second sheet has a bar chart and some text
-            assertTrue(content.contains("Sheet1"));
-            assertTrue(content.contains("Test Excel Spreasheet"));
-            assertTrue(content.contains("foo"));
-            assertTrue(content.contains("bar"));
-            assertTrue(content.contains("fizzlepuff"));
-            assertTrue(content.contains("whyaxis"));
-            assertTrue(content.contains("eksaxis"));
-            
-            // The third sheet has some text
-            assertTrue(content.contains("Sheet2"));
-            assertTrue(content.contains("dingdong"));
-        } finally {
-            input.close();
-        }
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java
deleted file mode 100644
index 40cb489..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import java.io.InputStream;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-/**
- * Test case for parsing Outlook files.
- */
-public class OutlookParserTest extends TestCase {
-
-    public void testOutlookParsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        InputStream stream = OutlookParserTest.class.getResourceAsStream(
-                "/test-documents/test-outlook.msg");
-        try {
-            parser.parse(stream, handler, metadata);
-        } finally {
-            stream.close();
-        }
-
-        assertEquals(
-                "application/vnd.ms-outlook",
-                metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals(
-                "Microsoft Outlook Express 6",
-                metadata.get(Metadata.TITLE));
-        assertEquals(
-                "Nouvel utilisateur de Outlook Express",
-                metadata.get(Metadata.MESSAGE_RECIPIENT_ADDRESS));
-        assertEquals(
-                "L'\u00C9quipe Microsoft Outlook Express",
-                metadata.get(Metadata.AUTHOR));
-
-        String content = handler.toString();
-        assertTrue(content.contains(""));
-        assertTrue(content.contains("Microsoft Outlook Express 6"));
-        assertTrue(content.contains("L'\u00C9quipe Microsoft Outlook Express"));
-        assertTrue(content.contains("Nouvel utilisateur de Outlook Express"));
-        assertTrue(content.contains("Messagerie et groupes de discussion"));
-    }
-
-    /**
-     * Test case for TIKA-197
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-197">TIKA-197</a>
-     */
-    public void testMultipleCopies() throws Exception {
-        Parser parser = new AutoDetectParser();
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        InputStream stream = OutlookParserTest.class.getResourceAsStream(
-                "/test-documents/testMSG.msg");
-        try {
-            parser.parse(stream, handler, metadata);
-        } finally {
-            stream.close();
-        }
-
-        assertEquals(
-                "application/vnd.ms-outlook",
-                metadata.get(Metadata.CONTENT_TYPE));
-
-        String content = handler.toString();
-        Pattern pattern = Pattern.compile("From");
-        Matcher matcher = pattern.matcher(content);
-        assertTrue(matcher.find());
-        assertFalse(matcher.find());
-    }
-
-    /**
-     * Test case for TIKA-395, to ensure parser works for new Outlook formats. 
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-395">TIKA-395</a>
-     */
-    public void testOutlookNew() throws Exception {
-        Parser parser = new AutoDetectParser();
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        InputStream stream = OutlookParserTest.class.getResourceAsStream(
-                "/test-documents/test-outlook2003.msg");
-        try {
-            parser.parse(stream, handler, metadata);
-        } finally {
-            stream.close();
-        }
-
-        assertEquals(
-                "application/vnd.ms-outlook",
-                metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals(
-                "Welcome to Microsoft Office Outlook 2003",
-                metadata.get(Metadata.TITLE));
-
-        String content = handler.toString();
-        assertTrue(content.contains("Outlook 2003"));
-        assertTrue(content.contains("Streamlined Mail Experience"));
-        assertTrue(content.contains("Navigation Pane"));
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/POIContainerExtractionTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/POIContainerExtractionTest.java
deleted file mode 100644
index 8e7d5f3..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/POIContainerExtractionTest.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import org.apache.tika.extractor.ContainerExtractor;
-import org.apache.tika.extractor.ParserContainerExtractor;
-import org.apache.tika.mime.MediaType;
-
-/**
- * Tests that the various POI powered parsers are
- *  able to extract their embedded contents.
- */
-public class POIContainerExtractionTest extends AbstractPOIContainerExtractionTest {
-   
-    /**
-     * For office files which don't have anything embedded in them
-     */
-    public void testWithoutEmbedded() throws Exception {
-       ContainerExtractor extractor = new ParserContainerExtractor();
-       
-       String[] files = new String[] {
-             "testEXCEL.xls", "testWORD.doc", "testPPT.ppt",
-             "testVISIO.vsd", "test-outlook.msg"
-       };
-       for(String file : files) {
-          // Process it without recursing
-          TrackingHandler handler = process(file, extractor, false);
-          
-          // Won't have fired
-          assertEquals(0, handler.filenames.size());
-          assertEquals(0, handler.mediaTypes.size());
-          
-          // Ditto with recursing
-          handler = process(file, extractor, true);
-          assertEquals(0, handler.filenames.size());
-          assertEquals(0, handler.mediaTypes.size());
-       }
-    }
-    
-    /**
-     * Office files with embedded images, but no other
-     *  office files in them
-     */
-    public void testEmbeddedImages() throws Exception {
-       ContainerExtractor extractor = new ParserContainerExtractor();
-       TrackingHandler handler;
-       
-       // Excel with 1 image
-       handler = process("testEXCEL_1img.xls", extractor, false);
-       assertEquals(1, handler.filenames.size());
-       assertEquals(1, handler.mediaTypes.size());
-       
-       assertEquals(null, handler.filenames.get(0));
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(0));
-
-       
-       // PowerPoint with 2 images + sound
-       // TODO
-       
-       
-       // Word with 1 image
-       handler = process("testWORD_1img.doc", extractor, false);
-       assertEquals(1, handler.filenames.size());
-       assertEquals(1, handler.mediaTypes.size());
-       
-       assertEquals("image1.png", handler.filenames.get(0));
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(0));
-
-       
-       // Word with 3 images
-       handler = process("testWORD_3imgs.doc", extractor, false);
-       assertEquals(3, handler.filenames.size());
-       assertEquals(3, handler.mediaTypes.size());
-       
-       assertEquals("image1.png", handler.filenames.get(0));
-       assertEquals("image2.jpg", handler.filenames.get(1));
-       assertEquals("image3.png", handler.filenames.get(2));
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(0));
-       assertEquals(TYPE_JPG, handler.mediaTypes.get(1));
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(2));
-    }
-    
-    /**
-     * Office files which have other office files
-     *  embedded into them. The embedded office files
-     *  will sometimes have images in them.
-     *  
-     *  eg xls
-     *       -> word
-     *           -> image
-     *           -> image
-     *       -> powerpoint
-     *       -> excel
-     *           -> image
-     */
-    public void testEmbeddedOfficeFiles() throws Exception {
-       ContainerExtractor extractor = new ParserContainerExtractor();
-       TrackingHandler handler;
-       
-       
-       // Excel with a word doc and a powerpoint doc, both of which have images in them
-       // Without recursion, should see both documents + the images
-       handler = process("testEXCEL_embeded.xls", extractor, false);
-       assertEquals(5, handler.filenames.size());
-       assertEquals(5, handler.mediaTypes.size());
-       
-       // We don't know their filenames
-       assertEquals(null, handler.filenames.get(0));
-       assertEquals(null, handler.filenames.get(1));
-       assertEquals(null, handler.filenames.get(2));
-       assertEquals("MBD0003271D.ppt", handler.filenames.get(3));
-       assertEquals("MBD00032A24.doc", handler.filenames.get(4));
-       // But we do know their types
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(0)); // Icon of embedded office doc
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(1)); // Icon of embedded office doc
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(2)); // Embedded image
-       assertEquals(TYPE_PPT, handler.mediaTypes.get(3)); // Embedded office doc
-       assertEquals(TYPE_DOC, handler.mediaTypes.get(4)); // Embedded office doc
-       
-       
-       // With recursion, should get the images embedded in the office files too
-       handler = process("testEXCEL_embeded.xls", extractor, true);
-       assertEquals(12, handler.filenames.size());
-       assertEquals(12, handler.mediaTypes.size());
-       
-       assertEquals(null, handler.filenames.get(0));
-       assertEquals(null, handler.filenames.get(1));
-       assertEquals(null, handler.filenames.get(2));
-       assertEquals("MBD0003271D.ppt", handler.filenames.get(3));
-       assertEquals("1", handler.filenames.get(4));
-       assertEquals(null, handler.filenames.get(5));
-       assertEquals("2", handler.filenames.get(6));
-       assertEquals("image1.png", handler.filenames.get(7));
-       assertEquals("image2.jpg", handler.filenames.get(8));
-       assertEquals("image3.png", handler.filenames.get(9));
-       assertEquals("image1.png", handler.filenames.get(11));
-
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(0)); // Icon of embedded office doc
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(1)); // Icon of embedded office doc
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(2)); // Embedded image
-       assertEquals(TYPE_PPT, handler.mediaTypes.get(3)); // Embedded presentation
-       assertEquals(TYPE_XLS, handler.mediaTypes.get(4)); // Embedded XLS
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(5)); // Embedded image
-       assertEquals(TYPE_DOC, handler.mediaTypes.get(6)); // Embedded office doc
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(7)); // Embedded image
-       assertEquals(TYPE_JPG, handler.mediaTypes.get(8)); // Embedded image
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(9)); // Embedded image
-       assertEquals(TYPE_DOC, handler.mediaTypes.get(10)); // Embedded office doc
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(11)); // Embedded image
-
-       // Word with .docx, powerpoint and excel
-       handler = process("testWORD_embeded.doc", extractor, false);
-       assertEquals(9, handler.filenames.size());
-       assertEquals(9, handler.mediaTypes.size());
-       
-       // Filenames are a bit iffy...
-       // Should really be 3*embedded pictures then 3*icons then embedded docs
-       assertEquals("image1", handler.filenames.get(0));
-       assertEquals("image4.png", handler.filenames.get(1));
-       assertEquals("image5.jpg", handler.filenames.get(2));
-       assertEquals("image6.png", handler.filenames.get(3));
-       assertEquals("image2", handler.filenames.get(4));
-       assertEquals("image3", handler.filenames.get(5));
-       assertEquals(null, handler.filenames.get(6));
-       assertEquals("_1345471035.ppt", handler.filenames.get(7));
-       assertEquals("_1345470949.xls", handler.filenames.get(8));
-       
-       // But we do know their types
-       assertEquals(MediaType.parse("image/unknown"), handler.mediaTypes.get(0)); // Icon of embedded office doc?
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(1)); // Embedded image - logo
-       assertEquals(TYPE_JPG, handler.mediaTypes.get(2)); // Embedded image - safe
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(3)); // Embedded image - try
-       assertEquals(MediaType.parse("image/unknown"), handler.mediaTypes.get(4)); // Icon of embedded office doc?
-       assertEquals(MediaType.parse("image/unknown"), handler.mediaTypes.get(5)); // Icon of embedded office doc?
-       assertEquals(TYPE_DOCX, handler.mediaTypes.get(6)); // Embedded office doc
-       assertEquals(TYPE_PPT, handler.mediaTypes.get(7)); // Embedded office doc
-       assertEquals(TYPE_XLS, handler.mediaTypes.get(8)); // Embedded office doc
-       
-       
-       // With recursion, should get their images too
-       handler = process("testWORD_embeded.doc", extractor, true);
-       assertEquals(13, handler.filenames.size());
-       assertEquals(13, handler.mediaTypes.size());
-       
-       // We don't know their filenames, except for doc images + docx
-       assertEquals("image1", handler.filenames.get(0));
-       assertEquals("image4.png", handler.filenames.get(1));
-       assertEquals("image5.jpg", handler.filenames.get(2));
-       assertEquals("image6.png", handler.filenames.get(3));
-       assertEquals("image2", handler.filenames.get(4));
-       assertEquals("image3", handler.filenames.get(5));
-       assertEquals(null, handler.filenames.get(6));
-       assertEquals("image2.png", handler.filenames.get(7));
-       assertEquals("image3.jpeg", handler.filenames.get(8));
-       assertEquals("image4.png", handler.filenames.get(9));
-       for(int i=12; i<handler.filenames.size(); i++) {
-          assertNull(handler.filenames.get(i));
-       }
-       // But we do know their types
-       assertEquals(MediaType.parse("image/unknown"), handler.mediaTypes.get(0)); // Icon of embedded office doc?
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(1)); // Embedded image - logo
-       assertEquals(TYPE_JPG, handler.mediaTypes.get(2)); // Embedded image - safe
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(3)); // Embedded image - try
-       assertEquals(MediaType.parse("image/unknown"), handler.mediaTypes.get(4)); // Icon of embedded office doc?
-       assertEquals(MediaType.parse("image/unknown"), handler.mediaTypes.get(5)); // Icon of embedded office doc?
-       assertEquals(TYPE_DOCX, handler.mediaTypes.get(6)); // Embedded office doc
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(7));  //    PNG inside .docx
-       assertEquals(TYPE_JPG, handler.mediaTypes.get(8));  //    JPG inside .docx
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(9));  //    PNG inside .docx
-       assertEquals(TYPE_PPT, handler.mediaTypes.get(10)); // Embedded office doc
-       assertEquals(TYPE_XLS, handler.mediaTypes.get(11)); // Embedded office doc
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(12)); //    PNG inside .xls
-       
-       
-       // PowerPoint with excel and word
-       // TODO
-       
-       
-       // Outlook with a text file and a word document
-       handler = process("testMSG_att_doc.msg", extractor, true);
-       assertEquals(2, handler.filenames.size());
-       assertEquals(2, handler.mediaTypes.size());
-       
-       assertEquals("test-unicode.doc", handler.filenames.get(0));
-       assertEquals(TYPE_DOC, handler.mediaTypes.get(0));
-       
-       assertEquals("pj1.txt", handler.filenames.get(1));
-       assertEquals(TYPE_TXT, handler.mediaTypes.get(1));
-       
-       
-       // Outlook with a pdf and another outlook message
-       handler = process("testMSG_att_msg.msg", extractor, true);
-       assertEquals(2, handler.filenames.size());
-       assertEquals(2, handler.mediaTypes.size());
-       
-       assertEquals("__substg1.0_3701000D.msg", handler.filenames.get(0));
-       assertEquals(TYPE_MSG, handler.mediaTypes.get(0));
-       
-       assertEquals("smbprn.00009008.KdcPjl.pdf", handler.filenames.get(1));
-       assertEquals(TYPE_PDF, handler.mediaTypes.get(1));
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/PowerPointParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/PowerPointParserTest.java
deleted file mode 100644
index 121f29e..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/PowerPointParserTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import java.io.InputStream;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-import junit.framework.TestCase;
-
-public class PowerPointParserTest extends TestCase {
-
-    public void testPowerPointParser() throws Exception {
-        InputStream input = PowerPointParserTest.class.getResourceAsStream(
-                "/test-documents/testPPT.ppt");
-        try {
-            Metadata metadata = new Metadata();
-            ContentHandler handler = new BodyContentHandler();
-            new OfficeParser().parse(input, handler, metadata);
-
-            assertEquals(
-                    "application/vnd.ms-powerpoint",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            assertEquals("Sample Powerpoint Slide", metadata.get(Metadata.TITLE));
-            assertEquals("Keith Bennett", metadata.get(Metadata.AUTHOR));
-            String content = handler.toString();
-            assertTrue(content.contains("Sample Powerpoint Slide"));
-            assertTrue(content.contains("Powerpoint X for Mac"));
-        } finally {
-            input.close();
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/PublisherParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/PublisherParserTest.java
deleted file mode 100644
index 8cde68a..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/PublisherParserTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import java.io.InputStream;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-import junit.framework.TestCase;
-
-public class PublisherParserTest extends TestCase {
-
-    public void testPublisherParser() throws Exception {
-        InputStream input = PublisherParserTest.class.getResourceAsStream(
-                "/test-documents/testPUBLISHER.pub");
-        try {
-            Metadata metadata = new Metadata();
-            ContentHandler handler = new BodyContentHandler();
-            new OfficeParser().parse(input, handler, metadata);
-
-            assertEquals(
-                    "application/x-mspublisher",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            assertEquals(null, metadata.get(Metadata.TITLE));
-            assertEquals("Nick Burch", metadata.get(Metadata.AUTHOR));
-            String content = handler.toString();
-            assertTrue(content.contains("0123456789"));
-            assertTrue(content.contains("abcdef"));
-        } finally {
-            input.close();
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/VisioParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/VisioParserTest.java
deleted file mode 100644
index ae5b839..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/VisioParserTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import java.io.InputStream;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-import junit.framework.TestCase;
-
-public class VisioParserTest extends TestCase {
-
-    public void testVisioParser() throws Exception {
-        InputStream input = VisioParserTest.class.getResourceAsStream(
-                "/test-documents/testVISIO.vsd");
-        try {
-            Metadata metadata = new Metadata();
-            ContentHandler handler = new BodyContentHandler();
-            new OfficeParser().parse(input, handler, metadata);
-
-            assertEquals(
-                    "application/vnd.visio",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            assertEquals("", metadata.get(Metadata.TITLE));
-            assertEquals("Hogwarts", metadata.get(Metadata.AUTHOR));
-            String content = handler.toString();
-            assertTrue(content.contains("Some random text, on a page"));
-        } finally {
-            input.close();
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/WordParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/WordParserTest.java
deleted file mode 100644
index 4a9c462..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/WordParserTest.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import java.io.InputStream;
-import java.io.StringWriter;
-
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import javax.xml.transform.sax.TransformerHandler;
-import javax.xml.transform.stream.StreamResult;
-
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.microsoft.ooxml.OOXMLParserTest;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-import junit.framework.TestCase;
-
-public class WordParserTest extends TestCase {
-
-    public void testWordParser() throws Exception {
-        InputStream input = WordParserTest.class.getResourceAsStream(
-                "/test-documents/testWORD.doc");
-        try {
-            ContentHandler handler = new BodyContentHandler();
-            Metadata metadata = new Metadata();
-            new OfficeParser().parse(input, handler, metadata, new ParseContext());
-
-            assertEquals(
-                    "application/msword",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            assertEquals("Sample Word Document", metadata.get(Metadata.TITLE));
-            assertEquals("Keith Bennett", metadata.get(Metadata.AUTHOR));
-            assertTrue(handler.toString().contains("Sample Word Document"));
-        } finally {
-            input.close();
-        }
-    }
-
-    public void testWordWithWAV() throws Exception {
-        InputStream input = WordParserTest.class.getResourceAsStream(
-                "/test-documents/Doc1_ole.doc");
-        try {
-            ContentHandler handler = new BodyContentHandler();
-            Metadata metadata = new Metadata();
-            new OfficeParser().parse(input, handler, metadata, new ParseContext());
-
-            assertTrue(handler.toString().contains("MSj00974840000[1].wav"));
-        } finally {
-            input.close();
-        }
-    }
-
-    /**
-     * Test that the word converter is able to generate the
-     *  correct HTML for the document
-     */
-    public void testWordHTML() throws Exception {
-        InputStream input = null;
-        Metadata metadata = new Metadata();
-        
-        StringWriter sw = new StringWriter();
-        SAXTransformerFactory factory = (SAXTransformerFactory)
-                 SAXTransformerFactory.newInstance();
-        TransformerHandler handler = factory.newTransformerHandler();
-        handler.getTransformer().setOutputProperty(OutputKeys.METHOD, "xml");
-        handler.getTransformer().setOutputProperty(OutputKeys.INDENT, "yes");
-        handler.setResult(new StreamResult(sw));
-
-        // Try with a document containing various tables and formattings
-        input = OOXMLParserTest.class.getResourceAsStream("/test-documents/testWORD.doc");
-        try {
-            new OfficeParser().parse(input, handler, metadata, new ParseContext());
-            String xml = sw.toString();
-            assertEquals(
-                  "application/msword",
-                  metadata.get(Metadata.CONTENT_TYPE));
-            assertEquals("Sample Word Document", metadata.get(Metadata.TITLE));
-            assertEquals("Keith Bennett", metadata.get(Metadata.AUTHOR));
-            assertTrue(xml.contains("Sample Word Document"));
-
-            // Check that custom headings came through
-            assertTrue(xml.contains("<h1 class=\"title\">"));
-            // Regular headings
-            assertTrue(xml.contains("<h1>Heading Level 1</h1>"));
-            assertTrue(xml.contains("<h3>Heading Level 3</h3>"));
-            // Bold and italic
-            assertTrue(xml.contains("<b>BOLD</b>"));
-            assertTrue(xml.contains("<i>ITALIC</i>"));
-            // Table
-            assertTrue(xml.contains("<table>"));
-            assertTrue(xml.contains("<td>"));
-            // TODO - Check for the nested table
-            // Links
-            assertTrue(xml.contains("<a href=\"http://tika.apache.org/\">Tika</a>"));
-            // Paragraphs with other styles
-            assertTrue(xml.contains("<p class=\"signature\">This one"));
-        } finally {
-            input.close();
-        }
-        
-        // Try with a document that contains images
-        sw = new StringWriter();
-        handler.setResult(new StreamResult(sw));
-        input = OOXMLParserTest.class.getResourceAsStream("/test-documents/testWORD_3imgs.doc");
-        try {
-            new OfficeParser().parse(TikaInputStream.get(input), handler, metadata, new ParseContext());
-            String xml = sw.toString();
-            
-            // Images 1-3
-            assertTrue("Image not found in:\n"+xml, xml.contains("<img src=\"embedded:image1.png\"/>"));
-            assertTrue("Image not found in:\n"+xml, xml.contains("<img src=\"embedded:image2.jpg\"/>"));
-            assertTrue("Image not found in:\n"+xml, xml.contains("<img src=\"embedded:image3.png\"/>"));
-            
-            // Text too
-            assertTrue(xml.contains("<p>The end!"));
-        } finally {
-            input.close();
-        }
-    }
-
-    public void testWord6Parser() throws Exception {
-        InputStream input = WordParserTest.class.getResourceAsStream(
-                "/test-documents/testWORD6.doc");
-        try {
-            ContentHandler handler = new BodyContentHandler();
-            Metadata metadata = new Metadata();
-            new OfficeParser().parse(input, handler, metadata, new ParseContext());
-
-            assertEquals(
-                    "application/msword",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            assertEquals("The quick brown fox jumps over the lazy dog", metadata.get(Metadata.TITLE));
-            assertEquals("Gym class featuring a brown fox and lazy dog", metadata.get(Metadata.SUBJECT));
-            assertEquals("Nevin Nollop", metadata.get(Metadata.AUTHOR));
-            assertTrue(handler.toString().contains("The quick brown fox jumps over the lazy dog"));
-        } finally {
-            input.close();
-        }
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/WriteProtectedParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/WriteProtectedParserTest.java
deleted file mode 100644
index 9aeab20..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/WriteProtectedParserTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft;
-
-import junit.framework.TestCase;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-import java.io.InputStream;
-
-public class WriteProtectedParserTest extends TestCase {
-    public void testWriteProtected() throws Exception {
-        InputStream input = ExcelParserTest.class.getResourceAsStream(
-                "/test-documents/protect.xlsx");
-
-        Metadata metadata = new Metadata();
-        ContentHandler handler = new BodyContentHandler();
-        new OfficeParser().parse(input, handler, metadata);
-        String content = handler.toString();
-        assertTrue(content.contains("Office"));
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLContainerExtractionTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLContainerExtractionTest.java
deleted file mode 100644
index 3af60e6..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLContainerExtractionTest.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft.ooxml;
-
-import org.apache.tika.detect.ContainerAwareDetector;
-import org.apache.tika.extractor.ContainerExtractor;
-import org.apache.tika.extractor.ParserContainerExtractor;
-import org.apache.tika.mime.MimeTypes;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.microsoft.AbstractPOIContainerExtractionTest;
-
-/**
- * Tests that the various POI OOXML powered parsers are
- *  able to extract their embedded contents.
- */
-public class OOXMLContainerExtractionTest extends AbstractPOIContainerExtractionTest {
-    private ContainerExtractor extractor;
-    
-    @Override
-    protected void setUp() throws Exception {
-       ContainerAwareDetector detector = new ContainerAwareDetector(
-               MimeTypes.getDefaultMimeTypes());
-       extractor = new ParserContainerExtractor(
-             new AutoDetectParser(detector), detector
-       );
-    }
-
-   /**
-     * For office files which don't have anything embedded in them
-     */
-    public void testWithoutEmbedded() throws Exception {
-       String[] files = new String[] {
-             "testEXCEL.xlsx", "testWORD.docx", "testPPT.pptx",
-       };
-       for(String file : files) {
-          // Process it without recursing
-          TrackingHandler handler = process(file, extractor, false);
-          
-          // Won't have fired
-          assertEquals(0, handler.filenames.size());
-          assertEquals(0, handler.mediaTypes.size());
-          
-          // Ditto with recursing
-          handler = process(file, extractor, true);
-          assertEquals(0, handler.filenames.size());
-          assertEquals(0, handler.mediaTypes.size());
-       }
-    }
-    
-    /**
-     * Office files with embedded images, but no other
-     *  office files in them
-     */
-    public void testEmbeddedImages() throws Exception {
-       TrackingHandler handler;
-       
-       // Excel with 1 image
-       handler = process("testEXCEL_1img.xlsx", extractor, false);
-       assertEquals(1, handler.filenames.size());
-       assertEquals(1, handler.mediaTypes.size());
-       
-       assertEquals("image1.png", handler.filenames.get(0));
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(0));
-
-       
-       // PowerPoint with 2 images + sound
-       // TODO Figure out why we can't find the sound anywhere...
-       handler = process("testPPT_2imgs.pptx", extractor, false);
-       assertEquals(3, handler.filenames.size());
-       assertEquals(3, handler.mediaTypes.size());
-       
-       assertEquals("image1.png", handler.filenames.get(0));
-       assertEquals("image2.gif", handler.filenames.get(1));
-       assertEquals("image3.png", handler.filenames.get(2));
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(0));
-       assertEquals(TYPE_GIF, handler.mediaTypes.get(1)); // icon of sound
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(2));
-       
-       
-       // Word with 1 image
-       handler = process("testWORD_1img.docx", extractor, false);
-       assertEquals(1, handler.filenames.size());
-       assertEquals(1, handler.mediaTypes.size());
-       
-       assertEquals("image1.png", handler.filenames.get(0));
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(0));
-
-       
-       // Word with 3 images
-       handler = process("testWORD_3imgs.docx", extractor, false);
-       assertEquals(3, handler.filenames.size());
-       assertEquals(3, handler.mediaTypes.size());
-       
-       assertEquals("image2.png", handler.filenames.get(0));
-       assertEquals("image3.jpeg", handler.filenames.get(1));
-       assertEquals("image4.png", handler.filenames.get(2));
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(0));
-       assertEquals(TYPE_JPG, handler.mediaTypes.get(1));
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(2));
-    }
-    
-    /**
-     * Office files which have other office files
-     *  embedded into them. The embedded office files
-     *  will sometimes have images in them.
-     *  
-     *  eg xls
-     *       -> word
-     *           -> image
-     *           -> image
-     *       -> powerpoint
-     *       -> excel
-     *           -> image
-     */
-    public void testEmbeddedOfficeFiles() throws Exception {
-       TrackingHandler handler;
-       
-       
-       // Excel with a word doc and a powerpoint doc, both of which have images in them
-       // Without recursion, should see both documents + the images
-       handler = process("testEXCEL_embeded.xlsx", extractor, false);
-       assertEquals(7, handler.filenames.size());
-       assertEquals(7, handler.mediaTypes.size());
-       
-       // We know the rough filenames
-       assertEquals("Microsoft_Office_PowerPoint_Presentation1.pptx", handler.filenames.get(0));
-       assertEquals("Microsoft_Office_Word_97_-_2003_Document1.doc", handler.filenames.get(1));
-       assertEquals("Microsoft_Office_Word_Document2.docx", handler.filenames.get(2));
-       assertEquals("image1.png", handler.filenames.get(3));
-       assertEquals("image2.emf", handler.filenames.get(4));
-       assertEquals("image3.emf", handler.filenames.get(5));
-       assertEquals("image4.emf", handler.filenames.get(6));
-       // But we do know their types
-       assertEquals(TYPE_PPTX, handler.mediaTypes.get(0)); // Embedded office doc
-       assertEquals(TYPE_DOC, handler.mediaTypes.get(1));  // Embedded office doc
-       assertEquals(TYPE_DOCX, handler.mediaTypes.get(2)); // Embedded office doc
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(3)); // Embedded image
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(4)); // Icon of embedded office doc
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(5)); // Icon of embedded office doc
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(6)); // Icon of embedded office doc
-       
-       
-       // With recursion, should get the images embedded in the office files too
-       handler = process("testEXCEL_embeded.xlsx", extractor, true);
-       assertEquals(23, handler.filenames.size());
-       assertEquals(23, handler.mediaTypes.size());
-       
-       assertEquals(TYPE_PPTX, handler.mediaTypes.get(0)); // Embedded office doc
-        assertEquals(TYPE_PNG, handler.mediaTypes.get(1));  //   PNG inside .pptx
-        assertEquals(TYPE_GIF, handler.mediaTypes.get(2));  //   PNG inside .pptx
-        assertEquals(TYPE_PNG, handler.mediaTypes.get(3));  //   PNG inside .pptx
-        assertEquals(TYPE_XLSX, handler.mediaTypes.get(4)); //   .xlsx inside .pptx
-         assertEquals(TYPE_PNG, handler.mediaTypes.get(5)); //     PNG inside .xlsx inside .pptx
-        assertEquals(TYPE_DOCX, handler.mediaTypes.get(6)); //   .docx inside .pptx
-         assertEquals(TYPE_PNG, handler.mediaTypes.get(7)); //     PNG inside .docx inside .pptx
-         assertEquals(TYPE_JPG, handler.mediaTypes.get(8)); //     JPG inside .docx inside .pptx
-         assertEquals(TYPE_PNG, handler.mediaTypes.get(9)); //     PNG inside .docx inside .pptx
-        assertEquals(TYPE_DOC, handler.mediaTypes.get(10)); //   .doc inside .pptx
-         assertEquals(TYPE_PNG, handler.mediaTypes.get(11)); //    PNG inside .doc inside .pptx
-        assertEquals(TYPE_EMF, handler.mediaTypes.get(12)); //   Icon of item inside .pptx
-        assertEquals(TYPE_EMF, handler.mediaTypes.get(13)); //   Icon of item inside .pptx
-        assertEquals(TYPE_EMF, handler.mediaTypes.get(14)); //   Icon of item inside .pptx
-       assertEquals(TYPE_DOC, handler.mediaTypes.get(15));  // Embedded office doc
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(16));  //   PNG inside .doc
-       assertEquals(TYPE_DOCX, handler.mediaTypes.get(17)); // Embedded office doc
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(18));  //   PNG inside .docx
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(19)); // Embedded image
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(20)); // Icon of embedded office doc
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(21)); // Icon of embedded office doc
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(22)); // Icon of embedded office doc
-       
-       
-       // Word with .docx, powerpoint and excel
-       handler = process("testWORD_embeded.docx", extractor, false);
-       assertEquals(9, handler.filenames.size());
-       assertEquals(9, handler.mediaTypes.size());
-       
-       // We know their rough filenames
-       assertEquals("Microsoft_Office_PowerPoint_Presentation2.pptx", handler.filenames.get(0));
-       assertEquals("image6.emf", handler.filenames.get(1));
-       assertEquals("Microsoft_Office_Word_97_-_2003_Document1.doc", handler.filenames.get(2));
-       assertEquals("image1.png", handler.filenames.get(3));
-       assertEquals("image2.jpeg", handler.filenames.get(4));
-       assertEquals("image3.png", handler.filenames.get(5));
-       assertEquals("image4.emf", handler.filenames.get(6));
-       assertEquals("Microsoft_Office_Excel_Worksheet1.xlsx", handler.filenames.get(7));
-       assertEquals("image5.emf", handler.filenames.get(8));
-       // But we do know their types
-       assertEquals(TYPE_PPTX, handler.mediaTypes.get(0)); // Embedded office doc
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(1));  // Icon of embedded office doc
-       assertEquals(TYPE_DOC, handler.mediaTypes.get(2));  // Embedded office doc
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(3));  // Embedded image
-       assertEquals(TYPE_JPG, handler.mediaTypes.get(4));  // Embedded image
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(5));  // Embedded image
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(6));  // Icon of embedded office doc 
-       assertEquals(TYPE_XLSX, handler.mediaTypes.get(7)); // Embeded office doc
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(8));  // Icon of embedded office doc
-       
-       
-       // With recursion, should get their images too
-       handler = process("testWORD_embeded.docx", extractor, true);
-       assertEquals(14, handler.filenames.size());
-       assertEquals(14, handler.mediaTypes.size());
-       
-       // But we do know their types
-       assertEquals(TYPE_PPTX, handler.mediaTypes.get(0)); // Embedded office doc
-        assertEquals(TYPE_PNG, handler.mediaTypes.get(1));  //   PNG inside .pptx
-        assertEquals(TYPE_GIF, handler.mediaTypes.get(2));  //   GIF inside .pptx
-        assertEquals(TYPE_PNG, handler.mediaTypes.get(3));  //   PNG inside .pptx
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(4));  // Icon of embedded office doc
-       assertEquals(TYPE_DOC, handler.mediaTypes.get(5));  // Embedded office doc
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(6));  //   PNG inside .doc
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(7));  // Embedded image
-       assertEquals(TYPE_JPG, handler.mediaTypes.get(8));  // Embedded image
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(9));  // Embedded image
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(10));  // Icon of embedded office doc 
-       assertEquals(TYPE_XLSX, handler.mediaTypes.get(11)); // Embeded office doc
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(12));  //   PNG inside .xlsx
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(13)); // Icon of embedded office doc
-       
-       
-       // PowerPoint with excel and word
-       handler = process("testPPT_embeded.pptx", extractor, false);
-       assertEquals(9, handler.filenames.size());
-       assertEquals(9, handler.mediaTypes.size());
-       
-       // We don't know their exact filenames
-       assertEquals("image4.png", handler.filenames.get(0));
-       assertEquals("image5.gif", handler.filenames.get(1));
-       assertEquals("image6.png", handler.filenames.get(2));
-       assertEquals("Microsoft_Office_Excel_Worksheet1.xlsx", handler.filenames.get(3));
-       assertEquals("Microsoft_Office_Word_Document2.docx", handler.filenames.get(4));
-       assertEquals("Microsoft_Office_Word_97_-_2003_Document1.doc", handler.filenames.get(5));
-       assertEquals("image1.emf", handler.filenames.get(6));
-       assertEquals("image2.emf", handler.filenames.get(7));
-       assertEquals("image3.emf", handler.filenames.get(8));
-       // But we do know their types
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(0));  // Embedded image
-       assertEquals(TYPE_GIF, handler.mediaTypes.get(1));  // Embedded image
-       assertEquals(TYPE_PNG, handler.mediaTypes.get(2));  // Embedded image
-       assertEquals(TYPE_XLSX, handler.mediaTypes.get(3)); // Embedded office doc
-       assertEquals(TYPE_DOCX, handler.mediaTypes.get(4)); // Embedded office doc
-       assertEquals(TYPE_DOC, handler.mediaTypes.get(5));  // Embedded office doc
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(6));  // Icon of embedded office doc
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(7));  // Icon of embedded office doc
-       assertEquals(TYPE_EMF, handler.mediaTypes.get(8));  // Icon of embedded office doc
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParserTest.java
deleted file mode 100644
index 1a8ef75..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParserTest.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.microsoft.ooxml;
-
-import java.io.InputStream;
-import java.io.StringWriter;
-import java.util.Locale;
-
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import javax.xml.transform.sax.TransformerHandler;
-import javax.xml.transform.stream.StreamResult;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.config.TikaConfig;
-import org.apache.tika.detect.ContainerAwareDetector;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.TikaMetadataKeys;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-public class OOXMLParserTest extends TestCase {
-    private Parser parser;
-   
-    @Override
-    protected void setUp() throws Exception {
-       TikaConfig config = TikaConfig.getDefaultConfig();
-       ContainerAwareDetector detector = new ContainerAwareDetector(
-             config.getMimeRepository()
-       );
-       parser = new AutoDetectParser(detector);
-    }
-
-   public void testExcel() throws Exception {
-        InputStream input = OOXMLParserTest.class
-                .getResourceAsStream("/test-documents/testEXCEL.xlsx");
-        assertNotNull(input);
-
-        Metadata metadata = new Metadata(); 
-        ContentHandler handler = new BodyContentHandler();
-        ParseContext context = new ParseContext();
-        context.set(Locale.class, Locale.US);
-
-        try {
-            parser.parse(TikaInputStream.get(input), handler, metadata, context);
-
-            assertEquals(
-                    "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            assertEquals("Simple Excel document", metadata.get(Metadata.TITLE));
-            assertEquals("Keith Bennett", metadata.get(Metadata.AUTHOR));
-            String content = handler.toString();
-            assertTrue(content.contains("Sample Excel Worksheet"));
-            assertTrue(content.contains("Numbers and their Squares"));
-            assertTrue(content.contains("9"));
-            assertFalse(content.contains("9.0"));
-            assertTrue(content.contains("196"));
-            assertFalse(content.contains("196.0"));
-            assertEquals("false", metadata.get(TikaMetadataKeys.PROTECTED));
-        } finally {
-            input.close();
-        }
-    }
-
-    public void testExcelFormats() throws Exception {
-        InputStream input = OOXMLParserTest.class
-                .getResourceAsStream("/test-documents/testEXCEL-formats.xlsx");
-
-        Metadata metadata = new Metadata();
-        ContentHandler handler = new BodyContentHandler();
-        ParseContext context = new ParseContext();
-        context.set(Locale.class, Locale.US);
-
-        try {
-            parser.parse(TikaInputStream.get(input), handler, metadata, context);
-
-            assertEquals(
-                    "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
-                    metadata.get(Metadata.CONTENT_TYPE));
-
-            String content = handler.toString();
-
-            // Number #,##0.00
-            assertTrue(content.contains("1,599.99"));
-            assertTrue(content.contains("-1,599.99"));
-
-            // Currency $#,##0.00;[Red]($#,##0.00)
-            assertTrue(content.contains("$1,599.99"));
-            assertTrue(content.contains("$1,599.99)"));
-
-            // Scientific 0.00E+00
-            assertTrue(content.contains("1.98E08"));
-            assertTrue(content.contains("-1.98E08"));
-
-            // Percentage
-            assertTrue(content.contains("2.50%"));
-            // Excel rounds up to 3%, but that requires Java 1.6 or later
-            if(System.getProperty("java.version").startsWith("1.5")) {
-                assertTrue(content.contains("2%"));
-            } else {
-                assertTrue(content.contains("3%"));
-            }
-
-            // Time Format: h:mm
-            assertTrue(content.contains("6:15"));
-            assertTrue(content.contains("18:15"));
-
-            // Date Format: d-mmm-yy
-            assertTrue(content.contains("17-May-07"));
-
-            // Currency $#,##0.00;[Red]($#,##0.00)
-            assertTrue(content.contains("$1,599.99"));
-            assertTrue(content.contains("($1,599.99)"));
-            
-            // Below assertions represent outstanding formatting issues to be addressed
-            // they are included to allow the issues to be progressed with the Apache POI
-            // team - See TIKA-103.
-
-            /*************************************************************************
-            // Date Format: m/d/yy
-            assertTrue(content.contains("03/10/2009"));
-
-            // Date/Time Format
-            assertTrue(content.contains("19/01/2008 04:35"));
-
-            // Custom Number (0 "dollars and" .00 "cents")
-            assertTrue(content.contains("19 dollars and .99 cents"));
-
-            // Custom Number ("At" h:mm AM/PM "on" dddd mmmm d"," yyyy)
-            assertTrue(content.contains("At 4:20 AM on Thursday May 17, 2007"));
-
-            // Fraction (2.5): # ?/?
-            assertTrue(content.contains("2 1 / 2"));
-            **************************************************************************/
-        } finally {
-            input.close();
-        }
-    }
-
-    /**
-     * We have a number of different powerpoint files,
-     *  such as presentation, macro-enabled etc
-     */
-    public void testPowerPoint() throws Exception {
-	String[] extensions = new String[] {
-		"pptx", "pptm", "ppsm", "ppsx",
-		//"thmx", // TIKA-418: Will be supported in POI 3.7 beta 2 
-		//"xps" // TIKA-418: Not yet supported by POI
-	};
-	for(String extension : extensions) {
-	    String filename = "testPPT." + extension;
-            InputStream input = OOXMLParserTest.class
-                    .getResourceAsStream("/test-documents/"+filename);
-    
-            Parser parser = new AutoDetectParser();
-            Metadata metadata = new Metadata();
-            // TODO: should auto-detect without the resource name
-            metadata.set(Metadata.RESOURCE_NAME_KEY, filename);
-            ContentHandler handler = new BodyContentHandler();
-            ParseContext context = new ParseContext();
-    
-            try {
-                parser.parse(input, handler, metadata, context);
-    
-                assertEquals(
-                        "application/vnd.openxmlformats-officedocument.presentationml.presentation",
-                        metadata.get(Metadata.CONTENT_TYPE));
-                assertEquals("Attachment Test", metadata.get(Metadata.TITLE));
-                assertEquals("Rajiv", metadata.get(Metadata.AUTHOR));
-                
-                String content = handler.toString();
-                // Theme files don't have the text in them
-                if(extension.equals("thmx")) {
-                    assertEquals("", content);
-                } else {
-                    assertTrue(
-                    	"Text missing for " + filename + "\n" + content, 
-                    	content.contains("Attachment Test")
-                    );
-                    assertTrue(
-                    	"Text missing for " + filename + "\n" + content, 
-                    	content.contains("This is a test file data with the same content")
-                    );
-                    assertTrue(
-                    	"Text missing for " + filename + "\n" + content, 
-                    	content.contains("content parsing")
-                    );
-                    assertTrue(
-                    	"Text missing for " + filename + "\n" + content, 
-                    	content.contains("Different words to test against")
-                    );
-                    assertTrue(
-                    	"Text missing for " + filename + "\n" + content, 
-                    	content.contains("Mystery")
-                    );
-                }
-            } finally {
-                input.close();
-            }
-	}
-    }
-    
-    /**
-     * Test the plain text output of the Word converter
-     * @throws Exception
-     */
-    public void testWord() throws Exception {
-        InputStream input = OOXMLParserTest.class
-                .getResourceAsStream("/test-documents/testWORD.docx");
-
-        Metadata metadata = new Metadata();
-        ContentHandler handler = new BodyContentHandler();
-        ParseContext context = new ParseContext();
-
-        try {
-            parser.parse(TikaInputStream.get(input), handler, metadata, context);
-            assertEquals(
-                    "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            assertEquals("Sample Word Document", metadata.get(Metadata.TITLE));
-            assertEquals("Keith Bennett", metadata.get(Metadata.AUTHOR));
-            assertTrue(handler.toString().contains("Sample Word Document"));
-        } finally {
-            input.close();
-        }
-    }
-
-    /**
-     * Test the plain text output of the Word converter
-     * @throws Exception
-     */
-    public void testWordFootnote() throws Exception {
-        InputStream input = OOXMLParserTest.class
-                .getResourceAsStream("/test-documents/footnotes.docx");
-
-        Metadata metadata = new Metadata();
-        ContentHandler handler = new BodyContentHandler();
-        ParseContext context = new ParseContext();
-
-        try {
-            parser.parse(TikaInputStream.get(input), handler, metadata, context);
-            assertEquals(
-                    "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            assertTrue(handler.toString().contains("snoska"));
-        } finally {
-            input.close();
-        }
-    }
-
-    /**
-     * Test that the word converter is able to generate the
-     *  correct HTML for the document
-     */
-    public void testWordHTML() throws Exception {
-        InputStream input = null;
-        Metadata metadata = new Metadata();
-        ParseContext context = new ParseContext();
-        
-        StringWriter sw = new StringWriter();
-        SAXTransformerFactory factory = (SAXTransformerFactory)
-                 SAXTransformerFactory.newInstance();
-        TransformerHandler handler = factory.newTransformerHandler();
-        handler.getTransformer().setOutputProperty(OutputKeys.METHOD, "xml");
-        handler.getTransformer().setOutputProperty(OutputKeys.INDENT, "yes");
-        handler.setResult(new StreamResult(sw));
-
-        // Try with a document containing various tables and formattings
-        input = OOXMLParserTest.class.getResourceAsStream("/test-documents/testWORD.docx");
-        try {
-            parser.parse(TikaInputStream.get(input), handler, metadata, context);
-            String xml = sw.toString();
-            assertEquals(
-                    "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            assertEquals("Sample Word Document", metadata.get(Metadata.TITLE));
-            assertEquals("Keith Bennett", metadata.get(Metadata.AUTHOR));
-            assertTrue(xml.contains("Sample Word Document"));
-            
-            // Check that custom headings came through
-            assertTrue(xml.contains("<h1 class=\"title\">"));
-            // Regular headings
-            assertTrue(xml.contains("<h1>Heading Level 1</h1>"));
-            assertTrue(xml.contains("<h2>Heading Level 2</h2>"));
-            // Headings with anchor tags in them
-            assertTrue(xml.replaceAll("\r?\n", "").contains("<h3><a name=\"OnLevel3\"/>Heading Level 3</h3>"));
-            // Bold and italic
-            assertTrue(xml.contains("<b>BOLD</b>"));
-            assertTrue(xml.contains("<i>ITALIC</i>"));
-            // Table
-            assertTrue(xml.contains("<table>"));
-            assertTrue(xml.contains("<td>"));
-            // Links
-            assertTrue(xml.contains("<a href=\"http://tika.apache.org/\">Tika</a>"));
-            // Anchor links
-            assertTrue(xml.contains("<a href=\"#OnMainHeading\">The Main Heading Bookmark</a>"));
-            // Paragraphs with other styles
-            assertTrue(xml.contains("<p class=\"signature\">This one"));
-        } finally {
-            input.close();
-        }
-        
-        // Try with a document that contains images
-        sw = new StringWriter();
-        handler.setResult(new StreamResult(sw));
-        input = OOXMLParserTest.class.getResourceAsStream("/test-documents/testWORD_3imgs.docx");
-        try {
-            parser.parse(TikaInputStream.get(input), handler, metadata, context);
-            String xml = sw.toString();
-            
-            // Images 2-4 (there is no 1!)
-//            assertTrue("Image not found in:\n"+xml, xml.contains("<img src=\"embedded:image2.png\"/>"));
-//            assertTrue("Image not found in:\n"+xml, xml.contains("<img src=\"embedded:image3.jpeg\"/>"));
-//            assertTrue("Image not found in:\n"+xml, xml.contains("<img src=\"embedded:image4.png\"/>"));
-            
-            // Text too
-            assertTrue(xml.contains("<p>The end!</p>"));
-        } finally {
-            input.close();
-        }
-    }
-
-    /**
-     * Documents with some sheets are protected, but not all. 
-     * See TIKA-364.
-     */
-    public void testProtectedExcelSheets() throws Exception {
-        InputStream input = OOXMLParserTest.class
-                .getResourceAsStream("/test-documents/protectedSheets.xlsx");
-
-        Parser parser = new AutoDetectParser();
-        Metadata metadata = new Metadata();
-        ContentHandler handler = new BodyContentHandler();
-        ParseContext context = new ParseContext();
-
-        try {
-            parser.parse(input, handler, metadata, context);
-
-            assertEquals(
-                    "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
-                    metadata.get(Metadata.CONTENT_TYPE));
-
-            assertEquals("true", metadata.get(TikaMetadataKeys.PROTECTED));
-        } finally {
-            input.close();
-        }
-    }
-
-    /**
-     * An excel document which is password protected. 
-     * See TIKA-437.
-     */
-    public void testProtectedExcelFile() throws Exception {
-        InputStream input = OOXMLParserTest.class
-                .getResourceAsStream("/test-documents/protectedFile.xlsx");
-
-        Parser parser = new AutoDetectParser();
-        Metadata metadata = new Metadata();
-        ContentHandler handler = new BodyContentHandler();
-        ParseContext context = new ParseContext();
-
-        try {
-            parser.parse(input, handler, metadata, context);
-
-            assertEquals(
-                    "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
-                    metadata.get(Metadata.CONTENT_TYPE));
-
-            assertEquals("true", metadata.get(TikaMetadataKeys.PROTECTED));
-            
-            String content = handler.toString();
-            assertTrue(content.contains("Office"));
-        } finally {
-            input.close();
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mp3/Mp3ParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mp3/Mp3ParserTest.java
deleted file mode 100644
index ef7698f..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mp3/Mp3ParserTest.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.mp3;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.XMPDM;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-/**
- * Test case for parsing mp3 files.
- */
-public class Mp3ParserTest extends TestCase {
-
-    /**
-     * Test that with only ID3v1 tags, we get some information out   
-     */
-    public void testMp3ParsingID3v1() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        InputStream stream = Mp3ParserTest.class.getResourceAsStream(
-                "/test-documents/testMP3id3v1.mp3");
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-        } finally {
-            stream.close();
-        }
-
-        assertEquals("audio/mpeg", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("Test Title", metadata.get(Metadata.TITLE));
-        assertEquals("Test Artist", metadata.get(Metadata.AUTHOR));
-
-        String content = handler.toString();
-        assertTrue(content.contains("Test Title"));
-        assertTrue(content.contains("Test Artist"));
-        assertTrue(content.contains("Test Album"));
-        assertTrue(content.contains("2008"));
-        assertTrue(content.contains("Test Comment"));
-        assertTrue(content.contains("Rock"));
-        
-        assertEquals("MPEG 3 Layer III Version 1", metadata.get("version"));
-        assertEquals("44100", metadata.get("samplerate"));
-        assertEquals("2", metadata.get("channels"));
-    }
-
-    /**
-     * Test that with only ID3v2 tags, we get the full
-     *  set of information out.
-     */
-    public void testMp3ParsingID3v2() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        InputStream stream = Mp3ParserTest.class.getResourceAsStream(
-                "/test-documents/testMP3id3v2.mp3");
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-        } finally {
-            stream.close();
-        }
-
-        // Check core properties
-        assertEquals("audio/mpeg", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("Test Title", metadata.get(Metadata.TITLE));
-        assertEquals("Test Artist", metadata.get(Metadata.AUTHOR));
-
-        // Check the textual contents
-        String content = handler.toString();
-        assertTrue(content.contains("Test Title"));
-        assertTrue(content.contains("Test Artist"));
-        assertTrue(content.contains("Test Album"));
-        assertTrue(content.contains("2008"));
-        assertTrue(content.contains("Test Comment"));
-        assertTrue(content.contains("Rock"));
-        
-        // Check un-typed audio properties
-        assertEquals("MPEG 3 Layer III Version 1", metadata.get("version"));
-        assertEquals("44100", metadata.get("samplerate"));
-        assertEquals("2", metadata.get("channels"));
-        
-        // Check XMPDM-typed audio properties
-        assertEquals("Test Album", metadata.get(XMPDM.ALBUM));
-        assertEquals("Test Artist", metadata.get(XMPDM.ARTIST));
-        assertEquals(null, metadata.get(XMPDM.COMPOSER));
-        assertEquals("2008", metadata.get(XMPDM.RELEASE_DATE));
-        assertEquals("Rock", metadata.get(XMPDM.GENRE));
-        assertEquals("XXXID3v1 Comment\nTest Comment", metadata.get(XMPDM.LOG_COMMENT.getName()));
-        assertEquals("1", metadata.get(XMPDM.TRACK_NUMBER));
-        
-        assertEquals("44100", metadata.get(XMPDM.AUDIO_SAMPLE_RATE));
-        assertEquals("Stereo", metadata.get(XMPDM.AUDIO_CHANNEL_TYPE));
-        assertEquals("MP3", metadata.get(XMPDM.AUDIO_COMPRESSOR));
-    }
-
-    /**
-     * Test that with both id3v2 and id3v1, we prefer the
-     *  details from id3v2
-     */
-    public void testMp3ParsingID3v1v2() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        InputStream stream = Mp3ParserTest.class.getResourceAsStream(
-                "/test-documents/testMP3id3v1_v2.mp3");
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-        } finally {
-            stream.close();
-        }
-
-        assertEquals("audio/mpeg", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("Test Title", metadata.get(Metadata.TITLE));
-        assertEquals("Test Artist", metadata.get(Metadata.AUTHOR));
-
-        String content = handler.toString();
-        assertTrue(content.contains("Test Title"));
-        assertTrue(content.contains("Test Artist"));
-        assertTrue(content.contains("Test Album"));
-        assertTrue(content.contains("2008"));
-        assertTrue(content.contains("Test Comment"));
-        assertTrue(content.contains("Rock"));
-        
-        assertEquals("MPEG 3 Layer III Version 1", metadata.get("version"));
-        assertEquals("44100", metadata.get("samplerate"));
-        assertEquals("2", metadata.get("channels"));
-    }
-
-    /**
-     * Test that with only ID3v2 tags, of version 2.4, we get the full
-     *  set of information out.
-     */
-    public void testMp3ParsingID3v24() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        InputStream stream = Mp3ParserTest.class.getResourceAsStream(
-                "/test-documents/testMP3id3v24.mp3");
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-        } finally {
-            stream.close();
-        }
-
-        assertEquals("audio/mpeg", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("Test Title", metadata.get(Metadata.TITLE));
-        assertEquals("Test Artist", metadata.get(Metadata.AUTHOR));
-
-        String content = handler.toString();
-        assertTrue(content.contains("Test Title"));
-        assertTrue(content.contains("Test Artist"));
-        assertTrue(content.contains("Test Album"));
-        assertTrue(content.contains("2008"));
-        assertTrue(content.contains("Test Comment"));
-        assertTrue(content.contains("Rock"));
-        
-        assertEquals("MPEG 3 Layer III Version 1", metadata.get("version"));
-        assertEquals("44100", metadata.get("samplerate"));
-        assertEquals("2", metadata.get("channels"));
-    }
-    
-    /**
-     * Tests that a file with both lyrics and
-     *  ID3v2 tags gets both extracted correctly
-     */
-    public void testMp3ParsingLyrics() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        // Note - our test file has a lyrics tag, but lacks any
-        //  lyrics in the tags, so we can't test that bit
-        // TODO Find a better sample file
-        
-        InputStream stream = Mp3ParserTest.class.getResourceAsStream(
-                "/test-documents/testMP3lyrics.mp3");
-        try {
-            parser.parse(stream, handler, metadata, new ParseContext());
-        } finally {
-            stream.close();
-        }
-
-        assertEquals("audio/mpeg", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("Test Title", metadata.get(Metadata.TITLE));
-        assertEquals("Test Artist", metadata.get(Metadata.AUTHOR));
-
-        String content = handler.toString();
-        assertTrue(content.contains("Test Title"));
-        assertTrue(content.contains("Test Artist"));
-        assertTrue(content.contains("Test Album"));
-        assertTrue(content.contains("2008"));
-        assertTrue(content.contains("Test Comment"));
-        assertTrue(content.contains("Rock"));
-        
-        assertEquals("MPEG 3 Layer III Version 1", metadata.get("version"));
-        assertEquals("44100", metadata.get("samplerate"));
-        assertEquals("2", metadata.get("channels"));
-    }
-    
-    public void testID3v2Frame() throws Exception {
-       byte[] empty = new byte[] {
-             0x49, 0x44, 0x33, 3, 1, 0,
-             0, 0, 0, 0
-       };
-       
-       assertEquals(11, ID3v2Frame.getInt(new byte[] {0,0,0,0x0b}));
-       assertEquals(257, ID3v2Frame.getInt(new byte[] {0,0,1,1}));
-       
-       ID3v2Frame f = (ID3v2Frame)
-            ID3v2Frame.createFrameIfPresent(new ByteArrayInputStream(empty));
-       assertEquals(3, f.getMajorVersion());
-       assertEquals(1, f.getMinorVersion());
-       assertEquals(0, f.getFlags());
-       assertEquals(0, f.getLength());
-       assertEquals(0, f.getData().length);
-       
-       assertEquals("", ID3v2Frame.getTagString(f.getData(), 0, 0));
-       assertEquals("", ID3v2Frame.getTagString(new byte[] {0,0,0,0}, 0, 3));
-       assertEquals("A", ID3v2Frame.getTagString(new byte[] {(byte)'A',0,0,0}, 0, 3));
-    }
-    
-    /**
-     * This test will do nothing, unless you've downloaded the
-     *  mp3 file from TIKA-424 - the file cannot be
-     *  distributed with Tika.
-     * This test will check for the complicated set of ID3v2.4
-     *  tags.
-     */
-    public void testTIKA424() throws Exception {
-       Parser parser = new AutoDetectParser(); // Should auto-detect!
-       ContentHandler handler = new BodyContentHandler();
-       Metadata metadata = new Metadata();
-
-       InputStream stream = Mp3ParserTest.class.getResourceAsStream(
-               "/test-documents/test2.mp3");
-       if(stream == null) {
-          // You haven't downloaded the file
-          // Skip the test
-          return;
-       }
-       
-       try {
-           parser.parse(stream, handler, metadata, new ParseContext());
-       } finally {
-           stream.close();
-       }
-
-       assertEquals("audio/mpeg", metadata.get(Metadata.CONTENT_TYPE));
-       assertEquals("Plus loin vers l'ouest", metadata.get(Metadata.TITLE));
-       assertEquals("Merzhin", metadata.get(Metadata.AUTHOR));
-
-       String content = handler.toString();
-       assertTrue(content.contains("Plus loin vers l'ouest"));
-       
-       assertEquals("MPEG 3 Layer III Version 1", metadata.get("version"));
-       assertEquals("44100", metadata.get("samplerate"));
-       assertEquals("2", metadata.get("channels"));
-    }
-    
-    /**
-     * This tests that we can handle without errors (but perhaps not
-     *  all content) a file with a very very large ID3 frame that
-     *  has been truncated before the end of the ID3 tags.
-     * In this case, it is a file with JPEG data in the ID3, which
-     *  is trunacted before the end of the JPEG bit of the ID3 frame.
-     */
-    public void testTIKA474() throws Exception {
-       Parser parser = new AutoDetectParser(); // Should auto-detect!
-       ContentHandler handler = new BodyContentHandler();
-       Metadata metadata = new Metadata();
-
-       InputStream stream = Mp3ParserTest.class.getResourceAsStream(
-               "/test-documents/testMP3truncated.mp3");
-       
-       
-       try {
-           parser.parse(stream, handler, metadata, new ParseContext());
-       } finally {
-           stream.close();
-       }
-
-       // Check we coud get the headers from the start
-       assertEquals("audio/mpeg", metadata.get(Metadata.CONTENT_TYPE));
-       assertEquals("Girl you have no faith in medicine", metadata.get(Metadata.TITLE));
-       assertEquals("The White Stripes", metadata.get(Metadata.AUTHOR));
-
-       String content = handler.toString();
-       assertTrue(content.contains("Girl you have no faith in medicine"));
-       assertTrue(content.contains("The White Stripes"));
-       assertTrue(content.contains("Elephant"));
-       assertTrue(content.contains("2003"));
-       
-       // File lacks any audio frames, so we can't know these
-       assertEquals(null, metadata.get("version"));
-       assertEquals(null, metadata.get("samplerate"));
-       assertEquals(null, metadata.get("channels"));
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/netcdf/NetCDFParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/netcdf/NetCDFParserTest.java
deleted file mode 100644
index acb78b9..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/netcdf/NetCDFParserTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.netcdf;
-
-//JDK imports
-import java.io.InputStream;
-
-//TIKA imports
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-//Junit imports
-import junit.framework.TestCase;
-
-/**
- * Test cases to exercise the {@link NetCDFParser}.
- * 
- */
-public class NetCDFParserTest extends TestCase {
-
-    public void testParseGlobalMetadata() throws Exception {
-        if(System.getProperty("java.version").startsWith("1.5")) {
-            return;
-        }
-
-        Parser parser = new NetCDFParser();
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        InputStream stream = NetCDFParser.class
-                .getResourceAsStream("/test-documents/sresa1b_ncar_ccsm3_0_run1_200001.nc");
-        try {
-            parser.parse(stream, handler, metadata);
-        } finally {
-            stream.close();
-        }
-
-        assertEquals(metadata.get(Metadata.TITLE),
-                "model output prepared for IPCC AR4");
-        assertEquals(metadata.get(Metadata.CONTACT), "ccsm@ucar.edu");
-        assertEquals(metadata.get(Metadata.PROJECT_ID),
-                "IPCC Fourth Assessment");
-        assertEquals(metadata.get(Metadata.CONVENTIONS), "CF-1.0");
-        assertEquals(metadata.get(Metadata.REALIZATION), "1");
-        assertEquals(metadata.get(Metadata.EXPERIMENT_ID),
-                "720 ppm stabilization experiment (SRESA1B)");
-
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/opendocument/ODFParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/opendocument/ODFParserTest.java
deleted file mode 100644
index bca726f..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/opendocument/ODFParserTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.opendocument;
-
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-import org.apache.tika.parser.odf.OpenDocumentParser;
-
-public class ODFParserTest extends TestCase {
-
-    public void testXMLParser() throws Exception {
-        InputStream input = ODFParserTest.class.getResourceAsStream(
-                "/test-documents/testODFwithOOo3.odt");
-        try {
-            Metadata metadata = new Metadata();
-            ContentHandler handler = new BodyContentHandler();
-            new OpenDocumentParser().parse(input, handler, metadata);
-
-            assertEquals(
-                    "application/vnd.oasis.opendocument.text",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            
-            String content = handler.toString();
-            assertTrue(content.contains("Tika is part of the Lucene project."));
-            assertTrue(content.contains("Solr"));
-            assertTrue(content.contains("one embedded"));
-            assertTrue(content.contains("Rectangle Title"));
-            assertTrue(content.contains("a blue background and dark border"));        } finally {
-            input.close();
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/opendocument/OpenOfficeParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/opendocument/OpenOfficeParserTest.java
deleted file mode 100644
index b39605f..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/opendocument/OpenOfficeParserTest.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.opendocument;
-
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-public class OpenOfficeParserTest extends TestCase {
-
-    public void testXMLParser() throws Exception {
-        InputStream input = OpenOfficeParserTest.class.getResourceAsStream(
-                "/test-documents/testOpenOffice2.odt");
-        try {
-            Metadata metadata = new Metadata();
-            ContentHandler handler = new BodyContentHandler();
-            new OpenOfficeParser().parse(input, handler, metadata);
-
-            assertEquals(
-                    "application/vnd.oasis.opendocument.text",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            assertEquals("2007-09-14T11:07:10", metadata.get(Metadata.DATE));
-            assertEquals("2007-09-14T11:06:08", metadata.get(Metadata.CREATION_DATE));
-            assertEquals("en-US", metadata.get(Metadata.LANGUAGE));
-            assertEquals("PT1M7S", metadata.get(Metadata.EDIT_TIME));
-            assertEquals(
-                    "NeoOffice/2.2$Unix OpenOffice.org_project/680m18$Build-9161",
-                    metadata.get("generator"));
-            assertEquals("0", metadata.get("nbTab"));
-            assertEquals("0", metadata.get("nbObject"));
-            assertEquals("0", metadata.get("nbImg"));
-            assertEquals("1", metadata.get("nbPage"));
-            assertEquals("1", metadata.get("nbPara"));
-            assertEquals("14", metadata.get("nbWord"));
-            assertEquals("78", metadata.get("nbCharacter"));
-            
-            // Custom metadata tags present but without values
-            assertEquals(null, metadata.get("custom:Info 1"));
-            assertEquals(null, metadata.get("custom:Info 2"));
-            assertEquals(null, metadata.get("custom:Info 3"));
-            assertEquals(null, metadata.get("custom:Info 4"));
-
-            String content = handler.toString();
-            assertTrue(content.contains(
-                    "This is a sample Open Office document,"
-                    + " written in NeoOffice 2.2.1 for the Mac."));
-        } finally {
-            input.close();
-        }
-    }
-
-    /**
-     * Similar to {@link #testXMLParser()}, but using a different
-     *  OO2 file with different metadata in it
-     */
-    public void testOO2Metadata() throws Exception {
-       InputStream input = OpenOfficeParserTest.class.getResourceAsStream(
-             "/test-documents/testOpenOffice2.odf");
-       try {
-            Metadata metadata = new Metadata();
-            ContentHandler handler = new BodyContentHandler();
-            new OpenOfficeParser().parse(input, handler, metadata);
-   
-            assertEquals(
-                    "application/vnd.oasis.opendocument.formula",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            assertEquals(null, metadata.get(Metadata.DATE));
-            assertEquals("2006-01-27T11:55:22", metadata.get(Metadata.CREATION_DATE));
-            assertEquals("The quick brown fox jumps over the lazy dog", metadata.get(Metadata.TITLE));
-            assertEquals("Gym class featuring a brown fox and lazy dog", metadata.get(Metadata.SUBJECT));
-            assertEquals("PT0S", metadata.get(Metadata.EDIT_TIME));
-            assertEquals("1", metadata.get("editing-cycles"));
-            assertEquals(
-                    "OpenOffice.org/2.2$Win32 OpenOffice.org_project/680m14$Build-9134",
-                    metadata.get("generator"));
-            assertEquals("Pangram, fox, dog", metadata.get(Metadata.KEYWORDS));
-            
-            // User defined metadata
-            assertEquals("Text 1", metadata.get("custom:Info 1"));
-            assertEquals("2", metadata.get("custom:Info 2"));
-            assertEquals("false", metadata.get("custom:Info 3"));
-            assertEquals("true", metadata.get("custom:Info 4"));
-            
-            // No statistics present
-            assertEquals(null, metadata.get("nbTab"));
-            assertEquals(null, metadata.get("nbObject"));
-            assertEquals(null, metadata.get("nbImg"));
-            assertEquals(null, metadata.get("nbPage"));
-            assertEquals(null, metadata.get("nbPara"));
-            assertEquals(null, metadata.get("nbWord"));
-            assertEquals(null, metadata.get("nbCharacter"));
-   
-            // Note - contents of maths files not currently supported
-            String content = handler.toString();
-            assertEquals("", content);
-       } finally {
-           input.close();
-       }
-    }
-
-    /**
-     * Similar to {@link #testXMLParser()}, but using an OO3 file
-     */
-    public void testOO3Metadata() throws Exception {
-       InputStream input = OpenOfficeParserTest.class.getResourceAsStream(
-             "/test-documents/testODFwithOOo3.odt");
-       try {
-            Metadata metadata = new Metadata();
-            ContentHandler handler = new BodyContentHandler();
-            new OpenOfficeParser().parse(input, handler, metadata);
-   
-            assertEquals(
-                    "application/vnd.oasis.opendocument.text",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            assertEquals("2009-10-05T21:22:38", metadata.get(Metadata.DATE));
-            assertEquals("2009-10-05T19:04:01", metadata.get(Metadata.CREATION_DATE));
-            assertEquals("Apache Tika", metadata.get(Metadata.TITLE));
-            assertEquals("Test document", metadata.get(Metadata.SUBJECT));
-            assertEquals("A rather complex document", metadata.get(Metadata.DESCRIPTION));
-            assertEquals("Bart Hanssens", metadata.get(Metadata.CREATOR));
-            assertEquals("Bart Hanssens", metadata.get("initial-creator"));
-            assertEquals("2", metadata.get("editing-cycles"));
-            assertEquals("PT02H03M24S", metadata.get(Metadata.EDIT_TIME));
-            assertEquals(
-                    "OpenOffice.org/3.1$Unix OpenOffice.org_project/310m19$Build-9420",
-                    metadata.get("generator"));
-            assertEquals("Apache, Lucene, Tika", metadata.get(Metadata.KEYWORDS));
-            
-            // User defined metadata
-            assertEquals("Bart Hanssens", metadata.get("custom:Editor"));
-            assertEquals(null, metadata.get("custom:Info 2"));
-            assertEquals(null, metadata.get("custom:Info 3"));
-            assertEquals(null, metadata.get("custom:Info 4"));
-            
-            // No statistics present
-            assertEquals("0", metadata.get("nbTab"));
-            assertEquals("2", metadata.get("nbObject"));
-            assertEquals("0", metadata.get("nbImg"));
-            assertEquals("2", metadata.get("nbPage"));
-            assertEquals("13", metadata.get("nbPara"));
-            assertEquals("54", metadata.get("nbWord"));
-            assertEquals("351", metadata.get("nbCharacter"));
-   
-            String content = handler.toString();
-            assertTrue(content.contains(
-                  "Apache Tika Tika is part of the Lucene project."
-            ));
-       } finally {
-           input.close();
-       }
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java
deleted file mode 100644
index a19ab49..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.pdf;
-
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-/**
- * Test case for parsing pdf files.
- */
-public class PDFParserTest extends TestCase {
-
-    public void testPdfParsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-        ParseContext context = new ParseContext();
-
-        InputStream stream = PDFParserTest.class.getResourceAsStream(
-                "/test-documents/testPDF.pdf");
-        try {
-            parser.parse(stream, handler, metadata, context);
-        } finally {
-            stream.close();
-        }
-
-        assertEquals("application/pdf", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("Bertrand Delacr\u00e9taz", metadata.get(Metadata.AUTHOR));
-        assertEquals("Apache Tika - Apache Tika", metadata.get(Metadata.TITLE));
-        
-        // Can't reliably test dates yet - see TIKA-451 
-//        assertEquals("Sat Sep 15 10:02:31 BST 2007", metadata.get(Metadata.CREATION_DATE));
-//        assertEquals("Sat Sep 15 10:02:31 BST 2007", metadata.get(Metadata.LAST_MODIFIED));
-
-        String content = handler.toString();
-        assertTrue(content.contains("Apache Tika"));
-        assertTrue(content.contains("Tika - Content Analysis Toolkit"));
-        assertTrue(content.contains("incubator"));
-        assertTrue(content.contains("Apache Software Foundation"));
-        // testing how the end of one paragraph is separated from start of the next one
-        assertTrue("should have word boundary after headline", 
-                !content.contains("ToolkitApache"));
-        assertTrue("should have word boundary between paragraphs", 
-                !content.contains("libraries.Apache"));
-    }
-
-    public void testCustomMetadata() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-        ParseContext context = new ParseContext();
-
-        InputStream stream = PDFParserTest.class.getResourceAsStream(
-                "/test-documents/testPDF-custommetadata.pdf");
-        try {
-            parser.parse(stream, handler, metadata, context);
-        } finally {
-            stream.close();
-        }
-
-        assertEquals("application/pdf", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("Document author", metadata.get(Metadata.AUTHOR));
-        assertEquals("Document title", metadata.get(Metadata.TITLE));
-        
-        assertEquals("Custom Value", metadata.get("Custom Property"));
-        assertEquals("Array Entry 1", metadata.get("Custom Array"));
-        assertEquals(2, metadata.getValues("Custom Array").length);
-        assertEquals("Array Entry 1", metadata.getValues("Custom Array")[0]);
-        assertEquals("Array Entry 2", metadata.getValues("Custom Array")[1]);
-        
-        String content = handler.toString();
-        assertTrue(content.contains("Hello World!"));
-    }
-    
-    /**
-     * PDFs can be "protected" with the default password. This means
-     *  they're encrypted (potentially both text and metadata),
-     *  but we can decrypt them easily.
-     */
-    public void testProtectedPDF() throws Exception {
-       Parser parser = new AutoDetectParser(); // Should auto-detect!
-       ContentHandler handler = new BodyContentHandler();
-       Metadata metadata = new Metadata();
-       ParseContext context = new ParseContext();
-
-       InputStream stream = PDFParserTest.class.getResourceAsStream(
-               "/test-documents/testPDF_protected.pdf");
-       try {
-           parser.parse(stream, handler, metadata, context);
-       } finally {
-           stream.close();
-       }
-
-       assertEquals("application/pdf", metadata.get(Metadata.CONTENT_TYPE));
-       assertEquals("The Bank of England", metadata.get(Metadata.AUTHOR));
-       assertEquals("Speeches by Andrew G Haldane", metadata.get(Metadata.SUBJECT));
-       assertEquals("Rethinking the Financial Network, Speech by Andrew G Haldane, Executive Director, Financial Stability delivered at the Financial Student Association, Amsterdam on 28 April 2009", metadata.get(Metadata.TITLE));
-
-       String content = handler.toString();
-       assertTrue(content.contains("RETHINKING THE FINANCIAL NETWORK"));
-       assertTrue(content.contains("On 16 November 2002"));
-       assertTrue(content.contains("In many important respects"));
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/AbstractPkgTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/AbstractPkgTest.java
deleted file mode 100644
index 7511ad8..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/AbstractPkgTest.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.pkg;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Parent class for all Package based Test cases
- */
-public abstract class AbstractPkgTest extends TestCase {
-   protected ParseContext trackingContext;
-   protected ParseContext recursingContext;
-   
-   protected Parser autoDetectParser;
-   protected EmbeddedTrackingParser tracker;
-
-   protected void setUp() throws Exception {
-      super.setUp();
-      
-      tracker = new EmbeddedTrackingParser();
-      trackingContext = new ParseContext();
-      trackingContext.set(Parser.class, tracker);
-      
-      autoDetectParser = new AutoDetectParser();
-      recursingContext = new ParseContext();
-      recursingContext.set(Parser.class, autoDetectParser);
-   }
-
-
-   @SuppressWarnings("serial")
-   protected static class EmbeddedTrackingParser implements Parser {
-      protected List<String> filenames = new ArrayList<String>();
-      protected List<String> mediatypes = new ArrayList<String>();
-      protected byte[] lastSeenStart;
-      
-      public void reset() {
-         filenames.clear();
-         mediatypes.clear();
-      }
-      
-      public Set<MediaType> getSupportedTypes(ParseContext context) {
-         // Cheat!
-         return (new AutoDetectParser()).getSupportedTypes(context);
-      }
-
-      public void parse(InputStream stream, ContentHandler handler,
-            Metadata metadata, ParseContext context) throws IOException,
-            SAXException, TikaException {
-         filenames.add(metadata.get(Metadata.RESOURCE_NAME_KEY));
-         mediatypes.add(metadata.get(Metadata.CONTENT_TYPE));
-         
-         lastSeenStart = new byte[32];
-         stream.read(lastSeenStart);
-      }
-
-      public void parse(InputStream stream, ContentHandler handler,
-            Metadata metadata) throws IOException, SAXException, TikaException {
-         parse(stream, handler, metadata, new ParseContext());
-      }
-   }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/Bzip2ParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/Bzip2ParserTest.java
deleted file mode 100644
index 6994e78..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/Bzip2ParserTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.pkg;
-
-import java.io.InputStream;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-/**
- * Test case for parsing bzip2 files.
- */
-public class Bzip2ParserTest extends AbstractPkgTest {
-
-    public void testBzip2Parsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        InputStream stream = Bzip2ParserTest.class.getResourceAsStream(
-                "/test-documents/test-documents.tbz2");
-        try {
-            parser.parse(stream, handler, metadata, recursingContext);
-        } finally {
-            stream.close();
-        }
-
-        assertEquals("application/x-bzip", metadata.get(Metadata.CONTENT_TYPE));
-        String content = handler.toString();
-        assertTrue(content.contains("test-documents/testEXCEL.xls"));
-        assertTrue(content.contains("Sample Excel Worksheet"));
-        assertTrue(content.contains("test-documents/testHTML.html"));
-        assertTrue(content.contains("Test Indexation Html"));
-        assertTrue(content.contains("test-documents/testOpenOffice2.odt"));
-        assertTrue(content.contains("This is a sample Open Office document"));
-        assertTrue(content.contains("test-documents/testPDF.pdf"));
-        assertTrue(content.contains("Apache Tika"));
-        assertTrue(content.contains("test-documents/testPPT.ppt"));
-        assertTrue(content.contains("Sample Powerpoint Slide"));
-        assertTrue(content.contains("test-documents/testRTF.rtf"));
-        assertTrue(content.contains("indexation Word"));
-        assertTrue(content.contains("test-documents/testTXT.txt"));
-        assertTrue(content.contains("Test d'indexation de Txt"));
-        assertTrue(content.contains("test-documents/testWORD.doc"));
-        assertTrue(content.contains("This is a sample Microsoft Word Document"));
-        assertTrue(content.contains("test-documents/testXML.xml"));
-        assertTrue(content.contains("Rida Benjelloun"));
-    }
-
-
-    /**
-     * Tests that the ParseContext parser is correctly
-     *  fired for all the embedded entries.
-     */
-    public void testEmbedded() throws Exception {
-       Parser parser = new AutoDetectParser(); // Should auto-detect!
-       ContentHandler handler = new BodyContentHandler();
-       Metadata metadata = new Metadata();
-
-       InputStream stream = ZipParserTest.class.getResourceAsStream(
-               "/test-documents/test-documents.tbz2");
-       try {
-           parser.parse(stream, handler, metadata, trackingContext);
-       } finally {
-           stream.close();
-       }
-       
-       // Should find a single entry, for the (compressed) tar file
-       assertEquals(1, tracker.filenames.size());
-       assertEquals(1, tracker.mediatypes.size());
-       
-       assertEquals(null, tracker.filenames.get(0));
-       assertEquals(null, tracker.mediatypes.get(0));
-
-       // Tar file starts with the directory name
-       assertEquals("test-documents/", new String(tracker.lastSeenStart, 0, 15, "ASCII"));
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/GzipParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/GzipParserTest.java
deleted file mode 100644
index 1321cf1..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/GzipParserTest.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.pkg;
-
-import java.io.InputStream;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-/**
- * Test case for parsing gzip files.
- */
-public class GzipParserTest extends AbstractPkgTest {
-
-    public void testGzipParsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        InputStream stream = GzipParserTest.class.getResourceAsStream(
-                "/test-documents/test-documents.tgz");
-        try {
-            parser.parse(stream, handler, metadata, recursingContext);
-        } finally {
-            stream.close();
-        }
-
-        assertEquals("application/x-gzip", metadata.get(Metadata.CONTENT_TYPE));
-        String content = handler.toString();
-        assertTrue(content.contains("test-documents/testEXCEL.xls"));
-        assertTrue(content.contains("Sample Excel Worksheet"));
-        assertTrue(content.contains("test-documents/testHTML.html"));
-        assertTrue(content.contains("Test Indexation Html"));
-        assertTrue(content.contains("test-documents/testOpenOffice2.odt"));
-        assertTrue(content.contains("This is a sample Open Office document"));
-        assertTrue(content.contains("test-documents/testPDF.pdf"));
-        assertTrue(content.contains("Apache Tika"));
-        assertTrue(content.contains("test-documents/testPPT.ppt"));
-        assertTrue(content.contains("Sample Powerpoint Slide"));
-        assertTrue(content.contains("test-documents/testRTF.rtf"));
-        assertTrue(content.contains("indexation Word"));
-        assertTrue(content.contains("test-documents/testTXT.txt"));
-        assertTrue(content.contains("Test d'indexation de Txt"));
-        assertTrue(content.contains("test-documents/testWORD.doc"));
-        assertTrue(content.contains("This is a sample Microsoft Word Document"));
-        assertTrue(content.contains("test-documents/testXML.xml"));
-        assertTrue(content.contains("Rida Benjelloun"));
-    }
-
-    /**
-     * Tests that the ParseContext parser is correctly
-     *  fired for all the embedded entries.
-     */
-    public void testEmbedded() throws Exception {
-       Parser parser = new AutoDetectParser(); // Should auto-detect!
-       ContentHandler handler = new BodyContentHandler();
-       Metadata metadata = new Metadata();
-
-       InputStream stream = ZipParserTest.class.getResourceAsStream(
-               "/test-documents/test-documents.tgz");
-       try {
-           parser.parse(stream, handler, metadata, trackingContext);
-       } finally {
-           stream.close();
-       }
-       
-       // Should find a single entry, for the (compressed) tar file
-       assertEquals(1, tracker.filenames.size());
-       assertEquals(1, tracker.mediatypes.size());
-       
-       assertEquals(null, tracker.filenames.get(0));
-       assertEquals(null, tracker.mediatypes.get(0));
-
-       // Tar file starts with the directory name
-       assertEquals("test-documents/", new String(tracker.lastSeenStart, 0, 15, "ASCII"));
-    }
-    
-    public void testSvgzParsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        InputStream stream = GzipParserTest.class.getResourceAsStream(
-                "/test-documents/testSVG.svgz");
-        try {
-            parser.parse(stream, handler, metadata, recursingContext);
-        } finally {
-            stream.close();
-        }
-
-        assertEquals("application/x-gzip", metadata.get(Metadata.CONTENT_TYPE));
-        String content = handler.toString();
-        assertTrue(content.contains("Test SVG image"));
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/TarParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/TarParserTest.java
deleted file mode 100644
index 03031f7..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/TarParserTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.pkg;
-
-import java.io.InputStream;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-/**
- * Test case for parsing tar files.
- */
-public class TarParserTest extends AbstractPkgTest {
-
-    public void testTarParsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        InputStream stream = TarParserTest.class.getResourceAsStream(
-                "/test-documents/test-documents.tar");
-        try {
-            parser.parse(stream, handler, metadata, recursingContext);
-        } finally {
-            stream.close();
-        }
-
-        assertEquals("application/x-tar", metadata.get(Metadata.CONTENT_TYPE));
-        String content = handler.toString();
-        assertTrue(content.contains("test-documents/testEXCEL.xls"));
-        assertTrue(content.contains("Sample Excel Worksheet"));
-        assertTrue(content.contains("test-documents/testHTML.html"));
-        assertTrue(content.contains("Test Indexation Html"));
-        assertTrue(content.contains("test-documents/testOpenOffice2.odt"));
-        assertTrue(content.contains("This is a sample Open Office document"));
-        assertTrue(content.contains("test-documents/testPDF.pdf"));
-        assertTrue(content.contains("Apache Tika"));
-        assertTrue(content.contains("test-documents/testPPT.ppt"));
-        assertTrue(content.contains("Sample Powerpoint Slide"));
-        assertTrue(content.contains("test-documents/testRTF.rtf"));
-        assertTrue(content.contains("indexation Word"));
-        assertTrue(content.contains("test-documents/testTXT.txt"));
-        assertTrue(content.contains("Test d'indexation de Txt"));
-        assertTrue(content.contains("test-documents/testWORD.doc"));
-        assertTrue(content.contains("This is a sample Microsoft Word Document"));
-        assertTrue(content.contains("test-documents/testXML.xml"));
-        assertTrue(content.contains("Rida Benjelloun"));
-    }
-
-    /**
-     * Tests that the ParseContext parser is correctly
-     *  fired for all the embedded entries.
-     */
-    public void testEmbedded() throws Exception {
-       Parser parser = new AutoDetectParser(); // Should auto-detect!
-       ContentHandler handler = new BodyContentHandler();
-       Metadata metadata = new Metadata();
-
-       InputStream stream = ZipParserTest.class.getResourceAsStream(
-               "/test-documents/test-documents.tar");
-       try {
-           parser.parse(stream, handler, metadata, trackingContext);
-       } finally {
-           stream.close();
-       }
-       
-       // Should have found all 9 documents, but not the directory
-       assertEquals(9, tracker.filenames.size());
-       assertEquals(9, tracker.mediatypes.size());
-       
-       // Should have names but not content types, as tar doesn't
-       //  store the content types
-       assertEquals("test-documents/testEXCEL.xls", tracker.filenames.get(0));
-       assertEquals("test-documents/testHTML.html", tracker.filenames.get(1));
-       assertEquals("test-documents/testOpenOffice2.odt", tracker.filenames.get(2));
-       assertEquals("test-documents/testPDF.pdf", tracker.filenames.get(3));
-       assertEquals("test-documents/testPPT.ppt", tracker.filenames.get(4));
-       assertEquals("test-documents/testRTF.rtf", tracker.filenames.get(5));
-       assertEquals("test-documents/testTXT.txt", tracker.filenames.get(6));
-       assertEquals("test-documents/testWORD.doc", tracker.filenames.get(7));
-       assertEquals("test-documents/testXML.xml", tracker.filenames.get(8));
-       
-       for(String type : tracker.mediatypes) {
-          assertNull(type);
-       }
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java
deleted file mode 100644
index d15e4a1..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.pkg;
-
-import java.io.InputStream;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-
-/**
- * Test case for parsing zip files.
- */
-public class ZipParserTest extends AbstractPkgTest {
-
-    public void testZipParsing() throws Exception {
-        Parser parser = new AutoDetectParser(); // Should auto-detect!
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-
-        InputStream stream = ZipParserTest.class.getResourceAsStream(
-                "/test-documents/test-documents.zip");
-        try {
-            parser.parse(stream, handler, metadata, recursingContext);
-        } finally {
-            stream.close();
-        }
-
-        assertEquals("application/zip", metadata.get(Metadata.CONTENT_TYPE));
-        String content = handler.toString();
-        assertTrue(content.contains("testEXCEL.xls"));
-        assertTrue(content.contains("Sample Excel Worksheet"));
-        assertTrue(content.contains("testHTML.html"));
-        assertTrue(content.contains("Test Indexation Html"));
-        assertTrue(content.contains("testOpenOffice2.odt"));
-        assertTrue(content.contains("This is a sample Open Office document"));
-        assertTrue(content.contains("testPDF.pdf"));
-        assertTrue(content.contains("Apache Tika"));
-        assertTrue(content.contains("testPPT.ppt"));
-        assertTrue(content.contains("Sample Powerpoint Slide"));
-        assertTrue(content.contains("testRTF.rtf"));
-        assertTrue(content.contains("indexation Word"));
-        assertTrue(content.contains("testTXT.txt"));
-        assertTrue(content.contains("Test d'indexation de Txt"));
-        assertTrue(content.contains("testWORD.doc"));
-        assertTrue(content.contains("This is a sample Microsoft Word Document"));
-        assertTrue(content.contains("testXML.xml"));
-        assertTrue(content.contains("Rida Benjelloun"));
-    }
-
-    /**
-     * Tests that the ParseContext parser is correctly
-     *  fired for all the embedded entries.
-     */
-    public void testEmbedded() throws Exception {
-       Parser parser = new AutoDetectParser(); // Should auto-detect!
-       ContentHandler handler = new BodyContentHandler();
-       Metadata metadata = new Metadata();
-
-       InputStream stream = ZipParserTest.class.getResourceAsStream(
-               "/test-documents/test-documents.zip");
-       try {
-           parser.parse(stream, handler, metadata, trackingContext);
-       } finally {
-           stream.close();
-       }
-       
-       // Should have found all 9 documents
-       assertEquals(9, tracker.filenames.size());
-       assertEquals(9, tracker.mediatypes.size());
-       
-       // Should have names but not content types, as zip doesn't
-       //  store the content types
-       assertEquals("testEXCEL.xls", tracker.filenames.get(0));
-       assertEquals("testHTML.html", tracker.filenames.get(1));
-       assertEquals("testOpenOffice2.odt", tracker.filenames.get(2));
-       assertEquals("testPDF.pdf", tracker.filenames.get(3));
-       assertEquals("testPPT.ppt", tracker.filenames.get(4));
-       assertEquals("testRTF.rtf", tracker.filenames.get(5));
-       assertEquals("testTXT.txt", tracker.filenames.get(6));
-       assertEquals("testWORD.doc", tracker.filenames.get(7));
-       assertEquals("testXML.xml", tracker.filenames.get(8));
-       
-       for(String type : tracker.mediatypes) {
-          assertNull(type);
-       }
-    }
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/txt/TXTParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/txt/TXTParserTest.java
deleted file mode 100644
index 689884e..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/txt/TXTParserTest.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.txt;
-
-import java.io.ByteArrayInputStream;
-import java.io.StringWriter;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.BodyContentHandler;
-import org.apache.tika.sax.WriteOutContentHandler;
-import org.xml.sax.ContentHandler;
-
-import junit.framework.TestCase;
-
-public class TXTParserTest extends TestCase {
-
-    private Parser parser = new TXTParser();
-
-    public void testEnglishText() throws Exception {
-        String text =
-            "Hello, World! This is simple UTF-8 text content written"
-            + " in English to test autodetection of both the character"
-            + " encoding and the language of the input stream.";
-
-        Metadata metadata = new Metadata();
-        StringWriter writer = new StringWriter();
-        parser.parse(
-                new ByteArrayInputStream(text.getBytes("UTF-8")),
-                new WriteOutContentHandler(writer),
-                metadata,
-                new ParseContext());
-        String content = writer.toString();
-
-        assertEquals("text/plain", metadata.get(Metadata.CONTENT_TYPE));
-        
-        // TIKA-501: Remove language detection from TXTParser
-        assertNull(metadata.get(Metadata.CONTENT_LANGUAGE));
-        assertNull(metadata.get(Metadata.LANGUAGE));
-
-        assertTrue(content.contains("Hello"));
-        assertTrue(content.contains("World"));
-        assertTrue(content.contains("autodetection"));
-        assertTrue(content.contains("stream"));
-    }
-
-    public void testUTF8Text() throws Exception {
-        String text = "I\u00F1t\u00EBrn\u00E2ti\u00F4n\u00E0liz\u00E6ti\u00F8n";
-
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-        parser.parse(
-                new ByteArrayInputStream(text.getBytes("UTF-8")),
-                handler, metadata, new ParseContext());
-        assertEquals("text/plain", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("UTF-8", metadata.get(Metadata.CONTENT_ENCODING));
-
-        assertTrue(handler.toString().contains(text));
-    }
-
-    public void testEmptyText() throws Exception {
-        ContentHandler handler = new BodyContentHandler();
-        Metadata metadata = new Metadata();
-        parser.parse(
-                new ByteArrayInputStream(new byte[0]), handler, metadata, new ParseContext());
-        assertEquals("text/plain", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("\n", handler.toString());
-    }
-
-    /**
-     * Test case for TIKA-240: Drop the BOM when extracting plain text
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-240">TIKA-240</a> 
-     */
-    public void testDropByteOrderMark() throws Exception {
-        assertExtractText("UTF-8 BOM", "test", new byte[] {
-                (byte) 0xEF, (byte) 0xBB, (byte) 0xBF, 't', 'e', 's', 't' });
-        assertExtractText("UTF-16 BE BOM", "test", new byte[] {
-                (byte) 0xFE, (byte) 0xFF, 0, 't', 0, 'e', 0, 's', 0, 't'});
-        assertExtractText("UTF-16 LE BOM", "test", new byte[] {
-                (byte) 0xFF, (byte) 0xFE, 't', 0, 'e', 0, 's', 0, 't', 0});
-    }
-
-    /**
-     * Test case for TIKA-335: using incoming charset
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-335">TIKA-335</a> 
-     */
-    public void testUseIncomingCharsetAsHint() throws Exception {
-        // Could be UTF-8 or ISO 8859-1 or ...
-        // u00e1 is latin small letter a with acute
-        final String test2 = "the name is \u00e1ndre";
-
-        Metadata metadata = new Metadata();
-        parser.parse(
-                new ByteArrayInputStream(test2.getBytes("UTF-8")),
-                new BodyContentHandler(),  metadata, new ParseContext());
-        
-        assertEquals("UTF-8", metadata.get(Metadata.CONTENT_ENCODING));
-
-        metadata.set(Metadata.CONTENT_ENCODING, "ISO-8859-1");
-        parser.parse(
-                new ByteArrayInputStream(test2.getBytes("UTF-8")),
-                new BodyContentHandler(),  metadata, new ParseContext());
-        
-        assertEquals("ISO-8859-1", metadata.get(Metadata.CONTENT_ENCODING));
-    }
-
-    /**
-     * Test case for TIKA-341: using charset in content-type
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-341">TIKA-341</a> 
-     */
-    public void testUsingCharsetInContentTypeHeader() throws Exception {
-        // Could be UTF-8 or ISO 8859-1 or ...
-        // u00e1 is latin small letter a with acute
-        final String test2 = "the name is \u00e1ndre";
-
-        Metadata metadata = new Metadata();
-        parser.parse(
-                new ByteArrayInputStream(test2.getBytes("UTF-8")),
-                new BodyContentHandler(),  metadata, new ParseContext());
-
-        assertEquals("UTF-8", metadata.get(Metadata.CONTENT_ENCODING));
-
-        metadata = new Metadata();
-        metadata.set(Metadata.CONTENT_TYPE, "text/html; charset=ISO-8859-1");
-        parser.parse(
-                new ByteArrayInputStream(test2.getBytes("UTF-8")),
-                new BodyContentHandler(),  metadata, new ParseContext());
-
-        assertEquals("ISO-8859-1", metadata.get(Metadata.CONTENT_ENCODING));
-    }
-
-    private void assertExtractText(String msg, String expected, byte[] input)
-            throws Exception {
-        ContentHandler handler = new BodyContentHandler() {
-            public void ignorableWhitespace(char[] ch, int off, int len) {
-                // Ignore the whitespace added by XHTMLContentHandler
-            }
-        };
-        Metadata metadata = new Metadata();
-        parser.parse(new ByteArrayInputStream(input), handler, metadata, new ParseContext());
-        assertEquals("text/plain", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals(msg, expected, handler.toString());
-    }
-
-    /**
-     * Test case for TIKA-339: don't override incoming language
-     *
-     * @see <a href="https://issues.apache.org/jira/browse/TIKA-335">TIKA-335</a> 
-     */
-    public void testRetainIncomingLanguage() throws Exception {
-        final String test = "Simple Content";
-
-        Metadata metadata = new Metadata();
-        metadata.set(Metadata.LANGUAGE, "en");
-
-        parser.parse(
-                new ByteArrayInputStream(test.getBytes("UTF-8")),
-                new BodyContentHandler(),  metadata, new ParseContext());
-
-        assertEquals("en", metadata.get(Metadata.LANGUAGE));
-    }
-
-    public void testCP866() throws Exception {
-        Metadata metadata = new Metadata();
-        StringWriter writer = new StringWriter();
-        parser.parse(
-                TXTParserTest.class.getResourceAsStream("/test-documents/russian.cp866.txt"),
-                new WriteOutContentHandler(writer),
-                metadata,
-                new ParseContext());
-
-        assertEquals("text/plain", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("IBM866", metadata.get(Metadata.CONTENT_ENCODING));
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/video/FLVParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/video/FLVParserTest.java
deleted file mode 100644
index 40a7433..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/video/FLVParserTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.video;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.Tika;
-import org.apache.tika.metadata.Metadata;
-
-public class FLVParserTest extends TestCase {
-
-    public void testFLV() throws Exception {
-        String path = "/test-documents/testFLV.flv";
-        Metadata metadata = new Metadata();
-
-        String content = new Tika().parseToString(
-                FLVParserTest.class.getResourceAsStream(path), metadata);
-
-        assertEquals("", content);
-        assertEquals("video/x-flv", metadata.get(Metadata.CONTENT_TYPE));
-        assertEquals("true", metadata.get("hasVideo"));
-        assertEquals("false", metadata.get("stereo"));
-        assertEquals("true", metadata.get("hasAudio"));
-        assertEquals("120.0", metadata.get("height"));
-        assertEquals("16.0", metadata.get("audiosamplesize"));
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/xml/DcXMLParserTest.java b/trunk/tika-parsers/src/test/java/org/apache/tika/parser/xml/DcXMLParserTest.java
deleted file mode 100644
index 214327f..0000000
--- a/trunk/tika-parsers/src/test/java/org/apache/tika/parser/xml/DcXMLParserTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.tika.parser.xml;
-
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.sax.BodyContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class DcXMLParserTest extends TestCase {
-
-    public void testXMLParserAsciiChars() throws Exception {
-        InputStream input = DcXMLParserTest.class.getResourceAsStream(
-                "/test-documents/testXML.xml");
-        try {
-            Metadata metadata = new Metadata();
-            ContentHandler handler = new BodyContentHandler();
-            new DcXMLParser().parse(input, handler, metadata);
-
-            assertEquals(
-                    "application/xml",
-                    metadata.get(Metadata.CONTENT_TYPE));
-            assertEquals("Tika test document", metadata.get(Metadata.TITLE));
-            assertEquals("Rida Benjelloun", metadata.get(Metadata.CREATOR));
-            assertEquals(
-                    "Java, XML, XSLT, JDOM, Indexation",
-                    metadata.get(Metadata.SUBJECT));
-            assertEquals(
-                    "Framework d\'indexation des documents XML, HTML, PDF etc.. ",
-                    metadata.get(Metadata.DESCRIPTION));
-            assertEquals(
-                    "http://www.apache.org",
-                    metadata.get(Metadata.IDENTIFIER));
-            assertEquals("test", metadata.get(Metadata.TYPE));
-            assertEquals("application/msword", metadata.get(Metadata.FORMAT));
-            assertEquals("Fr", metadata.get(Metadata.LANGUAGE));
-            assertTrue(metadata.get(Metadata.RIGHTS).contains("testing chars"));
-
-            String content = handler.toString();
-            assertTrue(content.contains("Tika test document"));
-            
-            assertEquals("2000-12-01T00:00:00.000Z", metadata.get(Metadata.DATE));
-        } finally {
-            input.close();
-        }
-    }
-    
-    public void testXMLParserNonAsciiChars() throws Exception {
-        InputStream input = DcXMLParserTest.class.getResourceAsStream("/test-documents/testXML.xml");
-        try {
-            Metadata metadata = new Metadata();
-            new DcXMLParser().parse(input, new DefaultHandler(), metadata);
-            
-            final String expected = "Archim\u00E8de et Lius \u00E0 Ch\u00E2teauneuf testing chars en \u00E9t\u00E9";
-            assertEquals(expected,metadata.get(Metadata.RIGHTS));
-        } finally {
-            input.close();
-        }
-    }
-
-}
diff --git a/trunk/tika-parsers/src/test/resources/log4j.properties b/trunk/tika-parsers/src/test/resources/log4j.properties
deleted file mode 100644
index f2c0b92..0000000
--- a/trunk/tika-parsers/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-
-#info,debug, error,fatal ...
-log4j.rootLogger=info,stdout
-
-#console
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-
-# Pattern to output the caller's file name and line number.
-log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/AutoDetectParser.class b/trunk/tika-parsers/src/test/resources/test-documents/AutoDetectParser.class
deleted file mode 100644
index ad124bc..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/AutoDetectParser.class
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/Doc1_ole.doc b/trunk/tika-parsers/src/test/resources/test-documents/Doc1_ole.doc
deleted file mode 100644
index 953fe78..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/Doc1_ole.doc
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/TIKA-216.tgz b/trunk/tika-parsers/src/test/resources/test-documents/TIKA-216.tgz
deleted file mode 100644
index dbda947..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/TIKA-216.tgz
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/big-preamble.html b/trunk/tika-parsers/src/test/resources/test-documents/big-preamble.html
deleted file mode 100644
index 545addd..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/big-preamble.html
+++ /dev/null
@@ -1,827 +0,0 @@
-<script language="javascript">
-
-function addToList(from,to)
-{
-    if(from.selectedIndex >= 0) {
-        isPresent = false;
-        var options=to.getElementsByTagName("option");
-
-        if(from.item(from.selectedIndex).value == "0") {
-            for(i=to.options.length-1; i>= 0; i--) {
-                to.removeChild(options[i]);
-            }
-        }
-        for (i=0; i< to.options.length; i++)
-        {
-            if(options[i].value == from.item(from.selectedIndex).value || options[i].value == "0")
-                isPresent = true;
-        }
-        if(!isPresent) {
-            var oOption = document.createElement("option");;
-            to.appendChild(oOption);
-            oOption.value = from.item(from.selectedIndex).value;
-            oOption.text  = from.item(from.selectedIndex).text;
-        }
-    }
-}
-
-function delFromList(to)
-{
-    if(to.selectedIndex >= 0) {
-      var options=to.getElementsByTagName("option");
-      to.removeChild(options[to.selectedIndex]);
-    }
-}
-
-function fillListToGet(form, to)
-{
-    var options=to.getElementsByTagName("option");
-    for (i=0; i< to.options.length; i++)
-    {
-        form.action += "&"+to.name+"="+options[i].value;
-    }
-}
-
-</script>
-<script language="javascript">
-
-function addToList(from,to)
-{
-    if(from.selectedIndex >= 0) {
-        isPresent = false;
-        var options=to.getElementsByTagName("option");
-
-        if(from.item(from.selectedIndex).value == "0") {
-            for(i=to.options.length-1; i>= 0; i--) {
-                to.removeChild(options[i]);
-            }
-        }
-        for (i=0; i< to.options.length; i++)
-        {
-            if(options[i].value == from.item(from.selectedIndex).value || options[i].value == "0")
-                isPresent = true;
-        }
-        if(!isPresent) {
-            var oOption = document.createElement("option");;
-            to.appendChild(oOption);
-            oOption.value = from.item(from.selectedIndex).value;
-            oOption.text  = from.item(from.selectedIndex).text;
-        }
-    }
-}
-
-function delFromList(to)
-{
-    if(to.selectedIndex >= 0) {
-      var options=to.getElementsByTagName("option");
-      to.removeChild(options[to.selectedIndex]);
-    }
-}
-
-function fillListToGet(form, to)
-{
-    var options=to.getElementsByTagName("option");
-    for (i=0; i< to.options.length; i++)
-    {
-        form.action += "&"+to.name+"="+options[i].value;
-    }
-}
-
-function fillOtherGet(form)
-{
-  if (document.all.price_from != "") {
-    form.action += "&price_from="+document.all.price_from.value;
-  }
-  if (document.all.price_to != "") {
-    form.action += "&price_to="+document.all.price_to.value;
-  }
-  if (document.all.square_from != "") {
-    form.action += "&square_from="+document.all.square_from.value;
-  }
-  if (document.all.square_to != "") {
-    form.action += "&square_to="+document.all.square_to.value;
-  }
-  if (document.all.MKAD != "") {
-    form.action += "&MKAD="+document.all.MKAD.value;
-  }
-}
-
-</script>
-<script language="javascript">
-
-function addToList(from,to)
-{
-    if(from.selectedIndex >= 0) {
-        isPresent = false;
-        var options=to.getElementsByTagName("option");
-
-        if(from.item(from.selectedIndex).value == "0") {
-            for(i=to.options.length-1; i>= 0; i--) {
-                to.removeChild(options[i]);
-            }
-        }
-        for (i=0; i< to.options.length; i++)
-        {
-            if(options[i].value == from.item(from.selectedIndex).value || options[i].value == "0")
-                isPresent = true;
-        }
-        if(!isPresent) {
-            var oOption = document.createElement("option");
-            to.appendChild(oOption);
-            oOption.value = from.item(from.selectedIndex).value;
-            oOption.text  = from.item(from.selectedIndex).text;
-        }
-    }
-}
-
-function delFromList(to)
-{
-    if(to.selectedIndex >= 0) {
-      var options=to.getElementsByTagName("option");
-      to.removeChild(options[to.selectedIndex]);
-    }
-}
-
-function fillListToGet(form, to)
-{
-    var options=to.getElementsByTagName("option");
-    for (i=0; i< to.options.length; i++)
-    {
-        form.action += "&"+to.name+"="+options[i].value;
-    }
-}
-
-function fillOtherGet(form)
-{
-  if (document.all.price_from != "") {
-    form.action += "&price_from="+document.all.price_from.value;
-  }
-  if (document.all.price_to != "") {
-    form.action += "&price_to="+document.all.price_to.value;
-  }
-  if (document.all.square_from != "") {
-    form.action += "&square_from="+document.all.square_from.value;
-  }
-  if (document.all.square_to != "") {
-    form.action += "&square_to="+document.all.square_to.value;
-  }
-  if (document.all.MKAD != "") {
-    form.action += "&MKAD="+document.all.MKAD.value;
-  }
-}
-
-</script>
-
-<html>
-<head>
-<title>Àðåíäà êâàðòèð, ñíÿòü êâàðòèðó,  àðåíäà îôèñîâ â Ìîñêâå. Êîììåð÷åñêàÿ íåäâèæèìîñòü. Ãðóïïà êîìïàíèé "Êîíòèíåíò-Íåäâèæèìîñòü"
-
-</title>
-<link rel="SHORTCUT ICON" href="/favicon.ico" />
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
-<meta http-equiv="Content-Language" content="ru">
-<meta name="Keywords" content="Àãåíòñòâî íåäâèæèìîñòè, àðåíäà, ñíÿòü, ñíÿòü, îôèñ, êâàðòèðà,  êîìíàòà,  ïîìåùåíèå, ñêëàä, ìàãàçèí, ïëîùàäü, êîòòåäæ, äîì, êóïèòü, ïðîäàòü, êîììåð÷åñêàÿ, çàãîðîäíàÿ, ýëèòíàÿ, íåäâèæèìîñòü, ìîñêâà, ìàêëåð, ñàéò">
-<meta name="Description" content="Àãåíòñòâà íåäâèæèìîñòè "ÊÎÍÒÈÍÅÍÒ Íåäâèæèìîñòü", "Õîðîøèå äîìà" Ìîñêâà. Àðåíäà è ïðîäàæà êîììåð÷åñêîé è æèëîé íåäâèæèìîñòè â Ìîñêâå è Ïîäìîñêîâüå: îôèñíûå, ñêëàäñêèå, ïðîèçâîäñòâåííûå, òîðãîâûå è äðóãèå íåæèëûå ïîìåùåíèÿ, êâàðòèðû, êîìíàòû, êîòòåäæè, äîìà, äà÷è. Àðåíäà êâàðòèð, îôèñîâ, ïîìåùåíèé. Ñíÿòü êâàðòèðó. Îôèñû Ìîñêâû. Ìàêëåð ñàéò.">
-<meta http-equiv="description" content="Àãåíòñòâà íåäâèæèìîñòè "ÊÎÍÒÈÍÅÍÒ Íåäâèæèìîñòü", "Õîðîøèå äîìà" Ìîñêâà. Àðåíäà è ïðîäàæà êîììåð÷åñêîé è æèëîé íåäâèæèìîñòè â Ìîñêâå è Ïîäìîñêîâüå: îôèñíûå, ñêëàäñêèå, ïðîèçâîäñòâåííûå, òîðãîâûå è äðóãèå íåæèëûå ïîìåùåíèÿ, êâàðòèðû, êîìíàòû, êîòòåäæè, äîìà, äà÷è. Àðåíäà êâàðòèð, îôèñîâ, ïîìåùåíèé. Ñíÿòü êâàðòèðó. Îôèñû Ìîñêâû. Ìàêëåð ñàéò.">
-<meta name="revisit" content="7 days">
-<meta name='yandex-verification' content='77a043af80883202' />
-
-<link rel="stylesheet" href="continent.css" type="text/css">
-</head>
-<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
-<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
-  <tr>
-    <td height="10"> 
-      <noindex><table width="100%" border="0" cellspacing="0" cellpadding="0">
-        <tr>
-          <td><a title="Àðåíäà ïðîäàæà êâàðòèð îôèñîâ" href="/default.asp"><img src="imgs/logo2.gif" Alt="Àðåíäà ïðîäàæà êâàðòèð, êîìíàò, îôèñîâ, ñêëàäîâ, ïîìåùåíèé" width="205" height="68" style="margin-top:13px; margin-bottom:3px; margin-left:13px;" border=0></a></td>
-          <td align=center valign=bottom>
-          
-            <a href='http://office.realty-guide.ru/rot/?key=289' target=_blank><img src='/imgs/banners/ban32.gif' border=0 width=500 height=75></a>
-          
-          </td>
-        </tr>
-      </table></noindex>
-    </td>
-  </tr>
-  <tr>
-    <td valign="top" height="100%"> 
-      <table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
-        <tr>
-          <td width="228" bgcolor="#546154" valign="top" align=center> 
-            <table width="100%" border="0" cellspacing="0" cellpadding="0" height=402>
-              <tr> 
-                <td height="147" background="imgs/hd_bg2.gif" valign="top"><img src="imgs/h_fl.jpg" width="202" height="136" style="margin-top: 10px; margin-left: 14px;" alt="Àðåíäà ïðîäàæà êâàðòèð, êîìíàò, îôèñîâ, ñêëàäîâ, ïîìåùåíèé"></td>
-              </tr>
-              <tr> 
-                <td height="255" valign="top">
-                  <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
- codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
- WIDTH="228" HEIGHT="250" id="menu10" ALIGN="">
- <PARAM NAME=movie VALUE="menu10.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#525E52> <EMBED src="menu10.swf" quality=high bgcolor=#525E52  WIDTH="228" HEIGHT="250" NAME="menu10" ALIGN=""
- TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
-</OBJECT>
-                </td>
-              </tr>
-            </table>
-<a href="/kommvip.asp"><img width=169 height=114 src="/imgs/vipbanner3.gif" border=0 alt=" äàííîì ðàçäåëå âû ìîæåòå îçíàêîìèòüñÿ ñî ïðåäëîæåíèÿìè ÁÅÇ ÊÎÌÈÑÑÈÈ ïî àðåíäå êîììåð÷åñêîé íåäâèæèìîñòè: àðåíäå îôèñîâ, ñêëàäîâ, ìàãàçèíîâ, êàôå, ðåñòîðàíîâ, ïîìåùåíèé ñâîáîäíîãî íàçíà÷åíèÿ è ò.ï., àðåíäîäàòåëè êîòîðûõ çàêëþ÷èëè ýêñêëþçèâíûé äîãîâîð ñ àãåíòñòâîì ÊÎÍÒÈÍÅÍÒ-ÍÅÄÂÈÆÈÌÎÑÒÜ"></a>
-<br>
-<br>
-<a href="/arendavip.asp"><img width=169 height=114 src="/imgs/vipbanner_arenda.jpg" border=0 alt=" äàííîì ðàçäåëå âû ìîæåòå îçíàêîìèòüñÿ ñî ñïåöèàëüíûìè ïðåäëîæåíèÿìè ïî àðåíäå æèëüÿ: àðåíäå êâàðòèð, àðåíäå êîòòåäæåé, àðåíäå äà÷, àðåíäå äîìîâ è ò.ï., àðåíäîäàòåëè êîòîðûõ çàêëþ÷èëè ýêñêëþçèâíûé äîãîâîð ñ àãåíòñòâîì ÊÎÍÒÈÍÅÍÒ-ÍÅÄÂÈÆÈÌÎÑÒÜ"></a>
-<br>
-<br>
-<noindex><a target=_blank title="Êîòòåäæíûé ïîñåëîê ËÀÃÓÍÀ" href="http://www.lagunadom.ru"><img width=169 height=114 src="/ban/ban_169_114.gif" border=0 alt="Êîòòåäæíûé ïîñåëîê ËÀÃÓÍÀ"></a></noindex>
-<br>
-<br>
-<br>
-<br>
-<noindex><!--a target=_blank title="Èñêóññòâåííûå åëêè, íîâîãîäíèå åëêè, åëêè, èñêóññòâåííûå åëè, íîâîãîäíèå åëè - ÈÍÒÅÐÍÅÒ-ÌÀÃÀÇÈÍ ÍÎÂÎÃÎÄÍÈÕ ÅËÎÊ" href="http://www.nyelki.ru"><img width=169 height=94 src="/imgs/banner.jpg" border=0 alt="Èñêóññòâåííûå åëêè, íîâîãîäíèå åëêè, åëêè, èñêóññòâåííûå åëè, íîâîãîäíèå åëè - ÈÍÒÅÐÍÅÒ-ÌÀÃÀÇÈÍ ÍÎÂÎÃÎÄÍÈÕ ÅËÎÊ"></a>
-<br>
-<br>
-<br>
-<br-->
-<!-- Yandex.Metrika -->
-<script src="//mc.yandex.ru/resource/watch.js" type="text/javascript"></script>
-<script type="text/javascript">
-try { var yaCounter177293 = new Ya.Metrika(177293); } catch(e){}
-</script>
-<noscript><div style="position: absolute;"><img src="//mc.yandex.ru/watch/177293" alt="" /></div></noscript>
-<!-- Yandex.Metrika -->
-<!--Rating@Mail.ru COUNTER--><script language="JavaScript" type="text/javascript"><!--
-d=document;var a='';a+=';r='+escape(d.referrer)
-js=10//--></script><script language="JavaScript1.1" type="text/javascript"><!--
-a+=';j='+navigator.javaEnabled()
-js=11//--></script><script language="JavaScript1.2" type="text/javascript"><!--
-s=screen;a+=';s='+s.width+'*'+s.height
-a+=';d='+(s.colorDepth?s.colorDepth:s.pixelDepth)
-js=12//--></script><script language="JavaScript1.3" type="text/javascript"><!--
-js=13//--></script><script language="JavaScript" type="text/javascript"><!--
-d.write('<a target=_blank href="http://top.mail.ru/jump?from=782596"'+
-' target=_top><img src="http://top.list.ru/counter'+
-'?id=782596;t=54;js='+js+a+';rand='+Math.random()+
-'" alt="Ðåéòèíã@Mail.ru"'+' border=0 height=31 width=88/><\/a>')
-if(11<js)d.write('<'+'!-- ')//--></script><noscript><a
-target=_blank href="http://top.mail.ru/jump?from=782596"><img
-src="http://top.list.ru/counter?js=na;id=782596;t=54"
-border=0 height=31 width=88
-alt="Ðåéòèíã@Mail.ru"/></a></noscript><script language="JavaScript" type="text/javascript"><!--
-if(11<js)d.write('--'+'>')//--></script><!--/COUNTER--></noindex>
-<br>
- <br><br>
-          </td>
-          <td valign="top" bgcolor="#546154" height="100%"> 
-            <table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
-              <tr>
-                <td height="4" background="imgs/hd_bg1.gif" align="right" valign="top" style="padding-right:13px; font-size:4px;">&nbsp;</td>
-              </tr>
-              <tr>
-                <td valign="top" style="padding-right:13px;" height="20" align=right background="imgs/hd_bg1n.gif">
-                  <table border=0 cellspacing=0 cellpadding=0 height=20>
-                  <tr>
-
-                    <td><img src="/imgs/tabl1_p.gif" height=20></td>
-                    <td valign=bottom background="/imgs/tabl2_p.gif"><div style="padding-bottom:2px;"><a style="color:#000000; text-decoration:none;" href="/basket.asp">Áëîêíîò</a></td>
-                    <td><img src="/imgs/tablr_pa.gif" height=20></td>
-                    <td valign=bottom background="/imgs/tabl2_a.gif"><div style="padding-bottom:2px; font-weight:bold; text-transform:uppercase;">Êîíòèíåíò-Íåäâèæèìîñòü</div></div></td>
-                    <td><img src="/imgs/tabl3_a.gif" height=20></td>
-
-                  </tr>
-                  </table>
-                </td>
-              </tr>
-              <tr>
-                <td valign="top" style="padding-bottom:13px;padding-right:13px;" height="100%">
-
-<style>
-a:link {  color: #000000; text-decoration: none;}
-a:visited {  color: #000000; text-decoration: none;}
-a:active {  color: #000000; text-decoration: none;}
-a:hover {  color: #1FB21F; text-decoration: underline;}
-h2 { margin:0px; padding:0px; font-weight: normal; font-size: 8pt; text-decoration:none;}
-</style>
-<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor=#FFFFFF>
-<tr>
-  <td valign=top align=left><img src="/imgs/fp2.gif" width=37 height=31></td>
-  <td valign=top align=right><img src="/imgs/fp1.gif" width=257 height=24></td>
-</tr>
-</table>
-<table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-<tr>
-  <td valign=top>
-    <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor=#FFFFFF>
-    <tr>
-      <td width=12 valign=top><img src="/imgs/fp_li2.gif" width=8 height=15></td>
-      <td>
-        <h1>ÊÎÍÒÈÍÅÍÒ-Íåäâèæèìîñòü:</h1>
-<p style="font-family:Times New Roman; font-size:14px; margin-top:10px; margin-bottom:0px;"><b>Àãåíòñòâî íåäâèæèìîñòè "Êîíòèíåíò-Íåäâèæèìîñòü"</b>, îñíîâàíî â 1999 ãîäó, ïðåäñòàâëÿåò ñîáîé êîìàíäó ïðîôåññèîíàëîâ íà ðûíêå íåäâèæèìîñòè ã. Ìîñêâû, êîòîðàÿ îáåñïå÷èâàåò êà÷åñòâåííîå îáñëóæèâàíèå è èíäèâèäóàëüíûé ïîäõîä ê êàæäîìó êëèåíòó.</p>
-<p style="font-family:Times New Roman; font-size:14px; margin-top:10px; margin-bottom:0px;">Êîìïàíèÿ "<b>Êîíòèíåíò-Íåäâèæèìîñòü</b>" íàãðàæäåíà Ðîññèéñêèì ôîíäîì çàùèòû ïðàâ ïîòðåáèòåëåé äèïëîìîì "Ëó÷øèå â Ìîñêâå è Ïîäìîñêîâüå" çà àêòèâíîå ó÷àñòèå â ôîðìèðîâàíèè öèâèëèçîâàííîãî ïîòðåáèòåëüñêîãî ðûíêà â Ðîññèè.</p>
-<p style="font-family:Times New Roman; font-size:14px; margin-top:10px; margin-bottom:0px;">Ìû ïðåäëàãàåì ñëåäóþùèå <b>ðèýëòîðñêèå óñëóãè</b>:</p>
-<ul style="font-family:Times New Roman; font-size:14px; margin-top:10px; margin-bottom:0px;">
-<li><b>Àðåíäà è ïðîäàæà êîììåð÷åñêîé íåäâèæèìîñòè â Ìîñêâå è Ïîäìîñêîâüå</b>: îôèñíûå, ñêëàäñêèå, ïðîèçâîäñòâåííûå, òîðãîâûå è äðóãèå íåæèëûå ïîìåùåíèÿ.
-<li><b>Ïðîäàæà, àðåíäà îôèñîâ â áèçíåñ-öåíòðàõ</b>, ïðÿìàÿ àðåíäà îôèñà, àðåíäà îôèñà áåç êîìèññèè.
-<li><b>Àðåíäà è ïðîäàæà æèëîé íåäâèæèìîñòè â Ìîñêâå</b>: êâàðòèðû, êîìíàòû.
-<li><b>Àðåíäà è ïðîäàæà çàãîðîäíîé íåäâèæèìîñòè â Ïîäìîñêîâüå</b>: êîòòåäæè, äîìà, äà÷è.
-<li><b>Þðèäè÷åñêîå ñîïðîâîæäåíèå ñäåëîê ïî àðåíäå è êóïëå-ïðîäàæå æèëûõ è íåæèëûõ ïîìåùåíèé</b>.
-<li><b>Îôîðìëåíèå è ðåãèñòðàöèÿ ïðàâîóñòàíàâëèâàþùèõ äîêóìåíòîâ</b>.
-<li><b>Äîâåðèòåëüíîå óïðàâëåíèå íåäâèæèìîñòüþ</b>.
-</ul>
-<br>&nbsp;
-      </td>
-    </tr>
-    </table>
-    <table width="100%" border="0" cellspacing="0"  style="padding-left:12px;" cellpadding="0" bgcolor=#FFFFFF>
-    <tr>
-      <td valign=top width=50%><h1 style="color:red">Àðåíäà æèëîé íåäâèæèìîñòè</h1></td>
-      <td valign=top width=50%><h1 style="color:red">Àðåíäà êîììåð÷åñêîé íåäâèæèìîñòè</h1></td>
-    </tr>
-    <tr>
-      <td valign=top><br><h1>Àðåíäà êâàðòèð â Ìîñêâå</h1></td>
-      <td valign=top><br><h1>Àðåíäà îôèñîâ è îñîáíÿêîâ</h1></td>
-    </tr>
-    <tr>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà êâàðòèð â Ìîñêâå" border=0 class=img1 src="/imgs/fp_i1.jpg"></td>
-          <td valign=top class=fp_small>Ñíÿòü êâàðòèðó â Ìîñêâå íàøå àãåíòñòâî íåäâèæèìîñòè ïîìîæåò áûñòðî è âûãîäíî. 150 ïðåäëîæåíèé ñäàòü êâàðòèðó åæåäíåâíî. Áàçà ïî àðåíäå êâàðòèð îáíîâëÿåòñÿ êàæäûé ÷àñ.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà êâàðòèð" href="arenda_all.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå êâàðòèð</h2></a></div>
-            <a title="êâàðòèðû â àðåíäó" href="arenda_dball.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê êâàðòèð â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà îôèñîâ è îñîáíÿêîâ" border=0 class=img1 src="/imgs/fp_i2.jpg"></td>
-          <td valign=top class=fp_small>Àðåíäà îôèñîâ. Ñíÿòü îôèñíîå ïîìåùåíèå â àðåíäó. Áîëåå 2000 âàðèàíòîâ îôèñîâ â Ìîñêâå. 100 íîâûõ ïðåäëîæåíèé ñäàòü îôèñ êàæäûé äåíü. Áàçà ïî àðåíäå îôèñîâ îáíîâëÿåòñÿ åæå÷àñíî. Ôîòî îôèñîâ.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà îôèñîâ" href="komm.asp?kommtype_id=1&kommtype_id=8"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå îôèñîâ</h2></a></div>
-            <a title="îôèñû â àðåíäó" href="komm_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê îôèñîâ â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-    </tr>
-    <tr>
-      <td valign=top><br><h1>Àðåíäà êîìíàò â Ìîñêâå</h1></td>
-      <td valign=top><br><h1>Àðåíäà ñêëàäîâ â Ìîñêâå</h1></td>
-    </tr>
-    <tr>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà êîìíàò â Ìîñêâå" border=0 class=img1 src="/imgs/fp_i3.jpg"></td>
-          <td valign=top class=fp_small>Àðåíäà êîìíàò â ëþáîì ðàéîíå Ìîñêâû çà 1 äåíü ñ âûåçäíûì àãåíòîì. Ó íàñ ìîæíî ñíÿòü íåäîðîãóþ è óþòíóþ êîìíàòó â êîììóíàëüíîé êâàðòèðå. Õîòèòå ñäàòü êîìíàòó? Ïðîñòî îñòàâüòå çàÿâêó!</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà êîìíàò" href="arenda_all.asp?roomamount=-1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå êîìíàò</h2></a></div>
-            <a title="êîìíàòû â àðåíäó" href="arenda_dball.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê êîìíàò â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà ñêëàäîâ â Ìîñêâå" border=0 class=img1 src="/imgs/fp_i4.jpg"></td>
-          <td valign=top class=fp_small>Ñíÿòü ñêëàä â Ìîñêâå èëè Ïîäìîñêîâüå. Íà íàøåì ñàéòå Âû ìîæåòå íàéòè ìíîæåñòâî ïðåäëîæåíèé ïî àðåíäå ñêëàäñêèõ ïîìåùåíèé è ïëîùàäåé. Ôîòî ñêëàäîâ.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà ñêëàäîâ" href="komm.asp?kommtype_id=2"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå ñêëàäîâ</h2></a></div>
-            <a title="ñêëàäû â àðåíäó" href="komm_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê ñêëàäîâ â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-    </tr>
-    <tr>
-      <td valign=top><br><h1>Àðåíäà ýëèòíûõ êâàðòèð. Ôîòî êâàðòèð.</h1></td>
-      <td valign=top><br><h1>Àðåíäà ïðîèçâîäñòâåííûõ ïîìåùåíèé</h1></td>
-    </tr>
-    <tr>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà ýëèòíûõ êâàðòèð" border=0 class=img1 src="/imgs/fp_i5.jpg"></td>
-          <td valign=top class=fp_small>Äëÿ òåõ, êòî õî÷åò ñíÿòü ýëèòíóþ êâàðòèðó èëè êâàðòèðó â öåíòðå. Ó íàñ íà ñàéòå áîëåå 1000 îáúåêòîâ ýëèòíîé íåäâèæèìîñòè â àðåíäó. Ôîòî êâàðòèð. Ñäàòü ýëèòíóþ êâàðòèðó? Îáðàùàéòåñü, ìû ïîìîæåì.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà êâàðòèð" href="arenda_all.asp?elit=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå ýëèòíûõ êâàðòèð</h2></a></div>
-            <a title="êâàðòèðû â àðåíäó" href="arenda_dball.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê ýëèòíûõ êâàðòèð â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà ïðîèçâîäñòâåííûõ ïîìåùåíèé" border=0 class=img1 src="/imgs/fp_i6.jpg"></td>
-          <td valign=top class=fp_small>Äëÿ òåõ, êòî õî÷åò ñäàòü èëè ñíÿòü ïðîèçâîäñòâî â Ìîñêâå èëè Ïîäìîñêîâüå. Ó íàñ íà ñàòå âû ìîæåòå íàéòè øèðîêèé âûáîð ïîìåùåíèé ïîä ïðîèçâîäñòâî . Ôîòî ïîìåùåíèé.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà ïðîèçâîäñòâ" href="komm.asp?kommtype_id=4"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå ïðîèçâîäñòâ</h2></a></div>
-            <a title="ïðîèçâîäñòâà â àðåíäó" href="komm_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê ïðîèçâîäñòâ â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-    </tr>
-    <tr>
-      <td valign=top><br><h1>Ïîñóòî÷íàÿ àðåíäà êâàðòèð</h1></td>
-      <td valign=top><br><h1>Àðåíäà ìàãàçèíîâ</h1></td>
-    </tr>
-    <tr>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Ïîñóòî÷íàÿ àðåíäà êâàðòèð" border=0 class=img1 src="/imgs/fp_i7.jpg"></td>
-          <td valign=top class=fp_small>Ãîñòÿì ñòîëèöû, êîìàíäèðîâàííûì è ïðîñòî æåëàþùèì îòäîõíóòü, àãåíòñòâî íåäâèæèìîñòè ïðåäëàãàåò ñíÿòü êâàðòèðó â àðåíäó ïîñóòî÷íî. Ôîòî êâàðòèð â ïîñóòî÷íóþ àðåíäó.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà êâàðòèð" href="arendaday_results.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïîñóòî÷íîé àðåíäû êâàðòèð</h2></a></div>
-            <a title="êâàðòèðû â àðåíäó" href="arendaday_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê êâàðòèð â ïîñóòî÷íóþ àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà ìàãàçèíîâ" border=0 class=img1 src="/imgs/fp_i8.jpg"></td>
-          <td valign=top class=fp_small>Äëÿ òåõ, êòî õî÷åò ñäàòü èëè ñíÿòü ìàãàçèí. Ìû ïðåäëàãàåì øèðîêèé âûáîð òîðãîâûõ ïîìåùåíèé è ïëîùàäåé â òîðãîâûõ öåíòðàõ Ìîñêâû. Ôîòî ïîìåùåíèé.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà ìàãàçèíîâ" href="komm.asp?kommtype_id=3"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå ìàãàçèíîâ</h2></a></div>
-            <a title="ìàãàçèíû â àðåíäó" href="komm_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê ìàãàçèíîâ â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-    </tr>
-    <tr>
-      <td valign=top><br><h1>Àðåíäà êîòòåäæåé è äà÷ â Ïîäìîñêîâüå</h1></td>
-      <td valign=top><br><h1>Àðåíäà ïîìåùåíèé ïîä ðåñòîðàíû è êàôå</h1></td>
-    </tr>
-    <tr>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà êîòòåäæåé è äà÷" border=0 class=img1 src="/imgs/fp_i9.jpg"></td>
-          <td valign=top class=fp_small>Òåì, êîãî èíòåðåñóåò àðåíäà êîòòåäæà èëè çàãîðîäíîãî äîìà â Ïîäìîñêîâüå, àãåíòñòâî íåäâèæèìîñòè ïðåäëàãàåò øèðîêèé âûáîð çàãîðîäíîé íåäâèæèìîñòè . Ñäàòü èëè ñíÿòü êîòòåäæ ñ íàìè ýòî ïðîñòî. Ôîòî.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà êîòòåäæåé äà÷" href="arenda_cottage.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ àðåíäû êîòòåäæåé, äà÷</h2></a></div>
-            <a title="êîòòåäæè äà÷è â àðåíäó" href="cottage_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê êîòòåäæåé, äà÷, äîìîâ â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà ðåñòîðàíîâ è êàôå" border=0 class=img1 src="/imgs/fp_i10.jpg"></td>
-          <td valign=top class=fp_small>Õîòèòå ñíÿòü ïîìåùåíèå ïîä ðåñòîðàí, áàð èëè êàôå. Íà ýòîì ñàéòå âû ìîæåòå íàéòè ïðåäëîæåíèÿ ïî àðåíäå êîììåð÷åñêîé íåäâèæèìîñòè äëÿ ðåñòîðàííîãî áèçíåñà ñ ÔÎÒÎ. Ñäàòü èëè ñíÿòü ðåñòîðàí, êàôå, áàð â Ìîñêâå.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà ðåñòîðàíîâ êàôå" href="komm.asp?kommtype_id=5&kommtype_id=6"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå ðåñòîðàíîâ, êàôå</h2></a></div>
-            <a title="ðåñòîðàíû è êàôå â àðåíäó" href="komm_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê ðåñòîðàíîâ è êàôå â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-    </tr>
-    <tr>
-      <td valign=top><br><h1>Ïîñóòî÷íàÿ àðåíäà êîòòåäæåé â Ïîäìîñêîâüå</h1></td>
-      <td valign=top><br><h1>Àðåíäà ïîìåùåíèé ñâîáîäíîãî íàçíà÷åíèÿ</h1></td>
-    </tr>
-    <tr>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Ïîñóòî÷íàÿ àðåíäà êîòòåäæåé" border=0 class=img1 src="/imgs/fp_i13.jpg"></td>
-          <td valign=top class=fp_small>Âû õîòèòå ïðîâåñòè âûõîäíûå èëè ïðàçäíèêè â çàãîðîäíîì äîìå? Íàøå àãåíòñòâî íåäâèæèìîñòè ïðåäëàãàåò ñíÿòü êîòòåäæ ïîñóòî÷íî. Ôîòî  êîòòåäæåé.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà êîòòåäæåé" href="arenda_cottageday.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïîñóòî÷íîé àðåíäû êîòòåäæåé</h2></a></div>
-            <a title="êîòòåäæè â àðåíäó" href="cottageday_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê êîòòåäæåé â ïîñóòî÷íóþ àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-      <td valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Àðåíäà ïîìåùåíèé ñâîáîäíîãî íàçíà÷åíèÿ" border=0 class=img1 src="/imgs/fp_i15.jpg"></td>
-          <td valign=top class=fp_small>Ñíÿòü ïîìåùåíèå ñâîáîäíîãî íàçíà÷åíèÿ. Äåñÿòêè ïðåäëîæåíèé ñäàòü ÏÑÍ â Ìîñêâå. Áàçà ïî êîììåð÷åñêîé íåäâèæèìîñòè îáíîâëÿåòñÿ åæåäíåâíî. ÔÎÒÎ.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="àðåíäà ïîìåùåíèé" href="komm.asp?kommtype_id=7"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî àðåíäå ïîìåùåíèé ñâîáîäíîãî íàçíà÷åíèÿ</h2></a></div>
-            <a title="ïîìåùåíèÿ â àðåíäó" href="komm_db.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïîèñê ïîìåùåíèé ñâîáîäíîãî íàçíà÷åíèÿ â àðåíäó</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-    </tr>
-    <tr>
-      <td colspan=2 valign=top><br><h1 style="color:red">Ïðîäàæà êîììåð÷åñêîé íåäâèæèìîñòè</h1></td>
-    </tr>
-    <tr>
-      <td colspan=2 align=center valign=top>
-        <table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-        <tr>
-          <td valign=top width=60><img width=60 height=60 alt="Ïðîäàæà êîììåð÷åñêîé íåäâèæèìîñòè" border=0 class=img1 src="/imgs/fp_i14.jpg"></td>
-          <td valign=top class=fp_small>Åñëè âû õîòèòå êóïèòü ïîìåùåíèå äëÿ áèçíåñà: îôèñ, ìàãàçèí, ñêëàä, ïðîèçâîäñòâî, òî Âû ìîæåòå îçíàêîìèòüñÿ ñ ïðåäëîæåíèÿìè ïî ïðîäàæå êîììåð÷åñêîé íåäâèæèìîñòè èëè ïðîäàæå ïðàâ àðåíäû íà íåæèëûå ïîìåùåíèÿ â Ìîñêâå. ÔÎÒÎ-êàòàëîã íåäâèæèìîñòè íà ïðîäàæó.</td>
-        </tr>
-        <tr>
-          <td colspan=2>
-            <a title="ïðîäàæà îôèñîâ" href="kommP.asp?kommtype_id=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî ïðîäàæå îôèñîâ</h2></a></div>
-            <a title="ïðîäàæà ñêëàäîâ" href="kommP.asp?kommtype_id=2"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî ïðîäàæå ñêëàäîâ</h2></a></div>
-            <a title="ïðîäàæà ìàãàçèíîâ" href="kommP.asp?kommtype_id=3"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî ïðîäàæå ìàãàçèíîâ</h2></a></div>
-            <a title="ïðîäàæà ðåñòîðàíîâ" href="kommP.asp?kommtype_id=5"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî ïðîäàæå ðåñòîðàíîâ</h2></a></div>
-            <a title="ïðîäàæà êàôå" href="kommP.asp?kommtype_id=6"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî ïðîäàæå êàôå</h2></a></div>
-            <a title="ïðîäàæà ïðîèçâîäñòâ" href="kommP.asp?kommtype_id=4"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî ïðîäàæå ïðîèçâîäñòâåííûõ ïîìåùåíèé</h2></a></div>
-            <a title="ïðîäàæà ïîìåùåíèé" href="kommP.asp?kommtype_id=7"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðåäëîæåíèÿ ïî ïðîäàæå ÏÑÍ</h2></a></div>
-          </td>
-        </tr>
-        </table>
-      </td>
-    </tr>
-    </table>
-    <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor=#FFFFFF>
-    <tr>
-      <td width=12 valign=top><img src="/imgs/fp_li2.gif" width=8 height=15></td>
-      <td>
-        <h1>Íîâîñòè íåäâèæèìîñòè. Ìîñêâà:</h1>
-        <br>
-
-    <li><a href="/news.asp?id=69&curr=1"><h2>Àðåíäàòîð íå ïëàòèò - ïîðÿäîê äåéñòâèé àðåíäîäàòåëÿ</h2></a>
-
-    <li><a href="/news.asp?id=68&curr=1"><h2>Àðåíäà äîðîæàåò!</h2></a>
-
-    <li><a href="/news.asp?id=67&curr=1"><h2>×òî äåëàòü àðåíäàòîðó, åñëè íîâûé ñîáñòâåííèê ïîâûøàåò àðåíäíóþ ïëàòó?</h2></a>
-
-    <li><a href="/news.asp?id=66&curr=1"><h2>5 ñïîñîáîâ ñíÿòü äåøåâóþ êâàðòèðó â Ìîñêâå</h2></a>
-
-    <li><a href="/news.asp?id=65&curr=1"><h2>Ñäà¸ì êîìíàòó â êîììóíàëêå: êîãî ïîñåëèòü è êàê?</h2></a>
-
-    <li><a title="íîâîñòè íåäâèæèìîñòè" href="news.asp"><h2><b>Äðóãèå íîâîñòè íåäâèæèìîñòè...</b></h2></a>
-    <br>
-      </td>
-    </tr>
-    </table>
-  </td>
-  <td width=5>&nbsp;</td>
-  <td valign=top width=300>
-    <h1><img src="/imgs/fp_li2.gif" width=8 height=15> Ïðåäëîæåíèÿ <font color=red>ÁÅÇ ÊÎÌÈÑÑÈÈ</font>:</h1>
-    <br>
-
-
-<table cellspacing=0 cellpadding=0 border=0 width=100%>
-<tr>
-  <td width=1 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td>
-  <td valign=top width=100%  bgcolor=white>
-    <table cellspacing=1 cellpadding=3 border=0 width=100% style='margin-top:5px;'>
-    <tr>
-      <td width=1 valign=middle><img src='imgs/knop1.gif'></td>
-      <td class=text bgcolor=white valign=middle>
-          <a href="/arendaview_komm.asp?anketa_id=148110" class=menubig><b>Àðåíäà ñêëàäà</b></a>
-      </td>
-    </tr>
-    </table>
-    <table width=100% cellspacing=0 cellpadding=3 border=0>
-    <tr>
-      <td width=128 valign=top align=right nowrap>
-        <a href="/arendaview_komm.asp?anketa_id=148110"><img style="margin-right:11px; margin-left:5px;" width=9 height=100 src="/imgs/bez.gif" border=0><img class=img1 width=100 height=100 src="/imgs/Photos5/s_k_67491.jpg" border=0 alt="Àðåíäà ñêëàäà"></a>
-      </td>
-      <td valign=top nowrap style='padding-left:6px;'>
-        <a href='/arendaview_komm.asp?anketa_id=148110' style="color:#000000; text-decoration:none; font-size:11px;"><p class='viprow0'><b>Âàðøàâñêîå ø.</b></p><p class='viprow'>7 êì îò ÌÊÀÄ</p><p class='viprow'>2100 - 2500 êâ.ì</b></p><p class='viprow'><b style='font-size:11px;'>130 $/êâ.ì./ãîä</b></p></a>
-      </td>
-    </tr>
-    </table>
-    &nbsp;
-  </td>
-</tr>
-<tr><td colspan=2 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td></tr>
-<tr><td colspan=2><img src='imgs/shadow1.gif'></td></tr>
-</table>
-    <br>
-
-
-<table cellspacing=0 cellpadding=0 border=0 width=300>
-<tr>
-  <td width=1 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td>
-  <td valign=top width=100%  bgcolor=white>
-    <table cellspacing=1 cellpadding=3 border=0 width=100% style='margin-top:5px;'>
-    <tr>
-      <td valign=top width=1 valign=middle><img src='imgs/knop1.gif'></td>
-      <td class=text bgcolor=white valign=middle>
-          <a href="/arendaview_kommp.asp?anketa_id=167792" class=menubig><b>Ïðîäàæà îôèñà</b></a>
-      </td>
-    </tr>
-    </table>
-    <table width=100% cellspacing=0 cellpadding=3 border=0>
-    <tr>
-      <td width=128 valign=top align=right nowrap>
-        <a href="/arendaview_kommp.asp?anketa_id=167792"><img style="margin-right:11px; margin-left:5px;" width=9 height=100 src="/imgs/bez.gif" border=0><img class=img1 width=100 height=100 src="/imgs/Photos5/s_kp_96026.jpg" border=0 alt="Ïðîäàæà îôèñà"></a>
-      </td>
-      <td valign=top nowrap style='padding-left:6px;'>
-        <a href='/arendaview_kommp.asp?anketa_id=167792' style="color:#000000; text-decoration:none; font-size:11px;"><p class='viprow0'><b>ì. Ñëàâÿíñêèé áóëüâàð</b></p><p class='viprow'>918 êâ.ì</b></p><p class='viprow'><b style='font-size:11px;'>7&nbsp;344&nbsp;000 $</b></p></a>
-      </td>
-    </tr>
-    </table>
-    &nbsp;
-  </td>
-</tr>
-<tr><td colspan=2 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td></tr>
-<tr><td colspan=2><img src='imgs/shadow1.gif'></td></tr>
-</table>
-    <br>
-
-<table cellspacing=0 cellpadding=0 border=0 width=100%>
-<tr>
-  <td width=1 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td>
-  <td valign=top width=100%  bgcolor=white>
-    <table cellspacing=1 cellpadding=3 border=0 width=100% style='margin-top:5px;'>
-    <tr>
-      <td valign=top width=1 valign=middle><img src='imgs/knop1.gif'></td>
-      <td class=text bgcolor=white valign=middle>
-          <a href="/arendaview_all.asp?anketa_id=160328" class=menubig><b>Àðåíäà 2-êîìí. êâàðòèðû</b></a>
-      </td>
-    </tr>
-    </table>
-    <table width=100% cellspacing=0 cellpadding=3 border=0>
-    <tr>
-      <td width=128 valign=top align=right nowrap>
-            <a href="/arendaview_all.asp?anketa_id=160328"><img style="margin-right:11px; margin-left:5px;" width=9 height=100 src="/imgs/bez.gif" border=0><img class=img1 width=100 height=100 src="/imgs/Photos1/s_ae_45253.jpg" border=0 alt="Àðåíäà 2-êîìí. êâàðòèðû"></a>
-      </td>
-      <td valign=top nowrap style='padding-left:6px;'>
-        <a href='/arendaview_all.asp?anketa_id=160328' style="color:#000000; text-decoration:none; font-size:11px;"><p class='viprow0'><b>ì. Òâåðñêàÿ</b></p><p class='viprow'>10 ìèíóò ïåøêîì îò ìåòðî</p><p class='viprow'>óë. Òâåðñêàÿ, äîì 25</p><p class='viprow'>îáùàÿ ïëîùàäü 60 êâ.ì</b></p><p class='viprow'><b style='font-size:11px;'>100 000 $/ìåñ</b></p></a>
-      </td>
-    </tr>
-    </table>
-    &nbsp;
-  </td>
-</tr>
-<tr><td colspan=2 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td></tr>
-<tr><td colspan=2><img src='imgs/shadow1.gif'></td></tr>
-</table>
-<br>
-
-
-<table cellspacing=0 cellpadding=0 border=0 width=100%>
-<tr>
-  <td width=1 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td>
-  <td valign=top width=100%  bgcolor=white>
-    <table cellspacing=1 cellpadding=3 border=0 width=100% style='margin-top:5px;'>
-    <tr>
-      <td valign=top width=1 valign=middle><img src='imgs/knop1.gif'></td>
-      <td class=text bgcolor=white valign=middle>
-          <a href="/arendaview_cottage.asp?anketa_id=1761" class=menubig><b>Àðåíäà ÊÎÒÒÅÄÆÀ</b></a>
-      </td>
-    </tr>
-    </table>
-    <table width=100% cellspacing=0 cellpadding=3 border=0>
-    <tr>
-      <td width=128 valign=top align=right nowrap>
-        <a href="/arendaview_cottage.asp?anketa_id=1761"><img style="margin-right:11px; margin-left:5px;" width=9 height=100 src="/imgs/bez.gif" border=0><img class=img1 width=100 height=100 src="/imgs/Photos61/vipcot1761.jpg" border=0 alt="Àðåíäà ÊÎÒÒÅÄÆÀ"></a>
-      </td>
-      <td valign=top nowrap style='padding-left:6px;'>
-        <a href='/arendaview_cottage.asp?anketa_id=1761' style="color:#000000; text-decoration:none; font-size:11px;"><p class='viprow0'><b>Îñòàøêîâñêîå ø.</b></p><p class='viprow'>15 êì îò ÌÊÀÄ</p><p class='viprow'>520 êâ.ì</b></p><p class='viprow'><b style='font-size:11px;'>465 000 $/ìåñ</b></p></a>
-      </td>
-    </tr>
-    </table>
-    &nbsp;
-  </td>
-</tr>
-<tr><td colspan=2 bgcolor=#CFCFCF><img src='imgs/blank.gif' width=1 height=1></td></tr>
-<tr><td colspan=2><img src='imgs/shadow1.gif'></td></tr>
-</table>
-<br>
-
-    <div class=ns><a title="àðåíäà íåäâèæèìîñòè" href="kommvip.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Âñå ïðåäëîæåíèÿ ïî àðåíäå êîììåð÷åñêîé íåäâèæèìîñòè áåç êîìèññèè</h2></a></div>
-    <div class=ns><a title="àðåíäà íåäâèæèìîñòè " href="kommvipp.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Âñå ïðåäëîæåíèÿ ïî ïðîäàæå êîììåð÷åñêîé íåäâèæèìîñòè áåç êîìèññèè</h2></a></div>
-    <div class=ns><a title="àðåíäà êâàðòèð" href="arendavip.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Âñå ïðåäëîæåíèÿ ïî àðåíäå êâàðòèð áåç êîìèññèè</h2></a></div>
-    <div class=ns><a title="àðåíäà êâàðòèð " href="arendacotvip.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Âñå ïðåäëîæåíèÿ ïî àðåíäå êîòòåäæåé, äà÷, äîìîâ áåç êîìèññèè</h2></a></div>
-    <br>
-    <h1><img src="/imgs/fp_li2.gif" width=8 height=15> Îñòàâèòü çàÿâêó:</h1>
-    <p style="font-family:Times New Roman; font-size:12px; margin-top:10px; margin-bottom:0px;">
-    <b>Âëàäåëüöàì</b> íåäâèæèìîñòè, æåëàþùèì ïðîäàòü èëè ñäàòü â àðåíäó, ìû ïîìîæåì áûñòðî ïðîäàòü èëè ñäàòü ïîìåùåíèå íà âûãîäíûõ óñëîâèÿõ. Âû ìîæåòå îñòàâèòü çàÿâêó èëè ñâÿçàòüñÿ ñ íàìè ïî òåëåôîíó.
-<br><i>Êîíñóòüòàöèè ïî âîïðîñàì àðåíäû è ïðîäàæè íåäâèæèìîñòè áåñïëàòíî</i>.
-</p>
-    <br>
-    <div class=ns><a target=_blank title="ñäàòü êâàðòèðû " href="form_1.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü êâàðòèðó</h2></a></div>
-    <div class=ns><a target=_blank title="ñäàòü êîìíàòû " href="form_1.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü êîìíàòó</h2></a></div>
-    <div class=ns><a target=_blank title="ñäàòü ýëèòíûå êâàðòèðû" href="form_1.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü ýëèòíóþ êâàðòèðó</h2></a></div>
-    <div class=ns><a target=_blank title="ñäàòü êâàðòèðû ïîñóòî÷íî" href="form_1day.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü êâàðòèðó ïîñóòî÷íî</h2></a></div>
-    <div class=ns><a target=_blank title="ñäàòü êîòòåäæè, äîìà, äà÷è" href="form_5s.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü êîòòåäæ, äîì, äà÷ó</h2></a></div>
-    <div class=ns><a target=_blank title="ñäàòü îôèñû" href="form_1off.asp?kommtypeid=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü îôèñ</h2></a></div>
-    <div class=ns><a target=_blank title="ñäàòü ñêëàäû è ïðîèçâîäñòâà" href="form_1off.asp?kommtypeid=2&kommtypeid=4"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü ñêëàä, ïðîèçâîäñòâî</h2></a></div>
-    <div class=ns nowrap><a target=_blank title="ñäàòü ìàãàçèíû" href="form_1off.asp?kommtypeid=3&kommtypeid=5&kommtypeid=6&kommtypeid=7"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñäàòü ìàãàçèí, ðåñòîðàí, êàôå</h2></a></div>
-    <div class=ns><a target=_blank title="ïðîäàòü äà÷ó" href="form_6s.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðîäàòü êîòòåäæ, äà÷ó, äîì</h2></a></div>
-    <div class=ns><a target=_blank title="ïðîäàòü îôèñû" href="form_1off.asp?kommtypeid=1&own_type=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðîäàòü îôèñ</h2></a></div>
-    <div class=ns><a target=_blank title="ïðîäàòü ñêëàäû" href="form_1off.asp?kommtypeid=2&kommtypeid=4&own_type=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðîäàòü ñêëàä, ïðîèçâîäñòâî</h2></a></div>
-    <div class=ns><a target=_blank title="ïðîäàòü ïîìåùåíèå" href="form_1off.asp?kommtypeid=1&kommtypeid=2&kommtypeid=3&kommtypeid=4&kommtypeid=5&kommtypeid=6&kommtypeid=7&own_type=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ïðîäàòü íåæèëîå ïîìåùåíèå</h2></a></div>
-    <br>
-    <p style="font-family:Times New Roman; font-size:12px; margin-top:10px; margin-bottom:0px;">
-    <b>Êëèåíòàì.</b> Åñëè Âû õîòèòå ñíÿòü â àðåíäó êâàðòèðó, êîòòåäæ, îôèñ, ñêëàä, ìàãàçèí... ëèáî åñëè Âàñ èíòåðåñóåò ïðîäàæà íåäâèæèìîñòè, îñòàâüòå çàÿâêó è ìû ïîìîæåì Âàì ñíÿòü èëè êóïèòü ïîìåùåíèå âûãîäíî, íàäåæíî è â ìèíèìàëüíûå ñðîêè. Âû ìîæåòå îçíàêîìèòüñÿ ñ ïðåäëîæåíèÿìè ïî àðåíäå è ïðîäåæå íåäâèæèìîñòè íà íàøåì ñàéòå. Áàçà îáíîâëÿåòñÿ åæåäíåâíî. Âñÿ ïðåäëàãàåìàÿ íåäâèæèìîñòü ïðåäâàðèòåëüíî ïðîâåðåíà íàøèìè ñïåöèàëèñòàìè.
-<br><i>Âíèìàíèå! Ìû íå áåðåì ïðåäîïëàòû, íå îêàçûâàåì èíôîðìàöèîííûõ óñëóã, ïðîñìîòð ïîìåùåíèé ñ àãåíòîì áåñïëàòíî, îïëàòà êîìèññèîííûõ ïî ôàêòó ñäåëêè.</i>
-    </p>
-    <br>
-    <div class=ns><a target=_blank title="ñíÿòü êâàðòèðó " href="form_3.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü êâàðòèðó</h2></a></div>
-    <div class=ns><a target=_blank title="ñíÿòü êîìíàòó " href="form_3.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü êîìíàòó</h2></a></div>
-    <div class=ns><a target=_blank title="ñíÿòü ýëèòíóþ êâàðòèðó " href="form_3.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü ýëèòíóþ êâàðòèðó</h2></a></div>
-    <div class=ns><a target=_blank title="ñíÿòü êâàðòèðû ïîñóòî÷íî" href="form_3day.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü êâàðòèðó ïîñóòî÷íî</h2></a></div>
-    <div class=ns><a target=_blank title="ñíÿòü äà÷ó" href="form_5.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü êîòòåäæ, äîì, äà÷ó</h2></a></div>
-    <div class=ns><a target=_blank title="ñíÿòü îôèñ " href="form_3off.asp?kommtypeid=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü îôèñ</h2></a></div>
-    <div class=ns><a target=_blank title="ñíÿòü ñêëàä " href="form_3off.asp?kommtypeid=2&kommtypeid=4"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü ñêëàä, ïðîèçâîäñòâî</h2></a></div>
-    <div class=ns><a target=_blank title="ñíÿòü ìàãàçèí " href="form_3off.asp?kommtypeid=3&kommtypeid=5&kommtypeid=6&kommtypeid=7"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Ñíÿòü ìàãàçèí, ðåñòîðàí, êàôå</h2></a></div>
-    <div class=ns><a target=_blank title="êóïèòü êîòòåäæ, äà÷ó " href="form_6.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Êóïèòü êîòòåäæ, äà÷ó, äîì</h2></a></div>
-    <div class=ns><a target=_blank title="êóïèòü îôèñ " href="form_3off.asp?kommtypeid=1&own_type=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Êóïèòü îôèñ</h2></a></div>
-    <div class=ns><a target=_blank title="êóïèòü ñêëàä " href="form_3off.asp?kommtypeid=2&kommtypeid=4&own_type=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Êóïèòü ñêëàä, ïðîèçâîäñòâî</h2></a></div>
-    <div class=ns><a target=_blank title="êóïèòü ïîìåùåíèå " href="form_3off.asp?kommtypeid=1&kommtypeid=2&kommtypeid=3&kommtypeid=4&kommtypeid=5&kommtypeid=6&kommtypeid=7&own_type=1"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Êóïèòü íåæèëîå ïîìåùåíèå</h2></a></div>
-    <br>
-    <h1><img src="/imgs/fp_li2.gif" width=8 height=15> Áåñïëàòíûå äîñêè îáúÿâëåíèé ïî àðåíäå íåäâèæèìîñòè:</h1>
-    <br>
-    <div class=ns><a title="àðåíäà êâàðòèð" href="freetables.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Àðåíäà êâàðòèð è êîìíàò</h2></a></div>
-    <div class=ns><a title="àðåíäà ïîìåùåíèé" href="freetables_komm.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Àðåíäà íåæèëûõ ïîìåùåíèé</h2></a></div>
-    <div class=ns><a title="àðåíäà êîòòåäæåé äà÷" href="freetables_cott.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Àðåíäà êîòòåäæåé, äà÷, äîìîâ</h2></a></div>
-    <br>
-    <h1><img src="/imgs/fp_li2.gif" width=8 height=15> Âàêàíñèè:</h1>
-    <br>
-    <div class=ns><a href="vakansii.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Àãåíò ïî àðåíäå êîììåð÷åñêîé íåäâèæèìîñòè</h2></a></div>
-    <div class=ns><a href="vakansii.asp"><h2><img src="/imgs/fp_li.gif" width=4 height=9 border=0> Àãåíò ïî àðåíäå êâàðòèð è êîìíàò</h2></a></div>
-    <br>
-  </td>
-</tr>
-</table>
-<table width="100%" border="0" cellspacing="5" cellpadding="0" bgcolor=#FFFFFF>
-<tr>
-  <td bgcolor="#FFFFFF" colspan=2 valign="top" style="padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 7px">
-    <br>
-<div align=center>
-<a style="font-size:10px;" href="/default.asp">Ãëàâíàÿ</a> ::
-<a style="font-size:10px;" href="/arenda_results.asp">Àðåíäà æèëüÿ</a> ::  
-<a style="font-size:10px;" href="/prodaga.asp">Ïðîäàæà/ïîêóïêà æèëüÿ</a> ::  
-<a style="font-size:10px;" href="/komm.asp">Êîììåð÷åñêàÿ íåäâèæèìîñòü</a> ::  
-<a style="font-size:10px;" href="/nedvvrossii.asp">Íåäâèæèìîñòü â Ðîññèè</a> ::  
-<a style="font-size:10px;" href="/docs.asp">Îôîðìëåíèå äîêóìåíòîâ</a> ::  
-<a style="font-size:10px;" href="/zemuchastki.asp">Çåìåëüíûå ó÷àñòêè</a> ::  
-<a style="font-size:10px;" href="/vakansii.asp">Âàêàíñèè</a> ::  
-<a style="font-size:10px;" href="/questions.asp">Âîïðîñû ýêñïåðòó</a> ::
-<a style="font-size:10px;" href="/info.asp">Ñïðàâî÷íàÿ èíôîðìàöèÿ</a> ::  
-<a style="font-size:10px;" href="/freetables.asp">Äîñêè îáúÿâëåíèé ïî íåäâèæèìîñòè</a> ::  
-<a style="font-size:10px;" href="/links.asp">Êàòàëîã ññûëîê</a> ::  
-<a style="font-size:10px;" href="/kontakty.asp">Êîíòàêòû</a>
-</div> 
-
-  </td>
-</tr>
-</table>
-</td>
-              </tr>
-            </table>
-          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-    <tr>
-    <td height="20" style="padding-left:13px; padding-right:13px;">
-<table width="100%" border="0" cellspacing="0" cellpadding="0">
-  <tr>
-    <td class=copy>
-    &copy; 2001 — 2009 <a title="Àãåíñòâî íåäâèæèìîñòè" href="/">Àãåíòñòâà íåäâèæèìîñòè</a> "Êîíòèíåíò-Íåäâèæèìîñòü", "Õîðîøèå äîìà" -  Àðåíäà êâàðòèð, àðåíäà îôèñîâ, àðåíäà ïîìåùåíèé.<br>
-    Òåë.: +7 495 737-7019&nbsp;&nbsp;&nbsp;Ôàêñ: +7 495 231-7755&nbsp;&nbsp;&nbsp;E-mail: <a href="mailto:info1@makler.su" style="color:black">info1@makler.su</a><br>
-</td>
-  </tr>
-</table>
-    </td>
-  </tr>
-</table><script type="text/javascript">
-var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-</script>
-<script type="text/javascript">
-try {
-var pageTracker = _gat._getTracker("UA-8971199-1");
-pageTracker._trackPageview();
-} catch(err) {}</script></body>
-</html>
-
-
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/boilerplate.html b/trunk/tika-parsers/src/test/resources/test-documents/boilerplate.html
deleted file mode 100644
index 854ebcd..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/boilerplate.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
-	<title>Title</title>
-</head>
-<body>
-
-<table>
-	<tr>
-		<td>
-			<table>
-				<tr>
-					<td ><a href="Main.php">boilerplate</a></td>
-					<td ><a href="Main.php">text</a></td>
-				</tr>
-			</table>
-		</td>
-	</tr>
-</table>
-
-<p>This is the real meat of the page, 
-and represents the text we want. 
-It has lots of juicy content.
-
-We assume that it won't get filtered out.
-And that all of the lines will be in the
-output.
-</p>
-
-<p>
-Here's another paragraph of text.
-This is the end of the text.
-</p>
-
-<p><a href="Footer.html">footer</a></p>
-
-</body>
-</html>
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/complex.mbox b/trunk/tika-parsers/src/test/resources/test-documents/complex.mbox
deleted file mode 100644
index 2aa4828..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/complex.mbox
+++ /dev/null
@@ -1,291 +0,0 @@
-From core-user-return-14700-apmail-hadoop-core-user-archive=hadoop.apache.org@hadoop.apache.org Mon Jun 01 04:28:28 2009
-Return-Path: <core-user-return-14700-apmail-hadoop-core-user-archive=hadoop.apache.org@hadoop.apache.org>
-Delivered-To: apmail-hadoop-core-user-archive@www.apache.org
-Received: (qmail 19921 invoked from network); 1 Jun 2009 04:28:28 -0000
-Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3)
-  by minotaur.apache.org with SMTP; 1 Jun 2009 04:28:28 -0000
-Received: (qmail 84995 invoked by uid 500); 1 Jun 2009 04:28:38 -0000
-Delivered-To: apmail-hadoop-core-user-archive@hadoop.apache.org
-Received: (qmail 84895 invoked by uid 500); 1 Jun 2009 04:28:38 -0000
-Mailing-List: contact core-user-help@hadoop.apache.org; run by ezmlm
-Precedence: bulk
-List-Help: <mailto:core-user-help@hadoop.apache.org>
-List-Unsubscribe: <mailto:core-user-unsubscribe@hadoop.apache.org>
-List-Post: <mailto:core-user@hadoop.apache.org>
-List-Id: <core-user.hadoop.apache.org>
-Reply-To: core-user@hadoop.apache.org
-Delivered-To: mailing list core-user@hadoop.apache.org
-Received: (qmail 84885 invoked by uid 99); 1 Jun 2009 04:28:38 -0000
-Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136)
-    by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Jun 2009 04:28:38 +0000
-X-ASF-Spam-Status: No, hits=1.2 required=10.0
-	tests=SPF_NEUTRAL
-X-Spam-Check-By: apache.org
-Received-SPF: neutral (athena.apache.org: local policy)
-Received: from [69.147.107.21] (HELO mrout2-b.corp.re1.yahoo.com) (69.147.107.21)
-    by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Jun 2009 04:28:26 +0000
-Received: from SNV-EXPF01.ds.corp.yahoo.com (snv-expf01.ds.corp.yahoo.com [207.126.227.250])
-	by mrout2-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id n514QYA6099963
-	for <core-user@hadoop.apache.org>; Sun, 31 May 2009 21:26:35 -0700 (PDT)
-DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns;
-	h=received:user-agent:date:subject:from:to:message-id:
-	thread-topic:thread-index:in-reply-to:mime-version:content-type:
-	content-transfer-encoding:x-originalarrivaltime;
-	b=YVtSNdgjeeSBS1yY3XDolul49i+HrgNG7QszMo9LzGnrwejjgsl5+iUM6EiQgEpV
-Received: from SNV-EXVS08.ds.corp.yahoo.com ([207.126.227.9]) by SNV-EXPF01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);
-	 Sun, 31 May 2009 21:26:34 -0700
-Received: from 10.66.92.213 ([10.66.92.213]) by SNV-EXVS08.ds.corp.yahoo.com ([207.126.227.58]) with Microsoft Exchange Server HTTP-DAV ;
- Mon,  1 Jun 2009 04:26:33 +0000
-User-Agent: Microsoft-Entourage/12.17.0.090302
-Date: Mon, 01 Jun 2009 09:56:31 +0530
-Subject: Re: question about when shuffle/sort start working
-From: Jothi Padmanabhan <jothipn@yahoo-inc.com>
-To: <core-user@hadoop.apache.org>
-Message-ID: <C649564F.1435F%jothipn@yahoo-inc.com>
-Thread-Topic: question about when shuffle/sort start working
-Thread-Index: AcnicSNoBw19cMU8UEaXwAdZ1YYhuw==
-In-Reply-To: <440622.41041.qm@web111005.mail.gq1.yahoo.com>
-Mime-version: 1.0
-Content-type: text/plain;
-	charset="US-ASCII"
-Content-transfer-encoding: 7bit
-X-OriginalArrivalTime: 01 Jun 2009 04:26:34.0501 (UTC) FILETIME=[257EAB50:01C9E271]
-X-Virus-Checked: Checked by ClamAV on apache.org
-
-When a Mapper completes, MapCompletionEvents are generated. Reducers try to
-fetch map outputs for a given map only on the receipt of such events.
-
-Jothi
-
-
-On 5/30/09 10:00 AM, "Jianmin Woo" <jianmin_woo@yahoo.com> wrote:
-
-> Hi, 
-> I am being confused by the protocol between mapper and reducer. When mapper
-> emitting the (key,value) pair done, is there any signal the mapper send out to
-> hadoop framework in protocol to indicate that map is done and the shuffle/sort
-> can begin for reducer? If there is no this signal in protocol, when the
-> framework begin the shuffle/sort?
-> 
-> Thanks,
-> Jianmin
-> 
-> 
-> 
->       
-
-
-From core-user-return-14701-apmail-hadoop-core-user-archive=hadoop.apache.org@hadoop.apache.org Mon Jun 01 05:31:14 2009
-Return-Path: <core-user-return-14701-apmail-hadoop-core-user-archive=hadoop.apache.org@hadoop.apache.org>
-Delivered-To: apmail-hadoop-core-user-archive@www.apache.org
-Received: (qmail 38243 invoked from network); 1 Jun 2009 05:31:14 -0000
-Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3)
-  by minotaur.apache.org with SMTP; 1 Jun 2009 05:31:14 -0000
-Received: (qmail 15621 invoked by uid 500); 1 Jun 2009 05:31:24 -0000
-Delivered-To: apmail-hadoop-core-user-archive@hadoop.apache.org
-Received: (qmail 15557 invoked by uid 500); 1 Jun 2009 05:31:24 -0000
-Mailing-List: contact core-user-help@hadoop.apache.org; run by ezmlm
-Precedence: bulk
-List-Help: <mailto:core-user-help@hadoop.apache.org>
-List-Unsubscribe: <mailto:core-user-unsubscribe@hadoop.apache.org>
-List-Post: <mailto:core-user@hadoop.apache.org>
-List-Id: <core-user.hadoop.apache.org>
-Reply-To: core-user@hadoop.apache.org
-Delivered-To: mailing list core-user@hadoop.apache.org
-Received: (qmail 15547 invoked by uid 99); 1 Jun 2009 05:31:24 -0000
-Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230)
-    by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Jun 2009 05:31:24 +0000
-X-ASF-Spam-Status: No, hits=2.2 required=10.0
-	tests=HTML_MESSAGE,SPF_PASS
-X-Spam-Check-By: apache.org
-Received-SPF: pass (nike.apache.org: local policy)
-Received: from [68.142.237.94] (HELO n9.bullet.re3.yahoo.com) (68.142.237.94)
-    by apache.org (qpsmtpd/0.29) with SMTP; Mon, 01 Jun 2009 05:31:11 +0000
-Received: from [68.142.237.88] by n9.bullet.re3.yahoo.com with NNFMP; 01 Jun 2009 05:30:50 -0000
-Received: from [67.195.9.82] by t4.bullet.re3.yahoo.com with NNFMP; 01 Jun 2009 05:30:49 -0000
-Received: from [67.195.9.99] by t2.bullet.mail.gq1.yahoo.com with NNFMP; 01 Jun 2009 05:30:49 -0000
-Received: from [127.0.0.1] by omp103.mail.gq1.yahoo.com with NNFMP; 01 Jun 2009 05:28:01 -0000
-X-Yahoo-Newman-Property: ymail-3
-X-Yahoo-Newman-Id: 796121.97519.bm@omp103.mail.gq1.yahoo.com
-Received: (qmail 35264 invoked by uid 60001); 1 Jun 2009 05:30:49 -0000
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1243834249; bh=R8qzdi/IbLyO8UwpnaujDpT9E+6bJ7nkmZN2803EmRk=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:References:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=vq4c6RIDbkuLPYd8mirusIXf6DqTb/IeT55In7W00Y5Sxx1ZiXBb78yE9+TDfXJ0elsEZvqv4ocyvolGE0eGtyYeJA0mZikpRNu6pidxPNpCplOcLHBRz7YQ7iERwv3TagRlWy2Xd3oD9ZeV0A05P7WUOiNNX1PUUJD1IVdrEZo=
-DomainKey-Signature:a=rsa-sha1; q=dns; c=nofws;
-  s=s1024; d=yahoo.com;
-  h=Message-ID:X-YMail-OSG:Received:X-Mailer:References:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type;
-  b=6HXZV98ON5vBwmE/xS8stVD0D2F4dkMY7a0suX5KVTb736JdR8G59mqBq/dWcpbFTLiCLtxi18LMb/dU1RKRGOEdn3l3j/jKXhBrhIgfg3qtNskPedXDKBvn7JGXiSkqpA/tUtPjvc0Uuk8/LaA01SQTz40Engg7nD8/EJdIAhA=;
-Message-ID: <592088.35091.qm@web111010.mail.gq1.yahoo.com>
-X-YMail-OSG: KzhhrJYVM1m.MCS6vRpRP2ZZO2PrfnbngosELDCIa91ZqvhJph4RdmzfUW0jw9W04RCSch1K730bPohwNpNBIk2QR_zt4_mfbhfq7YEPkSoz9LSXG90P9vIo5Fc8qyZN0U6vA9gtdyGQTpN5ahvillUH9nAF0TMWv2SvZJLjPlQ0Z0p8oK8ltBwGTgLrM8Jtdn9D29yoRyi3_EpVOfdD9OP.EK50Vr1XwSUYMbnpZ0WGHMwd.Yig7A6Elwadm3YVbfOdx2mfrG.jQsUAxQjRBNvbrOM57.FaE11kHTe9aoBWSeihNg--
-Received: from [216.145.54.7] by web111010.mail.gq1.yahoo.com via HTTP; Sun, 31 May 2009 22:30:49 PDT
-X-Mailer: YahooMailRC/1277.43 YahooMailWebService/0.7.289.10
-References: <C649564F.1435F%jothipn@yahoo-inc.com>
-Date: Sun, 31 May 2009 22:30:49 -0700 (PDT)
-From: Jianmin Woo <jianmin_woo@yahoo.com>
-Subject: Re: question about when shuffle/sort start working
-To: core-user@hadoop.apache.org
-In-Reply-To: <C649564F.1435F%jothipn@yahoo-inc.com>
-MIME-Version: 1.0
-Content-Type: multipart/alternative; boundary="0-1193839393-1243834249=:35091"
-X-Virus-Checked: Checked by ClamAV on apache.org
-
---0-1193839393-1243834249=:35091
-Content-Type: text/plain; charset=us-ascii
-
-Thanks a lot for your explanation, Jothi. 
-
-So is this event generated by hadoop framework? Is there any API in mapper to fire this event? Actually, I am thinking to implement a mapper that will emit some <key, value> pairs, then fire this event to let the reducer works, the same mapper task then emit some other <key, value> pairs and repeat. Do you think is this logic feasible by current API?
-
-Thanks,
-Jianmin
-
-
-
-
-
-________________________________
-From: Jothi Padmanabhan <jothipn@yahoo-inc.com>
-To: core-user@hadoop.apache.org
-Sent: Monday, June 1, 2009 12:26:31 PM
-Subject: Re: question about when shuffle/sort start working
-
-When a Mapper completes, MapCompletionEvents are generated. Reducers try to
-fetch map outputs for a given map only on the receipt of such events.
-
-Jothi
-
-
-On 5/30/09 10:00 AM, "Jianmin Woo" <jianmin_woo@yahoo.com> wrote:
-
-> Hi, 
-> I am being confused by the protocol between mapper and reducer. When mapper
-> emitting the (key,value) pair done, is there any signal the mapper send out to
-> hadoop framework in protocol to indicate that map is done and the shuffle/sort
-> can begin for reducer? If there is no this signal in protocol, when the
-> framework begin the shuffle/sort?
-> 
-> Thanks,
-> Jianmin
-> 
-> 
-> 
->      
-
-
-      
---0-1193839393-1243834249=:35091--
-
-
-From core-user-return-14702-apmail-hadoop-core-user-archive=hadoop.apache.org@hadoop.apache.org Mon Jun 01 06:04:30 2009
-Return-Path: <core-user-return-14702-apmail-hadoop-core-user-archive=hadoop.apache.org@hadoop.apache.org>
-Delivered-To: apmail-hadoop-core-user-archive@www.apache.org
-Received: (qmail 53387 invoked from network); 1 Jun 2009 06:04:29 -0000
-Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3)
-  by minotaur.apache.org with SMTP; 1 Jun 2009 06:04:29 -0000
-Received: (qmail 39066 invoked by uid 500); 1 Jun 2009 06:04:39 -0000
-Delivered-To: apmail-hadoop-core-user-archive@hadoop.apache.org
-Received: (qmail 38970 invoked by uid 500); 1 Jun 2009 06:04:39 -0000
-Mailing-List: contact core-user-help@hadoop.apache.org; run by ezmlm
-Precedence: bulk
-List-Help: <mailto:core-user-help@hadoop.apache.org>
-List-Unsubscribe: <mailto:core-user-unsubscribe@hadoop.apache.org>
-List-Post: <mailto:core-user@hadoop.apache.org>
-List-Id: <core-user.hadoop.apache.org>
-Reply-To: core-user@hadoop.apache.org
-Delivered-To: mailing list core-user@hadoop.apache.org
-Received: (qmail 38955 invoked by uid 99); 1 Jun 2009 06:04:39 -0000
-Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136)
-    by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Jun 2009 06:04:39 +0000
-X-ASF-Spam-Status: No, hits=1.2 required=10.0
-	tests=SPF_NEUTRAL
-X-Spam-Check-By: apache.org
-Received-SPF: neutral (athena.apache.org: local policy)
-Received: from [216.145.54.172] (HELO mrout2.yahoo.com) (216.145.54.172)
-    by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Jun 2009 06:04:28 +0000
-Received: from SNV-EXBH01.ds.corp.yahoo.com (snv-exbh01.ds.corp.yahoo.com [207.126.227.249])
-	by mrout2.yahoo.com (8.13.6/8.13.6/y.out) with ESMTP id n5163FGq038852
-	for <core-user@hadoop.apache.org>; Sun, 31 May 2009 23:03:15 -0700 (PDT)
-DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns;
-	h=received:user-agent:date:subject:from:to:message-id:
-	thread-topic:thread-index:in-reply-to:mime-version:content-type:
-	content-transfer-encoding:x-originalarrivaltime;
-	b=rChE4SCnwtWaZpjhovkiXDKfDiVNdRRvsadSGG9S9bgvOexn/9/5JjEQx1pOR7Nb
-Received: from SNV-EXVS08.ds.corp.yahoo.com ([207.126.227.9]) by SNV-EXBH01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);
-	 Sun, 31 May 2009 23:03:15 -0700
-Received: from 10.66.92.213 ([10.66.92.213]) by SNV-EXVS08.ds.corp.yahoo.com ([207.126.227.58]) with Microsoft Exchange Server HTTP-DAV ;
- Mon,  1 Jun 2009 06:03:15 +0000
-User-Agent: Microsoft-Entourage/12.17.0.090302
-Date: Mon, 01 Jun 2009 11:33:13 +0530
-Subject: Re: question about when shuffle/sort start working
-From: Jothi Padmanabhan <jothipn@yahoo-inc.com>
-To: <core-user@hadoop.apache.org>
-Message-ID: <C6496CF9.1437C%jothipn@yahoo-inc.com>
-Thread-Topic: question about when shuffle/sort start working
-Thread-Index: AcnifqWrLG6N7GAk7kqy9QalVWfegQ==
-In-Reply-To: <592088.35091.qm@web111010.mail.gq1.yahoo.com>
-Mime-version: 1.0
-Content-type: text/plain;
-	charset="US-ASCII"
-Content-transfer-encoding: 7bit
-X-OriginalArrivalTime: 01 Jun 2009 06:03:15.0462 (UTC) FILETIME=[A7231260:01C9E27E]
-X-Virus-Checked: Checked by ClamAV on apache.org
-
-
-No you cannot raise this event yourself, this event is generated internally
-by the framework. 
-
-I am guessing that what you probably want is to have a chain of MapReduce
-Jobs where the output of one is automatically fed as input to another.  You
-can look at these classes: JobControl and ChainMapper/ChainReducer.
-
-Jothi
-
-On 6/1/09 11:00 AM, "Jianmin Woo" <jianmin_woo@yahoo.com> wrote:
-
-> Thanks a lot for your explanation, Jothi.
-> 
-> So is this event generated by hadoop framework? Is there any API in mapper to
-> fire this event? Actually, I am thinking to implement a mapper that will emit
-> some <key, value> pairs, then fire this event to let the reducer works, the
-> same mapper task then emit some other <key, value> pairs and repeat. Do you
-> think is this logic feasible by current API?
-> 
-> Thanks,
-> Jianmin
-> 
-> 
-> 
-> 
-> 
-> ________________________________
-> From: Jothi Padmanabhan <jothipn@yahoo-inc.com>
-> To: core-user@hadoop.apache.org
-> Sent: Monday, June 1, 2009 12:26:31 PM
-> Subject: Re: question about when shuffle/sort start working
-> 
-> When a Mapper completes, MapCompletionEvents are generated. Reducers try to
-> fetch map outputs for a given map only on the receipt of such events.
-> 
-> Jothi
-> 
-> 
-> On 5/30/09 10:00 AM, "Jianmin Woo" <jianmin_woo@yahoo.com> wrote:
-> 
->> Hi, 
->> I am being confused by the protocol between mapper and reducer. When mapper
->> emitting the (key,value) pair done, is there any signal the mapper send out
->> to
->> hadoop framework in protocol to indicate that map is done and the
->> shuffle/sort
->> can begin for reducer? If there is no this signal in protocol, when the
->> framework begin the shuffle/sort?
->> 
->> Thanks,
->> Jianmin
->> 
->> 
->> 
->>      
-> 
-> 
->       
-
-
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/footnotes.docx b/trunk/tika-parsers/src/test/resources/test-documents/footnotes.docx
deleted file mode 100644
index db4386c..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/footnotes.docx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/headers.mbox b/trunk/tika-parsers/src/test/resources/test-documents/headers.mbox
deleted file mode 100644
index d607bc9..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/headers.mbox
+++ /dev/null
@@ -1,7 +0,0 @@
-From envelope-sender-mailbox-name Mon Jun 01 10:00:00 2009
-Return-Path: <name@domain.com>
-Subject: subject
-From: <author@domain.com>
-Date: Tue, 9 Jun 2009 23:58:45 -0400
-
-Test content
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/multiline.mbox b/trunk/tika-parsers/src/test/resources/test-documents/multiline.mbox
deleted file mode 100644
index fff7dfb..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/multiline.mbox
+++ /dev/null
@@ -1,5 +0,0 @@
-From envelope-sender-mailbox-name Mon Jun 01 10:00:00 2009
-Received: from xxx
-    by xxx with xxx; date
-
-Test content
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/protect.xlsx b/trunk/tika-parsers/src/test/resources/test-documents/protect.xlsx
deleted file mode 100644
index 1767b14..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/protect.xlsx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/protectedFile.xlsx b/trunk/tika-parsers/src/test/resources/test-documents/protectedFile.xlsx
deleted file mode 100644
index 1767b14..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/protectedFile.xlsx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/protectedSheets.xlsx b/trunk/tika-parsers/src/test/resources/test-documents/protectedSheets.xlsx
deleted file mode 100644
index 09f6a77..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/protectedSheets.xlsx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/quoted.mbox b/trunk/tika-parsers/src/test/resources/test-documents/quoted.mbox
deleted file mode 100644
index 05d0fd8..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/quoted.mbox
+++ /dev/null
@@ -1,4 +0,0 @@
-From envelope-sender-mailbox-name Mon Jun 01 10:00:00 2009
-
-Test content
-> quoted stuff
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/rsstest.rss b/trunk/tika-parsers/src/test/resources/test-documents/rsstest.rss
deleted file mode 100644
index 758f6a1..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/rsstest.rss
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!--
-	Licensed to the Apache Software Foundation (ASF) under one or more
-	contributor license agreements.  See the NOTICE file distributed with
-	this work for additional information regarding copyright ownership.
-	The ASF licenses this file to You 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.
--->
-<rss version="0.91">
-    <channel>
-      <title>TestChannel</title>
-      <link>http://test.channel.com/</link> 
-      <description>Sample RSS File for Junit test</description> 
-      <language>en-us</language>
-      
-      <item>
-        <title>Home Page of Chris Mattmann</title>
-        <link>http://www-scf.usc.edu/~mattmann/</link>
-        <description>Chris Mattmann's home page</description>
-      </item>
-      <item>
-        <title>Awesome Open Source Search Engine</title> 
-        <link>http://www.nutch.org/</link> 
-        <description>Yup, that's what it is</description> 
-      </item>
-   </channel>
-</rss>
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/russian.cp866.txt b/trunk/tika-parsers/src/test/resources/test-documents/russian.cp866.txt
deleted file mode 100644
index 050cc87..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/russian.cp866.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Ž¤­ ¦¤ë, ¢ áâ㤥­ãî §¨¬­îî ¯®àã,
-Ÿ ¨§ «¥áã ¢ë襫; ¡ë« ᨫì­ë© ¬®à®§.
-ƒ«ï¦ã, ¯®¤­¨¬ ¥âáï ¬¥¤«¥­­® ¢ £®àã
-‹®è ¤ª , ¢¥§ãé ï 墮à®áâã ¢®§.
-ˆ, è¥áâ¢ãï ¢ ¦­®, ¢ ᯮª®©á⢨¨ 稭­®¬,
-‹®è ¤ªã ¢¥¤¥â ¯®¤ 㧤æë ¬ã¦¨ç®ª
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/simple.mbox b/trunk/tika-parsers/src/test/resources/test-documents/simple.mbox
deleted file mode 100644
index 48e4b99..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/simple.mbox
+++ /dev/null
@@ -1,7 +0,0 @@
-From envelope-sender-mailbox-name Mon Jun 01 10:00:00 2009
-
-Test content 1
-
-From envelope-sender-mailbox-name Mon Jun 01 11:00:00 2009
-
-Test content 2
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/sresa1b_ncar_ccsm3_0_run1_200001.nc b/trunk/tika-parsers/src/test/resources/test-documents/sresa1b_ncar_ccsm3_0_run1_200001.nc
deleted file mode 100644
index dc9da6d..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/sresa1b_ncar_ccsm3_0_run1_200001.nc
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/test-documents.tar b/trunk/tika-parsers/src/test/resources/test-documents/test-documents.tar
deleted file mode 100644
index 3076a58..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/test-documents.tar
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/test-documents.tbz2 b/trunk/tika-parsers/src/test/resources/test-documents/test-documents.tbz2
deleted file mode 100644
index 21488d3..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/test-documents.tbz2
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/test-documents.tgz b/trunk/tika-parsers/src/test/resources/test-documents/test-documents.tgz
deleted file mode 100644
index baca6bb..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/test-documents.tgz
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/test-documents.zip b/trunk/tika-parsers/src/test/resources/test-documents/test-documents.zip
deleted file mode 100644
index 27d600d..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/test-documents.zip
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/test-outlook.msg b/trunk/tika-parsers/src/test/resources/test-documents/test-outlook.msg
deleted file mode 100644
index c975c0c..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/test-outlook.msg
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/test-outlook2003.msg b/trunk/tika-parsers/src/test/resources/test-documents/test-outlook2003.msg
deleted file mode 100644
index e88d503..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/test-outlook2003.msg
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/test-zip-of-zip.zip b/trunk/tika-parsers/src/test/resources/test-documents/test-zip-of-zip.zip
deleted file mode 100644
index f6b3edc..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/test-zip-of-zip.zip
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/test.he5 b/trunk/tika-parsers/src/test/resources/test-documents/test.he5
deleted file mode 100644
index decd552..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/test.he5
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testACCESS.mdb b/trunk/tika-parsers/src/test/resources/test-documents/testACCESS.mdb
deleted file mode 100644
index 6e89cfd..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testACCESS.mdb
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testAIFF.aif b/trunk/tika-parsers/src/test/resources/test-documents/testAIFF.aif
deleted file mode 100644
index 97eac1d..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testAIFF.aif
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testAU.au b/trunk/tika-parsers/src/test/resources/test-documents/testAU.au
deleted file mode 100644
index 20d1bd2..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testAU.au
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testBMP.bmp b/trunk/tika-parsers/src/test/resources/test-documents/testBMP.bmp
deleted file mode 100644
index c017615..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testBMP.bmp
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testBMPfp.txt b/trunk/tika-parsers/src/test/resources/test-documents/testBMPfp.txt
deleted file mode 100644
index b0f1a68..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testBMPfp.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-BMW to Make Hybrid Sports Car


- By CHRISTOPH RAUWALD . 

-LEIPZIG, Germany—German car maker BMW AG said Friday it will start series production of a new plug-in hybrid sports car in 2013, to be based on the Vision EfficientDynamics Concept car shown at the Frankfurt auto show in September last year. Chief Executive Norbert Reithofer said the car will be produced in Germany but didn't provide details on the price. The BMW Vision EfficientDynamics Concept car is a sporty plug-in, full hybrid with a turbo-diesel engine, four seats and upward-pivoting doors. BMW executive board member Klaus Draeger told reporters he expects to achieve "a significant sales volume" with the new high-performance sports car. Asked whether annual sales could exceed 1,000 vehicles, Mr. Draeger said, "You said this and I'm not saying this is wrong." In March, Mr. Reithofer indicated that the concept car was set to make it into series production. "I like the car. And you know what it means when I say I like the car—it means I will drive it. It's not just a concept car," he told analysts during a presentation in Munich. The car will be designed for sale in all major global markets, which according to Mr. Draeger might require offering a gasoline engine instead of the prototype's three-cylinder diesel engine. Diesel cars account for roughly half of the European market, but are significantly less popular in the U.S. and hardly present at all in China. Mr. Draeger declined to comment on the vehicle's price tag, but noted that in order to achieve substantial sales volumes the price mustn't be too high. He said the same goes for BMW's planned Megacity Vehicle. A price tag of €60,000 ($85,242) or more would certainly limit potential sales volumes, he said. 

diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testCOREL.shw b/trunk/tika-parsers/src/test/resources/test-documents/testCOREL.shw
deleted file mode 100644
index 71fd782..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testCOREL.shw
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testDWG2004.dwg b/trunk/tika-parsers/src/test/resources/test-documents/testDWG2004.dwg
deleted file mode 100644
index 6d2a812..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testDWG2004.dwg
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testDWG2004_no_header.dwg b/trunk/tika-parsers/src/test/resources/test-documents/testDWG2004_no_header.dwg
deleted file mode 100644
index 13bd1a5..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testDWG2004_no_header.dwg
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testDWG2007.dwg b/trunk/tika-parsers/src/test/resources/test-documents/testDWG2007.dwg
deleted file mode 100644
index 6b97949..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testDWG2007.dwg
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testDWG2010.dwg b/trunk/tika-parsers/src/test/resources/test-documents/testDWG2010.dwg
deleted file mode 100644
index ee17cb1..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testDWG2010.dwg
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testEPUB.epub b/trunk/tika-parsers/src/test/resources/test-documents/testEPUB.epub
deleted file mode 100644
index a6fc2e6..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testEPUB.epub
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL-charts.xls b/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL-charts.xls
deleted file mode 100644
index 52762a4..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL-charts.xls
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL-formats.xls b/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL-formats.xls
deleted file mode 100644
index 6929989..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL-formats.xls
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL-formats.xlsx b/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL-formats.xlsx
deleted file mode 100644
index d4e7bce..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL-formats.xlsx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL.xls b/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL.xls
deleted file mode 100644
index 347d8a6..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL.xls
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL.xlsb b/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL.xlsb
deleted file mode 100644
index 78fdf26..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL.xlsb
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL.xlsx b/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL.xlsx
deleted file mode 100644
index 8d5169f..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL.xlsx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL_1img.xls b/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL_1img.xls
deleted file mode 100644
index 2b447af..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL_1img.xls
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL_1img.xlsx b/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL_1img.xlsx
deleted file mode 100644
index 59f33e5..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL_1img.xlsx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL_embeded.xls b/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL_embeded.xls
deleted file mode 100644
index b72cc0b..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL_embeded.xls
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL_embeded.xlsx b/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL_embeded.xlsx
deleted file mode 100644
index e68d9ba..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testEXCEL_embeded.xlsx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testFLV.flv b/trunk/tika-parsers/src/test/resources/test-documents/testFLV.flv
deleted file mode 100644
index d35e9bb..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testFLV.flv
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testFOXMAIL.box b/trunk/tika-parsers/src/test/resources/test-documents/testFOXMAIL.box
deleted file mode 100644
index afd530f..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testFOXMAIL.box
+++ /dev/null
@@ -1,1327 +0,0 @@
-S

-Date: 

-From: "Foxmail¿ª·¢×é"<foxmail@tencent.com>

-To: "=?gb2312?B?1/C+tLXERm94bWFpbNPDu6c=?=" <user@foxmail.com>

-Subject:=?gb2312?B?u7bTrcq508MgRm94bWFpbCA2LjUgo6E=?= 

-Message-ID: <200906261059103758227@foxmail.com>

-X-mailer: Foxmail 6, 15, 201, 21 [cn]

-Mime-Version: 1.0

-Content-Type: multipart/related;

-	boundary="=====002_Dragon172714510278_=====";

-	type="multipart/alternative"

-

-This is a multi-part message in MIME format.

-

---=====002_Dragon172714510278_=====

-Content-Type: multipart/alternative;

-	boundary="=====003_Dragon172714510278_====="

-

-

---=====003_Dragon172714510278_=====

-Content-Type: text/plain;

-	charset="gb2312"

-Content-Transfer-Encoding: base64

-

-IEZveG1haWwgNi41INX9yr2w5iC1xNfu0MK4xL34IA0K0MLU9rT9sOzKws/uuabE3CANCg0Kt72x

-49PDu6exuM38oaLH4cvJudzA7bj3uPbKws/uo6yyor/JttTW2NKqysLP7sno1sPM4dDRoaMgDQrQ

-wtT2w/fQxcasuabE3CANCg0KzOG5qbbg1tbA4NDNus2357jxtcTD99DFxqyjrLe9sePTw7unuPjH

-18XzusPT0dbCvdrI1c7KuvKhoyANCtDC1Pa7u7f0uabE3CANCg0KzOG5qbbg1tbGpLf0xeTJq7e9

-sLi6zbXXzsajrLKix9LWp7PW08O7p9fUtqjS5cakt/TR1cmroaMgDQrIq87Ey9HL97j8zsi2qKGi

-uPzXvMi3IA0KDQrIq87Ey9HL97XEy/fS/b2owaLL2bbItPO088zhyf2jrNW808PXytS0w/fP1L21

-tc2jrMvRy/e4/M7Itqihorj817zIt6GjIA0KyPS4ybjEvfgNCg0KMS4g08W7r8HLRm94bWFpbMb0

-tq+6zbnYsdXL2bbIo7sgDQoyLiC1pbj2sb612NPKvP680LTmtKLI3cG/tNMyR8Cp1bm1vTRHo7sg

-DQozLiC808e/wctWaXN0Yc+1zbO1xMr9vt285sjd0NSjuyANCjQuILzTx7/By0ZveG1haWzK/b7d

-tqrKp7XEt8DT+aO7IA0KNS4g08W7r8HL0MK9qNXLusW1xNfUtq/J6NbDuabE3KO7IA0KNi4g08W7

-r8HLtPLTobmmxNyjuyANCjcuINPFu6/By7GjtOa087i9vP61xMvZtsijuyANCjguINPFu6+2wMGi

-t6LLzdPKvP65psTco7sgDQo5LiDQ3rjEwcu49rHw08q8/rP2z9bC0sLrtcTOyszio7sgDQoxMC4g

-0N64xMHLuPax8Mfpv/bPwtPKvP7K1cihuvOz9s/W08q8/raqyqe1xM7KzOKjuyANCjExLiDQ3tX9

-wcvI9LjJYnVnoaMNCg0KDQoNCkZveG1haWwgNi41INX9yr2w5rbUIDYuMNX9yr2w5iC1xNb30qq4

-xL34DQog1Pa80yLTyrz+tbWwuCK5psTcDQoNCtDC1Pa1xNPKvP61tbC4uabE3KOsv8nS1MjDxPq/

-7MvZseO93bXY1dK1vcT6z+vSqrXE0MXPoqGjIA0KINans9ZJTUFQ1cq7p7ncwO0NCg0KtNNGb3ht

-YWlsIDYuNSBCZXRhMiC/qsq8o6xGb3htYWlsIMirw+bWp7PWSU1BUNXKu6e1xLncwO2hoyAgDQog

-zOG5qbHjvd21xMvRy/fOxLz+vNANCg0Ky9HL987EvP680LKiw7vT0NXm1f205rSiyM66zrXn19PT

-yrz+o6zL/MrH08PAtM/Uyr7Su8Dgt/u6z8zYtqjM9bz+tcTTyrz+tcTK0828o6zL/L2rvODK08v5

-09DOxLz+vNCjrMvRy/fOxCC8/rzQu+HKvNbVsaOz1tfu0MLXtMysoaMgDQog1Pa8087EvP7W0Neq

-1b65psTcDQoNCs7EvP7W0Neq1b6w79b6xPrU2rK7zay158TUvOTXqtLGzsS8/qOs0tTBtL3T0M7K

-vc/yyM7S4tPKz+S3osvNMUe1xLOstPO4vbz+oaMgDQog1Pa807i9vP653MDtxvcgDQoNCrXju/fW

-97LLtaW1xKGwuaS+36GxtcShsLi9vP653MDtobG/ydLUtPK/qri9vP653MDtxve1xLbUu7C/8qOs

-08O7p7/J0tS3vbHjtcS53MDtw7+49tXLu6e1xLi9vP6hoyANCiDQwtT2ttSxvrXY08q8/sno1sPM

-4dDRtcS5psTcIA0KDQrE+r/J0tS21NDo0qq52NeitcShorT9sOy1xNPKvP7J6NbDzOHQ0aGjzOHQ

-0bW9wLS1xMqxuvKjrNTazOHQ0bSwv9rW0KOsxNy/7MvZtPK/qs/g06a1xNPKvP6hoyANCtDC1PbX

-q9C0u+HS6cfrx/O5psTcIA0KDQrE+r/J0tS63Le9seO12Ner0LS74dLpx+vH86GjvObI3U9VVExP

-T0u1xLvh0unH68fzo6yyotans9azrM7Esb7E2sjdtcS74dLpx+vH86GjIA0K0MLU9iK2wMGit6LL

-zSK5psTcIA0KDQrI57n7ssnTw6GwtsDBoreiy82hsbXEt73Kvb340NC3osvN08q8/sqxo6zDv7j2

-ytW8/sjL1MS2wdPKvP7Ksbvhv7S1vdXit+LTyrz+ysfOqNK7t6LLzbj419S8urXEoaMgDQq4/Lbg

-0MLM5dHptci0/cT6o6HU2bTOuNDQu8T6tcTKudPDo6ENCg0KRm94bWFpbCC/qrei1+kgDQoyMDA5

-xOo21MINCg==

-

---=====003_Dragon172714510278_=====

-Content-Type: text/html;

-	charset="gb2312"

-Content-Transfer-Encoding: base64

-

-PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv

-L0VOIj4NCjxIVE1MPjxIRUFEPjxUSVRMRT67ttOtyrnTw2ZveG1haWw8L1RJVExFPg0KPFNUWUxF

-IHR5cGU9dGV4dC9jc3M+QGltcG9ydCB1cmwoIEM6XERvY3VtZW50cyBhbmQgU2V0dGluZ3NcT3du

-ZXJcTG9jYWwgU2V0dGluZ3NcVGVtcG9yYXJ5IEludGVybmV0IEZpbGVzXHNjcm9sbGJhci5jc3Mg

-KTsNCjwvU1RZTEU+DQoNCjxTVFlMRSB0eXBlPXRleHQvY3NzPkBpbXBvcnQgdXJsKCBDOlxEb2N1

-bWVudHMgYW5kIFNldHRpbmdzXE93bmVyXExvY2FsIFNldHRpbmdzXFRlbXBvcmFyeSBJbnRlcm5l

-dCBGaWxlc1xzY3JvbGxiYXIuY3NzICk7DQo8L1NUWUxFPg0KDQo8TUVUQSBodHRwLWVxdWl2PUNv

-bnRlbnQtVHlwZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9R0IyMzEyIj4NCjxTVFlMRSB0

-eXBlPXRleHQvY3NzPkJPRFkgew0KCVBBRERJTkctUklHSFQ6IDBweDsgUEFERElORy1MRUZUOiAw

-cHg7IFBBRERJTkctQk9UVE9NOiAwcHg7IE1BUkdJTjogMHB4OyBGT05UOiAxMnB4IFZlcmRhbmE7

-IFBBRERJTkctVE9QOiAwcHgNCn0NCiNjbnQgew0KCVBBRERJTkctUklHSFQ6IDBweDsgUEFERElO

-Ry1MRUZUOiAwcHg7IFBBRERJTkctQk9UVE9NOiAyMHB4OyBXSURUSDogNzUwcHg7IExJTkUtSEVJ

-R0hUOiAyNXB4OyBQQURESU5HLVRPUDogMjBweDsgVEVYVC1BTElHTjogbGVmdA0KfQ0KLnN1YmNu

-dCB7DQoJTUFSR0lOLUJPVFRPTTogMjVweA0KfQ0KSDEgew0KCUZPTlQtU0laRTogMTRweDsgTUFS

-R0lOOiAxNXB4IDVweCAzNXB4IDIwcHgNCn0NCkgyIHsNCglGT05ULVNJWkU6IDE0cHg7IFBBRERJ

-TkctQk9UVE9NOiA1cHg7IE1BUkdJTjogMTVweCAwcHggMTBweDsgQ09MT1I6ICMwMzk7IEJPUkRF

-Ui1CT1RUT006ICNhYmJjZGQgMXB4IHNvbGlkDQp9DQpIMiBTUEFOIHsNCglQQURESU5HLVJJR0hU

-OiAxMHB4OyBQQURESU5HLUxFRlQ6IDEwcHg7IEJBQ0tHUk9VTkQ6ICNlOGVkZjY7IFBBRERJTkct

-Qk9UVE9NOiA1cHg7IFBBRERJTkctVE9QOiA1cHgNCn0NCkgzIHsNCglQQURESU5HLVJJR0hUOiAw

-cHg7IFBBRERJTkctTEVGVDogNTBweDsgRk9OVC1TSVpFOiAxNHB4OyBQQURESU5HLUJPVFRPTTog

-MHB4OyBNQVJHSU46IDBweDsgQ09MT1I6ICMzMzM7IFBBRERJTkctVE9QOiA1cHgNCn0NCkg0IHsN

-CglQQURESU5HLVJJR0hUOiAwcHg7IFBBRERJTkctTEVGVDogMjBweDsgRk9OVC1TSVpFOiAxMnB4

-OyBQQURESU5HLUJPVFRPTTogMHB4OyBNQVJHSU46IDBweDsgQ09MT1I6ICMzMzM7IFBBRERJTkct

-VE9QOiAwcHgNCn0NClVMIHsNCglQQURESU5HLUxFRlQ6IDIwcHg7IE1BUkdJTjogMHB4DQp9DQpM

-SSB7DQoJTUFSR0lOLUxFRlQ6IDUwcHg7IENPTE9SOiAjNDQ0OyBMSVNULVNUWUxFLVRZUEU6IGRl

-Y2ltYWwNCn0NCiNjbnQgUCB7DQoJUEFERElORy1SSUdIVDogNXB4OyBQQURESU5HLUxFRlQ6IDVw

-eDsgUEFERElORy1CT1RUT006IDVweDsgTUFSR0lOOiAwcHggNXB4IDBweCA0NXB4OyBQQURESU5H

-LVRPUDogNXB4DQp9DQpCIHsNCglDT0xPUjogIzAzOQ0KfQ0KLnNpZ24gew0KCUZPTlQtV0VJR0hU

-OiBib2xkZXI7IE1BUkdJTjogMzBweCAzMHB4IDE1cHggNTBweA0KfQ0KLnNpZ24gQiB7DQoJRk9O

-VC1TSVpFOiAxNHB4DQp9DQojZm9vdGVyIHsNCglCT1JERVItVE9QOiAjYzlkY2Y4IDNweCBzb2xp

-ZDsgQkFDS0dST1VORDogI2RkZThmODsgT1ZFUkZMT1c6IGhpZGRlbjsgV0lEVEg6IDc1MHB4OyBI

-RUlHSFQ6IDI1cHgNCn0NCi50MSB7DQoJRk9OVC1TSVpFOiAxMnB4OyBMSU5FLUhFSUdIVDogMjBw

-eA0KfQ0KLnQxIEIgew0KCUZPTlQtU0laRTogMTRweDsgQ09MT1I6ICMzMzMNCn0NCkJMT0NLUVVP

-VEUgew0KCU1BUkdJTi1UT1A6IDBweDsgTUFSR0lOLUJPVFRPTTogMHB4OyBNQVJHSU4tTEVGVDog

-MmVtDQp9DQpPTCB7DQoJTUFSR0lOLVRPUDogMHB4OyBNQVJHSU4tQk9UVE9NOiAwcHgNCn0NCjwv

-U1RZTEU+DQoNCjxNRVRBIGNvbnRlbnQ9Ik1TSFRNTCA2LjAwLjI5MDAuNTUxMiIgbmFtZT1HRU5F

-UkFUT1I+PC9IRUFEPg0KPEJPRFk+DQo8Q0VOVEVSPjxJTUcgc3JjPSJjaWQ6X18wQEZveG1haWwu

-bmV0Ij4gDQo8RElWIGlkPWNudD4NCjxIMiBjbGFzcz1zdWJjbnQ+PFNQQU4+PElNRyBoZWlnaHQ9

-MTEgc3JjPSJjaWQ6X18xQEZveG1haWwubmV0IiANCndpZHRoPTE5PkZveG1haWwmbmJzcDs2LjUm

-bmJzcDvV/cq9sOYmbmJzcDu1xNfu0MK4xL34IDwvU1BBTj48L0gyPg0KPERJViBjbGFzcz1zdWJj

-bnQ+DQo8VEFCTEUgd2lkdGg9IjEwMCUiPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgd2lk

-dGg9NDU+PC9URD4NCiAgICA8VEQgY2xhc3M9dDE+PEI+0MLU9rT9sOzKws/uuabE3CZuYnNwOzwv

-Qj48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFA+t72x49PDu6exuM38oaLH4cvJudzA7bj3

-uPbKws/uo6yyor/JttTW2NKqysLP7sno1sPM4dDRoaMgPC9QPjwvRElWPg0KPERJViBjbGFzcz1z

-dWJjbnQ+DQo8VEFCTEUgd2lkdGg9IjEwMCUiPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQg

-d2lkdGg9NDU+PC9URD4NCiAgICA8VEQgY2xhc3M9dDE+PEI+0MLU9sP30MXGrLmmxNwmbmJzcDs8

-L0I+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxQPszhuam24NbWwODQzbrNt+e48bXEw/fQ

-xcaso6y3vbHj08O7p7j4x9fF87rD09HWwr3ayNXOyrryoaMgPC9QPjwvRElWPg0KPERJViBjbGFz

-cz1zdWJjbnQ+DQo8VEFCTEUgd2lkdGg9IjEwMCUiPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8

-VEQgd2lkdGg9NDU+PC9URD4NCiAgICA8VEQgY2xhc3M9dDE+PEI+0MLU9ru7t/S5psTcJm5ic3A7

-PC9CPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8UD7M4bmptuDW1sakt/TF5Mmrt72wuLrN

-tdfOxqOssqLH0tans9bTw7un19S2qNLlxqS39NHVyauhoyA8L1A+PC9ESVY+DQo8RElWIGNsYXNz

-PXN1YmNudD4NCjxUQUJMRSB3aWR0aD0iMTAwJSI+DQogIDxUQk9EWT4NCiAgPFRSPg0KICAgIDxU

-RCB3aWR0aD00NT48L1REPg0KICAgIDxURCBjbGFzcz10MT4NCiAgICAgIDxESVY+PEI+yKvOxMvR

-y/e4/M7Itqihorj817zItyA8L0I+PC9ESVY+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxQ

-PsirzsTL0cv3tcTL99L9vajBosvZtsi087TzzOHJ/aOs1bzTw9fK1LTD98/UvbW1zaOsy9HL97j8

-zsi2qKGiuPzXvMi3oaMgPC9QPjwvRElWPg0KPERJViBjbGFzcz1zdWJjbnQ+DQo8VEFCTEUgd2lk

-dGg9IjEwMCUiPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgd2lkdGg9NDU+PC9URD4NCiAg

-ICA8VEQgY2xhc3M9dDE+DQogICAgICA8RElWPjxCPsj0uMm4xL34PC9CPjwvRElWPjwvVEQ+PC9U

-Uj48L1RCT0RZPjwvVEFCTEU+DQo8UD4xLiZuYnNwO9PFu6/By0ZveG1haWzG9Lavus252LHVy9m2

-yKO7IDxCUj4yLiC1pbj2sb612NPKvP680LTmtKLI3cG/tNMyR8Cp1bm1vTRHo7sgPEJSPjMuIA0K

-vNPHv8HLVmlzdGHPtc2ztcTK/b7dvObI3dDUo7sgPEJSPjQuILzTx7/By0ZveG1haWzK/b7dtqrK

-p7XEt8DT+aO7IDxCUj41LiDTxbuvwcvQwr2o1cu6xbXE19S2r8no1sO5psTco7sgPEJSPjYuIA0K

-08W7r8HLtPLTobmmxNyjuyA8QlI+Ny4g08W7r8HLsaO05rTzuL28/rXEy9m2yKO7IDxCUj44LiDT

-xbuvtsDBoreiy83Tyrz+uabE3KO7IDxCUj45LiDQ3rjEwcu49rHw08q8/rP2z9bC0sLrtcTOyszi

-o7sgPEJSPjEwLiANCtDeuMTBy7j2sfDH6b/2z8LTyrz+ytXIobrzs/bP1tPKvP62qsqntcTOyszi

-o7sgPEJSPjExLiDQ3tX9wcvI9LjJYnVnoaM8L1A+PEJSPjxCUj4NCjxIMiBjbGFzcz1zdWJjbnQ+

-PFNQQU4+PElNRyBoZWlnaHQ9MTEgc3JjPSJjaWQ6X18xQEZveG1haWwubmV0IiB3aWR0aD0xOT5G

-b3htYWlsIA0KNi41Jm5ic3A71f3KvbDmttQgNi4w1f3KvbDmJm5ic3A7tcTW99KquMS9+DwvU1BB

-Tj48L0gyPg0KPERJViBjbGFzcz1zdWJjbnQ+DQo8VEFCTEUgd2lkdGg9IjEwMCUiPg0KICA8VEJP

-RFk+DQogIDxUUj4NCiAgICA8VEQgd2lkdGg9NDU+Jm5ic3A7PC9URD4NCiAgICA8VEQgY2xhc3M9

-dDE+PEI+1Pa80yLTyrz+tbWwuCK5psTcPC9CPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8

-UD7QwtT2tcTTyrz+tbWwuLmmxNyjrL/J0tTIw8T6v+zL2bHjvd212NXStb3E+s/r0qq1xNDFz6Kh

-oyA8L1A+PC9ESVY+DQo8RElWIGNsYXNzPXN1YmNudD4NCjxUQUJMRSB3aWR0aD0iMTAwJSI+DQog

-IDxUQk9EWT4NCiAgPFRSPg0KICAgIDxURCB3aWR0aD00NT4mbmJzcDs8L1REPg0KICAgIDxURCBj

-bGFzcz10MT48Qj7Wp7PWSU1BUNXKu6e53MDtPC9CPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+

-DQo8UD6000ZveG1haWwmbmJzcDs2LjUmbmJzcDtCZXRhMiZuYnNwO7+qyryjrEZveG1haWwmbmJz

-cDvIq8Pm1qez1klNQVDVyruntcS53MDtoaMmbmJzcDsgDQo8L1A+PC9ESVY+DQo8RElWIGNsYXNz

-PXN1YmNudD4NCjxUQUJMRSB3aWR0aD0iMTAwJSI+DQogIDxUQk9EWT4NCiAgPFRSPg0KICAgIDxU

-RCB3aWR0aD00NT4mbmJzcDs8L1REPg0KICAgIDxURCBjbGFzcz10MT48Qj7M4bmpseO93bXEy9HL

-987EvP680DwvQj48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFA+y9HL987EvP680LKiw7vT

-0NXm1f205rSiyM66zrXn19PTyrz+o6zL/MrH08PAtM/Uyr7Su8Dgt/u6z8zYtqjM9bz+tcTTyrz+

-tcTK0828o6zL/L2rvODK08v509DOxLz+vNCjrMvRy/fOxCC8/rzQu+HKvNbVsaOz1tfu0MLXtMys

-oaMgPC9QPjwvRElWPg0KPERJViBjbGFzcz1zdWJjbnQ+DQo8VEFCTEUgd2lkdGg9IjEwMCUiPg0K

-ICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgd2lkdGg9NDU+Jm5ic3A7PC9URD4NCiAgICA8VEQg

-Y2xhc3M9dDE+PEI+1Pa8087EvP7W0Neq1b65psTcPC9CPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFC

-TEU+DQo8UD7OxLz+1tDXqtW+sO/W+sT61Nqyu82stefE1Lzk16rSxs7EvP6jrNLUwbS909DOyr3P

-8sjO0uLTys/kt6LLzTFHtcSzrLTzuL28/qGjIDwvUD48L0RJVj4NCjxESVYgY2xhc3M9c3ViY250

-Pg0KPFRBQkxFIHdpZHRoPSIxMDAlIj4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHdpZHRo

-PTQ1PiZuYnNwOzwvVEQ+DQogICAgPFREIGNsYXNzPXQxPjxCPtT2vNO4vbz+udzA7cb3IDwvQj48

-L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFA+teO799b3ssu1pbXEobC5pL7fobG1xKGwuL28

-/rncwO2hsb/J0tS08r+quL28/rncwO3G97XEttS7sL/yo6zTw7unv8nS1Le9seO1xLncwO3Dv7j2

-1cu7p7XEuL28/qGjIDwvUD48L0RJVj4NCjxESVYgY2xhc3M9c3ViY250Pg0KPFRBQkxFIHdpZHRo

-PSIxMDAlIj4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHdpZHRoPTQ1PiZuYnNwOzwvVEQ+

-DQogICAgPFREIGNsYXNzPXQxPjxCPtDC1Pa21LG+tdjTyrz+yejWw8zh0NG1xLmmxNwgPC9CPjwv

-VEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8UD7E+r/J0tS21NDo0qq52NeitcShorT9sOy1xNPK

-vP7J6NbDzOHQ0aGjzOHQ0bW9wLS1xMqxuvKjrNTazOHQ0bSwv9rW0KOsxNy/7MvZtPK/qs/g06a1

-xNPKvP6hoyA8L1A+PC9ESVY+DQo8RElWIGNsYXNzPXN1YmNudD4NCjxUQUJMRSB3aWR0aD0iMTAw

-JSI+DQogIDxUQk9EWT4NCiAgPFRSPg0KICAgIDxURCB3aWR0aD00NT48L1REPg0KICAgIDxURCBj

-bGFzcz10MT48Qj7QwtT216vQtLvh0unH68fzuabE3CA8L0I+PC9URD48L1RSPjwvVEJPRFk+PC9U

-QUJMRT4NCjxQPsT6v8nS1Lrct72x47XY16vQtLvh0unH68fzoaO85sjdT1VUTE9PS7XEu+HS6cfr

-x/OjrLKi1qez1rOszsSxvsTayN21xLvh0unH68fzoaMgPC9QPjwvRElWPg0KPERJViBjbGFzcz1z

-dWJjbnQ+DQo8VEFCTEUgd2lkdGg9IjEwMCUiPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQg

-d2lkdGg9NDU+PC9URD4NCiAgICA8VEQgY2xhc3M9dDE+PEI+0MLU9iK2wMGit6LLzSK5psTcIDwv

-Qj48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFA+yOe5+7LJ08OhsLbAwaK3osvNobG1xLe9

-yr29+NDQt6LLzdPKvP7KsaOsw7+49srVvP7Iy9TEtsHTyrz+yrG74b+0tb3V4rfi08q8/srHzqjS

-u7eiy824+NfUvLq1xKGjIDwvUD48L0RJVj48L0RJVj4NCjxESVYgY2xhc3M9c3ViY250Pg0KPFA+

-PEI+uPy24NDCzOXR6bXItP3E+qOh1Nm0zrjQ0LvE+rXEyrnTw6OhPC9CPjxCUj48QlI+Rm94bWFp

-bCC/qrei1+kgPEJSPjIwMDnE6jbUwjwvUD48L0RJVj48L0RJVj4NCjxESVY+PC9ESVY+DQo8RElW

-IGlkPWZvb3Rlcj48L0RJVj4NCjxESVY+PC9ESVY+PC9DRU5URVI+PC9CT0RZPjwvSFRNTD4NCg==

-

---=====003_Dragon172714510278_=====--

-

---=====002_Dragon172714510278_=====

-Content-Type: image/jpeg;

-	name="banner(06-26-10-58-52).jpg"

-Content-Transfer-Encoding: base64

-Content-ID: <__0@Foxmail.net>

-

-/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4AJkFkb2JlAGTAAAAAAQMA

-FQQDBgoNAAAUGgAAJRsAADuoAABYaf/bAIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoI

-CQkJCQgKCgwMDAwMCgwMDQ0MDBERERERFBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQUFBQU

-FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8IAEQgAoALuAwERAAIR

-AQMRAf/EAPEAAQACAwEBAQAAAAAAAAAAAAABAgMEBgUHCAEBAQEBAQEBAAAAAAAAAAAAAAECAwQF

-BhAAAQQBAwMEAQQCAwEAAAAAAgABAwQREhMFECAhMGAUBjFAUEEicBUyQiMWEQACAQIDBQMHCAcI

-AwEBAAABAgMAESExEkGRMhMEUWEiECBxgUIjFDBgobHB0VIF8GKCkjOTNFDh8XKi0kMkQFNj4kQS

-AAIBAwMDBQEAAAAAAAAAAAARARAhMTBgkPBxgSBAAhIyIhMBAAIBAgQFBAMBAQEAAAAAAQARITFh

-EEFRcSDwgZHxMKGxwVBg0eFAcP/aAAwDAQACEQMRAAAB+39+QAAAAAAAAAAAAAAAAAAAAAAhIIqC

-CCtkEFahKkVUiypBWypFVSpFVIsqVqEqRUEFotLeXJm5JbykpUWadXTW6ZwbwAO38PrAAAAAAAAA

-AAAAAAAAAAAAAgJBFQQVSKggrZBWoIStVIqqQVqqRVSErUFahJltLeLS2lx51rZuNdlNszWRZhrV

-smos0O3OlyB23i9QAAAAAAAAAAAAAAAAAAAAAEEEEWQQQRUJUioKpFVIK2QVIqqRVSCtgtm5Jbyh

-LlzdXOuV3NfpnYSDTXUxfb566+zDZFRZSzDrOh35wg7Tx+oAAAAAAAAAAAAAAAAAAAAAQggggioI

-SCKgqRZBUioSpFVIStQTLklvm3ipUyTWfFtL4Vcx359ZL0Hn6bWdQmnqeJ358dvPl8On0Kt1KWY9

-Stmj0xq9eY7HyekAAAAAAAAAAAAAAAAAAAAACAQkEVBBBCRUFSLIKkVBVC3lyZt5ZihSpl2MXPnV

-S0vn2cJ6eXbc9e5x6TGMgVi1PO6Y4frnx/P0+r2UspZi1Mdnmd+WPWev8voAAAAAAAAAAAAAAAAA

-AAAAAggEEJFQQQRZBUgioKpFbPPebGq2UKFVz5u1jWSXCZDYzcZ8z7c/c656nz9MuNYyxYsLNXU8

-Dtj5gfROWui1KWY9ZwamDWfO7c+s8/YAct8/9Fodufk/c/MwVPqPzPSsAAAAS8l6ueGzs/J1rnfO

-eP7np68u118uz28nM+L7/p68ux08+16fCAAAAAAIIBBBFQkEEEVBCVIqCC+dXzpLlzdrGs+bEYNM

-su1lWNZfIs4L1cfoPPXq8t1ltFi5YVr6njdM8d25+N5uv1jecdmPUxWYdZ1d597GwBbGvnvv4aep

-2nh7/O/p+b3fN0zS856+O/y3pdM+95eup0z4vo5/R/k+vmPZx8rtjzeuPP7Y+7/D9vK/P/Q8r4/u

-9L6fjdP7vg0z0+ffL/XdD6fke36/k+j38YAAAAAAghBBBBFQQQkEVBBBCVqZra5dPQ47tLjMOmeN

-rFrGvWGIOe1OX9XL6Fx3v89ovFixJNaepq6zzvo5/LfN1+77zjsx6mO5wamDU9jNAA+T/T4dn4O+

-KzjPdx2833PN0+efU8v0P5Xr+dfV8nS+Xr7vl6/NPr+T0eWvX4dPJ7Y2sXqfN07/AMXXgvkfsfe9

-Px+S8P6Tq/Z+f3Ovlzb48V879V2X0fy3pejwgAAAAACARUEAhIIIqCCCKhKkEGzy7Z8bnLal2+do

-a5hBJJy1nN+rl9C479Dnq8tixJYsebqTrPOejn8h83X77vOPWcdmOzDqYNT1s0ASaNu7IXz9S0uS

-M0a9KkzZYaxakGXNkzGVMPPvgx2ya5zF9Y18d73O128gAAAAAAUIIBCQQRUAqCtkEEEEVl572OfX

-d56z4uBMIWYksSc/Z8/9PL6XjXq8t5ovLKSuSyh52pk1OD78+M8vX7V0xj1MdmLUxWYdT1c0AAAA

-AAAAAAAAAAAAAAAAAKEEAhIIIqCCAVSKgggiku3x60usmbjsvi5M3LlaLljVPifTP0/tz9/j03MX

-KtokGhqTWj0x8Ur6Dy12O847MepisxamHWfWxoCQeRm7FYjdMRhNWX29ZEg0pcteblvVqRcz1uWC

-TXPNzd2tQ9WwXBQFyhcGuudJBoS6pslasmehrRt6kAoeXm7+pijEusWKp6O5s8t5cdMuNVJyiopE

-klo+enNd+f1U9PlvYi8orZpVXU4ztz+W+Tt+i+uKWY7MVmPUxWYdT18aA83tmDi/J29ezyzeJPR1

-OVxr6d15jxvRja5657z9Pc3nQzcJz+dbKejqdfvNa531cug8nXk+e92zn866recZqR6Opgl1Y9Cv

-Elykxns6bedLpNPpm/l66xzWL7WprrZMJuV7+8ZK571c/Z8nXi+W93WdKWF8iOh1L2dN1xkxrPjd

-8a2cawl4Ekkg1z45GL0c/pepv41nysuOzX3nltz4h4+/6Il9LeN/rjHZjsx2YtTDZ7ONASDxpfRs

-oZTSly1WN+wSUPKlym1ZiXFGUzWZwSa5hUZkwrlS5QzAwlTKYjKZSQaJC5UGMy1kTCZKgRFaMZKg

-1ihs2YTbqDb5by42lyZsRJNCQSasfLJeH1Oz7Y6PWcteXm8Jy3o8t9XHPy/V9T3N42+3PHZhrDZj

-1Pd56AAAAAAAAAAAAAAAAAAAAACoBAISCCKggggiyCCCCKgqmxjd86vm58axliQgkAqeQvB5vOZu

-I9au+3n2bPnGNfJ8a35fsFdP15278qWVsw6nQctgAAAAAAAAAAAAAAAAAAAABUAgEJBBFQQQQRZB

-BBBFVIS8uXGs+NYqz41FkgAEgAAVCVPEl+eY18y579WX6edh2519XDX3mlnUefqAAAAAAAAAAAAA

-AAAAAAAAFQCAQkEEVBBBBFkEEEFaghINjG5ltF5YiwFQAAAQggrVK5rN4Llv59z36Mv0I7b3eWO3

-IdZ5u4AAAAAAAAAAAAAAAAAAAAAEAEEECoSCCCCKEFUFaEEF82TNnWKzLmwSCBQgAEAhKVjMRzmb

-wvPp8/56+mdef0X1+cDt/m+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADVKnMp2KyA

-bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//aAAgBAQABBQL2dpdba0stCYFp

-bphYRdDH2fpd1tutDLC0unKMUV2EU1+FNeidDLHIsLCNM2ejsibS/srQS21pZumHdNE6mnigaTkJ

-p3apZmTcSn4hkfGzAtdqBVeWdRSRzAaZsNjoY5b2Npd1tLQPY0ZOmiFllmVy80QjFLcKvRQVoxWk

-GT6UccTqaqDq3x2FWuzVZIJo7Q4WE7dJQ9h7ZLbZYZumVlMJkmgTCIpyTRmSuTBXCJiuTV4GFD4b

-Utaz0IVJGuSpZbi+Q+JY6YTsnbKIdL/v4C2FlZWpeXTQE6aIBWU5pojJMIgjNhHkpymOlAwsDYTv

-0wsLCwjZWQyuVr7EvB2/l0Oj9JB1N28hz1fjrI/aKxR//b1E/wB3rM3DfbWmf0ssyofZOO5K1D9o

-4+xdTkIDDz1KzL80lFNus3lNz9A7HzSUU+6/69idlrWUMZkmgFl4ZalrymhIkzCCck8iuyaYof8A

-2uwDhv47jTtqfmYNdb6pYxc6v00/37NRL7byM9Sp9f5Ua9GDmuOsyv8AZOUv8tzNvk+Lp8ByfIcp

-Qo/aLkV+tzXMcxd5b7LyFPkuVucpxdDguR5jlxL7JykfK2ZDabluTtcfVh+w3ZeD4W/I1b6jBucm

-y+xWNnjPrm/GrfONRkgljnittKdXiuM5Dj7NvmCoKnahu1/17Jh3HYABZTmy1uTtA7ptIs5J5F+e

-nJlgeL8lF6Ez4HR/S6OY/rxaOc6un7/sFljvxcTTOvPRocdB9dgge79okhmOgVbhOK5KCXki4C1X

-/wBfx9R7vNfbSeZ+Fj/1vCcZWNrf1+kB8l9n+PMVuuEHEHBFV4D6xUjgqrn5GebjWiiqX5vk35eR

-q0HschBVaG1Xnj5mwMlmlFs1/wBgEnZNM61EaGuvAs5J5O3l/wDjxDqJ/QP+x/8AW8+A+u/3+wdX

-Tr+e0qdQyT4dvgUUNKmDyVq8r6B0jUqggq1onkq1Zi2o3AKtaJfAor4FFHUqyIqtY2CMI2UkUUq+

-HUQQQxuUEBkcYSN8OohrVwf9hBC+FDJGMetk59/Kx64eLl02oSQv3G+GH8H4bm59ur9Mh3eQ7HX8

-/v7Ph0TOz6C0sTrcWtllZ62Q1xWtVC9VlGQAdN2ZUxZTeFNJhvtF9fV+PehxPY6/ntPlOPjniuV5

-pnv12hnlGvAVmIZvn1Nr/bVO2a1FAUs8NcW5bjXP5MJIeSqGrN+Co0VmOYuss8Fcf9txryPah2T5

-Tj45tQ6tQ6umodTELuhITHo80TF1kvUYTg5Tj7AlcrA9S7WuxjbqGJSRiW5HuFbqBL1JxEZeRqQD

-GYTDHNHKjtRRnDyEE4vdi3ILb2Og+Wb+wxEiHSS0stsVodYNZNbi5ynuhwvJbJRSoZExrUtS1JiZ

-yOVcryQVYuEoHz/K9rr+et2Z4AoSyTRWRs7dLDTyVpD4bkap/wCqKhIzvK8vEUnojN0vWHgesc0l

-Ww1urPVqvHELvIfKVd+1W4+wNrlKscKpV4Pkos6a9uSWzIJGEcVp7XMwtLCQ8kDV2P51j5Bzvckl

-rU2sRkbWX5ITsQAIbVqtBppSiQQ8nPMwERFeVqQooaE5zvdGyw8ZFIADFPBPxQXYpCiGeJ9x59dn

-ZjKaaWMNuNWbcgTSCZhHHcmgrtPZoxU3ilvxvYn4wQikt5ns04AGygfznBF/V/8AmLd80TSjzfEH

-GXFc0LKOXLDIa3jXyEU+U8mluR5aCmNy7Py1ijTocLxFa0M49jrPntPiuNkaOCKFfGh+NLGE0ZUY

-TJ6kDwS0ak7dSbWL8bWJ/gwaSggKIKkAF8CtpkqQSvsRb/WWEZhenVeL4kGJIIpSmp1LBRQQQNHF

-HCEMEFcdI6mEReGCCuI1awG8UbtJVrSntR6upVIDlKpAUsUEUAxQRQDHWrQtJHHKyCOOJumej1YN

-l4YnFoYmlsUqlpQ0KVdSxBMI1a4H0fywvrGMsIvz3zQjK3LfXNwo73JcOdX7PXNBzVEk/L0lP9hp

-RNd+1SSKtwnI8kXwuN4sQ5f/AN4JYrscFhpBTp3Tv7DB/AvgpPCZ9Teg7MSscfDONr6fSkc/p1hk

-30++Sg+jRO9DgON49TwCQcnxzWhliKMqlvQ9KavJFFM0gu/T8LV59gi/l0L6mB9Lv6OVlZWVlZWV

-bgyuT4/faSNxejeOA6nIDIozGYXNO+fYovhzZCWW9HKysrKysp1ai0PyVDcUkbi9S24vR5F2fcaX

-roNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDW

-g1oNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDWg1tmts1tyLbkW3ItuRbci25FtyLakW1ItqVbUq2pV

-tSralW1KtmVDFKtqVaJHZo5WJ45FtyLbkW3ItuRbci25FtyLbkW3KtuRbcq25VtyrblTxzIq8ptL

-UlAuT4mUVJG7PwPD2pY/jzr486+POsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEs

-EsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEs

-EsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEjgcnasv8A5Xivk6XWCWCWC9v/

-AP/aAAgBAgABBQL2y3tTPtvPTCwvHXHs/PbnswnJZ7M+g3sPKz3Z7WTv7Vz3sn9Fk/qFLhRFrL47

-r4zqSDHqFEQs8JMyd8LdWtCWem6taYs/smfRb9PhQAzvKGXeN2WyIjGIk8oMLlC2CjEGjhZxjESe

-UBBbI6WUYMTvE2uQfNh/6qZ/EaeXCF8o/wACLsnkdkBZ/Zs/om9WFvGt1l3Uz+IEWTIH0qVnyZaQ

-rqV9Rm/iYv6wIXyecyTPl1L+Y/DF5fXpTyYTGjfyDeP2HCws/pG9Xz1y689fPbl1l+1xZ1oZaGWh

-k4stDLQ37E/R/SZP6beysLCx3Mn9FkXq57s9+emVnuz0z+gz6eeuVlZ7X7M9zP6P49QUXpCi/Pou

-3jo/rMi7G72btdN0bo/qsSx24X4Tvnoz+yn9PK1MvHTLLX2s/tXCwsLHez+32f22/YP46ZWVlZWV

-lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV

-lZWVlZWf0r9BZZZZWf8AHv8A/9oACAEDAAEFAv8AFuPcWfbOPVf/ABu3qQ03kGxV2h3GW4hP1GJn

-WpujNlypkLbDIw09PhEzbDI42H2JlG/gX8alrd3J3ZC+Uxpid0R+Sd2YXd1rfKJ8LX4F1H+VRDMl

-3S6jp62MNLwuzFYnjkGOq0imieMvYhrC8IEabwz+UH4ZsvIh8MKBvJp/x/1H8KkP9bGSOEdEY1yl

-QV3NHCQvUDAzFqP2sJkK3zTyE6aUmTG7LfNPKb/sTeo/ulvaj/pXTek6b9Y3pv8Ap8e38LHXCx7c

-ys97t7fdvb5e3XWFhY/x7//aAAgBAgIGPwLg5RkyfzqMez7QYHIlR/EvkciVGYMEQRG0VR0+p39C

-rMnbaWdHJnn4/9oACAEDAgY/AuDhjdb+wczEH6jrwZdHNj9R14MxOy7ltPsREyhxIiGJlvkLZb1H

-S59iwts2Ml5Eyxkzz2//2gAIAQEBBj8C+bN/mpiawtWw+Twt6vLar/M/Hy4VjX21bp1v+tsr3kh9

-C1jc+k1hXgY14xcVZ/Ev01rjNx8zcfN7Kxx8h2Ctc3B7Mf31l91Y41gKyrK3ortrXFga7/aXYRSy

-R8O3uPm3+YmPm4CvEawFd9Y+EfTWlc9prnN/DB92O/t+RMiYEVaTCF/DIOw9vzGufNwrHCu3yWGJ

-7BXj8I7BnXhFFjsoRKfFIbeqhhgMB8jp7a1jhbCl1G8kXu39WX0edbzT0rQtI6gFiDbOppPhmCwp

-rPiHaFA3mv6N/wB8UdHRtr9m7i16HTfmxCv7HVZD9r7/AJMsxsoxJ7hSdH08c4ke9iwTTgL42al6

-GKGZneTlh/DpztfPKsKZ3OlFGpmOwCjD0sPUTuMfAq5duLCv6Hqt0f8AvokwywWtbm6cb9mknyfD

-QJN1EmQ5SrY29JFf0PVbo/8AfRB6eaGwvql029GDH+wMPLlvrxG9YYeSy4mveGw7BVlFvJhXpp22

-ILD10PkS3qFOdoxHqqfptkiax6VP9/nA+bnUEUErRzSvfUh0nSg7vTXN/NOubmTuTFzmZ/AmGF77

-b0sEHVh5X4VH+FL0fQusMDyctDpDHT+LHfQ6lfzDWzOEVTFGL11DTMonVtEM2n2rXxFN035yQIhq

-VyFsVYeimX8tC9P0CcUjrqsO/vPZT9J0jK6RaUOpQdT2xyr4p+sVp9Spo5S6dRxNSvJ1CxRxkKCI

-gSSa+DWRJ4hNyuADV4tOyiF/MEgH/qKxkjea50P5ik0pYKseiP7DXW9T1IQyqwhibSLNrzBGWVfm

-PXvHCnw8OmNo4Y4zzJMsVAoznLp0LD/M3hH1+RkHFOwT1Zn6qnlj6YzarJq1BALY2xoR9T0bKzDU

-LOrYeqknj4ZFDC+eNTpB/GdCqXwzo9RJ03M8JVQJEGJ9dJ8T0RUPw+8U5eik6mIEK18GzBH9ggb6

-wHlsguavIfUKsot5MPKKlbtf7B8j35DyMK6dPxBx/oJ+z5TlbIlC+s41CnUQB3jQLjf0n6TU3WQd

-OqTIjaWF73ItRnChTEh0nvbCoOmJuIwXNjtbD7Ki53hLXk0e0Wb+6pPzYx8uEkLcZdnr9NCLBW6U

-eO2Fx+L76SaRr6pTO/qOqum6YNbTeVh/mwH21zDxWedvs+gU3VltTQI8/wC0Bh/qIrn9Q4flhn8e

-1jht9N6g6eFlGi7PoAzOWVdF0Wo+8LdS/rwX6Kjgx/7kvMbt0p+gqSVBjM/0J/efJFEwuFXVj+t/

-hUQuow1HLNqZY/FiI0tS9O+pmVQPDb76QzXHMxGFCVCAp7cDSxL4ggt24mo47WKriO84n+wdQrEV

-ZRc1eQ/sirLgPJh5t6lHZJ9g+RtsX6/I3oqA/hV2P7hH2/KGR+mhZziWMYJ8ljiDmDX9JB/LWtSd

-NCrDIrGoNapYY5HHtOgY1oIBTLTbw29FHR08S6hpayAXB2GtUMEUbZakQKbVrlgikfLU6BjXKZFM

-VtPLt4bDZajyoIo9Qs2hALjsr+kg/lrX9JB/KWhzOnifSNK6kBsBspVkgidUwQMgIUd1BI1CIMkQ

-aQPJ72NJLZa1DV/TQ/yxV4okjPaigGtbRRs/42UE1plRZB2OL1/TQ/yxWqOGNG/EqAH+wrUaAvjt

-rOsPPPop0/GNQ/Z/x+Qv2V3nySnaRpHpNdX1fsxpyx6XP/5+Y96w21qGNZeTPzT3VqHsHWveppXU

-3VhcHzwnbnV/JyFOWJ9JqPmC00/vpP2shu+U+HfqYw/i1XdbKUIFjjnjRgjYmQa80dR7ttLWJFjY

-9lNPjpCSzKLYtHCbFhsscCMcb1LO99ESM7WzsovSwf8AKzaLdl0Z747PCcRtpJ1fXFIxjjMatJqZ

-b3sFB/CalLCZVhNnYwS24Q34cM9vm6X7NTkZIn4m7B+mQNtc8qxJe2p2Ci/rp0+LiGm2JkSxB7Df

-9N1QGNhInUOY43QhluFZs/2TSlS2hxEUfQ1jz2ZV2XGK5nDKpDIsp5S6m0wyMMBfitp+mtKCQG1/

-HFJGN7qPM1zypEl7anYKL+umj+Li8KhtfMTSdV8Ab5i2NL1CMJYmZUVoyGF3cJ9ZrkP1MYezavGt

-lKECxxzxopcawASu2xy+qilxrABK7bHL6vKUuNYAJXbY5fVRAIJXBgNhtf7fIHQ6kYXVhiCD5Qmo

-a2blgZ+PTrt+7j5hjm6qKOQZo7qpHqJqMp1MeuUDTEXXXdtlr51LzpFhWJxEWkIUFigfC/caEnTy

-K1wrMgILLq2NbI0HTqI2Rm5asHUgufZ9PdSRs4Ekl9Ck4tbOwrk6xzra+Xfxacr27K5DTxifAcou

-Ndzlh5hdyFRcWY4AAUrTuImcrpjchX0s2kNpJy2+ihJCwkjOTqbj6KwwOqRQpz90+hjvoowluPww

-yuN6qRUbIs3vbFbwyW8X62m3rvamgjSWSdf+NY2H+p9K2wON8aUr00qxNlK3L0/Q5OOyw8ttorH1

-13eZgxrOsqxU1rjHvUxXvHZXwkp8DH3R7D2eeX3eQuT4vYFc+cX6KA65SfaOwev6vk1axMd/Hb6K

-LPw38BPZXUFZEEfK/M7KUJOnnDUL68zsNsO+nAcSfEzdRDKi3EkYSSVr3U4Dxdl7tnkKEzQxTxjo

-V5ZkaxitFiVGhvF33GzsvXURDo+ngQBpLxWcLpRiWsyJibBLjHG+yghimIQm3w69GsNiGGAcA2s7

-YNfPbnUE0qc6eWJPYLeKRMT4Y5LYE+zbZQKwJNddOHTyqQjgM7DTG2u4cDEIOwAN5VuDyyNmHioM

-cJTfQzC/oJGFRxwN1WmaSzuvwp1nlE4a8b+HbhbAbKMchLwOAF6eQJ4F04r4cM792wYVD0Tvrhif

-+Mb+9MOIW/4lOLY46f8AMF6P3MB1SaedKvMOEch0lMMNvHnsqLpynu4TF7vWngWBmYPf4cXDasLG

-5xvt0kx9Gr6WfqppZI4XLpq1t/yI9l1ZWxwGWaD4LkTQXfnqsK3cixQ8otYWcFQTc+rGjpxax0jv

-pEUN/wDW+NFUcxsfbW1x+8CPooxfGyfGWCzye40GOPEaV0Z+PL2b438OqIchJG5sQ5sgDBNUqDLM

-32jDDbXMjfQ/TOvSBeZH4RK8eAA6YDEaSOz6KkEmMg6bp9Zzx1S9y/UK6uOBjzEghkhS9gZA8pt6

-G0gN3V1H5h0j3iYxx9Ox8KcsEB5MQbEFnuSMlGFSRT6QoCskfNadxe97s6qbYYXvtqb4eRE9xDq5

-iGT25ex1r8wZnXm/ERh5VXSFRkhDNYlraVxxwr4RHdoZImaXVI7MhuAtmJ1DV4tuzDbX5UqSyp8R

-y+baR+H4d2sLk2H+W31V+Yus0v8A0tXww5jYEQrJjj48T7d66qeHwr0a6dbTNEBLpDiyKtn4lwc9

-1u0Am4XrbKOwfBX+3ya1BNiNds9NSHHkjhvjjXPh6lokjF5EHKAKi9/FIpsfSbejOsJ3fo1HKgik

-CXATC50qDfC1jltxwE83Swp0t51hsnLRk5kcekE8qTMkYLke0YiXp5nv0/TWhjTUrW8CMMokJwOd

-/Vtrp4nuA3XdV4hxA/8AYsR3jMV0nWddZHWUx9iqscEutvFkGa5vtULXxHwM/P5/xOr3d9F9NtOu

-9+T4bWz78a64QJDL08si+8diRZoI/ZC2YW/WF6SPUX0ALqfFjbafI0VmEmrwW/DswqwVTJ4T48VD

-DG/qzFdMBJZeoCTqOYqXlwmb/wDnf2rtbV9FdO/XCKVGtPNJOFdFj0bBZLHHvsL4100nSQww9S8f

-VTKJI8g0iFFOmxBAbT3Y0kr9OebykWRShlCnFrA/DTD2swa/L5GiI1WCusdsWiOZ+HW/8w9uNSxr

-08ksTfCxuxSye7nYtxWuLH2QRSSxQqg/7cbNGgUeGdQgOkdg8lqvsNathwNd/wAhbbspup6dcM5Y

-x9YoQ9U3+WX/AHffV1fDfWYNZViDVl31ajqa7/hq1/B7TbAKjPTPq1C5ce21d/yj6+ljYyFi7FfF

-dzc+LPbRMa6SxJY7Tdi31sa+D0/9fRytFzwW02vnlTwyC8cgKuO44Gixea5N8J5gNwek6bSeRGAF

-TU1rKLWOOI7jTLNEJA7iVg2PjUAA7hbzCpv4hY2JB3ilLGYlTdb9RNgbW/H30UJkdCQWV5pXBtsO

-pjhjiMjXIaNTBYDlEDTYZYUjhSZEwV3ZnbbtYntNuy57aC2YEEnmCRxIb9r31HIZnYOymLgnXbX4

-mxCi2k48P6uVDqdI54Ux69ukm9vM0uWAvfwO0Z3oRSwclREhuiqNOlu1bZHvFRgqX5Ruhdmds75s

-STjY49g7BSPIupozdT+noB9IB2Vr6jp45XAsGdAxt66tDGsYtbwALhcnZ6TQjhQRxjJFFh9FaII1

-iQm+lAFF/VRew1kAFtthl9dEgWLG7HtNrfZWjp41iQm+lAFF/VRkSFFkY62cKAS2OPpxNOpQESfx

-Bbiwtj24YVzJYUeS2jWygnSdnoxrVoGq+u9sdVtN/TbDzOdIC7ggqHZmQEZEKTpB7wK59istwWZG

-ZNVstWkjV+1WiFdC3vYfp6h2DCtEK6Fvew/T1DsGFBYYUjAOsBVA8VrXw22wrTKgcdjC+Yt9Rt5L

-RIEHYotkLfULeanT2IjisI9LEMukWwYG+WGdImnwRkFEGCjTlh3bKMwX3rYFv09A3Dso/EQJIbad

-TAardxzpTD08aMmCuFGrszzrRJcpmVuQD3G2Y7jhQkjTQww8HhBAFhcDOwyvl5lj6DWk5ir/ACH6

-3bRm6X3U21fYb7q5UylB+FsUPo/ur3qlT+riPvr+MPXh9dfx131gxb0YfXatHTYXy04nfXO68np+

-nz0njPq++mJkCp/6+KXd99RmFdPSxH3cLY76+M6I2k/5Iu+u8Zj5kdxrWPX8lY0VZQyn2WFxV4w0

-J/8AmcNxvXuusNuwr/fWPWf6T99X6meST0WX76vDCof8ebbzXhGIrUuHULl391EgWYcS0Nq7R20J

-ekOlhxKTeu8Zr8ydO6r/APga19dc6Ie/GY/FWtM/aWg6H00JFNm21qXi2r8x/TVxn/4VxlR6iEeP

-217e+uZHntFXBoG9cwC18/LwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ

-3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1c

-J3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwHdXAd1

-cB3VwHdXAd1cB3VwNurgbdXA26uBt1cDbq4G3VwNurgbdXAd1cDWPdXAd1cB3VwHdXAd1cB3VwHd

-XAd1cB3VwHdXAd1cDbq4G3VwNurgbdXA241/DbcasY2t6KtobdTdTFE2nOQW+muZHntFL1k8T8ps

-Yk0nHv8ARX8J/wB01/Cf901/Cf8AdNZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ

-1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1

-nWdZ1nWdZ1nWdZ1nWdZ1nWdXvWNfE8s56uTf3d/RWdZ1nWfzf//aAAgBAQMBPyH+Yf8Ay0sH5Q6m

-HKILngluh6sq3YnC0LgtrmyrJVj6/wBPNAQ5mIHvKGhLC3B1Zz/mAQ9YJ1Tqs1/7NzSBfQ8TRFh9

-BKpgJMJy5eC5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cvhcvhf/lpdINtA

-80NEcDAFzmNRY2Kc0dsOlse7/IlcAL5B7zl1dpkz+t/m4t0vma+0BSctHT56MEF5/UejOd5uCUhG

-KrE79ErDxuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly/Bf8A4TREFzVA

-t5g0IsvpmcjpvOoEcP7Eblo92Z6i8n+IdBSj0EP+xoQ0aek6ofSdduuEJSgRW4npOizh/K2Yrd1w

-580e0YeIox9eNy5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXL4XL+rS6F

-wTXHeBarhpiXGGfyNOd6RNADeANGegyzIPYhDgZvVNVNLqjyqAFmec0BgjWKl2awWC3CJau4wtZt

-el6Oe0qJGKIAqNRy4XLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLl

-y5cv6PPK5g0xGExgvrJ6EzWP7zlVurHogX9xJkF5BmFVRvzmmgLnMgJ01L7SoqBT0CVuBVwg4DGO

-BX1+xMec135Rn2Pe63uIkSCJUyHMlN9UuXLlw4CZwJuqrpUeNset0hzEnlz9RSxz6IXiNCLQAt8i

-admOvWWaiI5EyIy5cuXLly5cuU6JvTBbMdmzgMlI8uk/0PEwXVppLLeS8MKO9omQsJiLpNGtUrPP

-ges7GARrdjrNzJX3gZxVbALa02NeB6stqCW2FLl+kuXLly5cuXLly5cvhfC5cuXxv6O1JbRwzLnN

-EodcJmLHTlDTJ2RpG6p6ZM15S1hVAQzWf9kZLcxmORd55/EI3SGI14EIcBidJ/sEqwx+pkfiI04o

-dl+JYxhjiJ6CXLly50n9otfbbrwurlET5rAfSi/tRCOUJtot9hKw5DVXKz5DQqN2MHLCuhyCJhZT

-BbSMNY5aMpwejod6jFesQGAD7hOvKP8A2FAqxlBWjm1RCqBQlRoG1wDAmwq3VMoFB95RcPNpybNo

-Iv0GEHU3OspN4KXermcEzvAUGubVZaQKzrIYZ9yyXzlKsveQ1MwA6SwVbip/yesqj+N1QW1rjSdU

-cgQl+yCq4jUDqlLViKlmtZc2FQinNvRZDFdoizjfN1lKNXOGnSXLly5cuXLly5cuXLly5cuXwv6a

-pn3TbE65dXMZFM5NqeYd3gpAbQTWXftFdXCqQXOtPoQ0k5QlQ41L6tXuMoA6Q1tEj9UX0iMY8BnP

-xPtX3QfyRNF5qpcVD1JnIWcOqu8UxZgPirPTeQAXW33Rib7W4BtS+kX03jyFPsBjGrhJrqY9Xm6w

-tNQ11GfqBGIa5q+xUHi+ylSvtIC1Ka5y/uJQ1KlUxl2y3B0wr8ikDhoD7xpA0ui3OiwtkuS2ANNL

-FGCAC3Nnj7nAcqRpeVUZLylY5mnao2djUF1j83D6xKIAMXY7zFdUSzitfeXqRorga0lDI9Ddv6l3

-0Da/3P4Gh1YsgJtbWks1Xse8MYOgQTWM/tFXLxqY7Vf5D3LPRlgIaQ8BmOCP1Q90SAU6WgSv3SIx

-jxK8RuBWavVUgVuuWBBAqBYj1IrnJ5uUA5TCD1qBzNRWvdJYkgyjsckbd/dXtRqPMj9DLWq1LJiD

-GhU5WxRQhYXluRRN5wTnNRknlL9Tz5+pZ2wTlyF6ByIfUNmwLoS7j4RabaDq8KfsgHa+CPJ0v3qJ

-pnnkTplmXg3RN9ngiDDdAT1gV/AvWMBriv8AIEwarYzHliOwq6+JqZm9dzJCXcH3VT9hMBLCHEhi

-Cy0FsDk69vrFh6QL79BY1bjL3H4+6MYx/oRQMuk5NH1nRLRNEHUTqnpAc7O5B+SEggnWBMI1yISH

-ik9Ue1kpBALmMKVhUomDgsBzX2E5j0hJBKzPa2D0M+sJ7HQ6lD2iWdbjGMfoBah2hoK/B6CuT0nN

-qWDVW9wDZjsxM2FI3axOgGAGhKqlKrrOOsXao8dWBWGYRYUTk02RbntRETJYVRcpMTpcCVp0DovP

-Sl8ARWyiWrAvUxfd1MFFalSWatGcMv67io3UGaiJqVpSkNaoCCMHTFi8zOBAHoDwFMJllmXGoxR0

-J5XNqc0j4ssa5poN50u/ARUqVJZq0ZwwrVyTJDzHJHKzrCsT6ATSNUZMwvcyk0Ffg9BXJ6SwDWEw

-VEnRtXZggGsJgqJOjauzxsA1hMFRJ0bV2Yi87y1BR6NB7MqEpAZ1AImo8X/iNyy3Vo01cu54KCk5

-kiywOjcA9Vo+mmVz1XWUIDP6Yln9LMDpQZ2AnmFbQSkSQVgRyvVMDLGFW7GWjLUfQFGtussXLh8i

-Dg0u3bZWONMFSCzqBVdAmsxAfuCTm3ktYIkv4zRPTTThrDM9AEdwC9OrcjZVVuYl4aejA+AVOMEs

-KufyKnOQfAVS6OSFWmLYFaLZxF5Lgpkg4TGeDxvZhvfe3NJy+bA6MwBqyShlupOiV2lH/RKdC9yV

-6l7NS1V6TMv0ZRrV1/YhnSzHma+vlBQgMDjssps07CGGsB1exeb1djnG6OXpffqtYYxYx8RbMEN0

-6ak5awxnRzNxbqETcL0N6QFn3AjMUOBM0lFOQC4wLdOpalMVLaL6FGQtvAmmSVVLB6ynPBcULZmo

-rOraqlsbX3g8rYZe3xHSAUUiFHHV+J9KRnzTao2VSxDuCT1LOcY0ppk2sa45QGkDKzscyAairVga

-lCCaUc3ScWjSjmRUS8w02veXxpBrcquKPgULCdKxK/azlKI/aYK2YtfO59E+hVwmVcuBFTSnUpj7

-zplgb3KOlSlLlG6m8alpmB0JFiS5xt94QgnKSDNY3EAQ2sYEZkbCDMBEZeHKxk6lBsLZuQnPTtGk

-wIbdclZCzJF4XL3HkQeBpIFEKDL3EiJ15Qnml6qoMLXrm0axefWKWGvSK5UNkircYhgSmsbytJp3

-aJarKosrDqoz2MJSIv8Am51LneVtNmsAFiwnMhRCFlBRUwWsKPs82WaHQtPd4NSHQLK/1KxYGRp0

-C7azGZrwJI6kdBTlUQlO8Zuo2ga6c6IvtKsLJ2giYKtyOmSeWZozVbLQvwIUmVW3SUnJLm4LdXg1

-AZGQckvfmVBt7wWVyFjL3LC66TGs52pLBVZzXVeAoJyprY5rlx1oDbDAa3wWWmpqW3/UGeZoXWdg

-0UQwfjWicBuqrBkLArQQHdkFddrSgJMITCl1LawR30xHB12OeQc1d9wgWWwHVrlZdzig1xKsOqzM

-gCxavOHfhVuQp7FmL/uesdDli8aVGGqWL8tWNr8nrB2isW/bybxgerI3Sp+3D/IBqXsyhovvKNCX

-zQaDpHIqbC/d6EptXQA1PToQYCsi1iGcwsWLFi8YIlZRaE5LaqnHKo0Xqwo3a5q6GhbU8s4WTYu7

-mUlKpZ0WU6PKEMqRenOAAbBUSdE0FU16LDaPO5iN36cpNMKDCWOrfD8Q0oESpJWEEdxuXwZaWxY5

-GkdmGOUgAJRaVrdwZS/wpYtLlUUViA0VoAXUgpUlsAUK1AWgKqjSQQKQ7CkBieAMADLJt5qqWsVw

-InSjXUssvTNavG331hcmyXTTUazpdTARzgzcrXalCMLVDDguoQUASCmtAQbBcmx9S6DjmAQdQhLD

-NWHGWYQ8qJQBgYtu69ZdkmqO22ihq3FFuFYWLoGcECAVJMrUL0LV3YY+ixTQs9WgdiKLMKwsXQM4

-JiWRHQXQtoV7vWWaruCWD9IZcsShTMUfI3S7CE3Z7K63P7vpjThppPxAdVCC9vCrQOvVlBXYZdeS

-BVBYDuxsFLOpVHoABoAMARsFLOpoegAGgAwBFAXFYrTTmZdMSmC3gHI9eqLZThp2XAOA6dAGwHG3

-XTTgoxaiZRoC8wsijqykczoDosVqCUIJkIK0Dqqx92hdUs0VZmecg7xotWqcRc4sASujZTVW2Hxs

-UOVKUWXmxcyA1OatQVUOCt6K4DSPTgyXn+5ET0F3Iap0YPG5cuXMgxyQFMfPMPTV2xBNj4PyG+Ch

-zmr/AC+yD2H6/wARBmr2t+I8aHop7yvCthqF9n4IfVH/AEbTv7ZZJbQaXQ1t9aS/JSdSlt7nn00I

-G66vsd+jzmRYxNqMWLimb/oVlOk9jHvLI1jHbAp5OkFMMuXLly5cuFU2TVrcb2mMtbdXzXKong8i

-/wAn6xyqzZf1gDrSgvvf7ymGOY/NMT0mlUYBRz0r1fqPwRT4bP3GReQzoA5NRnGqJD0f0zAMd6P+

-cHLGor/QlXdM5qvPD3iO+89L1gy5cuXLly/GAxUT7IbUB7A/fSPww9T/ALK4fIck6MFqjRzJy99D

-8kIi/wBEXZcxPL8oicjkgXdZo1Lly5cuXLl+MBCI6TqvnKFyf2N/zP8AYD/7AVLrBXl0iUwG9z14

-/OJ84nzifOJ84nzifOJ84nzifOJ84nzifOJ84nzifOJ84nzifOJ84nzifOJ84nzifOJ84nzifOJ8

-4nzifOJ84nzifOJ84nzifOJ84nzifOJ84nzifOJ84nzifPJ8+nz6fLp8unyafJp8mnzafMp86nzq

-fKp8qnyKfJJ80nzSfNZ89ny2UKfexq5nLKF4i90wruTDEHN7p8qnyqfKp8qnyqfKp8qnyqfIp8on

-yCfIJ80jGvKL8RTeN8SH3sLGHV6Opxp1n+6HAXgGYPJ49HXtr5w/U8ofqeUP1N57zee83nvN57ze

-e83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN

-57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee8

-3nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57

-zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvM6L7w+dTpAf8Auhcl1tdbVAShVN57

-zee83nv/AF//2gAIAQIDAT8h/p1y5cuX4Tgv6fcuXwvguXLl+Mf6XcvjfBcGynBZKI8Z4B/o98F+

-FfEprwF8RYRrErxL+kl+BcIKz4y4M1mniH+gL418b4mKPjIofEPisVEq8cNR7P8APpsvCvvLCThQ

-uFtCX6efeJyRxKXRL9PPvHWn8AkrhZ4FS/AcD9EmpD6dYxswTG4jpCrY5ytT9zGF605kVLzLjqYn

-IZ3lEBfrBOVi9Zp5veUBQd2CBprD1eXquJRTq8KKSxkLiaiUrgXCMXU1wlG/4Bl1FXjU2eIhpH6B

-xc/qavrMqjVsHibFj49YHPVLGu0KtrYa/ltMQdKgq30mC7E9co8+kpoc5ctm2GIJnoi09P3wUIgo

-Vw4A0l0VfwJIzhNn0CGkfp+f1BHN9+FTce8tc33hZopKirm+8VdVfWCminrKjbqr6zde83XvBTRf

-eFmi+/HVOGBFGI4YP8GYG+Ff+KJof0c8Bln0UqgifQEfKH1Vy5cuX4ly5SXxL8Fykv6i/BcpLgy+

-N+JcHgOAN8GOGDjctLmJiVKl2IkqV4Qmiav0xbCXjgSsRMSpyhxNymjwMCMOJfp4RxJz8LOfA5hC

-usYfRFUeHKVxHwDpDJ9OzWMVKlSoQpwA+qUeCpUrw1K4VKleKpXCvrVK+nXGpRKleBwwfSqDIJwY

-lUeiayv6UMYdPp14QqVE8HV8Ff0J4VHr/wCGong68CV/RWEr/wAKQeC/FSUlJSUlJSUlJSUlJSUl

-JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlIiUlkslk

-slkslkslkslkslkslkslkslksg4Bqzelesr1/wDnv//aAAgBAwMBPyH+nVKlSpXjT+n1KlcK4KlS

-voP9LqVxqVKly2ZmZb9An9HqVK8FSuKwivAk0mviH9DqV4aleFYHjSaeNP6AeKvGsD6L4z4so1Mn

-tymxK9Jbj6YjlFwZrg9Rqz1Qhf8AJ5Fg9A7L/YQLmVwbv/GeRYEv0l/4fwBxqV9Fh9F+raORXkwC

-6zEEAu44iXUI8hEKEsF8N0Ee8UawV1mJekGrpwzXdO9Fov4gZn6MZ3yiVpGUjXPRl9mrZlg/wBA+

-mx1h9J+qs1KcyUCwhzOUlM0LBHo4TlRD+WDN9JzEzogonrKruhru4ULq8/uFuHGJUOHNlkKyxp6J

-gCLe4uXj/Akv6brD6T9X0446Ex0OFz043wx0JjoT08GqEm792H0j6wKiDuzNqpu/dglKfV/gx9Qf

-S5x/oxDjf0Eh9FYY/UqVK4VKleGuFSpUqV4alSvr1KlSpXGvDXCpUqVE4HA+kIPjuazT/wAAS+D4

-GjwEuEeI54nhfEcXgI8H6a4R4PAh9Ri5fguawKjE+pfgvhfhuXxv+HuXwvwn0riGWmZmWhw3xT+j

-kPq3L4l8L/pQf+UfEX/WR8GrjTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZ

-TKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZUplSpUplSmVKZTKZTKZTKZTKZ

-TwHg3lLS0t/89//aAAwDAQACEQMRAAAQkkkkkkkkkkkkkkkkkkkkkkgbJSvUfGOR4/GOh4SeWOeO

-cttkkkkkkkkkkkkkkkkkkkkkkmbIXqVcDOFU5jqhW+s8KTHEltJJJJJJJJJJJJJJJJJJJJJJB2t6

-B9HNVeHOVPbqy0/lt4B4tAAAAAAAAAAAAAAAAAAAAAApP0n4GpwPGdGGf8WSHlxfC0Otkkkkkkkk

-kkkkkkkkkkkkkkkH8kzKxPA4li0j2xKB6gwI2GVJJJJpJJJJJJJJJJJJJJJJJIiTtyJ/A9Kpe7Gq

-rnWMB22mNeJJs74JJJJJjWmzmpJJJJJJJiSl/wAA/QnMlHYXnW7+2YqppiwABeS4QcBTvQ9lf6AA

-AAAAAKW9JP7EnRHEDeX7CK2/I8xg3P8A/ldQ3M1VZnvNVjf/AP8A/wD/APfQkDbMSBv0nOiwE4Jk

-VCVV1r622cIK1UjxuW1tfoe222222gED/tGVtyCqD82WpCqerpz9dy2222222222222222222222

-gkD/ALZl7UhEAej3/WGElZ5thpds2yUCNmtGW9s69f0v325kxRLB7QTGBOOV3QyWSUdqE3S/fdsE

-dUYNqtX8/oynsDQYIvstOhzPVN+JkNdINksm9Gr6ppNyts3CfotnzrNjtzIZfW6efm7O+O7emFQS

-I6hsIJMKHFp1fbsNtttttttttttttttttttttpBA/wC2bW1IDwZSD9/+H/QK0CAnbbbbbbbbbbbb

-bbbbbbbbbaQQP+2bW1ITn/om21JJIH406UTbbbbbbbbbbbbbbbbbbbbbaQQP+2bWlKT+JztiSRBf

-/SOk6222222222222222222222221JbA3/QDukLEW9v0SBZOpWHv8AAAAAAAAAAAAAAAAAAAAAAA

-AAAAAAAAAAAAAAAAAAAASOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2gAI

-AQEDAT8Q/jmMWMYxjGPAxjGMYxjGMYxjGMYxnIFzoo3gf5QzVrBl13tZrMHnohmvcdPadCKdYDch

-ELmbexA7hrFVGHR4bly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cUikWLF

-ikWLFixYsWLFixYsWMWMWMYxjmakRWWCajlDCA9IfYLD7wdbpyMHuzRy86LL10FFypBV8y/zKIY8

-z9ly+k7YyKA1cvadJj2CLu5c4qEsY6vVlbfyIAAAAAAAuMMLGFixYsWLFixYsWLFixYsWLFiwxgs

-zqU3g+Y9CaMX1YoaYiNhbEVmj0Mso6JtbDt1l0Juie3+EsW3qVB3cvskNst1R/KgDKt1fipYsTko

-fildXlNBva/s+kvQJtK6tL0+CJiOo7gNRImh1PVYIHIl8LLacoK1oyMRIUmE/jwAAAAAAB4DCxYv

-AsWLFixYsWLFixYsWLHM19rryjdHYZmvlurKxkdidSJWsnIJn3cznG7mCY+A8tT2gWQJV+h2hsmL

-ylnJ82/QaIgMVQ9IKBY5PwEMrsQgRQ3RDC2z5BWn2jYZ6lMvxzFHI5JzImq6yLmeeYe5Oe0D2C6/

-9eAOr115y7Xj+RAAAAAAAAwxfEWLFixYsWLFixYsH03YXM6AxnlXQxNDzdyxkjVg8sxikr0HuweY

-ef8AtAqY9T7w5c+mce01NfJlfolW7yrZ6b3lAFZmjKWcwcbs9JnYer9EwjB0CddE6TniIHJBXENs

-Q2Vog09uTzIusfSLK2bf9MR5zTiyKyI3o6RijZ/HAAAAAAADwHiGGGGGFixYsWLFixJG+gdAJY0A

-dAlHOC532iOhMAPSLmdTcz7Jmcfy1ACsDoYiK62gW+01ku8jfQSkBOupd1zEQpiuOcMN1z+gCm8f

-wGDoCsfiCOJyiWygTYh0zYlrK1/EJouynzasQaT7NRV6gj2JaqBHVQW55sPNHi9subQ1BLlWqq8I

-VwkM7NycJesXHZSZCOvhI+YSWSDVsS9XrUt3q0CwcHSF2MqwBsLgCxEwiP0gAmg/eiCegQ2psdWg

-xVSlmpWQJi5uraQOt0RexZR1AauYyd5FWOwRBgREzLALDQa8CLroFt5PsAa4uBAIc1YANVjV/wBh

-wjegThVF6cCKtWaroZK3Zoxr9YABfAseAwwsWMLFixYsWLFglJRqakb/ANJEarPKUaz7SVCukxBG

-ibK+8IKod5lWuTfvKDeXn1jqtBNXuuWAWgIi0PVALIV6eWB9wGM+wPvBCYARwyrgbQQQRJkb4l/F

-637nq5hXEvrf6VJmZxNK1DdR9IYYZYMcF5yt+y14Q5IDpS/IwAbNrQviO71AXSimgnRqDWvZGVUt

-7SqyYRlitpeseAukCsbxgHP0bWrkukAZZMaYap50O5M2rWj2gqyqg6GJ+olm84AanpbVy0wwUjrR

-XSBjEsocs3J2FautTGSWlMABFxcLjOasChdpbsPR2lsppEDdqVcxzjt1Kw3WogNa1o5zEg1dRTQs

-0aI0kTLCzQpJQQYGGNI92tgsrr7oLtAG8gTHerWLa3ZLIo6oC8kSGQ00BnWCeyDC+ZDVYUgfBDUO

-wGaTnTUWs0cRt+hBxvDAMeDA3GnKc4xSLq3I2FU1laAggQm2Rzoj/wCAAAPAYYWMLFixYsWLFixZ

-W3o4mbqS9mFdVXefeOa5moPoTswOdd3Qj5ha3/n/ABNvIjXu84Zao3iWB6olbV3gTOmgfdWHnCbb

-OHvcoQXGHGkFBAYEyiW9fhC/TWAaaKhn2mxgUcb/AD8wPD2K4uB7S5cuXLhoR+NSu32J7RlEAZGA

-QFn1gB1rwqxZXXtDd0m0wqtCUAg5xCA2aiPaKDxCyqKNNgU0c0B0BWzYq0oNBXRjSOCDmhCULsBy

-aLxZBeLm6RkzooeqWlI0eiPR7kOOksiJt/PuYgd4NUJ1eSHaHtf0gK2yGXMuAc1L5SKBQqKCCqQl

-ob6z0lDuvAKXAaF7xiil7LWvsZcpnYALLqzpKet5cxrdsJRDNCDqKoE5XUcoODGgWan3Q9CpMAtD

-ZSVxMtE9zJ2mzJHwKlIVqKvlWKGNgKtpejFy5cuXLly5cuXLly5cWXFixZcuLFixYsWLFixYcmiU

-87NGIORq5KnXeRgR5roTE6no+vUysKNAohtqiYAer/IvZbvAgQgL8gb2X/UUvrKbqPvfCHYgxAgQ

-7QWolUekq9Q+R6H5lF3mrG+oIu1QP8bQPzh8PHEcPi7xBzukXdiWVsKaWsVWIgYpEsRiinWVXVeb

-DLcEoDYgsZgv4HCFQLwC6TOkmrRsYekXVLntXAdUYY4VbVUYMaazDVNOiqp3RylGGt6YEzQYIwrG

-tPXaodGLqrrlV3gRMMnR7WO1TRglnixGBiKxGCC6myStJllu/AAkX5obOJ5P/Utt4qnnUouDhvDB

-8MK8ViUUJEHXMCj0nk/9R4m223UBiGULVbVyq8//AAPBj4GMYxjGMYwcnc/cc1iEh0RIZGjmi9bW

-OLQbI/iWhhuxG0r1eAQIEDpHq50+uO9yU/Lc6wDd9hLMkqI4QgVo1hBvzmvbPSIlHld5aQiLoqD2

-qW9C+l3EXZcaVwj1GGHHHwvEdH8e8GPgYx1jrGMYxjNoXPaI5WfT0MNDC5DpfMiNYBY2JWvXSD1M

-3X/kFr7h+hn4xWn7wEusdRnM2RPJAdG5SBf/AGo6WuPGWH6u+Qv+cQDETuMUGYmQdMOiQdDEQc5c

-TP3r+7UIOkUf3Hde3eD3OkvPHrKuyLheKqmJzMiaKHHHHHiLh4AVoy9JTdOvSXK5M/vFZn2TTihd

-BN0xZesy1uMACKoLoUjF0aVTgqigoVWC+crO7LWRMNlg1GbRMiwvF8Z00FEW+Yga5mgHdKjC/EAr

-QW9Dgl2Bm4S2HNFyK5oq0hVSCYoStaGPmlxrwOCk1GsiZeEI4t7ToakxK1TEzyTW9AFCYYVZbHSN

-bo7jATlGlpiqTJQS20MFtUPFEBTDowgwhVSCYoStaGFW0YXoaADB4WMfZ67UFjgDhSpe/p78sVmf

-ZNOA1BEG+S2KKcLRowagiDfJLEFOFo0eIagiDfJbFFOFo0YfpIAMzG0q3NDokEtBmDW0AKFxANiY

-SUymIrLRQGN3M6ejc4IjSU9GaQbk1VAWAs0bh6MeSk8gIZt0QMMDbINMHDTeCi5ytqgu75SJ1Ryl

-2pspB6CbBkcpp8M/1fC2wGjWDvtfe7PatXiCVtDwoQ1aGTZWvBlgoKGrygoFmClMABaukGuwtxUR

-dww1JOrRhf1yVQRp1Iqb9IqRFKQdllLUzA8PqBoQc2U4cjKirYQaEI1B83MmClG9y5OLFNkdA3Td

-3TWLu2CFVeGAPOH9UsnSUdGs9Yg1Va5ycS6DztekCZBjp19I61nqqftOQHd/a4fZjfqoe/dPyuUo

-ESkoKfUhMDIkczSpcdwrnDksLaF2ryE3vs6S/NHRuFGanVQMTLiZGxXy/wCjmNofoBFpmfcF6apA

-yc1MLe1WTQViyKsGkfCccWIuHgu9pATSuQJ9VSgh3BTSwyIoHvElQIkdCqg0QWWrCPw6zavKPMpq

-0wT4tnQBVfCj4QPOkyBQpoTCOWBJYt8Qa2Z41VyHHfW3BWswMMLXJjC2PO5XQR4ZJoPVmKjiwIDo

-PUKqIuXK4NGsZlsQUPcZKp0CUv7IZ40MYTLbqBHQfGQalcBBi3riV3cGqVVtVyiGtSNtkA1yNMUV

-7qMbhl3OIxuchQtW2KwCwcIPqoaC0+tJzkjD46cu00zjaaMjBcKmPFrMOKaS2gTkNWTr3mDc1gH+

-RGlsLHcEtW0kwOd3hSxdy0N2hU3nC2QPpGwq87FMDqmMMJberaZz7ouQvu1pVahAvNAErn3LI09H

-PVeWNKy4UI53DrffK+cGi3kjDGvMbzZi1pVVsBEowFRMYqyiw3zFclKgkRe1gLPRTvHTgQbrfRJr

-NaSrMWOq8M6ooROUTJmi9GU4ktAdzrV2RyxHFLhDRxMQIM1xE1/zDotU2sSwaCuHtasJvITjJb0y

-VkVoBV6kLqEZkFQgH0dmGSc9XO+HSxnCKCRMbVXm1O52BFrjWlD7DABbCNuM13izCwssZUiISdtF

-inXDbDKaTrFuZnVpBOxckgoCX8HQDzaZ3NNPycwt5PgxOLBkjIQTchLLe+YGVc0EIpEZbZCAInla

-GSFC/pVQlinLcloylvxiWlQgmssy2jLDkFncnQg7byYAXFOydPVBldUd/wDswU6msGDBly5cHprb

-nSPQdANmqLUdS00YuiDNH0o0ENE9GzVJQpSIixFsYMx6C/IhnrKH2Rn4AUPzHVgKcAD03hWgCC4S

-EiFav3nXkMWBvceiWwVtXnVdWFmkasqrwtODp0DEe641nW+j/v718FUYRweAUuuZTudIq1bpg2IE

-FF372WEIXEqCiUwyxNqVkpZUBlHk6Q/0BdzU8rh+whaFoYFYzPVRdM4EDABAMKSzwQX0v9MBopJr

-XElKIUAnGW0nNqcmoA0irUmuZwIaiMUK5JNbt0uzNhospukEdEAcLgViFAz4DboUXaGBRWkKQvxq

-DfNRJMGFoUS4FbQ1ECqiLWt0UFRXWVGVKJq7iN0hoDyLaGTgpdr+SuvWElsV8DRS01MlNWELKg7Q

-sUNjGoojmUBAURMIAABAIih3bW8RaaAmzAJQLiEVSCsBStLWED0GKMoKEmlrVTWs2P6pBaKjViP8

-CWhMRQF60EDoAgPVJaihwNGrAlcBBjcLC7c0GgRHuBLQmIoC9aCJTagKsZkNbrrJyKNnvRKspnga

-CBQliIudkE0nUZ5XXYL9R9JwFVqnqS2g5NDkdiFBAoONDJM9y1AjQEAQSQtEYQKBZnYhrAWVeTYB

-CGd2IawCzbybAIQ/k478gASI5tyQXgdPdPlO4mgLwVM+b7p8h2E0AONNUj7F610l02azIhDjQ3xF

-WCCApS3GAaGNpSAACgD1y3YAWtAARSEgxbBforgYVkSmymc+u/cStIERsbW4KREFIKBjI68kUVls

-K38yogTEN1VwCBoljOQA7A0Zrc34hlNuff8A7LCXL8IclryMWN5YJ12DZzQrmasvaYqlHKxqur3Z

-onyJ3kau1oZtNYDZ2gvTrtPTtaIJRzfUoe1xu1dV3YBYBff3l2w8Wlbxap726U9qhKYNbI9GHVxm

-lVFS91eLfNKMAAINgaEA4WhgF2O+5XrcuZsIjnH24Yk6UvlUP2/j3gxjHgx4MY8GMYxmRa4+jME4

-9EGjAHck6/8AEzRYWtuUQdYw/QBuxvyZqpC49xT7RF8eotwobOGmPNDR5RrI+Vc+zCs3UjuJpO1t

-5U8WofrlEeghK4kvQshw2h8Bzf8Alydo9942QpQ5Dmc5bQqW0M2BlWvcKDnumMB/kQJ0iapzPKu2

-l/OPbOsZdXrGjnHXl/GvB4MY6R4vBjHgxjGMwbpjBTGvJ3NIB63B2RAsFptzJVD4ktPqnwvAhkDk

-desB1gvFbTtNXPTpT+RnBSjVDkOfWOOWp7oJj4ctydHqdGVtKLzr2f17QzDfQP8AZrzR0P454PBj

-HSMeDwYx4MYxjLRE1NJjjmXLO9afb/sJYFt3OXrDfIMnR5kt6Tl2+qPgwwddopHpHQ7zm20HKQQd

-JqBy8z8tVodQ6byHnowPyJKGVi7RNzMkoXUG/wB3PHyZ+p5M/U8mfqeTP1PJn6nkz9TyZ+p5M/U8

-mfqeTP1PJn6nkz9TyZ+p5M/U8mfqeTP1PJn6nkz9TyZ+p5M/U8mfqeTP1PJn6nkz9TyZ+p5M/U8m

-fqeTP1PJn6nkz9TyZ+p5M/U8mfqeTP1PJn6nkz9TyZ+p5M/U8mfqeTP1PJn6nkz9TyZ+p5M/UfNn

-4nmT9R8wfiecP1PKH6j5Q/EfJH4j5o/E80/qeWf1Hyr+J5n/AFHzP+I+V/xPL/6nm/8AUfMf4j5T

-/EfKf4j55/EfNP4j5N/ECgK0vm+kaqqZXPPSCEwyJo+0VWsrVfsc4MSl5dIVeX9p5n/U8z/qPnf8

-Tzv+p5//AFPP/wCp5/8A1PN/6nnv9TzX+p5r/UfIf4nL+c2i4j1cUfxMBs+XEOLSUxMg0c3TrpdJ

-x6w0PU3ltuhF89Sanu5IpwVcVy5fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6f

-Pp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+

-nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6f

-Pp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6ILq1FQGssLVEeTMjJiZRbLrme35EGAgoBQAnz6fPp8+/r

-/wD/2gAIAQIDAT8Q/ptyvCwyzcuXLilzkf09Bw2lxJGLS3EuXLly4MuPBUqVKlSpUqVKlSpUqVKl

-SpUqVKlSpUqVKlSpUqVKlSpUqVKlSpUqVKlSpUr/AMthKy8XggjCnhAesscpsy+LymSXFLlwZUwf

-6MgjC3jcRFsuBcI3qlURLWFwUeIGM4OIMGDBnL41KlSpUqVKlSpUqVKlSpUqVKlSpUqVKlSpUqVK

-lSpUqVKlSpUqVKlSpUrhUr6qhERUVfAkj0Rb4MZQhaWR8Fw4NA1EVTBgwYQZcf0BrrwVFDWJ5Rbw

-qIIt8LWuCpfC5cuDFwMVwYQhCVMvFypUqVLulwIFLzm09pbhFdovNHPzfaDcqVKlSpUqVKljTWN1

-qdMvxGBAF1m+3eGkKxBdI+e83f2hClHnuxAtl1BfPebv7RUFHnvKlSpUqVKlSpUqVK4VwqVKlSuF

-fRBm2VEovlFvh1OIk0irrx1Q0LHHxEIpVhwEIQhBxXhejFcENHJb32IlLpzQMuduVRW8Dnf/AGCh

-IWc1npj2lgVKuQMWxdnK+TDti4TOo94IWtyGvIdfiHrBs4dDlKORRbvdGPvGEUi6sBLZF9RjFwCV

-b63+hMbo1/0I/LYUXpWiOuWVIrWvEa4VlZ0x6GXh3RG7Abr8EAxGpqlvW9SUOC+0GsfwAsjWzVOF

-THLiINEVdfDr49+gHjEIQh42N+v6lrMJ/n4Iv8CztmFDWkX2M/5CV81HpHq/S3ID/sGHAXz07Rzk

-8m3lpAUNKPxCx+g9Nf1LAdR/L94Sa0P0Lz9jGp0sGOR6dqgNxzQXfrEo+Q/l+82w3q+WGVy/f/jh

-bTpMucsValArpDBZrLM4mnyv/gQWmdBiNUawt68K8OrhmPjIa8GsEIQh4wKDOlqgAURtPnUSUubq

-VaA6ChK6mvXn7ygt6yZYes0JOikmDE6CCYNi3d3eb63Hy06qfMp8yllTvOFr1iZRLrSz3mbVVXmt

-vBCxNr8f5G7CWRMwWkm1+P8AIpYfiBX8CecN1GLEp+gNY7Egica4hCCDazVCEIQ/oIslWVCTPKZq

-YjqRhZyiV4b18USVKlSoHC1lYGGiEIQh46XAsrUaFyt1K1cp4WkQa8CsBEEA+BBrwESl1Ll8bl8L

-408CSCSsBMQMsupZdSt14FqINZSoDEEBjyR+TgKZqOTKmDZLl+vC3hL6JUU6y0qW4bwKlSpXDUuZ

-m5hCEIQ8JJ15fuE7WY3+eBWW0bkI+WItiIviNtLv7QhGj9xEcfqBRDow2kS/P+Q1yhzpwKsvSBd1

-2RIDesFynz8TBbjdtS1LJeU2qFg95XKBgiYXpG5ekPy/XAmr6d594Id4YDAlyrDu/uZsWZq68/EL

-brSBXBpWqrPfvNGJTR5/ULRcMitczJ08+0wTz+pZdOn5gzff88BzguNBzIYiSpXCpUqVNIWGrgPH

-k2QG3WOrYklmGEIQh49qAEoqolyspVRDxqVKyso0lJWIlF3xqJcpVSkQYh1gBAqAGnEA0lEqIMrj

-UpdxF3ACAEAIl8KrjRwpVSiAaxLqQLQiHWAG+CWQwwaE5ho8KlSpUqVKlRjH8pqmIK0SY8yPNXG0

-FSlWxoy4l5Jfh4HA/oZzBZ2mZaVUqVKlSpUqVKjDwLwkJwWROFDOVxEtX9COODRhsipUqVKlSpUq

-VKlSpUqVGL+LmU4iyAP6IkFkw7Ro1KlSpUqVKlSpUqVKlSpXAtyeDnPJx3CbhNwm4TcJuE3CbhNw

-m4TcJuE3CbhNwm4TcJuE3CbhNwm4TcJuE3CbhNwm4TcJuE3CbhNwm4TcJuE3CbhNwm4TcJuE3Cbh

-Nwm4TcJuE3CbhNwm4TcJuE3CbpN0m6TdJuk3yb5N895vnvN895vnvOpJuk3iLGpN4m8TeJvE3ibx

-N4m8TeJvE3ibxN4m8TeJvE3yPUIeonBLadrmw95svebL3/rV/wBj/9oACAEDAwE/EP6bUtwHEVKl

-SpUqc7+n24KSoNhFeIkqVKlSokFP9Kp4aSuAmEkJJdpMpUUQ6pQxJUqVKlh/R7cNONQkBKmkVwcM

-JKJiIcEWBBEleDmf0KlhIZXgEwMqVKjiXNcA8FROAWpqcHiyh/oAx4QWEgHGuNXCDhXGpUSCLlE4

-sYLJWa8Jmsq1Y8sfmYrZAA5t/wCTee8p0+6B1nX/AGJX0hbAwWe0psda5R1hw7Sg3gsY46jph/af

-PSPMt6Xf/REVEesnWWX1qHz0qiyNFb7/AJv4BS+A4A8FeB0muCHjeDRjGMYxlZ8O5BANK/iZzOuL

-ziEgKzK9F1/2VtfNaEbrV6DBPR7aSigDr51j6ijaYEX2hSqAbRLTS60mLgG2JeQr2I2ovQ9YtsMO

-QGWXLocKh6B9Wh+b9IAGrdLDyHo594uGBrQzrzmty09potRfRuaj0KumctOte0pBYbx66a9oiUU6

-b5/gHmWQK8FeLR9IMeHlweDHx+jETAsQl1QQgrTkSnZgDo57x1rRFA9X+ypXrf7ip6nvKJ7/AOIt

-+gvn1htsqzK6DGtQ+p/CJI6r9oaJzfjgwTlV7Fw22C5Hlj83B5APm7VLRATVeuwwJY3pz3/yI1ZO

-mTrrEeYu2DH5uV22XjsYPsfwL4DMr6D9IMeF04sY+NRbRfaLbcGpX/BCmgekUdQXcl4IaD2ghoB2

-Io6g9ydhXTlBDQD0lf8ABK/4Io6h9Io6g+kXlocBK7ap+GeRv3KwDdP5ZtFAA9rqO2Fsp+J5G/cr

-Tuin5f4JRXBK4X42DNxQfGxmtOF4PB/oKpimeUbqW6S5fiuIoMv6FZmLPhfHeKJaBfBaX8JAXLy0

-tC8aeALl5aXr6deATFEtFEtKxKlq8AQbKYoheLOGjnwWINkXgrwXwoycAZcuXLlxgF1HCjxPhVG0

-bWYf5GDmLMIDMtxddpalwpIuYxURwiixrxZH3hFxpHUsjpDlKzXBZU5zeLrOZBHTz14NDEa30i4L

-lZdXOVExpcaKjwTe8NZZGrxHDMwPP+zS+f3DBrHj24OKXT9C5fBjJCCLly4wC8QxBcryeF8dpcvN

-walpbLeC5aWly2WlsvjcGpbLZcFJfBb4rctly2X4LZbLuLcVl8F43wt1ly4I0imDUtwGuA2RcvBf

-guXDgBLSUOU7ILB5ywwQ4NJzz+jrEUcZl8Lly5fG5cuHDpwKZcOK5zDwX/QlwuDWJcuXLly5cuXL

-ly5cuXLgyjwX5Isf6KGMG+F+G5cuXLly5fC4M5T4EaeO1NqbU2ptTam1NqbU2ptTam1NqbU2ptTa

-m1NqbU2ptTam1NqbU2ptTam1NqbU2ptTam1NqbU2ptTam1NqbU2ptTam1NqbU2ptTam1Npm0zaZt

-M2mbTNpm0zaZtM2mHSZtS3SAOkt0lukt0mxLdJsS3SbE2JsTYmxNibE2JsTYgPSNonDRBmyzYZsP

-9ar+x//Z

-

---=====002_Dragon172714510278_=====

-Content-Type: image/gif;

-	name="bot(06-26-10-58-52).gif"

-Content-Transfer-Encoding: base64

-Content-ID: <__1@Foxmail.net>

-

-R0lGODlhEwALAMQdAAY4m/Dz+U5xuAM1mgw9ntLb7ZOp1MnU6UtvtxVEoTZerxhGoz9lsrrI49jg

-7/b4+zxjsfz9/s/Z7B5LpQk6ncDN5qW324qh0FF0ucPP52OCwZ+y2QAzmf///wAAAAAAACH5BAEA

-AB0ALAAAAAATAAsAAAVPYNcVyMItyCGurGgAXBwPV8tmg6xzjS0KsoZCx/B1ErJAxzKJASI+nbLz

-gMSmLeS1IxlyAEZgzKEhGg85DmFXMXY2lB3A4BY5MGuCoFAPAQA7

-

---=====002_Dragon172714510278_=====--

-S

-X-Uidl: GmailId12a6707d170a511c&&pop.gmail.com

-Return-Path: <johnnybravo159@gmail.com>

-Received: from Antoni-Windows7 (ita250.internetdsl.tpnet.pl [79.190.233.250])

-        by mx.google.com with ESMTPS id a48sm2388387eei.6.2010.08.12.09.00.18

-        (version=SSLv3 cipher=RC4-MD5);

-        Thu, 12 Aug 2010 09:00:19 -0700 (PDT)

-Date: Thu, 12 Aug 2010 18:00:25 +0200

-From: "johnnybravo159" <johnnybravo159@gmail.com>

-To: "johnnybravo159" <johnnybravo159@gmail.com>

-Subject: Test mail from Foxmail.

-Message-ID: <201008121800258604089@gmail.com>

-X-mailer: Foxmail 6, 15, 201, 22 [en]

-

-This mail was sent by Foxmail where testing your SMTP setting.

-

-S

-X-Uidl: GmailId12a670cec752827c&&pop.gmail.com

-Delivered-To: johnnybravo159@gmail.com

-Received: by 10.227.143.6 with SMTP id s6cs144098wbu;

-        Thu, 12 Aug 2010 09:05:55 -0700 (PDT)

-Received: by 10.213.5.5 with SMTP id 5mr385907ebt.72.1281629155351;

-        Thu, 12 Aug 2010 09:05:55 -0700 (PDT)

-Return-Path: <antoni.mylka@gmail.com>

-Received: from mail-ey0-f177.google.com (mail-ey0-f177.google.com [209.85.215.177])

-        by mx.google.com with ESMTP id w46si4044334eeh.87.2010.08.12.09.05.54;

-        Thu, 12 Aug 2010 09:05:54 -0700 (PDT)

-Received-SPF: pass (google.com: domain of antoni.mylka@gmail.com designates 209.85.215.177 as permitted sender) client-ip=209.85.215.177;

-Authentication-Results: mx.google.com; spf=pass (google.com: domain of antoni.mylka@gmail.com designates 209.85.215.177 as permitted sender) smtp.mail=antoni.mylka@gmail.com; dkim=pass (test mode) header.i=@gmail.com

-Received: by mail-ey0-f177.google.com with SMTP id 10so855513eyd.36

-        for <johnnybravo159@gmail.com>; Thu, 12 Aug 2010 09:05:54 -0700 (PDT)

-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;

-        d=gmail.com; s=gamma;

-        h=domainkey-signature:received:received:message-id:date:from

-         :user-agent:mime-version:to:subject:references:in-reply-to

-         :content-type:content-transfer-encoding;

-        bh=PivaTP4ZM6VG0cBqUIcNpNqEdDuLIjYl/ub0gtahuU4=;

-        b=kB1U6Pp8EVDMWEUl+n8BsD9BYFi6u1qaIgnTBqUwhZ57uso0t11pVp+noSS7Wfxm9u

-         S3wH8uM/NcGLcBE29cfDvEe4s43j+bF04RnBIYM6S+ExHB5EQ3hqCeHlHfAgKCNCM9+/

-         yVE5v9w+G8N8wCkMD2jnMCG1G7P9ah49E7n5E=

-DomainKey-Signature: a=rsa-sha1; c=nofws;

-        d=gmail.com; s=gamma;

-        h=message-id:date:from:user-agent:mime-version:to:subject:references

-         :in-reply-to:content-type:content-transfer-encoding;

-        b=qfpJCkETuSk1g6LVXFfQcRvXyRW87IoqKy8sj+TY75VYLlQHUR1fMBw33QPR+QppH3

-         duzZ33oOqNwcGsG/GYOHeWWfK7e7+PAWYM/Cq8+r6TiJVgT3EpqP7vySPS0tOYBBDfHQ

-         mXGCJdkpd1wNqklEtCqzHvBxSB3kpx1jrRiqI=

-Received: by 10.213.28.194 with SMTP id n2mr7432209ebc.10.1281629154117;

-        Thu, 12 Aug 2010 09:05:54 -0700 (PDT)

-Return-Path: <antoni.mylka@gmail.com>

-Received: from [192.168.0.4] (ita250.internetdsl.tpnet.pl [79.190.233.250])

-        by mx.google.com with ESMTPS id v59sm2397289eeh.10.2010.08.12.09.05.52

-        (version=SSLv3 cipher=RC4-MD5);

-        Thu, 12 Aug 2010 09:05:52 -0700 (PDT)

-Message-ID: <4C641BDC.9080504@gmail.com>

-Date: Thu, 12 Aug 2010 18:05:48 +0200

-From: Antoni Mylka <antoni.mylka@gmail.com>

-User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.11) Gecko/20100711 Lightning/1.0b1 Thunderbird/3.0.6

-MIME-Version: 1.0

-To: johnnybravo159 <johnnybravo159@gmail.com>

-Subject: Re: A test email from Foxmail

-References: <201008121803499552355@gmail.com>

-In-Reply-To: <201008121803499552355@gmail.com>

-Content-Type: text/plain; charset=UTF-8; format=flowed

-Content-Transfer-Encoding: 7bit

-

-W dniu 2010-08-12 18:03, johnnybravo159 pisze:

-> Hello everyone, I succesfully installed Foxmail,

-> will start working on making it available in Intella.

-> I wonder if it makes any sense to use mstor for this. It seems like a

-> huge overkill.

-> Or should we rather settle on implementing an incomplete javamail driver

-> with very limited functionality. single-folder, without properly

-> supporting those standard-violating 8bit characters in emails.

-> This might become a problem though. This is a Chineese program, popular

-> in china. The majority of customers who would like to use it, will

-> probably use it on chinese content. This means that my driver pretty

-> much has to support CJK characters properly. Otherwise it's as good as

-> useles..

-

-Hello, anybody there?

-

-Antoni

-S

-Date: 

-From: "Foxmail¿ª·¢×é"<foxmail@tencent.com>

-To: "=?gb2312?B?1/C+tLXERm94bWFpbNPDu6c=?=" <user@foxmail.com>

-Subject:=?gb2312?B?u7bTrcq508MgRm94bWFpbCA2LjUgo6E=?= 

-Message-ID: <200906261059103758227@foxmail.com-2>

-X-mailer: Foxmail 6, 15, 201, 21 [cn]

-Mime-Version: 1.0

-Content-Type: multipart/related;

-	boundary="=====002_Dragon172714510278_=====";

-	type="multipart/alternative"

-

-This is a multi-part message in MIME format.

-

---=====002_Dragon172714510278_=====

-Content-Type: multipart/alternative;

-	boundary="=====003_Dragon172714510278_====="

-

-

---=====003_Dragon172714510278_=====

-Content-Type: text/plain;

-	charset="gb2312"

-Content-Transfer-Encoding: base64

-

-IEZveG1haWwgNi41INX9yr2w5iC1xNfu0MK4xL34IA0K0MLU9rT9sOzKws/uuabE3CANCg0Kt72x

-49PDu6exuM38oaLH4cvJudzA7bj3uPbKws/uo6yyor/JttTW2NKqysLP7sno1sPM4dDRoaMgDQrQ

-wtT2w/fQxcasuabE3CANCg0KzOG5qbbg1tbA4NDNus2357jxtcTD99DFxqyjrLe9sePTw7unuPjH

-18XzusPT0dbCvdrI1c7KuvKhoyANCtDC1Pa7u7f0uabE3CANCg0KzOG5qbbg1tbGpLf0xeTJq7e9

-sLi6zbXXzsajrLKix9LWp7PW08O7p9fUtqjS5cakt/TR1cmroaMgDQrIq87Ey9HL97j8zsi2qKGi

-uPzXvMi3IA0KDQrIq87Ey9HL97XEy/fS/b2owaLL2bbItPO088zhyf2jrNW808PXytS0w/fP1L21

-tc2jrMvRy/e4/M7Itqihorj817zIt6GjIA0KyPS4ybjEvfgNCg0KMS4g08W7r8HLRm94bWFpbMb0

-tq+6zbnYsdXL2bbIo7sgDQoyLiC1pbj2sb612NPKvP680LTmtKLI3cG/tNMyR8Cp1bm1vTRHo7sg

-DQozLiC808e/wctWaXN0Yc+1zbO1xMr9vt285sjd0NSjuyANCjQuILzTx7/By0ZveG1haWzK/b7d

-tqrKp7XEt8DT+aO7IA0KNS4g08W7r8HL0MK9qNXLusW1xNfUtq/J6NbDuabE3KO7IA0KNi4g08W7

-r8HLtPLTobmmxNyjuyANCjcuINPFu6/By7GjtOa087i9vP61xMvZtsijuyANCjguINPFu6+2wMGi

-t6LLzdPKvP65psTco7sgDQo5LiDQ3rjEwcu49rHw08q8/rP2z9bC0sLrtcTOyszio7sgDQoxMC4g

-0N64xMHLuPax8Mfpv/bPwtPKvP7K1cihuvOz9s/W08q8/raqyqe1xM7KzOKjuyANCjExLiDQ3tX9

-wcvI9LjJYnVnoaMNCg0KDQoNCkZveG1haWwgNi41INX9yr2w5rbUIDYuMNX9yr2w5iC1xNb30qq4

-xL34DQog1Pa80yLTyrz+tbWwuCK5psTcDQoNCtDC1Pa1xNPKvP61tbC4uabE3KOsv8nS1MjDxPq/

-7MvZseO93bXY1dK1vcT6z+vSqrXE0MXPoqGjIA0KINans9ZJTUFQ1cq7p7ncwO0NCg0KtNNGb3ht

-YWlsIDYuNSBCZXRhMiC/qsq8o6xGb3htYWlsIMirw+bWp7PWSU1BUNXKu6e1xLncwO2hoyAgDQog

-zOG5qbHjvd21xMvRy/fOxLz+vNANCg0Ky9HL987EvP680LKiw7vT0NXm1f205rSiyM66zrXn19PT

-yrz+o6zL/MrH08PAtM/Uyr7Su8Dgt/u6z8zYtqjM9bz+tcTTyrz+tcTK0828o6zL/L2rvODK08v5

-09DOxLz+vNCjrMvRy/fOxCC8/rzQu+HKvNbVsaOz1tfu0MLXtMysoaMgDQog1Pa8087EvP7W0Neq

-1b65psTcDQoNCs7EvP7W0Neq1b6w79b6xPrU2rK7zay158TUvOTXqtLGzsS8/qOs0tTBtL3T0M7K

-vc/yyM7S4tPKz+S3osvNMUe1xLOstPO4vbz+oaMgDQog1Pa807i9vP653MDtxvcgDQoNCrXju/fW

-97LLtaW1xKGwuaS+36GxtcShsLi9vP653MDtobG/ydLUtPK/qri9vP653MDtxve1xLbUu7C/8qOs

-08O7p7/J0tS3vbHjtcS53MDtw7+49tXLu6e1xLi9vP6hoyANCiDQwtT2ttSxvrXY08q8/sno1sPM

-4dDRtcS5psTcIA0KDQrE+r/J0tS21NDo0qq52NeitcShorT9sOy1xNPKvP7J6NbDzOHQ0aGjzOHQ

-0bW9wLS1xMqxuvKjrNTazOHQ0bSwv9rW0KOsxNy/7MvZtPK/qs/g06a1xNPKvP6hoyANCtDC1PbX

-q9C0u+HS6cfrx/O5psTcIA0KDQrE+r/J0tS63Le9seO12Ner0LS74dLpx+vH86GjvObI3U9VVExP

-T0u1xLvh0unH68fzo6yyotans9azrM7Esb7E2sjdtcS74dLpx+vH86GjIA0K0MLU9iK2wMGit6LL

-zSK5psTcIA0KDQrI57n7ssnTw6GwtsDBoreiy82hsbXEt73Kvb340NC3osvN08q8/sqxo6zDv7j2

-ytW8/sjL1MS2wdPKvP7Ksbvhv7S1vdXit+LTyrz+ysfOqNK7t6LLzbj419S8urXEoaMgDQq4/Lbg

-0MLM5dHptci0/cT6o6HU2bTOuNDQu8T6tcTKudPDo6ENCg0KRm94bWFpbCC/qrei1+kgDQoyMDA5

-xOo21MINCg==

-

---=====003_Dragon172714510278_=====

-Content-Type: text/html;

-	charset="gb2312"

-Content-Transfer-Encoding: base64

-

-PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv

-L0VOIj4NCjxIVE1MPjxIRUFEPjxUSVRMRT67ttOtyrnTw2ZveG1haWw8L1RJVExFPg0KPFNUWUxF

-IHR5cGU9dGV4dC9jc3M+QGltcG9ydCB1cmwoIEM6XERvY3VtZW50cyBhbmQgU2V0dGluZ3NcT3du

-ZXJcTG9jYWwgU2V0dGluZ3NcVGVtcG9yYXJ5IEludGVybmV0IEZpbGVzXHNjcm9sbGJhci5jc3Mg

-KTsNCjwvU1RZTEU+DQoNCjxTVFlMRSB0eXBlPXRleHQvY3NzPkBpbXBvcnQgdXJsKCBDOlxEb2N1

-bWVudHMgYW5kIFNldHRpbmdzXE93bmVyXExvY2FsIFNldHRpbmdzXFRlbXBvcmFyeSBJbnRlcm5l

-dCBGaWxlc1xzY3JvbGxiYXIuY3NzICk7DQo8L1NUWUxFPg0KDQo8TUVUQSBodHRwLWVxdWl2PUNv

-bnRlbnQtVHlwZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9R0IyMzEyIj4NCjxTVFlMRSB0

-eXBlPXRleHQvY3NzPkJPRFkgew0KCVBBRERJTkctUklHSFQ6IDBweDsgUEFERElORy1MRUZUOiAw

-cHg7IFBBRERJTkctQk9UVE9NOiAwcHg7IE1BUkdJTjogMHB4OyBGT05UOiAxMnB4IFZlcmRhbmE7

-IFBBRERJTkctVE9QOiAwcHgNCn0NCiNjbnQgew0KCVBBRERJTkctUklHSFQ6IDBweDsgUEFERElO

-Ry1MRUZUOiAwcHg7IFBBRERJTkctQk9UVE9NOiAyMHB4OyBXSURUSDogNzUwcHg7IExJTkUtSEVJ

-R0hUOiAyNXB4OyBQQURESU5HLVRPUDogMjBweDsgVEVYVC1BTElHTjogbGVmdA0KfQ0KLnN1YmNu

-dCB7DQoJTUFSR0lOLUJPVFRPTTogMjVweA0KfQ0KSDEgew0KCUZPTlQtU0laRTogMTRweDsgTUFS

-R0lOOiAxNXB4IDVweCAzNXB4IDIwcHgNCn0NCkgyIHsNCglGT05ULVNJWkU6IDE0cHg7IFBBRERJ

-TkctQk9UVE9NOiA1cHg7IE1BUkdJTjogMTVweCAwcHggMTBweDsgQ09MT1I6ICMwMzk7IEJPUkRF

-Ui1CT1RUT006ICNhYmJjZGQgMXB4IHNvbGlkDQp9DQpIMiBTUEFOIHsNCglQQURESU5HLVJJR0hU

-OiAxMHB4OyBQQURESU5HLUxFRlQ6IDEwcHg7IEJBQ0tHUk9VTkQ6ICNlOGVkZjY7IFBBRERJTkct

-Qk9UVE9NOiA1cHg7IFBBRERJTkctVE9QOiA1cHgNCn0NCkgzIHsNCglQQURESU5HLVJJR0hUOiAw

-cHg7IFBBRERJTkctTEVGVDogNTBweDsgRk9OVC1TSVpFOiAxNHB4OyBQQURESU5HLUJPVFRPTTog

-MHB4OyBNQVJHSU46IDBweDsgQ09MT1I6ICMzMzM7IFBBRERJTkctVE9QOiA1cHgNCn0NCkg0IHsN

-CglQQURESU5HLVJJR0hUOiAwcHg7IFBBRERJTkctTEVGVDogMjBweDsgRk9OVC1TSVpFOiAxMnB4

-OyBQQURESU5HLUJPVFRPTTogMHB4OyBNQVJHSU46IDBweDsgQ09MT1I6ICMzMzM7IFBBRERJTkct

-VE9QOiAwcHgNCn0NClVMIHsNCglQQURESU5HLUxFRlQ6IDIwcHg7IE1BUkdJTjogMHB4DQp9DQpM

-SSB7DQoJTUFSR0lOLUxFRlQ6IDUwcHg7IENPTE9SOiAjNDQ0OyBMSVNULVNUWUxFLVRZUEU6IGRl

-Y2ltYWwNCn0NCiNjbnQgUCB7DQoJUEFERElORy1SSUdIVDogNXB4OyBQQURESU5HLUxFRlQ6IDVw

-eDsgUEFERElORy1CT1RUT006IDVweDsgTUFSR0lOOiAwcHggNXB4IDBweCA0NXB4OyBQQURESU5H

-LVRPUDogNXB4DQp9DQpCIHsNCglDT0xPUjogIzAzOQ0KfQ0KLnNpZ24gew0KCUZPTlQtV0VJR0hU

-OiBib2xkZXI7IE1BUkdJTjogMzBweCAzMHB4IDE1cHggNTBweA0KfQ0KLnNpZ24gQiB7DQoJRk9O

-VC1TSVpFOiAxNHB4DQp9DQojZm9vdGVyIHsNCglCT1JERVItVE9QOiAjYzlkY2Y4IDNweCBzb2xp

-ZDsgQkFDS0dST1VORDogI2RkZThmODsgT1ZFUkZMT1c6IGhpZGRlbjsgV0lEVEg6IDc1MHB4OyBI

-RUlHSFQ6IDI1cHgNCn0NCi50MSB7DQoJRk9OVC1TSVpFOiAxMnB4OyBMSU5FLUhFSUdIVDogMjBw

-eA0KfQ0KLnQxIEIgew0KCUZPTlQtU0laRTogMTRweDsgQ09MT1I6ICMzMzMNCn0NCkJMT0NLUVVP

-VEUgew0KCU1BUkdJTi1UT1A6IDBweDsgTUFSR0lOLUJPVFRPTTogMHB4OyBNQVJHSU4tTEVGVDog

-MmVtDQp9DQpPTCB7DQoJTUFSR0lOLVRPUDogMHB4OyBNQVJHSU4tQk9UVE9NOiAwcHgNCn0NCjwv

-U1RZTEU+DQoNCjxNRVRBIGNvbnRlbnQ9Ik1TSFRNTCA2LjAwLjI5MDAuNTUxMiIgbmFtZT1HRU5F

-UkFUT1I+PC9IRUFEPg0KPEJPRFk+DQo8Q0VOVEVSPjxJTUcgc3JjPSJjaWQ6X18wQEZveG1haWwu

-bmV0Ij4gDQo8RElWIGlkPWNudD4NCjxIMiBjbGFzcz1zdWJjbnQ+PFNQQU4+PElNRyBoZWlnaHQ9

-MTEgc3JjPSJjaWQ6X18xQEZveG1haWwubmV0IiANCndpZHRoPTE5PkZveG1haWwmbmJzcDs2LjUm

-bmJzcDvV/cq9sOYmbmJzcDu1xNfu0MK4xL34IDwvU1BBTj48L0gyPg0KPERJViBjbGFzcz1zdWJj

-bnQ+DQo8VEFCTEUgd2lkdGg9IjEwMCUiPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgd2lk

-dGg9NDU+PC9URD4NCiAgICA8VEQgY2xhc3M9dDE+PEI+0MLU9rT9sOzKws/uuabE3CZuYnNwOzwv

-Qj48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFA+t72x49PDu6exuM38oaLH4cvJudzA7bj3

-uPbKws/uo6yyor/JttTW2NKqysLP7sno1sPM4dDRoaMgPC9QPjwvRElWPg0KPERJViBjbGFzcz1z

-dWJjbnQ+DQo8VEFCTEUgd2lkdGg9IjEwMCUiPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQg

-d2lkdGg9NDU+PC9URD4NCiAgICA8VEQgY2xhc3M9dDE+PEI+0MLU9sP30MXGrLmmxNwmbmJzcDs8

-L0I+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxQPszhuam24NbWwODQzbrNt+e48bXEw/fQ

-xcaso6y3vbHj08O7p7j4x9fF87rD09HWwr3ayNXOyrryoaMgPC9QPjwvRElWPg0KPERJViBjbGFz

-cz1zdWJjbnQ+DQo8VEFCTEUgd2lkdGg9IjEwMCUiPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8

-VEQgd2lkdGg9NDU+PC9URD4NCiAgICA8VEQgY2xhc3M9dDE+PEI+0MLU9ru7t/S5psTcJm5ic3A7

-PC9CPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8UD7M4bmptuDW1sakt/TF5Mmrt72wuLrN

-tdfOxqOssqLH0tans9bTw7un19S2qNLlxqS39NHVyauhoyA8L1A+PC9ESVY+DQo8RElWIGNsYXNz

-PXN1YmNudD4NCjxUQUJMRSB3aWR0aD0iMTAwJSI+DQogIDxUQk9EWT4NCiAgPFRSPg0KICAgIDxU

-RCB3aWR0aD00NT48L1REPg0KICAgIDxURCBjbGFzcz10MT4NCiAgICAgIDxESVY+PEI+yKvOxMvR

-y/e4/M7Itqihorj817zItyA8L0I+PC9ESVY+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCjxQ

-PsirzsTL0cv3tcTL99L9vajBosvZtsi087TzzOHJ/aOs1bzTw9fK1LTD98/UvbW1zaOsy9HL97j8

-zsi2qKGiuPzXvMi3oaMgPC9QPjwvRElWPg0KPERJViBjbGFzcz1zdWJjbnQ+DQo8VEFCTEUgd2lk

-dGg9IjEwMCUiPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgd2lkdGg9NDU+PC9URD4NCiAg

-ICA8VEQgY2xhc3M9dDE+DQogICAgICA8RElWPjxCPsj0uMm4xL34PC9CPjwvRElWPjwvVEQ+PC9U

-Uj48L1RCT0RZPjwvVEFCTEU+DQo8UD4xLiZuYnNwO9PFu6/By0ZveG1haWzG9Lavus252LHVy9m2

-yKO7IDxCUj4yLiC1pbj2sb612NPKvP680LTmtKLI3cG/tNMyR8Cp1bm1vTRHo7sgPEJSPjMuIA0K

-vNPHv8HLVmlzdGHPtc2ztcTK/b7dvObI3dDUo7sgPEJSPjQuILzTx7/By0ZveG1haWzK/b7dtqrK

-p7XEt8DT+aO7IDxCUj41LiDTxbuvwcvQwr2o1cu6xbXE19S2r8no1sO5psTco7sgPEJSPjYuIA0K

-08W7r8HLtPLTobmmxNyjuyA8QlI+Ny4g08W7r8HLsaO05rTzuL28/rXEy9m2yKO7IDxCUj44LiDT

-xbuvtsDBoreiy83Tyrz+uabE3KO7IDxCUj45LiDQ3rjEwcu49rHw08q8/rP2z9bC0sLrtcTOyszi

-o7sgPEJSPjEwLiANCtDeuMTBy7j2sfDH6b/2z8LTyrz+ytXIobrzs/bP1tPKvP62qsqntcTOyszi

-o7sgPEJSPjExLiDQ3tX9wcvI9LjJYnVnoaM8L1A+PEJSPjxCUj4NCjxIMiBjbGFzcz1zdWJjbnQ+

-PFNQQU4+PElNRyBoZWlnaHQ9MTEgc3JjPSJjaWQ6X18xQEZveG1haWwubmV0IiB3aWR0aD0xOT5G

-b3htYWlsIA0KNi41Jm5ic3A71f3KvbDmttQgNi4w1f3KvbDmJm5ic3A7tcTW99KquMS9+DwvU1BB

-Tj48L0gyPg0KPERJViBjbGFzcz1zdWJjbnQ+DQo8VEFCTEUgd2lkdGg9IjEwMCUiPg0KICA8VEJP

-RFk+DQogIDxUUj4NCiAgICA8VEQgd2lkdGg9NDU+Jm5ic3A7PC9URD4NCiAgICA8VEQgY2xhc3M9

-dDE+PEI+1Pa80yLTyrz+tbWwuCK5psTcPC9CPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8

-UD7QwtT2tcTTyrz+tbWwuLmmxNyjrL/J0tTIw8T6v+zL2bHjvd212NXStb3E+s/r0qq1xNDFz6Kh

-oyA8L1A+PC9ESVY+DQo8RElWIGNsYXNzPXN1YmNudD4NCjxUQUJMRSB3aWR0aD0iMTAwJSI+DQog

-IDxUQk9EWT4NCiAgPFRSPg0KICAgIDxURCB3aWR0aD00NT4mbmJzcDs8L1REPg0KICAgIDxURCBj

-bGFzcz10MT48Qj7Wp7PWSU1BUNXKu6e53MDtPC9CPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+

-DQo8UD6000ZveG1haWwmbmJzcDs2LjUmbmJzcDtCZXRhMiZuYnNwO7+qyryjrEZveG1haWwmbmJz

-cDvIq8Pm1qez1klNQVDVyruntcS53MDtoaMmbmJzcDsgDQo8L1A+PC9ESVY+DQo8RElWIGNsYXNz

-PXN1YmNudD4NCjxUQUJMRSB3aWR0aD0iMTAwJSI+DQogIDxUQk9EWT4NCiAgPFRSPg0KICAgIDxU

-RCB3aWR0aD00NT4mbmJzcDs8L1REPg0KICAgIDxURCBjbGFzcz10MT48Qj7M4bmpseO93bXEy9HL

-987EvP680DwvQj48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFA+y9HL987EvP680LKiw7vT

-0NXm1f205rSiyM66zrXn19PTyrz+o6zL/MrH08PAtM/Uyr7Su8Dgt/u6z8zYtqjM9bz+tcTTyrz+

-tcTK0828o6zL/L2rvODK08v509DOxLz+vNCjrMvRy/fOxCC8/rzQu+HKvNbVsaOz1tfu0MLXtMys

-oaMgPC9QPjwvRElWPg0KPERJViBjbGFzcz1zdWJjbnQ+DQo8VEFCTEUgd2lkdGg9IjEwMCUiPg0K

-ICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgd2lkdGg9NDU+Jm5ic3A7PC9URD4NCiAgICA8VEQg

-Y2xhc3M9dDE+PEI+1Pa8087EvP7W0Neq1b65psTcPC9CPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFC

-TEU+DQo8UD7OxLz+1tDXqtW+sO/W+sT61Nqyu82stefE1Lzk16rSxs7EvP6jrNLUwbS909DOyr3P

-8sjO0uLTys/kt6LLzTFHtcSzrLTzuL28/qGjIDwvUD48L0RJVj4NCjxESVYgY2xhc3M9c3ViY250

-Pg0KPFRBQkxFIHdpZHRoPSIxMDAlIj4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHdpZHRo

-PTQ1PiZuYnNwOzwvVEQ+DQogICAgPFREIGNsYXNzPXQxPjxCPtT2vNO4vbz+udzA7cb3IDwvQj48

-L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFA+teO799b3ssu1pbXEobC5pL7fobG1xKGwuL28

-/rncwO2hsb/J0tS08r+quL28/rncwO3G97XEttS7sL/yo6zTw7unv8nS1Le9seO1xLncwO3Dv7j2

-1cu7p7XEuL28/qGjIDwvUD48L0RJVj4NCjxESVYgY2xhc3M9c3ViY250Pg0KPFRBQkxFIHdpZHRo

-PSIxMDAlIj4NCiAgPFRCT0RZPg0KICA8VFI+DQogICAgPFREIHdpZHRoPTQ1PiZuYnNwOzwvVEQ+

-DQogICAgPFREIGNsYXNzPXQxPjxCPtDC1Pa21LG+tdjTyrz+yejWw8zh0NG1xLmmxNwgPC9CPjwv

-VEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+DQo8UD7E+r/J0tS21NDo0qq52NeitcShorT9sOy1xNPK

-vP7J6NbDzOHQ0aGjzOHQ0bW9wLS1xMqxuvKjrNTazOHQ0bSwv9rW0KOsxNy/7MvZtPK/qs/g06a1

-xNPKvP6hoyA8L1A+PC9ESVY+DQo8RElWIGNsYXNzPXN1YmNudD4NCjxUQUJMRSB3aWR0aD0iMTAw

-JSI+DQogIDxUQk9EWT4NCiAgPFRSPg0KICAgIDxURCB3aWR0aD00NT48L1REPg0KICAgIDxURCBj

-bGFzcz10MT48Qj7QwtT216vQtLvh0unH68fzuabE3CA8L0I+PC9URD48L1RSPjwvVEJPRFk+PC9U

-QUJMRT4NCjxQPsT6v8nS1Lrct72x47XY16vQtLvh0unH68fzoaO85sjdT1VUTE9PS7XEu+HS6cfr

-x/OjrLKi1qez1rOszsSxvsTayN21xLvh0unH68fzoaMgPC9QPjwvRElWPg0KPERJViBjbGFzcz1z

-dWJjbnQ+DQo8VEFCTEUgd2lkdGg9IjEwMCUiPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQg

-d2lkdGg9NDU+PC9URD4NCiAgICA8VEQgY2xhc3M9dDE+PEI+0MLU9iK2wMGit6LLzSK5psTcIDwv

-Qj48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFA+yOe5+7LJ08OhsLbAwaK3osvNobG1xLe9

-yr29+NDQt6LLzdPKvP7KsaOsw7+49srVvP7Iy9TEtsHTyrz+yrG74b+0tb3V4rfi08q8/srHzqjS

-u7eiy824+NfUvLq1xKGjIDwvUD48L0RJVj48L0RJVj4NCjxESVYgY2xhc3M9c3ViY250Pg0KPFA+

-PEI+uPy24NDCzOXR6bXItP3E+qOh1Nm0zrjQ0LvE+rXEyrnTw6OhPC9CPjxCUj48QlI+Rm94bWFp

-bCC/qrei1+kgPEJSPjIwMDnE6jbUwjwvUD48L0RJVj48L0RJVj4NCjxESVY+PC9ESVY+DQo8RElW

-IGlkPWZvb3Rlcj48L0RJVj4NCjxESVY+PC9ESVY+PC9DRU5URVI+PC9CT0RZPjwvSFRNTD4NCg==

-

---=====003_Dragon172714510278_=====--

-

---=====002_Dragon172714510278_=====

-Content-Type: image/jpeg;

-	name="banner(06-26-10-58-52).jpg"

-Content-Transfer-Encoding: base64

-Content-ID: <__0@Foxmail.net>

-

-/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4AJkFkb2JlAGTAAAAAAQMA

-FQQDBgoNAAAUGgAAJRsAADuoAABYaf/bAIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoI

-CQkJCQgKCgwMDAwMCgwMDQ0MDBERERERFBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQUFBQU

-FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8IAEQgAoALuAwERAAIR

-AQMRAf/EAPEAAQACAwEBAQAAAAAAAAAAAAABAgMEBgUHCAEBAQEBAQEBAAAAAAAAAAAAAAECAwQF

-BhAAAQQBAwMEAQQCAwEAAAAAAgABAwQREhMFECAhMGAUBjFAUEEicBUyQiMWEQACAQIDBQMHCAcI

-AwEBAAABAgMAESExEkGRMhMEUWEiECBxgUIjFDBgobHB0VIF8GKCkjOTNFDh8XKi0kMkQFNj4kQS

-AAIBAwMDBQEAAAAAAAAAAAARARAhMTBgkPBxgSBAAhIyIhMBAAIBAgQFBAMBAQEAAAAAAQARITFh

-EEFRcSDwgZHxMKGxwVBg0eFAcP/aAAwDAQACEQMRAAAB+39+QAAAAAAAAAAAAAAAAAAAAAAhIIqC

-CCtkEFahKkVUiypBWypFVSpFVIsqVqEqRUEFotLeXJm5JbykpUWadXTW6ZwbwAO38PrAAAAAAAAA

-AAAAAAAAAAAAAgJBFQQVSKggrZBWoIStVIqqQVqqRVSErUFahJltLeLS2lx51rZuNdlNszWRZhrV

-smos0O3OlyB23i9QAAAAAAAAAAAAAAAAAAAAAEEEEWQQQRUJUioKpFVIK2QVIqqRVSCtgtm5Jbyh

-LlzdXOuV3NfpnYSDTXUxfb566+zDZFRZSzDrOh35wg7Tx+oAAAAAAAAAAAAAAAAAAAAAQggggioI

-SCKgqRZBUioSpFVIStQTLklvm3ipUyTWfFtL4Vcx359ZL0Hn6bWdQmnqeJ358dvPl8On0Kt1KWY9

-Stmj0xq9eY7HyekAAAAAAAAAAAAAAAAAAAAACAQkEVBBBCRUFSLIKkVBVC3lyZt5ZihSpl2MXPnV

-S0vn2cJ6eXbc9e5x6TGMgVi1PO6Y4frnx/P0+r2UspZi1Mdnmd+WPWev8voAAAAAAAAAAAAAAAAA

-AAAAAggEEJFQQQRZBUgioKpFbPPebGq2UKFVz5u1jWSXCZDYzcZ8z7c/c656nz9MuNYyxYsLNXU8

-Dtj5gfROWui1KWY9ZwamDWfO7c+s8/YAct8/9Fodufk/c/MwVPqPzPSsAAAAS8l6ueGzs/J1rnfO

-eP7np68u118uz28nM+L7/p68ux08+16fCAAAAAAIIBBBFQkEEEVBCVIqCC+dXzpLlzdrGs+bEYNM

-su1lWNZfIs4L1cfoPPXq8t1ltFi5YVr6njdM8d25+N5uv1jecdmPUxWYdZ1d597GwBbGvnvv4aep

-2nh7/O/p+b3fN0zS856+O/y3pdM+95eup0z4vo5/R/k+vmPZx8rtjzeuPP7Y+7/D9vK/P/Q8r4/u

-9L6fjdP7vg0z0+ffL/XdD6fke36/k+j38YAAAAAAghBBBBFQQQkEVBBBCVqZra5dPQ47tLjMOmeN

-rFrGvWGIOe1OX9XL6Fx3v89ovFixJNaepq6zzvo5/LfN1+77zjsx6mO5wamDU9jNAA+T/T4dn4O+

-KzjPdx2833PN0+efU8v0P5Xr+dfV8nS+Xr7vl6/NPr+T0eWvX4dPJ7Y2sXqfN07/AMXXgvkfsfe9

-Px+S8P6Tq/Z+f3Ovlzb48V879V2X0fy3pejwgAAAAACARUEAhIIIqCCCKhKkEGzy7Z8bnLal2+do

-a5hBJJy1nN+rl9C479Dnq8tixJYsebqTrPOejn8h83X77vOPWcdmOzDqYNT1s0ASaNu7IXz9S0uS

-M0a9KkzZYaxakGXNkzGVMPPvgx2ya5zF9Y18d73O128gAAAAAAUIIBCQQRUAqCtkEEEEVl572OfX

-d56z4uBMIWYksSc/Z8/9PL6XjXq8t5ovLKSuSyh52pk1OD78+M8vX7V0xj1MdmLUxWYdT1c0AAAA

-AAAAAAAAAAAAAAAAAKEEAhIIIqCCAVSKgggiku3x60usmbjsvi5M3LlaLljVPifTP0/tz9/j03MX

-KtokGhqTWj0x8Ur6Dy12O847MepisxamHWfWxoCQeRm7FYjdMRhNWX29ZEg0pcteblvVqRcz1uWC

-TXPNzd2tQ9WwXBQFyhcGuudJBoS6pslasmehrRt6kAoeXm7+pijEusWKp6O5s8t5cdMuNVJyiopE

-klo+enNd+f1U9PlvYi8orZpVXU4ztz+W+Tt+i+uKWY7MVmPUxWYdT18aA83tmDi/J29ezyzeJPR1

-OVxr6d15jxvRja5657z9Pc3nQzcJz+dbKejqdfvNa531cug8nXk+e92zn866recZqR6Opgl1Y9Cv

-Elykxns6bedLpNPpm/l66xzWL7WprrZMJuV7+8ZK571c/Z8nXi+W93WdKWF8iOh1L2dN1xkxrPjd

-8a2cawl4Ekkg1z45GL0c/pepv41nysuOzX3nltz4h4+/6Il9LeN/rjHZjsx2YtTDZ7ONASDxpfRs

-oZTSly1WN+wSUPKlym1ZiXFGUzWZwSa5hUZkwrlS5QzAwlTKYjKZSQaJC5UGMy1kTCZKgRFaMZKg

-1ihs2YTbqDb5by42lyZsRJNCQSasfLJeH1Oz7Y6PWcteXm8Jy3o8t9XHPy/V9T3N42+3PHZhrDZj

-1Pd56AAAAAAAAAAAAAAAAAAAAACoBAISCCKggggiyCCCCKgqmxjd86vm58axliQgkAqeQvB5vOZu

-I9au+3n2bPnGNfJ8a35fsFdP15278qWVsw6nQctgAAAAAAAAAAAAAAAAAAAABUAgEJBBFQQQQRZB

-BBBFVIS8uXGs+NYqz41FkgAEgAAVCVPEl+eY18y579WX6edh2519XDX3mlnUefqAAAAAAAAAAAAA

-AAAAAAAAFQCAQkEEVBBBBFkEEEFaghINjG5ltF5YiwFQAAAQggrVK5rN4Llv59z36Mv0I7b3eWO3

-IdZ5u4AAAAAAAAAAAAAAAAAAAAAEAEEECoSCCCCKEFUFaEEF82TNnWKzLmwSCBQgAEAhKVjMRzmb

-wvPp8/56+mdef0X1+cDt/m+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADVKnMp2KyA

-bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//aAAgBAQABBQL2dpdba0stCYFp

-bphYRdDH2fpd1tutDLC0unKMUV2EU1+FNeidDLHIsLCNM2ejsibS/srQS21pZumHdNE6mnigaTkJ

-p3apZmTcSn4hkfGzAtdqBVeWdRSRzAaZsNjoY5b2Npd1tLQPY0ZOmiFllmVy80QjFLcKvRQVoxWk

-GT6UccTqaqDq3x2FWuzVZIJo7Q4WE7dJQ9h7ZLbZYZumVlMJkmgTCIpyTRmSuTBXCJiuTV4GFD4b

-Utaz0IVJGuSpZbi+Q+JY6YTsnbKIdL/v4C2FlZWpeXTQE6aIBWU5pojJMIgjNhHkpymOlAwsDYTv

-0wsLCwjZWQyuVr7EvB2/l0Oj9JB1N28hz1fjrI/aKxR//b1E/wB3rM3DfbWmf0ssyofZOO5K1D9o

-4+xdTkIDDz1KzL80lFNus3lNz9A7HzSUU+6/69idlrWUMZkmgFl4ZalrymhIkzCCck8iuyaYof8A

-2uwDhv47jTtqfmYNdb6pYxc6v00/37NRL7byM9Sp9f5Ua9GDmuOsyv8AZOUv8tzNvk+Lp8ByfIcp

-Qo/aLkV+tzXMcxd5b7LyFPkuVucpxdDguR5jlxL7JykfK2ZDabluTtcfVh+w3ZeD4W/I1b6jBucm

-y+xWNnjPrm/GrfONRkgljnittKdXiuM5Dj7NvmCoKnahu1/17Jh3HYABZTmy1uTtA7ptIs5J5F+e

-nJlgeL8lF6Ez4HR/S6OY/rxaOc6un7/sFljvxcTTOvPRocdB9dgge79okhmOgVbhOK5KCXki4C1X

-/wBfx9R7vNfbSeZ+Fj/1vCcZWNrf1+kB8l9n+PMVuuEHEHBFV4D6xUjgqrn5GebjWiiqX5vk35eR

-q0HschBVaG1Xnj5mwMlmlFs1/wBgEnZNM61EaGuvAs5J5O3l/wDjxDqJ/QP+x/8AW8+A+u/3+wdX

-Tr+e0qdQyT4dvgUUNKmDyVq8r6B0jUqggq1onkq1Zi2o3AKtaJfAor4FFHUqyIqtY2CMI2UkUUq+

-HUQQQxuUEBkcYSN8OohrVwf9hBC+FDJGMetk59/Kx64eLl02oSQv3G+GH8H4bm59ur9Mh3eQ7HX8

-/v7Ph0TOz6C0sTrcWtllZ62Q1xWtVC9VlGQAdN2ZUxZTeFNJhvtF9fV+PehxPY6/ntPlOPjniuV5

-pnv12hnlGvAVmIZvn1Nr/bVO2a1FAUs8NcW5bjXP5MJIeSqGrN+Co0VmOYuss8Fcf9txryPah2T5

-Tj45tQ6tQ6umodTELuhITHo80TF1kvUYTg5Tj7AlcrA9S7WuxjbqGJSRiW5HuFbqBL1JxEZeRqQD

-GYTDHNHKjtRRnDyEE4vdi3ILb2Og+Wb+wxEiHSS0stsVodYNZNbi5ynuhwvJbJRSoZExrUtS1JiZ

-yOVcryQVYuEoHz/K9rr+et2Z4AoSyTRWRs7dLDTyVpD4bkap/wCqKhIzvK8vEUnojN0vWHgesc0l

-Ww1urPVqvHELvIfKVd+1W4+wNrlKscKpV4Pkos6a9uSWzIJGEcVp7XMwtLCQ8kDV2P51j5Bzvckl

-rU2sRkbWX5ITsQAIbVqtBppSiQQ8nPMwERFeVqQooaE5zvdGyw8ZFIADFPBPxQXYpCiGeJ9x59dn

-ZjKaaWMNuNWbcgTSCZhHHcmgrtPZoxU3ilvxvYn4wQikt5ns04AGygfznBF/V/8AmLd80TSjzfEH

-GXFc0LKOXLDIa3jXyEU+U8mluR5aCmNy7Py1ijTocLxFa0M49jrPntPiuNkaOCKFfGh+NLGE0ZUY

-TJ6kDwS0ak7dSbWL8bWJ/gwaSggKIKkAF8CtpkqQSvsRb/WWEZhenVeL4kGJIIpSmp1LBRQQQNHF

-HCEMEFcdI6mEReGCCuI1awG8UbtJVrSntR6upVIDlKpAUsUEUAxQRQDHWrQtJHHKyCOOJumej1YN

-l4YnFoYmlsUqlpQ0KVdSxBMI1a4H0fywvrGMsIvz3zQjK3LfXNwo73JcOdX7PXNBzVEk/L0lP9hp

-RNd+1SSKtwnI8kXwuN4sQ5f/AN4JYrscFhpBTp3Tv7DB/AvgpPCZ9Teg7MSscfDONr6fSkc/p1hk

-30++Sg+jRO9DgON49TwCQcnxzWhliKMqlvQ9KavJFFM0gu/T8LV59gi/l0L6mB9Lv6OVlZWVlZWV

-bgyuT4/faSNxejeOA6nIDIozGYXNO+fYovhzZCWW9HKysrKysp1ai0PyVDcUkbi9S24vR5F2fcaX

-roNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDW

-g1oNaDWg1oNaDWg1oNaDWg1oNaDWg1oNaDWg1tmts1tyLbkW3ItuRbci25FtyLakW1ItqVbUq2pV

-tSralW1KtmVDFKtqVaJHZo5WJ45FtyLbkW3ItuRbci25FtyLbkW3KtuRbcq25VtyrblTxzIq8ptL

-UlAuT4mUVJG7PwPD2pY/jzr486+POsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEs

-EsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEs

-EsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEjgcnasv8A5Xivk6XWCWCWC9v/

-AP/aAAgBAgABBQL2y3tTPtvPTCwvHXHs/PbnswnJZ7M+g3sPKz3Z7WTv7Vz3sn9Fk/qFLhRFrL47

-r4zqSDHqFEQs8JMyd8LdWtCWem6taYs/smfRb9PhQAzvKGXeN2WyIjGIk8oMLlC2CjEGjhZxjESe

-UBBbI6WUYMTvE2uQfNh/6qZ/EaeXCF8o/wACLsnkdkBZ/Zs/om9WFvGt1l3Uz+IEWTIH0qVnyZaQ

-rqV9Rm/iYv6wIXyecyTPl1L+Y/DF5fXpTyYTGjfyDeP2HCws/pG9Xz1y689fPbl1l+1xZ1oZaGWh

-k4stDLQ37E/R/SZP6beysLCx3Mn9FkXq57s9+emVnuz0z+gz6eeuVlZ7X7M9zP6P49QUXpCi/Pou

-3jo/rMi7G72btdN0bo/qsSx24X4Tvnoz+yn9PK1MvHTLLX2s/tXCwsLHez+32f22/YP46ZWVlZWV

-lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV

-lZWVlZWf0r9BZZZZWf8AHv8A/9oACAEDAAEFAv8AFuPcWfbOPVf/ABu3qQ03kGxV2h3GW4hP1GJn

-WpujNlypkLbDIw09PhEzbDI42H2JlG/gX8alrd3J3ZC+Uxpid0R+Sd2YXd1rfKJ8LX4F1H+VRDMl

-3S6jp62MNLwuzFYnjkGOq0imieMvYhrC8IEabwz+UH4ZsvIh8MKBvJp/x/1H8KkP9bGSOEdEY1yl

-QV3NHCQvUDAzFqP2sJkK3zTyE6aUmTG7LfNPKb/sTeo/ulvaj/pXTek6b9Y3pv8Ap8e38LHXCx7c

-ys97t7fdvb5e3XWFhY/x7//aAAgBAgIGPwLg5RkyfzqMez7QYHIlR/EvkciVGYMEQRG0VR0+p39C

-rMnbaWdHJnn4/9oACAEDAgY/AuDhjdb+wczEH6jrwZdHNj9R14MxOy7ltPsREyhxIiGJlvkLZb1H

-S59iwts2Ml5Eyxkzz2//2gAIAQEBBj8C+bN/mpiawtWw+Twt6vLar/M/Hy4VjX21bp1v+tsr3kh9

-C1jc+k1hXgY14xcVZ/Ev01rjNx8zcfN7Kxx8h2Ctc3B7Mf31l91Y41gKyrK3ortrXFga7/aXYRSy

-R8O3uPm3+YmPm4CvEawFd9Y+EfTWlc9prnN/DB92O/t+RMiYEVaTCF/DIOw9vzGufNwrHCu3yWGJ

-7BXj8I7BnXhFFjsoRKfFIbeqhhgMB8jp7a1jhbCl1G8kXu39WX0edbzT0rQtI6gFiDbOppPhmCwp

-rPiHaFA3mv6N/wB8UdHRtr9m7i16HTfmxCv7HVZD9r7/AJMsxsoxJ7hSdH08c4ke9iwTTgL42al6

-GKGZneTlh/DpztfPKsKZ3OlFGpmOwCjD0sPUTuMfAq5duLCv6Hqt0f8AvokwywWtbm6cb9mknyfD

-QJN1EmQ5SrY29JFf0PVbo/8AfRB6eaGwvql029GDH+wMPLlvrxG9YYeSy4mveGw7BVlFvJhXpp22

-ILD10PkS3qFOdoxHqqfptkiax6VP9/nA+bnUEUErRzSvfUh0nSg7vTXN/NOubmTuTFzmZ/AmGF77

-b0sEHVh5X4VH+FL0fQusMDyctDpDHT+LHfQ6lfzDWzOEVTFGL11DTMonVtEM2n2rXxFN035yQIhq

-VyFsVYeimX8tC9P0CcUjrqsO/vPZT9J0jK6RaUOpQdT2xyr4p+sVp9Spo5S6dRxNSvJ1CxRxkKCI

-gSSa+DWRJ4hNyuADV4tOyiF/MEgH/qKxkjea50P5ik0pYKseiP7DXW9T1IQyqwhibSLNrzBGWVfm

-PXvHCnw8OmNo4Y4zzJMsVAoznLp0LD/M3hH1+RkHFOwT1Zn6qnlj6YzarJq1BALY2xoR9T0bKzDU

-LOrYeqknj4ZFDC+eNTpB/GdCqXwzo9RJ03M8JVQJEGJ9dJ8T0RUPw+8U5eik6mIEK18GzBH9ggb6

-wHlsguavIfUKsot5MPKKlbtf7B8j35DyMK6dPxBx/oJ+z5TlbIlC+s41CnUQB3jQLjf0n6TU3WQd

-OqTIjaWF73ItRnChTEh0nvbCoOmJuIwXNjtbD7Ki53hLXk0e0Wb+6pPzYx8uEkLcZdnr9NCLBW6U

-eO2Fx+L76SaRr6pTO/qOqum6YNbTeVh/mwH21zDxWedvs+gU3VltTQI8/wC0Bh/qIrn9Q4flhn8e

-1jht9N6g6eFlGi7PoAzOWVdF0Wo+8LdS/rwX6Kjgx/7kvMbt0p+gqSVBjM/0J/efJFEwuFXVj+t/

-hUQuow1HLNqZY/FiI0tS9O+pmVQPDb76QzXHMxGFCVCAp7cDSxL4ggt24mo47WKriO84n+wdQrEV

-ZRc1eQ/sirLgPJh5t6lHZJ9g+RtsX6/I3oqA/hV2P7hH2/KGR+mhZziWMYJ8ljiDmDX9JB/LWtSd

-NCrDIrGoNapYY5HHtOgY1oIBTLTbw29FHR08S6hpayAXB2GtUMEUbZakQKbVrlgikfLU6BjXKZFM

-VtPLt4bDZajyoIo9Qs2hALjsr+kg/lrX9JB/KWhzOnifSNK6kBsBspVkgidUwQMgIUd1BI1CIMkQ

-aQPJ72NJLZa1DV/TQ/yxV4okjPaigGtbRRs/42UE1plRZB2OL1/TQ/yxWqOGNG/EqAH+wrUaAvjt

-rOsPPPop0/GNQ/Z/x+Qv2V3nySnaRpHpNdX1fsxpyx6XP/5+Y96w21qGNZeTPzT3VqHsHWveppXU

-3VhcHzwnbnV/JyFOWJ9JqPmC00/vpP2shu+U+HfqYw/i1XdbKUIFjjnjRgjYmQa80dR7ttLWJFjY

-9lNPjpCSzKLYtHCbFhsscCMcb1LO99ESM7WzsovSwf8AKzaLdl0Z747PCcRtpJ1fXFIxjjMatJqZ

-b3sFB/CalLCZVhNnYwS24Q34cM9vm6X7NTkZIn4m7B+mQNtc8qxJe2p2Ci/rp0+LiGm2JkSxB7Df

-9N1QGNhInUOY43QhluFZs/2TSlS2hxEUfQ1jz2ZV2XGK5nDKpDIsp5S6m0wyMMBfitp+mtKCQG1/

-HFJGN7qPM1zypEl7anYKL+umj+Li8KhtfMTSdV8Ab5i2NL1CMJYmZUVoyGF3cJ9ZrkP1MYezavGt

-lKECxxzxopcawASu2xy+qilxrABK7bHL6vKUuNYAJXbY5fVRAIJXBgNhtf7fIHQ6kYXVhiCD5Qmo

-a2blgZ+PTrt+7j5hjm6qKOQZo7qpHqJqMp1MeuUDTEXXXdtlr51LzpFhWJxEWkIUFigfC/caEnTy

-K1wrMgILLq2NbI0HTqI2Rm5asHUgufZ9PdSRs4Ekl9Ck4tbOwrk6xzra+Xfxacr27K5DTxifAcou

-Ndzlh5hdyFRcWY4AAUrTuImcrpjchX0s2kNpJy2+ihJCwkjOTqbj6KwwOqRQpz90+hjvoowluPww

-yuN6qRUbIs3vbFbwyW8X62m3rvamgjSWSdf+NY2H+p9K2wON8aUr00qxNlK3L0/Q5OOyw8ttorH1

-13eZgxrOsqxU1rjHvUxXvHZXwkp8DH3R7D2eeX3eQuT4vYFc+cX6KA65SfaOwev6vk1axMd/Hb6K

-LPw38BPZXUFZEEfK/M7KUJOnnDUL68zsNsO+nAcSfEzdRDKi3EkYSSVr3U4Dxdl7tnkKEzQxTxjo

-V5ZkaxitFiVGhvF33GzsvXURDo+ngQBpLxWcLpRiWsyJibBLjHG+yghimIQm3w69GsNiGGAcA2s7

-YNfPbnUE0qc6eWJPYLeKRMT4Y5LYE+zbZQKwJNddOHTyqQjgM7DTG2u4cDEIOwAN5VuDyyNmHioM

-cJTfQzC/oJGFRxwN1WmaSzuvwp1nlE4a8b+HbhbAbKMchLwOAF6eQJ4F04r4cM792wYVD0Tvrhif

-+Mb+9MOIW/4lOLY46f8AMF6P3MB1SaedKvMOEch0lMMNvHnsqLpynu4TF7vWngWBmYPf4cXDasLG

-5xvt0kx9Gr6WfqppZI4XLpq1t/yI9l1ZWxwGWaD4LkTQXfnqsK3cixQ8otYWcFQTc+rGjpxax0jv

-pEUN/wDW+NFUcxsfbW1x+8CPooxfGyfGWCzye40GOPEaV0Z+PL2b438OqIchJG5sQ5sgDBNUqDLM

-32jDDbXMjfQ/TOvSBeZH4RK8eAA6YDEaSOz6KkEmMg6bp9Zzx1S9y/UK6uOBjzEghkhS9gZA8pt6

-G0gN3V1H5h0j3iYxx9Ox8KcsEB5MQbEFnuSMlGFSRT6QoCskfNadxe97s6qbYYXvtqb4eRE9xDq5

-iGT25ex1r8wZnXm/ERh5VXSFRkhDNYlraVxxwr4RHdoZImaXVI7MhuAtmJ1DV4tuzDbX5UqSyp8R

-y+baR+H4d2sLk2H+W31V+Yus0v8A0tXww5jYEQrJjj48T7d66qeHwr0a6dbTNEBLpDiyKtn4lwc9

-1u0Am4XrbKOwfBX+3ya1BNiNds9NSHHkjhvjjXPh6lokjF5EHKAKi9/FIpsfSbejOsJ3fo1HKgik

-CXATC50qDfC1jltxwE83Swp0t51hsnLRk5kcekE8qTMkYLke0YiXp5nv0/TWhjTUrW8CMMokJwOd

-/Vtrp4nuA3XdV4hxA/8AYsR3jMV0nWddZHWUx9iqscEutvFkGa5vtULXxHwM/P5/xOr3d9F9NtOu

-9+T4bWz78a64QJDL08si+8diRZoI/ZC2YW/WF6SPUX0ALqfFjbafI0VmEmrwW/DswqwVTJ4T48VD

-DG/qzFdMBJZeoCTqOYqXlwmb/wDnf2rtbV9FdO/XCKVGtPNJOFdFj0bBZLHHvsL4100nSQww9S8f

-VTKJI8g0iFFOmxBAbT3Y0kr9OebykWRShlCnFrA/DTD2swa/L5GiI1WCusdsWiOZ+HW/8w9uNSxr

-08ksTfCxuxSye7nYtxWuLH2QRSSxQqg/7cbNGgUeGdQgOkdg8lqvsNathwNd/wAhbbspup6dcM5Y

-x9YoQ9U3+WX/AHffV1fDfWYNZViDVl31ajqa7/hq1/B7TbAKjPTPq1C5ce21d/yj6+ljYyFi7FfF

-dzc+LPbRMa6SxJY7Tdi31sa+D0/9fRytFzwW02vnlTwyC8cgKuO44Gixea5N8J5gNwek6bSeRGAF

-TU1rKLWOOI7jTLNEJA7iVg2PjUAA7hbzCpv4hY2JB3ilLGYlTdb9RNgbW/H30UJkdCQWV5pXBtsO

-pjhjiMjXIaNTBYDlEDTYZYUjhSZEwV3ZnbbtYntNuy57aC2YEEnmCRxIb9r31HIZnYOymLgnXbX4

-mxCi2k48P6uVDqdI54Ux69ukm9vM0uWAvfwO0Z3oRSwclREhuiqNOlu1bZHvFRgqX5Ruhdmds75s

-STjY49g7BSPIupozdT+noB9IB2Vr6jp45XAsGdAxt66tDGsYtbwALhcnZ6TQjhQRxjJFFh9FaII1

-iQm+lAFF/VRew1kAFtthl9dEgWLG7HtNrfZWjp41iQm+lAFF/VRkSFFkY62cKAS2OPpxNOpQESfx

-Bbiwtj24YVzJYUeS2jWygnSdnoxrVoGq+u9sdVtN/TbDzOdIC7ggqHZmQEZEKTpB7wK59istwWZG

-ZNVstWkjV+1WiFdC3vYfp6h2DCtEK6Fvew/T1DsGFBYYUjAOsBVA8VrXw22wrTKgcdjC+Yt9Rt5L

-RIEHYotkLfULeanT2IjisI9LEMukWwYG+WGdImnwRkFEGCjTlh3bKMwX3rYFv09A3Dso/EQJIbad

-TAardxzpTD08aMmCuFGrszzrRJcpmVuQD3G2Y7jhQkjTQww8HhBAFhcDOwyvl5lj6DWk5ir/ACH6

-3bRm6X3U21fYb7q5UylB+FsUPo/ur3qlT+riPvr+MPXh9dfx131gxb0YfXatHTYXy04nfXO68np+

-nz0njPq++mJkCp/6+KXd99RmFdPSxH3cLY76+M6I2k/5Iu+u8Zj5kdxrWPX8lY0VZQyn2WFxV4w0

-J/8AmcNxvXuusNuwr/fWPWf6T99X6meST0WX76vDCof8ebbzXhGIrUuHULl391EgWYcS0Nq7R20J

-ekOlhxKTeu8Zr8ydO6r/APga19dc6Ie/GY/FWtM/aWg6H00JFNm21qXi2r8x/TVxn/4VxlR6iEeP

-217e+uZHntFXBoG9cwC18/LwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ

-3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1c

-J3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwndXCd1cJ3VwHdXAd1

-cB3VwHdXAd1cB3VwNurgbdXA26uBt1cDbq4G3VwNurgbdXAd1cDWPdXAd1cB3VwHdXAd1cB3VwHd

-XAd1cB3VwHdXAd1cDbq4G3VwNurgbdXA241/DbcasY2t6KtobdTdTFE2nOQW+muZHntFL1k8T8ps

-Yk0nHv8ARX8J/wB01/Cf901/Cf8AdNZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ

-1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1nWdZ1

-nWdZ1nWdZ1nWdZ1nWdZ1nWdXvWNfE8s56uTf3d/RWdZ1nWfzf//aAAgBAQMBPyH+Yf8Ay0sH5Q6m

-HKILngluh6sq3YnC0LgtrmyrJVj6/wBPNAQ5mIHvKGhLC3B1Zz/mAQ9YJ1Tqs1/7NzSBfQ8TRFh9

-BKpgJMJy5eC5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cvhcvhf/lpdINtA

-80NEcDAFzmNRY2Kc0dsOlse7/IlcAL5B7zl1dpkz+t/m4t0vma+0BSctHT56MEF5/UejOd5uCUhG

-KrE79ErDxuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly/Bf8A4TREFzVA

-t5g0IsvpmcjpvOoEcP7Eblo92Z6i8n+IdBSj0EP+xoQ0aek6ofSdduuEJSgRW4npOizh/K2Yrd1w

-580e0YeIox9eNy5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXL4XL+rS6F

-wTXHeBarhpiXGGfyNOd6RNADeANGegyzIPYhDgZvVNVNLqjyqAFmec0BgjWKl2awWC3CJau4wtZt

-el6Oe0qJGKIAqNRy4XLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLl

-y5cv6PPK5g0xGExgvrJ6EzWP7zlVurHogX9xJkF5BmFVRvzmmgLnMgJ01L7SoqBT0CVuBVwg4DGO

-BX1+xMec135Rn2Pe63uIkSCJUyHMlN9UuXLlw4CZwJuqrpUeNset0hzEnlz9RSxz6IXiNCLQAt8i

-admOvWWaiI5EyIy5cuXLly5cuU6JvTBbMdmzgMlI8uk/0PEwXVppLLeS8MKO9omQsJiLpNGtUrPP

-ges7GARrdjrNzJX3gZxVbALa02NeB6stqCW2FLl+kuXLly5cuXLly5cvhfC5cuXxv6O1JbRwzLnN

-EodcJmLHTlDTJ2RpG6p6ZM15S1hVAQzWf9kZLcxmORd55/EI3SGI14EIcBidJ/sEqwx+pkfiI04o

-dl+JYxhjiJ6CXLly50n9otfbbrwurlET5rAfSi/tRCOUJtot9hKw5DVXKz5DQqN2MHLCuhyCJhZT

-BbSMNY5aMpwejod6jFesQGAD7hOvKP8A2FAqxlBWjm1RCqBQlRoG1wDAmwq3VMoFB95RcPNpybNo

-Iv0GEHU3OspN4KXermcEzvAUGubVZaQKzrIYZ9yyXzlKsveQ1MwA6SwVbip/yesqj+N1QW1rjSdU

-cgQl+yCq4jUDqlLViKlmtZc2FQinNvRZDFdoizjfN1lKNXOGnSXLly5cuXLly5cuXLly5cuXwv6a

-pn3TbE65dXMZFM5NqeYd3gpAbQTWXftFdXCqQXOtPoQ0k5QlQ41L6tXuMoA6Q1tEj9UX0iMY8BnP

-xPtX3QfyRNF5qpcVD1JnIWcOqu8UxZgPirPTeQAXW33Rib7W4BtS+kX03jyFPsBjGrhJrqY9Xm6w

-tNQ11GfqBGIa5q+xUHi+ylSvtIC1Ka5y/uJQ1KlUxl2y3B0wr8ikDhoD7xpA0ui3OiwtkuS2ANNL

-FGCAC3Nnj7nAcqRpeVUZLylY5mnao2djUF1j83D6xKIAMXY7zFdUSzitfeXqRorga0lDI9Ddv6l3

-0Da/3P4Gh1YsgJtbWks1Xse8MYOgQTWM/tFXLxqY7Vf5D3LPRlgIaQ8BmOCP1Q90SAU6WgSv3SIx

-jxK8RuBWavVUgVuuWBBAqBYj1IrnJ5uUA5TCD1qBzNRWvdJYkgyjsckbd/dXtRqPMj9DLWq1LJiD

-GhU5WxRQhYXluRRN5wTnNRknlL9Tz5+pZ2wTlyF6ByIfUNmwLoS7j4RabaDq8KfsgHa+CPJ0v3qJ

-pnnkTplmXg3RN9ngiDDdAT1gV/AvWMBriv8AIEwarYzHliOwq6+JqZm9dzJCXcH3VT9hMBLCHEhi

-Cy0FsDk69vrFh6QL79BY1bjL3H4+6MYx/oRQMuk5NH1nRLRNEHUTqnpAc7O5B+SEggnWBMI1yISH

-ik9Ue1kpBALmMKVhUomDgsBzX2E5j0hJBKzPa2D0M+sJ7HQ6lD2iWdbjGMfoBah2hoK/B6CuT0nN

-qWDVW9wDZjsxM2FI3axOgGAGhKqlKrrOOsXao8dWBWGYRYUTk02RbntRETJYVRcpMTpcCVp0DovP

-Sl8ARWyiWrAvUxfd1MFFalSWatGcMv67io3UGaiJqVpSkNaoCCMHTFi8zOBAHoDwFMJllmXGoxR0

-J5XNqc0j4ssa5poN50u/ARUqVJZq0ZwwrVyTJDzHJHKzrCsT6ATSNUZMwvcyk0Ffg9BXJ6SwDWEw

-VEnRtXZggGsJgqJOjauzxsA1hMFRJ0bV2Yi87y1BR6NB7MqEpAZ1AImo8X/iNyy3Vo01cu54KCk5

-kiywOjcA9Vo+mmVz1XWUIDP6Yln9LMDpQZ2AnmFbQSkSQVgRyvVMDLGFW7GWjLUfQFGtussXLh8i

-Dg0u3bZWONMFSCzqBVdAmsxAfuCTm3ktYIkv4zRPTTThrDM9AEdwC9OrcjZVVuYl4aejA+AVOMEs

-KufyKnOQfAVS6OSFWmLYFaLZxF5Lgpkg4TGeDxvZhvfe3NJy+bA6MwBqyShlupOiV2lH/RKdC9yV

-6l7NS1V6TMv0ZRrV1/YhnSzHma+vlBQgMDjssps07CGGsB1exeb1djnG6OXpffqtYYxYx8RbMEN0

-6ak5awxnRzNxbqETcL0N6QFn3AjMUOBM0lFOQC4wLdOpalMVLaL6FGQtvAmmSVVLB6ynPBcULZmo

-rOraqlsbX3g8rYZe3xHSAUUiFHHV+J9KRnzTao2VSxDuCT1LOcY0ppk2sa45QGkDKzscyAairVga

-lCCaUc3ScWjSjmRUS8w02veXxpBrcquKPgULCdKxK/azlKI/aYK2YtfO59E+hVwmVcuBFTSnUpj7

-zplgb3KOlSlLlG6m8alpmB0JFiS5xt94QgnKSDNY3EAQ2sYEZkbCDMBEZeHKxk6lBsLZuQnPTtGk

-wIbdclZCzJF4XL3HkQeBpIFEKDL3EiJ15Qnml6qoMLXrm0axefWKWGvSK5UNkircYhgSmsbytJp3

-aJarKosrDqoz2MJSIv8Am51LneVtNmsAFiwnMhRCFlBRUwWsKPs82WaHQtPd4NSHQLK/1KxYGRp0

-C7azGZrwJI6kdBTlUQlO8Zuo2ga6c6IvtKsLJ2giYKtyOmSeWZozVbLQvwIUmVW3SUnJLm4LdXg1

-AZGQckvfmVBt7wWVyFjL3LC66TGs52pLBVZzXVeAoJyprY5rlx1oDbDAa3wWWmpqW3/UGeZoXWdg

-0UQwfjWicBuqrBkLArQQHdkFddrSgJMITCl1LawR30xHB12OeQc1d9wgWWwHVrlZdzig1xKsOqzM

-gCxavOHfhVuQp7FmL/uesdDli8aVGGqWL8tWNr8nrB2isW/bybxgerI3Sp+3D/IBqXsyhovvKNCX

-zQaDpHIqbC/d6EptXQA1PToQYCsi1iGcwsWLFi8YIlZRaE5LaqnHKo0Xqwo3a5q6GhbU8s4WTYu7

-mUlKpZ0WU6PKEMqRenOAAbBUSdE0FU16LDaPO5iN36cpNMKDCWOrfD8Q0oESpJWEEdxuXwZaWxY5

-GkdmGOUgAJRaVrdwZS/wpYtLlUUViA0VoAXUgpUlsAUK1AWgKqjSQQKQ7CkBieAMADLJt5qqWsVw

-InSjXUssvTNavG331hcmyXTTUazpdTARzgzcrXalCMLVDDguoQUASCmtAQbBcmx9S6DjmAQdQhLD

-NWHGWYQ8qJQBgYtu69ZdkmqO22ihq3FFuFYWLoGcECAVJMrUL0LV3YY+ixTQs9WgdiKLMKwsXQM4

-JiWRHQXQtoV7vWWaruCWD9IZcsShTMUfI3S7CE3Z7K63P7vpjThppPxAdVCC9vCrQOvVlBXYZdeS

-BVBYDuxsFLOpVHoABoAMARsFLOpoegAGgAwBFAXFYrTTmZdMSmC3gHI9eqLZThp2XAOA6dAGwHG3

-XTTgoxaiZRoC8wsijqykczoDosVqCUIJkIK0Dqqx92hdUs0VZmecg7xotWqcRc4sASujZTVW2Hxs

-UOVKUWXmxcyA1OatQVUOCt6K4DSPTgyXn+5ET0F3Iap0YPG5cuXMgxyQFMfPMPTV2xBNj4PyG+Ch

-zmr/AC+yD2H6/wARBmr2t+I8aHop7yvCthqF9n4IfVH/AEbTv7ZZJbQaXQ1t9aS/JSdSlt7nn00I

-G66vsd+jzmRYxNqMWLimb/oVlOk9jHvLI1jHbAp5OkFMMuXLly5cuFU2TVrcb2mMtbdXzXKong8i

-/wAn6xyqzZf1gDrSgvvf7ymGOY/NMT0mlUYBRz0r1fqPwRT4bP3GReQzoA5NRnGqJD0f0zAMd6P+

-cHLGor/QlXdM5qvPD3iO+89L1gy5cuXLly/GAxUT7IbUB7A/fSPww9T/ALK4fIck6MFqjRzJy99D

-8kIi/wBEXZcxPL8oicjkgXdZo1Lly5cuXLl+MBCI6TqvnKFyf2N/zP8AYD/7AVLrBXl0iUwG9z14

-/OJ84nzifOJ84nzifOJ84nzifOJ84nzifOJ84nzifOJ84nzifOJ84nzifOJ84nzifOJ84nzifOJ8

-4nzifOJ84nzifOJ84nzifOJ84nzifOJ84nzifOJ84nzifPJ8+nz6fLp8unyafJp8mnzafMp86nzq

-fKp8qnyKfJJ80nzSfNZ89ny2UKfexq5nLKF4i90wruTDEHN7p8qnyqfKp8qnyqfKp8qnyqfIp8on

-yCfIJ80jGvKL8RTeN8SH3sLGHV6Opxp1n+6HAXgGYPJ49HXtr5w/U8ofqeUP1N57zee83nvN57ze

-e83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN

-57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee8

-3nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvN57

-zee83nvN57zee83nvN57zee83nvN57zee83nvN57zee83nvM6L7w+dTpAf8Auhcl1tdbVAShVN57

-zee83nv/AF//2gAIAQIDAT8h/p1y5cuX4Tgv6fcuXwvguXLl+Mf6XcvjfBcGynBZKI8Z4B/o98F+

-FfEprwF8RYRrErxL+kl+BcIKz4y4M1mniH+gL418b4mKPjIofEPisVEq8cNR7P8APpsvCvvLCThQ

-uFtCX6efeJyRxKXRL9PPvHWn8AkrhZ4FS/AcD9EmpD6dYxswTG4jpCrY5ytT9zGF605kVLzLjqYn

-IZ3lEBfrBOVi9Zp5veUBQd2CBprD1eXquJRTq8KKSxkLiaiUrgXCMXU1wlG/4Bl1FXjU2eIhpH6B

-xc/qavrMqjVsHibFj49YHPVLGu0KtrYa/ltMQdKgq30mC7E9co8+kpoc5ctm2GIJnoi09P3wUIgo

-Vw4A0l0VfwJIzhNn0CGkfp+f1BHN9+FTce8tc33hZopKirm+8VdVfWCminrKjbqr6zde83XvBTRf

-eFmi+/HVOGBFGI4YP8GYG+Ff+KJof0c8Bln0UqgifQEfKH1Vy5cuX4ly5SXxL8Fykv6i/BcpLgy+

-N+JcHgOAN8GOGDjctLmJiVKl2IkqV4Qmiav0xbCXjgSsRMSpyhxNymjwMCMOJfp4RxJz8LOfA5hC

-usYfRFUeHKVxHwDpDJ9OzWMVKlSoQpwA+qUeCpUrw1K4VKleKpXCvrVK+nXGpRKleBwwfSqDIJwY

-lUeiayv6UMYdPp14QqVE8HV8Ff0J4VHr/wCGong68CV/RWEr/wAKQeC/FSUlJSUlJSUlJSUlJSUl

-JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlIiUlkslk

-slkslkslkslkslkslkslkslksg4Bqzelesr1/wDnv//aAAgBAwMBPyH+nVKlSpXjT+n1KlcK4KlS

-voP9LqVxqVKly2ZmZb9An9HqVK8FSuKwivAk0mviH9DqV4aleFYHjSaeNP6AeKvGsD6L4z4so1Mn

-tymxK9Jbj6YjlFwZrg9Rqz1Qhf8AJ5Fg9A7L/YQLmVwbv/GeRYEv0l/4fwBxqV9Fh9F+raORXkwC

-6zEEAu44iXUI8hEKEsF8N0Ee8UawV1mJekGrpwzXdO9Fov4gZn6MZ3yiVpGUjXPRl9mrZlg/wBA+

-mx1h9J+qs1KcyUCwhzOUlM0LBHo4TlRD+WDN9JzEzogonrKruhru4ULq8/uFuHGJUOHNlkKyxp6J

-gCLe4uXj/Akv6brD6T9X0446Ex0OFz043wx0JjoT08GqEm792H0j6wKiDuzNqpu/dglKfV/gx9Qf

-S5x/oxDjf0Eh9FYY/UqVK4VKleGuFSpUqV4alSvr1KlSpXGvDXCpUqVE4HA+kIPjuazT/wAAS+D4

-GjwEuEeI54nhfEcXgI8H6a4R4PAh9Ri5fguawKjE+pfgvhfhuXxv+HuXwvwn0riGWmZmWhw3xT+j

-kPq3L4l8L/pQf+UfEX/WR8GrjTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZ

-TKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZTKZUplSpUplSmVKZTKZTKZTKZTKZ

-TwHg3lLS0t/89//aAAwDAQACEQMRAAAQkkkkkkkkkkkkkkkkkkkkkkgbJSvUfGOR4/GOh4SeWOeO

-cttkkkkkkkkkkkkkkkkkkkkkkmbIXqVcDOFU5jqhW+s8KTHEltJJJJJJJJJJJJJJJJJJJJJJB2t6

-B9HNVeHOVPbqy0/lt4B4tAAAAAAAAAAAAAAAAAAAAAApP0n4GpwPGdGGf8WSHlxfC0Otkkkkkkkk

-kkkkkkkkkkkkkkkH8kzKxPA4li0j2xKB6gwI2GVJJJJpJJJJJJJJJJJJJJJJJIiTtyJ/A9Kpe7Gq

-rnWMB22mNeJJs74JJJJJjWmzmpJJJJJJJiSl/wAA/QnMlHYXnW7+2YqppiwABeS4QcBTvQ9lf6AA

-AAAAAKW9JP7EnRHEDeX7CK2/I8xg3P8A/ldQ3M1VZnvNVjf/AP8A/wD/APfQkDbMSBv0nOiwE4Jk

-VCVV1r622cIK1UjxuW1tfoe222222gED/tGVtyCqD82WpCqerpz9dy2222222222222222222222

-gkD/ALZl7UhEAej3/WGElZ5thpds2yUCNmtGW9s69f0v325kxRLB7QTGBOOV3QyWSUdqE3S/fdsE

-dUYNqtX8/oynsDQYIvstOhzPVN+JkNdINksm9Gr6ppNyts3CfotnzrNjtzIZfW6efm7O+O7emFQS

-I6hsIJMKHFp1fbsNtttttttttttttttttttttpBA/wC2bW1IDwZSD9/+H/QK0CAnbbbbbbbbbbbb

-bbbbbbbbbaQQP+2bW1ITn/om21JJIH406UTbbbbbbbbbbbbbbbbbbbbbaQQP+2bWlKT+JztiSRBf

-/SOk6222222222222222222222221JbA3/QDukLEW9v0SBZOpWHv8AAAAAAAAAAAAAAAAAAAAAAA

-AAAAAAAAAAAAAAAAAAAASOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2gAI

-AQEDAT8Q/jmMWMYxjGPAxjGMYxjGMYxjGMYxnIFzoo3gf5QzVrBl13tZrMHnohmvcdPadCKdYDch

-ELmbexA7hrFVGHR4bly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cuXLly5cUikWLF

-ikWLFixYsWLFixYsWMWMWMYxjmakRWWCajlDCA9IfYLD7wdbpyMHuzRy86LL10FFypBV8y/zKIY8

-z9ly+k7YyKA1cvadJj2CLu5c4qEsY6vVlbfyIAAAAAAAuMMLGFixYsWLFixYsWLFixYsWLFiwxgs

-zqU3g+Y9CaMX1YoaYiNhbEVmj0Mso6JtbDt1l0Juie3+EsW3qVB3cvskNst1R/KgDKt1fipYsTko

-fildXlNBva/s+kvQJtK6tL0+CJiOo7gNRImh1PVYIHIl8LLacoK1oyMRIUmE/jwAAAAAAB4DCxYv

-AsWLFixYsWLFixYsWLHM19rryjdHYZmvlurKxkdidSJWsnIJn3cznG7mCY+A8tT2gWQJV+h2hsmL

-ylnJ82/QaIgMVQ9IKBY5PwEMrsQgRQ3RDC2z5BWn2jYZ6lMvxzFHI5JzImq6yLmeeYe5Oe0D2C6/

-9eAOr115y7Xj+RAAAAAAAAwxfEWLFixYsWLFixYsH03YXM6AxnlXQxNDzdyxkjVg8sxikr0HuweY

-ef8AtAqY9T7w5c+mce01NfJlfolW7yrZ6b3lAFZmjKWcwcbs9JnYer9EwjB0CddE6TniIHJBXENs

-Q2Vog09uTzIusfSLK2bf9MR5zTiyKyI3o6RijZ/HAAAAAAADwHiGGGGGFixYsWLFixJG+gdAJY0A

-dAlHOC532iOhMAPSLmdTcz7Jmcfy1ACsDoYiK62gW+01ku8jfQSkBOupd1zEQpiuOcMN1z+gCm8f

-wGDoCsfiCOJyiWygTYh0zYlrK1/EJouynzasQaT7NRV6gj2JaqBHVQW55sPNHi9subQ1BLlWqq8I

-VwkM7NycJesXHZSZCOvhI+YSWSDVsS9XrUt3q0CwcHSF2MqwBsLgCxEwiP0gAmg/eiCegQ2psdWg

-xVSlmpWQJi5uraQOt0RexZR1AauYyd5FWOwRBgREzLALDQa8CLroFt5PsAa4uBAIc1YANVjV/wBh

-wjegThVF6cCKtWaroZK3Zoxr9YABfAseAwwsWMLFixYsWLFglJRqakb/ANJEarPKUaz7SVCukxBG

-ibK+8IKod5lWuTfvKDeXn1jqtBNXuuWAWgIi0PVALIV6eWB9wGM+wPvBCYARwyrgbQQQRJkb4l/F

-637nq5hXEvrf6VJmZxNK1DdR9IYYZYMcF5yt+y14Q5IDpS/IwAbNrQviO71AXSimgnRqDWvZGVUt

-7SqyYRlitpeseAukCsbxgHP0bWrkukAZZMaYap50O5M2rWj2gqyqg6GJ+olm84AanpbVy0wwUjrR

-XSBjEsocs3J2FautTGSWlMABFxcLjOasChdpbsPR2lsppEDdqVcxzjt1Kw3WogNa1o5zEg1dRTQs

-0aI0kTLCzQpJQQYGGNI92tgsrr7oLtAG8gTHerWLa3ZLIo6oC8kSGQ00BnWCeyDC+ZDVYUgfBDUO

-wGaTnTUWs0cRt+hBxvDAMeDA3GnKc4xSLq3I2FU1laAggQm2Rzoj/wCAAAPAYYWMLFixYsWLFixZ

-W3o4mbqS9mFdVXefeOa5moPoTswOdd3Qj5ha3/n/ABNvIjXu84Zao3iWB6olbV3gTOmgfdWHnCbb

-OHvcoQXGHGkFBAYEyiW9fhC/TWAaaKhn2mxgUcb/AD8wPD2K4uB7S5cuXLhoR+NSu32J7RlEAZGA

-QFn1gB1rwqxZXXtDd0m0wqtCUAg5xCA2aiPaKDxCyqKNNgU0c0B0BWzYq0oNBXRjSOCDmhCULsBy

-aLxZBeLm6RkzooeqWlI0eiPR7kOOksiJt/PuYgd4NUJ1eSHaHtf0gK2yGXMuAc1L5SKBQqKCCqQl

-ob6z0lDuvAKXAaF7xiil7LWvsZcpnYALLqzpKet5cxrdsJRDNCDqKoE5XUcoODGgWan3Q9CpMAtD

-ZSVxMtE9zJ2mzJHwKlIVqKvlWKGNgKtpejFy5cuXLly5cuXLly5cWXFixZcuLFixYsWLFixYcmiU

-87NGIORq5KnXeRgR5roTE6no+vUysKNAohtqiYAer/IvZbvAgQgL8gb2X/UUvrKbqPvfCHYgxAgQ

-7QWolUekq9Q+R6H5lF3mrG+oIu1QP8bQPzh8PHEcPi7xBzukXdiWVsKaWsVWIgYpEsRiinWVXVeb

-DLcEoDYgsZgv4HCFQLwC6TOkmrRsYekXVLntXAdUYY4VbVUYMaazDVNOiqp3RylGGt6YEzQYIwrG

-tPXaodGLqrrlV3gRMMnR7WO1TRglnixGBiKxGCC6myStJllu/AAkX5obOJ5P/Utt4qnnUouDhvDB

-8MK8ViUUJEHXMCj0nk/9R4m223UBiGULVbVyq8//AAPBj4GMYxjGMYwcnc/cc1iEh0RIZGjmi9bW

-OLQbI/iWhhuxG0r1eAQIEDpHq50+uO9yU/Lc6wDd9hLMkqI4QgVo1hBvzmvbPSIlHld5aQiLoqD2

-qW9C+l3EXZcaVwj1GGHHHwvEdH8e8GPgYx1jrGMYxjNoXPaI5WfT0MNDC5DpfMiNYBY2JWvXSD1M

-3X/kFr7h+hn4xWn7wEusdRnM2RPJAdG5SBf/AGo6WuPGWH6u+Qv+cQDETuMUGYmQdMOiQdDEQc5c

-TP3r+7UIOkUf3Hde3eD3OkvPHrKuyLheKqmJzMiaKHHHHHiLh4AVoy9JTdOvSXK5M/vFZn2TTihd

-BN0xZesy1uMACKoLoUjF0aVTgqigoVWC+crO7LWRMNlg1GbRMiwvF8Z00FEW+Yga5mgHdKjC/EAr

-QW9Dgl2Bm4S2HNFyK5oq0hVSCYoStaGPmlxrwOCk1GsiZeEI4t7ToakxK1TEzyTW9AFCYYVZbHSN

-bo7jATlGlpiqTJQS20MFtUPFEBTDowgwhVSCYoStaGFW0YXoaADB4WMfZ67UFjgDhSpe/p78sVmf

-ZNOA1BEG+S2KKcLRowagiDfJLEFOFo0eIagiDfJbFFOFo0YfpIAMzG0q3NDokEtBmDW0AKFxANiY

-SUymIrLRQGN3M6ejc4IjSU9GaQbk1VAWAs0bh6MeSk8gIZt0QMMDbINMHDTeCi5ytqgu75SJ1Ryl

-2pspB6CbBkcpp8M/1fC2wGjWDvtfe7PatXiCVtDwoQ1aGTZWvBlgoKGrygoFmClMABaukGuwtxUR

-dww1JOrRhf1yVQRp1Iqb9IqRFKQdllLUzA8PqBoQc2U4cjKirYQaEI1B83MmClG9y5OLFNkdA3Td

-3TWLu2CFVeGAPOH9UsnSUdGs9Yg1Va5ycS6DztekCZBjp19I61nqqftOQHd/a4fZjfqoe/dPyuUo

-ESkoKfUhMDIkczSpcdwrnDksLaF2ryE3vs6S/NHRuFGanVQMTLiZGxXy/wCjmNofoBFpmfcF6apA

-yc1MLe1WTQViyKsGkfCccWIuHgu9pATSuQJ9VSgh3BTSwyIoHvElQIkdCqg0QWWrCPw6zavKPMpq

-0wT4tnQBVfCj4QPOkyBQpoTCOWBJYt8Qa2Z41VyHHfW3BWswMMLXJjC2PO5XQR4ZJoPVmKjiwIDo

-PUKqIuXK4NGsZlsQUPcZKp0CUv7IZ40MYTLbqBHQfGQalcBBi3riV3cGqVVtVyiGtSNtkA1yNMUV

-7qMbhl3OIxuchQtW2KwCwcIPqoaC0+tJzkjD46cu00zjaaMjBcKmPFrMOKaS2gTkNWTr3mDc1gH+

-RGlsLHcEtW0kwOd3hSxdy0N2hU3nC2QPpGwq87FMDqmMMJberaZz7ouQvu1pVahAvNAErn3LI09H

-PVeWNKy4UI53DrffK+cGi3kjDGvMbzZi1pVVsBEowFRMYqyiw3zFclKgkRe1gLPRTvHTgQbrfRJr

-NaSrMWOq8M6ooROUTJmi9GU4ktAdzrV2RyxHFLhDRxMQIM1xE1/zDotU2sSwaCuHtasJvITjJb0y

-VkVoBV6kLqEZkFQgH0dmGSc9XO+HSxnCKCRMbVXm1O52BFrjWlD7DABbCNuM13izCwssZUiISdtF

-inXDbDKaTrFuZnVpBOxckgoCX8HQDzaZ3NNPycwt5PgxOLBkjIQTchLLe+YGVc0EIpEZbZCAInla

-GSFC/pVQlinLcloylvxiWlQgmssy2jLDkFncnQg7byYAXFOydPVBldUd/wDswU6msGDBly5cHprb

-nSPQdANmqLUdS00YuiDNH0o0ENE9GzVJQpSIixFsYMx6C/IhnrKH2Rn4AUPzHVgKcAD03hWgCC4S

-EiFav3nXkMWBvceiWwVtXnVdWFmkasqrwtODp0DEe641nW+j/v718FUYRweAUuuZTudIq1bpg2IE

-FF372WEIXEqCiUwyxNqVkpZUBlHk6Q/0BdzU8rh+whaFoYFYzPVRdM4EDABAMKSzwQX0v9MBopJr

-XElKIUAnGW0nNqcmoA0irUmuZwIaiMUK5JNbt0uzNhospukEdEAcLgViFAz4DboUXaGBRWkKQvxq

-DfNRJMGFoUS4FbQ1ECqiLWt0UFRXWVGVKJq7iN0hoDyLaGTgpdr+SuvWElsV8DRS01MlNWELKg7Q

-sUNjGoojmUBAURMIAABAIih3bW8RaaAmzAJQLiEVSCsBStLWED0GKMoKEmlrVTWs2P6pBaKjViP8

-CWhMRQF60EDoAgPVJaihwNGrAlcBBjcLC7c0GgRHuBLQmIoC9aCJTagKsZkNbrrJyKNnvRKspnga

-CBQliIudkE0nUZ5XXYL9R9JwFVqnqS2g5NDkdiFBAoONDJM9y1AjQEAQSQtEYQKBZnYhrAWVeTYB

-CGd2IawCzbybAIQ/k478gASI5tyQXgdPdPlO4mgLwVM+b7p8h2E0AONNUj7F610l02azIhDjQ3xF

-WCCApS3GAaGNpSAACgD1y3YAWtAARSEgxbBforgYVkSmymc+u/cStIERsbW4KREFIKBjI68kUVls

-K38yogTEN1VwCBoljOQA7A0Zrc34hlNuff8A7LCXL8IclryMWN5YJ12DZzQrmasvaYqlHKxqur3Z

-onyJ3kau1oZtNYDZ2gvTrtPTtaIJRzfUoe1xu1dV3YBYBff3l2w8Wlbxap726U9qhKYNbI9GHVxm

-lVFS91eLfNKMAAINgaEA4WhgF2O+5XrcuZsIjnH24Yk6UvlUP2/j3gxjHgx4MY8GMYxmRa4+jME4

-9EGjAHck6/8AEzRYWtuUQdYw/QBuxvyZqpC49xT7RF8eotwobOGmPNDR5RrI+Vc+zCs3UjuJpO1t

-5U8WofrlEeghK4kvQshw2h8Bzf8Alydo9942QpQ5Dmc5bQqW0M2BlWvcKDnumMB/kQJ0iapzPKu2

-l/OPbOsZdXrGjnHXl/GvB4MY6R4vBjHgxjGMwbpjBTGvJ3NIB63B2RAsFptzJVD4ktPqnwvAhkDk

-desB1gvFbTtNXPTpT+RnBSjVDkOfWOOWp7oJj4ctydHqdGVtKLzr2f17QzDfQP8AZrzR0P454PBj

-HSMeDwYx4MYxjLRE1NJjjmXLO9afb/sJYFt3OXrDfIMnR5kt6Tl2+qPgwwddopHpHQ7zm20HKQQd

-JqBy8z8tVodQ6byHnowPyJKGVi7RNzMkoXUG/wB3PHyZ+p5M/U8mfqeTP1PJn6nkz9TyZ+p5M/U8

-mfqeTP1PJn6nkz9TyZ+p5M/U8mfqeTP1PJn6nkz9TyZ+p5M/U8mfqeTP1PJn6nkz9TyZ+p5M/U8m

-fqeTP1PJn6nkz9TyZ+p5M/U8mfqeTP1PJn6nkz9TyZ+p5M/U8mfqeTP1PJn6nkz9TyZ+p5M/UfNn

-4nmT9R8wfiecP1PKH6j5Q/EfJH4j5o/E80/qeWf1Hyr+J5n/AFHzP+I+V/xPL/6nm/8AUfMf4j5T

-/EfKf4j55/EfNP4j5N/ECgK0vm+kaqqZXPPSCEwyJo+0VWsrVfsc4MSl5dIVeX9p5n/U8z/qPnf8

-Tzv+p5//AFPP/wCp5/8A1PN/6nnv9TzX+p5r/UfIf4nL+c2i4j1cUfxMBs+XEOLSUxMg0c3TrpdJ

-x6w0PU3ltuhF89Sanu5IpwVcVy5fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6f

-Pp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+

-nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6f

-Pp8+nz6fPp8+nz6fPp8+nz6fPp8+nz6ILq1FQGssLVEeTMjJiZRbLrme35EGAgoBQAnz6fPp8+/r

-/wD/2gAIAQIDAT8Q/ptyvCwyzcuXLilzkf09Bw2lxJGLS3EuXLly4MuPBUqVKlSpUqVKlSpUqVKl

-SpUqVKlSpUqVKlSpUqVKlSpUqVKlSpUqVKlSpUr/AMthKy8XggjCnhAesscpsy+LymSXFLlwZUwf

-6MgjC3jcRFsuBcI3qlURLWFwUeIGM4OIMGDBnL41KlSpUqVKlSpUqVKlSpUqVKlSpUqVKlSpUqVK

-lSpUqVKlSpUqVKlSpUrhUr6qhERUVfAkj0Rb4MZQhaWR8Fw4NA1EVTBgwYQZcf0BrrwVFDWJ5Rbw

-qIIt8LWuCpfC5cuDFwMVwYQhCVMvFypUqVLulwIFLzm09pbhFdovNHPzfaDcqVKlSpUqVKljTWN1

-qdMvxGBAF1m+3eGkKxBdI+e83f2hClHnuxAtl1BfPebv7RUFHnvKlSpUqVKlSpUqVK4VwqVKlSuF

-fRBm2VEovlFvh1OIk0irrx1Q0LHHxEIpVhwEIQhBxXhejFcENHJb32IlLpzQMuduVRW8Dnf/AGCh

-IWc1npj2lgVKuQMWxdnK+TDti4TOo94IWtyGvIdfiHrBs4dDlKORRbvdGPvGEUi6sBLZF9RjFwCV

-b63+hMbo1/0I/LYUXpWiOuWVIrWvEa4VlZ0x6GXh3RG7Abr8EAxGpqlvW9SUOC+0GsfwAsjWzVOF

-THLiINEVdfDr49+gHjEIQh42N+v6lrMJ/n4Iv8CztmFDWkX2M/5CV81HpHq/S3ID/sGHAXz07Rzk

-8m3lpAUNKPxCx+g9Nf1LAdR/L94Sa0P0Lz9jGp0sGOR6dqgNxzQXfrEo+Q/l+82w3q+WGVy/f/jh

-bTpMucsValArpDBZrLM4mnyv/gQWmdBiNUawt68K8OrhmPjIa8GsEIQh4wKDOlqgAURtPnUSUubq

-VaA6ChK6mvXn7ygt6yZYes0JOikmDE6CCYNi3d3eb63Hy06qfMp8yllTvOFr1iZRLrSz3mbVVXmt

-vBCxNr8f5G7CWRMwWkm1+P8AIpYfiBX8CecN1GLEp+gNY7Egica4hCCDazVCEIQ/oIslWVCTPKZq

-YjqRhZyiV4b18USVKlSoHC1lYGGiEIQh46XAsrUaFyt1K1cp4WkQa8CsBEEA+BBrwESl1Ll8bl8L

-408CSCSsBMQMsupZdSt14FqINZSoDEEBjyR+TgKZqOTKmDZLl+vC3hL6JUU6y0qW4bwKlSpXDUuZ

-m5hCEIQ8JJ15fuE7WY3+eBWW0bkI+WItiIviNtLv7QhGj9xEcfqBRDow2kS/P+Q1yhzpwKsvSBd1

-2RIDesFynz8TBbjdtS1LJeU2qFg95XKBgiYXpG5ekPy/XAmr6d594Id4YDAlyrDu/uZsWZq68/EL

-brSBXBpWqrPfvNGJTR5/ULRcMitczJ08+0wTz+pZdOn5gzff88BzguNBzIYiSpXCpUqVNIWGrgPH

-k2QG3WOrYklmGEIQh49qAEoqolyspVRDxqVKyso0lJWIlF3xqJcpVSkQYh1gBAqAGnEA0lEqIMrj

-UpdxF3ACAEAIl8KrjRwpVSiAaxLqQLQiHWAG+CWQwwaE5ho8KlSpUqVKlRjH8pqmIK0SY8yPNXG0

-FSlWxoy4l5Jfh4HA/oZzBZ2mZaVUqVKlSpUqVKjDwLwkJwWROFDOVxEtX9COODRhsipUqVKlSpUq

-VKlSpUqVGL+LmU4iyAP6IkFkw7Ro1KlSpUqVKlSpUqVKlSpXAtyeDnPJx3CbhNwm4TcJuE3CbhNw

-m4TcJuE3CbhNwm4TcJuE3CbhNwm4TcJuE3CbhNwm4TcJuE3CbhNwm4TcJuE3CbhNwm4TcJuE3Cbh

-Nwm4TcJuE3CbhNwm4TcJuE3CbpN0m6TdJuk3yb5N895vnvN895vnvOpJuk3iLGpN4m8TeJvE3ibx

-N4m8TeJvE3ibxN4m8TeJvE3yPUIeonBLadrmw95svebL3/rV/wBj/9oACAEDAwE/EP6bUtwHEVKl

-SpUqc7+n24KSoNhFeIkqVKlSokFP9Kp4aSuAmEkJJdpMpUUQ6pQxJUqVKlh/R7cNONQkBKmkVwcM

-JKJiIcEWBBEleDmf0KlhIZXgEwMqVKjiXNcA8FROAWpqcHiyh/oAx4QWEgHGuNXCDhXGpUSCLlE4

-sYLJWa8Jmsq1Y8sfmYrZAA5t/wCTee8p0+6B1nX/AGJX0hbAwWe0psda5R1hw7Sg3gsY46jph/af

-PSPMt6Xf/REVEesnWWX1qHz0qiyNFb7/AJv4BS+A4A8FeB0muCHjeDRjGMYxlZ8O5BANK/iZzOuL

-ziEgKzK9F1/2VtfNaEbrV6DBPR7aSigDr51j6ijaYEX2hSqAbRLTS60mLgG2JeQr2I2ovQ9YtsMO

-QGWXLocKh6B9Wh+b9IAGrdLDyHo594uGBrQzrzmty09potRfRuaj0KumctOte0pBYbx66a9oiUU6

-b5/gHmWQK8FeLR9IMeHlweDHx+jETAsQl1QQgrTkSnZgDo57x1rRFA9X+ypXrf7ip6nvKJ7/AOIt

-+gvn1htsqzK6DGtQ+p/CJI6r9oaJzfjgwTlV7Fw22C5Hlj83B5APm7VLRATVeuwwJY3pz3/yI1ZO

-mTrrEeYu2DH5uV22XjsYPsfwL4DMr6D9IMeF04sY+NRbRfaLbcGpX/BCmgekUdQXcl4IaD2ghoB2

-Io6g9ydhXTlBDQD0lf8ABK/4Io6h9Io6g+kXlocBK7ap+GeRv3KwDdP5ZtFAA9rqO2Fsp+J5G/cr

-Tuin5f4JRXBK4X42DNxQfGxmtOF4PB/oKpimeUbqW6S5fiuIoMv6FZmLPhfHeKJaBfBaX8JAXLy0

-tC8aeALl5aXr6deATFEtFEtKxKlq8AQbKYoheLOGjnwWINkXgrwXwoycAZcuXLlxgF1HCjxPhVG0

-bWYf5GDmLMIDMtxddpalwpIuYxURwiixrxZH3hFxpHUsjpDlKzXBZU5zeLrOZBHTz14NDEa30i4L

-lZdXOVExpcaKjwTe8NZZGrxHDMwPP+zS+f3DBrHj24OKXT9C5fBjJCCLly4wC8QxBcryeF8dpcvN

-walpbLeC5aWly2WlsvjcGpbLZcFJfBb4rctly2X4LZbLuLcVl8F43wt1ly4I0imDUtwGuA2RcvBf

-guXDgBLSUOU7ILB5ywwQ4NJzz+jrEUcZl8Lly5fG5cuHDpwKZcOK5zDwX/QlwuDWJcuXLly5cuXL

-ly5cuXLgyjwX5Isf6KGMG+F+G5cuXLly5fC4M5T4EaeO1NqbU2ptTam1NqbU2ptTam1NqbU2ptTa

-m1NqbU2ptTam1NqbU2ptTam1NqbU2ptTam1NqbU2ptTam1NqbU2ptTam1NqbU2ptTam1Npm0zaZt

-M2mbTNpm0zaZtM2mHSZtS3SAOkt0lukt0mxLdJsS3SbE2JsTYmxNibE2JsTYgPSNonDRBmyzYZsP

-9ar+x//Z

-

---=====002_Dragon172714510278_=====

-Content-Type: image/gif;

-	name="bot(06-26-10-58-52).gif"

-Content-Transfer-Encoding: base64

-Content-ID: <__1@Foxmail.net>

-

-R0lGODlhEwALAMQdAAY4m/Dz+U5xuAM1mgw9ntLb7ZOp1MnU6UtvtxVEoTZerxhGoz9lsrrI49jg

-7/b4+zxjsfz9/s/Z7B5LpQk6ncDN5qW324qh0FF0ucPP52OCwZ+y2QAzmf///wAAAAAAACH5BAEA

-AB0ALAAAAAATAAsAAAVPYNcVyMItyCGurGgAXBwPV8tmg6xzjS0KsoZCx/B1ErJAxzKJASI+nbLz

-gMSmLeS1IxlyAEZgzKEhGg85DmFXMXY2lB3A4BY5MGuCoFAPAQA7

-

---=====002_Dragon172714510278_=====--

-S

-X-Uidl: GmailId12a9efb22e42146d&&pop.gmail.com

-Delivered-To: johnnybravo159@gmail.com

-Received: by 10.227.129.68 with SMTP id n4cs145831wbs;

-        Mon, 23 Aug 2010 05:45:14 -0700 (PDT)

-Return-Path: <antoni.mylka@gmail.com>

-Received-SPF: pass (google.com: domain of antoni.mylka@gmail.com designates 10.227.138.76 as permitted sender) client-ip=10.227.138.76;

-Authentication-Results: mr.google.com; spf=pass (google.com: domain of antoni.mylka@gmail.com designates 10.227.138.76 as permitted sender) smtp.mail=antoni.mylka@gmail.com; dkim=pass header.i=antoni.mylka@gmail.com

-Received: from mr.google.com ([10.227.138.76])

-        by 10.227.138.76 with SMTP id z12mr4545070wbt.60.1282567513024 (num_hops = 1);

-        Mon, 23 Aug 2010 05:45:13 -0700 (PDT)

-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;

-        d=gmail.com; s=gamma;

-        h=domainkey-signature:mime-version:received:received:date:message-id

-         :subject:from:to:content-type:content-transfer-encoding;

-        bh=YQqdWYJxOSa8lusEavClpGzkT0kzBIvnPaEpUQ+9T5E=;

-        b=VY9+yvYRO2JAHylsZZ6yeSYlf03wwXWIC+HXai3y+COGshTQ+orzKNPyhnEKJeXobf

-         I85rpadfrWil2B1J81oLwhXXiPm179ptLnknmp4tvDX34alMvsnakReqTVkCqr1rHS+Z

-         Bg2Q7jnMn2tOR2b6nu4aDUMxouJY/gG9TAnMo=

-DomainKey-Signature: a=rsa-sha1; c=nofws;

-        d=gmail.com; s=gamma;

-        h=mime-version:date:message-id:subject:from:to:content-type

-         :content-transfer-encoding;

-        b=mJZlKoLz/iq2bEx9nvFb/YUiyWUxrViynkv5TP9QL1OvIbKkEC6mZgcxdelhdcJdZf

-         j7plrQNLDlig4rNBiLAUpN0Ms+NajDaMLWWe4IkadhER0FUcp4MIE1jkjoEq0dP4GJZs

-         Xyi4o8LxsAsvS4+iW5EFP0DlLFVREdNSOxy5g=

-MIME-Version: 1.0

-Received: by 10.227.138.76 with SMTP id z12mr4545070wbt.60.1282567513017; Mon,

- 23 Aug 2010 05:45:13 -0700 (PDT)

-Received: by 10.227.146.203 with HTTP; Mon, 23 Aug 2010 05:45:12 -0700 (PDT)

-Date: Mon, 23 Aug 2010 14:45:12 +0200

-Message-ID: <AANLkTim=ZZCSYOL1cORO6SPbKu=n0FWLPfZzOjbCb6K4@mail.gmail.com>

-Subject: =?GB2312?B?1tDOxNDFz6K0psDt?=

-From: Antoni Mylka <antoni.mylka@gmail.com>

-To: johnnybravo159@gmail.com

-Content-Type: text/plain; charset=UTF-8

-Content-Transfer-Encoding: base64

-

-SGVsbG8KCuS4reaWh+S/oeaBr+WkhOeQhuaYr+aMh+eUqOiuoeeul+acuuWvueS4reaWh+eahOmf

-s+OAgeW9ouOAgeS5ieetieS/oeaBr+i/m+ihjOWkhOeQhuWSjOWKoOW3peOAguS4reaWh+S/oeaB

-r+WkhOeQhuaYr+iHqueEtuivreiogOS/oeaBr+WkhOeQhueahOS4gOS4quWIhuaUr++8jOaYr+S4

-gOmXqOS4juiuoeeul+acuuenkeWtpuOAgeivreiogOWtpuOAgeaVsOWtpuOAgeS/oeaBr+WtpuOA

-geWjsOWtpuetieWkmuenjeWtpuenkeebuOWFs+iBlOeahOe7vOWQiOaAp+WtpuenkeOAguS/oeaB

-r+WkhOeQhuaKgOacr+WcqOeOsOS7o+acieW5v+azm+eahOW6lOeUqO+8jOS7jjE5ODDlubTku6Pl

-vIDlp4vvvIzkuK3mlofkv6Hmga/lpITnkIbov5vlhaXkuoblv6vpgJ/lj5HlsZXpmLbmrrXvvIzl

-ubbmnoHlpKflnLDmj5Dpq5jkuobkuK3mlofnpL7kvJrnmoTkv6Hmga/lpITnkIbmlYjnjofjgIIK

-CuS4reaWh+S/oeaBr+WkhOeQhuWIhuS4uuaxieWtl+S/oeaBr+WkhOeQhuS4juaxieivreS/oeaB

-r+WkhOeQhuS4pOmDqOWIhu+8jOWFt+S9k+WGheWuueWMheaLrOWvueWtl+OAgeivjeOAgeWPpeOA

-geevh+eroOeahOi+k+WFpeOAgeWtmOWCqOOAgeS8oOi+k+OAgei+k+WHuuOAgeivhuWIq+OAgei9

-rOaNouOAgeWOi+e8qeOAgeajgOe0ouOAgeWIhuaekOOAgeeQhuino+WSjOeUn+aIkOetieaWuemd

-oueahOWkhOeQhuaKgOacr+OAggoK5Z+65pa85q235Y+y44CB5ZyL5a6255aG5Z+f44CB5pS/5rK7

-562J5ZCE56iu5ZWP6aGM77yM5Lit5paH5L+h5oGv5aSE55CG57O757Wx5omA6ZyA6KaB6JmV55CG

-55qE5paH5a2X77yM5pyJ5pmC5LiN5LuF5YyF5ous566A5L2T5rGJ5a2X44CB57mB5L2T5rGJ5a2X

-77yM5Lmf5YyF5ous6JeP5paH44CB6JKZ5paH44CB5aOu5paH44CB57u05ZC+5bCU5paH562J5aSn

-6YeP5bCR5pWw5rCR5peP55qE5paH5a2X77yM5ZGo6YKK5ZyL5a6255qE5pel5pys5YGH5ZCN44CB

-6Ku65paH77yM6L+Y5YyF5ous5Y+k5rGJ6K+t5paH5a2X44CB6KW/5aSP5paH44CB5aWR5Li55paH

-562J5ZCE56iu5LiN5ZCM55qE5paH5a2X44CCCgrkuK3mlofkv6Hmga/omZXnkIblj6/ku6Xlvp7n

-oazpq5Tlj4rou5/pq5TlhanmlrnpnaLljrvnnIvvvIzku6XkuIvoqbPov7DkuK3mlofkv6Hmga/o

-mZXnkIbnmoTnmbzlsZXmrbflj7LjgIHnj77ms4Hlj4rmnKrkvobnmbzlsZXnrYnlpJrmlrnpnaLn

-moTpnaLosozjgIIKCi0tIApBbnRvbmkgTXnFgmthCmFudG9uaS5teWxrYUBnbWFpbC5jb20K

diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testGIF.gif b/trunk/tika-parsers/src/test/resources/test-documents/testGIF.gif
deleted file mode 100644
index e09e641..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testGIF.gif
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testHTML.html b/trunk/tika-parsers/src/test/resources/test-documents/testHTML.html
deleted file mode 100644
index 5bbd4d8..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testHTML.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You 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.
--->
-<html>
-	<head>
-        <title>Title : Test Indexation Html</title>
-        <meta name="Author" content="Tika Developers">
-        <meta name="ICBM" content="51.2312, -5.1987">
-        <meta http-equiv="refresh" content="5">
-    </head>
-	<body>
-		<h1><a name="test-anchor"></a>Test Indexation Html</h1>
-		<p><a href="http://www.apache.org/">Indexation</a> du fichier</p>
-	</body>
-</html>
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testHTML_utf8.html b/trunk/tika-parsers/src/test/resources/test-documents/testHTML_utf8.html
deleted file mode 100644
index 310181f..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testHTML_utf8.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You 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.
--->
-<html>
-	<head>
-		<title>Title : Tilte with UTF-8 chars öäå</title>	
-	</head>
-	<body>
-		<h1>Content with UTF-8 chars</h1>
-		<p>åäö</p>
-	</body>	
-</html>
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testJAR.jar b/trunk/tika-parsers/src/test/resources/test-documents/testJAR.jar
deleted file mode 100644
index 4677a62..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testJAR.jar
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testJPEG.jpg b/trunk/tika-parsers/src/test/resources/test-documents/testJPEG.jpg
deleted file mode 100644
index 09d45d4..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testJPEG.jpg
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_EXIF.jpg b/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_EXIF.jpg
deleted file mode 100644
index 1b93e77..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_EXIF.jpg
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_GEO.jpg b/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_GEO.jpg
deleted file mode 100644
index 7ad8a1d..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_GEO.jpg
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_commented.jpg b/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_commented.jpg
deleted file mode 100644
index a67e304..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_commented.jpg
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_commented_pspcs2mac.jpg b/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_commented_pspcs2mac.jpg
deleted file mode 100644
index 801a44d..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_commented_pspcs2mac.jpg
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_commented_xnviewmp026.jpg b/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_commented_xnviewmp026.jpg
deleted file mode 100644
index c4b6f63..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_commented_xnviewmp026.jpg
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testKeynote.key b/trunk/tika-parsers/src/test/resources/test-documents/testKeynote.key
deleted file mode 100644
index 6e0e032..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testKeynote.key
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testMHTMLFirefox.mhtml b/trunk/tika-parsers/src/test/resources/test-documents/testMHTMLFirefox.mhtml
deleted file mode 100644
index 8ffbcdb..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testMHTMLFirefox.mhtml
+++ /dev/null
@@ -1,455 +0,0 @@
-From: <Saved by Mozilla 5.0 (Windows; en-US)>

-Subject: Aperture Framework

-Date: Fri Mar 10 2006 13:40:00 GMT+0100

-MIME-Version: 1.0

-Content-Location: http://aperture.sourceforge.net/

-Content-Type: multipart/related;

-	boundary="----=_NextPart_000_0000_B40804DE.BBCA09DC";

-	type="text/html"

-X-MAF: Produced By MAF MHT Archive Handler V0.4.1

-

-This is a multi-part message in MIME format.

-

-------=_NextPart_000_0000_B40804DE.BBCA09DC

-Content-Type: text/html

-Content-Transfer-Encoding: quoted-printable

-Content-Location: http://aperture.sourceforge.net/

-

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/=

-TR/xhtml1/DTD/xhtml1-strict.dtd">

-<html><head><!-- This document is inspired by the content style at http://ww=

-w.csszengarden.com -->

-

-

-

-<meta http-equiv=3D"content-type" content=3D"text/html; charset=3Diso-8859-1=

-">

-<meta name=3D"author" content=3D"Leo Sauermann, Christiaan Fluit">

-<meta name=3D"keywords" content=3D"aperture, rdf, data"><title>Aperture Fram=

-ework</title>

-

-<script type=3D"text/javascript"></script>

-<link title=3D"Default" rel=3D"stylesheet" type=3D"text/css" href=3D"index_f=

-iles/frontpage.css" media=3D"screen">

-<link title=3D"Default" rel=3D"stylesheet" type=3D"text/css" href=3D"index_f=

-iles/print.css" media=3D"print">

-<link title=3D"Basic" rel=3D"alternate stylesheet" type=3D"text/css" href=3D=

-"index_files/all.css" media=3D"all"></head><body>

-

-<div id=3D"header">

-

-<h1>Aperture</h1>

-<h2>a Java framework for getting data and metadata</h2>

-

-</div>  <!-- header -->

-

-<div id=3D"content">

-

-<div id=3D"preamble">

-

-<p>

-<b>Project name</b>

-</p>

-

-<p>

-From <a class=3D"ext-link" title=3D"http://www.webster.com/" href=3D"http://=

-www.webster.com/">Merriam-Webster Online</a>:

-</p>

-

-<p>

-Main Entry: <strong>ap=B7er=B7ture</strong>

-(sounds like <a class=3D"ext-link" title=3D"http://cougar.eb.com/sound/a/ape=

-rtu01.wav" href=3D"http://cougar.eb.com/sound/a/apertu01.wav">this</a>)<br>

-Pronunciation: 'ap-&amp;(r)-"chur, -ch&amp;r, -"tyur, -"tur<br>

-Function: noun<br>

-Etymology: Middle English, from Latin apertura, from apertus, past

-participle of aperire to open<br>

-</p>

-

-<ol>

-<li>an opening or open space : HOLE</li>

-<li>a : the opening in a photographic lens that admits the light<br>

-b : the diameter of the stop in an optical system that determines the diamet=

-er

-of the bundle of rays traversing the instrument<br>

-c : the diameter of the objective lens or mirror of a telescope</li>

-</ol>

-

-</div> <!-- preamble -->

-

-<h2>News</h2>

-

-<p>

-<b>March 6, 2006:</b> <a href=3D"https://sourceforge.net/project/showfiles.p=

-hp?group_id=3D150969">Aperture

-2006.1 alpha 2</a> released!

-</p>

-

-<p>

-This release adds support for crawling file systems, web sites, IMAP and Out=

-look mail boxes.

-Furthermore, the number of supported file formats has increased significantl=

-y.

-</p>

-

-<h2>Features</h2>

-

-<ul>

-<li>Crawl information systems such as file systems, websites, mail boxes and=

- mail servers</li>

-<li>Extract full-text and metadata from many common file formats</li>

-<li>View files in their native applications</li>

-<li>Ease of use: easy to learn, easy to code, easy to deploy in industrial p=

-rojects</li>

-<li>Flexible architecture: can be extended with custom file formats, data so=

-urces, etc.,

-    with support for deployment on OSGi platforms</li>

-<li>Data exchange based on Semantic Web standards (e.g. RDF, SPARQL, ...)</l=

-i>

-</ul>

-

-<h2>Supported File Formats</h2>

-

-<ul>

-<li>Plain text</li>

-<li>HTML, XHTML</li>

-<li>XML</li>

-<li>PDF (Portable Document Format)</li>

-<li>RTF (Rich Text Format)</li>

-<li>Microsoft Office: Word, Excel, Powerpoint, Visio, Publisher</li>

-<li>Microsoft Works</li>

-<li>OpenOffice 1.x: Writer, Calc, Impress, Draw</li>

-<li>StarOffice 6.x - 7.x+: Writer, Calc, Impress, Draw</li>

-<li>OpenDocument (OpenOffice 2.x, StarOffice 8.x)</li>

-<li>Corel WordPerfect, Quattro, Presentations</li>

-<li>Emails (.eml files)</li>

-</ul>

-

-<h2>Crawlers</h2>

-

-<p>

-Crawlers support the extraction of information from heterogenous data source=

-s.

-At the moment we support the following source types:</p>

-

-<ul>

-<li>File Systems (local, remote, removeable media)</li>

-<li>Websites and intranets</li>

-<li>IMAP e-mail servers</li>

-<li>Microsoft Outlook (alpha)</li>

-</ul>

-

-<h2><a name=3D"support"></a>Support</h2>

-

-<p>

-At this moment the project is still in alpha stage and we provide only limit=

-ed support.

-If you have any questions about the project, feel free to join the

-<a href=3D"https://sourceforge.net/mail/?group_id=3D150969">development mail=

-inglist</a> and ask us.

-</p>

-

-<h2><a name=3D"development"></a>Development</h2>

-

-<p>

-To use Aperture in your own projects, read the <a href=3D"http://aperture.so=

-urceforge.net/documentation.html">documentation</a>

-for information about requirements and code examples.

-</p>

-

-<p>

-If you are interested in contributing, feel free to contact the project admi=

-ns or join the

-<a href=3D"https://sourceforge.net/mail/?group_id=3D150969">development mail=

-inglist</a>.

-We are very interested in new extractors and other contributions including c=

-rawlers.

-</p>

-

-</div>  <!-- content -->

-

-<div id=3D"sideBar">

-

-<p>

-Aperture is a Java framework for extracting and querying full-text

-content and metadata from various information systems (e.g. file systems,

-web sites, mail boxes) and the file formats (e.g. documents, images)

-occurring in these systems.

-</p>

-

-<h2>Contents</h2>

-

-<ul>

-<li><a href=3D"http://aperture.sourceforge.net/index.html">Home</a></li>

-<li><a href=3D"https://sourceforge.net/project/showfiles.php?group_id=3D1509=

-69">Download</a></li>

-<li><a href=3D"http://aperture.sourceforge.net/doc/javadoc/index.html">Javad=

-oc</a></li>

-<li><a href=3D"http://aperture.sourceforge.net/documentation.html">Documenta=

-tion</a></li>

-<li><a href=3D"http://aperture.sourceforge.net/faq.html">FAQ</a></li>

-<li><a href=3D"http://aperture.sourceforge.net/index.html#support">Support</=

-a></li>

-<li><a href=3D"http://aperture.sourceforge.net/index.html#development">Devel=

-opment</a></li>

-<li><a href=3D"http://aperture.sourceforge.net/license.html">License</a></li=

->

-</ul>

-

-<h2>Developed By</h2>

-

-<ul>

-<li><a href=3D"http://aduna.biz/">Aduna</a></li>

-<li><a href=3D"http://www.dfki.de/">DFKI</a></li>

-</ul>

-

-<h2>Site Info</h2>

-

-<p>

-Hosted by <a href=3D"http://sourceforge.net/">SourceForge.net</a>

-</p>

-

-<p>

-<a href=3D"http://sourceforge.net/"><img class=3D"logo" src=3D"index_files/s=

-flogo.png" alt=3D"SourceForge.net Logo" height=3D"37" width=3D"125"></a>

-</p>

-

-<p>

-<br>

-Graphical design by <a href=3D"http://www.pixul.net/">Pixul.net</a>. Used wi=

-th permission.

-</p>

-

-</div>  <!-- sideBar -->

-

-<div id=3D"footer">

-<a href=3D"http://validator.w3.org/check/referer" title=3D"Check the validit=

-y of this site&#8217;s XHTML">xhtml</a>

-=A0<a href=3D"http://jigsaw.w3.org/css-validator/check/referer" title=3D"Che=

-ck the validity of this site&#8217;s CSS">css</a>

-</div>  <!-- footer -->

-

-</body></html>

-

-

-------=_NextPart_000_0000_B40804DE.BBCA09DC

-Content-Type: text/css

-Content-Transfer-Encoding: quoted-printable

-Content-Location: index_files/all.css

-

-@import url(../w3-html40-recommended.css);

-

-img {

-=09border: 0;

-}

-

-

-

-------=_NextPart_000_0000_B40804DE.BBCA09DC

-Content-Type: text/css

-Content-Transfer-Encoding: quoted-printable

-Content-Location: index_files/frontpage.css

-

-/*

- Parts of this style-sheet are copied from the=20

- css Zen Garden submission 164 - 'Chien', by Alex Miller, http://www.pixul.n=

-et/=20

- http://www.csszengarden.com/?cssfile=3D/164/164.css&page=3D2

-=20

- css released under Creative Commons License - http://creativecommons.org/li=

-censes/by-nc-sa/1.0/=20

-*/

-

-@import url(../w3-html40-recommended.css);

-

-html, body, div, ul, ol, p, li {

-=09margin: 0;

-=09border: 0;

-=09padding: 0;

-}

-

-html {

-=09background-image: url(img/background.gif);

-=09font-family: verdana, arial, serif;

-=09font-size: 82%;

-=09line-height: 120%;

-=09color: #333;

-}

-

-body {

-=09background-image: url(img/containerbackground.gif);

-=09background-repeat: repeat-y;

-=09width: 590px;

-=09margin-left: auto;

-=09margin-right: auto;

-=09padding: 0 38px 0 37px;

-}

-

-ul, ol, p {

-=09padding: 0 12px 10px 12px;

-}

-

-ul, ol {

-=09list-style-position: outside;

-=09padding-left: 16px;

-=09margin-left: 0px;

-}

-

-li {

-=09margin-left: 15px;

-=09margin-bottom: 8px;

-}

-

-h2 {

-=09margin: 20px 0 15px 0;

-=09padding: 0;

-=09text-align: center;

-=09font-size: 130%;

-}

-

-img {

-=09border: 0;

-}

-

-a:link {

-=09text-decoration: none;

-=09color: #CC0000;

-}

-=09

-a:visited {

-=09text-decoration: none;

-=09color: #CC6666;

-}

-=09

-a:hover {

-=09text-decoration: underline;

-=09color: #CC0000;

-}

-

-#header {

-=09color: #d88;

-=09background-color: rgb(156,26,0);

-=09padding: 20px;

-=09margin-bottom: 20px;

-}

-

-#header h1 {

- =09color: #eaa;

-}

-

-#content {

-=09float: left;

-=09width: 389px;

-}

-

-#content h2 {

-=09text-align:center;

-=09color: #ffffff;

-=09background-image: url(img/bgheader-content.png);

-=09background-position: left;

-=09height: 28px;

-=09padding-top: 6px;

-}

-

-#sideBar {

-=09float: right;

-=09width: 192px;

-}

-

-#sideBar h2 {

-=09background-color: #f7b356;

-=09color: #fff;

-=09background-image: url(img/bgheader-sidebar.png);

-=09background-position: left;

-=09height: 28px;

-=09padding-top: 6px;

-}

-

-#preamble {

-=09font-size: 82%;

-=09color: #996666;

-}

-

-#footer {

-=09clear: both;

-=09border-top: 1px solid #999;

-=09padding: 6px 0 6px 0;

-=09background-color: #FFF;

-=09font-weight: bold;

-=09text-align: center;

-}

-

-

-

-------=_NextPart_000_0000_B40804DE.BBCA09DC

-Content-Type: text/css

-Content-Transfer-Encoding: quoted-printable

-Content-Location: index_files/print.css

-

-html, body {

-=09color: #000;

-=09background: #fff;

-=09font-family: "Times New Roman", "Times", serif;

-=09font-size: 100%;

-=09line-height: 110%;

-}

-

-

-------=_NextPart_000_0000_B40804DE.BBCA09DC

-Content-Type: image/png

-Content-Transfer-Encoding: base64

-Content-Location: index_files/sflogo.png

-

-iVBORw0KGgoAAAANSUhEUgAAAH0AAAAlCAIAAADgP3HoAAAABGdBTUEAALGLDJGlHAAAACBjSFJN

-AABumgAAdA8AAPQkAACEzwAAbV8AAOhsAAA8iwAAG1jJR08cAAAK3ElEQVR4nGJgGAUDAQACiBGI

-////P9DOGFmAkZERIICGZ7j/f/+C4eRsxo9XGATEGeRMGLiFGDj5GTglGbjkGJjYSDLq6dOnT548

-effunZCQkKqqKpCk3HnAcAcIoCEW7kD/T548GUhilZ04cSKQ/HVo379dU9h1JBi96xh4JZAVfP/8

-cumKdZev3EDTyMnJqaKi4unpKS0tDRc8efLkjh07gHYBBXV1dYERcOfOHUi4Q9QfPHjw+/fvWF3i

-4eEBNC0xMfEBGKxfv97R0fH9+/cQWWC4AwTQEAt3COjq6gKGAgPMewzgVAmMj5SUFKnrT74vmMQb

-ZM0WXYxd8/9/c+bOvXz5CgMsng4cOAAMF4hkbm4uMECBjGXLlgHDHciIiooyNzeHyAJDGagSKA5U

-A1QJjAagpRApiFEMsJRhZmYGdNgBMHj48OEFMICHMzDcAQKICZffINGLKQ60+w4YkBZUhADEWEho

-EgTA5IYmAkySwDhguvnybeF0ZnlFnIEOBIxM0dExyMWFg4MDPJkDgwlIQgIXIgUPdIi9wGgApn0I

-FxJDaABosr29PYQtICCgoKAA5BoYGBQUFCArAwjARxnbMBACQZDAAZIzx9SAvhVISdD34w5ISWmG

-Hr4LSx6xMnoZ/V904pbjdhfdY72JBDjGLrPW1lpphLdmONFao6qHKYEJIQiPz4yVUlK19w6AEtdR

-BCbk0ANDH+89hyKvtpNGKQWMc46tSuk1QoNhzPyPa6DREd4fY555vxT9Jx+fkfHmCURkOUNCROoT

-U8FzxBjZMDf9mUTJNoIk5/yH+QrAVx3bMBDCUBhOky4NQpkiUhbIXvRslEFS0bLGDZBPedLpCnJU

-xgbr8RvDgjtGAcpW7ehLI+Ol4FlGOka999Ya3KJU7neBYep9FELKYdgUx/ZQwGpj0qrBrlVanlIK

-p+Rp2ITU8uS0kG3vz+11vz4fJ8sypD1yn3PGqLXmpl9+PbT8RTkD55+MMcaxS5bjK4CwlDNv376F

-VxdAOyDehiRDeKBDADBMGcAJH8IFxhamacg1FdxMYJQ8BQOgXqACeKBDADB6IMrQNALjEldiB8bl

-9sbpQAaLpBhWBZgAYhTQp8DUDUnsQA8CIxtehGKWZsQAoGmnTp0iqAwggLCkd0icA1McJMSB7gNy

-gR7DjGSgy4A5ACgLjCpcFmB1/Y8fPxjAgQX0MKaxkOIIUxekMYcssgMMoLqe/tZhYGA31sLlEkyQ

-n58PZwNNBuY/ZHuBZR15RuFKHMgAIACjZXACAAjDQOd3CkdxDX/O4cvDQCiiYt8iaZOmOcwdztkU

-+oE3u8QNB/SkNZF/iPCEKNhErOb2redL9pIAJUxdmgjVeabmwvPR+j8SQojvEC0ALG7elhGxXwF2

-RTDKM7LThwpdUwBhKWcgMQ8JbmBRCy/v8AB4yxQ/ANafwCIb2EQDGo5WZOECQD/cBgP8hTswi0Q2

-FgIZf5+/JsZYBnBUMYDLLmDkQUSAQQYMa3g6QAs+iDJIWw6oF1IYogFI0U9MRgEIIOztSEgbBhg0

-wHwHDCZIsYA1GiFSkFRPEADdWl9fD0zpQKcDEy8kU8PrNKwA0p0BAqBjgJUhPp8IcLEbyP++8+Dv

-S8JBD3QAPDkD0zgke0Ga5/CmAVqjFtJXgrClwQCryUBlwKAnWAAABBCWcIdXLMAAghS+UlJSQPLu

-3buYioElEqQDDWSjZUNcAGgmUAswcQErEiAXay2ENXUTbCQI1wcDya9z5xF0w/bt25G58CQPzNxA

-t8GrXPyZDBcABjpyYwkrAAggLOEOTInwtACsNhnARTDQZUA3oXWXgCqBdkBah8B4RnYl3NGYXSFI

-Mx+oAGggMHGBmiKooYBpEdxMNJWQ3AYHPAGmPBEOv8+e/HNyDx4/79i+DV5nQESAMQpPv8AgA/Z7

-ITkAWDDiSbnIXoM7GGgmpDuCHwAEoLvsVRiEgTje0jhUqqtbwdG14OTWl/B1fJTOrqFbpDTg6iT4

-DGbooFMxYH9wLZRCB8NxufzvI3c5b8dXVdU3q23bYRiSJPHe13WdpmlRFJLRlKFSKo5j6XJN0zAR

-SGFGUcQ0IfXLca01pjvn4Idh2HUdNPMxNxQEAVu0BJhoAY2UF7vxxFrLKkO2oE3TJK8qmMj3fc9B

-MXUcx2VZSAswhbM/5+vDrfaiDs/t8fTr7urvN6Ov78vDTrSDCc0qlUeggS3LEr2M+DDneSYUCOMv

-xObzx0x82RIokgwBhI0xnCJfsyz7F3Sa3EsAYRmfARoBDBdgAcIALuiRczfQTUBxSDIBSgFNR254

-AcMLogsoCNQFaSRAuPCUBW8jAkUg6QUoAjEWogBoJlAELosGgJZiJkDMdue/q0cZj/Uw8rIxqLsw

-SBkycPAxMPxmYOb4/o/76asvyCqBGuEpHWgjcscFYhfQYcAkAixCgaUisBqDj0oiK8bqTjwjl8D0

-BxBAQ3JcjFjw5QXDt9cMLMwMzCwMnCIMbFQYwqUKAIY7QADhHBcbDoBHgkFMl0FIi4FfjZ6BDiyZ

-4SM8uABAAA3rcB8IAKwsHzx4QFAZQACNhjs1ATCZA+tMYlQCBNBouFMNbNiwAc84JRoACCAQ+j/C

-wPnz54F9VAUFBYj/gV1ooCCQhIsYGBgAW8yYGvfv3x8QEAAPN6Cy+fPnQ6SA2pGDFCjlAAMFBQVo

-5gAVAATQSEzvwPBFDuWPHz8aGhouXLgQGKbAMBIQELhw4QIw5QLTL7KuxMRER0dHfX19YLMSEnkQ

-QSCAm4k842EPA0AtmG4ACCAQomniGrQAmHjhIQDs/UFCEwiADGDQQ4ISrhiSnIHKkE0AqoREHiTH

-/EdK9UDD8VgNVAAQQKPhDkqbaFLwuVBI8N2/fx/CBaZxrCqB8QThEh/uAAGEZfx9WIGfnxle3/r/

-l4lBTJWRkwerEn9/fzQRfn5+ZO6CBQsgjA1ggCwFLJGA5IcPH4AtGbRZM/wAIICGdbifX8BwYzWw

-v8r4+evvx3/+qMZxRiWTYQyeWWxICc4ALpRIMhMggIZvuB+bxPD2CIOGPgMbL8Pb+6xM9/6cWfnx

-wQ/+qmyyjUQbQKQEAATQ8GzP/P/wguHaOgZhMQYZdwbFaAYxNQY+Xha+X993Hfh14QHZxhLTESUS

-AATQ8Az3f7cvMfz9z/D3N8Ov9ww/XzP8+c7w79//fwwMfxm+bDhDqmmQ5g0DbFUTVQBAAA3PcP/9

-9O3ft/8YXjxneLCL4fZShic3GN5++PWG889LJjKGXuEVL7CNj0sNqVkBIICGZ7gziip/vSPw9+57

-huvXGa5e/H/70Y87bN/ucP98zMgkwE2qacBmO6TaBKb3CRMmYCoAdp0gbR54zkCOBqxRAhBAwzPc

-WXW1v94Q+XBa9PNprq9n2D6eFvxwSuDrKZZ/HDz8CdCld5AmIBA8fPgQTTuwBwthwAuW9evXQ8K0

-sLAQWLsCG44QcSADGOhAoyANefgoAlAZRC+w3QnsDMPtggOAAAIhavVEBhX4sv7UXd7whzJhjxTD

-7ouE32aOuMEQ+WH+wf+w8RnkEICPtABJNCkgFyIF7D3BpYBxABl7gTDgfV2ICcjagQrgYzhwABQH

-CKDhPN/07cC19xN3QCpSdgN5sf5YLgfQajJgIsVMgApgAFmujlUKwgZqBCZkeHoHJnDIylNkAFQD

-6V4BAx1YRsELHzhgZGQECCCKPTcKyAIAAQYA/CfxcS2gFiUAAAAASUVORK5CYII=

-

-------=_NextPart_000_0000_B40804DE.BBCA09DC--

diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testMID.mid b/trunk/tika-parsers/src/test/resources/test-documents/testMID.mid
deleted file mode 100644
index 883ef37..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testMID.mid
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testMP3id3v1.mp3 b/trunk/tika-parsers/src/test/resources/test-documents/testMP3id3v1.mp3
deleted file mode 100644
index 3d4ef17..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testMP3id3v1.mp3
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testMP3id3v1_v2.mp3 b/trunk/tika-parsers/src/test/resources/test-documents/testMP3id3v1_v2.mp3
deleted file mode 100755
index b78a1a3..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testMP3id3v1_v2.mp3
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testMP3id3v2.mp3 b/trunk/tika-parsers/src/test/resources/test-documents/testMP3id3v2.mp3
deleted file mode 100755
index dcbbb67..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testMP3id3v2.mp3
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testMP3id3v24.mp3 b/trunk/tika-parsers/src/test/resources/test-documents/testMP3id3v24.mp3
deleted file mode 100755
index 2d338dc..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testMP3id3v24.mp3
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testMP3lyrics.mp3 b/trunk/tika-parsers/src/test/resources/test-documents/testMP3lyrics.mp3
deleted file mode 100644
index cdec511..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testMP3lyrics.mp3
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testMP3truncated.mp3 b/trunk/tika-parsers/src/test/resources/test-documents/testMP3truncated.mp3
deleted file mode 100644
index d8ab515..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testMP3truncated.mp3
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testMSG.msg b/trunk/tika-parsers/src/test/resources/test-documents/testMSG.msg
deleted file mode 100644
index 74419c4..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testMSG.msg
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testMSG_att_doc.msg b/trunk/tika-parsers/src/test/resources/test-documents/testMSG_att_doc.msg
deleted file mode 100644
index ea82d91..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testMSG_att_doc.msg
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testMSG_att_msg.msg b/trunk/tika-parsers/src/test/resources/test-documents/testMSG_att_msg.msg
deleted file mode 100644
index 35b66e1..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testMSG_att_msg.msg
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testNumbers.numbers b/trunk/tika-parsers/src/test/resources/test-documents/testNumbers.numbers
deleted file mode 100644
index 51360e0..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testNumbers.numbers
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testODFwithOOo3.odt b/trunk/tika-parsers/src/test/resources/test-documents/testODFwithOOo3.odt
deleted file mode 100644
index 7915c6e..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testODFwithOOo3.odt
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testOpenOffice2.odf b/trunk/tika-parsers/src/test/resources/test-documents/testOpenOffice2.odf
deleted file mode 100644
index a814972..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testOpenOffice2.odf
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testOpenOffice2.odt b/trunk/tika-parsers/src/test/resources/test-documents/testOpenOffice2.odt
deleted file mode 100644
index bc31925..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testOpenOffice2.odt
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPBM.pbm b/trunk/tika-parsers/src/test/resources/test-documents/testPBM.pbm
deleted file mode 100644
index 8eb8b82..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPBM.pbm
+++ /dev/null
@@ -1,3 +0,0 @@
-P1
-1 1
-0
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPDF-custommetadata.pdf b/trunk/tika-parsers/src/test/resources/test-documents/testPDF-custommetadata.pdf
deleted file mode 100644
index 7b8d002..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPDF-custommetadata.pdf
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPDF.pdf b/trunk/tika-parsers/src/test/resources/test-documents/testPDF.pdf
deleted file mode 100644
index 1f1bcff..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPDF.pdf
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPDF_protected.pdf b/trunk/tika-parsers/src/test/resources/test-documents/testPDF_protected.pdf
deleted file mode 100644
index 371a307..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPDF_protected.pdf
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPGM.pgm b/trunk/tika-parsers/src/test/resources/test-documents/testPGM.pgm
deleted file mode 100644
index 1077ec0..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPGM.pgm
+++ /dev/null
@@ -1,4 +0,0 @@
-P2
-1 1
-255
-0
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPNG.png b/trunk/tika-parsers/src/test/resources/test-documents/testPNG.png
deleted file mode 100644
index afbcb5f..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPNG.png
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPPM.ppm b/trunk/tika-parsers/src/test/resources/test-documents/testPPM.ppm
deleted file mode 100644
index 63ad5b1..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPPM.ppm
+++ /dev/null
@@ -1,4 +0,0 @@
-P3
-1 1
-255
-0 0 0
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.potm b/trunk/tika-parsers/src/test/resources/test-documents/testPPT.potm
deleted file mode 100644
index bc0abb0..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.potm
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.ppsm b/trunk/tika-parsers/src/test/resources/test-documents/testPPT.ppsm
deleted file mode 100644
index 6ba1432..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.ppsm
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.ppsx b/trunk/tika-parsers/src/test/resources/test-documents/testPPT.ppsx
deleted file mode 100644
index 814ec0e..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.ppsx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.ppt b/trunk/tika-parsers/src/test/resources/test-documents/testPPT.ppt
deleted file mode 100644
index b48cfaf..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.ppt
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.pptm b/trunk/tika-parsers/src/test/resources/test-documents/testPPT.pptm
deleted file mode 100644
index e8fe162..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.pptm
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.pptx b/trunk/tika-parsers/src/test/resources/test-documents/testPPT.pptx
deleted file mode 100644
index 38bc6a2..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.pptx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.thmx b/trunk/tika-parsers/src/test/resources/test-documents/testPPT.thmx
deleted file mode 100644
index 9144088..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.thmx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.xps b/trunk/tika-parsers/src/test/resources/test-documents/testPPT.xps
deleted file mode 100644
index 678033a..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPPT.xps
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPPT_2imgs.ppt b/trunk/tika-parsers/src/test/resources/test-documents/testPPT_2imgs.ppt
deleted file mode 100644
index ce68bcf..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPPT_2imgs.ppt
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPPT_2imgs.pptx b/trunk/tika-parsers/src/test/resources/test-documents/testPPT_2imgs.pptx
deleted file mode 100644
index d459a6c..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPPT_2imgs.pptx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPPT_embeded.ppt b/trunk/tika-parsers/src/test/resources/test-documents/testPPT_embeded.ppt
deleted file mode 100644
index 44d47ee..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPPT_embeded.ppt
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPPT_embeded.pptx b/trunk/tika-parsers/src/test/resources/test-documents/testPPT_embeded.pptx
deleted file mode 100644
index d0a97cd..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPPT_embeded.pptx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPUBLISHER.pub b/trunk/tika-parsers/src/test/resources/test-documents/testPUBLISHER.pub
deleted file mode 100644
index 2397b9d..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPUBLISHER.pub
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testPages.pages b/trunk/tika-parsers/src/test/resources/test-documents/testPages.pages
deleted file mode 100644
index 9fe1e40..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testPages.pages
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testQUATTRO.qpw b/trunk/tika-parsers/src/test/resources/test-documents/testQUATTRO.qpw
deleted file mode 100644
index ec34f47..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testQUATTRO.qpw
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testQUATTRO.wb3 b/trunk/tika-parsers/src/test/resources/test-documents/testQUATTRO.wb3
deleted file mode 100644
index 8fc7022..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testQUATTRO.wb3
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testRDF.rdf b/trunk/tika-parsers/src/test/resources/test-documents/testRDF.rdf
deleted file mode 100644
index 04b3da7..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testRDF.rdf
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You 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.
--->
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-         xmlns:dc="http://purl.org/dc/elements/1.1/">
-  <rdf:Description
-      rdf:about="http://lucene.apache.org/tika/"
-      dc:title="Apache Tika"/>
-</rdf:RDF>
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testRFC822 b/trunk/tika-parsers/src/test/resources/test-documents/testRFC822
deleted file mode 100644
index 22fbf15..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testRFC822
+++ /dev/null
@@ -1,41 +0,0 @@
-From: "Julien Nioche (JIRA)" <jira@apache.org>

-To: dev@tika.apache.org

-Subject: [jira] Commented: (TIKA-461) RFC822 messages not parsed

-Reply-To: dev@tika.apache.org

-Delivered-To: mailing list dev@tika.apache.org

-Date: Mon, 6 Sep 2010 05:25:34 -0400 (EDT)

-In-Reply-To: <6089099.260231278600349994.JavaMail.jira@thor>

-MIME-Version: 1.0

-Content-Type: text/plain; charset=utf-8

-Content-Transfer-Encoding: 7bit

-X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394

-X-Virus-Checked: Checked by ClamAV on apache.org

-

-

-    [ https://issues.apache.org/jira/browse/TIKA-461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12906468#action_12906468 ] 

-

-Julien Nioche commented on TIKA-461:

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

-

-I'll have a look at mime4j and try to use it in Tika

-

-> RFC822 messages not parsed

-> --------------------------

->

->                 Key: TIKA-461

->                 URL: https://issues.apache.org/jira/browse/TIKA-461

->             Project: Tika

->          Issue Type: Bug

->          Components: parser

->    Affects Versions: 0.7

->            Reporter: Joshua Turner

->            Assignee: Julien Nioche

->

-> Presented with an RFC822 message exported from Thunderbird, AutodetectParser produces an empty body, and a Metadata containing only one key-value pair: "Content-Type=message/rfc822". Directly calling MboxParser likewise gives an empty body, but with two metadata pairs: "Content-Encoding=us-ascii Content-Type=application/mbox".

-> A quick peek at the source of MboxParser shows that the implementation is pretty naive. If the wiring can be sorted out, something like Apache James' mime4j might be a better bet.

-

--- 

-This message is automatically generated by JIRA.

--

-You can reply to this email to add a comment to the issue online.

-

diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testRFC822-multipart b/trunk/tika-parsers/src/test/resources/test-documents/testRFC822-multipart
deleted file mode 100644
index 7c0a8c9..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testRFC822-multipart
+++ /dev/null
@@ -1,111 +0,0 @@
-MIME-Version: 1.0

-Sender: digitalpebble@googlemail.com

-Received: by 10.231.31.200 with HTTP; Mon, 27 Sep 2010 06:29:16 -0700 (PDT)

-Date: Mon, 27 Sep 2010 14:29:16 +0100

-Delivered-To: digitalpebble@gmail.com

-X-Google-Sender-Auth: it4o8JYLKcQ5bHJbTpqDhZv46vk

-Message-ID: <AANLkTim+Ci7cg_me+vgQ8YjKEKyKt+nRi3riHPZKuHRF@mail.gmail.com>

-Subject: Test Multi Part Message

-From: DigitalPebble <julien@digitalpebble.com>

-To: lists.digitalpebble@gmail.com

-Content-Type: multipart/mixed; boundary=0016e64606800312ee04913db790

-

---0016e64606800312ee04913db790

-Content-Type: multipart/alternative; boundary=0016e64606800312ea04913db78e

-

---0016e64606800312ea04913db78e

-Content-Type: text/plain; charset=UTF-8

-

-This is a test for parsing multi-part mails. With some funky HTML code an a

-picture attached.

-

-Text specific to body 1.

-

--- 

-**

-*

-Open Source Solutions for Text Engineering

-

-http://digitalpebble.blogspot.com

-http://www.digitalpebble.com*

-

---0016e64606800312ea04913db78e

-Content-Type: text/html; charset=UTF-8

-Content-Transfer-Encoding: quoted-printable

-

-This is a test for parsing multi-part mails. With<span style=3D"color: rgb(=

-204, 0, 0);"> some funky HTML code</span> an a picture attached.<br clear=

-=3D"all"><br>-- <br><font face=3D"arial, helvetica, sans-serif"><b><span st=

-yle=3D"font-family: arial; font-weight: normal;"><b style=3D"color: rgb(0, =

-0, 0); font-family: arial,helvetica,sans-serif;"><img src=3D"http://digital=

-pebble.com/img/logo.gif" height=3D"38" width=3D"200"></b></span></b></font>=

-<div>

-<font face=3D"arial, helvetica, sans-serif"><b><span style=3D"font-family: =

-arial; font-weight: normal;"><b style=3D"color: rgb(0, 0, 0); font-family: =

-arial,helvetica,sans-serif;"><span style=3D"font-size: x-small;">=C2=A0</sp=

-an><br style=3D"font-family: arial,helvetica,sans-serif;">

-</b><span style=3D"color: rgb(102, 102, 102); font-family: arial,helvetica,=

-sans-serif;"><span style=3D"color: rgb(51, 51, 51);">Open Source Solutions =

-for Text Engineering</span><br>

-<span style=3D"font-size: x-small;">=C2=A0</span><br>

-</span></span><span style=3D"color: rgb(102, 102, 102);"><span style=3D"fon=

-t-weight: normal;"><a href=3D"http://digitalpebble.blogspot.com" target=3D"=

-_blank">http://digitalpebble.blogspot.com</a></span></span><span style=3D"f=

-ont-weight: normal;"><br style=3D"color: rgb(102, 102, 102);">

-</span>Text specific to body 2.

-<span style=3D"color: rgb(102, 102, 102);"><span style=3D"font-weight: norm=

-al;"><a href=3D"http://www.digitalpebble.com" target=3D"_blank">http://www.=

-digitalpebble.com</a></span></span></b></font></div><br>

-

---0016e64606800312ea04913db78e--

---0016e64606800312ee04913db790

-Content-Type: image/gif; name="logo.gif"

-Content-Disposition: attachment; filename="logo.gif"

-Content-Transfer-Encoding: base64

-X-Attachment-Id: f_geldjvqq0

-

-R0lGODlhNgE8AMQAALxlVPv19JmZmaysrNnZ2cR4acXFxaWlpd2yqeXl5dWelObFv82Lfu7Y1Ozs

-7L+/v////8BuXtGVibKysszMzPLi39/f3/fs6tmonsiBdOrPyeK7tP4BAgAAAAAAAAAAACH5BAUU

-ABwALAAAAAA2ATwAAAX/ICSOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRK

-rVqv2KwW2mj0KprfZbEtm7eBBoIBACByjY0kAmDsKgtFoY0lTP4TDiYOgBMERISAh1IGhScLCJES

-DJSVEpEaFUxtnG44bJ12OQidfFcUAqkCCSYJqgIURK6qsSoGrEUTryegpb6cEgsBSL5vN71tojik

-pVioqrgks6m1QtOwKQSp0UO6qry/4ZwRGMNFxZ+lyjfMnc6v3CLX1UHzJ4TQRt6p4OL+EZqIoDum

-Tkc7Tu/ylbA3hGGJZ9v07TKBzF84L0MG2qi4zsZBU1YgrjIRgIJJCvF+/5Q8mRKCyJY/9gnoZ1Fc

-hAsZSxnbWHCUr4QRy7yU+I2iry5dNCCYI05Bzk47a3A0+PMUPDNDc00sUREAigV7fpkDolFqz2VV

-Q14VupaITJoIUQSQ8ItMkLI0pvpsZlXhlqxut5LoqiJA2E4YhOCdoRct3yUWKAAyQGAsYGkJMo9V

-QaDRH8qbM2s+ITpB6MwPXqEUXTjyg0IGULZ4a/QxCgy+OpoYg6ESAwTCWqC7sEFBJQwbArKYGmBB

-b0oKEGB08dHriwrFLSEIE0PkK1jDLstTXTj1d1rDrqV0COG8exQEBrj/TmGzCdpc06JokDtFg66d

-SDAdCr4ooIA4BSBgX/9tnGSAAB2/RKAATixU5wJYNk3YggXzvTJASW2NwF4JHHaYygAOqNcKeSOY

-WBQJDhzg4isHCIICfoPpdwJ/Z5FwAYC/SLDgCDVFyB0KQFoUFQoWrtDAYUquoM2MAhxgQIjj0QIf

-ldRgCQF7VJbgAJffDQkBjiMQpgKPoZhQAYRFAgAQgXH6khiSdapjpghNprBAngBkYOY1qUywGgHm

-ubceiwud98BqFCR63qJajnCSTI+eREIA5w1AgQWiRerojYKlqaMJ1S3ZAJx1zmkCoKXcySCsGajQ

-5wkbwBrokDKqckBKAcjkl4iMktBrKr+2cqyXI4og3giSjnSPfK8Miab/CGqmAGUbdonwZjgZULJt

-gwsiSEkG/hyZY4SV+CMrqqeO8Gc4lbDaiVMP0bhntNJKU6yzHu5JLbP/AjzsCJx6WcJ3LV0LQba4

-/kKhCOiWEoGCPlbnSQm/aEiCBnT5EsGCXTEwIAQV4PbLySPc6qO9ABTQrbchl3LysjamMHBQ/lZK

-wnc5n5AwwT6T8KxLr0zAwpVFj+AwxJtqXGvLIitXwredjMxxrCloADO+6zaYQgUVd1IAk/E+7Iug

-X/U3QompPMACoZRSQ+IrBrDgXd3YmHC0SBawAHffJTzty8Qoa4ABzNySALPVJszbyQZbQ6WC5OPY

-19gJWHfCMgQue+tL/wF7QnBgKcoxnUrQKSzLNz0QSFp6i0Tb7bfCIgSQAOwoNHtmqdjqysk6mLcB

-trY9QrBYfqXMrHabthZ4Quim++L8bhrt7ILq/RLb9LEHuCDT6yccLYPvhgt/Ewk1cwL59Dou/7H0

-YSezQgCjw2/bCPZG0EJjSXPB4Mj3M1XIrQXP8p35XOAARNHnBOmDVQEgt62zsUADvrCa/EjgNlNB

-TwVQ49OpLkC/FahsHLl7xQFZMKaDfalYvitf7QhnNNz1jgCRElbBfvei+tVJSK8S3lE4qBMWjIt5

-w2PB6TwHr/1BgE1CjEsMTzBDekyxUS5UoA1H4EAy8Y6H/JhVkRTwOf8oRhEAA9qgB93hQ900kYkl

-CJ3GhJcl27Wgij2z4wpUhEU9WmqL3uHSFyPYIHX8Rl0mMGMUNVjEFUBtc2iz2RvjQoI5wsp/L2ya

-CvDoPT+mgI95pOEfXTiCnc3HUCnaISFBEgNFCrFynFgSXFj5vCSuoDosk+MZbXnFhWURhjuU4S81

-iTRSQsCUhXqUaUI5SODVkpKt3GUbpkakRqqgbG3A5BrtZ8IMTpKWoJMmAGSlQhcMrXt1pOE5V7iC

-BO7wb995AEzS2cwebhOcLiChNW2gRhF0MHgfTEEIw+nE4qHxBh5yASg7KcqEtkBSBMwXKb+zCM6o

-0pkDdcE/a9DPCtj/CYncVIG9qFnJUylSljGQyewMxjOGwk6ld+SkRFuaTnamQCT1DCNI8ekCbMpp

-pSzoZ3WcB8lElrCkTsRf8mQgkoqqYGcRZakAnIqCwaEzk54sJk21KoDAsWBnOZ2JGK0zgxPGEgdq

-NIwvNLfUErSvDYgUoRMh4NOD1uCc4dsjw1akSX2tQFhRHeVWFziCFhJzlWSVgUct9j6SqECNS+TE

-8QBqy7aVwoLfTOwIclUKtt0vBZLK21P32kdRxq6cKeDeVrXoQpx+9YH3wWjaXNCVCMS1kpg9gS8k

-IJfIcoJlFSEdCji7T6R24n0BgFkGGps7CUwWRhQF7aT4mtV4Dkm1/6t9Z8GukVfpxhOCsp3rC1xZ

-hwUo5wINWFzj6NRZDZjjAopj3HOfmc0FUCgNCBhXzFJQHcpl1ngamBgYloi4Eqj2AfZJADKv6rsp

-+YoCNgoAAZYlUxJYNSXWJQ2FCwVee1IWmmXVVW5hKcEhJalIzCWo2VBQ1zGO9juGooABdgZV6ppW

-BPzqUI1L+0XDnsccgTQAqBLQmWXtTGmx9TB9NTsD38bpev5UH3NPbBEojwCDR0VYi2tS4BIsuFMD

-tPEXcUwlHFbYWPOJhg47hGDtJVmnPmRyk2nFXkAtV6C6su396LWgAGzZXe100QR0d2YSbdhXrBAJ

-67B6YwhYtWg5Pv/PIgD3ZrHuVM4z0IB+6dXlKGfzreEoBwjvVSQGdNoETgbAfPnEuFCvNAA5PsAi

-FkpPwT1gYAd4gFe5SppgfmnDNo3PfDy1mQAWLrxs1MEC/hwzDKRYeZygXANA3YYCYODUYePtBRTA

-OAl9Ti4+fZfQ8uuPDGwA2707CQEWjQSHxcABJ0HJkHQX72WeYVMNgEQkgNMAoO7bv7lTw74bgO4S

-6BtjI4jDvjNBA6UAB6giQO8G9r2db99bBPvo7sU3zvGO14ACA3hUZWLKYY+b/OQoF2Yqdp2CwY05

-5TCP+RYGZ9MT7IzdMs+5zqkQXe+WfOdAD3oUovWARU8YaEJPutI9l3DKPxyaqkuPutR94OMyT/3q

-WO9BpGGM86x7/evmnLF7BmCAroP97GhXQYoyY/a0u/3tcI+73OdOd46HAAA7

---0016e64606800312ee04913db790--

diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testRFC822_base64 b/trunk/tika-parsers/src/test/resources/test-documents/testRFC822_base64
deleted file mode 100644
index 6060095..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testRFC822_base64
+++ /dev/null
@@ -1,8 +0,0 @@
-To: Nobody <nobody@somewhere.com>

-From: Nowhere <nowhere@nowhere.com>

-Subject: This tests a base64 encoded body

-MIME-Version: 1.0

-Content-Type: text/plain; charset=ISO-8859-1

-Content-Transfer-Encoding: base64

-

-SGVyZSBpcyBzb21lIHRleHQsIHdpdGggaW50ZXJuYXRpb25hbCBjaGFyYWN0ZXJzLCB2b2ls4CE=

diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testRFC822_i18nheaders b/trunk/tika-parsers/src/test/resources/test-documents/testRFC822_i18nheaders
deleted file mode 100644
index f711a27..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testRFC822_i18nheaders
+++ /dev/null
@@ -1,9 +0,0 @@
-From: =?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk>

-To: Nobody in Particular <a.person@example.com>

-Subject: =?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?=

- =?ISO-8859-2?B?dSB1bmRlcnN0YW5kIHRoZSBleGFtcGxlLg==?=

-MIME-Version: 1.0

-Content-type: text/plain

-Content-transfer-encoding: 7bit

-

-Examples taken from RFC 2047. 

diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testRFC822_quoted b/trunk/tika-parsers/src/test/resources/test-documents/testRFC822_quoted
deleted file mode 100644
index ac100af..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testRFC822_quoted
+++ /dev/null
@@ -1,13 +0,0 @@
-Delivered-To: a.person@example.com

-Return-Path: <another.person@another-example.com>

-MIME-Version: 1.0

-Date: Fri, 26 Nov 2010 19:57:53 +0000

-Subject: Sample with Quoted Printable Text

-From: Another Person <another.person@another-example.com>

-To: A. Person <a.person@example.com>

-Content-Type: text/plain; charset=UTF-8

-Content-Transfer-Encoding: quoted-printable

-

-D=C3=BCsseldorf has non-ascii. Lines can be spl=

-it like this. Spaces at the end of a line=20

-must be encoded.

diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testRTF-ms932.rtf b/trunk/tika-parsers/src/test/resources/test-documents/testRTF-ms932.rtf
deleted file mode 100644
index c5e5794..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testRTF-ms932.rtf
+++ /dev/null
@@ -1,30 +0,0 @@
-{\rtf1\ansi\ansicpg932\uc2 \deff26\deflang1033\deflangfe1041{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
-{\f23\froman\fcharset128\fprq1{\*\panose 02020609040205080304}\'82\'6c\'82\'72 \'96\'be\'92\'a9{\*\falt MS Mincho};}{\f26\froman\fcharset0\fprq2{\*\panose 02040604050505020304}Century;}
-{\f28\froman\fcharset128\fprq1{\*\panose 02020609040205080304}@\'82\'6c\'82\'72 \'96\'be\'92\'a9;}{\f37\froman\fcharset238\fprq2 Times New Roman CE;}{\f38\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f40\froman\fcharset161\fprq2 Times New Roman Greek;}
-{\f41\froman\fcharset162\fprq2 Times New Roman Tur;}{\f42\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f43\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f44\froman\fcharset186\fprq2 Times New Roman Baltic;}
-{\f223\froman\fcharset0\fprq1 MS Mincho Western{\*\falt MS Mincho};}{\f221\froman\fcharset238\fprq1 MS Mincho CE{\*\falt MS Mincho};}{\f222\froman\fcharset204\fprq1 MS Mincho Cyr{\*\falt MS Mincho};}
-{\f224\froman\fcharset161\fprq1 MS Mincho Greek{\*\falt MS Mincho};}{\f225\froman\fcharset162\fprq1 MS Mincho Tur{\*\falt MS Mincho};}{\f228\froman\fcharset186\fprq1 MS Mincho Baltic{\*\falt MS Mincho};}{\f245\froman\fcharset238\fprq2 Century CE;}
-{\f246\froman\fcharset204\fprq2 Century Cyr;}{\f248\froman\fcharset161\fprq2 Century Greek;}{\f249\froman\fcharset162\fprq2 Century Tur;}{\f252\froman\fcharset186\fprq2 Century Baltic;}
-{\f263\froman\fcharset0\fprq1 @\'82\'6c\'82\'72 \'96\'be\'92\'a9 Western;}{\f261\froman\fcharset238\fprq1 @\'82\'6c\'82\'72 \'96\'be\'92\'a9 CE;}{\f262\froman\fcharset204\fprq1 @\'82\'6c\'82\'72 \'96\'be\'92\'a9 Cyr;}
-{\f264\froman\fcharset161\fprq1 @\'82\'6c\'82\'72 \'96\'be\'92\'a9 Greek;}{\f265\froman\fcharset162\fprq1 @\'82\'6c\'82\'72 \'96\'be\'92\'a9 Tur;}{\f268\froman\fcharset186\fprq1 @\'82\'6c\'82\'72 \'96\'be\'92\'a9 Baltic;}}{\colortbl;\red0\green0\blue0;
-\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;
-\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\qj \li0\ri0\nowidctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 
-\fs21\lang1033\langfe1041\kerning2\loch\f26\hich\af26\dbch\af23\cgrid\langnp1033\langfenp1041 \snext0 Normal;}{\*\cs10 \additive Default Paragraph Font;}}{\info{\title \'83\'5e\'83\'43\'83\'67\'83\'8b}{\author shinsuke}{\operator shinsuke}
-{\creatim\yr2010\mo10\dy8\hr14\min18}{\revtim\yr2010\mo10\dy10\hr6\min59}{\version4}{\edmins3}{\nofpages1}{\nofwords3}{\nofchars3}{\nofcharsws0}{\vern8249}}\paperw11906\paperh16838\margl1701\margr1701\margt1985\margb1701\gutter0 
-\deftab840\ftnbj\aenddoc\hyphcaps0\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1701\dgvorigin1985\dghshow0\dgvshow2\jcompress\lnongrid
-\viewkind1\viewscale100\splytwnine\ftnlytwnine\htmautsp\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule {\upr{\*\fchars 
-!%),.:\'3b?]\'7d\'81\'91\'81\'8b\'81\'66\'81\'68\'81\'f1\'81\'8c\'81\'8d\'81\'8e\'81\'41\'81\'42\'81\'58\'81\'72\'81\'74\'81\'76\'81\'78\'81\'7a\'81\'6c\'81\'4a\'81\'4b\'81\'54\'81\'55\'81\'45\'81\'52\'81\'53\'81\'49\'81\'93\'81\'6a\'81\'43\'81\'44
-\'81\'46\'81\'47\'81\'48\'81\'6e\'81\'70\'a1\'a3\'a4\'a5\'de\'df\'81\'91}{\*\ud\uc0{\*\fchars 
-!%),.:\'3b?]\'7d{\uc2\u162 \'81\'91\'81\'8b\'81f\'81h\'81\'f1\'81\'8c\'81\'8d\'81\'8e\'81A\'81B\'81X\'81r\'81t\'81v\'81x\'81z\'81l\'81J\'81K\'81T\'81U\'81E\'81R\'81S\'81I\'81\'93\'81j\'81C\'81D\'81F\'81G\'81H\'81n\'81p\'a1\'a3\'a4\'a5}\'de\'df\'81\'91}}}
-{\upr{\*\lchars $([\'5c\'7b\'81\'92\'5c\'81\'65\'81\'67\'81\'71\'81\'73\'81\'75\'81\'77\'81\'79\'81\'6b\'81\'90\'81\'69\'81\'6d\'81\'6f\'a2\'81\'92\'81\'8f}{\*\ud\uc0{\*\lchars 
-$([\'5c\'7b{\uc2\u163 \'81\'92}{\uc1\u165 \'5c\'81e\'81g\'81q\'81s\'81u\'81w\'81y\'81k\'81\'90\'81i\'81m\'81o\'a2\'81\'92\'81\'8f}}}}\fet0\sectd \linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl {\*\pnseclvl1
-\pnucrm\pnstart1\pnindent720\pnhang{\pntxta \dbch .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta \dbch .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta \dbch .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta \dbch )}}
-{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb \dbch (}{\pntxta \dbch )}}
-{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb \dbch (}{\pntxta \dbch )}}\pard\plain \qj \li0\ri0\nowidctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 
-\fs21\lang1033\langfe1041\kerning2\loch\af26\hich\af26\dbch\af23\cgrid\langnp1033\langfenp1041 {\hich\af26\dbch\af23\loch\f26 Hello
-\par }{\loch\af26\hich\af26\dbch\f23 \'82\'b1\'82\'f1\'82\'c9\'82\'bf\'82\'cd}{
-\par \hich\af26\dbch\af23\loch\f26 Test
-\par }{\loch\af26\hich\af26\dbch\f23 \'83\'65\'83\'58\'83\'67}{
-\par 
-\par }{
-\par }}
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testRTF.rtf b/trunk/tika-parsers/src/test/resources/test-documents/testRTF.rtf
deleted file mode 100644
index 487e6f4..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testRTF.rtf
+++ /dev/null
@@ -1,17 +0,0 @@
-{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1036\deflangfe1036{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f37\froman\fcharset238\fprq2 Times New Roman CE;}
-{\f38\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f40\froman\fcharset161\fprq2 Times New Roman Greek;}{\f41\froman\fcharset162\fprq2 Times New Roman Tur;}{\f42\froman\fcharset177\fprq2 Times New Roman (Hebrew);}
-{\f43\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f44\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f45\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;
-\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;
-\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 \snext0 Normal;}{\*\cs10 \additive \ssemihidden 
-Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv 
-\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\rsidtbl \rsid2954171\rsid10375891}
-{\*\generator Microsoft Word 11.0.6568;}{\info{\title Test d\'92indexation Word}{\author Bibliotheque}{\operator Bibliotheque}{\creatim\yr2006\mo5\dy18\hr12\min19}{\revtim\yr2006\mo5\dy18\hr12\min19}{\version2}{\edmins0}{\nofpages1}{\nofwords3}
-{\nofchars21}{\*\company Universite Laval}{\nofcharsws23}{\vern24579}}\paperw11906\paperh16838\margl1417\margr1417\margt1417\margb1417 
-\deftab708\widowctrl\ftnbj\aenddoc\hyphhotz425\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1417\dgvorigin1417\dghshow1\dgvshow1
-\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct\asianbrkrule\nojkernpunct\rsidroot2954171 \fet0
-\sectd \linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3
-\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
-{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain 
-\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\insrsid2954171 Test d\rquote indexation Word
-\par 
-\par }}
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testRTFTableCellSeparation.rtf b/trunk/tika-parsers/src/test/resources/test-documents/testRTFTableCellSeparation.rtf
deleted file mode 100644
index 0c0633a..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testRTFTableCellSeparation.rtf
+++ /dev/null
@@ -1,7 +0,0 @@
-{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\fswiss\fprq2\fcharset0 Calibri;}}
-{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\trowd\trgaph108\trleft-108\trbrdrl\brdrs\brdrw10 \trbrdrt\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
-\clbrdrl\brdrw10\brdrs\clbrdrt\brdrw10\brdrs\clbrdrr\brdrw10\brdrs\clbrdrb\brdrw10\brdrs \cellx4680\clbrdrl\brdrw10\brdrs\clbrdrt\brdrw10\brdrs\clbrdrr\brdrw10\brdrs\clbrdrb\brdrw10\brdrs \cellx9468\pard\intbl\f1\fs22 a\cell b\cell\row\trowd\trgaph108\trleft-108\trbrdrl\brdrs\brdrw10 \trbrdrt\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
-\clbrdrl\brdrw10\brdrs\clbrdrt\brdrw10\brdrs\clbrdrr\brdrw10\brdrs\clbrdrb\brdrw10\brdrs \cellx4680\clbrdrl\brdrw10\brdrs\clbrdrt\brdrw10\brdrs\clbrdrr\brdrw10\brdrs\clbrdrb\brdrw10\brdrs \cellx9468\pard\intbl c\cell d\cell\row\trowd\trgaph108\trleft-108\trbrdrl\brdrs\brdrw10 \trbrdrt\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
-\clbrdrl\brdrw10\brdrs\clbrdrt\brdrw10\brdrs\clbrdrr\brdrw10\brdrs\clbrdrb\brdrw10\brdrs \cellx4680\clbrdrl\brdrw10\brdrs\clbrdrt\brdrw10\brdrs\clbrdrr\brdrw10\brdrs\clbrdrb\brdrw10\brdrs \cellx9468\pard\intbl\lang1031\'e4\cell\lang1033\'eb\cell\row\trowd\trgaph108\trleft-108\trbrdrl\brdrs\brdrw10 \trbrdrt\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
-\clbrdrl\brdrw10\brdrs\clbrdrt\brdrw10\brdrs\clbrdrr\brdrw10\brdrs\clbrdrb\brdrw10\brdrs \cellx4680\clbrdrl\brdrw10\brdrs\clbrdrt\brdrw10\brdrs\clbrdrr\brdrw10\brdrs\clbrdrb\brdrw10\brdrs \cellx9468\pard\intbl\'f6\cell\'fc\cell\row\pard\sa200\sl276\slmult1\par
-}
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testRTFUmlautSpaces.rtf b/trunk/tika-parsers/src/test/resources/test-documents/testRTFUmlautSpaces.rtf
deleted file mode 100644
index c753315..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testRTFUmlautSpaces.rtf
+++ /dev/null
@@ -1,3 +0,0 @@
-{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
-{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang9\f0\fs22\'dcbersicht\par
-}
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testRTFWord2010CzechCharacters.rtf b/trunk/tika-parsers/src/test/resources/test-documents/testRTFWord2010CzechCharacters.rtf
deleted file mode 100644
index ff2f8c4..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testRTFWord2010CzechCharacters.rtf
+++ /dev/null
@@ -1,190 +0,0 @@
-{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31506\stshfloch31506\stshfhich31506\stshfbi31507\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
-{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
-{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}
-{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
-{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}
-{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f293\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f294\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
-{\f296\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f297\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f298\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f299\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
-{\f300\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f301\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f293\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f294\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
-{\f296\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f297\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f298\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f299\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
-{\f300\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f301\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f663\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f664\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
-{\f666\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f667\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f670\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f671\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}
-{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
-{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
-{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
-{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
-{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
-{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}
-{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}
-{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
-{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
-{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
-{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
-{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
-{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
-{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
-{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
-{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
-{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
-{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
-{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
-{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}
-{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
-\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp \f31506\fs22 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1
-\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 
-\ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 \styrsid2501661 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
-\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
-\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{
-\s15\ql \li0\ri0\widctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 
-\sbasedon0 \snext15 \slink16 \sunhideused \styrsid12917103 header;}{\*\cs16 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \sbasedon10 \slink15 \slocked \styrsid12917103 Header Char;}{\s17\ql \li0\ri0\widctlpar
-\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 
-\sbasedon0 \snext17 \slink18 \sunhideused \styrsid12917103 footer;}{\*\cs18 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \sbasedon10 \slink17 \slocked \styrsid12917103 Footer Char;}}{\*\rsidtbl \rsid2501661\rsid4420266\rsid12917103\rsid15494032}{\mmathPr
-\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\creatim\yr2010\mo10\dy13\hr2\min55}{\revtim\yr2010\mo10\dy13\hr2\min55}{\version1}{\edmins0}{\nofpages1}{\nofwords70}
-{\nofchars401}{\nofcharsws470}{\vern49243}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect 
-\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen
-\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1
-\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\rempersonalinfo\allowfieldendsel
-\wrppunct\asianbrkrule\rsidroot2501661\newtblstyruls\nogrowautofit\remdttm\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal 
-\nouicompat \fet0{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12917103 \rtlch\fcs1 \af31507\afs22\alang1025 
-\ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid4420266 \chftnsep 
-\par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12917103 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 
-\f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid4420266 \chftnsepc 
-\par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12917103 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 
-\f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid4420266 \chftnsep 
-\par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12917103 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 
-\f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid4420266 \chftnsepc 
-\par }}\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sectrsid12992097\sftnbj {\headerl \ltrpar \pard\plain \ltrpar\s15\ql \li0\ri0\widctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 
-\af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid12917103 
-\par }}{\headerr \ltrpar \pard\plain \ltrpar\s15\ql \li0\ri0\widctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 
-\f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid12917103 
-\par }}{\footerl \ltrpar \pard\plain \ltrpar\s17\ql \li0\ri0\widctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 
-\f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid12917103 
-\par }}{\footerr \ltrpar \pard\plain \ltrpar\s17\ql \li0\ri0\widctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 
-\f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid12917103 
-\par }}{\headerf \ltrpar \pard\plain \ltrpar\s15\ql \li0\ri0\widctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 
-\f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid12917103 
-\par }}{\footerf \ltrpar \pard\plain \ltrpar\s17\ql \li0\ri0\widctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 
-\f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid12917103 
-\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}
-{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8
-\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid2501661 
-\rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af663 \ltrch\fcs0 \f663\lang1048\langfe1033\langnp1048\insrsid2501661 \'c8l\'e1nek t\'fddne
-\par \'c8\'e1st svitku s textem Knihy Izaj\'e1\'9a
-\par Svitky od Mrtv\'e9ho mo\'f8e jsou starov\'eck\'e9 \'9eidovsk\'e9 n\'e1bo\'9eensk\'e9 texty, nalezen\'e9 pobl\'ed\'9e Mrtv\'e9ho mo\'f8e, zejm\'e9na v Kumr\'e1nu. P\'f8edpokl\'e1d\'e1 se, \'9ee p\'f9vodn\'edmi vlastn\'edky knihovny a autory \'e8\'e1
-sti text\'f9 byli esejci, \'e8lenov\'e9 asketick\'e9ho, apokalyptick\'e9ho a mesianistick\'e9ho hnut\'ed v r\'e1mci judaismu, kter\'e9 pravd\'ecpodobn\'ec vzniklo v polovin\'ec 2. stol. p\'f8.}{\rtlch\fcs1 \af37 \ltrch\fcs0 
-\f37\lang1048\langfe1033\langnp1048\insrsid2501661 \u8201\'3f}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1048\langfe1033\langnp1048\insrsid2501661 n.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1048\langfe1033\langnp1048\insrsid2501661 \u8201\'3f}{\rtlch\fcs1 
-\af663 \ltrch\fcs0 \f663\lang1048\langfe1033\langnp1048\insrsid2501661 l. a zaniklo n\'e1sledkem prvn\'ed \'9eidovsk\'e9 v\'e1lky koncem 60. let prvn\'edho stolet\'ed na\'9aeho letopo\'e8tu.}{\rtlch\fcs1 \af37 \ltrch\fcs0 
-\f37\lang1048\langfe1033\langnp1048\insrsid2501661\charrsid2501661 
-\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1048\langfe1033\langnp1048\insrsid15494032\charrsid2501661 
-\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
-9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
-5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
-b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0
-0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6
-a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f
-c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512
-0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462
-a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865
-6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b
-4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b
-4757e8d3f729e245eb2b260a0238fd010000ffff0300504b0304140006000800000021003bb85ec01007000069230000160000007468656d652f7468656d652f
-7468656d65312e786d6cec5a4f6fdb3614bf0fd87720746f6d27761a07758ad8b19bad4d1bc46e871e6999965853a240d2497d1bdae38001c3ba618715d86d87
-615b8116d8a5fb34d93a6c1dd0afb04752b2c5585e9236d89ca23e2416f5f8fefc1edfe34f94af5e7b1031744084a43c6e7895cb650f91d8e7031a070def4eaf
-7369dd4352e17880198f49c39b10e95ddbfcf083ab784385242208e6c7720337bc50a964a354923e0c6379992724867b432e22ace05204a581c087a03762a595
-7279ad14611a7b28c611a8bd3d1c529fa09e56e96d66cadb0c2e6325f580cf4457ab26ce0c233b1855b4849cc81613e800b386077606fcb0471e280f312c15dc
-687865f3f14a9b574b78239dc4d482b9b9791df349e7a51306a315635304fda9d14aa75abfb2eda59044fe693089b0188d934b3e8f12ac689f32aa26061e0f45
-fec64741cc05ee334028538b2bd539bd11f505977ca82e839e123758666883b24ad9629d056e3c676a3e8076bbdd6a57324bcb1a40ea39f67d581b367bf92c54
-3beb95e6d26721e7bdfd3a9f8d56b956ae5e90408cf73690d5b9baa8379bcd5a7dd99755ce7bfbb53a17c87a79adbab572310231dedb406a7381549b5badd6da
-c508c4786f03599b0ba473a5be56bd208118ef4346e3d15c187a63ea74963d1f53df879ced14c6b10e71ac0385b0a46059379099fbc003a6bc422765c863b588
-6544f83e171d10d0820c36eb18a9494286d887ddb985a3bea0587304bc4170ee8e1df2e5dc90b685a42f68a21adec709062e34d3f7fac58faf5f3c43470f9f1f
-3dfce5e8d1a3a3873f5b45ceac1d1c07f959afbeffe2ef279fa2bf9e7df7eaf157c5f2322ffffb4f9ffdf6eb97c582409c66eebcfcfae91fcf9fbefce6f33f7f
-785c20be051c252fdea31191e8163944fb3c82c00c2aaee7a42fce36a317629a9fb1150712c7585b29d0df56a1237d6b82599a1dc78f267111bc2b803816095e
-1fdf771cee8662ac6881e51b61e408ee72ce9a40e28a50b8a16de560ee8de3a0d8b818e7e5f6313e28b2ddc2b193dff63801c69c2d4b27f056481c37f7188e15
-0e484c14d2f7f8889082e8ee51eae0ba9b314f748fa226a68590f468df594db3493b3482bc4c8a62867c3bd8ecde454dce8aa2de2607ae2454056605cef70873
-60bc8ec70a47452a7b386279c06f62151639d99d083f2fd7960a321d10c6517b40a42c9a735b40bcb9a4dfc0d04a0bd3becb26912b29141d15e9bc8939cf4b6e
-f3512bc4f04851804297c6615ef6233982258ad11e5745e2bbdcad107d0d79c0f1c274dfa5c449f7c9dde00e0d1c97660b44df198b8228ae13eeacdfee840d31
-3145064ddde9d5118587a8cec2c6cd28746e6be1fc1a37b4ca97df3e29f07b595bf616ec5e4535b373ac512f923bde9e5b5c0ce8f277e76d3c8ef70814c4fc16
-f5be39bf6fcede3bdf9c17d5f3f9b7e459178606adb98825da8676470b59f79032d65513466e4a43bc25ec3d830e0cea79e6ac914ccfdf9210beea4a06038e5c
-20b0998304579f501576439c0069af785a492053d581440997704c68860b756b7920feca1e32d6f4639bed1c12ab5d3eb0c3ab7ad88c6b3fcc9925f865bc0acc
-51666668552b38adb1d52ba952d0f926c62adaa9535bab18d74c5374ac4d432e0c0d06a76802a941408500e53538edd5a6e161073332d0b8db1c6569315938cf
-14c9100f489a231df77c8e2a2649d95af9971ce927da1350cb59ab6bb56f61ed3449ca9bab2e309765ef6db294ade0599640dbf1726471be38598c0e1b5ebdb6
-52f3908f93863784e764f81a259075a979246601bc66f095b0cbfec46236553ecb663d0bcc2d820a9c945adce70276fa4022a4dac632b44bc3dc4a97008bb525
-ebff4a0d603daf000abad1e9bc585d87c5f0bf790138baa925c321f1553ed9b9118d9dbd4c5b291f2b22bae1e010f5d958ec6348bf5eaa10cf804a38ee301d41
-5fc05b198db6b9e536e7b4e8f227fb460e742cebe9928601b324c4e93ea07b47d6626c1c6613988263ae72b801e885a01ad4cf8eb1e945ef3ac6f9c27f8ff1f9
-bc273cbe8ecf8ab1663d7090b43ad08a7c78bf2b30d24dafe171a1420e1b4a1252bf2380039a6d000a1f5ed2c26da86d78cb6cfe0b72a0ffdbf66975686d0cce
-03d43e0d90a0402d542808d9831dc63492139455521a6255668a2c599cb92b13eb769f1c10d6d3dbd99aa6691e0aa16b998d21ede846ee78c5bad76933ec079a
-afe65ba7b3294d19a2ed1aff3589b57d198272b754c34d33fca72e1690583bdf4ccf68543e107d63c698abd9520263b95dbd9e36ca3774e18cacc96e3e7311af
-d432e7208bf311c3e094dbc2abfa10e93f4065a8f099fdc982e6463dbe0fdb24825f206865b06c60555fb21c12e9bdce0ef68103db41bb98b42a0b6dca82356a
-19ef3ae78796a9dd63606bcf4e93ef33823de5d9ae39a716cf13ec1461076b3bb6106ac8ecf11285a161f64c6a12637eeb92ff390aefdf87446fc3eb9f3153d2
-2c26f8b189c0f0a4d7357500c56f2d9aa99bff000000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f7468
-656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f2451
-eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e319872
-0e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528a2
-c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c020000130000000000000000000000000000
-0000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000000000
-300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c0000000000000000000000000019020000746865
-6d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d00140006000800000021003bb85ec010070000692300001600000000000000000000
-000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b01000027000000000000
-000000000000001a0a00007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000150b00000000}
-{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
-617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
-6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
-656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
-{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
-\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;
-\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;
-\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000
-4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000
-d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000b005
-07fd686acb01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000105000000000000}}
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testRTFWordPadCzechCharacters.rtf b/trunk/tika-parsers/src/test/resources/test-documents/testRTFWordPadCzechCharacters.rtf
deleted file mode 100644
index de518e0..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testRTFWordPadCzechCharacters.rtf
+++ /dev/null
@@ -1,5 +0,0 @@
-{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset238 Calibri;}{\f1\fnil\fcharset0 Calibri;}}
-{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang1048\f0\fs22\'c8l\'e1nek t\'fddne\par
-\'c8\'e1st svitku s textem Knihy Izaj\'e1\'9a\par
-Svitky od Mrtv\'e9ho mo\'f8e jsou starov\'eck\'e9 \'9eidovsk\'e9 n\'e1bo\'9eensk\'e9 texty, nalezen\'e9 pobl\'ed\'9e Mrtv\'e9ho mo\'f8e, zejm\'e9na v Kumr\'e1nu. P\'f8edpokl\'e1d\'e1 se, \'9ee p\'f9vodn\'edmi vlastn\'edky knihovny a autory \'e8\'e1sti text\'f9 byli esejci, \'e8lenov\'e9 asketick\'e9ho, apokalyptick\'e9ho a mesianistick\'e9ho hnut\'ed v r\'e1mci judaismu, kter\'e9 pravd\'ecpodobn\'ec vzniklo v polovin\'ec 2. stol. p\'f8.\u8201?n.\u8201?l. a zaniklo n\'e1sledkem prvn\'ed \'9eidovsk\'e9 v\'e1lky koncem 60. let prvn\'edho stolet\'ed na\'9aeho letopo\'e8tu.\lang9\f1\par
-}
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testSVG.svg b/trunk/tika-parsers/src/test/resources/test-documents/testSVG.svg
deleted file mode 100644
index f78a87d..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testSVG.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
-          "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg width="1cm" height="1cm" version="1.1" xmlns="http://www.w3.org/2000/svg">
-  <desc>Test SVG image</desc>
-  <rect x="0.1cm" y="0.1cm" width="0.8cm" height="0.8cm"/>
-</svg>
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testSVG.svgz b/trunk/tika-parsers/src/test/resources/test-documents/testSVG.svgz
deleted file mode 100644
index 53b9f26..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testSVG.svgz
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testTIFF.tif b/trunk/tika-parsers/src/test/resources/test-documents/testTIFF.tif
deleted file mode 100644
index 8f6c7ab..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testTIFF.tif
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testTXT.txt b/trunk/tika-parsers/src/test/resources/test-documents/testTXT.txt
deleted file mode 100644
index 0b5605a..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testTXT.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Test d'indexation de Txt
-http://www.apache.org
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testTrueType.ttf b/trunk/tika-parsers/src/test/resources/test-documents/testTrueType.ttf
deleted file mode 100644
index 0e1487b..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testTrueType.ttf
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testVISIO.vsd b/trunk/tika-parsers/src/test/resources/test-documents/testVISIO.vsd
deleted file mode 100644
index d699e11..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testVISIO.vsd
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testVORCalcTemplate.vor b/trunk/tika-parsers/src/test/resources/test-documents/testVORCalcTemplate.vor
deleted file mode 100644
index 6390f50..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testVORCalcTemplate.vor
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testVORDrawTemplate.vor b/trunk/tika-parsers/src/test/resources/test-documents/testVORDrawTemplate.vor
deleted file mode 100644
index 50eb255..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testVORDrawTemplate.vor
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testVORImpressTemplate.vor b/trunk/tika-parsers/src/test/resources/test-documents/testVORImpressTemplate.vor
deleted file mode 100644
index 5d137cb..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testVORImpressTemplate.vor
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testVORWriterTemplate.vor b/trunk/tika-parsers/src/test/resources/test-documents/testVORWriterTemplate.vor
deleted file mode 100644
index 27828eb..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testVORWriterTemplate.vor
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testWAV.wav b/trunk/tika-parsers/src/test/resources/test-documents/testWAV.wav
deleted file mode 100644
index 59a063e..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testWAV.wav
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testWORD.doc b/trunk/tika-parsers/src/test/resources/test-documents/testWORD.doc
deleted file mode 100644
index c1f4f3d..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testWORD.doc
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testWORD.docx b/trunk/tika-parsers/src/test/resources/test-documents/testWORD.docx
deleted file mode 100644
index 5ef040e..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testWORD.docx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testWORD6.doc b/trunk/tika-parsers/src/test/resources/test-documents/testWORD6.doc
deleted file mode 100644
index a614a07..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testWORD6.doc
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testWORD_1img.doc b/trunk/tika-parsers/src/test/resources/test-documents/testWORD_1img.doc
deleted file mode 100644
index 4f4cee0..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testWORD_1img.doc
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testWORD_1img.docx b/trunk/tika-parsers/src/test/resources/test-documents/testWORD_1img.docx
deleted file mode 100644
index 38f562b..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testWORD_1img.docx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testWORD_3imgs.doc b/trunk/tika-parsers/src/test/resources/test-documents/testWORD_3imgs.doc
deleted file mode 100644
index c3ea03e..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testWORD_3imgs.doc
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testWORD_3imgs.docx b/trunk/tika-parsers/src/test/resources/test-documents/testWORD_3imgs.docx
deleted file mode 100644
index 78b5ac0..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testWORD_3imgs.docx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testWORD_embeded.doc b/trunk/tika-parsers/src/test/resources/test-documents/testWORD_embeded.doc
deleted file mode 100644
index f25cacf..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testWORD_embeded.doc
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testWORD_embeded.docx b/trunk/tika-parsers/src/test/resources/test-documents/testWORD_embeded.docx
deleted file mode 100644
index eeaee8c..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testWORD_embeded.docx
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testWORKS.wps b/trunk/tika-parsers/src/test/resources/test-documents/testWORKS.wps
deleted file mode 100644
index 1326aa0..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testWORKS.wps
+++ /dev/null
Binary files differ
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testXHTML.html b/trunk/tika-parsers/src/test/resources/test-documents/testXHTML.html
deleted file mode 100644
index a90c44c..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testXHTML.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You 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.
--->
-<html xmlns="http://www.w3.org/1999/xhtml">
-  <head>
-    <title>XHTML test document</title>
-    <meta name="Author" content="Tika Developers"/>
-    <meta http-equiv="refresh" content="5"/>
-  </head>
-  <body>
-    <p>
-      This document tests the ability of Apache Tika to extract content
-      from an <a href="http://www.w3.org/TR/xhtml1/">XHTML document</a>.
-    </p>
-  </body>
-</html>
\ No newline at end of file
diff --git a/trunk/tika-parsers/src/test/resources/test-documents/testXML.xml b/trunk/tika-parsers/src/test/resources/test-documents/testXML.xml
deleted file mode 100644
index a01a402..0000000
--- a/trunk/tika-parsers/src/test/resources/test-documents/testXML.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You 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.
--->
-<oaidc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oaidc="http://www.openarchives.org/OAI/2.0/oai_dc/">
-
-	<dc:title>Tika test document</dc:title>
-
-	<dc:creator>Rida Benjelloun</dc:creator>
-
-	<dc:subject>Java</dc:subject>
-
-	<dc:subject>XML</dc:subject>
-
-	<dc:subject>XSLT</dc:subject>
-
-	<dc:subject>JDOM</dc:subject>
- 
-	<dc:subject>Indexation</dc:subject>
-
-	<dc:description>Framework d'indexation des documents XML, HTML, PDF etc.. </dc:description>
-
-	<dc:identifier>http://www.apache.org</dc:identifier>
-
-	<dc:date>2000-12-01T00:00:00.000Z</dc:date>
-
-	<dc:type>test</dc:type>
-
-	<dc:format>application/msword</dc:format>
-
-	<dc:language>Fr</dc:language>
-
-	<dc:rights>Archimède et Lius à Châteauneuf testing chars en été</dc:rights>	
-
-</oaidc:dc>
\ No newline at end of file