Revision: 201001
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 22 Jan 2010 09:56:12 +0200
changeset 3 127731b7107d
parent 2 661f3784fe57
child 5 3eebb1e54d3a
Revision: 201001 Kit: 201003
installationservices/swi/test/tpathsubst/scripts/SGL.GT0220.325 Customizable Install Paths (CR IHUN-6FXHUU).doc
installationservices/swi/test/trevocation/scripts/SGL.GT_0235.302_Test Spec OCSP-Based SIS File Revocation.doc
installationservices/swi/test/tuiscriptadaptors/scripts/SGL.GT0220.321_Silent Install CR AWIR-6FSGNJ Test Specification.doc
installationservices/swi/test/tuiscriptadaptors/scripts/SGL.GT0220.323_DLL_VID_Correctness_Test_Specification.doc
installationservices/swi/test/tuiscriptadaptors/scripts/SGL.GT0255.305_Test Specification VFP Support.doc
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/BinFileOutputStream.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/BinMemOutputStream.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/CharTypeTables.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/DGXMLScanner.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/ElemStack.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/EndOfEntityException.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/IANAEncodings.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/IGXMLScanner.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/MemoryManagerArrayImpl.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/MemoryManagerImpl.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/ReaderMgr.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/SGXMLScanner.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/ValidationContextImpl.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/VecAttrListImpl.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/VecAttributesImpl.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/WFXMLScanner.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XMLGrammarPoolImpl.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XMLInternalErrorHandler.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XMLReader.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XMLScanner.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XMLScannerResolver.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XProtoType.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XSAXMLScanner.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XSObjectFactory.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XSerializable.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XSerializationException.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XSerializeEngine.hpp
secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XTemplateSerializer.hpp
secureswitools/swisistools/test/tinterpretsisinteg/testharness.doc
Binary file installationservices/swi/test/tpathsubst/scripts/SGL.GT0220.325 Customizable Install Paths (CR IHUN-6FXHUU).doc has changed
Binary file installationservices/swi/test/trevocation/scripts/SGL.GT_0235.302_Test Spec OCSP-Based SIS File Revocation.doc has changed
Binary file installationservices/swi/test/tuiscriptadaptors/scripts/SGL.GT0220.321_Silent Install CR AWIR-6FSGNJ Test Specification.doc has changed
Binary file installationservices/swi/test/tuiscriptadaptors/scripts/SGL.GT0220.323_DLL_VID_Correctness_Test_Specification.doc has changed
Binary file installationservices/swi/test/tuiscriptadaptors/scripts/SGL.GT0255.305_Test Specification VFP Support.doc has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/BinFileOutputStream.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,100 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: BinFileOutputStream.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(BINFILEOUTPUTSTREAM_HPP)
+#define BINFILEOUTPUTSTREAM_HPP
+
+#include <xercesc/framework/BinOutputStream.hpp>
+#include <xercesc/util/PlatformUtils.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class XMLUTIL_EXPORT BinFileOutputStream : public BinOutputStream
+{
+public :
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+
+    ~BinFileOutputStream();
+
+    BinFileOutputStream
+    (
+        const   XMLCh* const    fileName
+        , MemoryManager* const  manager = XMLPlatformUtils::fgMemoryManager
+    );
+
+    BinFileOutputStream
+    (
+         const   char* const     fileName
+       , MemoryManager* const    manager = XMLPlatformUtils::fgMemoryManager
+    );
+
+    // -----------------------------------------------------------------------
+    //  Getter methods
+    // -----------------------------------------------------------------------
+    bool getIsOpen() const;
+    unsigned int getSize() const;
+    void reset();
+
+
+    // -----------------------------------------------------------------------
+    //  Implementation of the input stream interface
+    // -----------------------------------------------------------------------
+    virtual unsigned int curPos() const;
+
+    virtual void writeBytes
+    (
+          const XMLByte* const      toGo
+        , const unsigned int        maxToWrite
+    );
+
+
+private :
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    BinFileOutputStream(const BinFileOutputStream&);
+    BinFileOutputStream& operator=(const BinFileOutputStream&); 
+
+    // -----------------------------------------------------------------------
+    //  Private data members
+    //
+    //  fSource
+    //      The source file that we represent. The FileHandle type is defined
+    //      per platform.
+    // -----------------------------------------------------------------------
+    FileHandle              fSource;
+    MemoryManager* const    fMemoryManager;
+};
+
+
+// ---------------------------------------------------------------------------
+//  BinFileOutputStream: Getter methods
+// ---------------------------------------------------------------------------
+inline bool BinFileOutputStream::getIsOpen() const
+{
+    return (fSource != (FileHandle) XERCES_Invalid_File_Handle);
+}
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/BinMemOutputStream.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: BinMemOutputStream.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#ifndef BINMEMOUTPUTSTREAM_HEADER_GUARD_
+#define BINMEMOUTPUTSTREAM_HEADER_GUARD_
+
+#include <xercesc/framework/BinOutputStream.hpp>
+#include <xercesc/util/PlatformUtils.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class XMLUTIL_EXPORT BinMemOutputStream : public BinOutputStream 
+{
+public :
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+
+    ~BinMemOutputStream();
+
+    BinMemOutputStream
+    (
+         int                     initCapacity = 1023
+       , MemoryManager* const    manager      = XMLPlatformUtils::fgMemoryManager
+    );
+
+    // -----------------------------------------------------------------------
+    //  Implementation of the output stream interface
+    // -----------------------------------------------------------------------
+    virtual unsigned int curPos() const;
+
+    virtual void writeBytes
+    (
+      const XMLByte*     const      toGo
+    , const unsigned int            maxToWrite
+    ) ;
+
+    // -----------------------------------------------------------------------
+    //  Getter methods
+    // -----------------------------------------------------------------------
+    const XMLByte* getRawBuffer() const;
+
+    unsigned int getSize() const;
+    void reset();
+
+private :
+    // -----------------------------------------------------------------------
+    //  Unimplemented methods.
+    // -----------------------------------------------------------------------
+    BinMemOutputStream(const BinMemOutputStream&);
+    BinMemOutputStream& operator=(const BinMemOutputStream&);
+
+    // -----------------------------------------------------------------------
+    //  Private helpers
+    // -----------------------------------------------------------------------
+    void insureCapacity(const unsigned int extraNeeded);
+
+    // -----------------------------------------------------------------------
+    //  Private data members
+    //
+    //  fDataBuf
+    //      The pointer to the buffer data. Its grown as needed. Its always
+    //      one larger than fCapacity, to leave room for the null terminator.
+    //
+    //  fIndex
+    //      The current index into the buffer, as characters are appended
+    //      to it. If its zero, then the buffer is empty.
+    //
+    //  fCapacity
+    //      The current capacity of the buffer. Its actually always one
+    //      larger, to leave room for the null terminator.
+    //
+    // -----------------------------------------------------------------------
+    MemoryManager*  fMemoryManager;
+    XMLByte*        fDataBuf;
+    unsigned int    fIndex;
+    unsigned int    fCapacity;
+
+};
+
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/CharTypeTables.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,255 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: CharTypeTables.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(CHARTYPETABLES_HPP)
+#define CHARTYPETABLES_HPP
+
+#include <xercesc/util/XercesDefs.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+// ---------------------------------------------------------------------------
+//  These are character type lookup tables. They are included into XMLReader
+//  but are in their own private header in order to keep from making that
+//  file unreadable.
+//
+//  THE RANGES and SINGLES MUST BE IN NUMERICAL ORDER, because the lookup
+//  method will use this info to short circuit the search!
+// ---------------------------------------------------------------------------
+static const XMLCh gBaseChars[] =
+{
+    // Ranges
+        0x0041, 0x005A, 0x0061, 0x007A, 0x00C0, 0x00D6, 0x00D8, 0x00F6
+    ,   0x00F8, 0x00FF
+    ,   0x0100, 0x0131, 0x0134, 0x013E, 0x0141, 0x0148, 0x014A, 0x017E
+    ,   0x0180, 0x01C3, 0x01CD, 0x01F0, 0x01F4, 0x01F5, 0x01FA, 0x0217
+    ,   0x0250, 0x02A8, 0x02BB, 0x02C1, 0x0388, 0x038A, 0x038E, 0x03A1
+    ,   0x03A3, 0x03CE, 0x03D0, 0x03D6, 0x03E2, 0x03F3, 0x0401, 0x040C
+    ,   0x040E, 0x044F, 0x0451, 0x045C, 0x045E, 0x0481, 0x0490, 0x04C4
+    ,   0x04C7, 0x04C8, 0x04CB, 0x04CC, 0x04D0, 0x04EB, 0x04EE, 0x04F5
+    ,   0x04F8, 0x04F9, 0x0531, 0x0556, 0x0561, 0x0586, 0x05D0, 0x05EA
+    ,   0x05F0, 0x05F2, 0x0621, 0x063A, 0x0641, 0x064A, 0x0671, 0x06B7
+    ,   0x06BA, 0x06BE, 0x06C0, 0x06CE, 0x06D0, 0x06D3, 0x06E5, 0x06E6
+    ,   0x0905, 0x0939, 0x0958, 0x0961, 0x0985, 0x098C, 0x098F, 0x0990
+    ,   0x0993, 0x09A8, 0x09AA, 0x09B0, 0x09B6, 0x09B9, 0x09DC, 0x09DD
+    ,   0x09DF, 0x09E1, 0x09F0, 0x09F1, 0x0A05, 0x0A0A, 0x0A0F, 0x0A10
+    ,   0x0A13, 0x0A28, 0x0A2A, 0x0A30, 0x0A32, 0x0A33, 0x0A35, 0x0A36
+    ,   0x0A38, 0x0A39, 0x0A59, 0x0A5C, 0x0A72, 0x0A74, 0x0A85, 0x0A8B
+    ,   0x0A8F, 0x0A91, 0x0A93, 0x0AA8, 0x0AAA, 0x0AB0, 0x0AB2, 0x0AB3
+    ,   0x0AB5, 0x0AB9, 0x0B05, 0x0B0C, 0x0B0F, 0x0B10, 0x0B13, 0x0B28
+    ,   0x0B2A, 0x0B30, 0x0B32, 0x0B33, 0x0B36, 0x0B39, 0x0B5C, 0x0B5D
+    ,   0x0B5F, 0x0B61, 0x0B85, 0x0B8A, 0x0B8E, 0x0B90, 0x0B92, 0x0B95
+    ,   0x0B99, 0x0B9A, 0x0B9E, 0x0B9F, 0x0BA3, 0x0BA4, 0x0BA8, 0x0BAA
+    ,   0x0BAE, 0x0BB5, 0x0BB7, 0x0BB9, 0x0C05, 0x0C0C, 0x0C0E, 0x0C10
+    ,   0x0C12, 0x0C28, 0x0C2A, 0x0C33, 0x0C35, 0x0C39, 0x0C60, 0x0C61
+    ,   0x0C85, 0x0C8C, 0x0C8E, 0x0C90, 0x0C92, 0x0CA8, 0x0CAA, 0x0CB3
+    ,   0x0CB5, 0x0CB9, 0x0CE0, 0x0CE1, 0x0D05, 0x0D0C, 0x0D0E, 0x0D10
+    ,   0x0D12, 0x0D28, 0x0D2A, 0x0D39, 0x0D60, 0x0D61, 0x0E01, 0x0E2E
+    ,   0x0E32, 0x0E33, 0x0E40, 0x0E45, 0x0E81, 0x0E82, 0x0E87, 0x0E88
+    ,   0x0E94, 0x0E97, 0x0E99, 0x0E9F, 0x0EA1, 0x0EA3, 0x0EAA, 0x0EAB
+    ,   0x0EAD, 0x0EAE, 0x0EB2, 0x0EB3, 0x0EC0, 0x0EC4, 0x0F40, 0x0F47
+    ,   0x0F49, 0x0F69, 0x10A0, 0x10C5, 0x10D0, 0x10F6, 0x1102, 0x1103
+    ,   0x1105, 0x1107, 0x110B, 0x110C, 0x110E, 0x1112, 0x1154, 0x1155
+    ,   0x115F, 0x1161, 0x116D, 0x116E, 0x1172, 0x1173, 0x11AE, 0x11AF
+    ,   0x11B7, 0x11B8, 0x11BC, 0x11C2, 0x1E00, 0x1E9B, 0x1EA0, 0x1EF9
+    ,   0x1F00, 0x1F15, 0x1F18, 0x1F1D, 0x1F20, 0x1F45, 0x1F48, 0x1F4D
+    ,   0x1F50, 0x1F57, 0x1F5F, 0x1F7D, 0x1F80, 0x1FB4, 0x1FB6, 0x1FBC
+    ,   0x1FC2, 0x1FC4, 0x1FC6, 0x1FCC, 0x1FD0, 0x1FD3, 0x1FD6, 0x1FDB
+    ,   0x1FE0, 0x1FEC, 0x1FF2, 0x1FF4, 0x1FF6, 0x1FFC, 0x212A, 0x212B
+    ,   0x2180, 0x2182, 0x3041, 0x3094, 0x30A1, 0x30FA, 0x3105, 0x312C
+    ,   0xAC00, 0xD7A3
+    ,   0x00
+
+    // Singles
+    ,   0x0386, 0x038C, 0x03DA, 0x03DC, 0x03DE, 0x03E0, 0x0559, 0x06D5
+    ,   0x093D, 0x09B2, 0x0A5E, 0x0A8D, 0x0ABD, 0x0AE0, 0x0B3D, 0x0B9C
+    ,   0x0CDE, 0x0E30, 0x0E84, 0x0E8A, 0x0E8D, 0x0EA5, 0x0EA7, 0x0EB0
+    ,   0x0EBD, 0x1100, 0x1109, 0x113C, 0x113E, 0x1140, 0x114C, 0x114E
+    ,   0x1150, 0x1159, 0x1163, 0x1165, 0x1167, 0x1169, 0x1175, 0x119E
+    ,   0x11A8, 0x11AB, 0x11BA, 0x11EB, 0x11F0, 0x11F9, 0x1F59, 0x1F5B
+    ,   0x1F5D, 0x1FBE, 0x2126, 0x212E
+    ,   0x00
+};
+
+
+static const XMLCh gCombiningChars[] =
+{
+    // Ranges
+        0x0300, 0x0345, 0x0360, 0x0361, 0x0483, 0x0486, 0x0591, 0x05A1
+    ,   0x05A3, 0x05B9, 0x05BB, 0x05BD, 0x05C1, 0x05C2, 0x064B, 0x0652
+    ,   0x06D6, 0x06DC, 0x06DD, 0x06DF, 0x06E0, 0x06E4
+    ,   0x06E7, 0x06E8, 0x06EA, 0x06ED, 0x0901, 0x0903, 0x093E, 0x094C
+    ,   0x0951, 0x0954, 0x0962, 0x0963, 0x0981, 0x0983, 0x09C0, 0x09C4
+    ,   0x09C7, 0x09C8, 0x09CB, 0x09CD, 0x09E2, 0x09E3, 0x0A40, 0x0A42
+    ,   0x0A47, 0x0A48, 0x0A4B, 0x0A4D, 0x0A70, 0x0A71, 0x0A81, 0x0A83
+    ,   0x0ABE, 0x0AC5, 0x0AC7, 0x0AC9, 0x0ACB, 0x0ACD, 0x0B01, 0x0B03
+    ,   0x0B3E, 0x0B43, 0x0B47, 0x0B48, 0x0B4B, 0x0B4D, 0x0B56, 0x0B57
+    ,   0x0B82, 0x0B83, 0x0BBE, 0x0BC2, 0x0BC6, 0x0BC8, 0x0BCA, 0x0BCD
+    ,   0x0C01, 0x0C03, 0x0C3E, 0x0C44, 0x0C46, 0x0C48, 0x0C4A, 0x0C4D
+    ,   0x0C55, 0x0C56, 0x0C82, 0x0C83, 0x0CBE, 0x0CC4, 0x0CC6, 0x0CC8
+    ,   0x0CCA, 0x0CCD, 0x0CD5, 0x0CD6, 0x0D02, 0x0D03, 0x0D3E, 0x0D43
+    ,   0x0D46, 0x0D48, 0x0D4A, 0x0D4D, 0x0E34, 0x0E3A, 0x0E47, 0x0E4E
+    ,   0x0EB4, 0x0EB9, 0x0EBB, 0x0EBC, 0x0EC8, 0x0ECD, 0x0F18, 0x0F19
+    ,   0x0F71, 0x0F84, 0x0F86, 0x0F8B, 0x0F90, 0x0F95, 0x0F99, 0x0FAD
+    ,   0x0FB1, 0x0FB7, 0x20D0, 0x20DC, 0x302A, 0x302F
+    ,   0x00
+
+    // Singles
+    ,   0x05BF, 0x05C4, 0x0670
+    ,   0x093C, 0x094D, 0x09BC, 0x09BE, 0x09BF, 0x09D7, 0x0A02
+    ,   0x0A3C, 0x0A3E, 0x0A3F, 0x0ABC, 0x0B3C, 0x0BD7, 0x0D57, 0x0E31
+    ,   0x0EB1, 0x0F35, 0x0F37, 0x0F39, 0x0F3E, 0x0F3F, 0x0F97, 0x0FB9
+    ,   0x20E1, 0x3099, 0x309A
+    ,   0x00
+};
+
+
+static const XMLCh gDigitChars[] =
+{
+    // Ranges
+        0x0030, 0x0039, 0x0660, 0x0669, 0x06F0, 0x06F9, 0x0966, 0x096F
+    ,   0x09E6, 0x09EF, 0x0A66, 0x0A6F, 0x0AE6, 0x0AEF, 0x0B66, 0x0B6F
+    ,   0x0BE7, 0x0BEF, 0x0C66, 0x0C6F, 0x0CE6, 0x0CEF, 0x0D66, 0x0D6F
+    ,   0x0E50, 0x0E59, 0x0ED0, 0x0ED9, 0x0F20, 0x0F29
+    ,   0x00
+
+    // Singles
+    ,   0x00
+};
+
+
+static const XMLCh gIdeographicChars[] =
+{
+    // Ranges
+        0x3021, 0x3029, 0x4E00, 0x9FA5
+    ,   0x00
+
+    // Singles
+    ,   0x3007
+    ,   0x00
+};
+
+static const XMLCh gExtenderChars[] =
+{
+    // Ranges
+        0x3031, 0x3035, 0x309D, 0x309E, 0x30FC, 0x30FE
+    ,   0x00
+
+    // Singles
+    ,   0x00B7, 0x02D0, 0x02D1, 0x0387, 0x0640, 0x0E46, 0x0EC6, 0x3005
+    ,   0x00
+};
+
+
+static const XMLCh gPublicIdChars[] =
+{
+    // Ranges
+        0x0023, 0x0025, 0x0027, 0x003B, 0x003F, 0x005A, 0x0061, 0x007A
+    ,   0x00
+
+    // Singles
+    ,   0x000A, 0x000D, 0x0020, 0x0021, 0x003D, 0x005F
+    ,   0x00
+};
+
+
+static const XMLCh gWhitespaceChars[] =
+{
+    // Ranges
+        0x00
+
+    ,   0x0020, 0x0009, 0x000D, 0x000A
+    ,   0x00
+};
+
+
+static const XMLCh gXMLChars[] =
+{
+    // Ranges
+        0x0020, 0xD7FF, 0xE000, 0xFFFD
+    ,   0x00
+
+    ,   0x0009, 0x000D, 0x000A
+    ,   0x00
+};
+
+// The following are for XML 1.1
+static const XMLCh gWhitespaceChars1_1[] =
+{
+    // Ranges
+        0x00
+
+    ,   0x0020, 0x0009, 0x000D, 0x000A, 0x0085, 0x2028
+    ,   0x00
+};
+
+static const XMLCh gFirstNameChars1_1[] =
+{
+    // Ranges
+    // Note: 0x10000 to 0xEFFFF are also allowed, need to separately check
+        0x0041, 0x005A, 0x0061, 0x007A, 0x00C0, 0x00D6, 0x00D8, 0x00F6
+    ,   0x00F8, 0x02FF, 0x0370, 0x037D, 0x037F, 0x1FFF, 0x200C, 0x200D
+    ,   0x2070, 0x218F, 0x2C00, 0x2FEF, 0x3001, 0xD7FF, 0xF900, 0xFDCF
+    ,   0xFDF0, 0xFFFD
+    ,   0x00
+
+    ,   0x003A, 0x005F
+    ,   0x00
+
+};
+
+static const XMLCh gNameChars1_1[] =
+{
+    // Ranges
+    // Note: 0x10000 to 0xEFFFF are also allowed, need to separately check
+        0x0030, 0x0039, 0x0041, 0x005A, 0x0061, 0x007A, 0x00C0, 0x00D6
+    ,   0x00D8, 0x00F6, 0x00F8, 0x037D, 0x037F, 0x1FFF, 0x200C, 0x200D
+    ,   0x203F, 0x2040, 0x2070, 0x218F, 0x2C00, 0x2FEF, 0x3001, 0xD7FF
+    ,   0xF900, 0xFDCF, 0xFDF0, 0xFFFD
+    ,   0x00
+
+    ,   0x002D, 0x002E, 0x003A, 0x005F, 0x00B7
+    ,   0x00
+};
+
+static const XMLCh gXMLChars1_1[] =
+{
+    // Ranges
+        0x0020, 0x007E, 0x00A0, 0xD7FF, 0xE000, 0xFFFD
+    ,   0x00
+
+    ,   0x0009, 0x000D, 0x000A, 0x0085
+    ,   0x00
+};
+
+static const XMLCh gControl_Chars1_1[] =
+{
+    // Ranges
+        0x0001, 0x001F, 0x007F, 0x009F
+    ,   0x00
+
+    ,   0x00
+};
+
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/DGXMLScanner.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,209 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: DGXMLScanner.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+
+#if !defined(DGXMLSCANNER_HPP)
+#define DGXMLSCANNER_HPP
+
+#include <xercesc/internal/XMLScanner.hpp>
+#include <xercesc/util/ValueVectorOf.hpp>
+#include <xercesc/util/NameIdPool.hpp>
+#include <xercesc/validators/common/Grammar.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class DTDElementDecl;
+class DTDGrammar;
+class DTDValidator;
+
+//  This is an integrated scanner class, which does DTD/XML Schema grammar
+//  processing.
+class XMLPARSER_EXPORT DGXMLScanner : public XMLScanner
+{
+public :
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+    DGXMLScanner
+    (
+          XMLValidator* const  valToAdopt
+        , GrammarResolver* const grammarResolver
+        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
+    );
+    DGXMLScanner
+    (
+          XMLDocumentHandler* const docHandler
+        , DocTypeHandler* const     docTypeHandler
+        , XMLEntityHandler* const   entityHandler
+        , XMLErrorReporter* const   errReporter
+        , XMLValidator* const       valToAdopt
+        , GrammarResolver* const    grammarResolver
+        , MemoryManager* const      manager = XMLPlatformUtils::fgMemoryManager
+    );
+    virtual ~DGXMLScanner();
+
+    // -----------------------------------------------------------------------
+    //  XMLScanner public virtual methods
+    // -----------------------------------------------------------------------
+    virtual const XMLCh* getName() const;
+    virtual NameIdPool<DTDEntityDecl>* getEntityDeclPool();
+    virtual const NameIdPool<DTDEntityDecl>* getEntityDeclPool() const;
+    virtual unsigned int resolveQName
+    (
+        const   XMLCh* const        qName
+        ,       XMLBuffer&          prefixBufToFill
+        , const short               mode
+        ,       int&                prefixColonPos
+    );
+    virtual void scanDocument
+    (
+        const   InputSource&    src
+    );
+    virtual bool scanNext(XMLPScanToken& toFill);
+    virtual Grammar* loadGrammar
+    (
+        const   InputSource&    src
+        , const short           grammarType
+        , const bool            toCache = false
+    );
+
+    virtual Grammar::GrammarType getCurrentGrammarType() const;
+
+private :
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    DGXMLScanner();
+    DGXMLScanner(const DGXMLScanner&);
+    DGXMLScanner& operator=(const DGXMLScanner&);
+
+    // -----------------------------------------------------------------------
+    //  XMLScanner virtual methods
+    // -----------------------------------------------------------------------
+    virtual void scanCDSection();
+    virtual void scanCharData(XMLBuffer& toToUse);
+    virtual EntityExpRes scanEntityRef
+    (
+        const   bool    inAttVal
+        ,       XMLCh&  firstCh
+        ,       XMLCh&  secondCh
+        ,       bool&   escaped
+    );
+    virtual void scanDocTypeDecl();
+    virtual void scanReset(const InputSource& src);
+    virtual void sendCharData(XMLBuffer& toSend);
+    virtual InputSource* resolveSystemId(const XMLCh* const sysId
+                                        ,const XMLCh* const pubId); 
+
+    // -----------------------------------------------------------------------
+    //  Private helper methods
+    // -----------------------------------------------------------------------
+    void commonInit();
+    void cleanUp();
+
+    unsigned int buildAttList
+    (
+        const unsigned int                attCount
+        ,       XMLElementDecl*             elemDecl
+        ,       RefVectorOf<XMLAttr>&       toFill
+    );
+    unsigned int resolvePrefix
+    (
+        const   XMLCh* const        prefix
+        , const ElemStack::MapModes mode
+    );
+    void updateNSMap
+    (
+        const   XMLCh* const attrPrefix
+        , const XMLCh* const attrLocalName
+        , const XMLCh* const attrValue
+    );
+    void scanAttrListforNameSpaces(RefVectorOf<XMLAttr>* theAttrList, int attCount, XMLElementDecl* elemDecl);
+
+    // -----------------------------------------------------------------------
+    //  Private scanning methods
+    // -----------------------------------------------------------------------
+    bool scanAttValue
+    (
+        const   XMLAttDef* const    attDef
+        , const XMLCh *const        attrName
+        ,       XMLBuffer&          toFill
+    );
+    bool scanContent();
+    void scanEndTag(bool& gotData);
+    bool scanStartTag(bool& gotData);
+    bool scanStartTagNS(bool& gotData);
+
+    // -----------------------------------------------------------------------
+    //  Grammar preparsing methods
+    // -----------------------------------------------------------------------
+    Grammar* loadDTDGrammar(const InputSource& src, const bool toCache = false);
+
+    // -----------------------------------------------------------------------
+    //  Data members
+    //
+    //  fRawAttrList
+    //      During the initial scan of the attributes we can only do a raw
+    //      scan for key/value pairs. So this vector is used to store them
+    //      until they can be processed (and put into fAttrList.)
+    //
+    //  fDTDValidator
+    //      The DTD validator instance.
+    //
+    //  fElemState
+    //  fElemStateSize
+    //      Stores an element next state from DFA content model - used for
+    //      wildcard validation
+    //
+    // fDTDElemNonDeclPool
+    //     registry of "faulted-in" DTD element decls
+    // fElemCount
+    //      count of the number of start tags seen so far (starts at 1).
+    //      Used for duplicate attribute detection/processing of required/defaulted attributes
+    // fAttDefRegistry
+    //      mapping from XMLAttDef instances to the count of the last
+    //      start tag where they were utilized.
+    // fUndeclaredAttrRegistry
+    //      mapping of attr QNames to the count of the last start tag in which they occurred
+    //
+    // -----------------------------------------------------------------------
+    ValueVectorOf<XMLAttr*>*    fAttrNSList;
+    DTDValidator*               fDTDValidator;
+    DTDGrammar*                 fDTDGrammar;
+    NameIdPool<DTDElementDecl>* fDTDElemNonDeclPool;
+    unsigned int                fElemCount;
+    RefHashTableOf<unsigned int>* fAttDefRegistry;
+    RefHashTableOf<unsigned int>* fUndeclaredAttrRegistry;
+};
+
+inline const XMLCh* DGXMLScanner::getName() const
+{
+    return XMLUni::fgDGXMLScanner;
+}
+
+inline Grammar::GrammarType DGXMLScanner::getCurrentGrammarType() const
+{
+    return Grammar::DTDGrammarType;
+}
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/ElemStack.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,587 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: ElemStack.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(ELEMSTACK_HPP)
+#define ELEMSTACK_HPP
+
+#include <xercesc/util/StringPool.hpp>
+#include <xercesc/util/QName.hpp>
+#include <xercesc/util/ValueVectorOf.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class XMLElementDecl;
+class Grammar;
+
+struct PrefMapElem : public XMemory
+{
+    unsigned int        fPrefId;
+    unsigned int        fURIId;
+};
+
+//
+//  During the scan of content, we have to keep up with the nesting of
+//  elements (for validation and wellformedness purposes) and we have to
+//  have places to remember namespace (prefix to URI) mappings.
+//
+//  We only have to keep a stack of the current path down through the tree
+//  that we are currently scanning, and keep track of any children of any
+//  elements along that path.
+//
+//  So, this data structure is a stack, which represents the current path
+//  through the tree that we've worked our way down to. For each node in
+//  the stack, there is an array of element ids that represent the ids of
+//  the child elements scanned so far. Upon exit from that element, its
+//  array of child elements is validated.
+//
+//  Since we have the actual XMLElementDecl in the stack nodes, when its time
+//  to validate, we just extract the content model from that element decl
+//  and validate. All the required data falls easily to hand. Note that we
+//  actually have some derivative of XMLElementDecl, which is specific to
+//  the validator used, but the abstract API is sufficient for the needs of
+//  the scanner.
+//
+//  Since the namespace support also requires the storage of information on
+//  a nested element basis, this structure also holds the namespace info. For
+//  each level, the prefixes defined at that level (and the namespaces that
+//  they map to) are stored.
+//
+class XMLPARSER_EXPORT ElemStack : public XMemory
+{
+public :
+    // -----------------------------------------------------------------------
+    //  Class specific data types
+    //
+    //  These really should be private, but some of the compilers we have to
+    //  support are too dumb to deal with that.
+    //
+    //  PrefMapElem
+    //      fURIId is the id of the URI from the validator's URI map. The
+    //      fPrefId is the id of the prefix from our own prefix pool. The
+    //      namespace stack consists of these elements.
+    //
+    //  StackElem
+    //      fThisElement is the basic element decl for the current element.
+    //      The fRowCapacity is how large fChildIds has grown so far.
+    //      fChildCount is how many of them are valid right now.
+    //
+    //      The fMapCapacity is how large fMap has grown so far. fMapCount
+    //      is how many of them are valid right now.
+    //
+    //      Note that we store the reader number we were in when we found the
+    //      start tag. We'll use this at the end tag to test for unbalanced
+    //      markup in entities.
+    //
+    //  MapModes
+    //      When a prefix is mapped to a namespace id, it matters whether the
+    //      QName being mapped is an attribute or name. Attributes are not
+    //      affected by an sibling xmlns attributes, whereas elements are
+    //      affected by its own xmlns attributes.
+    // -----------------------------------------------------------------------
+    struct StackElem : public XMemory
+    {
+        XMLElementDecl*     fThisElement;
+        unsigned int        fReaderNum;
+
+        unsigned int        fChildCapacity;
+        unsigned int        fChildCount;
+        QName**             fChildren;
+
+        PrefMapElem*        fMap;
+        unsigned int        fMapCapacity;
+        unsigned int        fMapCount;
+
+        bool                fValidationFlag;
+        bool                fCommentOrPISeen;
+        bool                fReferenceEscaped;
+        int                 fCurrentScope;
+        Grammar*            fCurrentGrammar;
+        unsigned int        fCurrentURI;
+        XMLCh *             fSchemaElemName;
+        unsigned int        fSchemaElemNameMaxLen;
+        
+        int                 fPrefixColonPos;
+    };
+
+    enum MapModes
+    {
+        Mode_Attribute
+        , Mode_Element
+    };
+
+
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+    ElemStack(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
+    ~ElemStack();
+
+
+    // -----------------------------------------------------------------------
+    //  Stack access
+    // -----------------------------------------------------------------------
+    unsigned int addLevel();
+    unsigned int addLevel(XMLElementDecl* const toSet, const unsigned int readerNum);
+    const StackElem* popTop();
+
+
+    // -----------------------------------------------------------------------
+    //  Stack top access
+    // -----------------------------------------------------------------------
+    unsigned int addChild(QName* const child, const bool toParent);
+    const StackElem* topElement() const;
+    void setElement(XMLElementDecl* const toSet, const unsigned int readerNum);
+
+    void setValidationFlag(bool validationFlag);
+    bool getValidationFlag();
+
+    inline void setCommentOrPISeen();
+    inline bool getCommentOrPISeen() const;
+
+    inline void setReferenceEscaped();
+    inline bool getReferenceEscaped() const;
+
+    void setCurrentScope(int currentScope);
+    int getCurrentScope();
+
+    void setCurrentGrammar(Grammar* currentGrammar);
+    Grammar* getCurrentGrammar();
+
+    void setCurrentURI(unsigned int uri);
+    unsigned int getCurrentURI();
+
+    inline void setCurrentSchemaElemName(const XMLCh * const schemaElemName);
+    inline XMLCh *getCurrentSchemaElemName();
+
+    void setPrefixColonPos(int colonPos);
+    int getPrefixColonPos() const;
+
+    // -----------------------------------------------------------------------
+    //  Prefix map methods
+    // -----------------------------------------------------------------------
+    void addPrefix
+    (
+        const   XMLCh* const    prefixToAdd
+        , const unsigned int    uriId
+    );
+    unsigned int mapPrefixToURI
+    (
+        const   XMLCh* const    prefixToMap
+        , const MapModes        mode
+        ,       bool&           unknown
+    )   const;
+    ValueVectorOf<PrefMapElem*>* getNamespaceMap() const;
+    unsigned int getPrefixId(const XMLCh* const prefix) const;
+    const XMLCh* getPrefixForId(unsigned int prefId) const;
+
+    // -----------------------------------------------------------------------
+    //  Miscellaneous methods
+    // -----------------------------------------------------------------------
+    bool isEmpty() const;
+    void reset
+    (
+        const   unsigned int    emptyId
+        , const unsigned int    unknownId
+        , const unsigned int    xmlId
+        , const unsigned int    xmlNSId
+    );
+
+
+private :
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    ElemStack(const ElemStack&);
+    ElemStack& operator=(const ElemStack&);
+
+
+    // -----------------------------------------------------------------------
+    //  Private helper methods
+    // -----------------------------------------------------------------------
+    void expandMap(StackElem* const toExpand);
+    void expandStack();
+
+
+    // -----------------------------------------------------------------------
+    //  Data members
+    //
+    //  fEmptyNamespaceId
+    //      This is the special URI id for the "" namespace, which is magic
+    //      because of the xmlns="" operation.
+    //
+    //  fGlobalPoolId
+    //      This is a special URI id that is returned when the namespace
+    //      prefix is "" and no one has explicitly mapped that prefix to an
+    //      explicit URI (or when they explicitly clear any such mapping,
+    //      which they can also do.) And also its prefix pool id, which is
+    //      stored here for fast access.
+    //
+    //  fPrefixPool
+    //      This is the prefix pool where prefixes are hashed and given unique
+    //      ids. These ids are used to track prefixes in the element stack.
+    //
+    //  fStack
+    //  fStackCapacity
+    //  fStackTop
+    //      This the stack array. Its an array of pointers to StackElem
+    //      structures. The capacity is the current high water mark of the
+    //      stack. The top is the current top of stack (i.e. the part of it
+    //      being used.)
+    //
+    //  fUnknownNamespaceId
+    //      This is the URI id for the special URI that is assigned to any
+    //      prefix which has not been mapped. This lets us keep going after
+    //      issuing the error.
+    //
+    //  fXMLNamespaceId
+    //  fXMLPoolId
+    //  fXMLNSNamespaceId
+    //  fXMLNSPoolId
+    //      These are the URI ids for the special URIs that are assigned to
+    //      the 'xml' and 'xmlns' namespaces. And also its prefix pool id,
+    //      which is stored here for fast access.
+    // -----------------------------------------------------------------------
+    unsigned int                 fEmptyNamespaceId;
+    unsigned int                 fGlobalPoolId;
+    XMLStringPool                fPrefixPool;
+    StackElem**                  fStack;
+    unsigned int                 fStackCapacity;
+    unsigned int                 fStackTop;
+    unsigned int                 fUnknownNamespaceId;
+    unsigned int                 fXMLNamespaceId;
+    unsigned int                 fXMLPoolId;
+    unsigned int                 fXMLNSNamespaceId;
+    unsigned int                 fXMLNSPoolId;
+    ValueVectorOf<PrefMapElem*>* fNamespaceMap;
+    MemoryManager*               fMemoryManager;
+};
+
+
+class XMLPARSER_EXPORT WFElemStack : public XMemory
+{
+public :
+    // -----------------------------------------------------------------------
+    //  Class specific data types
+    //
+    //  These really should be private, but some of the compilers we have to
+    //  support are too dumb to deal with that.
+    //
+    //  PrefMapElem
+    //      fURIId is the id of the URI from the validator's URI map. The
+    //      fPrefId is the id of the prefix from our own prefix pool. The
+    //      namespace stack consists of these elements.
+    //
+    //  StackElem
+    //      fThisElement is the basic element decl for the current element.
+    //      The fRowCapacity is how large fChildIds has grown so far.
+    //      fChildCount is how many of them are valid right now.
+    //
+    //      The fMapCapacity is how large fMap has grown so far. fMapCount
+    //      is how many of them are valid right now.
+    //
+    //      Note that we store the reader number we were in when we found the
+    //      start tag. We'll use this at the end tag to test for unbalanced
+    //      markup in entities.
+    //
+    //  MapModes
+    //      When a prefix is mapped to a namespace id, it matters whether the
+    //      QName being mapped is an attribute or name. Attributes are not
+    //      affected by an sibling xmlns attributes, whereas elements are
+    //      affected by its own xmlns attributes.
+    // -----------------------------------------------------------------------
+    struct StackElem : public XMemory
+    {
+        int                 fTopPrefix;        
+        unsigned int        fCurrentURI;
+        unsigned int        fReaderNum;
+        unsigned int        fElemMaxLength;
+        XMLCh*              fThisElement;
+    };
+
+    enum MapModes
+    {
+        Mode_Attribute
+        , Mode_Element
+    };
+
+
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+    WFElemStack(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
+    ~WFElemStack();
+
+
+    // -----------------------------------------------------------------------
+    //  Stack access
+    // -----------------------------------------------------------------------
+    unsigned int addLevel();
+    unsigned int addLevel(const XMLCh* const toSet, const unsigned int toSetLen,
+                          const unsigned int readerNum);
+    const StackElem* popTop();
+
+
+    // -----------------------------------------------------------------------
+    //  Stack top access
+    // -----------------------------------------------------------------------
+    const StackElem* topElement() const;
+    void setElement(const XMLCh* const toSet, const unsigned int toSetLen,
+                    const unsigned int readerNum);
+
+    void setCurrentURI(unsigned int uri);
+    unsigned int getCurrentURI();
+
+    // -----------------------------------------------------------------------
+    //  Prefix map methods
+    // -----------------------------------------------------------------------
+    void addPrefix
+    (
+        const   XMLCh* const    prefixToAdd
+        , const unsigned int    uriId
+    );
+    unsigned int mapPrefixToURI
+    (
+        const   XMLCh* const    prefixToMap
+        , const MapModes        mode
+        ,       bool&           unknown
+    )   const;
+
+
+    // -----------------------------------------------------------------------
+    //  Miscellaneous methods
+    // -----------------------------------------------------------------------
+    bool isEmpty() const;
+    void reset
+    (
+        const   unsigned int    emptyId
+        , const unsigned int    unknownId
+        , const unsigned int    xmlId
+        , const unsigned int    xmlNSId
+    );
+
+
+private :
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    WFElemStack(const WFElemStack&);
+    WFElemStack& operator=(const WFElemStack&);
+
+
+    // -----------------------------------------------------------------------
+    //  Private helper methods
+    // -----------------------------------------------------------------------
+    void expandMap();
+    void expandStack();
+
+
+    // -----------------------------------------------------------------------
+    //  Data members
+    //
+    //  fEmptyNamespaceId
+    //      This is the special URI id for the "" namespace, which is magic
+    //      because of the xmlns="" operation.
+    //
+    //  fGlobalPoolId
+    //      This is a special URI id that is returned when the namespace
+    //      prefix is "" and no one has explicitly mapped that prefix to an
+    //      explicit URI (or when they explicitly clear any such mapping,
+    //      which they can also do.) And also its prefix pool id, which is
+    //      stored here for fast access.
+    //
+    //  fPrefixPool
+    //      This is the prefix pool where prefixes are hashed and given unique
+    //      ids. These ids are used to track prefixes in the element stack.
+    //
+    //  fStack
+    //  fStackCapacity
+    //  fStackTop
+    //      This the stack array. Its an array of pointers to StackElem
+    //      structures. The capacity is the current high water mark of the
+    //      stack. The top is the current top of stack (i.e. the part of it
+    //      being used.)
+    //
+    //  fUnknownNamespaceId
+    //      This is the URI id for the special URI that is assigned to any
+    //      prefix which has not been mapped. This lets us keep going after
+    //      issuing the error.
+    //
+    //  fXMLNamespaceId
+    //  fXMLPoolId
+    //  fXMLNSNamespaceId
+    //  fXMLNSPoolId
+    //      These are the URI ids for the special URIs that are assigned to
+    //      the 'xml' and 'xmlns' namespaces. And also its prefix pool id,
+    //      which is stored here for fast access.
+    // -----------------------------------------------------------------------
+    unsigned int    fEmptyNamespaceId;
+    unsigned int    fGlobalPoolId;
+    unsigned int    fStackCapacity;
+    unsigned int    fStackTop;
+    unsigned int    fUnknownNamespaceId;
+    unsigned int    fXMLNamespaceId;
+    unsigned int    fXMLPoolId;
+    unsigned int    fXMLNSNamespaceId;
+    unsigned int    fXMLNSPoolId;
+    unsigned int    fMapCapacity;
+    PrefMapElem*    fMap;
+    StackElem**     fStack;
+    XMLStringPool   fPrefixPool;
+    MemoryManager*  fMemoryManager;
+};
+
+
+// ---------------------------------------------------------------------------
+//  ElemStack: Miscellaneous methods
+// ---------------------------------------------------------------------------
+inline bool ElemStack::isEmpty() const
+{
+    return (fStackTop == 0);
+}
+
+inline bool ElemStack::getValidationFlag()
+{
+    return fStack[fStackTop-1]->fValidationFlag;
+}
+
+inline void ElemStack::setValidationFlag(bool validationFlag)
+{
+    fStack[fStackTop-1]->fValidationFlag = validationFlag;
+    return;
+}
+
+inline bool ElemStack::getCommentOrPISeen() const
+{
+    return fStack[fStackTop-1]->fCommentOrPISeen;
+}
+
+inline void ElemStack::setCommentOrPISeen()
+{
+    fStack[fStackTop-1]->fCommentOrPISeen = true;
+    return;
+}
+
+inline bool ElemStack::getReferenceEscaped() const
+{
+    return fStack[fStackTop-1]->fReferenceEscaped;
+}
+
+inline void ElemStack::setReferenceEscaped()
+{
+    fStack[fStackTop-1]->fReferenceEscaped = true;
+    return;
+}
+
+inline void ElemStack::setCurrentSchemaElemName(const XMLCh * const schemaElemName)
+{
+    unsigned int schemaElemNameLen = XMLString::stringLen(schemaElemName);
+    unsigned int stackPos = fStackTop-1;
+    
+    if(fStack[stackPos]->fSchemaElemNameMaxLen <= schemaElemNameLen)
+    {
+        XMLCh *tempStr = fStack[stackPos]->fSchemaElemName;
+        fStack[stackPos]->fSchemaElemNameMaxLen = schemaElemNameLen << 1;
+        fStack[stackPos]->fSchemaElemName = (XMLCh *)fMemoryManager->allocate((fStack[stackPos]->fSchemaElemNameMaxLen)*sizeof(XMLCh));
+        fMemoryManager->deallocate(tempStr);
+    }
+    XMLString::copyString(fStack[stackPos]->fSchemaElemName, schemaElemName);
+}
+
+inline XMLCh *ElemStack::getCurrentSchemaElemName()
+{
+    return fStack[fStackTop-1]->fSchemaElemName;
+}
+
+inline int ElemStack::getCurrentScope()
+{
+    return fStack[fStackTop-1]->fCurrentScope;
+}
+
+inline void ElemStack::setCurrentScope(int currentScope)
+{
+    fStack[fStackTop-1]->fCurrentScope = currentScope;
+    return;
+}
+
+inline Grammar* ElemStack::getCurrentGrammar()
+{
+    return fStack[fStackTop-1]->fCurrentGrammar;
+}
+
+inline void ElemStack::setCurrentGrammar(Grammar* currentGrammar)
+{
+    fStack[fStackTop-1]->fCurrentGrammar = currentGrammar;
+    return;
+}
+
+inline unsigned int ElemStack::getCurrentURI()
+{
+    return fStack[fStackTop-1]->fCurrentURI;
+}
+
+inline void ElemStack::setCurrentURI(unsigned int uri)
+{
+    fStack[fStackTop-1]->fCurrentURI = uri;
+    return;
+}
+
+inline unsigned int ElemStack::getPrefixId(const XMLCh* const prefix) const
+{
+    return fPrefixPool.getId(prefix);
+}
+
+inline const XMLCh* ElemStack::getPrefixForId(unsigned int prefId) const
+{
+    return fPrefixPool.getValueForId(prefId);
+}
+
+inline void ElemStack::setPrefixColonPos(int colonPos)
+{
+    fStack[fStackTop-1]->fPrefixColonPos = colonPos;
+}
+ 
+inline int ElemStack::getPrefixColonPos() const {
+    return fStack[fStackTop-1]->fPrefixColonPos;
+}
+
+// ---------------------------------------------------------------------------
+//  WFElemStack: Miscellaneous methods
+// ---------------------------------------------------------------------------
+inline bool WFElemStack::isEmpty() const
+{
+    return (fStackTop == 0);
+}
+
+inline unsigned int WFElemStack::getCurrentURI()
+{
+    return fStack[fStackTop-1]->fCurrentURI;
+}
+
+inline void WFElemStack::setCurrentURI(unsigned int uri)
+{
+    fStack[fStackTop-1]->fCurrentURI = uri;
+    return;
+}
+
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/EndOfEntityException.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: EndOfEntityException.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+
+#if !defined(ENDOFENTITYEXCEPTION_HPP)
+#define ENDOFENTITYEXCEPTION_HPP
+
+#include <xercesc/util/XercesDefs.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class XMLEntityDecl;
+
+//
+//  This class is only used internally. Its thrown by the ReaderMgr class,
+//  when an entity ends, and is caught in the scanner. This tells the scanner
+//  that an entity has ended, and allows it to do the right thing according
+//  to what was going on when the entity ended.
+//
+//  Since its internal, it does not bother implementing XMLException.
+//
+class XMLPARSER_EXPORT EndOfEntityException
+{
+public:
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+    EndOfEntityException(       XMLEntityDecl*  entityThatEnded
+                        , const unsigned int    readerNum) :
+
+        fEntity(entityThatEnded)
+        , fReaderNum(readerNum)
+    {
+    }
+
+    EndOfEntityException(const EndOfEntityException& toCopy) :
+
+        fEntity(toCopy.fEntity)
+        , fReaderNum(toCopy.fReaderNum)
+    {
+    }
+
+    ~EndOfEntityException()
+    {
+    }
+
+
+    // -----------------------------------------------------------------------
+    //  Getter methods
+    // -----------------------------------------------------------------------
+    XMLEntityDecl& getEntity();
+    const XMLEntityDecl& getEntity() const;
+    unsigned int getReaderNum() const;
+
+
+private :
+    // -----------------------------------------------------------------------
+    // Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    EndOfEntityException& operator = (const  EndOfEntityException&);
+
+    // -----------------------------------------------------------------------
+    //  Private data members
+    //
+    //  fEntity
+    //      This is a reference to the entity that ended, causing this
+    //      exception.
+    //
+    //  fReaderNum
+    //      The unique reader number of the reader that was handling this
+    //      entity. This is used to know whether a particular entity has
+    //      ended.
+    // -----------------------------------------------------------------------
+    XMLEntityDecl*  fEntity;
+    unsigned int    fReaderNum;
+};
+
+
+// ---------------------------------------------------------------------------
+//  EndOfEntityException: Getter methods
+// ---------------------------------------------------------------------------
+inline XMLEntityDecl& EndOfEntityException::getEntity()
+{
+    return *fEntity;
+}
+
+inline const XMLEntityDecl& EndOfEntityException::getEntity() const
+{
+    return *fEntity;
+}
+
+inline unsigned int EndOfEntityException::getReaderNum() const
+{
+    return fReaderNum;
+}
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/IANAEncodings.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,813 @@
+#if !defined(IANAENCODINGS_HPP)
+#define IANAENCODINGS_HPP
+
+#include <xercesc/util/XercesDefs.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+// ----------------------------------------------------------------
+//  This file was generated from the IANA charset source.
+//  so do not edit this file directly!!
+// ----------------------------------------------------------------
+
+const XMLCh gEncodingArray[][46] =
+{
+    { 0x0041,0x004E,0x0053,0x0049,0x005F,0x0058,0x0033,0x002E,0x0034,0x002D,0x0031,0x0039,0x0036,0x0038,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0036,0x00 }
+  , { 0x0041,0x004E,0x0053,0x0049,0x005F,0x0058,0x0033,0x002E,0x0034,0x002D,0x0031,0x0039,0x0038,0x0036,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0036,0x0034,0x0036,0x002E,0x0069,0x0072,0x0076,0x003A,0x0031,0x0039,0x0039,0x0031,0x00 }
+  , { 0x0041,0x0053,0x0043,0x0049,0x0049,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0055,0x0053,0x00 }
+  , { 0x0055,0x0053,0x002D,0x0041,0x0053,0x0043,0x0049,0x0049,0x00 }
+  , { 0x0075,0x0073,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0033,0x0036,0x0037,0x00 }
+  , { 0x0063,0x0070,0x0033,0x0036,0x0037,0x00 }
+  , { 0x0063,0x0073,0x0041,0x0053,0x0043,0x0049,0x0049,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0031,0x0030,0x0036,0x0034,0x0036,0x002D,0x0055,0x0054,0x0046,0x002D,0x0031,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0030,0x0036,0x0034,0x0036,0x0055,0x0054,0x0046,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0036,0x0034,0x0036,0x002E,0x0062,0x0061,0x0073,0x0069,0x0063,0x003A,0x0031,0x0039,0x0038,0x0033,0x00 }
+  , { 0x0072,0x0065,0x0066,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x0062,0x0061,0x0073,0x0069,0x0063,0x0031,0x0039,0x0038,0x0033,0x00 }
+  , { 0x0049,0x004E,0x0056,0x0041,0x0052,0x0049,0x0041,0x004E,0x0054,0x00 }
+  , { 0x0063,0x0073,0x0049,0x004E,0x0056,0x0041,0x0052,0x0049,0x0041,0x004E,0x0054,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0036,0x0034,0x0036,0x002E,0x0069,0x0072,0x0076,0x003A,0x0031,0x0039,0x0038,0x0033,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0032,0x00 }
+  , { 0x0069,0x0072,0x0076,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0032,0x0049,0x006E,0x0074,0x006C,0x0052,0x0065,0x0066,0x0056,0x0065,0x0072,0x0073,0x0069,0x006F,0x006E,0x00 }
+  , { 0x0042,0x0053,0x005F,0x0034,0x0037,0x0033,0x0030,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0034,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0047,0x0042,0x00 }
+  , { 0x0067,0x0062,0x00 }
+  , { 0x0075,0x006B,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0034,0x0055,0x006E,0x0069,0x0074,0x0065,0x0064,0x004B,0x0069,0x006E,0x0067,0x0064,0x006F,0x006D,0x00 }
+  , { 0x004E,0x0041,0x0054,0x0053,0x002D,0x0053,0x0045,0x0046,0x0049,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0038,0x002D,0x0031,0x00 }
+  , { 0x0063,0x0073,0x004E,0x0041,0x0054,0x0053,0x0053,0x0045,0x0046,0x0049,0x00 }
+  , { 0x004E,0x0041,0x0054,0x0053,0x002D,0x0053,0x0045,0x0046,0x0049,0x002D,0x0041,0x0044,0x0044,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0038,0x002D,0x0032,0x00 }
+  , { 0x0063,0x0073,0x004E,0x0041,0x0054,0x0053,0x0053,0x0045,0x0046,0x0049,0x0041,0x0044,0x0044,0x00 }
+  , { 0x004E,0x0041,0x0054,0x0053,0x002D,0x0044,0x0041,0x004E,0x004F,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0039,0x002D,0x0031,0x00 }
+  , { 0x0063,0x0073,0x004E,0x0041,0x0054,0x0053,0x0044,0x0041,0x004E,0x004F,0x00 }
+  , { 0x004E,0x0041,0x0054,0x0053,0x002D,0x0044,0x0041,0x004E,0x004F,0x002D,0x0041,0x0044,0x0044,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0039,0x002D,0x0032,0x00 }
+  , { 0x0063,0x0073,0x004E,0x0041,0x0054,0x0053,0x0044,0x0041,0x004E,0x004F,0x0041,0x0044,0x0044,0x00 }
+  , { 0x0053,0x0045,0x004E,0x005F,0x0038,0x0035,0x0030,0x0032,0x0030,0x0030,0x005F,0x0042,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0030,0x00 }
+  , { 0x0046,0x0049,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0046,0x0049,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0053,0x0045,0x00 }
+  , { 0x0073,0x0065,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0030,0x0053,0x0077,0x0065,0x0064,0x0069,0x0073,0x0068,0x00 }
+  , { 0x0053,0x0045,0x004E,0x005F,0x0038,0x0035,0x0030,0x0032,0x0030,0x0030,0x005F,0x0043,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0053,0x0045,0x0032,0x00 }
+  , { 0x0073,0x0065,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0031,0x0053,0x0077,0x0065,0x0064,0x0069,0x0073,0x0068,0x0046,0x006F,0x0072,0x004E,0x0061,0x006D,0x0065,0x0073,0x00 }
+  , { 0x004B,0x0053,0x005F,0x0043,0x005F,0x0035,0x0036,0x0030,0x0031,0x002D,0x0031,0x0039,0x0038,0x0037,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0034,0x0039,0x00 }
+  , { 0x004B,0x0053,0x005F,0x0043,0x005F,0x0035,0x0036,0x0030,0x0031,0x002D,0x0031,0x0039,0x0038,0x0039,0x00 }
+  , { 0x004B,0x0053,0x0043,0x005F,0x0035,0x0036,0x0030,0x0031,0x00 }
+  , { 0x006B,0x006F,0x0072,0x0065,0x0061,0x006E,0x00 }
+  , { 0x0063,0x0073,0x004B,0x0053,0x0043,0x0035,0x0036,0x0030,0x0031,0x0031,0x0039,0x0038,0x0037,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0032,0x0030,0x0032,0x0032,0x002D,0x004B,0x0052,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0032,0x0030,0x0032,0x0032,0x004B,0x0052,0x00 }
+  , { 0x0045,0x0055,0x0043,0x002D,0x004B,0x0052,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0055,0x0043,0x004B,0x0052,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0032,0x0030,0x0032,0x0032,0x002D,0x004A,0x0050,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0032,0x0030,0x0032,0x0032,0x004A,0x0050,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0032,0x0030,0x0032,0x0032,0x002D,0x004A,0x0050,0x002D,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0032,0x0030,0x0032,0x0032,0x004A,0x0050,0x0032,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0032,0x0030,0x0032,0x0032,0x002D,0x0043,0x004E,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0032,0x0030,0x0032,0x0032,0x002D,0x0043,0x004E,0x002D,0x0045,0x0058,0x0054,0x00 }
+  , { 0x004A,0x0049,0x0053,0x005F,0x0043,0x0036,0x0032,0x0032,0x0030,0x002D,0x0031,0x0039,0x0036,0x0039,0x002D,0x006A,0x0070,0x00 }
+  , { 0x004A,0x0049,0x0053,0x005F,0x0043,0x0036,0x0032,0x0032,0x0030,0x002D,0x0031,0x0039,0x0036,0x0039,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0033,0x00 }
+  , { 0x006B,0x0061,0x0074,0x0061,0x006B,0x0061,0x006E,0x0061,0x00 }
+  , { 0x0078,0x0030,0x0032,0x0030,0x0031,0x002D,0x0037,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0033,0x004A,0x0049,0x0053,0x0043,0x0036,0x0032,0x0032,0x0030,0x006A,0x0070,0x00 }
+  , { 0x004A,0x0049,0x0053,0x005F,0x0043,0x0036,0x0032,0x0032,0x0030,0x002D,0x0031,0x0039,0x0036,0x0039,0x002D,0x0072,0x006F,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0034,0x00 }
+  , { 0x006A,0x0070,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x004A,0x0050,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0034,0x004A,0x0049,0x0053,0x0043,0x0036,0x0032,0x0032,0x0030,0x0072,0x006F,0x00 }
+  , { 0x0049,0x0054,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0035,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0049,0x0054,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0035,0x0049,0x0074,0x0061,0x006C,0x0069,0x0061,0x006E,0x00 }
+  , { 0x0050,0x0054,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0036,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0050,0x0054,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0036,0x0050,0x006F,0x0072,0x0074,0x0075,0x0067,0x0075,0x0065,0x0073,0x0065,0x00 }
+  , { 0x0045,0x0053,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0037,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0045,0x0053,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0037,0x0053,0x0070,0x0061,0x006E,0x0069,0x0073,0x0068,0x00 }
+  , { 0x0067,0x0072,0x0065,0x0065,0x006B,0x0037,0x002D,0x006F,0x006C,0x0064,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0038,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0038,0x0047,0x0072,0x0065,0x0065,0x006B,0x0037,0x004F,0x006C,0x0064,0x00 }
+  , { 0x006C,0x0061,0x0074,0x0069,0x006E,0x002D,0x0067,0x0072,0x0065,0x0065,0x006B,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0039,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0039,0x004C,0x0061,0x0074,0x0069,0x006E,0x0047,0x0072,0x0065,0x0065,0x006B,0x00 }
+  , { 0x0044,0x0049,0x004E,0x005F,0x0036,0x0036,0x0030,0x0030,0x0033,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0032,0x0031,0x00 }
+  , { 0x0064,0x0065,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0044,0x0045,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0032,0x0031,0x0047,0x0065,0x0072,0x006D,0x0061,0x006E,0x00 }
+  , { 0x004E,0x0046,0x005F,0x005A,0x005F,0x0036,0x0032,0x002D,0x0030,0x0031,0x0030,0x005F,0x0028,0x0031,0x0039,0x0037,0x0033,0x0029,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0032,0x0035,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0046,0x0052,0x0031,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0032,0x0035,0x0046,0x0072,0x0065,0x006E,0x0063,0x0068,0x00 }
+  , { 0x004C,0x0061,0x0074,0x0069,0x006E,0x002D,0x0067,0x0072,0x0065,0x0065,0x006B,0x002D,0x0031,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0032,0x0037,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0032,0x0037,0x004C,0x0061,0x0074,0x0069,0x006E,0x0047,0x0072,0x0065,0x0065,0x006B,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0035,0x0034,0x0032,0x0037,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0033,0x0037,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0035,0x0034,0x0032,0x0037,0x0043,0x0079,0x0072,0x0069,0x006C,0x006C,0x0069,0x0063,0x00 }
+  , { 0x004A,0x0049,0x0053,0x005F,0x0043,0x0036,0x0032,0x0032,0x0036,0x002D,0x0031,0x0039,0x0037,0x0038,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0034,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0034,0x0032,0x004A,0x0049,0x0053,0x0043,0x0036,0x0032,0x0032,0x0036,0x0031,0x0039,0x0037,0x0038,0x00 }
+  , { 0x0042,0x0053,0x005F,0x0076,0x0069,0x0065,0x0077,0x0064,0x0061,0x0074,0x0061,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0034,0x0037,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0034,0x0037,0x0042,0x0053,0x0056,0x0069,0x0065,0x0077,0x0064,0x0061,0x0074,0x0061,0x00 }
+  , { 0x0049,0x004E,0x0049,0x0053,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0034,0x0039,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0034,0x0039,0x0049,0x004E,0x0049,0x0053,0x00 }
+  , { 0x0049,0x004E,0x0049,0x0053,0x002D,0x0038,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0035,0x0030,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0035,0x0030,0x0049,0x004E,0x0049,0x0053,0x0038,0x00 }
+  , { 0x0049,0x004E,0x0049,0x0053,0x002D,0x0063,0x0079,0x0072,0x0069,0x006C,0x006C,0x0069,0x0063,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0035,0x0031,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0035,0x0031,0x0049,0x004E,0x0049,0x0053,0x0043,0x0079,0x0072,0x0069,0x006C,0x006C,0x0069,0x0063,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0035,0x0034,0x0032,0x0037,0x003A,0x0031,0x0039,0x0038,0x0031,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0035,0x0034,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0035,0x0034,0x0032,0x0037,0x0043,0x0079,0x0072,0x0069,0x006C,0x006C,0x0069,0x0063,0x0031,0x0039,0x0038,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0035,0x0034,0x0032,0x0038,0x003A,0x0031,0x0039,0x0038,0x0030,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0035,0x0035,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0035,0x0034,0x0032,0x0038,0x0047,0x0072,0x0065,0x0065,0x006B,0x00 }
+  , { 0x0047,0x0042,0x005F,0x0031,0x0039,0x0038,0x0038,0x002D,0x0038,0x0030,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0035,0x0037,0x00 }
+  , { 0x0063,0x006E,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0043,0x004E,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0035,0x0037,0x0047,0x0042,0x0031,0x0039,0x0038,0x0038,0x00 }
+  , { 0x0047,0x0042,0x005F,0x0032,0x0033,0x0031,0x0032,0x002D,0x0038,0x0030,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0035,0x0038,0x00 }
+  , { 0x0063,0x0068,0x0069,0x006E,0x0065,0x0073,0x0065,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0035,0x0038,0x0047,0x0042,0x0032,0x0033,0x0031,0x0032,0x0038,0x0030,0x00 }
+  , { 0x004E,0x0053,0x005F,0x0034,0x0035,0x0035,0x0031,0x002D,0x0031,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0036,0x0030,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x004E,0x004F,0x00 }
+  , { 0x006E,0x006F,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0036,0x0030,0x0044,0x0061,0x006E,0x0069,0x0073,0x0068,0x004E,0x006F,0x0072,0x0077,0x0065,0x0067,0x0069,0x0061,0x006E,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0036,0x0030,0x004E,0x006F,0x0072,0x0077,0x0065,0x0067,0x0069,0x0061,0x006E,0x0031,0x00 }
+  , { 0x004E,0x0053,0x005F,0x0034,0x0035,0x0035,0x0031,0x002D,0x0032,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x004E,0x004F,0x0032,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0036,0x0031,0x00 }
+  , { 0x006E,0x006F,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0036,0x0031,0x004E,0x006F,0x0072,0x0077,0x0065,0x0067,0x0069,0x0061,0x006E,0x0032,0x00 }
+  , { 0x004E,0x0046,0x005F,0x005A,0x005F,0x0036,0x0032,0x002D,0x0030,0x0031,0x0030,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0036,0x0039,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0046,0x0052,0x00 }
+  , { 0x0066,0x0072,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0036,0x0039,0x0046,0x0072,0x0065,0x006E,0x0063,0x0068,0x00 }
+  , { 0x0076,0x0069,0x0064,0x0065,0x006F,0x0074,0x0065,0x0078,0x002D,0x0073,0x0075,0x0070,0x0070,0x006C,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0037,0x0030,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0037,0x0030,0x0056,0x0069,0x0064,0x0065,0x006F,0x0074,0x0065,0x0078,0x0053,0x0075,0x0070,0x0070,0x0031,0x00 }
+  , { 0x0050,0x0054,0x0032,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0038,0x0034,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0050,0x0054,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0038,0x0034,0x0050,0x006F,0x0072,0x0074,0x0075,0x0067,0x0075,0x0065,0x0073,0x0065,0x0032,0x00 }
+  , { 0x0045,0x0053,0x0032,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0038,0x0035,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0045,0x0053,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0038,0x0035,0x0053,0x0070,0x0061,0x006E,0x0069,0x0073,0x0068,0x0032,0x00 }
+  , { 0x004D,0x0053,0x005A,0x005F,0x0037,0x0037,0x0039,0x0035,0x002E,0x0033,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0038,0x0036,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0048,0x0055,0x00 }
+  , { 0x0068,0x0075,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0038,0x0036,0x0048,0x0075,0x006E,0x0067,0x0061,0x0072,0x0069,0x0061,0x006E,0x00 }
+  , { 0x004A,0x0049,0x0053,0x005F,0x0043,0x0036,0x0032,0x0032,0x0036,0x002D,0x0031,0x0039,0x0038,0x0033,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0038,0x0037,0x00 }
+  , { 0x0078,0x0030,0x0032,0x0030,0x0038,0x00 }
+  , { 0x004A,0x0049,0x0053,0x005F,0x0058,0x0030,0x0032,0x0030,0x0038,0x002D,0x0031,0x0039,0x0038,0x0033,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0038,0x0037,0x004A,0x0049,0x0053,0x0058,0x0030,0x0032,0x0030,0x0038,0x00 }
+  , { 0x0067,0x0072,0x0065,0x0065,0x006B,0x0037,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0038,0x0038,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0038,0x0038,0x0047,0x0072,0x0065,0x0065,0x006B,0x0037,0x00 }
+  , { 0x0041,0x0053,0x004D,0x004F,0x005F,0x0034,0x0034,0x0039,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0039,0x0030,0x0033,0x0036,0x00 }
+  , { 0x0061,0x0072,0x0061,0x0062,0x0069,0x0063,0x0037,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0038,0x0039,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0038,0x0039,0x0041,0x0053,0x004D,0x004F,0x0034,0x0034,0x0039,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0039,0x0030,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0039,0x0030,0x00 }
+  , { 0x004A,0x0049,0x0053,0x005F,0x0043,0x0036,0x0032,0x0032,0x0039,0x002D,0x0031,0x0039,0x0038,0x0034,0x002D,0x0061,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0039,0x0031,0x00 }
+  , { 0x006A,0x0070,0x002D,0x006F,0x0063,0x0072,0x002D,0x0061,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0039,0x0031,0x004A,0x0049,0x0053,0x0043,0x0036,0x0032,0x0032,0x0039,0x0031,0x0039,0x0038,0x0034,0x0061,0x00 }
+  , { 0x004A,0x0049,0x0053,0x005F,0x0043,0x0036,0x0032,0x0032,0x0039,0x002D,0x0031,0x0039,0x0038,0x0034,0x002D,0x0062,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0039,0x0032,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x004A,0x0050,0x002D,0x004F,0x0043,0x0052,0x002D,0x0042,0x00 }
+  , { 0x006A,0x0070,0x002D,0x006F,0x0063,0x0072,0x002D,0x0062,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0039,0x0032,0x004A,0x0049,0x0053,0x0043,0x0036,0x0032,0x0039,0x0039,0x0031,0x0039,0x0038,0x0034,0x0062,0x00 }
+  , { 0x004A,0x0049,0x0053,0x005F,0x0043,0x0036,0x0032,0x0032,0x0039,0x002D,0x0031,0x0039,0x0038,0x0034,0x002D,0x0062,0x002D,0x0061,0x0064,0x0064,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0039,0x0033,0x00 }
+  , { 0x006A,0x0070,0x002D,0x006F,0x0063,0x0072,0x002D,0x0062,0x002D,0x0061,0x0064,0x0064,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0039,0x0033,0x004A,0x0049,0x0053,0x0036,0x0032,0x0032,0x0039,0x0031,0x0039,0x0038,0x0034,0x0062,0x0061,0x0064,0x0064,0x00 }
+  , { 0x004A,0x0049,0x0053,0x005F,0x0043,0x0036,0x0032,0x0032,0x0039,0x002D,0x0031,0x0039,0x0038,0x0034,0x002D,0x0068,0x0061,0x006E,0x0064,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0039,0x0034,0x00 }
+  , { 0x006A,0x0070,0x002D,0x006F,0x0063,0x0072,0x002D,0x0068,0x0061,0x006E,0x0064,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0039,0x0034,0x004A,0x0049,0x0053,0x0036,0x0032,0x0032,0x0039,0x0031,0x0039,0x0038,0x0034,0x0068,0x0061,0x006E,0x0064,0x00 }
+  , { 0x004A,0x0049,0x0053,0x005F,0x0043,0x0036,0x0032,0x0032,0x0039,0x002D,0x0031,0x0039,0x0038,0x0034,0x002D,0x0068,0x0061,0x006E,0x0064,0x002D,0x0061,0x0064,0x0064,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0039,0x0035,0x00 }
+  , { 0x006A,0x0070,0x002D,0x006F,0x0063,0x0072,0x002D,0x0068,0x0061,0x006E,0x0064,0x002D,0x0061,0x0064,0x0064,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0039,0x0035,0x004A,0x0049,0x0053,0x0036,0x0032,0x0032,0x0039,0x0031,0x0039,0x0038,0x0034,0x0068,0x0061,0x006E,0x0064,0x0061,0x0064,0x0064,0x00 }
+  , { 0x004A,0x0049,0x0053,0x005F,0x0043,0x0036,0x0032,0x0032,0x0039,0x002D,0x0031,0x0039,0x0038,0x0034,0x002D,0x006B,0x0061,0x006E,0x0061,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0039,0x0036,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0039,0x0036,0x004A,0x0049,0x0053,0x0043,0x0036,0x0032,0x0032,0x0039,0x0031,0x0039,0x0038,0x0034,0x006B,0x0061,0x006E,0x0061,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0032,0x0030,0x0033,0x0033,0x002D,0x0031,0x0039,0x0038,0x0033,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0039,0x0038,0x00 }
+  , { 0x0065,0x0031,0x0033,0x0062,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0032,0x0030,0x0033,0x0033,0x00 }
+  , { 0x0041,0x004E,0x0053,0x0049,0x005F,0x0058,0x0033,0x002E,0x0031,0x0031,0x0030,0x002D,0x0031,0x0039,0x0038,0x0033,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0039,0x0039,0x00 }
+  , { 0x0043,0x0053,0x0041,0x005F,0x0054,0x0035,0x0030,0x0030,0x002D,0x0031,0x0039,0x0038,0x0033,0x00 }
+  , { 0x004E,0x0041,0x0050,0x004C,0x0050,0x0053,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0039,0x0039,0x004E,0x0041,0x0050,0x004C,0x0050,0x0053,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0031,0x003A,0x0031,0x0039,0x0038,0x0037,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0030,0x0030,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0031,0x00 }
+  , { 0x006C,0x0061,0x0074,0x0069,0x006E,0x0031,0x00 }
+  , { 0x006C,0x0031,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0031,0x0039,0x00 }
+  , { 0x0043,0x0050,0x0038,0x0031,0x0039,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x004C,0x0061,0x0074,0x0069,0x006E,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0032,0x003A,0x0031,0x0039,0x0038,0x0037,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0030,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0032,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0032,0x00 }
+  , { 0x006C,0x0061,0x0074,0x0069,0x006E,0x0032,0x00 }
+  , { 0x006C,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x004C,0x0061,0x0074,0x0069,0x006E,0x0032,0x00 }
+  , { 0x0054,0x002E,0x0036,0x0031,0x002D,0x0037,0x0062,0x0069,0x0074,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0030,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0030,0x0032,0x0054,0x0036,0x0031,0x0037,0x0062,0x0069,0x0074,0x00 }
+  , { 0x0054,0x002E,0x0036,0x0031,0x002D,0x0038,0x0062,0x0069,0x0074,0x00 }
+  , { 0x0054,0x002E,0x0036,0x0031,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0030,0x0033,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0030,0x0033,0x0054,0x0036,0x0031,0x0038,0x0062,0x0069,0x0074,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0033,0x003A,0x0031,0x0039,0x0038,0x0038,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0030,0x0039,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0033,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0033,0x00 }
+  , { 0x006C,0x0061,0x0074,0x0069,0x006E,0x0033,0x00 }
+  , { 0x006C,0x0033,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x004C,0x0061,0x0074,0x0069,0x006E,0x0033,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0034,0x003A,0x0031,0x0039,0x0038,0x0038,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0031,0x0030,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0034,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0034,0x00 }
+  , { 0x006C,0x0061,0x0074,0x0069,0x006E,0x0034,0x00 }
+  , { 0x006C,0x0034,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x004C,0x0061,0x0074,0x0069,0x006E,0x0034,0x00 }
+  , { 0x0045,0x0043,0x004D,0x0041,0x002D,0x0063,0x0079,0x0072,0x0069,0x006C,0x006C,0x0069,0x0063,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0031,0x0031,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0031,0x0031,0x0045,0x0043,0x004D,0x0041,0x0043,0x0079,0x0072,0x0069,0x006C,0x006C,0x0069,0x0063,0x00 }
+  , { 0x0043,0x0053,0x0041,0x005F,0x005A,0x0032,0x0034,0x0033,0x002E,0x0034,0x002D,0x0031,0x0039,0x0038,0x0035,0x002D,0x0031,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0032,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0043,0x0041,0x00 }
+  , { 0x0063,0x0073,0x0061,0x0037,0x002D,0x0031,0x00 }
+  , { 0x0063,0x0061,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0032,0x0031,0x0043,0x0061,0x006E,0x0061,0x0064,0x0069,0x0061,0x006E,0x0031,0x00 }
+  , { 0x0043,0x0053,0x0041,0x005F,0x005A,0x0032,0x0034,0x0033,0x002E,0x0034,0x002D,0x0031,0x0039,0x0038,0x0035,0x002D,0x0032,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0032,0x0032,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0043,0x0041,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0061,0x0037,0x002D,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0032,0x0032,0x0043,0x0061,0x006E,0x0061,0x0064,0x0069,0x0061,0x006E,0x0032,0x00 }
+  , { 0x0043,0x0053,0x0041,0x005F,0x005A,0x0032,0x0034,0x0033,0x002E,0x0034,0x002D,0x0031,0x0039,0x0038,0x0035,0x002D,0x0067,0x0072,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0032,0x0033,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0032,0x0033,0x0043,0x0053,0x0041,0x005A,0x0032,0x0034,0x0033,0x0034,0x0031,0x0039,0x0038,0x0035,0x0067,0x0072,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0036,0x003A,0x0031,0x0039,0x0038,0x0037,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0032,0x0037,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0036,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0036,0x00 }
+  , { 0x0045,0x0043,0x004D,0x0041,0x002D,0x0031,0x0031,0x0034,0x00 }
+  , { 0x0041,0x0053,0x004D,0x004F,0x002D,0x0037,0x0030,0x0038,0x00 }
+  , { 0x0061,0x0072,0x0061,0x0062,0x0069,0x0063,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x004C,0x0061,0x0074,0x0069,0x006E,0x0041,0x0072,0x0061,0x0062,0x0069,0x0063,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0036,0x002D,0x0045,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0038,0x0038,0x0035,0x0039,0x0036,0x0045,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0036,0x002D,0x0045,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0036,0x002D,0x0049,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0038,0x0038,0x0035,0x0039,0x0036,0x0049,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0036,0x002D,0x0049,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0037,0x003A,0x0031,0x0039,0x0038,0x0037,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0032,0x0036,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0037,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0037,0x00 }
+  , { 0x0045,0x004C,0x004F,0x0054,0x005F,0x0039,0x0032,0x0038,0x00 }
+  , { 0x0045,0x0043,0x004D,0x0041,0x002D,0x0031,0x0031,0x0038,0x00 }
+  , { 0x0067,0x0072,0x0065,0x0065,0x006B,0x00 }
+  , { 0x0067,0x0072,0x0065,0x0065,0x006B,0x0038,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x004C,0x0061,0x0074,0x0069,0x006E,0x0047,0x0072,0x0065,0x0065,0x006B,0x00 }
+  , { 0x0054,0x002E,0x0031,0x0030,0x0031,0x002D,0x0047,0x0032,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0032,0x0038,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0032,0x0038,0x0054,0x0031,0x0030,0x0031,0x0047,0x0032,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0038,0x003A,0x0031,0x0039,0x0038,0x0038,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0033,0x0038,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0038,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0038,0x00 }
+  , { 0x0068,0x0065,0x0062,0x0072,0x0065,0x0077,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x004C,0x0061,0x0074,0x0069,0x006E,0x0048,0x0065,0x0062,0x0072,0x0065,0x0077,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0038,0x002D,0x0045,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0038,0x0038,0x0035,0x0039,0x0038,0x0045,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0038,0x002D,0x0045,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0038,0x002D,0x0049,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0038,0x0038,0x0035,0x0039,0x0038,0x0049,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0038,0x002D,0x0049,0x00 }
+  , { 0x0043,0x0053,0x004E,0x005F,0x0033,0x0036,0x0039,0x0031,0x0030,0x0033,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0033,0x0039,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0033,0x0039,0x0043,0x0053,0x004E,0x0033,0x0036,0x0039,0x0031,0x0030,0x0033,0x00 }
+  , { 0x004A,0x0055,0x0053,0x005F,0x0049,0x002E,0x0042,0x0031,0x002E,0x0030,0x0030,0x0032,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0034,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0059,0x0055,0x00 }
+  , { 0x006A,0x0073,0x00 }
+  , { 0x0079,0x0075,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0034,0x0031,0x004A,0x0055,0x0053,0x0049,0x0042,0x0031,0x0030,0x0030,0x0032,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0036,0x0039,0x0033,0x0037,0x002D,0x0032,0x002D,0x0061,0x0064,0x0064,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0034,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0054,0x0065,0x0078,0x0074,0x0043,0x006F,0x006D,0x006D,0x00 }
+  , { 0x0049,0x0045,0x0043,0x005F,0x0050,0x0032,0x0037,0x002D,0x0031,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0034,0x0033,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0034,0x0033,0x0049,0x0045,0x0043,0x0050,0x0032,0x0037,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0035,0x003A,0x0031,0x0039,0x0038,0x0038,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0034,0x0034,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0035,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0035,0x00 }
+  , { 0x0063,0x0079,0x0072,0x0069,0x006C,0x006C,0x0069,0x0063,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x004C,0x0061,0x0074,0x0069,0x006E,0x0043,0x0079,0x0072,0x0069,0x006C,0x006C,0x0069,0x0063,0x00 }
+  , { 0x004A,0x0055,0x0053,0x005F,0x0049,0x002E,0x0042,0x0031,0x002E,0x0030,0x0030,0x0033,0x002D,0x0073,0x0065,0x0072,0x0062,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0034,0x0036,0x00 }
+  , { 0x0073,0x0065,0x0072,0x0062,0x0069,0x0061,0x006E,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0034,0x0036,0x0053,0x0065,0x0072,0x0062,0x0069,0x0061,0x006E,0x00 }
+  , { 0x004A,0x0055,0x0053,0x005F,0x0049,0x002E,0x0042,0x0031,0x002E,0x0030,0x0030,0x0033,0x002D,0x006D,0x0061,0x0063,0x00 }
+  , { 0x006D,0x0061,0x0063,0x0065,0x0064,0x006F,0x006E,0x0069,0x0061,0x006E,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0034,0x0037,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0034,0x0037,0x004D,0x0061,0x0063,0x0065,0x0064,0x006F,0x006E,0x0069,0x0061,0x006E,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0039,0x003A,0x0031,0x0039,0x0038,0x0039,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0034,0x0038,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0039,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0039,0x00 }
+  , { 0x006C,0x0061,0x0074,0x0069,0x006E,0x0035,0x00 }
+  , { 0x006C,0x0035,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x004C,0x0061,0x0074,0x0069,0x006E,0x0035,0x00 }
+  , { 0x0067,0x0072,0x0065,0x0065,0x006B,0x002D,0x0063,0x0063,0x0069,0x0074,0x0074,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0035,0x0030,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0035,0x0030,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0035,0x0030,0x0047,0x0072,0x0065,0x0065,0x006B,0x0043,0x0043,0x0049,0x0054,0x0054,0x00 }
+  , { 0x004E,0x0043,0x005F,0x004E,0x0043,0x0030,0x0030,0x002D,0x0031,0x0030,0x003A,0x0038,0x0031,0x00 }
+  , { 0x0063,0x0075,0x0062,0x0061,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0035,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0043,0x0055,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0035,0x0031,0x0043,0x0075,0x0062,0x0061,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0036,0x0039,0x0033,0x0037,0x002D,0x0032,0x002D,0x0032,0x0035,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0035,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0036,0x0039,0x0033,0x0037,0x0041,0x0064,0x0064,0x00 }
+  , { 0x0047,0x004F,0x0053,0x0054,0x005F,0x0031,0x0039,0x0037,0x0036,0x0038,0x002D,0x0037,0x0034,0x00 }
+  , { 0x0053,0x0054,0x005F,0x0053,0x0045,0x0056,0x005F,0x0033,0x0035,0x0038,0x002D,0x0038,0x0038,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0035,0x0033,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0035,0x0033,0x0047,0x004F,0x0053,0x0054,0x0031,0x0039,0x0037,0x0036,0x0038,0x0037,0x0034,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0073,0x0075,0x0070,0x0070,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0035,0x0034,0x00 }
+  , { 0x006C,0x0061,0x0074,0x0069,0x006E,0x0031,0x002D,0x0032,0x002D,0x0035,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0038,0x0038,0x0035,0x0039,0x0053,0x0075,0x0070,0x0070,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0031,0x0030,0x0033,0x0036,0x0037,0x002D,0x0062,0x006F,0x0078,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0035,0x0035,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0030,0x0033,0x0036,0x0037,0x0042,0x006F,0x0078,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0031,0x0030,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0035,0x0037,0x00 }
+  , { 0x006C,0x0036,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0031,0x0030,0x003A,0x0031,0x0039,0x0039,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x004C,0x0061,0x0074,0x0069,0x006E,0x0036,0x00 }
+  , { 0x006C,0x0061,0x0074,0x0069,0x006E,0x0036,0x00 }
+  , { 0x006C,0x0061,0x0074,0x0069,0x006E,0x002D,0x006C,0x0061,0x0070,0x00 }
+  , { 0x006C,0x0061,0x0070,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0035,0x0038,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0035,0x0038,0x004C,0x0061,0x0070,0x00 }
+  , { 0x004A,0x0049,0x0053,0x005F,0x0058,0x0030,0x0032,0x0031,0x0032,0x002D,0x0031,0x0039,0x0039,0x0030,0x00 }
+  , { 0x0078,0x0030,0x0032,0x0031,0x0032,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0035,0x0039,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0035,0x0039,0x004A,0x0049,0x0053,0x0058,0x0030,0x0032,0x0031,0x0032,0x0031,0x0039,0x0039,0x0030,0x00 }
+  , { 0x0044,0x0053,0x005F,0x0032,0x0030,0x0038,0x0039,0x00 }
+  , { 0x0044,0x0053,0x0032,0x0030,0x0038,0x0039,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0044,0x004B,0x00 }
+  , { 0x0064,0x006B,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x0044,0x0061,0x006E,0x0069,0x0073,0x0068,0x00 }
+  , { 0x0075,0x0073,0x002D,0x0064,0x006B,0x00 }
+  , { 0x0063,0x0073,0x0055,0x0053,0x0044,0x004B,0x00 }
+  , { 0x0064,0x006B,0x002D,0x0075,0x0073,0x00 }
+  , { 0x0063,0x0073,0x0044,0x004B,0x0055,0x0053,0x00 }
+  , { 0x004A,0x0049,0x0053,0x005F,0x0058,0x0030,0x0032,0x0030,0x0031,0x00 }
+  , { 0x0058,0x0030,0x0032,0x0030,0x0031,0x00 }
+  , { 0x0063,0x0073,0x0048,0x0061,0x006C,0x0066,0x0057,0x0069,0x0064,0x0074,0x0068,0x004B,0x0061,0x0074,0x0061,0x006B,0x0061,0x006E,0x0061,0x00 }
+  , { 0x004B,0x0053,0x0043,0x0035,0x0036,0x0033,0x0036,0x00 }
+  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x004B,0x0052,0x00 }
+  , { 0x0063,0x0073,0x004B,0x0053,0x0043,0x0035,0x0036,0x0033,0x0036,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0031,0x0030,0x0036,0x0034,0x0036,0x002D,0x0055,0x0043,0x0053,0x002D,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0031,0x0030,0x0036,0x0034,0x0036,0x002D,0x0055,0x0043,0x0053,0x002D,0x0034,0x00 }
+  , { 0x0063,0x0073,0x0055,0x0043,0x0053,0x0034,0x00 }
+  , { 0x0044,0x0045,0x0043,0x002D,0x004D,0x0043,0x0053,0x00 }
+  , { 0x0064,0x0065,0x0063,0x00 }
+  , { 0x0063,0x0073,0x0044,0x0045,0x0043,0x004D,0x0043,0x0053,0x00 }
+  , { 0x0068,0x0070,0x002D,0x0072,0x006F,0x006D,0x0061,0x006E,0x0038,0x00 }
+  , { 0x0072,0x006F,0x006D,0x0061,0x006E,0x0038,0x00 }
+  , { 0x0072,0x0038,0x00 }
+  , { 0x0063,0x0073,0x0048,0x0050,0x0052,0x006F,0x006D,0x0061,0x006E,0x0038,0x00 }
+  , { 0x006D,0x0061,0x0063,0x0069,0x006E,0x0074,0x006F,0x0073,0x0068,0x00 }
+  , { 0x006D,0x0061,0x0063,0x00 }
+  , { 0x0063,0x0073,0x004D,0x0061,0x0063,0x0069,0x006E,0x0074,0x006F,0x0073,0x0068,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0030,0x0033,0x0037,0x00 }
+  , { 0x0063,0x0070,0x0030,0x0033,0x0037,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0075,0x0073,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0063,0x0061,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0077,0x0074,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x006E,0x006C,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0030,0x0033,0x0037,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0030,0x0033,0x0038,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0049,0x004E,0x0054,0x00 }
+  , { 0x0063,0x0070,0x0030,0x0033,0x0038,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0030,0x0033,0x0038,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0032,0x0037,0x0033,0x00 }
+  , { 0x0043,0x0050,0x0032,0x0037,0x0033,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0032,0x0037,0x0033,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0032,0x0037,0x0034,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0042,0x0045,0x00 }
+  , { 0x0043,0x0050,0x0032,0x0037,0x0034,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0032,0x0037,0x0034,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0032,0x0037,0x0035,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0042,0x0052,0x00 }
+  , { 0x0063,0x0070,0x0032,0x0037,0x0035,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0032,0x0037,0x0035,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0032,0x0037,0x0037,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0043,0x0050,0x002D,0x0044,0x004B,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0043,0x0050,0x002D,0x004E,0x004F,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0032,0x0037,0x0037,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0032,0x0037,0x0038,0x00 }
+  , { 0x0043,0x0050,0x0032,0x0037,0x0038,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0066,0x0069,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0073,0x0065,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0032,0x0037,0x0038,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0032,0x0038,0x0030,0x00 }
+  , { 0x0043,0x0050,0x0032,0x0038,0x0030,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0069,0x0074,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0032,0x0038,0x0030,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0032,0x0038,0x0031,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x004A,0x0050,0x002D,0x0045,0x00 }
+  , { 0x0063,0x0070,0x0032,0x0038,0x0031,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0032,0x0038,0x0031,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0032,0x0038,0x0034,0x00 }
+  , { 0x0043,0x0050,0x0032,0x0038,0x0034,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0065,0x0073,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0032,0x0038,0x0034,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0032,0x0038,0x0035,0x00 }
+  , { 0x0043,0x0050,0x0032,0x0038,0x0035,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0067,0x0062,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0032,0x0038,0x0035,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0032,0x0039,0x0030,0x00 }
+  , { 0x0063,0x0070,0x0032,0x0039,0x0030,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x004A,0x0050,0x002D,0x006B,0x0061,0x006E,0x0061,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0032,0x0039,0x0030,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0032,0x0039,0x0037,0x00 }
+  , { 0x0063,0x0070,0x0032,0x0039,0x0037,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0066,0x0072,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0032,0x0039,0x0037,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0034,0x0032,0x0030,0x00 }
+  , { 0x0063,0x0070,0x0034,0x0032,0x0030,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0061,0x0072,0x0031,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0034,0x0032,0x0030,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0034,0x0032,0x0033,0x00 }
+  , { 0x0063,0x0070,0x0034,0x0032,0x0033,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0067,0x0072,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0034,0x0032,0x0033,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0034,0x0032,0x0034,0x00 }
+  , { 0x0063,0x0070,0x0034,0x0032,0x0034,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0068,0x0065,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0034,0x0032,0x0034,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0034,0x0033,0x0037,0x00 }
+  , { 0x0063,0x0070,0x0034,0x0033,0x0037,0x00 }
+  , { 0x0034,0x0033,0x0037,0x00 }
+  , { 0x0063,0x0073,0x0050,0x0043,0x0038,0x0043,0x006F,0x0064,0x0065,0x0050,0x0061,0x0067,0x0065,0x0034,0x0033,0x0037,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0035,0x0030,0x0030,0x00 }
+  , { 0x0043,0x0050,0x0035,0x0030,0x0030,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0062,0x0065,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0063,0x0068,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0035,0x0030,0x0030,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0037,0x0037,0x0035,0x00 }
+  , { 0x0063,0x0070,0x0037,0x0037,0x0035,0x00 }
+  , { 0x0063,0x0073,0x0050,0x0043,0x0037,0x0037,0x0035,0x0042,0x0061,0x006C,0x0074,0x0069,0x0063,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0035,0x0030,0x00 }
+  , { 0x0063,0x0070,0x0038,0x0035,0x0030,0x00 }
+  , { 0x0038,0x0035,0x0030,0x00 }
+  , { 0x0063,0x0073,0x0050,0x0043,0x0038,0x0035,0x0030,0x004D,0x0075,0x006C,0x0074,0x0069,0x006C,0x0069,0x006E,0x0067,0x0075,0x0061,0x006C,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0035,0x0031,0x00 }
+  , { 0x0063,0x0070,0x0038,0x0035,0x0031,0x00 }
+  , { 0x0038,0x0035,0x0031,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0038,0x0035,0x0031,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0035,0x0032,0x00 }
+  , { 0x0063,0x0070,0x0038,0x0035,0x0032,0x00 }
+  , { 0x0038,0x0035,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0050,0x0043,0x0070,0x0038,0x0035,0x0032,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0035,0x0035,0x00 }
+  , { 0x0063,0x0070,0x0038,0x0035,0x0035,0x00 }
+  , { 0x0038,0x0035,0x0035,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0038,0x0035,0x0035,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0035,0x0037,0x00 }
+  , { 0x0063,0x0070,0x0038,0x0035,0x0037,0x00 }
+  , { 0x0038,0x0035,0x0037,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0038,0x0035,0x0037,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0036,0x0030,0x00 }
+  , { 0x0063,0x0070,0x0038,0x0036,0x0030,0x00 }
+  , { 0x0038,0x0036,0x0030,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0038,0x0036,0x0030,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0036,0x0031,0x00 }
+  , { 0x0063,0x0070,0x0038,0x0036,0x0031,0x00 }
+  , { 0x0038,0x0036,0x0031,0x00 }
+  , { 0x0063,0x0070,0x002D,0x0069,0x0073,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0038,0x0036,0x0031,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0036,0x0032,0x00 }
+  , { 0x0063,0x0070,0x0038,0x0036,0x0032,0x00 }
+  , { 0x0038,0x0036,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0050,0x0043,0x0038,0x0036,0x0032,0x004C,0x0061,0x0074,0x0069,0x006E,0x0048,0x0065,0x0062,0x0072,0x0065,0x0077,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0036,0x0033,0x00 }
+  , { 0x0063,0x0070,0x0038,0x0036,0x0033,0x00 }
+  , { 0x0038,0x0036,0x0033,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0038,0x0036,0x0033,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0036,0x0034,0x00 }
+  , { 0x0063,0x0070,0x0038,0x0036,0x0034,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0038,0x0036,0x0034,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0036,0x0035,0x00 }
+  , { 0x0063,0x0070,0x0038,0x0036,0x0035,0x00 }
+  , { 0x0038,0x0036,0x0035,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0038,0x0036,0x0035,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0036,0x0036,0x00 }
+  , { 0x0063,0x0070,0x0038,0x0036,0x0036,0x00 }
+  , { 0x0038,0x0036,0x0036,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0038,0x0036,0x0036,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0036,0x0038,0x00 }
+  , { 0x0043,0x0050,0x0038,0x0036,0x0038,0x00 }
+  , { 0x0063,0x0070,0x002D,0x0061,0x0072,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0038,0x0036,0x0038,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0036,0x0039,0x00 }
+  , { 0x0063,0x0070,0x0038,0x0036,0x0039,0x00 }
+  , { 0x0038,0x0036,0x0039,0x00 }
+  , { 0x0063,0x0070,0x002D,0x0067,0x0072,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0038,0x0036,0x0039,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0037,0x0030,0x00 }
+  , { 0x0043,0x0050,0x0038,0x0037,0x0030,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0072,0x006F,0x0065,0x0063,0x0065,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0079,0x0075,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0038,0x0037,0x0030,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0037,0x0031,0x00 }
+  , { 0x0043,0x0050,0x0038,0x0037,0x0031,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0069,0x0073,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0038,0x0037,0x0031,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0038,0x0030,0x00 }
+  , { 0x0063,0x0070,0x0038,0x0038,0x0030,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0043,0x0079,0x0072,0x0069,0x006C,0x006C,0x0069,0x0063,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0038,0x0038,0x0030,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0038,0x0039,0x0031,0x00 }
+  , { 0x0063,0x0070,0x0038,0x0039,0x0031,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0038,0x0039,0x0031,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0039,0x0030,0x0033,0x00 }
+  , { 0x0063,0x0070,0x0039,0x0030,0x0033,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0039,0x0030,0x0033,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0039,0x0030,0x0034,0x00 }
+  , { 0x0063,0x0070,0x0039,0x0030,0x0034,0x00 }
+  , { 0x0039,0x0030,0x0034,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x0042,0x004D,0x0039,0x0030,0x0034,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0039,0x0030,0x0035,0x00 }
+  , { 0x0043,0x0050,0x0039,0x0030,0x0035,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0074,0x0072,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0039,0x0030,0x0035,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0039,0x0031,0x0038,0x00 }
+  , { 0x0043,0x0050,0x0039,0x0031,0x0038,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0063,0x0070,0x002D,0x0061,0x0072,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0039,0x0031,0x0038,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0031,0x0030,0x0032,0x0036,0x00 }
+  , { 0x0043,0x0050,0x0031,0x0030,0x0032,0x0036,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0031,0x0030,0x0032,0x0036,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0041,0x0054,0x002D,0x0044,0x0045,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0041,0x0054,0x0044,0x0045,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0041,0x0054,0x002D,0x0044,0x0045,0x002D,0x0041,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0041,0x0054,0x0044,0x0045,0x0041,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0043,0x0041,0x002D,0x0046,0x0052,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0043,0x0041,0x0046,0x0052,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0044,0x004B,0x002D,0x004E,0x004F,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0044,0x004B,0x004E,0x004F,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0044,0x004B,0x002D,0x004E,0x004F,0x002D,0x0041,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0044,0x004B,0x004E,0x004F,0x0041,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0046,0x0049,0x002D,0x0053,0x0045,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0046,0x0049,0x0053,0x0045,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0046,0x0049,0x002D,0x0053,0x0045,0x002D,0x0041,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0046,0x0049,0x0053,0x0045,0x0041,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0046,0x0052,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0046,0x0052,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0049,0x0054,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0049,0x0054,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0050,0x0054,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0050,0x0054,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0045,0x0053,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0045,0x0053,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0045,0x0053,0x002D,0x0041,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0045,0x0053,0x0041,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0045,0x0053,0x002D,0x0053,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0045,0x0053,0x0053,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0055,0x004B,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0055,0x004B,0x00 }
+  , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x002D,0x0055,0x0053,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0055,0x0053,0x00 }
+  , { 0x0055,0x004E,0x004B,0x004E,0x004F,0x0057,0x004E,0x002D,0x0038,0x0042,0x0049,0x0054,0x00 }
+  , { 0x0063,0x0073,0x0055,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0038,0x0042,0x0069,0x0054,0x00 }
+  , { 0x004D,0x004E,0x0045,0x004D,0x004F,0x004E,0x0049,0x0043,0x00 }
+  , { 0x0063,0x0073,0x004D,0x006E,0x0065,0x006D,0x006F,0x006E,0x0069,0x0063,0x00 }
+  , { 0x004D,0x004E,0x0045,0x004D,0x00 }
+  , { 0x0063,0x0073,0x004D,0x006E,0x0065,0x006D,0x00 }
+  , { 0x0056,0x0049,0x0053,0x0043,0x0049,0x0049,0x00 }
+  , { 0x0063,0x0073,0x0056,0x0049,0x0053,0x0043,0x0049,0x0049,0x00 }
+  , { 0x0056,0x0049,0x0051,0x0052,0x00 }
+  , { 0x0063,0x0073,0x0056,0x0049,0x0051,0x0052,0x00 }
+  , { 0x004B,0x004F,0x0049,0x0038,0x002D,0x0052,0x00 }
+  , { 0x0063,0x0073,0x004B,0x004F,0x0049,0x0038,0x0052,0x00 }
+  , { 0x004B,0x004F,0x0049,0x0038,0x002D,0x0055,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0030,0x0030,0x0038,0x0035,0x0038,0x00 }
+  , { 0x0043,0x0043,0x0053,0x0049,0x0044,0x0030,0x0030,0x0038,0x0035,0x0038,0x00 }
+  , { 0x0043,0x0050,0x0030,0x0030,0x0038,0x0035,0x0038,0x00 }
+  , { 0x0050,0x0043,0x002D,0x004D,0x0075,0x006C,0x0074,0x0069,0x006C,0x0069,0x006E,0x0067,0x0075,0x0061,0x006C,0x002D,0x0038,0x0035,0x0030,0x002B,0x0065,0x0075,0x0072,0x006F,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0030,0x0030,0x0039,0x0032,0x0034,0x00 }
+  , { 0x0043,0x0043,0x0053,0x0049,0x0044,0x0030,0x0030,0x0039,0x0032,0x0034,0x00 }
+  , { 0x0043,0x0050,0x0030,0x0030,0x0039,0x0032,0x0034,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x004C,0x0061,0x0074,0x0069,0x006E,0x0039,0x002D,0x002D,0x0065,0x0075,0x0072,0x006F,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0030,0x0031,0x0031,0x0034,0x0030,0x00 }
+  , { 0x0043,0x0043,0x0053,0x0049,0x0044,0x0030,0x0031,0x0031,0x0034,0x0030,0x00 }
+  , { 0x0043,0x0050,0x0030,0x0031,0x0031,0x0034,0x0030,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0075,0x0073,0x002D,0x0033,0x0037,0x002B,0x0065,0x0075,0x0072,0x006F,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0030,0x0031,0x0031,0x0034,0x0031,0x00 }
+  , { 0x0043,0x0043,0x0053,0x0049,0x0044,0x0030,0x0031,0x0031,0x0034,0x0031,0x00 }
+  , { 0x0043,0x0050,0x0030,0x0031,0x0031,0x0034,0x0031,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0064,0x0065,0x002D,0x0032,0x0037,0x0033,0x002B,0x0065,0x0075,0x0072,0x006F,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0030,0x0031,0x0031,0x0034,0x0032,0x00 }
+  , { 0x0043,0x0043,0x0053,0x0049,0x0044,0x0030,0x0031,0x0031,0x0034,0x0032,0x00 }
+  , { 0x0043,0x0050,0x0030,0x0031,0x0031,0x0034,0x0032,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0064,0x006B,0x002D,0x0032,0x0037,0x0037,0x002B,0x0065,0x0075,0x0072,0x006F,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x006E,0x006F,0x002D,0x0032,0x0037,0x0037,0x002B,0x0065,0x0075,0x0072,0x006F,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0030,0x0031,0x0031,0x0034,0x0033,0x00 }
+  , { 0x0043,0x0043,0x0053,0x0049,0x0044,0x0030,0x0031,0x0031,0x0034,0x0033,0x00 }
+  , { 0x0043,0x0050,0x0030,0x0031,0x0031,0x0034,0x0033,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0066,0x0069,0x002D,0x0032,0x0037,0x0038,0x002B,0x0065,0x0075,0x0072,0x006F,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0073,0x0065,0x002D,0x0032,0x0037,0x0038,0x002B,0x0065,0x0075,0x0072,0x006F,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0030,0x0031,0x0031,0x0034,0x0034,0x00 }
+  , { 0x0043,0x0043,0x0053,0x0049,0x0044,0x0030,0x0031,0x0031,0x0034,0x0034,0x00 }
+  , { 0x0043,0x0050,0x0030,0x0031,0x0031,0x0034,0x0034,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0069,0x0074,0x002D,0x0032,0x0038,0x0030,0x002B,0x0065,0x0075,0x0072,0x006F,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0030,0x0031,0x0031,0x0034,0x0035,0x00 }
+  , { 0x0043,0x0043,0x0053,0x0049,0x0044,0x0030,0x0031,0x0031,0x0034,0x0035,0x00 }
+  , { 0x0043,0x0050,0x0030,0x0031,0x0031,0x0034,0x0035,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0065,0x0073,0x002D,0x0032,0x0038,0x0034,0x002B,0x0065,0x0075,0x0072,0x006F,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0030,0x0031,0x0031,0x0034,0x0036,0x00 }
+  , { 0x0043,0x0043,0x0053,0x0049,0x0044,0x0030,0x0031,0x0031,0x0034,0x0036,0x00 }
+  , { 0x0043,0x0050,0x0030,0x0031,0x0031,0x0034,0x0036,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0067,0x0062,0x002D,0x0032,0x0038,0x0035,0x002B,0x0065,0x0075,0x0072,0x006F,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0030,0x0031,0x0031,0x0034,0x0037,0x00 }
+  , { 0x0043,0x0043,0x0053,0x0049,0x0044,0x0030,0x0031,0x0031,0x0034,0x0037,0x00 }
+  , { 0x0043,0x0050,0x0030,0x0031,0x0031,0x0034,0x0037,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0066,0x0072,0x002D,0x0032,0x0039,0x0037,0x002B,0x0065,0x0075,0x0072,0x006F,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0030,0x0031,0x0031,0x0034,0x0038,0x00 }
+  , { 0x0043,0x0043,0x0053,0x0049,0x0044,0x0030,0x0031,0x0031,0x0034,0x0038,0x00 }
+  , { 0x0043,0x0050,0x0030,0x0031,0x0031,0x0034,0x0038,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0069,0x006E,0x0074,0x0065,0x0072,0x006E,0x0061,0x0074,0x0069,0x006F,0x006E,0x0061,0x006C,0x002D,0x0035,0x0030,0x0030,0x002B,0x0065,0x0075,0x0072,0x006F,0x00 }
+  , { 0x0049,0x0042,0x004D,0x0030,0x0031,0x0031,0x0034,0x0039,0x00 }
+  , { 0x0043,0x0043,0x0053,0x0049,0x0044,0x0030,0x0031,0x0031,0x0034,0x0039,0x00 }
+  , { 0x0043,0x0050,0x0030,0x0031,0x0031,0x0034,0x0039,0x00 }
+  , { 0x0065,0x0062,0x0063,0x0064,0x0069,0x0063,0x002D,0x0069,0x0073,0x002D,0x0038,0x0037,0x0031,0x002B,0x0065,0x0075,0x0072,0x006F,0x00 }
+  , { 0x0042,0x0069,0x0067,0x0035,0x002D,0x0048,0x004B,0x0053,0x0043,0x0053,0x00 }
+  , { 0x0055,0x004E,0x0049,0x0043,0x004F,0x0044,0x0045,0x002D,0x0031,0x002D,0x0031,0x00 }
+  , { 0x0063,0x0073,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x0031,0x0031,0x00 }
+  , { 0x0053,0x0043,0x0053,0x0055,0x00 }
+  , { 0x0055,0x0054,0x0046,0x002D,0x0037,0x00 }
+  , { 0x0055,0x0054,0x0046,0x002D,0x0031,0x0036,0x0042,0x0045,0x00 }
+  , { 0x0055,0x0054,0x0046,0x002D,0x0031,0x0036,0x004C,0x0045,0x00 }
+  , { 0x0055,0x0054,0x0046,0x002D,0x0031,0x0036,0x00 }
+  , { 0x0043,0x0045,0x0053,0x0055,0x002D,0x0038,0x00 }
+  , { 0x0063,0x0073,0x0043,0x0045,0x0053,0x0055,0x002D,0x0038,0x00 }
+  , { 0x0055,0x0054,0x0046,0x002D,0x0033,0x0032,0x00 }
+  , { 0x0055,0x0054,0x0046,0x002D,0x0033,0x0032,0x0042,0x0045,0x00 }
+  , { 0x0055,0x0054,0x0046,0x002D,0x0033,0x0032,0x004C,0x0045,0x00 }
+  , { 0x0055,0x004E,0x0049,0x0043,0x004F,0x0044,0x0045,0x002D,0x0031,0x002D,0x0031,0x002D,0x0055,0x0054,0x0046,0x002D,0x0037,0x00 }
+  , { 0x0063,0x0073,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x0031,0x0031,0x0055,0x0054,0x0046,0x0037,0x00 }
+  , { 0x0055,0x0054,0x0046,0x002D,0x0038,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0031,0x0033,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0031,0x0034,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0031,0x0039,0x0039,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0031,0x0034,0x003A,0x0031,0x0039,0x0039,0x0038,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0031,0x0034,0x00 }
+  , { 0x006C,0x0061,0x0074,0x0069,0x006E,0x0038,0x00 }
+  , { 0x0069,0x0073,0x006F,0x002D,0x0063,0x0065,0x006C,0x0074,0x0069,0x0063,0x00 }
+  , { 0x006C,0x0038,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0031,0x0035,0x00 }
+  , { 0x0049,0x0053,0x004F,0x005F,0x0038,0x0038,0x0035,0x0039,0x002D,0x0031,0x0035,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0031,0x0036,0x00 }
+  , { 0x00 }
+  , { 0x0047,0x0042,0x004B,0x00 }
+  , { 0x0043,0x0050,0x0039,0x0033,0x0036,0x00 }
+  , { 0x004D,0x0053,0x0039,0x0033,0x0036,0x00 }
+  , { 0x0077,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x002D,0x0039,0x0033,0x0036,0x00 }
+  , { 0x0047,0x0042,0x0031,0x0038,0x0030,0x0033,0x0030,0x00 }
+  , { 0x004A,0x0049,0x0053,0x005F,0x0045,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x00 }
+  , { 0x0063,0x0073,0x004A,0x0049,0x0053,0x0045,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x00 }
+  , { 0x0053,0x0068,0x0069,0x0066,0x0074,0x005F,0x004A,0x0049,0x0053,0x00 }
+  , { 0x004D,0x0053,0x005F,0x004B,0x0061,0x006E,0x006A,0x0069,0x00 }
+  , { 0x0063,0x0073,0x0053,0x0068,0x0069,0x0066,0x0074,0x004A,0x0049,0x0053,0x00 }
+  , { 0x0045,0x0078,0x0074,0x0065,0x006E,0x0064,0x0065,0x0064,0x005F,0x0055,0x004E,0x0049,0x0058,0x005F,0x0043,0x006F,0x0064,0x0065,0x005F,0x0050,0x0061,0x0063,0x006B,0x0065,0x0064,0x005F,0x0046,0x006F,0x0072,0x006D,0x0061,0x0074,0x005F,0x0066,0x006F,0x0072,0x005F,0x004A,0x0061,0x0070,0x0061,0x006E,0x0065,0x0073,0x0065,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0055,0x0043,0x0050,0x006B,0x0064,0x0046,0x006D,0x0074,0x004A,0x0061,0x0070,0x0061,0x006E,0x0065,0x0073,0x0065,0x00 }
+  , { 0x0045,0x0055,0x0043,0x002D,0x004A,0x0050,0x00 }
+  , { 0x0045,0x0078,0x0074,0x0065,0x006E,0x0064,0x0065,0x0064,0x005F,0x0055,0x004E,0x0049,0x0058,0x005F,0x0043,0x006F,0x0064,0x0065,0x005F,0x0046,0x0069,0x0078,0x0065,0x0064,0x005F,0x0057,0x0069,0x0064,0x0074,0x0068,0x005F,0x0066,0x006F,0x0072,0x005F,0x004A,0x0061,0x0070,0x0061,0x006E,0x0065,0x0073,0x0065,0x00 }
+  , { 0x0063,0x0073,0x0045,0x0055,0x0043,0x0046,0x0069,0x0078,0x0057,0x0069,0x0064,0x004A,0x0061,0x0070,0x0061,0x006E,0x0065,0x0073,0x0065,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0031,0x0030,0x0036,0x0034,0x0036,0x002D,0x0055,0x0043,0x0053,0x002D,0x0042,0x0061,0x0073,0x0069,0x0063,0x00 }
+  , { 0x0063,0x0073,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x0041,0x0053,0x0043,0x0049,0x0049,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0031,0x0030,0x0036,0x0034,0x0036,0x002D,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x002D,0x004C,0x0061,0x0074,0x0069,0x006E,0x0031,0x00 }
+  , { 0x0063,0x0073,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x004C,0x0061,0x0074,0x0069,0x006E,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0031,0x0030,0x0036,0x0034,0x0036,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0031,0x0030,0x0036,0x0034,0x0036,0x002D,0x004A,0x002D,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x002D,0x0049,0x0042,0x004D,0x002D,0x0031,0x0032,0x0036,0x0031,0x00 }
+  , { 0x0063,0x0073,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x0049,0x0042,0x004D,0x0031,0x0032,0x0036,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x002D,0x0049,0x0042,0x004D,0x002D,0x0031,0x0032,0x0036,0x0038,0x00 }
+  , { 0x0063,0x0073,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x0049,0x0042,0x004D,0x0031,0x0032,0x0036,0x0038,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x002D,0x0049,0x0042,0x004D,0x002D,0x0031,0x0032,0x0037,0x0036,0x00 }
+  , { 0x0063,0x0073,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x0049,0x0042,0x004D,0x0031,0x0032,0x0037,0x0036,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x002D,0x0049,0x0042,0x004D,0x002D,0x0031,0x0032,0x0036,0x0034,0x00 }
+  , { 0x0063,0x0073,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x0049,0x0042,0x004D,0x0031,0x0032,0x0036,0x0034,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x002D,0x0049,0x0042,0x004D,0x002D,0x0031,0x0032,0x0036,0x0035,0x00 }
+  , { 0x0063,0x0073,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x0049,0x0042,0x004D,0x0031,0x0032,0x0036,0x0035,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0031,0x002D,0x0057,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x002D,0x0033,0x002E,0x0030,0x002D,0x004C,0x0061,0x0074,0x0069,0x006E,0x002D,0x0031,0x00 }
+  , { 0x0063,0x0073,0x0057,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x0033,0x0030,0x004C,0x0061,0x0074,0x0069,0x006E,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0031,0x002D,0x0057,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x002D,0x0033,0x002E,0x0031,0x002D,0x004C,0x0061,0x0074,0x0069,0x006E,0x002D,0x0031,0x00 }
+  , { 0x0063,0x0073,0x0057,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x0033,0x0031,0x004C,0x0061,0x0074,0x0069,0x006E,0x0031,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0032,0x002D,0x0057,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x002D,0x004C,0x0061,0x0074,0x0069,0x006E,0x002D,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0057,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x0033,0x0031,0x004C,0x0061,0x0074,0x0069,0x006E,0x0032,0x00 }
+  , { 0x0049,0x0053,0x004F,0x002D,0x0038,0x0038,0x0035,0x0039,0x002D,0x0039,0x002D,0x0057,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x002D,0x004C,0x0061,0x0074,0x0069,0x006E,0x002D,0x0035,0x00 }
+  , { 0x0063,0x0073,0x0057,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x0033,0x0031,0x004C,0x0061,0x0074,0x0069,0x006E,0x0035,0x00 }
+  , { 0x0041,0x0064,0x006F,0x0062,0x0065,0x002D,0x0053,0x0074,0x0061,0x006E,0x0064,0x0061,0x0072,0x0064,0x002D,0x0045,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x00 }
+  , { 0x0063,0x0073,0x0041,0x0064,0x006F,0x0062,0x0065,0x0053,0x0074,0x0061,0x006E,0x0064,0x0061,0x0072,0x0064,0x0045,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x00 }
+  , { 0x0056,0x0065,0x006E,0x0074,0x0075,0x0072,0x0061,0x002D,0x0055,0x0053,0x00 }
+  , { 0x0063,0x0073,0x0056,0x0065,0x006E,0x0074,0x0075,0x0072,0x0061,0x0055,0x0053,0x00 }
+  , { 0x0056,0x0065,0x006E,0x0074,0x0075,0x0072,0x0061,0x002D,0x0049,0x006E,0x0074,0x0065,0x0072,0x006E,0x0061,0x0074,0x0069,0x006F,0x006E,0x0061,0x006C,0x00 }
+  , { 0x0063,0x0073,0x0056,0x0065,0x006E,0x0074,0x0075,0x0072,0x0061,0x0049,0x006E,0x0074,0x0065,0x0072,0x006E,0x0061,0x0074,0x0069,0x006F,0x006E,0x0061,0x006C,0x00 }
+  , { 0x0050,0x0043,0x0038,0x002D,0x0044,0x0061,0x006E,0x0069,0x0073,0x0068,0x002D,0x004E,0x006F,0x0072,0x0077,0x0065,0x0067,0x0069,0x0061,0x006E,0x00 }
+  , { 0x0063,0x0073,0x0050,0x0043,0x0038,0x0044,0x0061,0x006E,0x0069,0x0073,0x0068,0x004E,0x006F,0x0072,0x0077,0x0065,0x0067,0x0069,0x0061,0x006E,0x00 }
+  , { 0x0050,0x0043,0x0038,0x002D,0x0054,0x0075,0x0072,0x006B,0x0069,0x0073,0x0068,0x00 }
+  , { 0x0063,0x0073,0x0050,0x0043,0x0038,0x0054,0x0075,0x0072,0x006B,0x0069,0x0073,0x0068,0x00 }
+  , { 0x0049,0x0042,0x004D,0x002D,0x0053,0x0079,0x006D,0x0062,0x006F,0x006C,0x0073,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0053,0x0079,0x006D,0x0062,0x006F,0x006C,0x0073,0x00 }
+  , { 0x0049,0x0042,0x004D,0x002D,0x0054,0x0068,0x0061,0x0069,0x00 }
+  , { 0x0063,0x0073,0x0049,0x0042,0x004D,0x0054,0x0068,0x0061,0x0069,0x00 }
+  , { 0x0048,0x0050,0x002D,0x004C,0x0065,0x0067,0x0061,0x006C,0x00 }
+  , { 0x0063,0x0073,0x0048,0x0050,0x004C,0x0065,0x0067,0x0061,0x006C,0x00 }
+  , { 0x0048,0x0050,0x002D,0x0050,0x0069,0x002D,0x0066,0x006F,0x006E,0x0074,0x00 }
+  , { 0x0063,0x0073,0x0048,0x0050,0x0050,0x0069,0x0046,0x006F,0x006E,0x0074,0x00 }
+  , { 0x0048,0x0050,0x002D,0x004D,0x0061,0x0074,0x0068,0x0038,0x00 }
+  , { 0x0063,0x0073,0x0048,0x0050,0x004D,0x0061,0x0074,0x0068,0x0038,0x00 }
+  , { 0x0041,0x0064,0x006F,0x0062,0x0065,0x002D,0x0053,0x0079,0x006D,0x0062,0x006F,0x006C,0x002D,0x0045,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x00 }
+  , { 0x0063,0x0073,0x0048,0x0050,0x0050,0x0053,0x004D,0x0061,0x0074,0x0068,0x00 }
+  , { 0x0048,0x0050,0x002D,0x0044,0x0065,0x0073,0x006B,0x0054,0x006F,0x0070,0x00 }
+  , { 0x0063,0x0073,0x0048,0x0050,0x0044,0x0065,0x0073,0x006B,0x0074,0x006F,0x0070,0x00 }
+  , { 0x0056,0x0065,0x006E,0x0074,0x0075,0x0072,0x0061,0x002D,0x004D,0x0061,0x0074,0x0068,0x00 }
+  , { 0x0063,0x0073,0x0056,0x0065,0x006E,0x0074,0x0075,0x0072,0x0061,0x004D,0x0061,0x0074,0x0068,0x00 }
+  , { 0x004D,0x0069,0x0063,0x0072,0x006F,0x0073,0x006F,0x0066,0x0074,0x002D,0x0050,0x0075,0x0062,0x006C,0x0069,0x0073,0x0068,0x0069,0x006E,0x0067,0x00 }
+  , { 0x0063,0x0073,0x004D,0x0069,0x0063,0x0072,0x006F,0x0073,0x006F,0x0066,0x0074,0x0050,0x0075,0x0062,0x006C,0x0069,0x0073,0x0068,0x0069,0x006E,0x0067,0x00 }
+  , { 0x0057,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x002D,0x0033,0x0031,0x004A,0x00 }
+  , { 0x0063,0x0073,0x0057,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x0033,0x0031,0x004A,0x00 }
+  , { 0x0047,0x0042,0x0032,0x0033,0x0031,0x0032,0x00 }
+  , { 0x0063,0x0073,0x0047,0x0042,0x0032,0x0033,0x0031,0x0032,0x00 }
+  , { 0x0042,0x0069,0x0067,0x0035,0x00 }
+  , { 0x0063,0x0073,0x0042,0x0069,0x0067,0x0035,0x00 }
+  , { 0x0077,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x002D,0x0031,0x0032,0x0035,0x0030,0x00 }
+  , { 0x0077,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x002D,0x0031,0x0032,0x0035,0x0031,0x00 }
+  , { 0x0077,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x002D,0x0031,0x0032,0x0035,0x0032,0x00 }
+  , { 0x0077,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x002D,0x0031,0x0032,0x0035,0x0033,0x00 }
+  , { 0x0077,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x002D,0x0031,0x0032,0x0035,0x0034,0x00 }
+  , { 0x0077,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x002D,0x0031,0x0032,0x0035,0x0035,0x00 }
+  , { 0x0077,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x002D,0x0031,0x0032,0x0035,0x0036,0x00 }
+  , { 0x0077,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x002D,0x0031,0x0032,0x0035,0x0037,0x00 }
+  , { 0x0077,0x0069,0x006E,0x0064,0x006F,0x0077,0x0073,0x002D,0x0031,0x0032,0x0035,0x0038,0x00 }
+  , { 0x0054,0x0049,0x0053,0x002D,0x0036,0x0032,0x0030,0x00 }
+  , { 0x0048,0x005A,0x002D,0x0047,0x0042,0x002D,0x0032,0x0033,0x0031,0x0032,0x00 }
+
+};
+const unsigned int gEncodingArraySize = 791;
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/IGXMLScanner.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,326 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: IGXMLScanner.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+
+#if !defined(IGXMLSCANNER_HPP)
+#define IGXMLSCANNER_HPP
+
+#include <xercesc/internal/XMLScanner.hpp>
+#include <xercesc/util/KVStringPair.hpp>
+#include <xercesc/util/NameIdPool.hpp>
+#include <xercesc/util/RefHash3KeysIdPool.hpp>
+#include <xercesc/validators/common/Grammar.hpp>
+#include <xercesc/validators/schema/SchemaElementDecl.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class DTDElementDecl;
+class DTDGrammar;
+class DTDValidator;
+class SchemaValidator;
+class IdentityConstraintHandler;
+class IdentityConstraint;
+class ContentLeafNameTypeVector;
+class SchemaAttDef;
+class XMLContentModel;
+class XSModel;
+class PSVIAttributeList;
+class PSVIElement;
+
+//  This is an integrated scanner class, which does DTD/XML Schema grammar
+//  processing.
+class XMLPARSER_EXPORT IGXMLScanner : public XMLScanner
+{
+public :
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+    IGXMLScanner
+    (
+        XMLValidator* const valToAdopt
+        , GrammarResolver* const grammarResolver
+        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
+    );
+    IGXMLScanner
+    (
+          XMLDocumentHandler* const docHandler
+        , DocTypeHandler* const     docTypeHandler
+        , XMLEntityHandler* const   entityHandler
+        , XMLErrorReporter* const   errReporter
+        , XMLValidator* const       valToAdopt
+        , GrammarResolver* const    grammarResolver
+        , MemoryManager* const      manager = XMLPlatformUtils::fgMemoryManager
+    );
+    virtual ~IGXMLScanner();
+
+    // -----------------------------------------------------------------------
+    //  XMLScanner public virtual methods
+    // -----------------------------------------------------------------------
+    virtual const XMLCh* getName() const;
+    virtual NameIdPool<DTDEntityDecl>* getEntityDeclPool();
+    virtual const NameIdPool<DTDEntityDecl>* getEntityDeclPool() const;
+    virtual unsigned int resolveQName
+    (
+        const   XMLCh* const        qName
+        ,       XMLBuffer&          prefixBufToFill
+        , const short               mode
+        ,       int&                prefixColonPos
+    );
+    virtual void scanDocument
+    (
+        const   InputSource&    src
+    );
+    virtual bool scanNext(XMLPScanToken& toFill);
+    virtual Grammar* loadGrammar
+    (
+        const   InputSource&    src
+        , const short           grammarType
+        , const bool            toCache = false
+    );
+
+    virtual Grammar::GrammarType getCurrentGrammarType() const;
+
+private :
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    IGXMLScanner();
+    IGXMLScanner(const IGXMLScanner&);
+    IGXMLScanner& operator=(const IGXMLScanner&);
+
+    // -----------------------------------------------------------------------
+    //  XMLScanner virtual methods
+    // -----------------------------------------------------------------------
+    virtual void scanCDSection();
+    virtual void scanCharData(XMLBuffer& toToUse);
+    virtual EntityExpRes scanEntityRef
+    (
+        const   bool    inAttVal
+        ,       XMLCh&  firstCh
+        ,       XMLCh&  secondCh
+        ,       bool&   escaped
+    );
+    virtual void scanDocTypeDecl();
+    virtual void scanReset(const InputSource& src);
+    virtual void sendCharData(XMLBuffer& toSend);
+    virtual InputSource* resolveSystemId(const XMLCh* const sysId
+                                        ,const XMLCh* const pubId);
+
+    // -----------------------------------------------------------------------
+    //  Private helper methods
+    // -----------------------------------------------------------------------
+    void commonInit();
+    void cleanUp();
+
+    unsigned int buildAttList
+    (
+        const   RefVectorOf<KVStringPair>&  providedAttrs
+        , const unsigned int                attCount
+        ,       XMLElementDecl*             elemDecl
+        ,       RefVectorOf<XMLAttr>&       toFill
+    );
+    bool normalizeAttValue
+    (
+        const   XMLAttDef* const    attDef
+        , const XMLCh* const       name 
+        , const XMLCh* const        value
+        ,       XMLBuffer&          toFill
+    );
+    bool normalizeAttRawValue
+    (
+        const   XMLCh* const        attrName
+        , const XMLCh* const        value
+        ,       XMLBuffer&          toFill
+    );
+    unsigned int resolvePrefix
+    (
+        const   XMLCh* const        prefix
+        , const ElemStack::MapModes mode
+    );
+    unsigned int resolvePrefix
+    (
+        const   XMLCh* const        prefix
+        ,       XMLBuffer&          uriBufToFill
+        , const ElemStack::MapModes mode
+    );
+    void updateNSMap
+    (
+        const   XMLCh* const    attrName
+        , const XMLCh* const    attrValue        
+    );
+    void updateNSMap
+    (
+        const   XMLCh* const    attrName
+        , const XMLCh* const    attrValue
+        , const int             colonPosition
+    );
+    void scanRawAttrListforNameSpaces(int attCount);
+    void parseSchemaLocation(const XMLCh* const schemaLocationStr);
+    void resolveSchemaGrammar(const XMLCh* const loc, const XMLCh* const uri);
+    bool switchGrammar(const XMLCh* const newGrammarNameSpace);
+    bool laxElementValidation(QName* element, ContentLeafNameTypeVector* cv,
+                              const XMLContentModel* const cm,
+                              const unsigned int parentElemDepth);
+    bool anyAttributeValidation(SchemaAttDef* attWildCard,
+                                unsigned int uriId,
+                                bool& skipThisOne,
+                                bool& laxThisOne);
+    void resizeElemState();
+    void processSchemaLocation(XMLCh* const schemaLoc);
+
+    void resizeRawAttrColonList();
+
+    unsigned int resolveQNameWithColon
+    (
+        const   XMLCh* const        qName
+        ,       XMLBuffer&          prefixBufToFill
+        , const short               mode
+        , const int                 prefixColonPos
+    );
+    // -----------------------------------------------------------------------
+    //  Private scanning methods
+    // -----------------------------------------------------------------------
+    bool basicAttrValueScan
+    (
+        const   XMLCh* const    attrName
+        ,       XMLBuffer&      toFill
+    );
+    unsigned int rawAttrScan
+    (
+        const   XMLCh* const                elemName
+        ,       RefVectorOf<KVStringPair>&  toFill
+        ,       bool&                       isEmpty
+    );
+    bool scanAttValue
+    (
+        const   XMLAttDef* const    attDef
+        , const   XMLCh* const      attrName
+        ,       XMLBuffer&          toFill
+    );
+    bool scanContent();
+    void scanEndTag(bool& gotData);
+    bool scanStartTag(bool& gotData);
+    bool scanStartTagNS(bool& gotData);
+
+    // -----------------------------------------------------------------------
+    //  IdentityConstraints Activation methods
+    // -----------------------------------------------------------------------
+    inline bool toCheckIdentityConstraint()  const;
+
+    // -----------------------------------------------------------------------
+    //  Grammar preparsing methods
+    // -----------------------------------------------------------------------
+    Grammar* loadXMLSchemaGrammar(const InputSource& src, const bool toCache = false);
+    Grammar* loadDTDGrammar(const InputSource& src, const bool toCache = false);
+
+    // -----------------------------------------------------------------------
+    //  PSVI handling methods
+    // -----------------------------------------------------------------------
+    void endElementPSVI(SchemaElementDecl* const elemDecl,
+                        DatatypeValidator* const memberDV);
+    void resetPSVIElemContext();
+
+    // -----------------------------------------------------------------------
+    //  Data members
+    //
+    //  fRawAttrList
+    //      During the initial scan of the attributes we can only do a raw
+    //      scan for key/value pairs. So this vector is used to store them
+    //      until they can be processed (and put into fAttrList.)
+    //
+    //  fDTDValidator
+    //      The DTD validator instance.
+    //
+    //  fSchemaValidator
+    //      The Schema validator instance.
+    //
+    //  fSeeXsi
+    //      This flag indicates a schema has been seen.
+    //
+    //  fElemState
+    //  fElemStateSize
+    //      Stores an element next state from DFA content model - used for
+    //      wildcard validation
+    //
+    // fDTDElemNonDeclPool
+    //      registry of "faulted-in" DTD element decls
+    // fSchemaElemNonDeclPool
+    //      registry for elements without decls in the grammar
+    // fElemCount
+    //      count of the number of start tags seen so far (starts at 1).
+    //      Used for duplicate attribute detection/processing of required/defaulted attributes
+    // fAttDefRegistry
+    //      mapping from XMLAttDef instances to the count of the last
+    //      start tag where they were utilized.
+    // fUndeclaredAttrRegistry
+    //      mapping of attr QNames to the count of the last start tag in which they occurred
+    // fUndeclaredAttrRegistryNS
+    //      mapping of namespaceId/localName pairs to the count of the last
+    //      start tag in which they occurred.
+    //  fPSVIAttrList
+    //      PSVI attribute list implementation that needs to be
+    //      filled when a PSVIHandler is registered
+    //
+    // -----------------------------------------------------------------------
+    bool                                    fSeeXsi;
+    Grammar::GrammarType                    fGrammarType;
+    unsigned int                            fElemStateSize;
+    unsigned int*                           fElemState;
+    XMLBuffer                               fContent;
+    RefVectorOf<KVStringPair>*              fRawAttrList;
+    unsigned int                            fRawAttrColonListSize;
+    int*                                    fRawAttrColonList;
+    DTDValidator*                           fDTDValidator;
+    SchemaValidator*                        fSchemaValidator;
+    DTDGrammar*                             fDTDGrammar;
+    IdentityConstraintHandler*              fICHandler;
+    ValueVectorOf<XMLCh*>*                  fLocationPairs;
+    NameIdPool<DTDElementDecl>*             fDTDElemNonDeclPool;
+    RefHash3KeysIdPool<SchemaElementDecl>*  fSchemaElemNonDeclPool;
+    unsigned int                            fElemCount;
+    RefHashTableOf<unsigned int>*           fAttDefRegistry;
+    RefHashTableOf<unsigned int>*           fUndeclaredAttrRegistry;
+    RefHash2KeysTableOf<unsigned int>*      fUndeclaredAttrRegistryNS;
+    PSVIAttributeList *                     fPSVIAttrList;
+    XSModel*                                fModel;
+    PSVIElement*                            fPSVIElement;
+    ValueStackOf<bool>*                     fErrorStack;
+    PSVIElemContext                         fPSVIElemContext;
+};
+
+inline const XMLCh* IGXMLScanner::getName() const
+{
+    return XMLUni::fgIGXMLScanner;
+}
+
+inline bool IGXMLScanner::toCheckIdentityConstraint()  const
+{
+    return fValidate && fIdentityConstraintChecking && fICHandler;
+}
+
+inline Grammar::GrammarType IGXMLScanner::getCurrentGrammarType() const
+{
+    return fGrammarType;
+}
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/MemoryManagerArrayImpl.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,101 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: MemoryManagerArrayImpl.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+
+#if !defined(MEMORYMANAGERARRAYIMPL_HPP)
+#define MEMORYMANAGERARRAYIMPL_HPP
+
+#include <xercesc/framework/MemoryManager.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+/**
+  * Configurable memory manager
+  *
+  * <p>This is specialized version of a Xerces
+  *    memory manager, which allocates memory using
+  *    using new[](size) syntax. Such memory may
+  *    legally be deleted with delete[].
+  * </p>
+  * <p>This version is used in special cases where it is desired
+  *    that allocated memory be able to be delete[]d.
+  * </p>
+  */
+
+class XMLUTIL_EXPORT MemoryManagerArrayImpl : public MemoryManager
+{
+public:
+
+    /** @name Constructor */
+    //@{
+
+    /**
+      * Default constructor
+      */
+    MemoryManagerArrayImpl()
+    {
+    }
+    //@}
+
+    /** @name Destructor */
+    //@{
+
+    /**
+      * Default destructor
+      */
+    virtual ~MemoryManagerArrayImpl()
+    {
+    }
+    //@}
+
+    /** @name The virtual methods in MemoryManager */
+    //@{
+
+    /**
+      * This method allocates requested memory.
+      *
+      * @param size The requested memory size
+      *
+      * @return A pointer to the allocated memory
+      */
+    virtual void* allocate(size_t size);
+
+    /**
+      * This method deallocates memory
+      *
+      * @param p The pointer to the allocated memory to be deleted
+      */
+    virtual void deallocate(void* p);
+
+    //@}
+
+private:
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    MemoryManagerArrayImpl(const MemoryManagerArrayImpl&);
+    MemoryManagerArrayImpl& operator=(const MemoryManagerArrayImpl&);
+
+};
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/MemoryManagerImpl.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: MemoryManagerImpl.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+
+#if !defined(MEMORYMANAGERIMPL_HPP)
+#define MEMORYMANAGERIMPL_HPP
+
+#include <xercesc/framework/MemoryManager.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+/**
+  * Configurable memory manager
+  *
+  * <p>This is Xerces default implementation of the memory
+  *    manager interface, which will be instantiated and used
+  *    in the absence of an application's memory manager.
+  * </p>
+  */
+
+class XMLUTIL_EXPORT MemoryManagerImpl : public MemoryManager
+{
+public:
+
+    /** @name Constructor */
+    //@{
+
+    /**
+      * Default constructor
+      */
+    MemoryManagerImpl()
+    {
+    }
+    //@}
+
+    /** @name Destructor */
+    //@{
+
+    /**
+      * Default destructor
+      */
+    virtual ~MemoryManagerImpl()
+    {
+    }
+    //@}
+
+    /** @name The virtual methods in MemoryManager */
+    //@{
+
+    /**
+      * This method allocates requested memory.
+      *
+      * @param size The requested memory size
+      *
+      * @return A pointer to the allocated memory
+      */
+    virtual void* allocate(size_t size);
+
+    /**
+      * This method deallocates memory
+      *
+      * @param p The pointer to the allocated memory to be deleted
+      */
+    virtual void deallocate(void* p);
+
+    //@}
+
+private:
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    MemoryManagerImpl(const MemoryManagerImpl&);
+    MemoryManagerImpl& operator=(const MemoryManagerImpl&);
+
+};
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/ReaderMgr.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,436 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: ReaderMgr.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(READERMGR_HPP)
+#define READERMGR_HPP
+
+#include <xercesc/internal/XMLReader.hpp>
+#include <xercesc/util/PlatformUtils.hpp>
+#include <xercesc/util/RefStackOf.hpp>
+#include <xercesc/sax/Locator.hpp>
+#include <xercesc/framework/XMLBuffer.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class XMLEntityDecl;
+class XMLEntityHandler;
+class XMLDocumentHandler;
+class XMLScanner;
+
+
+// ---------------------------------------------------------------------------
+//  This class is used by the scanner. The scanner must deal with expansion
+//  of entities, some of which are totally different files (external parsed
+//  entities.) It does so by pushing readers onto a stack. The top reader is
+//  the one it wants to read out of, but that one must be popped when it is
+//  empty. To keep that logic from being all over the place, the scanner
+//  talks to the reader manager, which handles the stack and popping off
+//  used up readers.
+// ---------------------------------------------------------------------------
+class XMLPARSER_EXPORT ReaderMgr :   public XMemory 
+                                   , public Locator
+{
+public :
+    // -----------------------------------------------------------------------
+    //  Class specific types
+    // -----------------------------------------------------------------------
+    struct LastExtEntityInfo : public XMemory
+    {
+        const   XMLCh*          systemId;
+        const   XMLCh*          publicId;
+                XMLSSize_t      lineNumber;
+                XMLSSize_t      colNumber;
+    };
+
+
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+    ReaderMgr(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
+    ~ReaderMgr();
+
+
+    // -----------------------------------------------------------------------
+    //  Convenience scanning methods
+    //
+    //  This are all convenience methods that work in terms of the core
+    //  character spooling methods.
+    // -----------------------------------------------------------------------
+    bool atEOF() const;
+    bool getName(XMLBuffer& toFill);
+    bool getQName(XMLBuffer& toFill, int* colonPosition);
+    bool getNameToken(XMLBuffer& toFill);
+    XMLCh getNextChar();
+    bool getNextCharIfNot(const XMLCh chNotToGet, XMLCh& chGotten);
+    void movePlainContentChars(XMLBuffer &dest);
+    void getSpaces(XMLBuffer& toFill);
+    void getUpToCharOrWS(XMLBuffer& toFill, const XMLCh toCheck);
+    bool isEmpty() const;
+    bool lookingAtChar(const XMLCh toCheck);
+    bool lookingAtSpace();
+    XMLCh peekNextChar();
+    bool skipIfQuote(XMLCh& chGotten);
+    void skipPastChar(const XMLCh toSkip);
+    bool skipPastSpaces(bool inDecl = false);
+    void skipToChar(const XMLCh toSkipTo);
+    bool skippedChar(const XMLCh toSkip);
+    bool skippedSpace();
+    bool skippedString(const XMLCh* const toSkip);
+    void skipQuotedString(const XMLCh quoteCh);
+    XMLCh skipUntilIn(const XMLCh* const listToSkip);
+    XMLCh skipUntilInOrWS(const XMLCh* const listToSkip);
+    bool peekString(const XMLCh* const toPeek);
+
+
+    // -----------------------------------------------------------------------
+    //  Control methods
+    // -----------------------------------------------------------------------
+    void cleanStackBackTo(const unsigned int readerNum);
+    XMLReader* createReader
+    (
+        const   InputSource&        src
+        , const bool                xmlDecl
+        , const XMLReader::RefFrom  refFrom
+        , const XMLReader::Types    type
+        , const XMLReader::Sources  source
+        , const bool                calcSrsOfs = true
+    );
+    XMLReader* createReader
+    (
+        const   XMLCh* const        sysId
+        , const XMLCh* const        pubId
+        , const bool                xmlDecl
+        , const XMLReader::RefFrom  refFrom
+        , const XMLReader::Types    type
+        , const XMLReader::Sources  source
+        ,       InputSource*&       srcToFill
+        , const bool                calcSrcOfs = true
+        , const bool                disableDefaultEntityResolution = false
+    );
+    XMLReader* createReader
+    (
+        const   XMLCh* const        baseURI
+        , const XMLCh* const        sysId
+        , const XMLCh* const        pubId
+        , const bool                xmlDecl
+        , const XMLReader::RefFrom  refFrom
+        , const XMLReader::Types    type
+        , const XMLReader::Sources  source
+        ,       InputSource*&       srcToFill
+        , const bool                calcSrcOfs = true
+        , const bool                disableDefaultEntityResolution = false
+    );
+    XMLReader* createIntEntReader
+    (
+        const   XMLCh* const        sysId
+        , const XMLReader::RefFrom  refFrom
+        , const XMLReader::Types    type
+        , const XMLCh* const        dataBuf
+        , const unsigned int        dataLen
+        , const bool                copyBuf
+        , const bool                calcSrcOfs = true
+    );
+    bool isScanningPERefOutOfLiteral() const;
+    bool pushReader
+    (
+                XMLReader* const        reader
+        ,       XMLEntityDecl* const    entity
+    );
+    void reset();
+
+
+    // -----------------------------------------------------------------------
+    //  Getter methods
+    // -----------------------------------------------------------------------
+    const XMLCh* getCurrentEncodingStr() const;
+    const XMLEntityDecl* getCurrentEntity() const;
+    XMLEntityDecl* getCurrentEntity();
+    const XMLReader* getCurrentReader() const;
+    XMLReader* getCurrentReader();
+    unsigned int getCurrentReaderNum() const;
+    unsigned int getReaderDepth() const;
+    void getLastExtEntityInfo(LastExtEntityInfo& lastInfo) const;
+    unsigned int getSrcOffset() const;
+    bool getThrowEOE() const;
+
+
+    // -----------------------------------------------------------------------
+    //  Setter methods
+    // -----------------------------------------------------------------------
+    void setEntityHandler(XMLEntityHandler* const newHandler);
+    void setThrowEOE(const bool newValue);
+    void setXMLVersion(const XMLReader::XMLVersion version);
+    void setStandardUriConformant(const bool newValue);
+
+    // -----------------------------------------------------------------------
+    //  Implement the SAX Locator interface
+    // -----------------------------------------------------------------------
+    virtual const XMLCh* getPublicId() const;
+    virtual const XMLCh* getSystemId() const;
+    virtual XMLSSize_t getLineNumber() const;
+    virtual XMLSSize_t getColumnNumber() const;
+
+
+private :
+    // -----------------------------------------------------------------------
+    //  Private helper methods
+    // -----------------------------------------------------------------------
+    const XMLReader* getLastExtEntity(const XMLEntityDecl*& itsEntity) const;
+    bool popReader();
+
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    ReaderMgr(const ReaderMgr&);
+    ReaderMgr& operator=(const ReaderMgr&);
+
+    // -----------------------------------------------------------------------
+    //  Private data members
+    //
+    //  fCurEntity
+    //      This is the current top of stack entity. We pull it off the stack
+    //      and store it here for efficiency.
+    //
+    //  fCurReader
+    //      This is the current top of stack reader. We pull it off the
+    //      stack and store it here for efficiency.
+    //
+    //  fEntityHandler
+    //      This is the installed entity handler. Its installed via the
+    //      scanner but he passes it on to us since we need it the most, in
+    //      process of creating external entity readers.
+    //
+    //  fEntityStack
+    //      We need to keep up with which of the pushed readers are pushed
+    //      entity values that are being spooled. This is done to avoid the
+    //      problem of recursive definitions. This stack consists of refs to
+    //      EntityDecl objects for the pushed entities.
+    //
+    //  fNextReaderNum
+    //      This is the reader serial number value. Each new reader that is
+    //      created from this reader is given a successive number. This lets
+    //      us catch things like partial markup errors and such.
+    //
+    //  fReaderStack
+    //      This is the stack of reader references. We own all the readers
+    //      and destroy them when they are used up.
+    //
+    //  fThrowEOE
+    //      This flag controls whether we throw an exception when we hit an
+    //      end of entity. The scanner doesn't really need to know about ends
+    //      of entities in the int/ext subsets, so it will turn this flag off
+    //      until it gets into the content usually.
+    //
+    //  fXMLVersion
+    //      Enum to indicate if each Reader should be created as XML 1.1 or
+    //      XML 1.0 conformant
+    //
+    //  fStandardUriConformant
+    //      This flag controls whether we force conformant URI
+    // -----------------------------------------------------------------------
+    XMLEntityDecl*              fCurEntity;
+    XMLReader*                  fCurReader;
+    XMLEntityHandler*           fEntityHandler;
+    RefStackOf<XMLEntityDecl>*  fEntityStack;
+    unsigned int                fNextReaderNum;
+    RefStackOf<XMLReader>*      fReaderStack;
+    bool                        fThrowEOE;
+    XMLReader::XMLVersion       fXMLVersion;
+    bool                        fStandardUriConformant;
+    MemoryManager*              fMemoryManager;
+};
+
+
+
+// ---------------------------------------------------------------------------
+//  ReaderMgr: Inlined methods
+//
+//  NOTE: We cannot put these in alphabetical and type order as we usually
+//  do because some of the compilers we have to support are too stupid to
+//  understand out of order inlines!
+// ---------------------------------------------------------------------------
+inline unsigned int ReaderMgr::getCurrentReaderNum() const
+{
+    return fCurReader->getReaderNum();
+}
+
+inline const XMLReader* ReaderMgr::getCurrentReader() const
+{
+    return fCurReader;
+}
+
+inline XMLReader* ReaderMgr::getCurrentReader()
+{
+    return fCurReader;
+}
+
+inline bool ReaderMgr::getName(XMLBuffer& toFill)
+{
+    toFill.reset();
+    return fCurReader->getName(toFill, false);
+}
+
+inline bool ReaderMgr::getQName(XMLBuffer& toFill, int *colonPosition)
+{
+    toFill.reset();
+    return fCurReader->getQName(toFill, colonPosition);
+}
+
+inline bool ReaderMgr::getNameToken(XMLBuffer& toFill)
+{
+    toFill.reset();
+    return fCurReader->getName(toFill, true);
+}
+
+inline bool ReaderMgr::getNextCharIfNot(const XMLCh chNotToGet, XMLCh& chGotten)
+{
+    return fCurReader->getNextCharIfNot(chNotToGet, chGotten);
+}
+
+inline void ReaderMgr::movePlainContentChars(XMLBuffer &dest)
+{
+    fCurReader->movePlainContentChars(dest);
+}
+
+inline bool ReaderMgr::getThrowEOE() const
+{
+    return fThrowEOE;
+}
+
+inline unsigned int ReaderMgr::getSrcOffset() const
+{
+    return fCurReader? fCurReader->getSrcOffset() : 0;
+}
+
+inline bool ReaderMgr::lookingAtChar(const XMLCh chToCheck)
+{
+    return (chToCheck == peekNextChar());
+}
+
+inline bool ReaderMgr::lookingAtSpace()
+{
+    XMLCh c = peekNextChar();
+    return fCurReader->isWhitespace(c);
+}
+
+inline void ReaderMgr::setThrowEOE(const bool newValue)
+{
+    fThrowEOE = newValue;
+}
+
+inline void ReaderMgr::setStandardUriConformant(const bool newValue)
+{
+    fStandardUriConformant = newValue;
+}
+
+inline bool ReaderMgr::skippedString(const XMLCh* const toSkip)
+{
+    return fCurReader->skippedString(toSkip);
+}
+
+inline void ReaderMgr::skipToChar(const XMLCh toSkipTo)
+{
+	XMLCh nextCh = 0;
+    do
+    {
+        // Get chars until we find the one to skip
+        nextCh = getNextChar();
+	} 
+    // Break out at end of input or the char to skip
+	while((nextCh != toSkipTo) && nextCh!=0);
+}
+
+inline void ReaderMgr::skipPastChar(const XMLCh toSkipPast)
+{
+	XMLCh nextCh = 0;
+    do
+    {
+        // Get chars until we find the one to skip
+        nextCh = getNextChar();
+	} 
+	while((nextCh != toSkipPast) && nextCh!=0);
+}
+
+inline bool ReaderMgr::peekString(const XMLCh* const toPeek)
+{
+    return fCurReader->peekString(toPeek);
+}
+
+inline void ReaderMgr::setEntityHandler(XMLEntityHandler* const newHandler)
+{
+    fEntityHandler = newHandler;
+}
+
+inline void ReaderMgr::setXMLVersion(const XMLReader::XMLVersion version)
+{
+    fXMLVersion = version;
+    fCurReader->setXMLVersion(version);
+}
+
+//
+//  This is a simple class to temporarily change the 'throw at end of entity'
+//  flag of the reader manager. There are some places where we need to
+//  turn this on and off on a scoped basis.
+//
+class XMLPARSER_EXPORT ThrowEOEJanitor
+{
+public :
+    // -----------------------------------------------------------------------
+    //  Constructors and destructor
+    // -----------------------------------------------------------------------
+    ThrowEOEJanitor(ReaderMgr* mgrTarget, const bool newValue) :
+
+        fOld(mgrTarget->getThrowEOE())
+        , fMgr(mgrTarget)
+    {
+        mgrTarget->setThrowEOE(newValue);
+    }
+
+    ~ThrowEOEJanitor()
+    {
+        fMgr->setThrowEOE(fOld);
+    };
+
+private :
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------    
+    ThrowEOEJanitor(const ThrowEOEJanitor&);
+    ThrowEOEJanitor& operator=(const ThrowEOEJanitor&);
+
+    // -----------------------------------------------------------------------
+    //  Private data members
+    //
+    //  fOld
+    //      The previous value of the flag, which we replaced during ctor,
+    //      and will replace during dtor.
+    //
+    //  fMgr
+    //      A pointer to the reader manager we are going to set/reset the
+    //      flag on.
+    // -----------------------------------------------------------------------
+    bool        fOld;
+    ReaderMgr*  fMgr;
+};
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/SGXMLScanner.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,321 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: SGXMLScanner.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+
+#if !defined(SGXMLSCANNER_HPP)
+#define SGXMLSCANNER_HPP
+
+#include <xercesc/internal/XMLScanner.hpp>
+#include <xercesc/util/KVStringPair.hpp>
+#include <xercesc/util/ValueHashTableOf.hpp>
+#include <xercesc/util/RefHash3KeysIdPool.hpp>
+#include <xercesc/validators/common/Grammar.hpp>
+#include <xercesc/validators/schema/SchemaElementDecl.hpp>
+
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class SchemaGrammar;
+class SchemaValidator;
+class IdentityConstraintHandler;
+class IdentityConstraint;
+class ContentLeafNameTypeVector;
+class SchemaAttDef;
+class XMLContentModel;
+class XSModel;
+class PSVIAttributeList;
+class PSVIElement;
+
+//  This is a scanner class, which process XML Schema grammar.
+class XMLPARSER_EXPORT SGXMLScanner : public XMLScanner
+{
+public :
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+    SGXMLScanner
+    (
+        XMLValidator* const       valToAdopt
+        , GrammarResolver* const grammarResolver
+        , MemoryManager* const    manager = XMLPlatformUtils::fgMemoryManager
+    );
+    SGXMLScanner
+    (
+        XMLDocumentHandler* const docHandler
+        , DocTypeHandler* const   docTypeHandler
+        , XMLEntityHandler* const entityHandler
+        , XMLErrorReporter* const errReporter
+        , XMLValidator* const     valToAdopt
+        , GrammarResolver* const  grammarResolver
+        , MemoryManager* const    manager = XMLPlatformUtils::fgMemoryManager
+    );
+    virtual ~SGXMLScanner();
+
+    // -----------------------------------------------------------------------
+    //  XMLScanner public virtual methods
+    // -----------------------------------------------------------------------
+    virtual const XMLCh* getName() const;
+    virtual NameIdPool<DTDEntityDecl>* getEntityDeclPool();
+    virtual const NameIdPool<DTDEntityDecl>* getEntityDeclPool() const;
+    virtual unsigned int resolveQName
+    (
+        const   XMLCh* const        qName
+        ,       XMLBuffer&          prefixBufToFill
+        , const short               mode
+        ,       int&                prefixColonPos
+    );
+    virtual void scanDocument
+    (
+        const   InputSource&    src
+    );
+    virtual bool scanNext(XMLPScanToken& toFill);
+    virtual Grammar* loadGrammar
+    (
+        const   InputSource&    src
+        , const short           grammarType
+        , const bool            toCache = false
+    );
+    virtual Grammar::GrammarType getCurrentGrammarType() const;
+
+protected:
+    // -----------------------------------------------------------------------
+    //  XMLScanner virtual methods
+    // -----------------------------------------------------------------------
+    virtual void scanReset(const InputSource& src);
+
+    // -----------------------------------------------------------------------
+    //  SGXMLScanner virtual methods
+    // -----------------------------------------------------------------------
+    virtual bool scanStartTag(bool& gotData);
+    virtual void scanEndTag(bool& gotData);
+
+    // -----------------------------------------------------------------------
+    //  Helper methods
+    // -----------------------------------------------------------------------
+    unsigned int buildAttList
+    (
+        const   RefVectorOf<KVStringPair>&  providedAttrs
+        , const unsigned int                attCount
+        ,       XMLElementDecl*             elemDecl
+        ,       RefVectorOf<XMLAttr>&       toFill
+    );
+    bool laxElementValidation(QName* element, ContentLeafNameTypeVector* cv,
+                              const XMLContentModel* const cm,
+                              const unsigned int parentElemDepth);
+    unsigned int rawAttrScan
+    (
+        const   XMLCh* const                elemName
+        ,       RefVectorOf<KVStringPair>&  toFill
+        ,       bool&                       isEmpty
+    );
+    void updateNSMap
+    (
+        const   XMLCh* const    attrName
+        , const XMLCh* const    attrValue
+    );
+    unsigned int resolvePrefix
+    (
+        const   XMLCh* const        prefix
+        , const ElemStack::MapModes mode
+    );
+    void resizeElemState();
+
+    void updateNSMap
+    (
+        const   XMLCh* const    attrName
+        , const XMLCh* const    attrValue
+        , const int             colonPosition
+    );
+    void resizeRawAttrColonList();
+    unsigned int resolveQNameWithColon
+    (
+        const   XMLCh* const        qName
+        ,       XMLBuffer&          prefixBufToFill
+        , const short               mode
+        , const int                 prefixColonPos
+    );
+    // -----------------------------------------------------------------------
+    //  Data members
+    //
+    //  fRawAttrList
+    //      During the initial scan of the attributes we can only do a raw
+    //      scan for key/value pairs. So this vector is used to store them
+    //      until they can be processed (and put into fAttrList.)
+    //
+    //  fSchemaValidator
+    //      The Schema validator instance.
+    //
+    //  fSeeXsi
+    //      This flag indicates a schema has been seen.
+    //
+    //  fElemState
+    //  fElemStateSize
+    //      Stores an element next state from DFA content model - used for
+    //      wildcard validation
+    //
+    // fElemNonDeclPool
+    //      registry for elements without decls in the grammar
+    // fElemCount
+    //      count of the number of start tags seen so far (starts at 1).
+    //      Used for duplicate attribute detection/processing of required/defaulted attributes
+    // fAttDefRegistry
+    //      mapping from XMLAttDef instances to the count of the last
+    //      start tag where they were utilized.
+    // fUndeclaredAttrRegistryNS
+    //      mapping of namespaceId/localName pairs to the count of the last
+    //      start tag in which they occurred.
+    //  fPSVIAttrList
+    //      PSVI attribute list implementation that needs to be
+    //      filled when a PSVIHandler is registered
+    //
+    // -----------------------------------------------------------------------
+    bool                                    fSeeXsi;
+    Grammar::GrammarType                    fGrammarType;
+    unsigned int                            fElemStateSize;
+    unsigned int*                           fElemState;
+    XMLBuffer                               fContent;
+    ValueHashTableOf<XMLCh>*                fEntityTable;
+    RefVectorOf<KVStringPair>*              fRawAttrList;
+    unsigned int                            fRawAttrColonListSize;
+    int*                                    fRawAttrColonList;
+    SchemaGrammar*                          fSchemaGrammar;
+    SchemaValidator*                        fSchemaValidator;
+    IdentityConstraintHandler*              fICHandler;
+    RefHash3KeysIdPool<SchemaElementDecl>*  fElemNonDeclPool;
+    unsigned int                            fElemCount;
+    RefHashTableOf<unsigned int>*           fAttDefRegistry;
+    RefHash2KeysTableOf<unsigned int>*      fUndeclaredAttrRegistryNS;
+    PSVIAttributeList *                     fPSVIAttrList;
+    XSModel*                                fModel;
+    PSVIElement*                            fPSVIElement;
+    ValueStackOf<bool>*                     fErrorStack;
+    PSVIElemContext                         fPSVIElemContext;
+
+private :
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    SGXMLScanner();
+    SGXMLScanner(const SGXMLScanner&);
+    SGXMLScanner& operator=(const SGXMLScanner&);
+
+    // -----------------------------------------------------------------------
+    //  XMLScanner virtual methods
+    // -----------------------------------------------------------------------
+    virtual void scanCDSection();
+    virtual void scanCharData(XMLBuffer& toToUse);
+    virtual EntityExpRes scanEntityRef
+    (
+        const   bool    inAttVal
+        ,       XMLCh&  firstCh
+        ,       XMLCh&  secondCh
+        ,       bool&   escaped
+    );
+    virtual void scanDocTypeDecl();
+    virtual void sendCharData(XMLBuffer& toSend);
+    virtual InputSource* resolveSystemId(const XMLCh* const sysId
+                                        ,const XMLCh* const pubId);
+
+    // -----------------------------------------------------------------------
+    //  Private helper methods
+    // -----------------------------------------------------------------------
+    void commonInit();
+    void cleanUp();
+
+    bool normalizeAttValue
+    (
+        const   XMLAttDef* const    attDef
+        , const XMLCh* const        attrName 
+        , const XMLCh* const        value
+        ,       XMLBuffer&          toFill
+    );
+    bool normalizeAttRawValue
+    (
+        const   XMLCh* const        attrName
+        , const XMLCh* const        value
+        ,       XMLBuffer&          toFill
+    );
+    unsigned int resolvePrefix
+    (
+        const   XMLCh* const        prefix
+        ,       XMLBuffer&          uriBufToFill
+        , const ElemStack::MapModes mode
+    );
+    void scanRawAttrListforNameSpaces(int attCount);
+    void parseSchemaLocation(const XMLCh* const schemaLocationStr);
+    void resolveSchemaGrammar(const XMLCh* const loc, const XMLCh* const uri);
+    bool switchGrammar(const XMLCh* const newGrammarNameSpace);
+    bool anyAttributeValidation(SchemaAttDef* attWildCard,
+                                unsigned int uriId,
+                                bool& skipThisOne,
+                                bool& laxThisOne);
+
+    // -----------------------------------------------------------------------
+    //  Private scanning methods
+    // -----------------------------------------------------------------------
+    bool basicAttrValueScan
+    (
+        const   XMLCh* const    attrName
+        ,       XMLBuffer&      toFill
+    );
+    bool scanAttValue
+    (
+        const   XMLAttDef* const    attDef
+        ,       XMLBuffer&          toFill
+    );
+    bool scanContent();
+
+    // -----------------------------------------------------------------------
+    //  IdentityConstraints Activation methods
+    // -----------------------------------------------------------------------
+    inline bool toCheckIdentityConstraint()  const;
+
+    // -----------------------------------------------------------------------
+    //  Grammar preparsing methods
+    // -----------------------------------------------------------------------
+    Grammar* loadXMLSchemaGrammar(const InputSource& src, const bool toCache = false);
+
+    // -----------------------------------------------------------------------
+    //  PSVI handling methods
+    // -----------------------------------------------------------------------
+    void endElementPSVI(SchemaElementDecl* const elemDecl,
+                        DatatypeValidator* const memberDV);
+    void resetPSVIElemContext();
+};
+
+inline const XMLCh* SGXMLScanner::getName() const
+{
+    return XMLUni::fgSGXMLScanner;
+}
+
+inline bool SGXMLScanner::toCheckIdentityConstraint()  const
+{
+    return fValidate && fIdentityConstraintChecking && fICHandler;
+}
+
+inline Grammar::GrammarType SGXMLScanner::getCurrentGrammarType() const
+{
+    return fGrammarType;
+}
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/ValidationContextImpl.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,156 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: ValidationContextImpl.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(VALIDATION_CONTEXTIMPL_HPP)
+#define VALIDATION_CONTEXTIMPL_HPP
+
+#include <xercesc/framework/ValidationContext.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+class ElemStack;
+
+class XMLPARSER_EXPORT ValidationContextImpl : public ValidationContext
+{
+public :
+    // -----------------------------------------------------------------------
+    /** @name Virtual destructor for derived classes */
+    // -----------------------------------------------------------------------
+    //@{
+
+    /**
+      * virtual destructor
+      *
+      */
+    virtual ~ValidationContextImpl();
+
+    ValidationContextImpl(MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager);
+
+    //@}
+
+    // -----------------------------------------------------------------------
+    /** @name The ValidationContextImpl Interface */
+    // -----------------------------------------------------------------------
+    //@{
+
+    /**
+      * IDRefList
+      *
+      */
+    virtual RefHashTableOf<XMLRefInfo>*  getIdRefList() const;
+
+    virtual void                         setIdRefList(RefHashTableOf<XMLRefInfo>* const);
+
+    virtual void                         clearIdRefList();
+
+    virtual void                         addId(const XMLCh * const );
+
+    virtual void                         addIdRef(const XMLCh * const );
+
+    virtual void                         toCheckIdRefList(bool);
+
+    /**
+      * EntityDeclPool
+      *
+      */
+    virtual const NameIdPool<DTDEntityDecl>* getEntityDeclPool() const;
+
+    virtual const NameIdPool<DTDEntityDecl>* setEntityDeclPool(const NameIdPool<DTDEntityDecl>* const);    
+           
+    virtual void                             checkEntity(const XMLCh * const ) const;
+
+
+    /**
+      * Union datatype handling
+      *
+      */
+
+    virtual DatatypeValidator * getValidatingMemberType() const;
+    virtual void setValidatingMemberType(DatatypeValidator * validatingMemberType) ;
+
+    /**
+      * QName datatype handling
+      * Create default implementations for source code compatibility
+      */
+    virtual bool isPrefixUnknown(XMLCh* prefix);
+    virtual void setElemStack(ElemStack* elemStack);
+
+    //@}
+  
+private:
+    // -----------------------------------------------------------------------
+    /** name  Unimplemented copy constructor and operator= */
+    // -----------------------------------------------------------------------
+    //@{
+    ValidationContextImpl(const ValidationContextImpl& );
+    ValidationContextImpl& operator=(const ValidationContextImpl& );
+    //@}
+
+    // -----------------------------------------------------------------------
+    //  Data members
+    //
+    //  fIDRefList:  owned/adopted
+    //      This is a list of XMLRefInfo objects. This member lets us do all
+    //      needed ID-IDREF balancing checks.
+    //
+    //  fEntityDeclPool: referenced only
+    //      This is a pool of EntityDecl objects, which contains all of the
+    //      general entities that are declared in the DTD subsets, plus the
+    //      default entities (such as &gt; &lt; ...) defined by the XML Standard.
+    //
+    //  fToAddToList
+    //  fValidatingMemberType
+    //      The member type in a union that actually
+    //      validated some text.  Note that the validationContext does not
+    //      own this object, and the value of getValidatingMemberType
+    //      will not be accurate unless the type of the most recently-validated
+    //      element/attribute is in fact a union datatype.
+    //  fElemStack
+    //      Need access to elemstack to look up URI's that are inscope.
+    // -----------------------------------------------------------------------
+
+    RefHashTableOf<XMLRefInfo>*         fIdRefList;
+    const NameIdPool<DTDEntityDecl>*    fEntityDeclPool;
+    bool                                fToCheckIdRefList;
+    DatatypeValidator *                 fValidatingMemberType;    
+    ElemStack*      fElemStack;
+
+};
+
+
+
+inline DatatypeValidator * ValidationContextImpl::getValidatingMemberType() const
+{
+    return fValidatingMemberType;
+}
+
+inline void ValidationContextImpl::setValidatingMemberType(DatatypeValidator * validatingMemberType) 
+{
+    fValidatingMemberType = validatingMemberType;
+}
+
+inline void ValidationContextImpl::setElemStack(ElemStack* elemStack) {
+    fElemStack = elemStack;
+}
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/VecAttrListImpl.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: VecAttrListImpl.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+
+#if !defined(VECATTRLISTIMPL_HPP)
+#define VECATTRLISTIMPL_HPP
+
+#include <xercesc/sax/AttributeList.hpp>
+#include <xercesc/framework/XMLAttr.hpp>
+#include <xercesc/util/RefVectorOf.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class XMLPARSER_EXPORT VecAttrListImpl : public XMemory, public AttributeList
+{
+public :
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+    VecAttrListImpl();
+    ~VecAttrListImpl();
+
+
+    // -----------------------------------------------------------------------
+    //  Implementation of the attribute list interface
+    // -----------------------------------------------------------------------
+    virtual unsigned int getLength() const;
+    virtual const XMLCh* getName(const unsigned int index) const;
+    virtual const XMLCh* getType(const unsigned int index) const;
+    virtual const XMLCh* getValue(const unsigned int index) const;
+    virtual const XMLCh* getType(const XMLCh* const name) const;
+    virtual const XMLCh* getValue(const XMLCh* const name) const;
+    virtual const XMLCh* getValue(const char* const name) const;
+
+
+    // -----------------------------------------------------------------------
+    //  Setter methods
+    // -----------------------------------------------------------------------
+    void setVector
+    (
+        const   RefVectorOf<XMLAttr>* const srcVec
+        , const unsigned int                count
+        , const bool                        adopt = false
+    );
+
+
+private :
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    VecAttrListImpl(const VecAttrListImpl&);
+    VecAttrListImpl& operator=(const VecAttrListImpl&);
+
+
+    // -----------------------------------------------------------------------
+    //  Private data members
+    //
+    //  fAdopt
+    //      Indicates whether the passed vector is to be adopted or not. If
+    //      so, we destroy it when we are destroyed (and when a new vector is
+    //      set!)
+    //
+    //  fCount
+    //      The count of elements in the vector that should be considered
+    //      valid. This is an optimization to allow vector elements to be
+    //      reused over and over but a different count of them be valid for
+    //      each use.
+    //
+    //  fVector
+    //      The vector that provides the backing for the list.
+    // -----------------------------------------------------------------------
+    bool                        fAdopt;
+    unsigned int                fCount;
+    const RefVectorOf<XMLAttr>* fVector;
+};
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/VecAttributesImpl.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: VecAttributesImpl.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+
+#if !defined(VECATTRIBUTESIMPL_HPP)
+#define VECATTRIBUTESIMPL_HPP
+
+#include <xercesc/sax2/Attributes.hpp>
+#include <xercesc/framework/XMLAttr.hpp>
+#include <xercesc/util/RefVectorOf.hpp>
+#include <xercesc/internal/XMLScanner.hpp>
+#include <xercesc/framework/XMLBuffer.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class XMLPARSER_EXPORT VecAttributesImpl : public Attributes
+{
+public :
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+    VecAttributesImpl();
+    ~VecAttributesImpl();
+
+
+    // -----------------------------------------------------------------------
+    //  Implementation of the attributes interface
+    // -----------------------------------------------------------------------
+    virtual unsigned int getLength() const ;
+
+	virtual const XMLCh* getURI(const unsigned int index) const;
+    virtual const XMLCh* getLocalName(const unsigned int index) const ;
+    virtual const XMLCh* getQName(const unsigned int index) const ;
+    virtual const XMLCh* getType(const unsigned int index) const ;
+    virtual const XMLCh* getValue(const unsigned int index) const ;
+
+	virtual int getIndex(const XMLCh* const uri, const XMLCh* const localPart ) const  ;
+	virtual int getIndex(const XMLCh* const qName ) const  ;
+
+	virtual const XMLCh* getType(const XMLCh* const uri, const XMLCh* const localPart ) const  ;
+    virtual const XMLCh* getType(const XMLCh* const qName) const ;
+
+    virtual const XMLCh* getValue(const XMLCh* const qName) const;
+	virtual const XMLCh* getValue(const XMLCh* const uri, const XMLCh* const localPart ) const  ;
+
+
+    // -----------------------------------------------------------------------
+    //  Setter methods
+    // -----------------------------------------------------------------------
+    void setVector
+    (
+        const   RefVectorOf<XMLAttr>* const srcVec
+        , const unsigned int                count
+		, const XMLScanner * const		scanner
+        , const bool                        adopt = false
+    );
+
+private :
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    VecAttributesImpl(const VecAttributesImpl&);
+    VecAttributesImpl& operator=(const VecAttributesImpl&);
+
+
+    // -----------------------------------------------------------------------
+    //  Private data members
+    //
+    //  fAdopt
+    //      Indicates whether the passed vector is to be adopted or not. If
+    //      so, we destroy it when we are destroyed (and when a new vector is
+    //      set!)
+    //
+    //  fCount
+    //      The count of elements in the vector that should be considered
+    //      valid. This is an optimization to allow vector elements to be
+    //      reused over and over but a different count of them be valid for
+    //      each use.
+    //
+    //  fVector
+    //      The vector that provides the backing for the list.
+	//
+	//	fScanner
+	//		This is a pointer to the in use Scanner, so that we can resolve
+	//		namespace URIs from UriIds
+	//
+	//	fURIBuffer
+	//		A temporary buffer which is re-used when getting namespace URI's
+    // -----------------------------------------------------------------------
+    bool                        fAdopt;
+    unsigned int                fCount;
+    const RefVectorOf<XMLAttr>* fVector;
+	const XMLScanner *		fScanner ;
+	//XMLBuffer				    fURIBuffer ;
+};
+
+XERCES_CPP_NAMESPACE_END
+
+#endif // ! VECATTRIBUTESIMPL_HPP
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/WFXMLScanner.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,166 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: WFXMLScanner.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+
+#if !defined(WFXMLSCANNER_HPP)
+#define WFXMLSCANNER_HPP
+
+#include <xercesc/internal/XMLScanner.hpp>
+#include <xercesc/util/ValueHashTableOf.hpp>
+#include <xercesc/util/ValueVectorOf.hpp>
+#include <xercesc/validators/DTD/DTDElementDecl.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+
+//  This is a a non-validating scanner. No DOCTYPE or XML Schema processing
+//  will take place.
+class XMLPARSER_EXPORT WFXMLScanner : public XMLScanner
+{
+public :
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+    WFXMLScanner
+    (
+        XMLValidator* const       valToAdopt
+        , GrammarResolver* const  grammarResolver
+        , MemoryManager* const    manager = XMLPlatformUtils::fgMemoryManager
+    );
+    WFXMLScanner
+    (
+        XMLDocumentHandler* const docHandler
+        , DocTypeHandler* const   docTypeHandler
+        , XMLEntityHandler* const entityHandler
+        , XMLErrorReporter* const errReporter
+        , XMLValidator* const     valToAdopt
+        , GrammarResolver* const  grammarResolver
+        , MemoryManager* const    manager = XMLPlatformUtils::fgMemoryManager
+    );
+    virtual ~WFXMLScanner();
+
+    // -----------------------------------------------------------------------
+    //  XMLScanner public virtual methods
+    // -----------------------------------------------------------------------
+    virtual const XMLCh* getName() const;
+    virtual NameIdPool<DTDEntityDecl>* getEntityDeclPool();
+    virtual const NameIdPool<DTDEntityDecl>* getEntityDeclPool() const;
+    virtual unsigned int resolveQName
+    (
+        const   XMLCh* const        qName
+        ,       XMLBuffer&          prefixBufToFill
+        , const short               mode
+        ,       int&                prefixColonPos
+    );
+    virtual void scanDocument
+    (
+        const   InputSource&    src
+    );
+    virtual bool scanNext(XMLPScanToken& toFill);
+    virtual Grammar* loadGrammar
+    (
+        const   InputSource&    src
+        , const short           grammarType
+        , const bool            toCache = false
+    );
+
+private :
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    WFXMLScanner();
+    WFXMLScanner(const WFXMLScanner&);
+    WFXMLScanner& operator=(const WFXMLScanner&);
+
+    // -----------------------------------------------------------------------
+    //  XMLScanner virtual methods
+    // -----------------------------------------------------------------------
+    virtual void scanCDSection();
+    virtual void scanCharData(XMLBuffer& toToUse);
+    virtual EntityExpRes scanEntityRef
+    (
+        const   bool    inAttVal
+        ,       XMLCh&  firstCh
+        ,       XMLCh&  secondCh
+        ,       bool&   escaped
+    );
+    virtual void scanDocTypeDecl();
+    virtual void scanReset(const InputSource& src);
+    virtual void sendCharData(XMLBuffer& toSend);
+    virtual InputSource* resolveSystemId(const XMLCh* const sysId
+                                        ,const XMLCh* const pubId);
+
+    // -----------------------------------------------------------------------
+    //  Private helper methods
+    // -----------------------------------------------------------------------
+    void commonInit();
+    void cleanUp();
+    unsigned int resolvePrefix
+    (
+        const   XMLCh* const        prefix
+        , const ElemStack::MapModes mode
+    );
+
+    // -----------------------------------------------------------------------
+    //  Private scanning methods
+    // -----------------------------------------------------------------------
+    bool scanAttValue
+    (
+        const   XMLCh* const    attrName
+        ,       XMLBuffer&      toFill
+    );
+    bool scanContent();
+    void scanEndTag(bool& gotData);
+    bool scanStartTag(bool& gotData);
+    bool scanStartTagNS(bool& gotData);
+
+    // -----------------------------------------------------------------------
+    //  Data members
+    //
+    //  fEntityTable
+    //      This the table that contains the default entity entries.
+    //
+    //  fAttrNameHashList
+    //      This contains the hash value for attribute names. It's used when
+    //      checking for duplicate attributes.
+    //
+    //  fAttrNSList
+    //      This contains XMLAttr objects that we need to map their prefixes
+    //      to URIs when namespace is enabled.
+    //
+    // -----------------------------------------------------------------------
+    unsigned int                       fElementIndex;
+    RefVectorOf<XMLElementDecl>*       fElements;
+    ValueHashTableOf<XMLCh>*           fEntityTable;
+    ValueVectorOf<unsigned int>*       fAttrNameHashList;
+    ValueVectorOf<XMLAttr*>*           fAttrNSList;
+    RefHashTableOf<XMLElementDecl>*    fElementLookup;  
+};
+
+inline const XMLCh* WFXMLScanner::getName() const
+{
+    return XMLUni::fgWFXMLScanner;
+}
+
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XMLGrammarPoolImpl.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,303 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: XMLGrammarPoolImpl.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(XMLGrammarPoolImplIMPL_HPP)
+#define XMLGrammarPoolImplIMPL_HPP
+
+#include <xercesc/framework/XMLGrammarPool.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class XMLSynchronizedStringPool;
+
+class XMLUTIL_EXPORT XMLGrammarPoolImpl : public XMLGrammarPool
+{
+public :
+    // -----------------------------------------------------------------------
+    /** @name constructor and destructor */
+    // -----------------------------------------------------------------------
+    //@{
+
+    XMLGrammarPoolImpl(MemoryManager* const memMgr);
+
+    ~XMLGrammarPoolImpl();
+    //@}
+
+    // -----------------------------------------------------------------------
+    /** @name Implementation of Grammar Pool Interface */
+    // -----------------------------------------------------------------------
+    //@{
+   
+    /**
+      * cacheGrammar
+      *
+      * Provide the grammar pool with an opportunity
+      * to cache the given grammar.  If the pool does not choose to do so,
+      * it should return false; otherwise, it should return true, so that
+      * the caller knows whether the grammar has been adopted.
+      *
+      * @param gramToCache: the Grammar to be cached in the grammar pool
+      * @return true if the grammar pool has elected to cache the grammar (in which case
+      * it is assumed to have adopted it); false if it does not cache it
+	  *
+      */
+    virtual bool           cacheGrammar(Grammar* const               gramToCache);
+    
+
+    /**
+      * retrieveGrammar
+      *
+      * @param gramDesc: the Grammar Description used to search for grammar
+	  *                  cached in the grammar pool
+	  *
+      */
+    virtual Grammar*       retrieveGrammar(XMLGrammarDescription* const gramDesc);
+    
+        
+    /**
+      * orphanGrammar
+      *
+	  * grammar removed from the grammar pool and owned by the caller
+      *
+      * @param nameSpaceKey: Key used to search for grammar in the grammar pool
+	  *
+      */
+    virtual Grammar*       orphanGrammar(const XMLCh* const nameSpaceKey);  
+
+
+    /**
+     * Get an enumeration of the cached Grammars in the Grammar pool
+     *
+     * @return enumeration of the cached Grammars in Grammar pool
+     */
+    virtual RefHashTableOfEnumerator<Grammar> getGrammarEnumerator() const;
+
+    /**
+      * clear
+      *
+	  * all grammars are removed from the grammar pool and deleted.
+      * @return true if the grammar pool was cleared. false if it did not.
+      */
+    virtual bool           clear();
+        
+    /**
+      * lockPool
+      *
+	  * When this method is called by the application, the 
+      * grammar pool should stop adding new grammars to the cache.
+      */
+    virtual void           lockPool();
+    
+    /**
+      * unlockPool
+      *
+	  * After this method has been called, the grammar pool implementation
+      * should return to its default behaviour when cacheGrammars(...) is called.
+      *
+      * For PSVI support any previous XSModel that was produced will be deleted.
+      */
+    virtual void           unlockPool();
+
+    //@}
+
+    // -----------------------------------------------------------------------
+    /** @name  Implementation of Factory interface */
+    // -----------------------------------------------------------------------
+    //@{
+
+    /**
+      * createDTDGrammar
+      *
+      */
+    virtual DTDGrammar*            createDTDGrammar();
+
+    /**
+      * createSchemaGrammar
+      *
+      */
+    virtual SchemaGrammar*         createSchemaGrammar();
+                    
+    /**
+      * createDTDDescription
+      *
+      */	
+    virtual XMLDTDDescription*     createDTDDescription(const XMLCh* const systemId);
+    /**
+      * createSchemaDescription
+      *
+      */		
+    virtual XMLSchemaDescription*  createSchemaDescription(const XMLCh* const targetNamespace);
+    //@}
+	
+    // -----------------------------------------------------------------------
+    /** @name  schema component model support */
+    // -----------------------------------------------------------------------                                                        
+    //@{
+
+    /***
+      * Return an XSModel derived from the components of all SchemaGrammars
+      * in the grammar pool.  If the pool is locked, this should
+      * be a thread-safe operation.  It should return null if and only if
+      * the pool is empty.
+      *
+      * Calling getXSModel() on an unlocked grammar pool may result in the
+      * creation of a new XSModel with the old XSModel being deleted.  The
+      * function will return a different address for the XSModel if it has
+      * changed.
+      *
+      * In this implementation, when the pool is not locked a new XSModel will be
+      * computed each this time the pool is called if the pool has changed (and the
+      * previous one will be destroyed at that time).  When the lockPool()
+      * method is called, an XSModel will be generated and returned whenever this method is called
+      * while the pool is in the locked state.  This will be destroyed if the unlockPool()
+      * operation is called.  The XSModel will not be serialized,
+      * but will be recreated if a deserialized pool is in the 
+      * locked state.
+      *
+      * @deprecated (shouldn't use address to determine if XSModel changed)
+      */
+    virtual XSModel *getXSModel();
+
+    /***
+      * Return an XSModel derived from the components of all SchemaGrammars
+      * in the grammar pool.  If the pool is locked, this should
+      * be a thread-safe operation.  
+      *
+      * NOTE: The function should NEVER return NULL.  If there are no grammars in
+      *       the pool it should return an XSModel containing the Schema for Schema.
+      *
+      * Calling getXSModel() on an unlocked grammar pool may result in the
+      * creation of a new XSModel with the old XSModel being deleted.
+      * The bool parameter will indicate if the XSModel was changed.
+      *  
+      * In this implementation, when the pool is not locked a new XSModel will be
+      * computed each this time the pool is called if the pool has changed (and the
+      * previous one will be destroyed at that time).  When the lockPool()
+      * method is called, an XSModel will be generated and returned whenever this method is called
+      * while the pool is in the locked state.  This will be destroyed if the unlockPool()
+      * operation is called.  The XSModel will not be serialized,
+      * but will be recreated if a deserialized pool is in the 
+      * locked state.
+      *      
+      */
+    virtual XSModel *getXSModel(bool& XSModelWasChanged);
+
+    // @}
+    // -----------------------------------------------------------------------
+    /** @name  Getter */
+    // -----------------------------------------------------------------------                                                        
+    //@{
+
+    /**
+      * Return an XMLStringPool for use by validation routines.  
+      * Implementations should not create a string pool on each call to this
+      * method, but should maintain one string pool for all grammars
+      * for which this pool is responsible.
+      */
+    virtual XMLStringPool *getURIStringPool();
+
+    // @}
+
+    // -----------------------------------------------------------------------
+    // serialization and deserialization support
+    // -----------------------------------------------------------------------
+
+    /***
+      *
+      * Multiple serializations
+      *
+      *    For multiple serializations, if the same file name is given, then the 
+      *    last result will be in the file (overwriting mode), if different file 
+      *    names are given, then there are multiple data stores for each serialization.
+      *
+      * Multiple deserializations
+      * 
+      *    Not supported
+      *
+      * Versioning
+      *
+      *    Only binary data serialized with the current XercesC Version and
+      *    SerializationLevel is supported.
+      *
+      * Clean up
+      *
+      *    In the event of an exception thrown due to a corrupted data store during 
+      *    deserialization, this implementation may not be able to clean up all resources 
+      *    allocated, and therefore it is the client application's responsibility to 
+      *    clean up those unreleased resources.
+      *
+      * Coupling of Grammars and StringPool
+      *
+      *    This implementation assumes that StringPool shall always be 
+      *    serialized/deserialized together with the grammars. In the case that such a
+      *    coupling is not desired, client application can modify this behaviour by 
+      *    either derivate from this imlementation and overwrite the serializeGrammars()
+      *    and/or deserializeGrammars() to decouple grammars and string pool, or
+      *    Once deserializeGrammars() is done, insert another StringPool through
+      *    setStringPool().
+      *
+      *    Client application shall be aware of the unpredicatable/undefined consequence 
+      *    of this decoupling.
+      */
+
+    virtual void     serializeGrammars(BinOutputStream* const); 
+    virtual void     deserializeGrammars(BinInputStream* const); 
+
+private:
+
+    virtual void    createXSModel();
+
+    void
+    cleanUp();
+
+    // -----------------------------------------------------------------------
+    /** name  Unimplemented copy constructor and operator= */
+    // -----------------------------------------------------------------------
+    //@{
+    XMLGrammarPoolImpl(const XMLGrammarPoolImpl& );
+    XMLGrammarPoolImpl& operator=(const XMLGrammarPoolImpl& );
+    //@}
+
+    // -----------------------------------------------------------------------
+    //
+    // fGrammarRegistry: 
+    //
+	//    container
+    // fStringPool
+    //    grammars need a string pool for URI -> int mappings
+    // fSynchronizedStringPool
+    //      When the grammar pool is locked, provide a string pool
+    //      that can be updated in a thread-safe manner.
+    // fLocked
+    //      whether the pool has been locked
+    //
+    // -----------------------------------------------------------------------
+    RefHashTableOf<Grammar>*            fGrammarRegistry; 
+    XMLStringPool*                      fStringPool;
+    XMLSynchronizedStringPool*          fSynchronizedStringPool;
+    XSModel*                            fXSModel;
+    bool                                fLocked;
+    bool                                fXSModelIsValid;
+};
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XMLInternalErrorHandler.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,139 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: XMLInternalErrorHandler.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(XMLINTERNALERRORHANDLER_HPP)
+#define XMLINTERNALERRORHANDLER_HPP
+
+#include <xercesc/util/XercesDefs.hpp>
+#include <xercesc/sax/ErrorHandler.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class XMLInternalErrorHandler : public ErrorHandler
+{
+public:
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+    XMLInternalErrorHandler(ErrorHandler* userHandler = 0) :
+       fSawWarning(false),
+       fSawError(false),
+       fSawFatal(false),
+       fUserErrorHandler(userHandler)
+    {
+    }
+
+    ~XMLInternalErrorHandler()
+    {
+    }
+
+    // -----------------------------------------------------------------------
+    //  Implementation of the error handler interface
+    // -----------------------------------------------------------------------
+    void warning(const SAXParseException& toCatch);
+    void error(const SAXParseException& toCatch);
+    void fatalError(const SAXParseException& toCatch);
+    void resetErrors();
+
+    // -----------------------------------------------------------------------
+    //  Getter methods
+    // -----------------------------------------------------------------------
+    bool getSawWarning() const;
+    bool getSawError() const;
+    bool getSawFatal() const;
+
+    // -----------------------------------------------------------------------
+    //  Private data members
+    //
+    //  fSawWarning
+    //      This is set if we get any warning, and is queryable via a getter
+    //      method.
+    //
+    //  fSawError
+    //      This is set if we get any errors, and is queryable via a getter
+    //      method.
+    //
+    //  fSawFatal
+    //      This is set if we get any fatal, and is queryable via a getter
+    //      method.
+    //
+    //  fUserErrorHandler
+    //      This is the error handler from user
+    // -----------------------------------------------------------------------
+    bool    fSawWarning;
+    bool    fSawError;
+    bool    fSawFatal;
+    ErrorHandler* fUserErrorHandler;
+
+private:
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    XMLInternalErrorHandler(const XMLInternalErrorHandler&);
+    XMLInternalErrorHandler& operator=(const XMLInternalErrorHandler&);
+};
+
+inline bool XMLInternalErrorHandler::getSawWarning() const
+{
+    return fSawWarning;
+}
+
+inline bool XMLInternalErrorHandler::getSawError() const
+{
+    return fSawError;
+}
+
+inline bool XMLInternalErrorHandler::getSawFatal() const
+{
+    return fSawFatal;
+}
+
+inline void XMLInternalErrorHandler::warning(const SAXParseException& toCatch)
+{
+    fSawWarning = true;
+    if (fUserErrorHandler)
+        fUserErrorHandler->warning(toCatch);
+}
+
+inline void XMLInternalErrorHandler::error(const SAXParseException& toCatch)
+{
+    fSawError = true;
+    if (fUserErrorHandler)
+        fUserErrorHandler->error(toCatch);
+}
+
+inline void XMLInternalErrorHandler::fatalError(const SAXParseException& toCatch)
+{
+    fSawFatal = true;
+    if (fUserErrorHandler)
+        fUserErrorHandler->fatalError(toCatch);
+}
+
+inline void XMLInternalErrorHandler::resetErrors()
+{
+    fSawWarning = false;
+    fSawError = false;
+    fSawFatal = false;
+}
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XMLReader.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,783 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: XMLReader.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(XMLREADER_HPP)
+#define XMLREADER_HPP
+
+#include <xercesc/util/XMLChar.hpp>
+#include <xercesc/framework/XMLRecognizer.hpp>
+#include <xercesc/framework/XMLBuffer.hpp>
+#include <xercesc/util/TranscodingException.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class InputSource;
+class BinInputStream;
+class ReaderMgr;
+class XMLScanner;
+class XMLTranscoder;
+
+
+// ---------------------------------------------------------------------------
+//  Instances of this class are used to manage the content of entities. The
+//  scanner maintains a stack of these, one for each entity (this means entity
+//  in the sense of any parsed file or internal entity) currently being
+//  scanned. This class, given a binary input stream will handle reading in
+//  the data and decoding it from its external decoding into the internal
+//  Unicode format. Once internallized, this class provides the access
+//  methods to read in the data in various ways, maintains line and column
+//  information, and provides high performance character attribute checking
+//  methods.
+//
+//  This is NOT to be derived from.
+//
+// ---------------------------------------------------------------------------
+class XMLPARSER_EXPORT XMLReader : public XMemory
+{
+public:
+    // -----------------------------------------------------------------------
+    //  Public types
+    // -----------------------------------------------------------------------
+    enum Types
+    {
+        Type_PE
+        , Type_General
+    };
+
+    enum Sources
+    {
+        Source_Internal
+        , Source_External
+    };
+
+    enum RefFrom
+    {
+        RefFrom_Literal
+        , RefFrom_NonLiteral
+    };
+
+    enum XMLVersion
+    {
+        XMLV1_0
+        , XMLV1_1
+        , XMLV_Unknown
+    };
+
+
+    // -----------------------------------------------------------------------
+    //  Public, query methods
+    // -----------------------------------------------------------------------
+    bool isAllSpaces
+    (
+        const   XMLCh* const    toCheck
+        , const unsigned int    count
+    ) const;
+
+    bool containsWhiteSpace
+    (
+        const   XMLCh* const    toCheck
+        , const unsigned int    count
+    ) const;
+
+
+    bool isXMLLetter(const XMLCh toCheck) const;
+    bool isFirstNameChar(const XMLCh toCheck) const;
+    bool isNameChar(const XMLCh toCheck) const;    
+    bool isPlainContentChar(const XMLCh toCheck) const;
+    bool isSpecialStartTagChar(const XMLCh toCheck) const;
+    bool isXMLChar(const XMLCh toCheck) const;
+    bool isWhitespace(const XMLCh toCheck) const;
+    bool isControlChar(const XMLCh toCheck) const;
+    bool isPublicIdChar(const XMLCh toCheck) const;
+    bool isFirstNCNameChar(const XMLCh toCheck) const;
+    bool isNCNameChar(const XMLCh toCheck) const;    
+
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+    XMLReader
+    (
+        const   XMLCh* const          pubId
+        , const XMLCh* const          sysId
+        ,       BinInputStream* const streamToAdopt
+        , const RefFrom               from
+        , const Types                 type
+        , const Sources               source
+        , const bool                  throwAtEnd = false
+        , const bool                  calculateSrcOfs = true
+        , const XMLVersion            xmlVersion = XMLV1_0
+        ,       MemoryManager* const  manager = XMLPlatformUtils::fgMemoryManager
+    );
+
+    XMLReader
+    (
+        const   XMLCh* const          pubId
+        , const XMLCh* const          sysId
+        ,       BinInputStream* const streamToAdopt
+        , const XMLCh* const          encodingStr
+        , const RefFrom               from
+        , const Types                 type
+        , const Sources               source
+        , const bool                  throwAtEnd = false
+        , const bool                  calculateSrcOfs = true
+        , const XMLVersion            xmlVersion = XMLV1_0
+        ,       MemoryManager* const  manager = XMLPlatformUtils::fgMemoryManager
+    );
+
+    XMLReader
+    (
+        const   XMLCh* const          pubId
+        , const XMLCh* const          sysId
+        ,       BinInputStream* const streamToAdopt
+        , XMLRecognizer::Encodings    encodingEnum
+        , const RefFrom               from
+        , const Types                 type
+        , const Sources               source
+        , const bool                  throwAtEnd = false
+        , const bool                  calculateSrcOfs = true
+        , const XMLVersion            xmlVersion = XMLV1_0
+        ,       MemoryManager* const  manager = XMLPlatformUtils::fgMemoryManager
+    );
+
+    ~XMLReader();
+
+
+    // -----------------------------------------------------------------------
+    //  Character buffer management methods
+    // -----------------------------------------------------------------------
+    unsigned long charsLeftInBuffer() const;
+    bool refreshCharBuffer();
+
+
+    // -----------------------------------------------------------------------
+    //  Scanning methods
+    // -----------------------------------------------------------------------
+    bool getName(XMLBuffer& toFill, const bool token);
+    bool getQName(XMLBuffer& toFill, int* colonPosition);
+    bool getNextChar(XMLCh& chGotten);
+    bool getNextCharIfNot(const XMLCh chNotToGet, XMLCh& chGotten);
+    void movePlainContentChars(XMLBuffer &dest);
+    bool getSpaces(XMLBuffer& toFill);
+    bool getUpToCharOrWS(XMLBuffer& toFill, const XMLCh toCheck);
+    bool peekNextChar(XMLCh& chGotten);
+    bool skipIfQuote(XMLCh& chGotten);
+    bool skipSpaces(bool& skippedSomething, bool inDecl = false);
+    bool skippedChar(const XMLCh toSkip);
+    bool skippedSpace();
+    bool skippedString(const XMLCh* const toSkip);
+    bool peekString(const XMLCh* const toPeek);
+
+
+    // -----------------------------------------------------------------------
+    //  Getter methods
+    // -----------------------------------------------------------------------
+    XMLSSize_t getColumnNumber() const;
+    const XMLCh* getEncodingStr() const;
+    XMLSSize_t getLineNumber() const;
+    bool getNoMoreFlag() const;
+    const XMLCh* getPublicId() const;
+    unsigned int getReaderNum() const;
+    RefFrom getRefFrom() const;
+    Sources getSource() const;
+    unsigned int getSrcOffset() const;
+    const XMLCh* getSystemId() const;
+    bool getThrowAtEnd() const;
+    Types getType() const;
+
+
+    // -----------------------------------------------------------------------
+    //  Setter methods
+    // -----------------------------------------------------------------------
+    bool setEncoding
+    (
+        const   XMLCh* const    newEncoding
+    );
+    void setReaderNum(const unsigned int newNum);
+    void setThrowAtEnd(const bool newValue);
+    void setXMLVersion(const XMLVersion version);
+
+
+private:
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    XMLReader(const XMLReader&);
+    XMLReader& operator=(const XMLReader&);
+
+    // ---------------------------------------------------------------------------
+    //  Class Constants
+    //
+    //  kCharBufSize
+    //      The size of the character spool buffer that we use. Its not terribly
+    //      large because its just getting filled with data from a raw byte
+    //      buffer as we go along. We don't want to decode all the text at
+    //      once before we find out that there is an error.
+    //
+    //      NOTE: This is a size in characters, not bytes.
+    //
+    //  kRawBufSize
+    //      The size of the raw buffer from which raw bytes are spooled out
+    //      as we transcode chunks of data. As it is emptied, it is filled back
+    //      in again from the source stream.
+    // ---------------------------------------------------------------------------
+    enum Constants
+    {
+        kCharBufSize        = 16 * 1024
+        , kRawBufSize       = 48 * 1024
+    };
+
+
+    // -----------------------------------------------------------------------
+    //  Private helper methods
+    // -----------------------------------------------------------------------
+    void checkForSwapped();
+
+    void doInitCharSizeChecks();
+
+    void doInitDecode();
+
+    XMLByte getNextRawByte
+    (
+        const   bool            eoiOk
+    );
+
+    void refreshRawBuffer();
+
+    void setTranscoder
+    (
+        const   XMLCh* const    newEncoding
+    );
+
+    unsigned int xcodeMoreChars
+    (
+                XMLCh* const            bufToFill
+        ,       unsigned char* const    charSizes
+        , const unsigned int            maxChars
+    );
+
+    void handleEOL
+    (
+              XMLCh&   curCh
+            , bool     inDecl = false
+    );
+
+    // -----------------------------------------------------------------------
+    //  Data members
+    //
+    //  fCharIndex
+    //      The index into the character buffer. When this hits fCharsAvail
+    //      then its time to refill.
+    //
+    //  fCharBuf
+    //      A buffer that the reader manager fills up with transcoded
+    //      characters a small amount at a time.
+    //
+    //  fCharsAvail
+    //      The characters currently available in the character buffer.
+    //
+    //  fCharSizeBuf
+    //      This buffer is an array that contains the number of source chars
+    //      eaten to create each char in the fCharBuf buffer. So the entry
+    //      fCharSizeBuf[x] is the number of source chars that were eaten
+    //      to make the internalized char fCharBuf[x]. This only contains
+    //      useful data if fSrcOfsSupported is true.
+    //
+    //  fCharOfsBuf
+    //      This buffer is an array that contains the offset in the
+    //      fRawByteBuf buffer of each char in the fCharBuf buffer. It
+    //      only contains useful data if fSrcOfsSupported is true.
+    //
+    //  fCurCol
+    //  fCurLine
+    //      The current line and column that we are in within this reader's
+    //      text.
+    //
+    //  fEncoding
+    //      This is the rough encoding setting. This enum is set during
+    //      construction and just tells us the rough family of encoding that
+    //      we are doing.
+    //
+    //  fEncodingStr
+    //      This is the name of the encoding we are using. It will be
+    //      provisionally set during construction, from the auto-sensed
+    //      encoding. But it might be overridden when the XMLDecl is finally
+    //      seen by the scanner. It can also be forced to a particular
+    //      encoding, in which case fForcedEncoding is set.
+    //
+    //  fForcedEncoding
+    //      If the encoding if forced then this is set and all other
+    //      information will be ignored. This encoding will be taken as
+    //      gospel. This is done by calling an alternate constructor.
+    //
+    //  fNoMore
+    //      This is set when the source text is exhausted. It lets us know
+    //      quickly that no more text is available.
+    //
+    //  fRawBufIndex
+    //      The current index into the raw byte buffer. When its equal to
+    //      fRawBytesAvail then we need to read another buffer.
+    //
+    //  fRawByteBuf
+    //      This is the raw byte buffer that is used to spool out bytes
+    //      from into the fCharBuf buffer, as we transcode in blocks.
+    //
+    //  fRawBytesAvail
+    //      The number of bytes currently available in the raw buffer. This
+    //      helps deal with the last buffer's worth, which will usually not
+    //      be a full one.
+    //
+    //  fReaderNum
+    //      Each reader from a particular reader manager (which means from a
+    //      particular document) is given a unique number. The reader manager
+    //      sets these numbers. They are used to catch things like partial
+    //      markup errors.
+    //
+    //  fRefFrom
+    //      This flag is provided in the ctor, and tells us if we represent
+    //      some entity being expanded inside a literal. Sometimes things
+    //      happen differently inside and outside literals.
+    //
+    //  fPublicId
+    //  fSystemId
+    //      These are the system and public ids of the source that this
+    //      reader is reading.
+    //
+    //  fSentTrailingSpace
+    //      If we are a PE entity being read and we not referenced from a
+    //      literal, then a leading and trailing space must be faked into the
+    //      data. This lets us know we've done the trailing space already (so
+    //      we don't just keep doing it again and again.)
+    //
+    //  fSource
+    //      Indicates whether the content this reader is spooling as already
+    //      been internalized. This will prevent multiple processing of
+    //      whitespace when an already internalized entity is being spooled
+    //      out.
+    //
+    //  fSpareChar
+    //      Some encodings can create two chars in an atomic way, e.g.
+    //      surrogate pairs. We might not be able to store both, so we store
+    //      it here until the next buffer transcoding operation.
+    //
+    //  fSrcOfsBase
+    //      This is the base offset within the source of this entity. Values
+    //      in the curent fCharSizeBuf array are relative to this value.
+    //
+    //  fSrcOfsSupported
+    //      This flag is set to indicate whether source byte offset info
+    //      is supported. For intrinsic encodings, its always set since we
+    //      can always support it. For transcoder based encodings, we ask
+    //      the transcoder if it supports it or not.
+    //
+    //  fStream
+    //      This is the input stream that provides the data for the reader.
+    //      Its always treated as a raw byte stream. The derived class will
+    //      ask for buffers of text from it and will handle making some
+    //      sense of it.
+    //
+    //  fSwapped
+    //      If the encoding is one of the ones we do intrinsically, and its
+    //      in a different byte order from our native order, then this is
+    //      set to remind us to byte swap it during transcoding.
+    //
+    //  fThrowAtEnd
+    //      Indicates whether the reader manager should throw an end of entity
+    //      exception at the end of this reader instance. This is usually
+    //      set for top level external entity references. It overrides the
+    //      reader manager's global flag that controls throwing at the end
+    //      of entities. Defaults to false.
+    //
+    //  fTranscoder
+    //      If the encoding is not one that we handle intrinsically, then
+    //      we use an an external transcoder to do it. This class is an
+    //      abstraction that allows us to use pluggable external transcoding
+    //      services (via XMLTransService in util.)
+    //
+    //  fType
+    //      Indicates whether this reader represents a PE or not. If this
+    //      flag is true and the fInLiteral flag is false, then we will put
+    //      out an extra space at the end.
+    //
+    //  fgCharCharsTable;
+    //      Pointer to XMLChar table, depends on XML version
+    //
+    //  fNEL
+    //      Boolean indicates if NEL and LSEP should be recognized as NEL
+    //
+    //  fXMLVersion
+    //      Enum to indicate if this Reader is conforming to XML 1.0 or XML 1.1
+    // -----------------------------------------------------------------------
+    unsigned int                fCharIndex;
+    XMLCh                       fCharBuf[kCharBufSize];
+    unsigned int                fCharsAvail;
+    unsigned char               fCharSizeBuf[kCharBufSize];
+    unsigned int                fCharOfsBuf[kCharBufSize];
+    XMLSSize_t                  fCurCol;
+    XMLSSize_t                  fCurLine;
+    XMLRecognizer::Encodings    fEncoding;
+    XMLCh*                      fEncodingStr;
+    bool                        fForcedEncoding;
+    bool                        fNoMore;
+    XMLCh*                      fPublicId;
+    unsigned int                fRawBufIndex;
+    XMLByte                     fRawByteBuf[kRawBufSize];
+    unsigned int                fRawBytesAvail;
+    unsigned int                fReaderNum;
+    RefFrom                     fRefFrom;
+    bool                        fSentTrailingSpace;
+    Sources                     fSource;
+    unsigned int                fSrcOfsBase;
+    bool                        fSrcOfsSupported;
+    bool                        fCalculateSrcOfs;
+    XMLCh*                      fSystemId;
+    BinInputStream*             fStream;
+    bool                        fSwapped;
+    bool                        fThrowAtEnd;
+    XMLTranscoder*              fTranscoder;
+    Types                       fType;
+    XMLByte*                    fgCharCharsTable;
+    bool                        fNEL;
+    XMLVersion                  fXMLVersion;
+    MemoryManager*              fMemoryManager;
+};
+
+
+// ---------------------------------------------------------------------------
+//  XMLReader: Public, query methods
+// ---------------------------------------------------------------------------
+inline bool XMLReader::isNameChar(const XMLCh toCheck) const
+{
+    return ((fgCharCharsTable[toCheck] & gNameCharMask) != 0);
+}
+
+inline bool XMLReader::isNCNameChar(const XMLCh toCheck) const
+{
+    return ((fgCharCharsTable[toCheck] & gNCNameCharMask) != 0);
+}
+
+inline bool XMLReader::isPlainContentChar(const XMLCh toCheck) const
+{
+    return ((fgCharCharsTable[toCheck] & gPlainContentCharMask) != 0);
+}
+
+
+inline bool XMLReader::isFirstNameChar(const XMLCh toCheck) const
+{
+    return ((fgCharCharsTable[toCheck] & gFirstNameCharMask) != 0);
+}
+
+inline bool XMLReader::isFirstNCNameChar(const XMLCh toCheck) const
+{
+    return (((fgCharCharsTable[toCheck] & gFirstNameCharMask) != 0) 
+            && (toCheck != chColon));
+}
+
+inline bool XMLReader::isSpecialStartTagChar(const XMLCh toCheck) const
+{
+    return ((fgCharCharsTable[toCheck] & gSpecialStartTagCharMask) != 0);
+}
+
+inline bool XMLReader::isXMLChar(const XMLCh toCheck) const
+{
+    return ((fgCharCharsTable[toCheck] & gXMLCharMask) != 0);
+}
+
+inline bool XMLReader::isXMLLetter(const XMLCh toCheck) const
+{
+    return (((fgCharCharsTable[toCheck] & gFirstNameCharMask) != 0)
+            && (toCheck != chColon) && (toCheck != chUnderscore));
+}
+
+inline bool XMLReader::isWhitespace(const XMLCh toCheck) const
+{
+    return ((fgCharCharsTable[toCheck] & gWhitespaceCharMask) != 0);
+}
+
+inline bool XMLReader::isControlChar(const XMLCh toCheck) const
+{
+    return ((fgCharCharsTable[toCheck] & gControlCharMask) != 0);
+}
+
+// ---------------------------------------------------------------------------
+//  XMLReader: Buffer management methods
+// ---------------------------------------------------------------------------
+inline unsigned long XMLReader::charsLeftInBuffer() const
+{
+    return fCharsAvail - fCharIndex;
+}
+
+
+// ---------------------------------------------------------------------------
+//  XMLReader: Getter methods
+// ---------------------------------------------------------------------------
+inline XMLSSize_t XMLReader::getColumnNumber() const
+{
+    return fCurCol;
+}
+
+inline const XMLCh* XMLReader::getEncodingStr() const
+{
+    return fEncodingStr;
+}
+
+inline XMLSSize_t XMLReader::getLineNumber() const
+{
+    return fCurLine;
+}
+
+inline bool XMLReader::getNoMoreFlag() const
+{
+    return fNoMore;
+}
+
+inline const XMLCh* XMLReader::getPublicId() const
+{
+    return fPublicId;
+}
+
+inline unsigned int XMLReader::getReaderNum() const
+{
+    return fReaderNum;
+}
+
+inline XMLReader::RefFrom XMLReader::getRefFrom() const
+{
+    return fRefFrom;
+}
+
+inline XMLReader::Sources XMLReader::getSource() const
+{
+    return fSource;
+}
+
+inline const XMLCh* XMLReader::getSystemId() const
+{
+    return fSystemId;
+}
+
+inline bool XMLReader::getThrowAtEnd() const
+{
+    return fThrowAtEnd;
+}
+
+inline XMLReader::Types XMLReader::getType() const
+{
+    return fType;
+}
+
+// ---------------------------------------------------------------------------
+//  XMLReader: Setter methods
+// ---------------------------------------------------------------------------
+inline void XMLReader::setReaderNum(const unsigned int newNum)
+{
+    fReaderNum = newNum;
+}
+
+inline void XMLReader::setThrowAtEnd(const bool newValue)
+{
+    fThrowAtEnd = newValue;
+}
+
+inline void XMLReader::setXMLVersion(const XMLVersion version)
+{
+    fXMLVersion = version;
+    if (version == XMLV1_1) {
+        fNEL = true;
+        fgCharCharsTable = XMLChar1_1::fgCharCharsTable1_1;
+    }
+    else {
+        fNEL = XMLChar1_0::enableNEL;
+        fgCharCharsTable = XMLChar1_0::fgCharCharsTable1_0;
+    }
+
+}
+
+
+
+// ---------------------------------------------------------------------------
+//
+//  XMLReader: movePlainContentChars()
+//
+//       Move as many plain (no special handling of any sort required) content
+//       characters as possible from this reader to the supplied destination buffer.
+//
+//       This is THE hottest performance spot in the parser.
+//
+// ---------------------------------------------------------------------------
+inline void XMLReader::movePlainContentChars(XMLBuffer &dest)
+{
+    unsigned int count = fCharIndex;
+
+    while (fCharIndex < fCharsAvail)
+    {
+        if (!isPlainContentChar(fCharBuf[fCharIndex]))
+            break;
+        fCharIndex++;
+    }
+
+    if (count != fCharIndex)
+    {
+        fCurCol    += (fCharIndex - count);
+        dest.append(&fCharBuf[count], fCharIndex - count);
+    }
+}
+
+
+// ---------------------------------------------------------------------------
+//  XMLReader: getNextCharIfNot() method inlined for speed
+// ---------------------------------------------------------------------------
+inline bool XMLReader::getNextCharIfNot(const XMLCh chNotToGet, XMLCh& chGotten)
+{
+    //
+    //  See if there is at least a char in the buffer. Else, do the buffer
+    //  reload logic.
+    //
+    if (fCharIndex >= fCharsAvail)
+    {
+        // If fNoMore is set, then we have nothing else to give
+        if (fNoMore)
+            return false;
+
+        // Try to refresh
+        if (!refreshCharBuffer())
+            return false;
+    }
+
+    // Check the next char
+    if (fCharBuf[fCharIndex] == chNotToGet)
+        return false;
+
+    // Its not the one we want to skip so bump the index
+    chGotten = fCharBuf[fCharIndex++];
+
+    // Handle end of line normalization and line/col member maintenance.
+    //
+    // we can have end-of-line combinations with a leading
+    // chCR(xD), chLF(xA), chNEL(x85), or chLineSeparator(x2028)
+    //
+    // 0000000000001101 chCR
+    // 0000000000001010 chLF
+    // 0000000010000101 chNEL
+    // 0010000000101000 chLineSeparator
+    // -----------------------
+    // 1101111101010000 == ~(chCR|chLF|chNEL|chLineSeparator)
+    //
+    // if the result of the logical-& operation is
+    // true  : 'curCh' can not be chCR, chLF, chNEL or chLineSeparator
+    // false : 'curCh' can be chCR, chLF, chNEL or chLineSeparator
+    //
+    if ( chGotten & (XMLCh) ~(chCR|chLF|chNEL|chLineSeparator) )
+    {
+        fCurCol++;
+    } else
+    {
+        handleEOL(chGotten, false);
+    }
+
+    return true;
+}
+
+// ---------------------------------------------------------------------------
+//  XMLReader: getNextChar() method inlined for speed
+// ---------------------------------------------------------------------------
+inline bool XMLReader::getNextChar(XMLCh& chGotten)
+{
+    //
+    //  See if there is at least a char in the buffer. Else, do the buffer
+    //  reload logic.
+    //
+    if (fCharIndex >= fCharsAvail)
+    {
+        // If fNoMore is set, then we have nothing else to give
+        if (fNoMore)
+            return false;
+
+        // Try to refresh
+        if (!refreshCharBuffer())
+            return false;
+    }
+
+    chGotten = fCharBuf[fCharIndex++];
+
+    // Handle end of line normalization and line/col member maintenance.
+    //
+    // we can have end-of-line combinations with a leading
+    // chCR(xD), chLF(xA), chNEL(x85), or chLineSeparator(x2028)
+    //
+    // 0000000000001101 chCR
+    // 0000000000001010 chLF
+    // 0000000010000101 chNEL
+    // 0010000000101000 chLineSeparator
+    // -----------------------
+    // 1101111101010000 == ~(chCR|chLF|chNEL|chLineSeparator)
+    //
+    // if the result of the logical-& operation is
+    // true  : 'curCh' can not be chCR, chLF, chNEL or chLineSeparator
+    // false : 'curCh' can be chCR, chLF, chNEL or chLineSeparator
+    //
+    if ( chGotten & (XMLCh) ~(chCR|chLF|chNEL|chLineSeparator) )
+    {
+        fCurCol++;
+    } else
+    {
+        handleEOL(chGotten, false);
+    }
+
+    return true;
+}
+
+
+// ---------------------------------------------------------------------------
+//  XMLReader: peekNextChar() method inlined for speed
+// ---------------------------------------------------------------------------
+inline bool XMLReader::peekNextChar(XMLCh& chGotten)
+{
+    //
+    //  If there is something still in the buffer, get it. Else do the reload
+    //  scenario.
+    //
+    if (fCharIndex >= fCharsAvail)
+    {
+        // Try to refresh the buffer
+        if (!refreshCharBuffer())
+        {
+            chGotten = chNull;
+            return false;
+        }
+    }
+
+    chGotten = fCharBuf[fCharIndex];
+
+    //
+    //  Even though we are only peeking, we have to act the same as the
+    //  normal char get method in regards to newline normalization, though
+    //  its not as complicated as the actual character getting method's.
+    //
+    if ((chGotten == chCR || (fNEL && (chGotten == chNEL || chGotten == chLineSeparator)))
+        && (fSource == Source_External))
+        chGotten = chLF;
+
+    return true;
+}
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XMLScanner.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,1388 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: XMLScanner.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(XMLSCANNER_HPP)
+#define XMLSCANNER_HPP
+
+#include <xercesc/framework/XMLBufferMgr.hpp>
+#include <xercesc/framework/XMLErrorCodes.hpp>
+#include <xercesc/framework/XMLRefInfo.hpp>
+#include <xercesc/util/PlatformUtils.hpp>
+#include <xercesc/util/NameIdPool.hpp>
+#include <xercesc/util/RefHashTableOf.hpp>
+#include <xercesc/util/SecurityManager.hpp>
+#include <xercesc/internal/ReaderMgr.hpp>
+#include <xercesc/internal/ElemStack.hpp>
+#include <xercesc/validators/DTD/DTDEntityDecl.hpp>
+#include <xercesc/framework/XMLAttr.hpp>
+#include <xercesc/framework/ValidationContext.hpp>
+#include <xercesc/validators/common/GrammarResolver.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class InputSource;
+class XMLDocumentHandler;
+class XMLEntityHandler;
+class ErrorHandler;
+class DocTypeHandler;
+class XMLPScanToken;
+class XMLStringPool;
+class Grammar;
+class XMLValidator;
+class MemoryManager;
+class PSVIHandler;
+
+
+struct PSVIElemContext
+{
+    bool               fIsSpecified;
+    bool               fErrorOccurred;
+    int                fElemDepth;
+    int                fFullValidationDepth;
+    int                fNoneValidationDepth;
+    DatatypeValidator* fCurrentDV;
+    ComplexTypeInfo*   fCurrentTypeInfo;
+    const XMLCh*       fNormalizedValue;
+};
+
+//  This is the mondo scanner class, which does the vast majority of the
+//  work of parsing. It handles reading in input and spitting out events
+//  to installed handlers.
+class XMLPARSER_EXPORT XMLScanner : public XMemory, public XMLBufferFullHandler
+{
+public :
+    // -----------------------------------------------------------------------
+    //  Public class types
+    //
+    //  NOTE: These should really be private, but some of the compilers we
+    //  have to deal with are too stupid to understand this.
+    //
+    //  DeclTypes
+    //      Used by scanXMLDecl() to know what type of decl it should scan.
+    //      Text decls have slightly different rules from XMLDecls.
+    //
+    //  EntityExpRes
+    //      These are the values returned from the entity expansion method,
+    //      to indicate how it went.
+    //
+    //  XMLTokens
+    //      These represent the possible types of input we can get while
+    //      scanning content.
+    //
+    //  ValScheme
+    //      This indicates what the scanner should do in terms of validation.
+    //      'Auto' means if there is any int/ext subset, then validate. Else,
+    //      don't.
+    // -----------------------------------------------------------------------
+    enum DeclTypes
+    {
+        Decl_Text
+        , Decl_XML
+    };
+
+    enum EntityExpRes
+    {
+        EntityExp_Pushed
+        , EntityExp_Returned
+        , EntityExp_Failed
+    };
+
+    enum XMLTokens
+    {
+        Token_CData
+        , Token_CharData
+        , Token_Comment
+        , Token_EndTag
+        , Token_EOF
+        , Token_PI
+        , Token_StartTag
+        , Token_Unknown
+    };
+
+    enum ValSchemes
+    {
+        Val_Never
+        , Val_Always
+        , Val_Auto
+    };
+
+
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+    XMLScanner
+    (
+        XMLValidator* const valToAdopt
+        , GrammarResolver* const grammarResolver
+        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
+    );
+    XMLScanner
+    (
+        XMLDocumentHandler* const  docHandler
+        , DocTypeHandler* const    docTypeHandler
+        , XMLEntityHandler* const  entityHandler
+        , XMLErrorReporter* const  errReporter
+        , XMLValidator* const      valToAdopt
+        , GrammarResolver* const grammarResolver
+        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
+    );
+    virtual ~XMLScanner();
+
+
+    // -----------------------------------------------------------------------
+    //  Error emitter methods
+    // -----------------------------------------------------------------------
+    bool emitErrorWillThrowException(const XMLErrs::Codes toEmit);
+    void emitError(const XMLErrs::Codes toEmit);
+    void emitError
+    (
+        const   XMLErrs::Codes    toEmit
+        , const XMLCh* const        text1
+        , const XMLCh* const        text2 = 0
+        , const XMLCh* const        text3 = 0
+        , const XMLCh* const        text4 = 0
+    );
+    void emitError
+    (
+        const   XMLErrs::Codes    toEmit
+        , const char* const         text1
+        , const char* const         text2 = 0
+        , const char* const         text3 = 0
+        , const char* const         text4 = 0
+    );
+    void emitError
+    (
+        const   XMLErrs::Codes    toEmit
+        , const XMLExcepts::Codes   originalErrorCode
+        , const XMLCh* const        text1 = 0
+        , const XMLCh* const        text2 = 0
+        , const XMLCh* const        text3 = 0
+        , const XMLCh* const        text4 = 0
+    );
+
+    // -----------------------------------------------------------------------
+    //  Implementation of XMLBufferFullHandler interface
+    // -----------------------------------------------------------------------
+
+    virtual bool bufferFull(XMLBuffer& toSend)
+    {
+        sendCharData(toSend);
+        return true;
+    }
+
+    virtual Grammar::GrammarType getCurrentGrammarType() const;
+
+    // -----------------------------------------------------------------------
+    //  Public pure virtual methods
+    // -----------------------------------------------------------------------
+    virtual const XMLCh* getName() const = 0;
+    virtual NameIdPool<DTDEntityDecl>* getEntityDeclPool() = 0;
+    virtual const NameIdPool<DTDEntityDecl>* getEntityDeclPool() const = 0;
+    virtual unsigned int resolveQName
+    (
+        const   XMLCh* const        qName
+        ,       XMLBuffer&          prefixBufToFill
+        , const short               mode
+        ,       int&                prefixColonPos
+    ) = 0;
+    virtual void scanDocument
+    (
+        const   InputSource&    src
+    ) = 0;
+    virtual bool scanNext(XMLPScanToken& toFill) = 0;
+    virtual Grammar* loadGrammar
+    (
+        const   InputSource&    src
+        , const short           grammarType
+        , const bool            toCache = false
+    ) = 0;
+
+    // -----------------------------------------------------------------------
+    //  Getter methods
+    // -----------------------------------------------------------------------
+    const XMLDocumentHandler* getDocHandler() const;
+    XMLDocumentHandler* getDocHandler();
+    const DocTypeHandler* getDocTypeHandler() const;
+    DocTypeHandler* getDocTypeHandler();
+    bool getDoNamespaces() const;
+    ValSchemes getValidationScheme() const;
+    bool getDoSchema() const;
+    bool getValidationSchemaFullChecking() const;
+    bool getIdentityConstraintChecking() const;
+    const XMLEntityHandler* getEntityHandler() const;
+    XMLEntityHandler* getEntityHandler();
+    const XMLErrorReporter* getErrorReporter() const;
+    XMLErrorReporter* getErrorReporter();
+    const ErrorHandler* getErrorHandler() const;
+    ErrorHandler* getErrorHandler();
+    const PSVIHandler* getPSVIHandler() const;
+    PSVIHandler* getPSVIHandler();
+    bool getExitOnFirstFatal() const;
+    bool getValidationConstraintFatal() const;
+    RefHashTableOf<XMLRefInfo>* getIDRefList();
+    const RefHashTableOf<XMLRefInfo>* getIDRefList() const;
+
+    ValidationContext*   getValidationContext();
+
+    bool getInException() const;
+    /*bool getLastExtLocation
+    (
+                XMLCh* const    sysIdToFill
+        , const unsigned int    maxSysIdChars
+        ,       XMLCh* const    pubIdToFill
+        , const unsigned int    maxPubIdChars
+        ,       XMLSSize_t&     lineToFill
+        ,       XMLSSize_t&     colToFill
+    ) const;*/
+    const Locator* getLocator() const;
+    const ReaderMgr* getReaderMgr() const;
+    unsigned int getSrcOffset() const;
+    bool getStandalone() const;
+    const XMLValidator* getValidator() const;
+    XMLValidator* getValidator();
+    int getErrorCount();
+    const XMLStringPool* getURIStringPool() const;
+    XMLStringPool* getURIStringPool();
+    bool getHasNoDTD() const;
+    XMLCh* getExternalSchemaLocation() const;
+    XMLCh* getExternalNoNamespaceSchemaLocation() const;
+    SecurityManager* getSecurityManager() const;
+    bool getLoadExternalDTD() const;
+    bool getNormalizeData() const;
+    bool isCachingGrammarFromParse() const;
+    bool isUsingCachedGrammarInParse() const;
+    bool getCalculateSrcOfs() const;
+    Grammar* getRootGrammar() const;
+    XMLReader::XMLVersion getXMLVersion() const;
+    MemoryManager* getMemoryManager() const;
+    ValueVectorOf<PrefMapElem*>* getNamespaceContext() const;
+    unsigned int getPrefixId(const XMLCh* const prefix) const;
+    const XMLCh* getPrefixForId(unsigned int prefId) const;
+
+    bool getGenerateSyntheticAnnotations() const;
+    bool getValidateAnnotations() const;
+    bool getIgnoreCachedDTD() const;
+    bool getIgnoreAnnotations() const;
+    bool getDisableDefaultEntityResolution() const;
+    bool getSkipDTDValidation() const;
+
+    // -----------------------------------------------------------------------
+    //  Getter methods
+    // -----------------------------------------------------------------------
+    /**
+      * When an attribute name has no prefix, unlike elements, it is not mapped
+      * to the global namespace. So, in order to have something to map it to
+      * for practical purposes, a id for an empty URL is created and used for
+      * such names.
+      *
+      * @return The URL pool id of the URL for an empty URL "".
+      */
+    unsigned int getEmptyNamespaceId() const;
+
+    /**
+      * When a prefix is found that has not been mapped, an error is issued.
+      * However, if the parser has been instructed not to stop on the first
+      * fatal error, it needs to be able to continue. To do so, it will map
+      * that prefix tot his magic unknown namespace id.
+      *
+      * @return The URL pool id of the URL for the unknown prefix
+      *         namespace.
+      */
+    unsigned int getUnknownNamespaceId() const;
+
+    /**
+      * The prefix 'xml' is a magic prefix, defined by the XML spec and
+      * requiring no prior definition. This method returns the id for the
+      * intrinsically defined URL for this prefix.
+      *
+      * @return The URL pool id of the URL for the 'xml' prefix.
+      */
+    unsigned int getXMLNamespaceId() const;
+
+    /**
+      * The prefix 'xmlns' is a magic prefix, defined by the namespace spec
+      * and requiring no prior definition. This method returns the id for the
+      * intrinsically defined URL for this prefix.
+      *
+      * @return The URL pool id of the URL for the 'xmlns' prefix.
+      */
+    unsigned int getXMLNSNamespaceId() const;
+
+    /**
+      * This method find the passed URI id in its URI pool and
+      * copy the text of that URI into the passed buffer.
+      */
+    bool getURIText
+    (
+        const   unsigned int    uriId
+        ,       XMLBuffer&      uriBufToFill
+    )   const;
+
+    const XMLCh* getURIText(const   unsigned int    uriId) const;
+
+    /* tell if the validator comes from user */
+    bool isValidatorFromUser();
+
+    /* tell if standard URI are forced */
+    bool getStandardUriConformant() const;
+
+    // -----------------------------------------------------------------------
+    //  Setter methods
+    // -----------------------------------------------------------------------
+    void setDocHandler(XMLDocumentHandler* const docHandler);
+    void setDocTypeHandler(DocTypeHandler* const docTypeHandler);
+    void setDoNamespaces(const bool doNamespaces);
+    void setEntityHandler(XMLEntityHandler* const docTypeHandler);
+    void setErrorReporter(XMLErrorReporter* const errHandler);
+    void setErrorHandler(ErrorHandler* const handler);
+    void setPSVIHandler(PSVIHandler* const handler);
+    void setURIStringPool(XMLStringPool* const stringPool);
+    void setExitOnFirstFatal(const bool newValue);
+    void setValidationConstraintFatal(const bool newValue);
+    void setValidationScheme(const ValSchemes newScheme);
+    void setValidator(XMLValidator* const valToAdopt);
+    void setDoSchema(const bool doSchema);
+    void setValidationSchemaFullChecking(const bool schemaFullChecking);
+    void setIdentityConstraintChecking(const bool identityConstraintChecking);
+    void setHasNoDTD(const bool hasNoDTD);
+    void cacheGrammarFromParse(const bool newValue);
+    void useCachedGrammarInParse(const bool newValue);
+    void setRootElemName(XMLCh* rootElemName);
+    void setExternalSchemaLocation(const XMLCh* const schemaLocation);
+    void setExternalNoNamespaceSchemaLocation(const XMLCh* const noNamespaceSchemaLocation);
+    void setExternalSchemaLocation(const char* const schemaLocation);
+    void setExternalNoNamespaceSchemaLocation(const char* const noNamespaceSchemaLocation);
+    void setSecurityManager(SecurityManager* const securityManager);
+    void setLoadExternalDTD(const bool loadDTD);
+    void setNormalizeData(const bool normalizeData);
+    void setCalculateSrcOfs(const bool newValue);
+    void setParseSettings(XMLScanner* const refScanner);
+    void setStandardUriConformant(const bool newValue);
+    void setInputBufferSize(const size_t bufferSize);
+
+    void setGenerateSyntheticAnnotations(const bool newValue);
+    void setValidateAnnotations(const bool newValue);
+    void setIgnoredCachedDTD(const bool newValue);
+    void setIgnoreAnnotations(const bool newValue);
+    void setDisableDefaultEntityResolution(const bool newValue);
+    void setSkipDTDValidation(const bool newValue);
+
+    // -----------------------------------------------------------------------
+    //  Mutator methods
+    // -----------------------------------------------------------------------
+    void incrementErrorCount(void);			// For use by XMLValidator
+
+    // -----------------------------------------------------------------------
+    //  Deprecated methods as of 3.2.0. Use getValidationScheme() and
+    //  setValidationScheme() instead.
+    // -----------------------------------------------------------------------
+    bool getDoValidation() const;
+    void setDoValidation(const bool validate);
+
+    // -----------------------------------------------------------------------
+    //  Document scanning methods
+    //
+    //  scanDocument() does the entire source document. scanFirst(),
+    //  scanNext(), and scanReset() support a progressive parse.
+    // -----------------------------------------------------------------------
+    void scanDocument
+    (
+        const   XMLCh* const    systemId
+    );
+    void scanDocument
+    (
+        const   char* const     systemId
+    );
+
+    bool scanFirst
+    (
+        const   InputSource&    src
+        ,       XMLPScanToken&  toFill
+    );
+    bool scanFirst
+    (
+        const   XMLCh* const    systemId
+        ,       XMLPScanToken&  toFill
+    );
+    bool scanFirst
+    (
+        const   char* const     systemId
+        ,       XMLPScanToken&  toFill
+    );
+
+    void scanReset(XMLPScanToken& toFill);
+
+    bool checkXMLDecl(bool startWithAngle);
+
+    // -----------------------------------------------------------------------
+    //  Grammar preparsing methods
+    // -----------------------------------------------------------------------
+    Grammar* loadGrammar
+    (
+        const   XMLCh* const    systemId
+        , const short           grammarType
+        , const bool            toCache = false
+    );
+    Grammar* loadGrammar
+    (
+        const   char* const     systemId
+        , const short           grammarType
+        , const bool            toCache = false
+    );
+
+    // -----------------------------------------------------------------------
+    //  Notification that lazy data has been deleted
+    // -----------------------------------------------------------------------
+	static void reinitScannerMutex();
+	static void reinitMsgLoader();
+
+protected:
+    // -----------------------------------------------------------------------
+    //  Protected pure virtual methods
+    // -----------------------------------------------------------------------
+    virtual void scanCDSection() = 0;
+    virtual void scanCharData(XMLBuffer& toToUse) = 0;
+    virtual EntityExpRes scanEntityRef
+    (
+        const   bool    inAttVal
+        ,       XMLCh&  firstCh
+        ,       XMLCh&  secondCh
+        ,       bool&   escaped
+    ) = 0;
+    virtual void scanDocTypeDecl() = 0;
+    virtual void scanReset(const InputSource& src) = 0;
+    virtual void sendCharData(XMLBuffer& toSend) = 0;
+
+    //return owned by the caller
+    virtual InputSource* resolveSystemId(const XMLCh* const /*sysId*/
+                                        ,const XMLCh* const /*pubId*/) {return 0;};
+
+    // -----------------------------------------------------------------------
+    //  Protected scanning methods
+    // -----------------------------------------------------------------------
+    bool scanCharRef(XMLCh& toFill, XMLCh& second);
+    void scanComment();
+    bool scanEq(bool inDecl = false);
+    void scanMiscellaneous();
+    void scanPI();
+    void scanProlog();
+    void scanXMLDecl(const DeclTypes type);
+
+    // -----------------------------------------------------------------------
+    //  Private helper methods
+    // -----------------------------------------------------------------------
+    void checkInternalDTD(bool hasExtSubset, const XMLCh* const sysId, const XMLCh* const pubId);
+    void checkIDRefs();
+    bool isLegalToken(const XMLPScanToken& toCheck);
+    XMLTokens senseNextToken(unsigned int& orgReader);
+    void initValidator(XMLValidator* theValidator);
+    inline void resetValidationContext();
+    unsigned int *getNewUIntPtr();
+    void resetUIntPool();
+    void recreateUIntPool();
+
+    inline
+    void setAttrDupChkRegistry
+         (
+            const unsigned int &attrNumber
+          ,       bool         &toUseHashTable
+         );
+
+    // -----------------------------------------------------------------------
+    //  Data members
+    //
+    //  fBufferSize
+    //      Maximum input buffer size
+    //
+    //  fAttrList
+    //      Every time we get a new element start tag, we have to pass to
+    //      the document handler the attributes found. To make it more
+    //      efficient we keep this ref vector of XMLAttr objects around. We
+    //      just reuse it over and over, allowing it to grow to meet the
+    //      peak need.
+    //
+    //  fBufMgr
+    //      This is a manager for temporary buffers used during scanning.
+    //      For efficiency we must use a set of static buffers, but we have
+    //      to insure that they are not incorrectly reused. So this manager
+    //      provides the smarts to hand out buffers as required.
+    //
+    //  fDocHandler
+    //      The client code's document handler. If zero, then no document
+    //      handler callouts are done. We don't adopt it.
+    //
+    //  fDocTypeHandler
+    //      The client code's document type handler (used by DTD Validator).
+    //
+    //  fDoNamespaces
+    //      This flag indicates whether the client code wants us to do
+    //      namespaces or not. If the installed validator indicates that it
+    //      has to do namespaces, then this is ignored.
+    //
+    //  fEntityHandler
+    //      The client code's entity handler. If zero, then no entity handler
+    //      callouts are done. We don't adopt it.
+    //
+    //  fErrorReporter
+    //      The client code's error reporter. If zero, then no error reporter
+    //      callouts are done. We don't adopt it.
+    //
+    //  fErrorHandler
+    //      The client code's error handler.  Need to store this info for
+    //      Schema parse error handling.
+    //
+    //  fPSVIHandler
+    //      The client code's PSVI handler.
+    //
+    //  fExitOnFirstFatal
+    //      This indicates whether we bail out on the first fatal XML error
+    //      or not. It defaults to true, which is the strict XML way, but it
+    //      can be changed.
+    //
+    //  fValidationConstraintFatal
+    //      This indicates whether we treat validation constraint errors as
+    //      fatal errors or not. It defaults to false, but it can be changed.
+    //
+    //  fIDRefList
+    //      This is a list of XMLRefInfo objects. This member lets us do all
+    //      needed ID-IDREF balancing checks.
+    //
+    //  fInException
+    //      To avoid a circular freakout when we catch an exception and emit
+    //      it, which would normally throw again if the 'fail on first error'
+    //      flag is one.
+    //
+    //  fReaderMgr
+    //      This is the reader manager, from which we get characters. It
+    //      manages the reader stack for us, and provides a lot of convenience
+    //      methods to do specialized checking for chars, sequences of chars,
+    //      skipping chars, etc...
+    //
+    //  fScannerId
+    //  fSequenceId
+    //      These are used for progressive parsing, to make sure that the
+    //      client code does the right thing at the right time.
+    //
+    //  fStandalone
+    //      Indicates whether the document is standalone or not. Defaults to
+    //      no, but can be overridden in the XMLDecl.
+    //
+    //  fHasNoDTD
+    //      Indicates the document has no DTD or has only an internal DTD subset
+    //      which contains no parameter entity references.
+    //
+    //  fValidate
+    //      Indicates whether any validation should be done. This is defined
+    //      by the existence of a Grammar together with fValScheme.
+    //
+    //  fValidator
+    //      The installed validator. We look at them via the abstract
+    //      validator interface, and don't know what it actual is.
+    //      Either point to user's installed validator, or fDTDValidator
+    //      or fSchemaValidator.
+    //
+    //  fValidatorFromUser
+    //      This flag indicates whether the validator was installed from
+    //      user.  If false, then the validator was created by the Scanner.
+    //
+    //  fValScheme
+    //      This is the currently set validation scheme. It defaults to
+    //      'never', but can be set by the client.
+    //
+    //  fErrorCount
+    //		The number of errors we've encountered.
+    //
+    //  fDoSchema
+    //      This flag indicates whether the client code wants Schema to
+    //      be processed or not.
+    //
+    //  fSchemaFullChecking
+    //      This flag indicates whether the client code wants full Schema
+    //      constraint checking.
+    //
+    //  fIdentityConstraintChecking
+    //      This flag indicates whether the client code wants Identity
+    //      Constraint checking, defaulted to true to maintain backward
+    //      compatibility (to minimize supprise)
+    //
+    //  fAttName
+    //  fAttValue
+    //  fCDataBuf
+    //  fNameBuf
+    //  fQNameBuf
+    //  fPrefixBuf
+    //      For the most part, buffers are obtained from the fBufMgr object
+    //      on the fly. However, for the start tag scan, we have a set of
+    //      fixed buffers for performance reasons. These are used a lot and
+    //      there are a number of them, so asking the buffer manager each
+    //      time for new buffers is a bit too much overhead.
+    //
+    //  fEmptyNamespaceId
+    //      This is the id of the empty namespace URI. This is a special one
+    //      because of the xmlns="" type of deal. We have to quickly sense
+    //      that its the empty namespace.
+    //
+    //  fUnknownNamespaceId
+    //      This is the id of the namespace URI which is assigned to the
+    //      global namespace. Its for debug purposes only, since there is no
+    //      real global namespace URI. Its set by the derived class.
+    //
+    //  fXMLNamespaceId
+    //  fXMLNSNamespaceId
+    //      These are the ids of the namespace URIs which are assigned to the
+    //      'xml' and 'xmlns' special prefixes. The former is officially
+    //      defined but the latter is not, so we just provide one for debug
+    //      purposes.
+    //
+    //  fSchemaNamespaceId
+    //      This is the id of the schema namespace URI.
+    //
+    //  fGrammarResolver
+    //      Grammar Pool that stores all the grammars. Key is namespace for
+    //      schema and system id for external DTD. When caching a grammar, if
+    //      a grammar is already in the pool, it will be replaced with the
+    //      new parsed one.
+    //
+    //  fGrammar
+    //      Current Grammar used by the Scanner and Validator
+    //
+    //  fRootGrammar
+    //      The grammar where the root element is declared.
+    //
+    //  fGrammarType
+    //      Current Grammar Type.  Store this value instead of calling getGrammarType
+    //      all the time for faster performance.
+    //
+    //  fURIStringPool
+    //      This is a pool for URIs with unique ids assigned. We use a standard
+    //      string pool class.  This pool is going to be shared by all Grammar.
+    //      Use only if namespace is turned on.
+    //
+    //  fRootElemName
+    //      No matter we are using DTD or Schema Grammar, if a DOCTYPE exists,
+    //      we need to verify the root element name.  So store the rootElement
+    //      that is used in the DOCTYPE in the Scanner instead of in the DTDGrammar
+    //      where it used to
+    //
+    //  fExternalSchemaLocation
+    //      The list of Namespace/SchemaLocation that was specified externally
+    //      using setExternalSchemaLocation.
+    //
+    //  fExternalNoNamespaceSchemaLocation
+    //      The no target namespace XML Schema Location that was specified
+    //      externally using setExternalNoNamespaceSchemaLocation.
+    //
+    //  fSecurityManager
+    //      The SecurityManager instance; as and when set by the application.
+    //
+    //  fEntityExpansionLimit
+    //      The number of entity expansions to be permitted while processing this document
+    //      Only meaningful when fSecurityManager != 0
+    //
+    //  fEntityExpansionCount
+    //      The number of general entities expanded so far in this document.
+    //      Only meaningful when fSecurityManager != null
+    //
+    //  fLoadExternalDTD
+    //      This flag indicates whether the external DTD be loaded or not
+    //
+    //  fNormalizeData
+    //      This flag indicates whether the parser should perform datatype
+    //      normalization that is defined in the schema.
+    //
+    //  fCalculateSrcOfs
+    //      This flag indicates the parser should calculate the source offset.
+    //      Turning this on may impact performance.
+    //
+    //  fStandardUriConformant
+    //      This flag controls whether we force conformant URI
+    //
+    //  fXMLVersion
+    //      Enum to indicate if the main doc is XML 1.1 or XML 1.0 conformant    
+    //  fUIntPool
+    //      pool of unsigned integers to help with duplicate attribute
+    //      detection and filling in default/fixed attributes
+    //  fUIntPoolRow
+    //      current row in fUIntPool
+    //  fUIntPoolCol
+    //      current column i row
+    //  fUIntPoolRowTotal
+    //      total number of rows in table
+    //
+    //  fMemoryManager
+    //      Pluggable memory manager for dynamic allocation/deallocation.
+    //
+    // -----------------------------------------------------------------------
+    size_t                      fBufferSize;
+    bool                        fStandardUriConformant;
+    bool                        fCalculateSrcOfs;
+    bool                        fDoNamespaces;
+    bool                        fExitOnFirstFatal;
+    bool                        fValidationConstraintFatal;
+    bool                        fInException;
+    bool                        fStandalone;
+    bool                        fHasNoDTD;
+    bool                        fValidate;
+    bool                        fValidatorFromUser;
+    bool                        fDoSchema;
+    bool                        fSchemaFullChecking;
+    bool                        fIdentityConstraintChecking;
+    bool                        fToCacheGrammar;
+    bool                        fUseCachedGrammar;
+    bool                        fLoadExternalDTD;
+    bool                        fNormalizeData;
+    bool                        fGenerateSyntheticAnnotations;
+    bool                        fValidateAnnotations;
+    bool                        fIgnoreCachedDTD;
+    bool                        fIgnoreAnnotations;
+    bool                        fDisableDefaultEntityResolution;
+    bool                        fSkipDTDValidation;
+    int                         fErrorCount;
+    unsigned int                fEntityExpansionLimit;
+    unsigned int                fEntityExpansionCount;
+    unsigned int                fEmptyNamespaceId;
+    unsigned int                fUnknownNamespaceId;
+    unsigned int                fXMLNamespaceId;
+    unsigned int                fXMLNSNamespaceId;
+    unsigned int                fSchemaNamespaceId;
+    unsigned int **             fUIntPool;
+    unsigned int                fUIntPoolRow;
+    unsigned int                fUIntPoolCol;
+    unsigned int                fUIntPoolRowTotal;
+    XMLUInt32                   fScannerId;
+    XMLUInt32                   fSequenceId;
+    RefVectorOf<XMLAttr>*       fAttrList;
+    RefHash2KeysTableOf<XMLAttr>*  fAttrDupChkRegistry;    
+    XMLDocumentHandler*         fDocHandler;
+    DocTypeHandler*             fDocTypeHandler;
+    XMLEntityHandler*           fEntityHandler;
+    XMLErrorReporter*           fErrorReporter;
+    ErrorHandler*               fErrorHandler;
+    PSVIHandler*                fPSVIHandler;
+    ValidationContext           *fValidationContext;
+    bool                        fEntityDeclPoolRetrieved;
+    ReaderMgr                   fReaderMgr;
+    XMLValidator*               fValidator;
+    ValSchemes                  fValScheme;
+    GrammarResolver* const      fGrammarResolver;
+    MemoryManager* const        fGrammarPoolMemoryManager;
+    Grammar*                    fGrammar;
+    Grammar*                    fRootGrammar;
+    XMLStringPool*              fURIStringPool;
+    XMLCh*                      fRootElemName;
+    XMLCh*                      fExternalSchemaLocation;
+    XMLCh*                      fExternalNoNamespaceSchemaLocation;
+    SecurityManager*            fSecurityManager;
+    XMLReader::XMLVersion       fXMLVersion;
+    MemoryManager*              fMemoryManager;
+    XMLBufferMgr                fBufMgr;
+    XMLBuffer                   fAttNameBuf;
+    XMLBuffer                   fAttValueBuf;
+    XMLBuffer                   fCDataBuf;
+    XMLBuffer                   fQNameBuf;
+    XMLBuffer                   fPrefixBuf;
+    XMLBuffer                   fURIBuf;
+    XMLBuffer                   fWSNormalizeBuf;
+    ElemStack                   fElemStack;
+
+
+private :
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    XMLScanner();
+    XMLScanner(const XMLScanner&);
+    XMLScanner& operator=(const XMLScanner&);
+
+    // -----------------------------------------------------------------------
+    //  Private helper methods
+    // -----------------------------------------------------------------------
+    void commonInit();
+    void cleanUp();
+
+    // -----------------------------------------------------------------------
+    //  Private scanning methods
+    // -----------------------------------------------------------------------
+    bool getQuotedString(XMLBuffer& toFill);
+    unsigned int scanUpToWSOr
+    (
+                XMLBuffer&  toFill
+        , const XMLCh       chEndChar
+    );
+};
+
+// ---------------------------------------------------------------------------
+//  XMLScanner: Getter methods
+// ---------------------------------------------------------------------------
+inline const XMLDocumentHandler* XMLScanner::getDocHandler() const
+{
+    return fDocHandler;
+}
+
+inline XMLDocumentHandler* XMLScanner::getDocHandler()
+{
+    return fDocHandler;
+}
+
+inline const DocTypeHandler* XMLScanner::getDocTypeHandler() const
+{
+    return fDocTypeHandler;
+}
+
+inline DocTypeHandler* XMLScanner::getDocTypeHandler()
+{
+    return fDocTypeHandler;
+}
+
+inline bool XMLScanner::getDoNamespaces() const
+{
+    return fDoNamespaces;
+}
+
+inline const XMLEntityHandler* XMLScanner::getEntityHandler() const
+{
+    return fEntityHandler;
+}
+
+inline XMLEntityHandler* XMLScanner::getEntityHandler()
+{
+    return fEntityHandler;
+}
+
+inline const XMLErrorReporter* XMLScanner::getErrorReporter() const
+{
+    return fErrorReporter;
+}
+
+inline XMLErrorReporter* XMLScanner::getErrorReporter()
+{
+    return fErrorReporter;
+}
+
+inline const ErrorHandler* XMLScanner::getErrorHandler() const
+{
+    return fErrorHandler;
+}
+
+inline ErrorHandler* XMLScanner::getErrorHandler()
+{
+    return fErrorHandler;
+}
+
+inline const PSVIHandler* XMLScanner::getPSVIHandler() const
+{
+    return fPSVIHandler;
+}
+
+inline PSVIHandler* XMLScanner::getPSVIHandler()
+{
+    return fPSVIHandler;
+}
+
+inline bool XMLScanner::getExitOnFirstFatal() const
+{
+    return fExitOnFirstFatal;
+}
+
+inline bool XMLScanner::getValidationConstraintFatal() const
+{
+    return fValidationConstraintFatal;
+}
+
+inline bool XMLScanner::getInException() const
+{
+    return fInException;
+}
+
+inline RefHashTableOf<XMLRefInfo>* XMLScanner::getIDRefList()
+{
+    return fValidationContext->getIdRefList();
+}
+
+inline const RefHashTableOf<XMLRefInfo>* XMLScanner::getIDRefList() const
+{
+    return fValidationContext->getIdRefList();
+}
+
+inline ValidationContext*  XMLScanner::getValidationContext()
+{
+    if (!fEntityDeclPoolRetrieved)
+    {
+        fValidationContext->setEntityDeclPool(getEntityDeclPool());
+        fEntityDeclPoolRetrieved = true;
+    }
+
+    return fValidationContext;
+}
+
+inline const Locator* XMLScanner::getLocator() const
+{
+    return &fReaderMgr;
+}
+
+inline const ReaderMgr* XMLScanner::getReaderMgr() const
+{
+    return &fReaderMgr;
+}
+
+inline unsigned int XMLScanner::getSrcOffset() const
+{
+    return fReaderMgr.getSrcOffset();
+}
+
+inline bool XMLScanner::getStandalone() const
+{
+    return fStandalone;
+}
+
+inline XMLScanner::ValSchemes XMLScanner::getValidationScheme() const
+{
+    return fValScheme;
+}
+
+inline const XMLValidator* XMLScanner::getValidator() const
+{
+    return fValidator;
+}
+
+inline XMLValidator* XMLScanner::getValidator()
+{
+    return fValidator;
+}
+
+inline bool XMLScanner::getDoSchema() const
+{
+    return fDoSchema;
+}
+
+inline bool XMLScanner::getValidationSchemaFullChecking() const
+{
+    return fSchemaFullChecking;
+}
+
+inline bool XMLScanner::getIdentityConstraintChecking() const
+{
+    return fIdentityConstraintChecking;
+}
+
+inline int XMLScanner::getErrorCount()
+{
+    return fErrorCount;
+}
+
+inline bool XMLScanner::isValidatorFromUser()
+{
+    return fValidatorFromUser;
+}
+
+inline unsigned int XMLScanner::getEmptyNamespaceId() const
+{
+    return fEmptyNamespaceId;
+}
+
+inline unsigned int XMLScanner::getUnknownNamespaceId() const
+{
+    return fUnknownNamespaceId;
+}
+
+inline unsigned int XMLScanner::getXMLNamespaceId() const
+{
+    return fXMLNamespaceId;
+}
+
+inline unsigned int XMLScanner::getXMLNSNamespaceId() const
+{
+    return fXMLNSNamespaceId;
+}
+
+inline const XMLStringPool* XMLScanner::getURIStringPool() const
+{
+    return fURIStringPool;
+}
+
+inline XMLStringPool* XMLScanner::getURIStringPool()
+{
+    return fURIStringPool;
+}
+
+inline bool XMLScanner::getHasNoDTD() const
+{
+    return fHasNoDTD;
+}
+
+inline XMLCh* XMLScanner::getExternalSchemaLocation() const
+{
+    return fExternalSchemaLocation;
+}
+
+inline XMLCh* XMLScanner::getExternalNoNamespaceSchemaLocation() const
+{
+    return fExternalNoNamespaceSchemaLocation;
+}
+
+inline SecurityManager* XMLScanner::getSecurityManager() const
+{
+    return fSecurityManager;
+}
+
+inline bool XMLScanner::getLoadExternalDTD() const
+{
+    return fLoadExternalDTD;
+}
+
+inline bool XMLScanner::getNormalizeData() const
+{
+    return fNormalizeData;
+}
+
+inline bool XMLScanner::isCachingGrammarFromParse() const
+{
+    return fToCacheGrammar;
+}
+
+inline bool XMLScanner::isUsingCachedGrammarInParse() const
+{
+    return fUseCachedGrammar;
+}
+
+inline bool XMLScanner::getCalculateSrcOfs() const
+{
+    return fCalculateSrcOfs;
+}
+
+inline Grammar* XMLScanner::getRootGrammar() const
+{
+    return fRootGrammar;
+}
+
+inline bool XMLScanner::getStandardUriConformant() const
+{
+    return fStandardUriConformant;
+}
+
+inline XMLReader::XMLVersion XMLScanner::getXMLVersion() const
+{
+	return fXMLVersion;
+}
+
+inline MemoryManager* XMLScanner::getMemoryManager() const
+{
+    return fMemoryManager;
+}
+
+inline ValueVectorOf<PrefMapElem*>* XMLScanner::getNamespaceContext() const
+{
+    return fElemStack.getNamespaceMap();
+}
+
+inline unsigned int XMLScanner::getPrefixId(const XMLCh* const prefix) const
+{
+    return fElemStack.getPrefixId(prefix);
+}
+
+inline const XMLCh* XMLScanner::getPrefixForId(unsigned int prefId) const
+{
+    return fElemStack.getPrefixForId(prefId);
+}
+
+inline bool XMLScanner::getGenerateSyntheticAnnotations() const
+{
+    return fGenerateSyntheticAnnotations;
+}
+
+inline bool XMLScanner::getValidateAnnotations() const
+{
+    return fValidateAnnotations;
+}
+
+inline bool XMLScanner::getIgnoreCachedDTD() const
+{
+    return fIgnoreCachedDTD;
+}
+
+inline bool XMLScanner::getIgnoreAnnotations() const
+{
+    return fIgnoreAnnotations;
+}
+
+inline bool XMLScanner::getDisableDefaultEntityResolution() const
+{
+    return fDisableDefaultEntityResolution;
+}
+
+inline bool XMLScanner::getSkipDTDValidation() const
+{
+    return fSkipDTDValidation;
+}
+
+// ---------------------------------------------------------------------------
+//  XMLScanner: Setter methods
+// ---------------------------------------------------------------------------
+inline void XMLScanner::setDocHandler(XMLDocumentHandler* const docHandler)
+{
+    fDocHandler = docHandler;
+}
+
+inline void XMLScanner::setDocTypeHandler(DocTypeHandler* const docTypeHandler)
+{
+    fDocTypeHandler = docTypeHandler;
+}
+
+inline void XMLScanner::setErrorHandler(ErrorHandler* const handler)
+{
+    fErrorHandler = handler;
+}
+
+inline void XMLScanner::setPSVIHandler(PSVIHandler* const handler)
+{
+    fPSVIHandler = handler;
+}
+
+inline void XMLScanner::setEntityHandler(XMLEntityHandler* const entityHandler)
+{
+    fEntityHandler = entityHandler;
+    fReaderMgr.setEntityHandler(entityHandler);
+}
+
+inline void XMLScanner::setErrorReporter(XMLErrorReporter* const errHandler)
+{
+    fErrorReporter = errHandler;
+}
+
+inline void XMLScanner::setExitOnFirstFatal(const bool newValue)
+{
+    fExitOnFirstFatal = newValue;
+}
+
+
+inline void XMLScanner::setValidationConstraintFatal(const bool newValue)
+{
+    fValidationConstraintFatal = newValue;
+}
+
+inline void XMLScanner::setValidationScheme(const ValSchemes newScheme)
+{
+    fValScheme = newScheme;
+
+    // validation flag for Val_Auto is set to false by default,
+    //   and will be turned to true if a grammar is seen
+    if (fValScheme == Val_Always)
+        fValidate = true;
+    else
+        fValidate = false;
+}
+
+inline void XMLScanner::setDoSchema(const bool doSchema)
+{
+    fDoSchema = doSchema;
+}
+
+inline void XMLScanner::setDoNamespaces(const bool doNamespaces)
+{
+    fDoNamespaces = doNamespaces;
+}
+
+inline void XMLScanner::setValidationSchemaFullChecking(const bool schemaFullChecking)
+{
+    fSchemaFullChecking = schemaFullChecking;
+}
+
+inline void XMLScanner::setIdentityConstraintChecking(const bool identityConstraintChecking)
+{
+    fIdentityConstraintChecking = identityConstraintChecking;
+}
+
+inline void XMLScanner::setHasNoDTD(const bool hasNoDTD)
+{
+    fHasNoDTD = hasNoDTD;
+}
+
+inline void XMLScanner::setRootElemName(XMLCh* rootElemName)
+{
+    fMemoryManager->deallocate(fRootElemName);//delete [] fRootElemName;
+    fRootElemName = XMLString::replicate(rootElemName, fMemoryManager);
+}
+
+inline void XMLScanner::setExternalSchemaLocation(const XMLCh* const schemaLocation)
+{
+    fMemoryManager->deallocate(fExternalSchemaLocation);//delete [] fExternalSchemaLocation;
+    fExternalSchemaLocation = XMLString::replicate(schemaLocation, fMemoryManager);
+}
+
+inline void XMLScanner::setExternalNoNamespaceSchemaLocation(const XMLCh* const noNamespaceSchemaLocation)
+{
+    fMemoryManager->deallocate(fExternalNoNamespaceSchemaLocation);//delete [] fExternalNoNamespaceSchemaLocation;
+    fExternalNoNamespaceSchemaLocation = XMLString::replicate(noNamespaceSchemaLocation, fMemoryManager);
+}
+
+inline void XMLScanner::setExternalSchemaLocation(const char* const schemaLocation)
+{
+    fMemoryManager->deallocate(fExternalSchemaLocation);//delete [] fExternalSchemaLocation;
+    fExternalSchemaLocation = XMLString::transcode(schemaLocation, fMemoryManager);
+}
+
+inline void XMLScanner::setExternalNoNamespaceSchemaLocation(const char* const noNamespaceSchemaLocation)
+{
+    fMemoryManager->deallocate(fExternalNoNamespaceSchemaLocation);//delete [] fExternalNoNamespaceSchemaLocation;
+    fExternalNoNamespaceSchemaLocation = XMLString::transcode(noNamespaceSchemaLocation, fMemoryManager);
+}
+
+inline void XMLScanner::setSecurityManager(SecurityManager* const securityManager)
+{
+    fSecurityManager = securityManager;
+    if(securityManager != 0) 
+    {
+        fEntityExpansionLimit = securityManager->getEntityExpansionLimit();
+        fEntityExpansionCount = 0;
+    }
+}
+
+inline void XMLScanner::setLoadExternalDTD(const bool loadDTD)
+{
+    fLoadExternalDTD = loadDTD;
+}
+
+inline void XMLScanner::setNormalizeData(const bool normalizeData)
+{
+    fNormalizeData = normalizeData;
+}
+
+inline void XMLScanner::cacheGrammarFromParse(const bool newValue)
+{
+    fToCacheGrammar = newValue;
+}
+
+inline void XMLScanner::useCachedGrammarInParse(const bool newValue)
+{
+    fUseCachedGrammar = newValue;
+}
+
+inline void XMLScanner::setCalculateSrcOfs(const bool newValue)
+{
+    fCalculateSrcOfs = newValue;
+}
+
+inline void XMLScanner::setStandardUriConformant(const bool newValue)
+{
+    fStandardUriConformant = newValue;
+    fReaderMgr.setStandardUriConformant(newValue);
+}
+
+inline void XMLScanner::setGenerateSyntheticAnnotations(const bool newValue)
+{
+    fGenerateSyntheticAnnotations = newValue;
+}
+
+inline void XMLScanner::setValidateAnnotations(const bool newValue)
+{
+    fValidateAnnotations = newValue;
+}
+
+inline void XMLScanner::setInputBufferSize(const size_t bufferSize)
+{
+    fBufferSize = bufferSize;
+    fCDataBuf.setFullHandler(this, (unsigned int)fBufferSize);
+}
+
+inline void XMLScanner::setIgnoredCachedDTD(const bool newValue)
+{
+    fIgnoreCachedDTD = newValue;
+}
+
+inline void XMLScanner::setIgnoreAnnotations(const bool newValue)
+{
+    fIgnoreAnnotations = newValue;
+}
+
+inline void XMLScanner::setDisableDefaultEntityResolution(const bool newValue)
+{
+    fDisableDefaultEntityResolution = newValue;
+}
+
+inline void XMLScanner::setSkipDTDValidation(const bool newValue)
+{
+    fSkipDTDValidation = newValue;
+}
+
+// ---------------------------------------------------------------------------
+//  XMLScanner: Mutator methods
+// ---------------------------------------------------------------------------
+inline void XMLScanner::incrementErrorCount()
+{
+    ++fErrorCount;
+}
+
+// ---------------------------------------------------------------------------
+//  XMLScanner: Deprecated methods
+// ---------------------------------------------------------------------------
+inline bool XMLScanner::getDoValidation() const
+{
+    return fValidate;
+}
+
+inline void XMLScanner::setDoValidation(const bool validate)
+{
+    fValidate = validate;
+    if (fValidate)
+        fValScheme = Val_Always;
+    else
+        fValScheme = Val_Never;
+}
+
+inline void XMLScanner::resetValidationContext()
+{
+    fValidationContext->clearIdRefList();
+    fValidationContext->setEntityDeclPool(0);
+    fEntityDeclPoolRetrieved = false;
+}
+
+inline void XMLScanner::setAttrDupChkRegistry(const unsigned int &attrNumber
+                                            ,       bool         &toUseHashTable)
+{
+   // once the attribute exceed 100, we use hash table to check duplication
+    if (attrNumber > 100)
+   {
+        toUseHashTable = true;
+
+        if (!fAttrDupChkRegistry)
+        {
+            fAttrDupChkRegistry = new (fMemoryManager) RefHash2KeysTableOf<XMLAttr>
+            (
+              2*attrNumber+1, false, new (fMemoryManager)HashXMLCh(), fMemoryManager
+            );
+        }
+        else
+        {
+            fAttrDupChkRegistry->removeAll();
+        }
+    }
+
+}
+
+inline Grammar::GrammarType XMLScanner::getCurrentGrammarType() const
+{
+    return Grammar::UnKnown;
+}
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XMLScannerResolver.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: XMLScannerResolver.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(XMLSCANNERRESOLVER_HPP)
+#define XMLSCANNERRESOLVER_HPP
+
+#include <xercesc/internal/XMLScanner.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class XMLValidator;
+class XMLDocumentHandler;
+class XMLErrorReporter;
+class DocTypeHandler;
+class XMLEntityHandler;
+
+class XMLPARSER_EXPORT XMLScannerResolver
+{
+public:
+    // -----------------------------------------------------------------------
+    //  Public class methods
+    // -----------------------------------------------------------------------
+    static XMLScanner* resolveScanner
+    (
+          const XMLCh* const   scannerName
+        , XMLValidator* const  valToAdopt
+        , GrammarResolver* const grammarResolver
+        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
+    );
+
+    static XMLScanner* resolveScanner
+    (
+          const XMLCh* const        scannerName
+        , XMLDocumentHandler* const docHandler
+        , DocTypeHandler* const     docTypeHandler
+        , XMLEntityHandler* const   entityHandler
+        , XMLErrorReporter* const   errReporter
+        , XMLValidator* const       valToAdopt
+        , GrammarResolver* const    grammarResolver
+        , MemoryManager* const      manager = XMLPlatformUtils::fgMemoryManager
+    );
+
+    static XMLScanner* getDefaultScanner
+    (
+          XMLValidator* const  valToAdopt
+        , GrammarResolver* const grammarResolver
+        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
+    );
+
+private :
+
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructor and destructor
+    // -----------------------------------------------------------------------
+    XMLScannerResolver();
+    ~XMLScannerResolver();
+};
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XProtoType.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,94 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: XProtoType.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+
+#if !defined(XPROTOTYPE_HPP)
+#define XPROTOTYPE_HPP
+
+#include <xercesc/util/PlatformUtils.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class XSerializeEngine;
+class XSerializable;
+
+class XMLUTIL_EXPORT XProtoType
+{
+public:
+
+           void       store(XSerializeEngine& serEng) const;
+
+    static void        load(XSerializeEngine&          serEng
+                          , XMLByte*          const    name
+                          , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
+                          );
+
+    // -------------------------------------------------------------------------------
+    //  data
+    //
+    //  fClassName: 
+    //            name of the XSerializable derivatives
+    //
+    //  fCreateObject:
+    //            pointer to the factory method (createObject()) 
+    //            of the XSerializable derivatives
+    //
+    // -------------------------------------------------------------------------------
+
+    XMLByte*          fClassName;
+
+    XSerializable*    (*fCreateObject)(MemoryManager*);
+
+};
+
+#define DECL_XPROTOTYPE(class_name) \
+static  XProtoType        class##class_name;                   \
+static  XSerializable*    createObject(MemoryManager* manager);
+
+/***
+ * For non-abstract class
+ ***/
+#define IMPL_XPROTOTYPE_TOCREATE(class_name) \
+IMPL_XPROTOTYPE_INSTANCE(class_name) \
+XSerializable* class_name::createObject(MemoryManager* manager) \
+{return new (manager) class_name(manager);}
+
+/***
+* For abstract class
+ ***/
+#define IMPL_XPROTOTYPE_NOCREATE(class_name) \
+IMPL_XPROTOTYPE_INSTANCE(class_name) \
+XSerializable* class_name::createObject(MemoryManager*) \
+{return 0;}
+
+
+/***
+ * Helper Macro 
+ ***/
+#define XPROTOTYPE_CLASS(class_name) ((XProtoType*)(&class_name::class##class_name))
+
+#define IMPL_XPROTOTYPE_INSTANCE(class_name) \
+XProtoType class_name::class##class_name = \
+{(XMLByte*) #class_name, class_name::createObject };
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XSAXMLScanner.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: XSAXMLScanner.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+
+#if !defined(XSAXMLSCANNER_HPP)
+#define XSAXMLSCANNER_HPP
+
+#include <xercesc/internal/SGXMLScanner.hpp>
+
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+//
+//  This is a scanner class, which processes/validates contents of XML Schema
+//  Annotations. It's intended for internal use only.
+//
+class XMLPARSER_EXPORT XSAXMLScanner : public SGXMLScanner
+{
+public :
+    // -----------------------------------------------------------------------
+    //  Destructor
+    // -----------------------------------------------------------------------
+    virtual ~XSAXMLScanner();
+
+    // -----------------------------------------------------------------------
+    //  XMLScanner public virtual methods
+    // -----------------------------------------------------------------------
+    virtual const XMLCh* getName() const;
+
+protected:
+    // -----------------------------------------------------------------------
+    //  Constructors
+    // -----------------------------------------------------------------------
+    /**
+     * The grammar representing the XML Schema annotation (xsaGrammar) is
+     * passed in by the caller. The scanner will own it and is responsible
+     * for deleting it.
+     */
+    XSAXMLScanner
+    (
+        GrammarResolver* const grammarResolver
+        , XMLStringPool* const   uriStringPool
+        , SchemaGrammar* const   xsaGrammar
+        , MemoryManager* const   manager = XMLPlatformUtils::fgMemoryManager
+    );
+    friend class TraverseSchema;
+
+    // -----------------------------------------------------------------------
+    //  XMLScanner virtual methods
+    // -----------------------------------------------------------------------
+    virtual void scanReset(const InputSource& src);
+
+    // -----------------------------------------------------------------------
+    //  SGXMLScanner virtual methods
+    // -----------------------------------------------------------------------
+    virtual bool scanStartTag(bool& gotData);
+    virtual void scanEndTag(bool& gotData);
+
+private :
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    XSAXMLScanner();
+    XSAXMLScanner(const XSAXMLScanner&);
+    XSAXMLScanner& operator=(const XSAXMLScanner&);
+
+    // -----------------------------------------------------------------------
+    //  Private helper methods
+    // -----------------------------------------------------------------------
+    void scanRawAttrListforNameSpaces(int attCount);
+    void switchGrammar(const XMLCh* const newGrammarNameSpace, bool laxValidate);
+};
+
+inline const XMLCh* XSAXMLScanner::getName() const
+{
+    return XMLUni::fgXSAXMLScanner;
+}
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XSObjectFactory.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,237 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: XSObjectFactory.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(XSOBJECTFACTORY_HPP)
+#define XSOBJECTFACTORY_HPP
+
+#include <xercesc/framework/psvi/XSConstants.hpp>
+#include <xercesc/util/RefHashTableOf.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class XSObject;
+class XSAttributeUse;
+class XSAttributeDeclaration;
+class XSModel;
+class XSElementDeclaration;
+class XSSimpleTypeDefinition;
+class XSComplexTypeDefinition;
+class XSModelGroupDefinition;
+class XSAttributeGroupDefinition;
+class XSWildcard;
+class XSParticle;
+class XSAnnotation;
+class XSNamespaceItem;
+class XSNotationDeclaration;
+class SchemaAttDef;
+class SchemaElementDecl;
+class DatatypeValidator;
+class ContentSpecNode;
+class ComplexTypeInfo;
+class XercesGroupInfo;
+class XercesAttGroupInfo;
+class XSIDCDefinition;
+class IdentityConstraint;
+class XMLNotationDecl;
+
+/**
+ * Factory class to create various XSObject(s)
+ * Used by XSModel
+ */
+class XMLPARSER_EXPORT XSObjectFactory : public XMemory
+{
+public:
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+    XSObjectFactory(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
+    ~XSObjectFactory();
+
+private:
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and destructor
+    // -----------------------------------------------------------------------
+    XSObjectFactory(const XSObjectFactory&);
+    XSObjectFactory& operator=(const XSObjectFactory&);
+
+    // -----------------------------------------------------------------------
+    //  factory methods
+    // -----------------------------------------------------------------------
+    XSParticle* createModelGroupParticle
+    (
+        const ContentSpecNode* const node
+        , XSModel* const             xsModel
+    );
+
+    XSAttributeDeclaration* addOrFind
+    (
+        SchemaAttDef* const attDef
+        , XSModel* const xsModel
+        , XSComplexTypeDefinition* const enclosingTypeDef = 0
+    );
+
+    XSSimpleTypeDefinition* addOrFind
+    (
+        DatatypeValidator* const validator
+        , XSModel* const xsModel
+        , bool isAnySimpleType = false
+    );
+
+    XSElementDeclaration* addOrFind
+    (
+        SchemaElementDecl* const elemDecl
+        , XSModel* const xsModel
+        , XSComplexTypeDefinition* const enclosingTypeDef = 0
+    );
+
+    XSComplexTypeDefinition* addOrFind
+    (
+        ComplexTypeInfo* const typeInfo
+        , XSModel* const xsModel
+    );
+
+    XSIDCDefinition* addOrFind
+    (
+        IdentityConstraint* const ic
+        , XSModel* const xsModel
+    );
+
+    XSNotationDeclaration* addOrFind
+    (
+        XMLNotationDecl* const notDecl
+        , XSModel* const xsModel
+    );
+
+    XSAttributeUse* createXSAttributeUse
+    (
+        XSAttributeDeclaration* const xsAttDecl
+        , XSModel* const xsModel
+    );
+    XSWildcard* createXSWildcard
+    (
+        SchemaAttDef* const attDef
+        , XSModel* const xsModel
+    );
+
+    XSWildcard* createXSWildcard
+    (
+        const ContentSpecNode* const rootNode
+        , XSModel* const xsModel
+    );
+
+    XSModelGroupDefinition* createXSModelGroupDefinition
+    (
+        XercesGroupInfo* const groupInfo
+        , XSModel* const xsModel
+    );
+
+    XSAttributeGroupDefinition* createXSAttGroupDefinition
+    (
+        XercesAttGroupInfo* const attGroupInfo
+        , XSModel* const xsModel
+    );
+
+    // -----------------------------------------------------------------------
+    //  Helper methods
+    // -----------------------------------------------------------------------
+    // creates a particle corresponding to an element
+    XSParticle* createElementParticle
+    (
+        const ContentSpecNode* const rootNode
+        , XSModel* const             xsModel
+    );
+
+    // creates a particle corresponding to a wildcard
+    XSParticle* createWildcardParticle
+    (
+        const ContentSpecNode* const rootNode
+        , XSModel* const             xsModel
+    );
+
+    XSAnnotation* getAnnotationFromModel
+    (
+        XSModel* const xsModel
+        , const void* const key
+    );
+
+    void buildAllParticles
+    (
+        const ContentSpecNode* const rootNode
+        , XSParticleList* const particleList
+        , XSModel* const xsModel
+    );
+
+    void buildChoiceSequenceParticles
+    (
+        const ContentSpecNode* const rootNode
+        , XSParticleList* const particleList
+        , XSModel* const xsModel
+    );
+
+    void putObjectInMap
+    (
+        void* key
+        , XSObject* const object
+    );
+
+    XSObject* getObjectFromMap
+    (
+        void* key
+    );
+
+    void processFacets
+    (
+        DatatypeValidator* const dv
+        , XSModel* const xsModel
+        , XSSimpleTypeDefinition* const xsST
+    );
+
+    void processAttUse
+    (
+        SchemaAttDef* const attDef
+        , XSAttributeUse* const xsAttUse
+    );
+
+    bool isMultiValueFacetDefined(DatatypeValidator* const dv);
+
+    // make XSModel our friend
+    friend class XSModel;
+
+    // -----------------------------------------------------------------------
+    //  Private Data Members
+    //
+    //  fMemoryManager
+    //      The memory manager used to create various XSObject(s).
+    // -----------------------------------------------------------------------
+    MemoryManager*            fMemoryManager;
+    RefHashTableOf<XSObject>* fXercesToXSMap;
+    RefVectorOf<XSObject>*    fDeleteVector;
+};
+
+inline XSObject* XSObjectFactory::getObjectFromMap(void* key)
+{
+    return fXercesToXSMap->get(key);
+}
+
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XSerializable.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: XSerializable.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(XSERIALIZABLE_HPP)
+#define XSERIALIZABLE_HPP
+
+#include <xercesc/internal/XSerializeEngine.hpp>
+#include <xercesc/internal/XProtoType.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class XMLUTIL_EXPORT XSerializable
+{
+public :
+
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+    virtual ~XSerializable() {} ;
+
+    // -----------------------------------------------------------------------
+    //  Serialization Interface
+    // -----------------------------------------------------------------------   
+    virtual bool        isSerializable()               const = 0;
+
+    virtual void        serialize(XSerializeEngine& )        = 0;
+
+    virtual XProtoType* getProtoType()                 const = 0;
+
+protected:
+    XSerializable() {}
+    XSerializable(const XSerializable& ) {}             
+
+private:
+    // -----------------------------------------------------------------------
+    //  Unimplemented assignment operator
+    // -----------------------------------------------------------------------
+	XSerializable& operator=(const XSerializable&);
+
+};
+
+inline void XSerializable::serialize(XSerializeEngine& )
+{
+}
+
+/***
+ * Macro to be included in XSerializable derivatives'
+ * declaration's public section
+ ***/
+#define DECL_XSERIALIZABLE(class_name) \
+public: \
+\
+DECL_XPROTOTYPE(class_name) \
+\
+virtual bool                    isSerializable()                  const ;  \
+virtual XProtoType*             getProtoType()                    const;   \
+virtual void                    serialize(XSerializeEngine&); \
+\
+inline friend XSerializeEngine& operator>>(XSerializeEngine& serEng  \
+                                         , class_name*&      objPtr) \
+{objPtr = (class_name*) serEng.read(XPROTOTYPE_CLASS(class_name));   \
+ return serEng; \
+};
+	
+/***
+ * Macro to be included in the implementation file
+ * of XSerializable derivatives' which is instantiable
+ ***/
+#define IMPL_XSERIALIZABLE_TOCREATE(class_name) \
+IMPL_XPROTOTYPE_TOCREATE(class_name) \
+IMPL_XSERIAL(class_name)
+
+/***
+ * Macro to be included in the implementation file
+ * of XSerializable derivatives' which is UN-instantiable
+ ***/
+#define IMPL_XSERIALIZABLE_NOCREATE(class_name) \
+IMPL_XPROTOTYPE_NOCREATE(class_name) \
+IMPL_XSERIAL(class_name)
+
+/***
+ * Helper Macro 
+ ***/
+#define IMPL_XSERIAL(class_name) \
+bool        class_name::isSerializable() const \
+{return true; } \
+XProtoType* class_name::getProtoType()   const \
+{return XPROTOTYPE_CLASS(class_name); } 
+
+#define IS_EQUIVALENT(lptr, rptr) \
+    if (lptr == rptr)             \
+        return true;              \
+    if (( lptr && !rptr) || (!lptr &&  rptr))  \
+        return false;
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XSerializationException.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: XSerializationException.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+
+#if !defined(XSERIALIZATION_EXCEPTION_HPP)
+#define XSERIALIZATION_EXCEPTION_HPP
+
+#include <xercesc/util/XercesDefs.hpp>
+#include <xercesc/util/XMLException.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+MakeXMLException(XSerializationException, XMLUTIL_EXPORT)
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XSerializeEngine.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,873 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: XSerializeEngine.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(XSERIALIZE_ENGINE_HPP)
+#define XSERIALIZE_ENGINE_HPP
+
+#include <xercesc/util/RefHashTableOf.hpp>
+#include <xercesc/util/ValueVectorOf.hpp>
+#include <xercesc/util/XMLExceptMsgs.hpp>
+
+#include <xercesc/internal/XSerializationException.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class XSerializable;
+class XProtoType;
+class MemoryManager;
+class XSerializedObjectId;
+class BinOutputStream;
+class BinInputStream;
+class XMLGrammarPool;
+class XMLGrammarPoolImpl;
+class XMLStringPool;
+
+class XMLUTIL_EXPORT XSerializeEngine
+{
+public:
+
+    enum { mode_Store
+         , mode_Load 
+    };
+    
+
+    static const bool toReadBufferLen;
+
+    typedef unsigned int   XSerializedObjectId_t;
+
+    /***
+      *
+      *  Destructor 
+      *
+      ***/
+    ~XSerializeEngine();
+
+    /***
+      *
+      *  Constructor for de-serialization(loading)
+      *
+      *  Application needs to make sure that the instance of
+      *  BinInputStream, persists beyond the life of this
+      *  SerializeEngine.
+      *
+      *  Param
+      *     inStream         input stream
+      *     gramPool         Grammar Pool
+      *     bufSize          the size of the internal buffer
+      *
+      ***/
+    XSerializeEngine(BinInputStream*         inStream
+                   , XMLGrammarPool* const   gramPool
+                   , unsigned long           bufSize = 8192 );
+
+
+    /***
+      *
+      *  Constructor for serialization(storing)
+      *
+      *  Application needs to make sure that the instance of
+      *  BinOutputStream, persists beyond the life of this
+      *  SerializeEngine.
+      *
+      *  Param
+      *     outStream        output stream
+      *     gramPool         Grammar Pool
+      *     bufSize          the size of the internal buffer
+      *
+      ***/
+    XSerializeEngine(BinOutputStream*        outStream
+                   , XMLGrammarPool* const   gramPool
+                   , unsigned long           bufSize = 8192 );
+
+
+    /***
+      *
+      *  Deprecated
+      *
+      *  Constructor for de-serialization(loading)
+      *
+      *  Application needs to make sure that the instance of
+      *  BinInputStream, persists beyond the life of this
+      *  SerializeEngine.
+      *
+      *  Param
+      *     inStream         input stream
+      *     manager          MemoryManager
+      *     bufSize          the size of the internal buffer
+      *
+      ***/
+    XSerializeEngine(BinInputStream*         inStream
+                   , MemoryManager* const    manager = XMLPlatformUtils::fgMemoryManager
+                   , unsigned long           bufSize = 8192 );
+
+    
+    /***
+      *
+      *  Deprecated
+      *
+      *  Constructor for serialization(storing)
+      *
+      *  Application needs to make sure that the instance of
+      *  BinOutputStream, persists beyond the life of this
+      *  SerializeEngine.
+      *
+      *  Param
+      *     outStream        output stream
+      *     manager          MemoryManager
+      *     bufSize          the size of the internal buffer
+      *
+      ***/
+    XSerializeEngine(BinOutputStream*        outStream
+                   , MemoryManager* const    manager = XMLPlatformUtils::fgMemoryManager
+                   , unsigned long           bufSize = 8192 );
+
+    /***
+      *
+      *  When serialization, flush out the internal buffer
+      *
+      *  Return: 
+      *
+      ***/
+    void flush();
+
+    /***
+      *
+      *  Checking if the serialize engine is doing serialization(storing)
+      *
+      *  Return: true, if it is 
+      *          false, otherwise
+      *
+      ***/
+    inline bool isStoring() const;
+
+    /***
+      *
+      *  Checking if the serialize engine is doing de-serialization(loading)
+      *
+      *  Return: true, if it is 
+      *          false, otherwise
+      *
+      ***/
+    inline bool isLoading() const;
+
+    /***
+      *
+      *  Get the GrammarPool
+      *
+      *  Return: XMLGrammarPool
+      *
+      ***/
+    XMLGrammarPool* getGrammarPool() const;
+
+    /***
+      *
+      *  Get the StringPool
+      *
+      *  Return: XMLStringPool
+      *
+      ***/
+    XMLStringPool* getStringPool() const;
+
+    /***
+      *
+      *  Get the embeded Memory Manager
+      *
+      *  Return: MemoryManager
+      *
+      ***/
+    MemoryManager* getMemoryManager() const;
+
+    /***
+      *
+      *  Get the storer level (the level of the serialize engine
+      *  which created the binary stream that this serialize engine
+      *  is loading).
+      *
+      *  The level returned is meaningful only when
+      *  the engine isLoading.
+      *
+      *  Return: level
+      *
+      ***/
+    inline unsigned short getStorerLevel() const;
+
+    /***
+      *
+      *  Write object to the internal buffer.
+      *
+      *  Param
+      *     objectToWrite:    the object to be serialized
+      *
+      *  Return:
+      *
+      ***/
+           void           write(XSerializable* const objectToWrite);
+
+    /***
+      *
+      *  Write prototype info to the internal buffer.
+      *
+      *  Param
+      *     protoType:    instance of prototype
+      *
+      *  Return:
+      *
+      ***/
+           void           write(XProtoType* const protoType);
+
+    /***
+      *
+      *  Write a stream of XMLByte to the internal buffer.
+      *
+      *  Param
+      *     toWrite:   the stream of XMLByte to write
+      *     writeLen:  the length of the stream
+      *
+      *  Return:
+      *
+      ***/
+           void           write(const XMLByte* const toWrite
+                               ,      int            writeLen);
+
+    /***
+      *
+      *  Write a stream of XMLCh to the internal buffer.
+      *
+      *  Param
+      *     toWrite:   the stream of XMLCh to write
+      *     writeLen:  the length of the stream
+      *
+      *  Return:
+      *
+      ***/
+           void           write(const XMLCh* const toWrite
+                               ,      int          writeLen);
+
+    /***
+      *
+      *  Write a stream of XMLCh to the internal buffer.
+      *
+      *  Write the bufferLen first if requested, then the length
+      *  of the stream followed by the stream.
+      *
+      *  Param
+      *     toWrite:        the stream of XMLCh to write
+      *     bufferLen:      the maximum size of the buffer
+      *     toWriteBufLen:  specify if the bufferLen need to be written or not
+      *
+      *  Return:
+      *
+      ***/
+           void           writeString(const XMLCh* const toWrite
+                                    , const int          bufferLen = 0
+                                    , bool               toWriteBufLen = false);
+
+    /***
+      *
+      *  Write a stream of XMLByte to the internal buffer.
+      *
+      *  Write the bufferLen first if requested, then the length
+      *  of the stream followed by the stream.
+      *
+      *  Param
+      *     toWrite:        the stream of XMLByte to write
+      *     bufferLen:      the maximum size of the buffer
+      *     toWriteBufLen:  specify if the bufferLen need to be written or not
+      *
+      *  Return:
+      *
+      ***/
+           void           writeString(const XMLByte* const toWrite
+                                    , const int            bufferLen = 0
+                                    , bool                 toWriteBufLen = false);
+
+    static const bool toWriteBufferLen;
+
+    /***
+      *
+      *  Read/Create object from the internal buffer.
+      *
+      *  Param
+      *     protoType:    an instance of prototype of the object anticipated
+      *
+      *  Return:          to object read/created
+      *
+      ***/
+	       XSerializable* read(XProtoType* const protoType);
+
+    /***
+      *
+      *  Read prototype object from the internal buffer.
+      *  Verify if the same prototype object found in buffer.
+      *
+      *  Param
+      *     protoType:    an instance of prototype of the object anticipated
+      *     objTag:       the object Tag to an existing object
+      *
+      *  Return:          true  : if matching found
+      *                   false : otherwise
+      *
+      ***/
+           bool           read(XProtoType* const    protoType
+		                     , XSerializedObjectId_t*       objTag);
+
+    /***
+      *
+      *  Read XMLByte stream from the internal buffer.
+      *
+      *  Param
+      *     toRead:   the buffer to hold the XMLByte stream
+      *     readLen:  the length of the XMLByte to read in
+      *
+      *  Return:
+      *
+      ***/
+           void           read(XMLByte* const toRead
+                             , int            readLen);
+
+    /***
+      *
+      *  Read XMLCh stream from the internal buffer.
+      *
+      *  Param
+      *     toRead:   the buffer to hold the XMLCh stream
+      *     readLen:  the length of the XMLCh to read in
+      *
+      *  Return:
+      *
+      ***/
+           void           read(XMLCh* const toRead
+                             , int          readLen);
+
+    /***
+      *
+      *  Read a stream of XMLCh from the internal buffer.
+      *
+      *  Read the bufferLen first if requested, then the length
+      *  of the stream followed by the stream.
+      *
+      *  Param
+      *     toRead:       the pointer to the buffer to hold the XMLCh stream
+      *     bufferLen:    the size of the buffer created
+      *     dataLen:       the length of the stream
+      *     toReadBufLen: specify if the bufferLen need to be read or not
+      *
+      *  Return:
+      *
+      ***/
+           void           readString(XMLCh*&        toRead
+                                   , int&           bufferLen
+                                   , int&           dataLen
+                                   , bool           toReadBufLen = false);
+
+     /***
+       *
+       *  Read a stream of XMLCh from the internal buffer.
+       *
+       *  Read the bufferLen first if requested, then the length
+       *  of the stream followed by the stream.
+       *
+       *  Param
+       *     toRead:       the pointer to the buffer to hold the XMLCh stream
+       *     bufferLen:    the size of the buffer created
+       *
+       *  Return:
+       *
+       ***/
+            inline void     readString(XMLCh*&        toRead
+                                    , int&            bufferLen);
+ 
+     /***
+       *
+       *  Read a stream of XMLCh from the internal buffer.
+       *
+       *  Param
+       *     toRead:       the pointer to the buffer to hold the XMLCh stream
+       *
+       *  Return:
+       *
+       ***/
+            inline void      readString(XMLCh*&        toRead);
+
+    /***
+      *
+      *  Read a stream of XMLByte from the internal buffer.
+      *
+      *  Read the bufferLen first if requested, then the length
+      *  of the stream followed by the stream.
+      *
+      *  Param
+      *     toRead:       the pointer to the buffer to hold the XMLByte stream
+      *     bufferLen:    the size of the buffer created
+      *     dataLen:       the length of the stream
+      *     toReadBufLen: specify if the bufferLen need to be read or not
+      *
+      *  Return:
+      *
+      ***/
+           void           readString(XMLByte*&      toRead
+                                   , int&           bufferLen
+                                   , int&           dataLen
+                                   , bool           toReadBufLen = false);
+
+
+     /***
+       *
+       *  Read a stream of XMLByte from the internal buffer.
+       *
+       *  Read the bufferLen first if requested, then the length
+       *  of the stream followed by the stream.
+       *
+       *  Param
+       *     toRead:       the pointer to the buffer to hold the XMLByte stream
+       *     bufferLen:    the size of the buffer created
+       *
+       *  Return:
+       *
+       ***/
+            inline void       readString(XMLByte*&      toRead
+                                       , int&           bufferLen);
+ 
+     /***
+       *
+       *  Read a stream of XMLByte from the internal buffer.
+       *
+       *  Read the bufferLen first if requested, then the length
+       *  of the stream followed by the stream.
+       *
+       *  Param
+       *     toRead:       the pointer to the buffer to hold the XMLByte stream
+       *     bufferLen:    the size of the buffer created
+       *     dataLen:       the length of the stream
+       *     toReadBufLen: specify if the bufferLen need to be read or not
+       *
+       *  Return:
+       *
+       ***/
+            inline void       readString(XMLByte*&      toRead);
+
+    /***
+      *
+      *  Check if the template object has been stored or not
+      *
+      *  Param
+      *    objectPtr:     the template object pointer
+      *
+      *  Return:          true  : the object has NOT been stored yet
+      *                   false : otherwise
+      *
+      ***/
+           bool           needToStoreObject(void* const templateObjectToWrite);
+
+    /***
+      *
+      *  Check if the template object has been loaded or not
+      *
+      *  Param
+      *    objectPtr:     the address of the template object pointer
+      *
+      *  Return:          true  : the object has NOT been loaded yet
+      *                   false : otherwise
+      *
+      ***/
+           bool           needToLoadObject(void**       templateObjectToRead);
+
+    /***
+      *
+      *  In the case of needToLoadObject() return true, the client
+      *  application needs to instantiate an expected template object, and
+      *  register the address to the engine.
+      *
+      *  Param
+      *    objectPtr:     the template object pointer newly instantiated
+      *
+      *  Return:  
+      *
+      ***/
+           void           registerObject(void* const templateObjectToRegister);
+
+    /***
+      *
+      *  Insertion operator for serializable classes
+      *
+      ***/
+
+	friend XSerializeEngine& operator<<(XSerializeEngine&
+                                      , XSerializable* const );
+
+    /***
+      *
+      *  Insertion operators for 
+      *     . basic Xerces data types
+      *     . built-in types 
+      *
+      ***/
+           XSerializeEngine& operator<<(XMLByte);
+           XSerializeEngine& operator<<(XMLCh);
+
+           XSerializeEngine& operator<<(char);
+           XSerializeEngine& operator<<(short);
+           XSerializeEngine& operator<<(int);
+           XSerializeEngine& operator<<(unsigned int);
+           XSerializeEngine& operator<<(long);
+           XSerializeEngine& operator<<(unsigned long);
+           XSerializeEngine& operator<<(float);
+           XSerializeEngine& operator<<(double);
+           XSerializeEngine& operator<<(bool);
+
+    /***
+      *
+      *  Extraction operators for 
+      *     . basic Xerces data types
+      *     . built-in types 
+      *
+      ***/
+           XSerializeEngine& operator>>(XMLByte&);
+           XSerializeEngine& operator>>(XMLCh&);
+
+           XSerializeEngine& operator>>(char&);
+           XSerializeEngine& operator>>(short&);
+           XSerializeEngine& operator>>(int&);
+           XSerializeEngine& operator>>(unsigned int&);
+           XSerializeEngine& operator>>(long&);
+           XSerializeEngine& operator>>(unsigned long&);
+           XSerializeEngine& operator>>(float&);
+           XSerializeEngine& operator>>(double&);
+           XSerializeEngine& operator>>(bool&);
+
+    /***
+      *
+      *  Getters
+      *
+      ***/
+    inline 
+    XMLSize_t   getBufSize()    const;
+
+    inline 
+    XMLSize_t   getBufCur()     const;
+
+    inline 
+    XMLSize_t   getBufCurAccumulated()     const;
+
+    inline 
+    XMLSize_t   getBufCount()    const;
+
+    void                  trace(char*)     const;
+
+private:
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+	XSerializeEngine();
+    XSerializeEngine(const XSerializeEngine&);
+	XSerializeEngine& operator=(const XSerializeEngine&);
+
+    /***
+      *
+      *   Store Pool Opertions
+      *
+      ***/
+           XSerializedObjectId_t  lookupStorePool(void* const objectPtr) const;
+           void                   addStorePool(void* const objectPtr);
+
+    /***
+      *
+      *   Load Pool Opertions
+      *
+      ***/
+           XSerializable* lookupLoadPool(XSerializedObjectId_t objectTag) const;
+           void           addLoadPool(void* const objectPtr);
+   
+    /***
+      *   
+      *    Intenal Buffer Operations
+      *
+      ***/
+    inline void           checkAndFillBuffer(int bytesNeedToRead);
+
+    inline void           checkAndFlushBuffer(int bytesNeedToWrite);
+
+           void           fillBuffer();
+
+           void           flushBuffer();
+
+           void           pumpCount();
+
+    inline void           resetBuffer();
+
+    /***
+      *   
+      *    Helper
+      *
+      ***/
+    inline void            ensureStoring()                          const;
+
+    inline void            ensureLoading()                          const;
+
+    inline void            ensureStoreBuffer()                      const;
+
+    inline void            ensureLoadBuffer()                       const;
+
+    inline void            ensurePointer(void* const)               const;
+
+    inline void            ensureBufferLen(int  bufferLen)          const;
+
+    inline void            Assert(bool  toEval
+                                , const XMLExcepts::Codes toThrow)  const;
+
+
+    inline XMLSize_t          calBytesNeeded(XMLSize_t)  const;
+
+    inline XMLSize_t          alignAdjust(XMLSize_t)     const;
+
+    inline void            alignBufCur(XMLSize_t);
+
+    // Make XTemplateSerializer friend of XSerializeEngine so that
+    // we can call lookupStorePool and lookupLoadPool in the case of
+    // annotations.
+    friend class XTemplateSerializer;
+
+    // -------------------------------------------------------------------------------
+    //  data
+    //
+    //  fStoreLoad: 
+    //               Indicator: storing(serialization) or loading(de-serialization)
+    //
+    //  fStorerLevel:
+    //              The level of the serialize engine which created the binary 
+    //              stream that this serialize engine is loading
+    //
+    //              It is set by GrammarPool when loading
+    //
+    //  fGrammarPool:
+    //               Thw owning GrammarPool which instantiate this SerializeEngine 
+    //               instance
+    //
+    //  fInputStream:
+    //               Binary stream to read from (de-serialization), provided
+    //               by client application, not owned.
+    //
+    //  fOutputStream:
+    //               Binary stream to write to (serialization), provided 
+    //               by client application, not owned.
+    //
+    //  fBufSize:
+    //               The size of the internal buffer
+    //
+    //  fBufStart/fBufEnd:
+    //               
+    //               The internal buffer.
+    //  fBufEnd:
+    //               one beyond the last valid cell
+    //               fBufEnd === (fBufStart + fBufSize)
+    //
+    //  fBufCur:
+    //               The cursor of the buffer
+    //
+    //  fBufLoadMax:
+    //               Indicating the end of the valid content in the buffer
+    //
+    //  fStorePool:
+    //                Object collection for storing
+    //
+    //  fLoadPool:
+    //                Object collection for loading
+    //
+    //  fMapCount:
+    // -------------------------------------------------------------------------------
+    const short                            fStoreLoad;
+    short                                  fStorerLevel;
+
+    XMLGrammarPool*  const                 fGrammarPool;
+    BinInputStream*  const                 fInputStream;
+    BinOutputStream* const                 fOutputStream;
+
+    XMLSize_t                              fBufCount;
+
+    //buffer
+    const XMLSize_t                        fBufSize;
+	XMLByte* const                         fBufStart;
+	XMLByte* const                         fBufEnd; 
+    XMLByte*                               fBufCur;
+    XMLByte*                               fBufLoadMax; 
+
+
+
+    /***
+     *   Map for storing object
+     *
+     *   key:   XSerializable*
+     *          XProtoType*
+     *
+     *   value: XMLInteger*, owned
+     *
+     ***/
+    RefHashTableOf<XSerializedObjectId>*   fStorePool;  
+
+    /***
+     *   Vector for loading object, objects are NOT owned
+     *
+     *   data:   XSerializable*
+     *           XProtoType*
+     *
+     ***/
+    ValueVectorOf<void*>*                  fLoadPool;    
+
+    /***
+     *   object counter
+     ***/
+	XSerializedObjectId_t                  fObjectCount;
+
+    //to allow grammar pool to set storer level when loading
+    friend class XMLGrammarPoolImpl;
+};
+
+inline bool XSerializeEngine::isStoring() const
+{
+    return (fStoreLoad == mode_Store);
+}
+
+inline bool XSerializeEngine::isLoading() const
+{
+    return (fStoreLoad == mode_Load);
+}
+
+inline XSerializeEngine& operator<<(XSerializeEngine&       serEng
+                                  , XSerializable* const    serObj)
+{
+	serEng.write(serObj); 
+    return serEng; 
+}
+
+inline void XSerializeEngine::ensureStoring() const
+{
+	Assert(isStoring(), XMLExcepts::XSer_Storing_Violation);
+}
+
+inline void XSerializeEngine::ensureLoading() const
+{
+	Assert(isLoading(), XMLExcepts::XSer_Loading_Violation);
+}
+
+
+
+inline void XSerializeEngine::Assert(bool toEval
+                                   , const XMLExcepts::Codes toThrow) const
+{
+    if (!toEval)
+    {
+        ThrowXMLwithMemMgr(XSerializationException, toThrow, getMemoryManager());  
+    }
+
+}
+
+inline void XSerializeEngine::readString(XMLCh*&        toRead
+                                       , int&           bufferLen)
+{
+    int  dummyDataLen;                
+    readString(toRead, bufferLen, dummyDataLen);
+}
+
+inline void XSerializeEngine::readString(XMLCh*&        toRead)
+{
+    int  dummyBufferLen;
+    int  dummyDataLen;
+    readString(toRead, dummyBufferLen, dummyDataLen);
+}
+
+inline void XSerializeEngine::readString(XMLByte*&      toRead
+                                       , int&           bufferLen)
+{
+    int  dummyDataLen;
+    readString(toRead, bufferLen, dummyDataLen);
+}
+
+inline void XSerializeEngine::readString(XMLByte*&      toRead)
+{
+    int  dummyBufferLen;
+    int  dummyDataLen;
+    readString(toRead, dummyBufferLen, dummyDataLen);
+}
+
+inline 
+XMLSize_t XSerializeEngine::getBufSize() const
+{
+    return fBufSize;
+}
+
+inline 
+XMLSize_t XSerializeEngine::getBufCur() const
+{
+    return XMLSize_t (fBufCur-fBufStart);
+}
+
+inline 
+XMLSize_t XSerializeEngine::getBufCurAccumulated() const
+{
+    return (fBufCount - (isStoring() ? 0: 1)) * fBufSize + (fBufCur-fBufStart);
+}
+
+inline 
+XMLSize_t XSerializeEngine::getBufCount() const
+{
+    return fBufCount;
+}
+
+inline 
+unsigned short XSerializeEngine::getStorerLevel() const
+{
+    return fStorerLevel;
+}
+
+/***
+ *  Ought to be nested class
+ ***/
+class XSerializedObjectId : public XMemory
+{
+public:
+
+    ~XSerializedObjectId(){};
+
+private:
+
+    inline XSerializedObjectId(XSerializeEngine::XSerializedObjectId_t val):
+        fData(val) { };
+
+    inline XSerializeEngine::XSerializedObjectId_t getValue() const {return fData; };
+
+    friend class XSerializeEngine;
+
+private:
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+	XSerializedObjectId();
+    XSerializedObjectId(const XSerializedObjectId&);
+	XSerializedObjectId& operator=(const XSerializedObjectId&);
+
+    XSerializeEngine::XSerializedObjectId_t    fData;
+
+};
+
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XTemplateSerializer.hpp	Fri Jan 22 09:56:12 2010 +0200
@@ -0,0 +1,365 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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: XTemplateSerializer.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(XTEMPLATE_SERIALIZER_HPP)
+#define XTEMPLATE_SERIALIZER_HPP
+
+#include <xercesc/util/ValueVectorOf.hpp>
+#include <xercesc/util/RefArrayVectorOf.hpp>
+#include <xercesc/util/RefVectorOf.hpp>
+#include <xercesc/util/RefHashTableOf.hpp>
+#include <xercesc/util/RefHash2KeysTableOf.hpp>
+#include <xercesc/util/RefHash3KeysIdPool.hpp>
+#include <xercesc/util/NameIdPool.hpp>
+
+#include <xercesc/framework/XMLNotationDecl.hpp>
+#include <xercesc/framework/XMLRefInfo.hpp>
+#include <xercesc/util/XMLNumber.hpp>
+#include <xercesc/validators/common/ContentSpecNode.hpp>
+#include <xercesc/validators/DTD/DTDAttDef.hpp>
+#include <xercesc/validators/DTD/DTDElementDecl.hpp>
+#include <xercesc/validators/DTD/DTDEntityDecl.hpp>
+#include <xercesc/validators/schema/SchemaAttDef.hpp>
+#include <xercesc/validators/schema/SchemaElementDecl.hpp>
+#include <xercesc/validators/schema/XercesGroupInfo.hpp>
+#include <xercesc/validators/schema/XercesAttGroupInfo.hpp>
+#include <xercesc/validators/schema/SchemaGrammar.hpp>
+#include <xercesc/validators/schema/identity/IC_Field.hpp>
+#include <xercesc/validators/schema/identity/IdentityConstraint.hpp>
+#include <xercesc/validators/schema/identity/XercesXPath.hpp>
+#include <xercesc/framework/psvi/XSAnnotation.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class XMLUTIL_EXPORT XTemplateSerializer
+{
+public:
+
+    /**********************************************************
+     *
+     * ValueVectorOf
+     *
+     *   SchemaElementDecl*
+     *   unsigned int
+     *
+     ***********************************************************/   
+    static void           storeObject(ValueVectorOf<SchemaElementDecl*>* const tempObjToWrite
+                                    , XSerializeEngine&                        serEng);
+
+    static void           loadObject(ValueVectorOf<SchemaElementDecl*>**       tempObjToRead
+                                   , int                                       initSize
+                                   , bool                                      toCallDestructor
+                                   , XSerializeEngine&                         serEng);
+
+    static void           storeObject(ValueVectorOf<unsigned int>* const tempObjToWrite
+                                    , XSerializeEngine&                  serEng);
+
+    static void           loadObject(ValueVectorOf<unsigned int>**       tempObjToRead
+                                   , int                                 initSize
+                                   , bool                                toCallDestructor
+                                   , XSerializeEngine&                   serEng);
+
+    /**********************************************************
+     *
+     * RefArrayVectorOf
+     *
+     *   XMLCh
+     *
+     ***********************************************************/   
+    static void           storeObject(RefArrayVectorOf<XMLCh>* const tempObjToWrite
+                                    , XSerializeEngine&              serEng);
+
+    static void           loadObject(RefArrayVectorOf<XMLCh>**       tempObjToRead
+                                   , int                             initSize
+                                   , bool                            toAdopt
+                                   , XSerializeEngine&               serEng);
+
+    /**********************************************************
+     *
+     * RefVectorOf
+     *
+     *   SchemaAttDef
+     *   SchemaElementDecl
+     *   ContentSpecNode
+     *   IC_Field
+     *   DatatypeValidator
+     *   IdentityConstraint
+     *   XMLNumber
+     *   XercesLocationPath
+     *   XercesStep
+     *
+     ***********************************************************/
+    static void           storeObject(RefVectorOf<SchemaAttDef>* const tempObjToWrite
+                                    , XSerializeEngine&                serEng);
+
+    static void           loadObject(RefVectorOf<SchemaAttDef>**       tempObjToRead
+                                   , int                               initSize
+                                   , bool                              toAdopt
+                                   , XSerializeEngine&                 serEng);
+
+    static void           storeObject(RefVectorOf<SchemaElementDecl>* const tempObjToWrite
+                                    , XSerializeEngine&                     serEng);
+
+    static void           loadObject(RefVectorOf<SchemaElementDecl>**       tempObjToRead
+                                   , int                                    initSize
+                                   , bool                                   toAdopt
+                                   , XSerializeEngine&                      serEng);
+
+    static void           storeObject(RefVectorOf<ContentSpecNode>* const tempObjToWrite
+                                    , XSerializeEngine&                   serEng);
+
+    static void           loadObject(RefVectorOf<ContentSpecNode>**       tempObjToRead
+                                   , int                                  initSize
+                                   , bool                                 toAdopt
+                                   , XSerializeEngine&                    serEng);
+
+    static void           storeObject(RefVectorOf<IC_Field>* const tempObjToWrite
+                                    , XSerializeEngine&            serEng);
+
+    static void           loadObject(RefVectorOf<IC_Field>**       tempObjToRead
+                                   , int                           initSize
+                                   , bool                          toAdopt
+                                   , XSerializeEngine&             serEng);
+
+    static void           storeObject(RefVectorOf<DatatypeValidator>* const tempObjToWrite
+                                    , XSerializeEngine&                     serEng);
+
+    static void           loadObject(RefVectorOf<DatatypeValidator>**       tempObjToRead
+                                   , int                                    initSize
+                                   , bool                                   toAdopt
+                                   , XSerializeEngine&                      serEng);
+ 
+    static void           storeObject(RefVectorOf<IdentityConstraint>* const tempObjToWrite
+                                    , XSerializeEngine&                      serEng);
+
+    static void           loadObject(RefVectorOf<IdentityConstraint>**       tempObjToRead
+                                   , int                                     initSize
+                                   , bool                                    toAdopt
+                                   , XSerializeEngine&                       serEng);
+
+    static void           storeObject(RefVectorOf<XMLNumber>* const tempObjToWrite
+                                    , XSerializeEngine&             serEng);
+
+    static void           loadObject(RefVectorOf<XMLNumber>**       tempObjToRead
+                                   , int                            initSize
+                                   , bool                           toAdopt
+                                   , XMLNumber::NumberType          numType
+                                   , XSerializeEngine&              serEng);
+
+    static void           storeObject(RefVectorOf<XercesLocationPath>* const tempObjToWrite
+                                    , XSerializeEngine&                      serEng);
+
+    static void           loadObject(RefVectorOf<XercesLocationPath>**       tempObjToRead
+                                   , int                                     initSize
+                                   , bool                                    toAdopt
+                                   , XSerializeEngine&                       serEng);
+
+    static void           storeObject(RefVectorOf<XercesStep>* const tempObjToWrite
+                                    , XSerializeEngine&              serEng);
+
+    static void           loadObject(RefVectorOf<XercesStep>**       tempObjToRead
+                                   , int                             initSize
+                                   , bool                            toAdopt
+                                   , XSerializeEngine&               serEng);
+
+    /**********************************************************
+     *
+     * RefHashTableOf
+     *
+     *   KVStringPair
+     *   XMLAttDef
+     *   DTDAttDef
+     *   ComplexTypeInfo
+     *   XercesGroupInfo
+     *   XercesAttGroupInfo
+     *   XMLRefInfo
+     *   DatatypeValidator
+     *   Grammar
+     *   XSAnnotation
+     *
+     ***********************************************************/
+    static void           storeObject(RefHashTableOf<KVStringPair>* const tempObjToWrite
+                                    , XSerializeEngine&                   serEng);
+
+    static void           loadObject(RefHashTableOf<KVStringPair>**       tempObjToRead
+                                   , int                                  initSize
+                                   , bool                                 toAdopt
+                                   , XSerializeEngine&                    serEng);
+
+    static void           storeObject(RefHashTableOf<XMLAttDef>* const tempObjToWrite
+                                    , XSerializeEngine&                serEng);
+
+    static void           loadObject(RefHashTableOf<XMLAttDef>**       tempObjToRead
+                                   , int                               initSize
+                                   , bool                              toAdopt
+                                   , XSerializeEngine&                 serEng);
+
+    static void           storeObject(RefHashTableOf<DTDAttDef>* const tempObjToWrite
+                                    , XSerializeEngine&                serEng);
+
+    static void           loadObject(RefHashTableOf<DTDAttDef>**       tempObjToRead
+                                   , int                               initSize
+                                   , bool                              toAdopt
+                                   , XSerializeEngine&                 serEng);
+
+    static void           storeObject(RefHashTableOf<ComplexTypeInfo>* const tempObjToWrite
+                                    , XSerializeEngine&                      serEng);
+
+    static void           loadObject(RefHashTableOf<ComplexTypeInfo>**       tempObjToRead
+                                   , int                                     initSize
+                                   , bool                                    toAdopt
+                                   , XSerializeEngine&                       serEng);
+
+    static void           storeObject(RefHashTableOf<XercesGroupInfo>* const tempObjToWrite
+                                    , XSerializeEngine&                      serEng);
+
+    static void           loadObject(RefHashTableOf<XercesGroupInfo>**       tempObjToRead
+                                   , int                                     initSize
+                                   , bool                                    toAdopt
+                                   , XSerializeEngine&                       serEng);
+
+    static void           storeObject(RefHashTableOf<XercesAttGroupInfo>* const tempObjToWrite
+                                    , XSerializeEngine&                         serEng);
+
+    static void           loadObject(RefHashTableOf<XercesAttGroupInfo>**       tempObjToRead
+                                   , int                                        initSize
+                                   , bool                                       toAdopt
+                                   , XSerializeEngine&                          serEng);
+
+    static void           storeObject(RefHashTableOf<XMLRefInfo>* const tempObjToWrite
+                                    , XSerializeEngine&                 serEng);
+
+    static void           loadObject(RefHashTableOf<XMLRefInfo>**       tempObjToRead
+                                   , int                                initSize
+                                   , bool                               toAdopt
+                                   , XSerializeEngine&                  serEng);
+
+    static void           storeObject(RefHashTableOf<DatatypeValidator>* const tempObjToWrite
+                                    , XSerializeEngine&                        serEng);
+
+    static void           loadObject(RefHashTableOf<DatatypeValidator>**       tempObjToRead
+                                   , int                                       initSize
+                                   , bool                                      toAdopt
+                                   , XSerializeEngine&                         serEng);
+
+    static void           storeObject(RefHashTableOf<Grammar>* const tempObjToWrite
+                                    , XSerializeEngine&              serEng);
+
+    static void           loadObject(RefHashTableOf<Grammar>**       tempObjToRead
+                                   , int                             initSize
+                                   , bool                            toAdopt
+                                   , XSerializeEngine&               serEng);
+
+    static void           storeObject(RefHashTableOf<XSAnnotation>* const tempObjToWrite
+                                    , XSerializeEngine&                   serEng);
+
+    static void           loadObject(RefHashTableOf<XSAnnotation>**  tempObjToRead
+                                   , int                             initSize
+                                   , bool                            toAdopt
+                                   , XSerializeEngine&               serEng);
+
+    /**********************************************************
+     *
+     * RefHash2KeysTableOf
+     *
+     *   SchemaAttDef
+     *   ElemVector
+     *
+     ***********************************************************/
+    static void           storeObject(RefHash2KeysTableOf<SchemaAttDef>* const tempObjToWrite
+                                    , XSerializeEngine&                        serEng);
+
+    static void           loadObject(RefHash2KeysTableOf<SchemaAttDef>**       tempObjToRead
+                                   , int                                       initSize
+                                   , bool                                      toAdopt
+                                   , XSerializeEngine&                         serEng);
+
+    static void           storeObject(RefHash2KeysTableOf<ElemVector>* const tempObjToWrite
+                                    , XSerializeEngine&                      serEng);
+
+    static void           loadObject(RefHash2KeysTableOf<ElemVector>**       tempObjToRead
+                                   , int                                     initSize
+                                   , bool                                    toAdopt
+                                   , XSerializeEngine&                       serEng);
+
+    /**********************************************************
+     *
+     * RefHash3KeysIdPool
+     *
+     *   SchemaElementDecl
+     *
+     ***********************************************************/
+    static void           storeObject(RefHash3KeysIdPool<SchemaElementDecl>* const tempObjToWrite
+                                    , XSerializeEngine&                            serEng);
+
+    static void           loadObject(RefHash3KeysIdPool<SchemaElementDecl>**       tempObjToRead
+                                   , int                                           initSize
+                                   , bool                                          toAdopt
+                                   , int                                           initSize2
+                                   , XSerializeEngine&                             serEng);
+
+    /**********************************************************
+     *
+     * NameIdPool
+     *
+     *   DTDElementDecl
+     *   DTDEntityDecl
+     *   XMLNotationDecl
+     *
+     ***********************************************************/
+    static void           storeObject(NameIdPool<DTDElementDecl>* const tempObjToWrite
+                                    , XSerializeEngine&                 serEng);
+
+    static void           loadObject(NameIdPool<DTDElementDecl>**       tempObjToRead
+                                   , int                                initSize
+                                   , int                                initSize2
+                                   , XSerializeEngine&                  serEng);
+
+    static void           storeObject(NameIdPool<DTDEntityDecl>* const tempObjToWrite
+                                    , XSerializeEngine&                serEng);
+
+    static void           loadObject(NameIdPool<DTDEntityDecl>**       tempObjToRead
+                                   , int                               initSize
+                                   , int                               initSize2
+                                   , XSerializeEngine&                 serEng);
+
+    static void           storeObject(NameIdPool<XMLNotationDecl>* const tempObjToWrite
+                                    , XSerializeEngine&                  serEng);
+
+    static void           loadObject(NameIdPool<XMLNotationDecl>**      tempObjToRead
+                                   , int                                initSize
+                                   , int                                initSize2
+                                   , XSerializeEngine&                  serEng);
+
+private:
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+	~XTemplateSerializer();
+    XTemplateSerializer();
+    XTemplateSerializer(const XTemplateSerializer&);
+	XTemplateSerializer& operator=(const XTemplateSerializer&);
+
+};
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
Binary file secureswitools/swisistools/test/tinterpretsisinteg/testharness.doc has changed