[med-svn] [seqan2] 06/06: Files removed in upstream source

Andreas Tille tille at debian.org
Sat Aug 6 22:12:22 UTC 2016


This is an automated email from the git hooks/post-receive script.

tille pushed a commit to branch master
in repository seqan2.

commit e2253d5b9d371366ba45c9e255bc38ea2c5307c9
Author: Andreas Tille <tille at debian.org>
Date:   Sat Aug 6 23:09:56 2016 +0200

    Files removed in upstream source
---
 debian/patches/spelling.patch                      |    33 -
 util/py_lib/pyratemp.py                            |  1193 --
 util/py_lib/seqan/app_tests.py                     |   458 -
 util/py_lib/seqan/auto_build.py                    |   532 -
 util/py_lib/seqan/dddoc/__init__.py                |     7 -
 util/py_lib/seqan/dddoc/core.py                    |  1033 --
 util/py_lib/seqan/dddoc/dddoc.py                   |   703 -
 util/py_lib/seqan/dddoc/html.py                    |   903 --
 util/py_lib/seqan/dddoc/main.py                    |   131 -
 util/py_lib/seqan/dox/dot_diagrams.py              |    51 -
 util/py_lib/seqan/dox/dox_parser.py                |   977 --
 util/py_lib/seqan/dox/dox_tokens.py                |   113 -
 util/py_lib/seqan/dox/file_mgr.py                  |   142 -
 util/py_lib/seqan/dox/inc_mgr.py                   |    93 -
 util/py_lib/seqan/dox/lexer.py                     |   140 -
 util/py_lib/seqan/dox/migration.py                 |   802 -
 util/py_lib/seqan/dox/proc_doc.py                  |  1794 ---
 util/py_lib/seqan/dox/pure.py                      |   210 -
 util/py_lib/seqan/dox/raw_doc.py                   |  1429 --
 util/py_lib/seqan/dox/sig_parser.py                |   327 -
 util/py_lib/seqan/dox/test/test_dox_parser.py      |   974 --
 util/py_lib/seqan/dox/test/test_file_mgr.py        |    30 -
 util/py_lib/seqan/dox/test/test_inc_mgr.py         |    32 -
 util/py_lib/seqan/dox/test/test_lexer.py           |    76 -
 util/py_lib/seqan/dox/test/test_proc_doc.py        |  1390 --
 util/py_lib/seqan/dox/test/test_raw_doc.py         |   624 -
 util/py_lib/seqan/dox/test/test_sig_parser.py      |   317 -
 util/py_lib/seqan/dox/tpl/css/full_list.css        |    31 -
 .../bootstrap-treeview/css/bootstrap-treeview.css  |    60 -
 .../bootstrap-treeview/js/bootstrap-treeview.js    |  1248 --
 util/py_lib/seqan/dox/tpl/list.html                | 14744 -------------------
 util/py_lib/seqan/dox/validation.py                |   139 -
 util/py_lib/seqan/dox/write_html.py                |   561 -
 util/py_lib/seqan/fixgcov/__init__.py              |    10 -
 util/py_lib/seqan/fixgcov/app.py                   |   291 -
 util/py_lib/seqan/paths.py                         |    65 -
 util/py_lib/seqan/pyclangcheck/__init__.py         |    10 -
 util/py_lib/seqan/pyclangcheck/app.py              |   322 -
 util/py_lib/seqan/pyclangcheck/rules.py            |   201 -
 util/py_lib/seqan/pyclangcheck/simple_checks.py    |   117 -
 util/py_lib/seqan/pyclangcheck/suppressions.py     |     1 -
 util/py_lib/seqan/pyclangcheck/violations.py       |    91 -
 util/py_lib/seqan/skel.py                          |   467 -
 43 files changed, 32872 deletions(-)

diff --git a/debian/patches/spelling.patch b/debian/patches/spelling.patch
index 63f5e0f..ca67bb9 100644
--- a/debian/patches/spelling.patch
+++ b/debian/patches/spelling.patch
@@ -49,17 +49,6 @@ Description: Fix some spelling issues
          std::ofstream tsvOut(toCString(options.outTsvPath), std::ios::out | std::ios::binary);
          bool failed = false;
          if (!tsvOut.good())
---- a/util/py_lib/seqan/dox/validation.py
-+++ b/util/py_lib/seqan/dox/validation.py
-@@ -97,7 +97,7 @@ class ReturnVoidValidator(ProcDocValidat
-             return  # Skip if type has no returns member.
-         for r in proc_entry.returns:
-             if r.type == 'void':
--                msg = '@return superflous for "void" type -- simply show "void" in signature.'
-+                msg = '@return superfluous for "void" type -- simply show "void" in signature.'
-                 self.msg_printer.printTokenError(r.raw.first_token, msg, 'warning')
- 
- 
 --- a/apps/razers3/razers.cpp
 +++ b/apps/razers3/razers.cpp
 @@ -437,7 +437,7 @@ void setUpArgumentParser(ArgumentParser
@@ -445,17 +434,6 @@ Description: Fix some spelling issues
  template <typename TFragmentStore>
  void addGaps(TFragmentStore & store, unsigned alignID, unsigned pos)
  {
---- a/util/py_lib/pyratemp.py
-+++ b/util/py_lib/pyratemp.py
-@@ -865,7 +865,7 @@ class EvalPseudoSandbox:
-         Since "import" is insecure, the PseudoSandbox does not allow to
-         import other modules. But since some functions need to import
-         other modules (e.g. "datetime.datetime.strftime" imports "time"),
--        this function replaces the builtin "import" and allows to use
-+        this function replaces the builtin "import" and allows one to use
-         modules which are already accessible by the sandboxed code.
- 
-         :Note:
 --- a/apps/fiona/error_rate_from_sam.cpp
 +++ b/apps/fiona/error_rate_from_sam.cpp
 @@ -71,7 +71,7 @@ int main(int argc, char const ** argv)
@@ -839,17 +817,6 @@ Description: Fix some spelling issues
   * @param[in]     haystack The text strings.
   * @param[in]     needle   The set of patterns.
   * @param[in]     algoTag  The tag to select the online text search algorithm with.
---- a/util/py_lib/seqan/dox/proc_doc.py
-+++ b/util/py_lib/seqan/dox/proc_doc.py
-@@ -61,7 +61,7 @@ class ProcDoc(object):
-     """Collection of the top-level documentation entries.
- 
-     @ivar doc_processor      The DocProcessor that created this ProcDoc.
--    @ivar local_name_counter Number of occurences for local names, used for
-+    @ivar local_name_counter Number of occurrences for local names, used for
-                              shortening @link display to second level entries.
-     """
- 
 --- a/apps/sgip/sgip.cpp
 +++ b/apps/sgip/sgip.cpp
 @@ -72,7 +72,7 @@ enum SearchingType
diff --git a/util/py_lib/pyratemp.py b/util/py_lib/pyratemp.py
deleted file mode 100644
index 39528c2..0000000
--- a/util/py_lib/pyratemp.py
+++ /dev/null
@@ -1,1193 +0,0 @@
-#!/usr/bin/env python2
-# -*- coding: utf-8 -*-
-"""
-Small, simple and powerful template-engine for python.
-
-A template-engine for python, which is very simple, easy to use, small,
-fast, powerful, modular, extensible, well documented and pythonic.
-
-See documentation for a list of features, template-syntax etc.
-
-:Version:   0.2.0
-
-:Usage:
-    see class ``Template`` and examples below.
-
-:Example:
-
-    quickstart::
-        >>> t = Template("hello @!name!@")
-        >>> print t(name="marvin")
-        hello marvin
-
-    generic usage::
-        >>> t = Template("output is in Unicode äöü€")
-        >>> t                                           #doctest: +ELLIPSIS
-        <...Template instance at 0x...>
-        >>> t()
-        u'output is in Unicode \\xe4\\xf6\\xfc\\u20ac'
-        >>> unicode(t)
-        u'output is in Unicode \\xe4\\xf6\\xfc\\u20ac'
-
-    with data::
-        >>> t = Template("hello @!name!@", data={"name":"world"})
-        >>> t()
-        u'hello world'
-        >>> t(name="worlds")
-        u'hello worlds'
-
-        # >>> t(note="data must be Unicode or ASCII", name=u"ä")
-        # u'hello \\xe4'
-
-    escaping::
-        >>> t = Template("hello escaped: @!name!@, unescaped: $!name!$")
-        >>> t(name='''<>&'"''')
-        u'hello escaped: <>&'", unescaped: <>&\\'"'
-    
-    result-encoding::
-        # encode the unicode-object to your encoding with encode()
-        >>> t = Template("hello äöü€")
-        >>> result = t()
-        >>> result
-        u'hello \\xe4\\xf6\\xfc\\u20ac'
-        >>> result.encode("utf-8")
-        'hello \\xc3\\xa4\\xc3\\xb6\\xc3\\xbc\\xe2\\x82\\xac'
-        >>> result.encode("ascii")
-        Traceback (most recent call last):
-          ...
-        UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-9: ordinal not in range(128)
-        >>> result.encode("ascii", 'xmlcharrefreplace')
-        'hello äöü€'
-
-    python-expressions::
-        >>> Template('formatted: @! "%8.5f" % value !@')(value=3.141592653)
-        u'formatted:  3.14159'
-        >>> Template("hello --@!name.upper().center(20)!@--")(name="world")
-        u'hello --       WORLD        --'
-        >>> Template("calculate @!var*5+7!@")(var=7)
-        u'calculate 42'
-
-    blocks (if/for/macros/...)::
-        >>> t = Template("<!--(if foo == 1)-->bar<!--(elif foo == 2)-->baz<!--(else)-->unknown(@!foo!@)<!--(end)-->")
-        >>> t(foo=2)
-        u'baz'
-        >>> t(foo=5)
-        u'unknown(5)'
-
-        >>> t = Template("<!--(for i in mylist)-->@!i!@ <!--(else)-->(empty)<!--(end)-->")
-        >>> t(mylist=[])
-        u'(empty)'
-        >>> t(mylist=[1,2,3])
-        u'1 2 3 '
-
-        >>> t = Template("<!--(for i,elem in enumerate(mylist))--> - @!i!@: @!elem!@<!--(end)-->")
-        >>> t(mylist=["a","b","c"])
-        u' - 0: a - 1: b - 2: c'
-
-        >>> t = Template('<!--(macro greetings)-->hello <strong>@!name!@</strong><!--(end)-->  @!greetings(name=user)!@')
-        >>> t(user="monty")
-        u'  hello <strong>monty</strong>'
-
-    exists::
-        >>> t = Template('<!--(if exists("foo"))-->YES<!--(else)-->NO<!--(end)-->')
-        >>> t()
-        u'NO'
-        >>> t(foo=1)
-        u'YES'
-        >>> t(foo=None)       # note this difference to 'default()'
-        u'YES'
-
-    default-values::
-        # non-existing variables raise an error
-        >>> Template('hi @!optional!@')()
-        Traceback (most recent call last):
-          ...
-        TemplateRenderError: Cannot eval expression 'optional'. (NameError: name 'optional' is not defined)
-
-        >>> t = Template('hi @!default("optional","anyone")!@')
-        >>> t()
-        u'hi anyone'
-        >>> t(optional=None)
-        u'hi anyone'
-        >>> t(optional="there")
-        u'hi there'
-
-        # the 1st parameter can be any eval-expression
-        >>> t = Template('@!default("5*var1+var2","missing variable")!@')
-        >>> t(var1=10)
-        u'missing variable'
-        >>> t(var1=10, var2=2)
-        u'52'
-
-        # also in blocks
-        >>> t = Template('<!--(if default("opt1+opt2",0) > 0)-->yes<!--(else)-->no<!--(end)-->')
-        >>> t()
-        u'no'
-        >>> t(opt1=23, opt2=42)
-        u'yes'
-
-        >>> t = Template('<!--(for i in default("optional_list",[]))-->@!i!@<!--(end)-->')
-        >>> t()
-        u''
-        >>> t(optional_list=[1,2,3])
-        u'123'
-
-        
-        # but make sure to put the expression in quotation marks, otherwise:
-        >>> Template('@!default(optional,"fallback")!@')()
-        Traceback (most recent call last):
-          ...
-        TemplateRenderError: Cannot eval expression 'default(optional,"fallback")'. (NameError: name 'optional' is not defined)
-
-    setvar::
-        >>> t = Template('$!setvar("i", "i+1")!$@!i!@')
-        >>> t(i=6)
-        u'7'
-        
-        >>> t = Template('''<!--(if isinstance(s, (list,tuple)))-->$!setvar("s", '"\\\\\\\\n".join(s)')!$<!--(end)-->@!s!@''')
-        >>> t(isinstance=isinstance, s="123")
-        u'123'
-        >>> t(isinstance=isinstance, s=["123", "456"])
-        u'123\\n456'
-
-:Author:    Roland Koebler (rk at simple-is-better dot org)
-:Copyright: Roland Koebler
-:License:   MIT/X11-like, see __license__
-"""
-
-__version__ = "0.2.0"
-__author__   = "Roland Koebler <rk at simple-is-better dot org>"
-__license__  = """Copyright (c) Roland Koebler, 2007-2010
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE."""
-
-#=========================================
-
-import __builtin__, os
-import re
-
-#=========================================
-# some useful functions
-
-#----------------------
-# string-position: i <-> row,col
-
-def srow(string, i):
-    """Get line numer of ``string[i]`` in `string`.
-
-    :Returns: row, starting at 1
-    :Note:    This works for text-strings with ``\\n`` or ``\\r\\n``.
-    """
-    return string.count('\n', 0, max(0, i)) + 1
-
-def scol(string, i):
-    """Get column number of ``string[i]`` in `string`.
-
-    :Returns: column, starting at 1 (but may be <1 if i<0)
-    :Note:    This works for text-strings with ``\\n`` or ``\\r\\n``.
-    """
-    return i - string.rfind('\n', 0, max(0, i))
-
-def sindex(string, row, col):
-    """Get index of the character at `row`/`col` in `string`.
-   
-    :Parameters:
-        - `row`: row number, starting at 1.
-        - `col`: column number, starting at 1.
-    :Returns:    ``i``, starting at 0 (but may be <1 if row/col<0)
-    :Note:       This works for text-strings with '\\n' or '\\r\\n'.
-    """
-    n = 0
-    for _ in range(row-1):
-        n = string.find('\n', n) + 1
-    return n+col-1
-
-#----------------------
-
-def dictkeyclean(d):
-    """Convert all keys of the dict `d` to strings.
-    """
-    new_d = {}
-    for k, v in d.iteritems():
-        new_d[str(k)] = v
-    return new_d
-
-#----------------------
-
-def dummy(*args, **kwargs):
-    """Dummy function, doing nothing.
-    """
-    pass
-
-def dummy_raise(exception, value):
-    """Create an exception-raising dummy function.
-
-    :Returns: dummy function, raising ``exception(value)``
-    """
-    def mydummy(*args, **kwargs):
-        raise exception(value)
-    return mydummy
-
-#=========================================
-# escaping
-
-(NONE, HTML, LATEX) = range(0, 3)
-ESCAPE_SUPPORTED = {"NONE":None, "HTML":HTML, "LATEX":LATEX} #for error-/parameter-checking
-
-def escape(s, format=HTML):
-    """Replace special characters by their escape sequence.
-
-    :Parameters:
-        - `s`:      string or unicode-string to escape
-        - `format`:
-
-          - `NONE`:  nothing is replaced
-          - `HTML`:  replace &<>'" by &...;
-          - `LATEX`: replace \#$%&_{} (TODO! - this is very incomplete!)
-    :Returns:
-        the escaped string in unicode
-    :Exceptions:
-        - `ValueError`: if `format` is invalid.
-
-    :TODO:  complete LaTeX-escaping, optimize speed
-    """
-    #Note: If you have to make sure that every character gets replaced
-    #      only once (and if you cannot achieve this with the following code),
-    #      use something like u"".join([replacedict.get(c,c) for c in s])
-    #      which is about 2-3 times slower (but maybe needs less memory).
-    #Note: This is one of the most time-consuming parts of the template.
-    #      So maybe speed this up.
-
-    if format is None or format == NONE:
-        pass
-    elif format == HTML:
-        s = s.replace(u"&", u"&") # must be done first!
-        s = s.replace(u"<", u"<")
-        s = s.replace(u">", u">")
-        s = s.replace(u'"', u""")
-        s = s.replace(u"'", u"'")
-    elif format == LATEX:
-        #TODO: which are the "reserved" characters for LaTeX?
-        #      are there more than these?
-        s = s.replace("\\", u"\\backslash{}")   #must be done first!
-        s = s.replace("#",  u"\\#")
-        s = s.replace("$",  u"\\$")
-        s = s.replace("%",  u"\\%")
-        s = s.replace("&",  u"\\&")
-        s = s.replace("_",  u"\\_")
-        s = s.replace("{",  u"\\{")
-        s = s.replace("}",  u"\\}")
-    else:
-        raise ValueError('Invalid format (only None, HTML and LATEX are supported).')
-    return unicode(s)
-
-#=========================================
-
-#-----------------------------------------
-# Exceptions
-
-class TemplateException(Exception):
-    """Base class for template-exceptions."""
-    pass
-
-class TemplateParseError(TemplateException):
-    """Template parsing failed."""
-    def __init__(self, err, errpos):
-        """
-        :Parameters:
-            - `err`:    error-message or exception to wrap
-            - `errpos`: ``(filename,row,col)`` where the error occurred.
-        """
-        self.err = err
-        self.filename, self.row, self.col = errpos
-        TemplateException.__init__(self)
-    def __str__(self):
-        if not self.filename:
-            return "line %d, col %d: %s" % (self.row, self.col, str(self.err))
-        else:
-            return "file %s, line %d, col %d: %s" % (self.filename, self.row, self.col, str(self.err))
-
-class TemplateSyntaxError(TemplateParseError, SyntaxError):
-    """Template syntax-error."""
-    pass
-
-class TemplateIncludeError(TemplateParseError):
-    """Template 'include' failed."""
-    pass
-
-class TemplateRenderError(TemplateException):
-    """Template rendering failed."""
-    pass
-
-#-----------------------------------------
-# Loader
-
-class LoaderString:
-    """Load template from a string/unicode.
-
-    Note that 'include' is not possible in such templates.
-    """
-    def __init__(self, encoding='utf-8'):
-        self.encoding = encoding
-
-    def load(self, string):
-        """Return template-string as unicode.
-        """
-        if isinstance(string, unicode):
-            u = string
-        else:
-            u = unicode(string, self.encoding)
-        return u
-
-class LoaderFile:
-    """Load template from a file.
-    
-    When loading a template from a file, it's possible to including other
-    templates (by using 'include' in the template). But for simplicity
-    and security, all included templates have to be in the same directory!
-    (see ``allowed_path``)
-    """
-    def __init__(self, allowed_path=None, encoding='utf-8'):
-        """Init the loader.
-
-        :Parameters:
-            - `allowed_path`: path of the template-files
-            - `encoding`: encoding of the template-files
-        :Exceptions:
-            - `ValueError`: if `allowed_path` is not a directory
-        """
-        if allowed_path and not os.path.isdir(allowed_path):
-            raise ValueError("'allowed_path' has to be a directory.")
-        self.path     = allowed_path
-        self.encoding = encoding
-
-    def load(self, filename):
-        """Load a template from a file.
-
-        Check if filename is allowed and return its contens in unicode.
-
-        :Parameters:
-            - `filename`: filename of the template without path
-        :Returns:
-            the contents of the template-file in unicode
-        :Exceptions:
-            - `ValueError`: if `filename` contains a path
-        """
-        if filename != os.path.basename(filename):
-            raise ValueError("No path allowed in filename. (%s)" %(filename))
-        filename = os.path.join(self.path, filename)
-
-        f = open(filename, 'rb')
-        string = f.read()
-        f.close()
-
-        u = unicode(string, self.encoding)
-
-        return u
-
-#-----------------------------------------
-# Parser
-
-class Parser(object):
-    """Parse a template into a parse-tree.
-    
-    Includes a syntax-check, an optional expression-check and verbose
-    error-messages.
-
-    See documentation for a description of the parse-tree.
-    """
-    # template-syntax
-    _comment_start = "#!"
-    _comment_end   = "!#"
-    _sub_start     = "$!"
-    _sub_end       = "!$"
-    _subesc_start  = "@!"
-    _subesc_end    = "!@"
-    _block_start   = "<!--("
-    _block_end     = ")-->"
-
-    # build regexps
-    # comment
-    #   single-line, until end-tag or end-of-line.
-    _strComment = r"""%s(?P<content>.*?)(?P<end>%s|\n|$)""" \
-                    % (re.escape(_comment_start), re.escape(_comment_end))
-    _reComment = re.compile(_strComment, re.M)
-
-    # escaped or unescaped substitution
-    #   single-line ("|$" is needed to be able to generate good error-messges)
-    _strSubstitution = r"""
-                    (
-                    %s\s*(?P<sub>.*?)\s*(?P<end>%s|$)       #substitution
-                    |
-                    %s\s*(?P<escsub>.*?)\s*(?P<escend>%s|$) #escaped substitution
-                    )
-                """ % (re.escape(_sub_start),    re.escape(_sub_end),
-                       re.escape(_subesc_start), re.escape(_subesc_end))
-    _reSubstitution = re.compile(_strSubstitution, re.X|re.M)
-
-    # block
-    #   - single-line, no nesting.
-    #   or
-    #   - multi-line, nested by whitespace indentation:
-    #       * start- and end-tag of a block must have exactly the same indentation.
-    #       * start- and end-tags of *nested* blocks should have a greater indentation.
-    # NOTE: A single-line block must not start at beginning of the line with
-    #       the same indentation as the enclosing multi-line blocks!
-    #       Note that "       " and "\t" are different, although they may
-    #       look the same in an editor!
-    _s = re.escape(_block_start)
-    _e = re.escape(_block_end)
-    _strBlock = r"""
-                    ^(?P<mEnd>[ \t]*)%send%s(?P<meIgnored>.*)\r?\n?   # multi-line end  (^   <!--(end)-->IGNORED_TEXT\n)
-                    |
-                    (?P<sEnd>)%send%s                               # single-line end (<!--(end)-->)
-                    |
-                    (?P<sSpace>[ \t]*)                              # single-line tag (no nesting)
-                    %s(?P<sKeyw>\w+)[ \t]*(?P<sParam>.*?)%s
-                    (?P<sContent>.*?)
-                    (?=(?:%s.*?%s.*?)??%send%s)                     # (match until end or i.e. <!--(elif/else...)-->)
-                    |
-                                                                    # multi-line tag, nested by whitespace indentation
-                    ^(?P<indent>[ \t]*)                             #   save indentation of start tag
-                    %s(?P<mKeyw>\w+)\s*(?P<mParam>.*?)%s(?P<mIgnored>.*)\r?\n
-                    (?P<mContent>(?:.*\n)*?)
-                    (?=(?P=indent)%s(?:.|\s)*?%s)                   #   match indentation
-                """ % (_s, _e,
-                       _s, _e,
-                       _s, _e, _s, _e, _s, _e,
-                       _s, _e, _s, _e)
-    _reBlock = re.compile(_strBlock, re.X|re.M)
-
-    # "for"-block parameters: "var(,var)* in ..."
-    _strForParam = r"""^(?P<names>\w+(?:\s*,\s*\w+)*)\s+in\s+(?P<iter>.+)$"""
-    _reForParam  = re.compile(_strForParam)
-
-    # allowed macro-names
-    _reMacroParam = re.compile(r"""^\w+$""")
-
-
-    def __init__(self, loadfunc=None, testexpr=None, escape=HTML):
-        """Init the parser.
-
-        :Parameters:
-            - `loadfunc`: function to load included templates
-              (i.e. ``LoaderFile(...).load``)
-            - `testexpr`: function to test if a template-expressions is valid
-              (i.e. ``EvalPseudoSandbox().compile``)
-            - `escape`:   default-escaping (may be modified by the template)
-        :Exceptions:
-            - `ValueError`: if `testexpr` or `escape` is invalid.
-        """
-        if loadfunc is None:
-            self._load = dummy_raise(NotImplementedError, "'include' not supported, since no 'loadfunc' was given.")
-        else:
-            self._load = loadfunc
-
-        if testexpr is None:
-            self._testexprfunc = dummy
-        else:
-            try:    # test if testexpr() works
-                testexpr("i==1")
-            except Exception,err:
-                raise ValueError("Invalid 'testexpr' (%s)." %(err))
-            self._testexprfunc = testexpr
-
-        if escape not in ESCAPE_SUPPORTED.values():
-            raise ValueError("Unsupported 'escape' (%s)." %(escape))
-        self.escape = escape
-        self._includestack = []
-
-    def parse(self, template):
-        """Parse a template.
-
-        :Parameters:
-            - `template`: template-unicode-string
-        :Returns:         the resulting parse-tree
-        :Exceptions:
-            - `TemplateSyntaxError`: for template-syntax-errors
-            - `TemplateIncludeError`: if template-inclusion failed
-            - `TemplateException`
-        """
-        self._includestack = [(None, template)]   # for error-messages (_errpos)
-        return self._parse(template)
-
-    def _errpos(self, fpos):
-        """Convert `fpos` to ``(filename,row,column)`` for error-messages."""
-        filename, string = self._includestack[-1]
-        return filename, srow(string, fpos), scol(string, fpos)
-
-    def _testexpr(self, expr,  fpos=0):
-        """Test a template-expression to detect errors."""
-        try:
-            self._testexprfunc(expr)
-        except SyntaxError,err:
-            raise TemplateSyntaxError(err, self._errpos(fpos))
-
-    def _parse_sub(self, parsetree, text, fpos=0):
-        """Parse substitutions, and append them to the parse-tree.
-        
-        Additionally, remove comments.
-        """
-        curr = 0
-        for match in self._reSubstitution.finditer(text):
-            start = match.start()
-            if start > curr:
-                parsetree.append(("str", self._reComment.sub('', text[curr:start])))
-
-            if match.group("sub") is not None:
-                if not match.group("end"):
-                    raise TemplateSyntaxError("Missing closing tag '%s' for '%s'." 
-                            % (self._sub_end, match.group()), self._errpos(fpos+start))
-                if len(match.group("sub")) > 0:
-                    self._testexpr(match.group("sub"), fpos+start)
-                    parsetree.append(("sub", match.group("sub")))
-            else:
-                assert(match.group("escsub") is not None)
-                if not match.group("escend"):
-                    raise TemplateSyntaxError("Missing closing tag '%s' for '%s'."
-                            % (self._subesc_end, match.group()), self._errpos(fpos+start))
-                if len(match.group("escsub")) > 0:
-                    self._testexpr(match.group("escsub"), fpos+start)
-                    parsetree.append(("esc", self.escape, match.group("escsub")))
-
-            curr = match.end()
-
-        if len(text) > curr:
-            parsetree.append(("str", self._reComment.sub('', text[curr:])))
-
-    def _parse(self, template, fpos=0):
-        """Recursive part of `parse()`.
-        
-        :Parameters:
-            - template
-            - fpos: position of ``template`` in the complete template (for error-messages)
-        """
-        # blank out comments
-        # (So that its content does not collide with other syntax, and
-        #  because removing them completely would falsify the character-
-        #  position ("match.start()") of error-messages)
-        template = self._reComment.sub(lambda match: self._comment_start+" "*len(match.group(1))+match.group(2), template)
-
-        # init parser
-        parsetree = []
-        curr = 0            # current position (= end of previous block)
-        block_type = None   # block type: if,for,macro,raw,...
-        block_indent = None # None: single-line, >=0: multi-line
-
-        # find blocks
-        for match in self._reBlock.finditer(template):
-            start = match.start()
-            # process template-part before this block
-            if start > curr:
-                self._parse_sub(parsetree, template[curr:start], fpos)
-
-            # analyze block syntax (incl. error-checking and -messages)
-            keyword = None
-            block = match.groupdict()
-            pos__ = fpos + start                # shortcut
-            if   block["sKeyw"] is not None:    # single-line block tag
-                block_indent = None
-                keyword = block["sKeyw"]
-                param   = block["sParam"]
-                content = block["sContent"]
-                if block["sSpace"]:             # restore spaces before start-tag
-                    if len(parsetree) > 0 and parsetree[-1][0] == "str":
-                        parsetree[-1] = ("str", parsetree[-1][1] + block["sSpace"])
-                    else:
-                        parsetree.append(("str", block["sSpace"]))
-                pos_p = fpos + match.start("sParam")    # shortcuts
-                pos_c = fpos + match.start("sContent")
-            elif block["mKeyw"] is not None:    # multi-line block tag
-                block_indent = len(block["indent"])
-                keyword = block["mKeyw"]
-                param   = block["mParam"]
-                content = block["mContent"]
-                pos_p = fpos + match.start("mParam")
-                pos_c = fpos + match.start("mContent")
-                ignored = block["mIgnored"].strip()
-                if ignored  and  ignored != self._comment_start:
-                    raise TemplateSyntaxError("No code allowed after block-tag.", self._errpos(fpos+match.start("mIgnored")))
-            elif block["mEnd"] is not None:     # multi-line block end
-                if block_type is None:
-                    raise TemplateSyntaxError("No block to end here/invalid indent.", self._errpos(pos__) )
-                if block_indent != len(block["mEnd"]):
-                    raise TemplateSyntaxError("Invalid indent for end-tag.", self._errpos(pos__) )
-                ignored = block["meIgnored"].strip()
-                if ignored  and  ignored != self._comment_start:
-                    raise TemplateSyntaxError("No code allowed after end-tag.", self._errpos(fpos+match.start("meIgnored")))
-                block_type = None
-            elif block["sEnd"] is not None:     # single-line block end
-                if block_type is None:
-                    raise TemplateSyntaxError("No block to end here/invalid indent.", self._errpos(pos__))
-                if block_indent is not None:
-                    raise TemplateSyntaxError("Invalid indent for end-tag.", self._errpos(pos__))
-                block_type = None
-            else:
-                raise TemplateException("FATAL: Block regexp error. Please contact the author. (%s)" % match.group())
-
-            # analyze block content (mainly error-checking and -messages)
-            if keyword:
-                keyword = keyword.lower()
-                if   'for'   == keyword:
-                    if block_type is not None:
-                        raise TemplateSyntaxError("Missing block-end-tag before new block at '%s'." %(match.group()), self._errpos(pos__))
-                    block_type = 'for'
-                    cond = self._reForParam.match(param)
-                    if cond is None:
-                        raise TemplateSyntaxError("Invalid 'for ...' at '%s'." %(param), self._errpos(pos_p))
-                    names = tuple(n.strip()  for n in cond.group("names").split(","))
-                    self._testexpr(cond.group("iter"), pos_p+cond.start("iter"))
-                    parsetree.append(("for", names, cond.group("iter"), self._parse(content, pos_c)))
-                elif 'if'    == keyword:
-                    if block_type is not None:
-                        raise TemplateSyntaxError("Missing block-end-tag before new block at '%s'." %(match.group()), self._errpos(pos__))
-                    if not param:
-                        raise TemplateSyntaxError("Missing condition for 'if' at '%s'." %(match.group()), self._errpos(pos__))
-                    block_type = 'if'
-                    self._testexpr(param, pos_p)
-                    parsetree.append(("if", param, self._parse(content, pos_c)))
-                elif 'elif'  == keyword:
-                    if block_type != 'if':
-                        raise TemplateSyntaxError("'elif' may only appear after 'if' at '%s'." %(match.group()), self._errpos(pos__))
-                    if not param:
-                        raise TemplateSyntaxError("Missing condition for 'elif' at '%s'." %(match.group()), self._errpos(pos__))
-                    self._testexpr(param, pos_p)
-                    parsetree.append(("elif", param, self._parse(content, pos_c)))
-                elif 'else'  == keyword:
-                    if block_type not in ('if', 'for'):
-                        raise TemplateSyntaxError("'else' may only appear after 'if' of 'for' at '%s'." %(match.group()), self._errpos(pos__))
-                    if param:
-                        raise TemplateSyntaxError("'else' may not have parameters at '%s'." %(match.group()), self._errpos(pos__))
-                    parsetree.append(("else", self._parse(content, pos_c)))
-                elif 'macro' == keyword:
-                    if block_type is not None:
-                        raise TemplateSyntaxError("Missing block-end-tag before new block '%s'." %(match.group()), self._errpos(pos__))
-                    block_type = 'macro'
-                    # make sure param is "\w+" (instead of ".+")
-                    if not param:
-                        raise TemplateSyntaxError("Missing name for 'macro' at '%s'." %(match.group()), self._errpos(pos__))
-                    if not self._reMacroParam.match(param):
-                        raise TemplateSyntaxError("Invalid name for 'macro' at '%s'." %(match.group()), self._errpos(pos__))
-                    #remove last newline
-                    if len(content) > 0 and content[-1] == '\n':
-                        content = content[:-1]
-                    if len(content) > 0 and content[-1] == '\r':
-                        content = content[:-1]
-                    parsetree.append(("macro", param, self._parse(content, pos_c)))
-
-                # parser-commands
-                elif 'raw'   == keyword:
-                    if block_type is not None:
-                        raise TemplateSyntaxError("Missing block-end-tag before new block '%s'." %(match.group()), self._errpos(pos__))
-                    if param:
-                        raise TemplateSyntaxError("'raw' may not have parameters at '%s'." %(match.group()), self._errpos(pos__))
-                    block_type = 'raw'
-                    parsetree.append(("str", content))
-                elif 'include' == keyword:
-                    if block_type is not None:
-                        raise TemplateSyntaxError("Missing block-end-tag before new block '%s'." %(match.group()), self._errpos(pos__))
-                    if param:
-                        raise TemplateSyntaxError("'include' may not have parameters at '%s'." %(match.group()), self._errpos(pos__))
-                    block_type = 'include'
-                    try:
-                        u = self._load(content.strip())
-                    except Exception,err:
-                        raise TemplateIncludeError(err, self._errpos(pos__))
-                    self._includestack.append((content.strip(), u))  # current filename/template for error-msg.
-                    p = self._parse(u)
-                    self._includestack.pop()
-                    parsetree.extend(p)
-                elif 'set_escape' == keyword:
-                    if block_type is not None:
-                        raise TemplateSyntaxError("Missing block-end-tag before new block '%s'." %(match.group()), self._errpos(pos__))
-                    if param:
-                        raise TemplateSyntaxError("'set_escape' may not have parameters at '%s'." %(match.group()), self._errpos(pos__))
-                    block_type = 'set_escape'
-                    esc = content.strip().upper()
-                    if esc not in ESCAPE_SUPPORTED:
-                        raise TemplateSyntaxError("Unsupported escape '%s'." %(esc), self._errpos(pos__))
-                    self.escape = ESCAPE_SUPPORTED[esc]
-                else:
-                    raise TemplateSyntaxError("Invalid keyword '%s'." %(keyword), self._errpos(pos__))
-            curr = match.end()
-
-        if block_type is not None:
-            raise TemplateSyntaxError("Missing end-tag.", self._errpos(pos__))
-
-        if len(template) > curr:            # process template-part after last block
-            self._parse_sub(parsetree, template[curr:], fpos)
-
-        return parsetree
-
-#-----------------------------------------
-# Evaluation
-
-# some checks
-assert len(eval("dir()", {'__builtins__':{'dir':dir}})) == 1, \
-    "FATAL: 'eval' does not work as expected (%s)."
-assert compile("0 .__class__", "<string>", "eval").co_names == ('__class__',), \
-    "FATAL: 'compile' does not work as expected."
-
-class EvalPseudoSandbox:
-    """An eval-pseudo-sandbox.
-
-    The pseudo-sandbox restricts the available functions/objects, so the
-    code can only access:
-
-    - some of the builtin python-functions, which are considered "safe"
-      (see safe_builtins)
-    - some additional functions (exists(), default(), setvar())
-    - the passed objects incl. their methods.
-
-    Additionally, names beginning with "_" are forbidden.
-    This is to prevent things like '0 .__class__', with which you could
-    easily break out of a "sandbox".
-
-    Be careful to only pass "safe" objects/functions to the template,
-    because any unsafe function/method could break the sandbox!
-    For maximum security, restrict the access to as few objects/functions
-    as possible!
-
-    :Warning:
-        Note that this is no real sandbox! (And although I don't know any
-        way to break out of the sandbox without passing-in an unsafe object,
-        I cannot guarantee that there is no such way. So use with care.)
-
-        Take care if you want to use it for untrusted code!!
-    """
-
-    safe_builtins = {
-        "True"      : __builtin__.True,
-        "False"     : __builtin__.False,
-        "None"      : __builtin__.None,
-
-        "abs"       : __builtin__.abs,
-        "chr"       : __builtin__.chr,
-        "cmp"       : __builtin__.cmp,
-        "divmod"    : __builtin__.divmod,
-        "hash"      : __builtin__.hash,
-        "hex"       : __builtin__.hex,
-        "len"       : __builtin__.len,
-        "max"       : __builtin__.max,
-        "min"       : __builtin__.min,
-        "oct"       : __builtin__.oct,
-        "ord"       : __builtin__.ord,
-        "pow"       : __builtin__.pow,
-        "range"     : __builtin__.range,
-        "round"     : __builtin__.round,
-        "sorted"    : __builtin__.sorted,
-        "sum"       : __builtin__.sum,
-        "unichr"    : __builtin__.unichr,
-        "zip"       : __builtin__.zip,
-
-        "bool"      : __builtin__.bool,
-        "complex"   : __builtin__.complex,
-        "dict"      : __builtin__.dict,
-        "enumerate" : __builtin__.enumerate,
-        "float"     : __builtin__.float,
-        "int"       : __builtin__.int,
-        "list"      : __builtin__.list,
-        "long"      : __builtin__.long,
-        "reversed"  : __builtin__.reversed,
-        "str"       : __builtin__.str,
-        "tuple"     : __builtin__.tuple,
-        "unicode"   : __builtin__.unicode,
-        "xrange"    : __builtin__.xrange,
-    }
-
-    def __init__(self):
-        self._compile_cache = {}
-        self.locals_ptr = None
-        self.eval_allowed_globals = self.safe_builtins.copy()
-        self.register("__import__", self.f_import)
-        self.register("exists",  self.f_exists)
-        self.register("default", self.f_default)
-        self.register("setvar",  self.f_setvar)
-
-    def register(self, name, obj):
-        """Add an object to the "allowed eval-globals".
-
-        Mainly useful to add user-defined functions to the pseudo-sandbox.
-        """
-        self.eval_allowed_globals[name] = obj
-
-    def compile(self, expr):
-        """Compile a python-eval-expression.
-
-        - Use a compile-cache.
-        - Raise a `NameError` if `expr` contains a name beginning with ``_``.
-        
-        :Returns: the compiled `expr`
-        :Exceptions:
-            - `SyntaxError`: for compile-errors
-            - `NameError`: if expr contains a name beginning with ``_``
-        """
-        if expr not in self._compile_cache:
-            c = compile(expr, "", "eval")
-            # TODO(holtgrew): Disabling the breakout check here so our code works in Python 2.6.
-            #for i in c.co_names:    #prevent breakout via new-style-classes
-            #    if i[0] == '_':
-            #        raise NameError("Name '%s' is not allowed." %(i))
-            self._compile_cache[expr] = c
-        return self._compile_cache[expr]
-
-    def eval(self, expr, locals):
-        """Eval a python-eval-expression.
-        
-        Sets ``self.locals_ptr`` to ``locales`` and compiles the code
-        before evaluating.
-        """
-        sav = self.locals_ptr
-        self.locals_ptr = locals
-        x = eval(self.compile(expr), {"__builtins__":self.eval_allowed_globals}, locals)
-        self.locals_ptr = sav
-        return x
-
-    def f_import(self, name, *args, **kwargs):
-        """``import``/``__import__()`` for the sandboxed code.
-
-        Since "import" is insecure, the PseudoSandbox does not allow to
-        import other modules. But since some functions need to import
-        other modules (e.g. "datetime.datetime.strftime" imports "time"),
-        this function replaces the builtin "import" and allows to use
-        modules which are already accessible by the sandboxed code.
-
-        :Note:
-            - This probably only works for rather simple imports.
-            - For security, it may be better to avoid such (complex) modules
-              which import other modules. (e.g. use time.localtime and
-              time.strftime instead of datetime.datetime.strftime)
-
-        :Example:
-            
-            >>> from datetime import datetime
-            >>> import pyratemp
-            >>> t = pyratemp.Template('@!mytime.strftime("%H:%M:%S")!@')
-            >>> print t(mytime=datetime.now())
-            Traceback (most recent call last):
-              ...
-            ImportError: import not allowed in pseudo-sandbox; try to import 'time' yourself and pass it to the sandbox/template
-            >>> import time
-            >>> print t(mytime=datetime.strptime("13:40:54", "%H:%M:%S"), time=time)
-            13:40:54
-
-            # >>> print t(mytime=datetime.now(), time=time)
-            # 13:40:54
-        """
-        import types
-        if self.locals_ptr is not None  and  name in self.locals_ptr  and  isinstance(self.locals_ptr[name], types.ModuleType):
-            return self.locals_ptr[name]
-        else:
-            raise ImportError("import not allowed in pseudo-sandbox; try to import '%s' yourself and pass it to the sandbox/template" % name)
-
-    def f_exists(self, varname):
-        """``exists()`` for the sandboxed code.
-        
-        Test if the variable `varname` exists in the current locals-namespace.
-
-        This only works for single variable names. If you want to test
-        complicated expressions, use i.e. `default`.
-        (i.e. `default("expr",False)`)
-
-        :Note:      the variable-name has to be quoted! (like in eval)
-        :Example:   see module-docstring
-        """
-        return (varname in self.locals_ptr)
-
-    def f_default(self, expr, default=None):
-        """``default()`` for the sandboxed code.
-        
-        Try to evaluate an expression and return the result or a
-        fallback-/default-value; the `default`-value is used
-        if `expr` does not exist/is invalid/results in None.
-
-        This is very useful for optional data.
-
-        :Parameter:
-            - expr: eval-expression
-            - default: fallback-falue if eval(expr) fails or is None.
-        :Returns:
-            the eval-result or the "fallback"-value.
-
-        :Note:      the eval-expression has to be quoted! (like in eval)
-        :Example:   see module-docstring
-        """
-        try:
-            r = self.eval(expr, self.locals_ptr)
-            if r is None:
-                return default
-            return r
-        #TODO: which exceptions should be catched here?
-        except (NameError, IndexError, KeyError):
-            return default
-
-    def f_setvar(self, name, expr):
-        """``setvar()`` for the sandboxed code.
-
-        Set a variable.
-
-        :Example:   see module-docstring
-        """
-        self.locals_ptr[name] = self.eval(expr, self.locals_ptr)
-        return ""
-
-#-----------------------------------------
-# basic template / subtemplate
-
-class TemplateBase:
-    """Basic template-class.
-    
-    Used both for the template itself and for 'macro's ("subtemplates") in
-    the template.
-    """
-
-    def __init__(self, parsetree, renderfunc, data=None):
-        """Create the Template/Subtemplate/Macro.
-
-        :Parameters:
-            - `parsetree`: parse-tree of the template/subtemplate/macro
-            - `renderfunc`: render-function
-            - `data`: data to fill into the template by default (dictionary).
-              This data may later be overridden when rendering the template.
-        :Exceptions:
-            - `TypeError`: if `data` is not a dictionary
-        """
-        #TODO: parameter-checking?
-        self.parsetree = parsetree
-        if isinstance(data, dict):
-            self.data = data
-        elif data is None:
-            self.data = {}
-        else:
-            raise TypeError('"data" must be a dict (or None).')
-        self.current_data = data
-        self._render = renderfunc
-
-    def __call__(self, **override):
-        """Fill out/render the template.
-
-        :Parameters: 
-            - `override`: objects to add to the data-namespace, overriding
-              the "default"-data.
-        :Returns:    the filled template (in unicode)
-        :Note:       This is also called when invoking macros
-                     (i.e. ``$!mymacro()!$``).
-        """
-        self.current_data = self.data.copy()
-        self.current_data.update(override)
-        u = u"".join(self._render(self.parsetree, self.current_data))
-        self.current_data = self.data       # restore current_data
-        return _dontescape(u)               # (see class _dontescape)
-
-    def __unicode__(self):
-        """Alias for __call__()."""
-        return self.__call__()
-    def __str__(self):
-        """Only here for completeness. Use __unicode__ instead!"""
-        return self.__call__()
-
-#-----------------------------------------
-# Renderer
-
-class _dontescape(unicode):
-    """Unicode-string which should not be escaped.
-
-    If ``isinstance(object,_dontescape)``, then don't escape the object in
-    ``@!...!@``. It's useful for not double-escaping macros, and it's
-    automatically used for macros/subtemplates.
-
-    :Note: This only works if the object is used on its own in ``@!...!@``.
-           It i.e. does not work in ``@!object*2!@`` or ``@!object + "hi"!@``.
-    """
-    __slots__ = []
-
-
-class Renderer(object):
-    """Render a template-parse-tree.
-    
-    :Uses: `TemplateBase` for macros
-    """
-
-    def __init__(self, evalfunc, escapefunc):
-        """Init the renderer.
-
-        :Parameters:
-            - `evalfunc`: function for template-expression-evaluation
-              (i.e. ``EvalPseudoSandbox().eval``)
-            - `escapefunc`: function for escaping special characters
-              (i.e. `escape`)
-        """
-        #TODO: test evalfunc
-        self.evalfunc = evalfunc
-        self.escapefunc = escapefunc
-
-    def _eval(self, expr, data):
-        """evalfunc with error-messages"""
-        try:
-            return self.evalfunc(expr, data)
-        #TODO: any other errors to catch here?
-        except (TypeError,NameError,IndexError,KeyError,AttributeError, SyntaxError), err:
-            raise TemplateRenderError("Cannot eval expression '%s'. (%s: %s)" %(expr, err.__class__.__name__, err))
-
-    def render(self, parsetree, data):
-        """Render a parse-tree of a template.
-
-        :Parameters:
-            - `parsetree`: the parse-tree
-            - `data`:      the data to fill into the template (dictionary)
-        :Returns:   the rendered output-unicode-string
-        :Exceptions:
-            - `TemplateRenderError`
-        """
-        _eval = self._eval  # shortcut
-        output = []
-        do_else = False     # use else/elif-branch?
-
-        if parsetree is None:
-            return ""
-        for elem in parsetree:
-            if   "str"   == elem[0]:
-                output.append(elem[1])
-            elif "sub"   == elem[0]:
-                output.append(unicode(_eval(elem[1], data)))
-            elif "esc"   == elem[0]:
-                obj = _eval(elem[2], data)
-                #prevent double-escape
-                if isinstance(obj, _dontescape) or isinstance(obj, TemplateBase):
-                    output.append(unicode(obj))
-                else:
-                    output.append(self.escapefunc(unicode(obj), elem[1]))
-            elif "for"   == elem[0]:
-                do_else = True
-                (names, iterable) = elem[1:3]
-                try:
-                    loop_iter = iter(_eval(iterable, data))
-                except TypeError, e:
-                    print data
-                    print iterable
-                    print type(_eval(iterable, data))
-                    print e
-                    raise TemplateRenderError("Cannot loop over '%s'." % iterable)
-                for i in loop_iter:
-                    do_else = False
-                    if len(names) == 1:
-                        data[names[0]] = i
-                    else:
-                        data.update(zip(names, i))   #"for a,b,.. in list"
-                    output.extend(self.render(elem[3], data))
-            elif "if"    == elem[0]:
-                do_else = True
-                if _eval(elem[1], data):
-                    do_else = False
-                    output.extend(self.render(elem[2], data))
-            elif "elif"  == elem[0]:
-                if do_else and _eval(elem[1], data):
-                    do_else = False
-                    output.extend(self.render(elem[2], data))
-            elif "else"  == elem[0]:
-                if do_else:
-                    do_else = False
-                    output.extend(self.render(elem[1], data))
-            elif "macro" == elem[0]:
-                data[elem[1]] = TemplateBase(elem[2], self.render, data)
-            else:
-                raise TemplateRenderError("Invalid parse-tree (%s)." %(elem))
-
-        return output
-
-#-----------------------------------------
-# template user-interface (putting all together)
-
-class Template(TemplateBase):
-    """Template-User-Interface.
-
-    :Usage:
-        ::
-            t = Template(...)  (<- see __init__)
-            output = t(...)    (<- see TemplateBase.__call__)
-
-    :Example:
-        see module-docstring
-    """
-
-    def __init__(self, string=None,filename=None,parsetree=None, encoding='utf-8', data=None, escape=HTML,
-            loader_class=LoaderFile,
-            parser_class=Parser,
-            renderer_class=Renderer,
-            eval_class=EvalPseudoSandbox,
-            escape_func=escape):
-        """Load (+parse) a template.
-
-        :Parameters:
-            - `string,filename,parsetree`: a template-string,
-                                           filename of a template to load,
-                                           or a template-parsetree.
-                                           (only one of these 3 is allowed)
-            - `encoding`: encoding of the template-files (only used for "filename")
-            - `data`:     data to fill into the template by default (dictionary).
-                          This data may later be overridden when rendering the template.
-            - `escape`:   default-escaping for the template, may be overwritten by the template!
-            - `loader_class`
-            - `parser_class`
-            - `renderer_class`
-            - `eval_class`
-            - `escapefunc`
-        """
-        if [string, filename, parsetree].count(None) != 2:
-            raise ValueError('Exactly 1 of string,filename,parsetree is necessary.')
-  
-        tmpl = None
-        # load template
-        if filename is not None:
-            incl_load = loader_class(os.path.dirname(filename), encoding).load
-            tmpl = incl_load(os.path.basename(filename))
-        if string is not None:
-            incl_load = dummy_raise(NotImplementedError, "'include' not supported for template-strings.")
-            tmpl = LoaderString(encoding).load(string)
-
-        # eval (incl. compile-cache)
-        templateeval = eval_class()
-
-        # parse
-        if tmpl is not None:
-            p = parser_class(loadfunc=incl_load, testexpr=templateeval.compile, escape=escape)
-            parsetree = p.parse(tmpl)
-            del p
-
-        # renderer
-        renderfunc = renderer_class(templateeval.eval, escape_func).render
-
-        #create template
-        TemplateBase.__init__(self, parsetree, renderfunc, data)
-
-
-#=========================================
-#doctest
-
-def _doctest():
-    """doctest this module."""
-    import doctest
-    doctest.testmod()
-
-#----------------------
-if __name__ == '__main__':
-    _doctest()
-
-#=========================================
-
diff --git a/util/py_lib/seqan/app_tests.py b/util/py_lib/seqan/app_tests.py
deleted file mode 100644
index 2cc71bc..0000000
--- a/util/py_lib/seqan/app_tests.py
+++ /dev/null
@@ -1,458 +0,0 @@
-#!/usr/bin/env python2
-"""Helper code for app tests.
-
-This module contains helper functions and classes for making app tests easy.
-The advantage of using Python for this is easier portability instead of relying
-on Unix tools such as bash and diff which are harder to install on Windows than
-Python.
-
-App tests are performed by executing the programs on test data and comparing
-their output to previously generated "golden" output files.
-
-Classes/Functions:
-
-  class TestConf -- stores configuration of a test.
-  class TestPathHelper -- helps with constructing paths.
-  function runTest -- runs a test configured by a TestConf object.
-  function autolocateBinary -- locates a binary, possibly in an intermediary
-                               directory.
-"""
-
-from __future__ import with_statement
-
-__author__ = 'Manuel Holtgrewe <manuel.holtgrewe at fu-berlin.de>'
-
-import difflib
-import hashlib
-import logging
-import optparse
-import os
-import os.path
-import re
-import subprocess
-import shutil
-import sys
-import tempfile
-import gzip
-
-def md5ForFile(f, block_size=2**20):
-    """Compute MD5 of a file.
-
-    Taken from http://stackoverflow.com/a/1131255/84349.
-    """
-    md5 = hashlib.md5()
-    while True:
-        data = f.read(block_size)
-        if not data:
-            break
-        md5.update(data)
-    return md5.hexdigest()
-
-
-# Valgrind flags, taken from CMake output, ideally given to test script by CMake?
-SUPPRESSIONS = '--suppressions=' + os.path.join(os.path.dirname(__file__), '..', '..', '..', 'misc', 'seqan.supp')
-VALGRIND_FLAGS = [SUPPRESSIONS] + '--error-exitcode=1 -q --tool=memcheck --leak-check=yes --show-reachable=yes --workaround-gcc296-bugs=yes --num-callers=50 --'.split()
-VALGRIND_PATH = '/usr/bin/valgrind'
-
-class BadResultException(Exception):
-    pass
-
-
-class TestConf(object):
-    """Configuration for one tests.
-
-    A test configuration consists of the parameters to give to the
-    program and the expected result.
-
-    Attrs:
-      program -- string, path to binary to execute.
-      args -- list of strings with arguments to the program.
-      to_diff -- optional list of pairs with (output-file, expected-file) paths
-                 diff, the contents of output-file should be equal to the
-                 contents of expected-file.
-      name -- optional string, name of the test.
-      redir_stdout -- optional string that gives the path to redirect stdout to
-                      if the variable is not None.
-      redir_stderr -- optional string that gives the path to redirect stderr to
-                      if the variable is not None.
-      check_callback -- callable throwing an exception on erorrs.
-    """
-
-    def __init__(self, program, args, to_diff=[], name=None,
-                 redir_stdout=None, redir_stderr=None,
-                 check_callback=None):
-        """Constructor, args correspond to attrs."""
-        self.program = program
-        self.args = args
-        self.to_diff = to_diff
-        self.name = name
-        self.redir_stdout = redir_stdout
-        self.redir_stderr = redir_stderr
-        if not hasattr(TestConf, 'valgrind'):
-            self.valgrind = False
-        else:
-            self.valgrind = TestConf.valgrind
-        self.check_callback = check_callback
-
-    def __str__(self):
-        fmt = 'TestConf(%s, %s, %s, %s, %s, %s)'
-        return fmt % (repr(self.program), self.args, self.to_diff, self.name,
-                      self.redir_stdout, self.redir_stderr)
-
-    def commandLineArgs(self):
-        """Returns the command line."""
-        args = [x for x in self.args if x != '']
-        args = [self.program] + args
-        if self.valgrind:
-            args = [VALGRIND_PATH] + VALGRIND_FLAGS + args
-        return args
-
-
-class TestPathHelper(object):
-    """Helper class for paths.
-
-    TestPathHelper objects are configured with the appropriate paths.  The
-    provide functions to construct when executing tests.
-    """
-
-    def __init__(self, source_base_path, binary_base_path,
-                 tests_dir):
-        self.temp_dir = None
-        self.source_base_path = source_base_path
-        self.binary_base_path = binary_base_path
-        self.tests_dir = tests_dir
-        self.created_paths = []
-
-    def inFile(self, path):
-        """Convert the path of a test file.
-
-        The given path, relative to the test directory, will be transformed into an
-        absolute path to the file.
-
-        Args:
-          path -- relative path to a file in the test directory.
-
-        Returns:
-          Absolute to the file.
-        """
-        result = os.path.join(self.source_base_path, self.tests_dir, path)
-        logging.debug('inFile(%s) = %s', path, result)
-        return result
-
-    def outFile(self, path, subdir=None):
-        """Convert the path of an output file.
-
-        The given path will be converted to a path to a temporary file.  The path
-        to this file will be created.
-
-        If subdir is set then a subdirectory with this name will be created and
-        the output will be relative to subdir.
-        """
-        if not self.temp_dir:
-            self.temp_dir = tempfile.mkdtemp()
-            if not os.path.isdir(self.temp_dir):
-                self.created_paths.append(self.temp_dir)
-                os.makedirs(self.temp_dir)
-        target_dir = self.temp_dir
-        if subdir:
-            target_dir = os.path.join(self.temp_dir, subdir)
-            if not os.path.isdir(target_dir):
-                self.created_paths.append(target_dir)
-                os.makedirs(target_dir)
-        logging.debug('outFile(%s, %s) = %s', path, subdir, self.temp_dir)
-        res = os.path.join(target_dir, path)
-        self.created_paths.append(res)
-        return res
-
-    def deleteTempDir(self):
-        """Remove the temporary directory created earlier and all files below."""
-        print >>sys.stderr, 'DELETING TEMP DIR', self.temp_dir
-        if self.temp_dir:
-            shutil.rmtree(self.temp_dir)
-
-
-def autolocateBinary(base_path, relative_path, binary_name):
-  """Autolocates a binary, possibly in an intermediary path.
-
-  When building applications with CMake, they do not always have the same
-  relative path from the binary build directory.  For Unix Makefiles, the path
-  could be 'apps/tree_recon' whereas for Visual Studio, it could be
-  'apps/Release/tree_recon'.
-
-  Also, it searches for the binary name in "${base_path}/bin".
-
-  This function tries to automatically guess the name of the file and return
-  the first one it finds.
-  """
-  # Names of intermediary directories and possible file extensions.
-  intermediary_dir_names = ['', 'Debug', 'Release']
-  extensions = ['', '.exe']
-  paths = [os.path.join(base_path, 'bin', binary_name),
-           os.path.join(base_path, 'bin', 'Debug', binary_name),
-           os.path.join(base_path, 'bin', 'Release', binary_name),
-           os.path.join(base_path, 'bin', binary_name + '.exe'),
-           os.path.join(base_path, 'bin', 'Debug', binary_name + '.exe'),
-           os.path.join(base_path, 'bin', 'Release', binary_name + '.exe')]
-  # Try all possible paths.
-  for dir_name in intermediary_dir_names:
-    for ext in extensions:
-      # With CMAKE_BINARY_DIR not set to "bin".
-      res_list = [base_path, relative_path, dir_name, binary_name + ext]
-      filtered_list = [x for x in res_list if x]  # Filter out empty strings.
-      paths.append(os.path.join(*filtered_list))
-      if dir_name:
-        paths.append('/'.join([base_path] + relative_path.split('/')[:-1] +
-                              [dir_name] + relative_path.split('/')[-1:] +
-                              [binary_name]))
-  for path in paths:
-    logging.debug('Trying path %s', path)
-    if os.path.isfile(path):
-      logging.debug('  Found binary %s', path)
-      return path
-  # Fall back ot Unix default.
-  return os.path.join(base_path, relative_path, binary_name)
-
-
-def runTest(test_conf):
-    """Run the test configured in test_conf.
-
-    Args:
-      test_conf -- TestConf object to run test for.
-
-    Returns:
-      True on success, False on any errors.
-
-    Side Effects:
-      Errors are printed to stderr.
-    """
-    # Execute the program.
-    logging.debug('runTest(%s)', test_conf)
-    logging.debug('Executing "%s"', ' '.join(test_conf.commandLineArgs()))
-    stdout_file = subprocess.PIPE
-    if test_conf.redir_stdout:
-        logging.debug('  Redirecting stdout to "%s".' % test_conf.redir_stdout)
-        stdout_file = open(test_conf.redir_stdout, 'w+')
-    stderr_file = subprocess.PIPE
-    if test_conf.redir_stderr:
-        logging.debug('  Redirecting stderr to "%s".' % test_conf.redir_stderr)
-        stderr_file = open(test_conf.redir_stderr, 'w+')
-    try:
-        process = subprocess.Popen(test_conf.commandLineArgs(), stdout=stdout_file,
-                                   stderr=stderr_file)
-        retcode = process.wait()
-        logging.debug('  return code is %d', retcode)
-        if retcode != 0:
-            fmt = 'Return code of command "%s" was %d.'
-            print >>sys.stderr, '--- stdout begin --'
-            print >>sys.stderr, fmt % (' '.join(test_conf.commandLineArgs()), retcode)
-            print >>sys.stderr, stdout_file.read()
-            print >>sys.stderr, '--- stdout end --'
-            stdout_file.close()
-            if process.stderr:
-                stderr_contents = process.stderr.read()
-            else:
-                stderr_contents = ''
-            print >>sys.stderr, '-- stderr begin --'
-            print >>sys.stderr, stderr_contents
-            print >>sys.stderr, '-- stderr end --'
-            return False
-    except Exception, e:
-        # Print traceback.
-        import traceback
-        exc_type, exc_value, exc_traceback = sys.exc_info()
-        traceback.print_exception(exc_type, exc_value, exc_traceback)
-        fmt = 'ERROR (when executing "%s"): %s'
-        if stdout_file is not subprocess.PIPE:
-            stdout_file.close()
-        print >>sys.stderr, fmt % (' '.join(test_conf.commandLineArgs()), e)
-        return False
-    # Handle error of program, indicated by return code != 0.
-    if retcode != 0:
-        print >>sys.stderr, 'Error when executing "%s".' % ' '.join(test_conf.commandLineArgs())
-        print >>sys.stderr, 'Return code is %d' % retcode
-        if stdout_file is not subprocess.PIPE:
-            stdout_file.seek(0)
-        stdout_contents = process.stdout.read()
-        if stdout_contents:
-            print >>sys.stderr, '-- stdout begin --'
-            print >>sys.stderr, stdout_contents
-            print >>sys.stderr, '-- stdout end --'
-        else:
-            print >>sys.stderr, '-- stdout is empty --'
-        stderr_contents = process.stderr.read()
-        if stderr_contents:
-            print >>sys.stderr, '-- stderr begin --'
-            print >>sys.stderr, stderr_contents
-            print >>sys.stderr, '-- stderr end --'
-        else:
-            print >>sys.stderr, '-- stderr is empty --'
-    # Close standard out file if necessary.
-    if stdout_file is not subprocess.PIPE:
-        stdout_file.close()
-    # Compare results with expected results, if the expected and actual result
-    # are not equal then print diffs.
-    result = True
-    for tuple_ in test_conf.to_diff:
-        expected_path, result_path = tuple_[:2]
-        binary = False
-        gunzip = False
-        transforms = [NormalizeLineEndingsTransform()]
-        if len(tuple_) >= 3:
-            if tuple_[2] == 'md5':
-                binary = True
-            elif tuple_[2] == 'gunzip':
-                binary = True
-                gunzip = True
-            else:
-                transforms += tuple_[2]
-        try:
-            if gunzip:
-                f = gzip.open(expected_path, 'rb')
-                expected_md5 = md5ForFile(f)
-                f.close()
-                f = gzip.open(result_path, 'rb')
-                result_md5 = md5ForFile(f)
-                f.close()
-                if expected_md5 == result_md5:
-                    continue
-                else:
-                    tpl = (expected_path, expected_md5, result_md5, result_path)
-                    print >>sys.stderr, 'md5(gunzip(%s)) == %s != %s == md5(gunzip(%s))' % tpl
-                    result = False
-            if binary:
-                with open(expected_path, 'rb') as f:
-                    expected_md5 = md5ForFile(f)
-                with open(result_path, 'rb') as f:
-                    result_md5 = md5ForFile(f)
-                if expected_md5 == result_md5:
-                    continue
-                else:
-                    tpl = (expected_path, expected_md5, result_md5, result_path)
-                    print >>sys.stderr, 'md5(%s) == %s != %s == md5(%s)' % tpl
-                    result = False
-            else:
-                with open(expected_path, 'rb') as f:
-                    expected_str = f.read()
-                for t in transforms:
-                    expected_str = t.apply(expected_str, True)
-                with open(result_path, 'rb') as f:
-                    result_str = f.read()
-                for t in transforms:
-                    result_str = t.apply(result_str, False)
-                if expected_str == result_str:
-                    continue
-                fmt = 'Comparing %s against %s'
-                print >>sys.stderr, fmt % (expected_path, result_path)
-                diff = difflib.unified_diff(expected_str.splitlines(),
-                                            result_str.splitlines())
-                for line in diff:
-                    print >>sys.stderr, line
-                result = False
-        except Exception, e:
-            fmt = 'Error when trying to compare %s to %s: %s ' + str(type(e))
-            print >>sys.stderr, fmt % (expected_path, result_path, e)
-            result = False
-    # Call check callable.
-    if test_conf.check_callback:
-        try:
-            test_conf.check_callback()
-        except BadResultException, e:
-            print >>sys.stderr, 'Bad result: ' + str(e)
-            result = False
-        except Exception, e:
-            print >>sys.stderr, 'Error in checker: ' + str(type(e)) + ' ' + str(e)
-            result = False
-    return result
-
-
-class ReplaceTransform(object):
-    """Transformation on left and/or right files to diff."""
-
-    def __init__(self, needle, replacement, left=True, right=True):
-        self.needle = needle
-        self.replacement = replacement
-        self.left = left
-        self.right = right
-
-    def apply(self, text, is_left):
-        if (is_left and not self.left) or (not is_left and not self.right):
-            return text  # Skip if no transform is to be applied.
-        return text.replace(self.needle, self.replacement)
-
-
-class NormalizeLineEndingsTransform(object):
-    """Normalizes line endings to '\n'."""
-
-    def __init__(self, left=True, right=True):
-        self.left = left
-        self.right = right
-
-    def apply(self, text, is_left):
-        if (is_left and not self.left) or (not is_left and not self.right):
-            return text  # Skip if no transform is to be applied.
-        return text.replace('\r\n', '\n')
-
-
-class NormalizeScientificExponentsTransform(object):
-    """Transformation that normalized scientific notation exponents.
-
-    On Windows, scientific numbers are printed with an exponent padded to
-    a width of three with zeros, e.g. 1e003 instead of 1e03 as on Unix.
-
-    This transform normalizes to Unix or Windows.
-    """
-
-    def __init__(self, normalize_to_unix=True):
-        self.normalize_to_unix = normalize_to_unix
-
-    def apply(self, text, is_left):
-        """Apply the transform."""
-        if self.normalize_to_unix:
-            return re.sub(r'([-+]?(?:[0-9]*\.)?[0-9]+[eE][\-+]?)0([0-9]{2})', r'\1\2', text)
-        else:
-            return re.sub(r'([-+]?(?:[0-9]*\.)?[0-9]+[eE][\-+]?)([0-9]{2})', r'\10\2', text)
-
-
-class RegexpReplaceTransform(object):
-    """Transformation that applies regular expression replacement."""
-
-    def __init__(self, needle, replacement, left=True, right=True):
-        self.needle = needle
-        self.replacement = replacement
-        self.left = left
-        self.right = right
-
-    def apply(self, text, is_left):
-        """Apply the transform."""
-        if (is_left and not self.left) or (not is_left and not self.right):
-            return text  # Skip if no transform is to be applied.
-        return re.sub(self.needle, self.replacement, text)
-
-
-class UniqueTransform(object):
-    """Unique sort transformation on left and/or right files to diff."""
-
-    def __init__(self, left=True, right=True):
-        self.left = left
-        self.right = right
-
-    def apply(self, text, is_left):
-        if (is_left and not self.left) or (not is_left and not self.right):
-            return text  # Skip if no transform is to be applied.
-        return ''.join(sorted(set(text.splitlines(True))))
-
-
-def main(main_func, **kwargs):
-    """Run main_func with the first and second positional parameter."""
-    parser = optparse.OptionParser("usage: run_tests [options] SOURCE_ROOT_PATH BINARY_ROOT_PATH")
-    parser.add_option('-v', '--verbose', dest='verbose', action='store_true')
-    parser.add_option('--valgrind', dest='valgrind', action='store_true')
-    (options, args) = parser.parse_args()
-    if len(args) != 2:
-        parser.error('Incorrect number of arguments!')
-        return 2
-    if options.verbose:
-        logging.root.setLevel(logging.DEBUG)
-    if options.valgrind:
-        TestConf.valgrind = True
-    return main_func(args[0], args[1], **kwargs)
diff --git a/util/py_lib/seqan/auto_build.py b/util/py_lib/seqan/auto_build.py
deleted file mode 100755
index 9ae7e27..0000000
--- a/util/py_lib/seqan/auto_build.py
+++ /dev/null
@@ -1,532 +0,0 @@
-#!/usr/bin/env python2
-"""
-Automatic building of SeqAn apps and releases.
-"""
-
-from __future__ import print_function
-
-import subprocess
-import optparse
-import os.path
-import re
-import sys
-import shutil
-import tempfile
-
-# The git command to use.
-GIT_BINARY='git'
-# The CMake command to use.
-CMAKE_BINARY='cmake'
-
-# The default repository URL.
-REPOSITORY_URL='https://github.com/seqan/seqan.git'
-# The path to the package repository.
-DEFAULT_PACKAGE_DB='.'
-
-# Regular expression to use for tag names.
-TAG_RE=r'.*-v\d+\.\d+\.\d(-\w+)?'
-
-class MinisculeGitWrapper(object):
-    """Minimal git wrapper."""
-
-    def lsRemote(self, url):
-        """Execute 'git ls-remote ${url} --tags'."""
-        # Execute ls-remote command.
-        print('Executing "%s %s %s"' % (GIT_BINARY, 'ls-remote --tags', url), file=sys.stderr)
-        popen = subprocess.Popen([GIT_BINARY, 'ls-remote', '--tags', url],
-                                 stdout=subprocess.PIPE)
-        out_data, err_data = popen.communicate()
-        print('  => %d' % popen.returncode, file=sys.stderr)
-        if popen.returncode != 0:
-            print('ERROR during git call.', file=sys.stderr)
-            return 1
-        # Parse out revisions and tags names.
-        lines = out_data.splitlines()
-        revs_tags = [(line.split()[0], line.split()[-1]) for line in lines]
-        res = []
-        for rev, tag in revs_tags:
-            if '^{}' in tag:
-                continue  # Skip with ^{} in tag name
-            tag2 = tag[10:]
-            res.append((rev, tag2))
-        return res
-
-    def checkout(self, path, treeish):
-        """Execute "git checkout" in the checkout at path."""
-        # Executing git checkout.
-        args = [GIT_BINARY, 'checkout', treeish]
-        print('Executing "%s" in "%s"' % (' '.join(args), path), file=sys.stderr)
-        popen = subprocess.Popen(args, cwd=path)
-        out_data, err_data = popen.communicate()
-        if popen.returncode != 0:
-            print('ERROR during git call.', file=sys.stderr)
-        # Executing force resetting to current revision.
-        args = [GIT_BINARY, 'rm', '--cached', '.']
-        print('Executing "%s" in "%s"' % (' '.join(args), path), file=sys.stderr)
-        popen = subprocess.Popen(args, cwd=path)
-        out_data, err_data = popen.communicate()
-        if popen.returncode != 0:
-            print('ERROR during git call.', file=sys.stderr)
-        args = [GIT_BINARY, 'reset', '--hard']
-        print('Executing "%s" in "%s"' % (' '.join(args), path), file=sys.stderr)
-        popen = subprocess.Popen(args, cwd=path)
-        out_data, err_data = popen.communicate()
-        if popen.returncode != 0:
-            print('ERROR during git call.', file=sys.stderr)
-        return popen.returncode
-
-    def archive(self, path, treeish, output, prefix):
-        """Execute git archive."""
-        args = [GIT_BINARY, 'archive', '--prefix=%s/' % prefix, '--output=%s' % output, treeish]
-        print('Executing "%s" in "%s"' % (' '.join(args), path), file=sys.stderr)
-        popen = subprocess.Popen(args, cwd=path)
-        out_data, err_data = popen.communicate()
-        if popen.returncode != 0:
-            print('ERROR during git call.', file=sys.stderr)
-        return popen.returncode
-
-    def clone(self, url, tag, dest_dir):
-        """Execute 'git clone ${url} ${dest_dir}' and then get specific tag."""
-        # Clone repository
-        args = [GIT_BINARY, 'clone', url, dest_dir]
-        print('Executing "%s"' % ' '.join(args), file=sys.stderr)
-        popen = subprocess.Popen(args)
-        popen.wait()
-        print('  => %d' % popen.returncode, file=sys.stderr)
-        if popen.returncode != 0:
-            return popen.returncode
-        return self.checkout(dest_dir, tag)
-
-
-class Package(object):
-    """Represent a package with a given name, version, OS and architeture."""
-
-    def __init__(self, name, version, os, word_size, pkg_format):
-        self.name = name
-        self.version = version
-        self.os = os
-        self.word_size = word_size
-        SYS_NAMES = {'Windows': {'32': 'win32-i686', '64': 'win64-x86_64'},
-                     'Linux': {'32': 'Linux-i686', '64': 'Linux-x86_64'},
-                     'Mac': {'32': 'Darwin-i686', '64': 'Darwin-x86_64'}}
-        self.system_name = SYS_NAMES[os][word_size]
-        self.pkg_format = pkg_format
-
-    def fileName(self):
-        if self.name == 'seqan-library':
-            return '%s-%s.%s' % (self.name, self.version, self.pkg_format)
-        else:
-            return '%s-%s-%s.%s' % (self.name, self.version, self.system_name,
-                                    self.pkg_format)
-
-
-class BuildStep(object):
-    """Management of one build step."""
-
-    def __init__(self, path, treeish, name, version, os, word_size, pkg_formats,
-                 repository_url, make_args, options, tmp_dir=None):
-        self.base_path = path
-        self.treeish = treeish
-        self.name = name
-        self.version = version.split('-', 1)[0]
-        print ( 'Version: %s Self.Version: %s' % (version, self.version), file=sys.stdout)
-        self.major_version = int(self.version.split('.')[0])
-        print ( 'Major_Version: %s' % self.major_version, file=sys.stdout)
-        self.minor_version = int(self.version.split('.')[1])
-        print ( 'Minor_Version: %s' % self.minor_version, file=sys.stdout)
-        self.patch_version = 0
-        if len(self.version.split('.')) > 2:
-            self.patch_version = int(self.version.split('.')[2])
-        self.version = '%d.%d.%d' % (self.major_version, self.minor_version, self.patch_version)
-        print ( 'Self_Version: %s' % self.version, file=sys.stdout)
-        self.os = os
-        self.word_size = word_size
-        self.pkg_formats = pkg_formats
-        if name == 'seqan':
-            self.packages = [Package(name + suffix, self.version, os, word_size, f)
-                             for f in pkg_formats for suffix in ['-apps', '-library']]
-        else:
-            self.packages = [Package(name, self.version, os, word_size, f)
-                             for f in pkg_formats]
-        self.repository_url = repository_url
-        self.make_args = make_args
-        self.options = options
-        # If set then this is used instead of a random name in TMPDIR.
-        self.tmp_dir = tmp_dir
-
-    def buildNeeded(self):
-        """Returns whether one of the package files is missing."""
-        for p in self.packages:
-            package_path = os.path.join(self.base_path, p.name, p.fileName())
-            if 'x86' in package_path and 'x86_64' not in package_path:  # fix processor name
-                package_path = package_path.replace('x86', 'x86_64')
-            if 'win32' in package_path or 'win64' in package_path:  # fix OS name
-                package_path = package_path.replace('win32', 'Windows').replace('win64', 'Windows')
-            if 'Darwin' in package_path:  # fix OS name
-                package_path = package_path.replace('Darwin', 'Mac')
-            if not os.path.exists(package_path):
-                if self.options.verbosity >= 1:
-                    print('File %s does not exist yet.' % package_path, file=sys.stderr)
-                return True
-            elif self.options.verbosity >= 1:
-                print('File %s exists.' % package_path, file=sys.stderr)
-        return False
-
-    def copyArchives(self, build_dir):
-        """Copy built packages to base_path directory."""
-        for p in self.packages:
-            from_ = os.path.join(build_dir, p.fileName())
-            if os.path.exists(from_):
-                to = os.path.join(self.base_path, p.name, os.path.basename(from_))
-                if not os.path.exists(os.path.dirname(to)):  # Create directory if necessary.
-                    os.makedirs(os.path.dirname(to))
-                print("Copying %s => %s" % (from_, to), file=sys.stderr)
-                if 'x86' in to and 'x86_64' not in to:  # fix processor name
-                    to = to.replace('x86', 'x86_64')
-                if 'win32' in to or 'win64' in to:  # fix OS name
-                    to = to.replace('win32', 'Windows').replace('win64', 'Windows')
-                if 'Darwin' in to:  # fix OS name
-                    to = to.replace('Darwin', 'Mac')
-                shutil.copyfile(from_, to)
-            else:
-                print('%s does not exist (not fatal)' % from_, file=sys.stderr)
-
-    def buildSeqAnRelease(self, checkout_dir, build_dir):
-        """Build SeqAn release: Apps and library build."""
-        # Build seqan-apps.
-        #
-        # Create build directory.
-        if not os.path.exists(build_dir):
-            print('Creating build directory %s' % (build_dir,), file=sys.stderr)
-            os.mkdir(build_dir)
-        # Execute CMake.
-        cmake_args = [CMAKE_BINARY, checkout_dir,
-                      '-DSEQAN_BUILD_SYSTEM=SEQAN_RELEASE_APPS']
-        # Use appropriate CMake flags for OS and processor.
-        # Use appropriate CMake flags for OS and processor.
-        if self.word_size == '32':
-            cmake_args.append('-DSEQAN_SYSTEM_PROCESSOR=i686')
-            if self.os != 'Windows':
-                cmake_args.append('-DCMAKE_CXX_FLAGS=-m32')
-            else:
-                cmake_args += ['-G', 'Visual Studio 10']
-        else:  # self.word_size == '64'
-            cmake_args.append('-DSEQAN_SYSTEM_PROCESSOR=x86_64')
-            if self.os == 'Windows':
-                cmake_args += ['-G', 'Visual Studio 10 Win64']
-        print('Executing CMake: "%s"' % (' '.join(cmake_args),), file=sys.stderr)
-        popen = subprocess.Popen(cmake_args, cwd=build_dir, env=os.environ.copy())
-        out_data, err_data = popen.communicate()
-        if popen.returncode != 0:
-            print('ERROR during make call.', file=sys.stderr)
-            print(out_data, file=sys.stderr)
-            print(err_data, file=sys.stderr)
-            return 1
-        # Execute Make.
-        cmake_args = [CMAKE_BINARY, '--build', build_dir, '--target', 'package', '--config', 'Release', '--'] + self.make_args
-        print('Building with CMake: "%s"' % (' '.join(cmake_args),), file=sys.stderr)
-        popen = subprocess.Popen(cmake_args, cwd=build_dir, env=os.environ.copy())
-        out_data, err_data = popen.communicate()
-        if popen.returncode != 0:
-            print('ERROR during make call.', file=sys.stderr)
-            print(out_data, file=sys.stderr)
-            print(err_data, file=sys.stderr)
-            return 1
-        # Copy over the archives.
-        self.copyArchives(build_dir)
-        # Remove build directory.
-        if not self.options.keep_build_dir:
-            print('Removing build directory %s' % build_dir, file=sys.stderr)
-            shutil.rmtree(build_dir)
-        # Build seqan-library.
-        #
-        # Create build directory.
-        if not os.path.exists(build_dir):
-            print("Creating build directory %s" % (build_dir,), file=sys.stderr)
-            os.mkdir(build_dir)
-        # Execute CMake.
-        cmake_args = [CMAKE_BINARY, checkout_dir,
-                      "-DSEQAN_BUILD_SYSTEM=SEQAN_RELEASE_LIBRARY"]
-        print('Executing CMake: "%s"' % (' '.join(cmake_args),), file=sys.stderr)
-        popen = subprocess.Popen(cmake_args, cwd=build_dir, env=os.environ.copy())
-        out_data, err_data = popen.communicate()
-        if popen.returncode != 0:
-            print('ERROR during make call.', file=sys.stderr)
-            print(out_data, file=sys.stderr)
-            print(err_data, file=sys.stderr)
-            return 1
-        # Build Docs
-        cmake_args = [CMAKE_BINARY, '--build', build_dir, '--target', 'docs', '--'] + self.make_args
-        print('Building with CMake: "%s"' % (' '.join(cmake_args),), file=sys.stderr)
-        popen = subprocess.Popen(cmake_args, cwd=build_dir, env=os.environ.copy())
-        out_data, err_data = popen.communicate()
-        if popen.returncode != 0:
-            print('ERROR during make dox call.', file=sys.stderr)
-            print(out_data, file=sys.stderr)
-            print(err_data, file=sys.stderr)
-        # Execute Make.
-        cmake_args = [CMAKE_BINARY, '--build', build_dir, '--target', 'package', '--'] + self.make_args
-        print('Building with CMake: "%s"' % (' '.join(cmake_args),), file=sys.stderr)
-        popen = subprocess.Popen(cmake_args, cwd=build_dir, env=os.environ.copy())
-        out_data, err_data = popen.communicate()
-        if popen.returncode != 0:
-            print('ERROR during make call.', file=sys.stderr)
-            print(out_data, file=sys.stderr)
-            print(err_data, file=sys.stderr)
-            return 1
-        self.copyArchives(build_dir)
-        # Remove build directory.
-        if not self.options.keep_build_dir:
-            print('Removing build directory %s' % build_dir, file=sys.stderr)
-            shutil.rmtree(build_dir)
-
-    def buildApp(self, checkout_dir, build_dir):
-        """Build an application."""
-        # Create build directory.
-        print("Creating build directory %s" % (build_dir,), file=sys.stderr)
-        if not os.path.exists(build_dir):
-            os.mkdir(build_dir)
-        # Execute CMake.
-        cmake_args = [CMAKE_BINARY, checkout_dir,# '-G', 'Visual Studio 10',
-                      "-DCMAKE_BUILD_TYPE=Release",
-                      "-DSEQAN_BUILD_SYSTEM=APP:%s" % self.name,
-                      "-DSEQAN_APP_VERSION=%d.%d.%d" %
-                        (self.major_version, self.minor_version, self.patch_version)]
-        # Use appropriate CMake flags for OS and processor.
-        if self.word_size == '32':
-            cmake_args.append('-DSEQAN_SYSTEM_PROCESSOR=i686')
-            if self.os != 'Windows':
-                cmake_args.append('-DCMAKE_CXX_FLAGS=-m32')
-            else:
-                cmake_args += ['-G', 'Visual Studio 10']
-        else:  # self.word_size == '64'
-            cmake_args.append('-DSEQAN_SYSTEM_PROCESSOR=x86_64')
-            if self.os == 'Windows':
-                cmake_args += ['-G', 'Visual Studio 10 Win64']
-        print('Executing CMake: "%s"' % (' '.join(cmake_args),), file=sys.stderr)
-        #for key in sorted(os.environ.keys()):
-        #    print(key, ': ', os.environ[key], file=sys.stderr)
-        popen = subprocess.Popen(cmake_args, cwd=build_dir, env=os.environ.copy())
-        out_data, err_data = popen.communicate()
-        if popen.returncode != 0:
-            print('ERROR during make call.', file=sys.stderr)
-            print(out_data, file=sys.stderr)
-            print(err_data, file=sys.stderr)
-            return 1
-        # Build and package project.
-        make_args = [CMAKE_BINARY, '--build', build_dir, '--target', 'package', '--config', 'Release']
-        if self.options.verbosity > 1:
-            make_args.insert(1, 'VERBOSE=1')
-        print('Building with CMake: "%s"' % (' '.join(make_args),), file=sys.stderr)
-        popen = subprocess.Popen(make_args, cwd=build_dir)
-        out_data, err_data = popen.communicate()
-        if popen.returncode != 0:
-            print('ERROR during make call.', file=sys.stderr)
-            print(out_data, file=sys.stderr)
-            print(err_data, file=sys.stderr)
-            return 1
-        # Copy out archives.
-        self.copyArchives(build_dir)
-        # Remove build directory.
-        if not self.options.keep_co_dir:
-            print('Removing build directory %s' % build_dir, file=sys.stderr)
-            shutil.rmtree(build_dir)
-
-    def tmpDir(self):
-      print('self.tmp_dir = %s' % self.tmp_dir, file=sys.stderr)
-      if self.tmp_dir:
-        if not os.path.exists(self.tmp_dir):
-          os.makedirs(self.tmp_dir)
-        return self.tmp_dir
-      else:
-        return tempfile.mkdtemp()
-
-    def execute(self):
-        """Execute build step."""
-        # Create temporary directory.
-        tmp_dir = self.tmpDir()
-        print('Temporary directory is %s' % (tmp_dir,), file=sys.stderr)
-        # Create Git checkout in temporary directory.
-        checkout_dir = os.path.join(tmp_dir, os.path.basename(self.repository_url))
-        print('Creating checkout in %s' % checkout_dir, file=sys.stderr)
-        git = MinisculeGitWrapper()
-        git.clone(self.repository_url, self.treeish, checkout_dir)
-        # Create build directory.
-        suffix = '-build-%s-%s' % (self.os, self.word_size)
-        build_dir = os.path.join(tmp_dir, os.path.basename(self.repository_url) + suffix)
-        if os.path.exists(build_dir) and not self.options.keep_build_dir:
-            print('Removing build directory %s' % (build_dir,), file=sys.stderr)
-            shutil.rmtree(build_dir)
-        # insert app tags
-        subprocess.call(['../tag-apps.sh', checkout_dir])
-        # Perform the build.  We have to separate between app and whole SeqAn releases.
-        if self.name == 'seqan':
-            self.buildSeqAnRelease(checkout_dir, build_dir)
-        else:
-            self.buildApp(checkout_dir, build_dir)
-        if not self.options.keep_co_dir:
-            print('Removing checkout directory %s' % (checkout_dir,), file=sys.stderr)
-            shutil.rmtree(checkout_dir)
-        # Remove temporary directory again.
-        if self.tmp_dir and not self.options.keep_tmp_dir:
-            # Only remove if not explicitely given and not forced to keep.
-            print('Removing temporary directory %s' % (tmp_dir,), file=sys.stderr)
-            shutil.rmtree(tmp_dir)
-
-
-def workTags(options):
-    """Run the individual steps for tags."""
-    # Get the revisions and tag names.
-    git = MinisculeGitWrapper()
-    #revs_tags = [(rev, tag) for (rev, tag) in git.lsRemote(options.repository_url)
-                 #if re.match(TAG_RE, tag)]
-    tags = [tag for (rev, tag) in git.lsRemote(options.repository_url)
-           if re.match(TAG_RE, tag)]
-    tags.extend(subprocess.check_output(['../tag-apps.sh', os.getcwd(), 'printonly']).split('\n'))
-    # Enumerate all package names that we could enumerate.
-    print('tags = %s' % tags, file=sys.stderr)
-    print('word_sizes = %s' % options.word_sizes, file=sys.stderr)
-    for tag in tags:
-        name, version = tag.rsplit('-v', 1)
-        #version = version[1:]
-        print ('Tag: %s Name: %s Version: %s' % (tag, name, version), file=sys.stdout)
-        for word_size in options.word_sizes.split(','):
-            # Create build step for this package name.
-            pkg_formats = options.package_formats.split(',')
-            build_step = BuildStep(options.package_db, tag, name, version, options.os,
-                                   word_size, pkg_formats, options.repository_url,
-                                   options.make_args.split(), options, options.tmp_dir)
-            # Check whether we need to build this.
-            if not build_step.buildNeeded():
-                continue  # Skip
-            # Execute build step.
-            build_step.execute()
-    return 0
-
-
-def workTrunk(options):
-    """Run the individual steps for the trunk with fake tag name."""
-    # Get the revisions and tag names.
-    git = MinisculeGitWrapper()
-    # Enumerate all package names that we could enumerate.
-    print('fake tag = %s' % options.build_trunk_as, file=sys.stderr)
-    print('word_sizes = %s' % options.word_sizes, file=sys.stderr)
-    name, version = options.build_trunk_as.rsplit('-', 1)
-    version = version[1:]
-    for word_size in options.word_sizes.split(','):
-        # Create build step for this package name.
-        pkg_formats = options.package_formats.split(',')
-        build_step = BuildStep(options.package_db, 'master', name, version, options.os,
-                               word_size, pkg_formats, options.repository_url,
-                               options.make_args.split(), options, options.tmp_dir)
-        # Check whether we need to build this.
-        if not build_step.buildNeeded():
-            continue  # Skip
-        # Execute build step.
-        build_step.execute()
-    return 0
-
-
-def workSrcTar(options):
-    """Build the source tarball."""
-    # Get the revisions and tag names.
-    git = MinisculeGitWrapper()
-    revs_tags = [(rev, tag) for (rev, tag) in git.lsRemote(options.repository_url)
-                 if re.match(TAG_RE, tag)]
-    # Enumerate all package names that we could enumerate.
-    for rev, tag in revs_tags:
-        # Build URL.
-        name, version = tag.rsplit('-', 1)
-        version = version[1:]  # remove prefix "v"
-        if name != 'seqan':
-            continue  # only build source tarballs for seqan
-        # Create destination file name.
-        file_name = '%s-src-%s.tar.gz' % (name, version)
-        dest = os.path.join(options.package_db, '%s-src' % name, file_name)
-        # Check whether we need to rebuild.
-        if os.path.exists(dest):
-            print('Skipping %s; already exists.' % dest, file=sys.stderr)
-            continue
-        # Create temporary directory.
-        if options.tmp_dir:
-            if not os.path.exists(options.tmp_dir):
-                os.makedirs(options.tmp_dir)
-            tmp_dir = options.tmp_dir
-        else:
-            tmp_dir = tempfile.mkdtemp()
-        print('Temporary directory is %s' % tmp_dir, file=sys.stderr)
-        # Create git checkout in temporary directory.
-        checkout_dir = os.path.join(tmp_dir, tag)
-        print('Creating checkout in %s' % checkout_dir, file=sys.stderr)
-        from_ = os.path.join(tmp_dir, file_name)
-        git.clone(options.repository_url, tag, checkout_dir)
-        # Create target directory if it does not exist yet.
-        if not os.path.exists(os.path.dirname(dest)):  # Create directory if necessary.
-            os.makedirs(os.path.dirname(dest))
-        # Create tarball.
-        git.archive(checkout_dir, tag, dest, prefix='%s-%s' % (name, version))
-        # Remove temporary directory again.
-        if tmp_dir and not options.keep_tmp_dir:
-            # Only remove if not explicitely given and not forced to keep.
-            print('Removing temporary directory %s' % (tmp_dir,), file=sys.stderr)
-            shutil.rmtree(tmp_dir)
-    return 0
-
-
-def work(options):
-    """Run the steps."""
-    if options.src_tar:
-        return workSrcTar(options)
-    elif not options.build_trunk_as:
-        return workTags(options)
-    else:
-        return workTrunk(options)
-
-
-def main():
-    """Program entry point."""
-    # Parse Arguments.
-    parser = optparse.OptionParser()
-
-    parser.add_option('-u', '--repository-url', default=REPOSITORY_URL,
-                      help='The git repository URL.', metavar='URL')
-    parser.add_option('--package-db', dest='package_db', type='string',
-                      default=DEFAULT_PACKAGE_DB,
-                      help='Path the directory with the packages.')
-
-    parser.add_option('--src-tar', dest='src_tar', action='store_true',
-                      help='If specified then only the src tarball will be created')
-    parser.add_option('-v', dest='verbosity', action='count', default=1,
-                      help='Increase verbosity.')
-    parser.add_option('--package-formats', dest='package_formats',
-                      default='tar.bz2,zip',
-                      help='Expect the following packages to be created.')
-    parser.add_option('--os', dest='os', help='Expect the packages to be created for this OS.',
-                      default='Linux')
-    parser.add_option('--word-sizes', dest='word_sizes', default='32,64',
-                      help='Build binaries with the given word sizes')
-    parser.add_option('--make-args', dest='make_args', type="string", default='',
-                      help='Arguments for make.')
-    parser.add_option('--tmp-dir', dest='tmp_dir', type='string', default=None,
-                      help='Temporary directory to use. Use this to reuse the same checkout.')
-    parser.add_option('--build-trunk-as', dest='build_trunk_as', type='string', default=None,
-                      help='Build current trunk with this string as a tag name.')
-    parser.add_option('--keep-build-dir', dest='keep_build_dir', default=False,
-                      action='store_true', help='Keep build directory.')
-    parser.add_option('--keep-tmp-dir', dest='keep_tmp_dir', default=False,
-                      action='store_true', help='Keep temporary directory.')
-    parser.add_option('--keep-co-dir', dest='keep_co_dir', default=False,
-                      action='store_true', help='Keep checkout directory.')
-    parser.epilog = ('The program will use the environment variable TMPDIR as '
-                     'the directory for temporary files.')
-
-    options, args = parser.parse_args()
-    if args:
-        parser.error('No arguments expected!')
-        return 1
-
-    options.package_db = os.path.abspath(options.package_db)
-
-    # Fire up work.
-    print('Running SeqAn Auto Builder', file=sys.stderr)
-    return work(options)
diff --git a/util/py_lib/seqan/dddoc/__init__.py b/util/py_lib/seqan/dddoc/__init__.py
deleted file mode 100644
index a576e73..0000000
--- a/util/py_lib/seqan/dddoc/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env python2
-
-import main as m
-import sys
-
-def main():
-    sys.exit(m.main(sys.argv))
diff --git a/util/py_lib/seqan/dddoc/core.py b/util/py_lib/seqan/dddoc/core.py
deleted file mode 100644
index a168a16..0000000
--- a/util/py_lib/seqan/dddoc/core.py
+++ /dev/null
@@ -1,1033 +0,0 @@
-#!/usr/bin/env python2
-
-import copy
-import operator
-import os
-import os.path
-import pickle
-import string
-import sys
-
-# Constant for C++ files.
-FILETYPE_CPP = 2
-# Constant for DDDOC files.
-FILETYPE_DDDOC = 1
-# Constant for none of the above.
-FILETYPE_OTHER = 0
-
-SOURCE_ENCODING = 'iso8859-1'
-
-# Extension of C++ files.
-CPP_EXTS = ['c', 'C', 'cpp', 'CPP', 'c++', 'C++', 'h', 'H', 'hpp', 'HPP',
-            'h++', 'H++']
-# Extensions of DDDOC files.
-DDDOC_EXTS = ['dddoc', 'DDDOC']
-
-# List of ignored directory names.
-IGNORED_DIRS = ['CSV', '.svn', 'seeds2', 'find2', 'cmake']
-
-DATA = None
-ID = 0
-
-# Text attribute node keys.
-TEXT_ATTRIBUTE_KEYS = set(['text', 'table', 'tableheader', 'code', 'console', 'section',
-                           'subsection', 'image', 'contents', 'note', 'file', 'snippet',
-                           'output'])
-
-# Nodes having paths matching the following patterns are considered text
-# container nodes.  Their children having only one more component which is in
-# TEXT_ATTRIBUTE_KEYS are processed in a special way.  The last component is
-# replaced with 'text' and their content is prefixed by "type=$key:" where $key
-# is the original key.  The content of the text container nodes is prefixed with
-# "type=$text:" and moved to a child with key 'text'.
-TEXT_CONTAINER_PATHS = [
-    'Indexpage.*.description',
-    'Page.*.description',
-    'Page.*.summary',
-    'Page.*.glossary.*',
-    'Function.*.example',
-    'Function.*.summary',
-    'Function.*.description',
-    'Function.*.remarks',
-    'Function.*.status',
-    'Class.*.example',
-    'Class.*.summary',
-    'Class.*.description',
-    'Class.*.remarks',
-    'Class.*.status',
-    'Metafunction.*.example',
-    'Metafunction.*.summary',
-    'Metafunction.*.description',
-    'Metafunction.*.remarks',
-    'Metafunction.*.status',
-    'Memfunc.*.example',
-    'Memfunc.*.summary',
-    'Memfunc.*.description',
-    'Memfunc.*.remarks',
-    'Memfunc.*.status',
-    'Memvar.*.example',
-    'Memvar.*.summary',
-    'Memvar.*.description',
-    'Memvar.*.remarks',
-    'Memvar.*.status',
-    'Macro.*.example',
-    'Macro.*.summary',
-    'Macro.*.description',
-    'Macro.*.remarks',
-    'Macro.*.status',
-    'Enum.*.example',
-    'Enum.*.summary',
-    'Enum.*.description',
-    'Enum.*.remarks',
-    'Enum.*.status',
-    'Spec.*.example',
-    'Spec.*.summary',
-    'Spec.*.description',
-    'Spec.*.remarks',
-    'Spec.*.status',
-    'Shortcut.*.example',
-    'Shortcut.*.summary',
-    'Shortcut.*.description',
-    'Shortcut.*.remarks',
-    'Shortcut.*.status',
-    'Tag.*.example',
-    'Tag.*.summary',
-    'Tag.*.description',
-    'Tag.*.remarks',
-    'Tag.*.status',
-    'Typedef.*.example',
-    'Typedef.*.summary',
-    'Typedef.*.description',
-    'Typedef.*.remarks',
-    'Typedef.*.status',
-    'Demo.*.summary',
-    'Demo.*.description',
-    'Demo.*.remarks',
-    'Demo.*.output',
-    'Adaption.*.example',
-    'Adaption.*.summary',
-    'Adaption.*.description',
-    'Adaption.*.remarks',
-    'Adaption.*.status',
-    'Concept.*.example',
-    'Concept.*.summary',
-    'Concept.*.description',
-    'Concept.*.remarks',
-    'Concept.*.status',
-    ]
-
-def _pathsMatch(path1, path2):
-    """Compare two paths with wildcards."""
-    if not type(path1) is list:
-        path1 = splitKeys(path1[int(path1[0] == '.'):], '.')  # Strip leading '.', if any.
-    if not type(path2) is list:
-        path2 = splitKeys(path2[int(path2[0] == '.'):], '.')
-    if len(path1) != len(path2):
-        return False
-    for i, p1 in enumerate(path1):
-        p2 = path2[i]
-        if not (p1 == '*' or p2 == '*' or p1 == p2):
-            return False
-    return True
-
-
-def transformDddocEntry(entry):
-    """Performs the text container node transformations.
-
-    Returns list of entries to add if any.
-    """
-    for path in TEXT_CONTAINER_PATHS:
-        if _pathsMatch(path, entry.path) and entry.content:  # Is text container.
-            new_entry = copy.deepcopy(entry)
-            new_entry.content = 'type=text:' + entry.content
-            entry.content = ''
-            return [new_entry]  # Done.
-        if not entry.path[-1] in TEXT_ATTRIBUTE_KEYS:
-            continue  # Skip if last component does not match.
-        if not _pathsMatch(path, entry.path[:-1]):
-            continue  # Skip non-matching path.
-        # If we reach here, it is a text node.
-        ## print 'TRANSFORMING ', entry
-        last = entry.path[-1]
-        entry.path = entry.path[:-1]
-        entry.content = 'type=' + last + ':' + entry.content
-        ## print '  to ', entry
-        return []  # Done
-    return []  # No updates.
-
-
-class FileCache(object):
-    """Simple file contents cache.
-
-    Maps paths to (mtime, file contents) pairs.
-
-    Attrs:
-
-        path     Path to the cache file.
-        content  Dict with cache content mapping file name to pair of mtime
-                 and data associated with the cache.
-    """
-    
-    def __init__(self, path):
-        self.path = path
-        self.content = {}
-        self._tryLoad()
-
-    def _tryLoad(self):
-        try:
-            with open(self.path, 'rb') as f:
-                self.content = pickle.load(f)
-        except:
-            print >>sys.stderr, 'Could not load cache %s' % self.path
-            return False
-        print >>sys.stderr, 'Successfully loaded cache %s' % self.path
-        return True
-
-    def flush(self):
-        """Store the cache to its file."""
-        try:
-            with open(self.path, 'wb') as f:
-                pickle.dump(self.content, f)
-        except:
-            print >>sys.stderr, 'Could not store cache %s' % self.path
-            return False
-        print >>sys.stderr, 'Successfully stored cache %s' % self.path
-        return True
-
-    def has_key(self, key):
-        """Returns True if the cache has data for this key."""
-        return self.content.has_key(key)
-
-    def isFresh(self, filename):
-        """Returns True if the cache is fresh.
-
-        The cache is fresh if the file at the given path is not newer than the
-        data in the cache.
-        """
-        if not self.has_key(filename):
-            return False
-        mtime = os.stat(filename).st_mtime
-        return mtime >= self.content[filename][0]
-
-    def get(self, key, defaultValue=None):
-        """Return content of the given entry."""
-        return self.content.get(key, (None, defaultValue))[1]
-
-    def set(self, filename, value):
-        """Set cache content and mtime."""
-        mtime = os.stat(filename).st_mtime
-        self.content[filename] = (mtime, value)
-
-
-class DddocEntry(object):
-    def __init__(self, path, content, filename, line_no_begin, line_no_end):
-        self.path = path
-        self.content = content
-        self.filename = filename
-        self.line_no_begin = line_no_begin
-        self.line_no_end = line_no_end
-
-    def __str__(self):
-        tpl = ('DddocEntry(path=%s, content=%s, filename=%s, line_no_begin=%s, '
-               'line_no_end=%s)')
-        values = (self.path, self.content, self.filename, self.line_no_begin,
-                  self.line_no_end)
-        return tpl % tuple(map(repr, values))
-
-    def __repr__(self):
-        return self.__str__()
-
-    @classmethod
-    def cmpPathLocation(klass, lhs, rhs):
-        """Comparator, by entry path then filename and line number."""
-        lhs_t = (lhs.path, lhs.filename, lhs.line_no_begin)
-        rhs_t = (rhs.path, rhs.filename, rhs.line_no_begin)
-        if lhs_t < rhs_t:
-            return -1
-        elif lhs_t > rhs_t:
-            return 1
-        else:
-            return 0
-
-
-def splitKeys(text, delimiters, limit=None, _cache={}):
-    """Splitting that considers escaping of keys using quotes.
-
-        >>> splitKeys('.Adaption.\'std::string\'.summary')
-        ['', 'Adaption', '\'std::string\'', 'summary']
-    """
-    if '\u0001' in text:
-        text = text.split('\u0001', 1)[0]  # Remove optional label, used in inheritance.
-    if _cache.has_key((text, delimiters)):
-        return _cache[(text, delimiters)]
-    count = 0
-    current = []
-    result = []
-    str_delimiter = None
-    for i in range(0, len(text)):
-        # Handle text in strings.
-        if str_delimiter:
-            if text[i] == str_delimiter:
-                str_delimiter = None
-            current.append(text[i])
-            continue
-        elif text[i] in '\'"':
-            str_delimiter = text[i]
-            current.append(text[i])
-            continue
-        # Handle non-in-string text.
-        if text[i] in delimiters:
-            result.append(''.join(current))
-            current = []
-            count += 1
-            if limit and count >= limit:
-                result.append(text[i+1:])
-                _cache[(text, delimiters)] = result
-                return result
-        else:
-            current.append(text[i])
-    result.append(''.join(current))
-    _cache[(text, delimiters)] = result
-    return result
-
-
-def cleanPath(path_arr):
-    """Takes a list with a path and cleans its element.
-
-    Cleaning its element currently only consists in removing singel and double
-    quotes.
-    """
-    def _cleanPathElement(x):
-        return x.strip().replace('\'', '').replace('"', '')
-    return map(_cleanPathElement, path_arr)
-
-
-class FileLoader(object):
-    """File loader helper class.
-
-    Attrs:
-
-        cache    FileCache to use for caching.
-        entries  List of DddocEntries objects.
-    """
-    
-    def __init__(self, cache):
-        self.cache = cache
-        self.entries = []
-
-    def _loadDDDOCFile(self, filename, cache):  # TODO(holtgrew): Make Top-Level Function?
-        # Try to load from cache.
-        if cache.isFresh(filename):
-            return cache.get(filename)
-
-        # Load file.
-        with open(filename, 'rb') as f:
-            text = [x.decode(SOURCE_ENCODING).encode("ascii", "xmlcharrefreplace") for x in f.readlines()]
-        cache.set(filename, text)
-        return text
-
-    def _loadCPPFile(self, filename, cache):  # TODO(holtgrew): Make Top-Level Function?
-        if cache.isFresh(filename):
-            return cache.get(filename)
-
-        # TODO(holtgrew): This looks overly complicated.
-        f = open(filename)
-        lines = [x.decode(SOURCE_ENCODING).encode("ascii", "xmlcharrefreplace") for x in f.readlines()]
-        f.close()
-
-        ret = []
-
-        #test for SEQAN_NO_DDDOC
-        for line in lines:
-            if line.find("SEQAN_NO_DDDOC") >= 0:
-                cache.set(filename, ret)
-                return ret;
-
-
-        incomment = False
-        innextcomment = False
-        inextract = False
-
-        for line in lines:
-            line = line.rstrip()
-            str_line = ""
-            if len(line) == 0:
-                if not innextcomment and not incomment: 
-                    str_line = "."
-                else: 
-                    str_line = " "
-
-            while len(line) > 0 :
-                if innextcomment:
-                    if line[len(line)-1] == "\\" :
-                        if inextract: str_line += line[: len(line)-1]
-                    else:
-                        if inextract: str_line += line
-                        innextcomment = False
-                    break
-
-                elif incomment:
-                    pos1 = line.find("*/")
-                    if pos1 < 0:
-                        if inextract: str_line += line;
-                        break;
-                    else:
-                        if inextract: 
-                            str_line += line[:pos1];
-                            line = line[pos1 + 3:];
-                        else:
-                            line = line[pos1 + 2:];
-                        incomment = False;
-
-                else:
-                    pos1 = line.find("/*")
-                    pos2 = line.find("//")
-                    pos3 = line.find('"')
-                    if (pos1 >= 0) and ((pos2 < 0) or (pos1 < pos2)) and ((pos3 < 0) or (pos1 < pos3)):
-                        pos9 = line.find("*/", pos1 + 2)
-                        if (len(line) > pos1 + 2):
-                            inextract = (line[pos1 + 2] == "/") or (line[pos1 + 2] == "*")
-                        else:
-                            inextract = False
-                        if pos9 < 0 : 
-                            if inextract: str_line += line[pos1 + 3:]
-                            incomment = True
-                            break
-                        else: 
-                            if inextract: 
-                                str_line += line[pos1 + 3: pos3]
-                                line = line[pos9 + 3:]
-                            else:
-                                line = line[pos9 + 2:]
-
-                    elif (pos2 >= 0) and ((pos3 < 0) or (pos2 < pos3)):
-                        pos2b = pos2 + 2;
-                        while ((pos2b < len(line)) and ((line[pos2b] == "/") or (line[pos2b] == "*"))):
-                            pos2b += 1
-                        inextract = (pos2b > pos2 + 2)
-                        if line[len(line)-1] == "\\" :
-                            if inextract: str_line += line[pos2b: len(line)-1]
-                            innextcomment = True
-                        else:
-                            if inextract: str_line += line[pos2b:]
-                        break
-
-                    elif pos3 >= 0:
-                        pos9 = line.find('"', pos3 + 2)
-                        if pos9 < 0:
-                            line = line[pos9+1:]
-                            break
-                        else:
-                            break
-
-                    else:
-                        break
-
-            ret = ret + [str_line]
-
-        cache.set(filename, ret)
-        return ret
-
-    def _getFileType(self, filename):  # TODO(holtgrew): Make Top-Level Function?
-        """Determines file type from filename.
-
-        Determines the file type from the extension of the given filename.
-
-        >>> getFileType('test.cpp') == FILETYPE_CPP
-        True
-        >>> getFileType('path/file.h') == FILETYPE_CPP
-        True
-        >>> getFileType('test.dddoc') == FILETYPE_DDDOC
-        True
-
-        Args:
-
-            filename  Filename to parse.
-
-        Returns:
-
-            One of {FILETYPE_CPP, FILETYPE_DDDOC, FILETYPE_OTHER}, depending
-            on the extension of filename.
-        """
-        # Get file extension.
-        base, ext = os.path.splitext(filename)
-        if ext[1:] in CPP_EXTS:
-            return FILETYPE_CPP
-        elif ext[1:] in DDDOC_EXTS:
-            return FILETYPE_DDDOC
-        else:
-            return FILETYPE_OTHER
-
-    def _loadFile(self, filename):
-        """Load the file with the given filename.
-
-        The line is then split into DDDoc entries, unwrapping entries that span
-        more than one line.  Finally, the keys are expanded, and surrounding
-        whitespace is stripped.
-        """
-        ## print filename
-        # Load file contents, through a cache.
-        file_type = self._getFileType(filename)
-        if file_type == FILETYPE_CPP:
-            text = self._loadCPPFile(filename, self.cache)
-        elif file_type == FILETYPE_DDDOC:
-            text = self._loadDDDOCFile(filename, self.cache)
-        else:
-            raise Error("Unknown file type of file %s." % path)
-        text.append('.')
-        ## print 'LOADING', filename
-        ## print '\n'.join(text)
-
-        # Process all lines in the input, join lines that do not begin with a
-        # dot with the previous ones.  This allows the wrapping of lines.
-        str = False
-        dddoc_entries = []  # [(path, filename, begin line no, end line no)]
-        line_no_begin, line_no_end = 1, 1
-        for line in text:
-            ## if line and line != '.':
-            ##     print 'LINE', line
-            line_no_end += 1
-            if not line:
-                continue
-            if line[0] == '.':
-                if str is not False and str[0] == '.' and str != '.' and str.strip():  # Skip empty dummy lines.
-                    dddoc_entries.append([str, filename, line_no_begin, line_no_end])
-                    ## print dddoc_entries[-1]
-                line_no_begin = line_no_end
-                str = line
-                if str == '.':
-                    str = False
-            elif str:
-                if str[-1] != '\n':
-                    str += '\n'
-                str += line
-
-        # Now, expand the keys of dddoc_entries, e.g. dddoc_entries[i][0].
-        # TODO(holtgrew): Consider escaping of keys here.
-        stack = []
-        stack_len_sum = 0
-        for entry in dddoc_entries:
-            ## print 'ENTRY', entry
-            ## print 'stack=%s' % (stack)
-            # Split out $key:$value of the entry and $the.$path.$elements from $key.
-            maybe_pair = splitKeys(entry[0].strip(), ':', 1)
-            if len(maybe_pair) == 2:
-                key, value = splitKeys(entry[0].strip(), ':', 1)
-            else:
-                key, value = entry[0].strip(), ''
-            path = splitKeys(key, '.')[1:]
-            # Count empty entries in the path.
-            ## print ' ', path
-            empty_count = reduce(operator.add, [1 for x in path if not x], 0)
-            ## print '  empty_count', empty_count
-            if empty_count <= len(stack):
-                stack = stack[:empty_count]
-                stack_len_sum = reduce(operator.add, map(len, stack), 0)
-            stack.append(path[empty_count:])
-            stack_len_sum += len(stack[-1])
-            path = reduce(operator.add, stack, [])
-            # Remove any leading and trailing whitespace from value and compute
-            # updated begin and end line no.
-            line_count = len(value.splitlines())
-            value_no_leading = value.lstrip()
-            line_count2 = len(value_no_leading.splitlines())
-            line_no_begin = entry[2] + line_count - line_count2
-            value_no_trailing = value_no_leading.rstrip()
-            line_count3 = len(value_no_trailing.splitlines())
-            line_no_end = entry[3] - line_count2 + line_count3
-             
-            # Store the DDDoc entry.
-            if path:
-                self.entries.append(DddocEntry(cleanPath(path), value_no_trailing, filename, line_no_begin, line_no_end))
-                new_entries = transformDddocEntry(self.entries[-1])
-                ## if new_entries:
-                ##     print 'NEW ENTRIES', new_entries
-                self.entries += new_entries
-                ## print self.entries[-1]
-
-    def run(self, search_path):
-        """Call parseFile() on files.
-
-        All files below search_path will be searched that have file type
-        FILETYPE_CPP or FILETYPE_DOC as determined by getFileType().
-        Directories with names of IGNORED_DIRS are skipped.
-
-        Args:
-            search_path  String, path to search files under.
-        """
-        for root, dirs, files in os.walk(search_path):
-            # Parse all files.
-            for file in files:
-                if os.path.basename(file).startswith('.'):
-                    continue  # Skipp hidden files.
-                path = os.path.join(root, file)
-                if self._getFileType(path) in [FILETYPE_CPP, FILETYPE_DDDOC]:
-                    self._loadFile(path)
-            # Exclude ignored diretories.
-            for ignored in IGNORED_DIRS:
-                if ignored in dirs:
-                    dirs.remove(ignored)
-
-
-class DddocTreeNode(object):
-    """Represents one entry in the DddocTree.
-
-    Attrs:
-
-        tree      The DddocTree that the node belongs to.
-        key       The key of this child, last element of path.
-        path      The full path to the child.
-        entry     Range [beg, end) of DddocEntry that this node represents.
-        children  dict with the children as key/value pairs.
-        texts     Array of strings with the texts.
-    """
-    
-    def __init__(self, tree, key, path, entry, children={}):
-        self.tree = tree
-        self.key = key
-        self.path = path
-        self.entry = entry
-        self.children = children
-        self.texts = []
-
-    def text(self, spacer=' '):
-        return spacer.join(self.texts)
-
-    def __str__(self):
-        """Returns dump for the whole tree in a user-readable manner."""
-        def _str(node, level=0, prefix=''):
-            space = '  ' * level
-            if prefix:
-                prefix = prefix + ' --> '
-            res = '%s %sDddocTreeNode(key=%s, texts=%s)' % (space, prefix, repr(node.key), repr(node.texts))
-            for k, child in node.children.iteritems():
-                res += '\n' + _str(child, level + 1, k)
-            return res
-        return _str(self)
-
-    def dump(self, stream=sys.stdout):
-        """Debug recursive dumping of a tree node."""
-        print >>stream, self
-
-
-class DddocTree(object):
-    """Tree with the information from the DDDoc contents.
-
-    Attrs:
-
-        entries  The raw entries.
-        root     The root DddocTreeNode.
-        glossary_nodes  List of nodes that contain glossary entries.  Built
-                        in finalize().
-    """
-    
-    def __init__(self, entries):
-        self.entries = entries
-        #for e in self.entries:
-        #    print e
-        self.root = DddocTreeNode(self, 'ROOT', [], (0, 0), self._buildSubtree([], 0, len(entries), 0))
-        self.cache = None
-        self.glossary_nodes = []
-        ## self.root.dump()
-        ## for entry in self.entries:
-        ##     print entry.path, entry.content
-
-    def _enableFindCache(self):
-        if self.cache is None:
-            self.cache = {}
-
-    def finalize(self):
-        """Called after tree will not be modified any more.
-
-        Enables caching and builds some indices.
-        """
-        self._enableFindCache()
-        print >>sys.stderr, 'Indexing Glossary Pages'
-        if 'Page' in self.root.children:
-            for key, node in self.root.children['Page'].children.iteritems():
-                if 'glossary' in node.children:
-                    self.glossary_nodes.append(node.children['glossary'])
-                    print >>sys.stderr, '  Found Page.%s' % node.key
-
-    def _buildSubtree(self, path, begin_index, end_index, level):
-        # First, identify the entries belonging to each node (entry.path[i] are
-        # equal for i = level, inductively, also i <= level).
-        prev_key = None
-        prev_beg = None
-        subseqs = []
-        for i in range(begin_index, end_index):
-            if prev_key != self.entries[i].path[level]:
-                if prev_key != None:
-                    subseqs.append((prev_beg, i))
-                prev_key = self.entries[i].path[level]
-                prev_beg = i
-        if prev_key != None and prev_beg != end_index:  # Handle last.
-            subseqs.append((prev_beg, end_index))
-        # Now, subseqs contains a sequence of contiguous half-open intervals.
-        # Each contains the data for one tree node.  There is a possibly empty
-        # sequence of leading entries with paths of length level + 1 containing
-        # the data for the current level node.  The rest is for the level below.
-        result = {}
-        for (b, c) in subseqs:
-            assert b != c
-            # Split into entries for this and for next level: [a, b); [b, c).
-            a = b  # [a, b) will be for this vertex.
-            while b < c and len(self.entries[b].path) == level + 1:
-                b += 1
-            # Compute node.
-            path = self.entries[a].path[:(level + 1)]
-            key = path[level]
-            node = DddocTreeNode(self, key, path, (a, b))
-            ## print 'new node', key
-            for i in range(a, b):
-                if self.entries[i].content:
-                    node.texts.append(self.entries[i].content)
-            # Compute subtree.
-            node.children = self._buildSubtree(path, b, c, level + 1)
-            result[key] = node
-        return result
-
-    def find(self, path):
-        """Query tree for a DddocTreeNode.
-
-        The argument path can either be a dot-separated string or a list with
-        this information.  If path is a string then one optional leading dot is
-        optional.  Returns None if nothing could be found.
-
-            tree.find(['path', 'to', 'node'])
-            tree.find('path.to.node')
-            tree.find('.path.to.node')
-        """
-        ## print 'FIND(%s)' % repr(path)
-        # Try to retrieve from cache if there is a cache.
-        if not self.cache is None:
-            if not type(path) is str:
-                key = '.'.join(path)
-            else:
-                key = path
-            if self.cache.has_key(key):
-                return self.cache[key]
-        # Split path if is string, ignore leading dot if any.
-        if type(path) is str:
-            path = splitKeys(path, '.')
-            if path and path[0] == '':
-                path = path[1:]
-        # Now, query the tree.
-        def findRecurse(node, path):
-            """Helper function that searches for the node with given path."""
-            if not path:
-                return node
-            if not node.children.has_key(path[0]):
-                return None
-            return findRecurse(node.children[path[0]], path[1:])
-        res = findRecurse(self.root, path)
-        if not self.cache is None:
-            self.cache['.'.join(path)] = res
-        return res
-
-# Paths where the inline summary is moved into a .summary child.  See
-# documentation of processInlineSummaries() for details.
-SUMMARY_PATHS = [
-    '*.*.param.*',
-    '*.*.returns',
-    '*.*.tag.*',
-    '*.*.value.*',
-    '*.*.returns.param.*',  # TODO(holtgrew): Used for metafunctions, could be improved.
-    'Adaption.*',
-    'Class.*',
-    'Concept.*',
-    'Demo.*',
-    'Enum.*',
-    'Function.*',
-    'Macro.*',
-    'Memfunc.*',
-    'Metafunction.*',
-    'Shortcut.*',
-    'Spec.*',
-    'Tag.*',
-    ]
-
-# TODO(holtgrew): Also use for generateAutomaticReferences()
-
-def _matchTreesInNode(tree, node, path, func, block_paths=[['globals']], level=0):
-    """Calls func on nodes matching path."""
-    ## print '  ' * level, '_matchTreesInNode(tree', node.path, path, func, level, ')'
-    if path:
-        if path[0] == '*':
-            for child in node.children.itervalues():
-                _matchTreesInNode(tree, child, path[1:], func, block_paths, level+1)
-        else:
-            if node.children.has_key(path[0]):
-                _matchTreesInNode(tree, node.children[path[0]], path[1:], func, block_paths, level+1)
-    else:
-        for block_path in block_paths:
-            ## print node.path[:len(block_path)], '==', block_path
-            if node.path[:len(block_path)] == block_path:
-                return  # Path is blocked.
-        func(node)
-
-
-def processInlineSummaries(tree, paths):
-    """Move inline documentation to .summary subpaths.
-
-    The nodes matching the values in path are such that inline values are moved
-    to .summary subnodes for greater consistency and lower variance.
-
-    E.g. the following:
-
-        .Function.f.param.x:This is param x.
-
-    will be transformed into
-
-        .Function.f.param.x
-        ..summary:This is param x.
-    """
-    # First, collect nodes for the summary transfer.
-    collected_nodes = set()
-    def f(node):
-        if node.texts:
-            collected_nodes.add(node)
-    for path in paths:
-        _matchTreesInNode(tree, tree.root, splitKeys(path, '.'), f)
-    # Then, move the inline summaries into a summary node.
-    for node in collected_nodes:
-        if not 'summary' in node.children:  # Create node if necessary.
-            summaryNode = DddocTreeNode(tree, 'summary', node.path + ['summary'], (-2,-2))
-            node.children['summary'] = summaryNode
-        node.children['summary'].texts += node.texts
-        node.texts = []
-
-
-def generateAutomaticReferences(tree):
-    """Interpret the globals.relations entries."""
-    print >>sys.stderr, 'Generating Automatic References'
-    relations_node = tree.find('globals.relations')
-    if not relations_node:
-        return  # Empty, do nothing.
-
-    # We first collect all automatic links, scheduled to be added later.
-    additions = []
-    def appendToAdditions(node):
-        for node_path in node.texts:
-            node_path = splitKeys(node_path, '.')
-            ## print '  ' * level, ' ', node_path
-            res = tree.find(node_path)
-            ## print '  ' * level, ' ', res is not None
-            if not res:
-                continue  # Not found, Skip  # TODO(holtgrew): Warning?
-            additions.append((res.path + [key], '.'.join(node.path[:2])))
-    for key, node in relations_node.children.iteritems():
-        ## print 'GENERATE', key, node
-        for txt in node.texts:
-            path = splitKeys(txt, '.')
-            _matchTreesInNode(tree, tree.root, splitKeys(txt, '.'), appendToAdditions)
-
-    # Now, add these additions.  This circumvents problems leading to infinite
-    # recursions.
-    for path, text in additions:
-        res = tree.find(path)
-        if not res:
-            parent = tree.find(path[:-1])
-            assert parent
-            res = DddocTreeNode(tree, path[-1], path, None)
-            parent.children[path[-1]] = res
-        if not text in res.texts:
-            res.texts.append(text)
-
-
-def generateInheritedElements(tree):
-    """Push through inheritances."""
-    print >>sys.stderr, 'Linking Inherited Entities'
-    inherit_node = tree.find('globals.inherit')
-    # Contains children: $TARGET_FIELD:$THROUGH_FIELD.$SOURCE_FIELD
-
-    all_paths = set()
-    depends_on = {}
-    inheritance_rules = []
-
-    # First build a dependency graph.
-    for target_field, child in inherit_node.children.items():
-        for txt in child.texts:
-            arr = splitKeys(txt, '.')
-            through_field = arr[0]
-            if len(arr) > 1:
-                source_field = arr[1]
-            else:
-                source_field = target_field
-            inheritance_rules.append((target_field, through_field, source_field))
-            def registerDependencies(node):
-                all_paths.add('.'.join(node.path))
-                if not through_field in node.children:
-                    return
-                for path in node.children[through_field].texts:
-                    pth = '.'.join(node.path)
-                    depends_on.setdefault(pth, set()).add(path)
-            _matchTreesInNode(tree, tree.root, ['*', '*'], registerDependencies)
-    ## print 'ALL PATHS', all_paths
-
-    # Now, push through references by inheritance for all paths that are not
-    # linked to and not completed yet.
-    done = set()
-    to_do = all_paths - done - set(depends_on.keys())
-    while to_do:
-        # Process all that are not completed and have no dependencies.
-        if not to_do:
-            raise Exception('Could not process all dependencies. Cyclic dependencies?')
-        # Actually perform the preprocessing.
-        for target_path in to_do:
-            for target_field, through_field, source_field in inheritance_rules:
-                target_node = tree.find(target_path)
-                if not through_field in target_node.children:
-                    continue  # Skip if no source children.
-                ## print 'TRYING', target_path, through_field, source_field
-                for source_path in target_node.children[through_field].texts:
-                    source_node = tree.find(source_path)
-                    if not source_field in source_node.children:
-                        continue  # Skip if no source field.
-                    for path in source_node.children[source_field].texts:
-                        if not '\u0001' in path:  # We use this ugly hack to add the inheritance source here.
-                            path = path + '\u0001' + '.'.join(source_node.path)
-                        # If necessary then create child in target node.
-                        if not target_field in target_node.children:
-                            target_node.children[target_field] = DddocTreeNode(tree, target_field, target_node.path + [target_field], source_node.children[source_field].entry)
-                        # Copy over path.
-                        target_node.children[target_field].texts.append(path)
-                        ## print '  appending', path
-                
-        # Clear out the stuff that we completed.
-        to_delete = []
-        for key in depends_on:  # Clear out all done.
-            depends_on[key] -= to_do
-            if not depends_on[key]:
-                to_delete.append(key)
-        for key in to_delete:
-            del depends_on[key]
-        done |= to_do  # Add done.
-        to_do = all_paths - done - set(depends_on.keys())
-
-
-def removeDuplicateTexts(tree):
-    """Remove duplicates from texts members.
-
-    Suffixes starting with '\u0001' are ignored for the comparisons
-    and strings with these suffixes are preferred.
-    """
-    ##print 'remove duplicates'
-    def recurse(node):
-        in_cleaned = {}
-        cleaned = []
-        for txt in node.texts:
-            clean = txt
-            pos = txt.find('\u0001')
-            if pos != -1:
-                clean = txt[:pos]
-            ##print cleaned, repr(clean)
-            if clean in in_cleaned:
-                if '\u0001' in clean and not '\u0001' in cleaned[in_cleaned[clean]]:
-                    cleaned[in_cleaned[clean]] = txt
-            else:
-                in_cleaned[clean] = len(cleaned)
-                cleaned.append(txt)
-        node.texts = cleaned
-        for child in node.children.itervalues():
-            recurse(child)
-    for child in tree.root.children.itervalues():
-        recurse(child)
-
-
-# TODO(holtgrew): If needed, this could easily be generalized.
-def buildByTypeAndCatIndex(tree):
-    """Build an index into the given DddocTree.
-
-    The index will be a two-dimensional dict, mapping (first element of path,
-    value of cat field) to a list of nodes in the DddocTree.
-    """
-    result = {}
-    def recurse(result, path, node):
-        ## print path, node.path
-        if len(path) == 2:
-            if node.children.has_key('cat'):
-                for cat in node.children['cat'].texts:
-                    result.setdefault(path[0], {}).setdefault(cat, []).append(node)
-            else:
-                result.setdefault(path[0], {})[path[1]] = node
-        if len(path) < 2:
-            for key, child in node.children.iteritems():
-                recurse(result, path + [key], child)
-    for key, child in tree.root.children.iteritems():
-        recurse(result, [key], child)
-    ## for k1, v1 in result.iteritems():
-    ##     for k2, v2 in v1.iteritems():
-    ##         print 'k1=%s\tk2=%s\tv=%s' % (k1, k2, [x.path for x in v2])
-    return result
-
-
-class ErrorLogger(object):
-    def __init__(self):
-        self.error_count = 0
-    def invalidReference(self, txt, locations):
-        self.error_count += 1
-        if not locations:
-            print >>sys.stderr, 'ERROR: Invalid Reference %s in unknown location (sorry).' % txt
-        else:
-            print >>sys.stderr, 'ERROR: Invalid Reference %s in one of the following locations:' % txt
-            for filename, line in locations:
-                print >>sys.stderr, '  %s:%s' % (filename, line)
-
-
-class App(object):
-    """Application object for DDDoc.
-
-    Provides a facade to the functionality of the core module.
-
-    Usage:
-       app = App()
-       app.loadFiles([<files>])
-       app.loadFiles([<files>])
-       app.loadingComplete()
-
-    Attrs:
-      data       The global state Data object.
-    """
-
-    def __init__(self):
-        """Initialize object members."""
-        self.cache = FileCache('dddoc_cache.bin')
-        self.file_loader = FileLoader(self.cache)
-        self.dddoc_tree = None
-        self.error_logger = ErrorLogger()
-
-    def loadFiles(self, path):
-        """Load the files with the given file name."""
-        self.file_loader.run(path)
-
-    def loadingComplete(self):
-        """Initialize data object.
-
-        This method is called after all calls to loadFiles().
-        """
-        # Save the cache to disk again.
-        self.cache.flush()
-        # Sort Dddoc Entries and build tree.
-        self.file_loader.entries.sort(cmp=DddocEntry.cmpPathLocation)
-        self.dddoc_tree = DddocTree(self.file_loader.entries)
-        # Generate automatic references.
-        generateAutomaticReferences(self.dddoc_tree)
-        # Perform inheritance as configured in global configuration.
-        generateInheritedElements(self.dddoc_tree)
-        # Clean duplicates from 'texts' members
-        removeDuplicateTexts(self.dddoc_tree)
-        # Move inline summaries into .summary children.
-        processInlineSummaries(self.dddoc_tree, SUMMARY_PATHS)
-        # Finally, after all modifications, enable caching and build indices in
-        # tree.
-        self.dddoc_tree.finalize()
-
-    def getNextId(self):
-        """Returns an identifier.
-
-        Each id is only returned once.
-        """
-        assert False, "For future use."
-        self.next_id += 1
-        return self.next_id - 1
diff --git a/util/py_lib/seqan/dddoc/dddoc.py b/util/py_lib/seqan/dddoc/dddoc.py
deleted file mode 100644
index 829407e..0000000
--- a/util/py_lib/seqan/dddoc/dddoc.py
+++ /dev/null
@@ -1,703 +0,0 @@
-#!/usr/bin/env python2
-
-import os
-import os.path
-import copy
-import pickle
-import string
-import sys
-
-# Constant for C++ files.
-FILETYPE_CPP = 2
-# Constant for DDDOC files.
-FILETYPE_DDDOC = 1
-# Constant for none of the above.
-FILETYPE_OTHER = 0
-
-# Extension of C++ files.
-CPP_EXTS = ['c', 'C', 'cpp', 'CPP', 'c++', 'C++', 'h', 'H', 'hpp', 'HPP',
-            'h++', 'H++']
-# Extensions of DDDOC files.
-DDDOC_EXTS = ['dddoc', 'DDDOC']
-
-# List of ignored directory names.
-IGNORED_DIRS = ['CSV', '.svn', 'seeds2', 'find2', 'cmake']
-
-DATA = None
-ID = 0
-
-class DddocCache(object):
-    def __init__(self, path):
-        self.path = path
-        self.content = {}
-        self._tryLoad()
-
-    def _tryLoad(self):
-        try:
-            with open(self.path, 'rb') as f:
-                self.content = pickle.load(f)
-        except:
-            print >>sys.stderr, 'Could not load cache %s' % self.path
-            return False
-        print >>sys.stderr, 'Successfully loaded cache %s' % self.path
-        return True
-
-    def flush(self):
-        try:
-            with open(self.path, 'wb') as f:
-                pickle.dump(self.content, f)
-        except:
-            print >>sys.stderr, 'Could not store cache %s' % self.path
-            return False
-        print >>sys.stderr, 'Successfully stored cache %s' % self.path
-        return True
-
-    def has_key(self, key):
-        return self.content.has_key(key)
-
-    def isFresh(self, filename):
-        if not self.has_key(filename):
-            return False
-        mtime = os.stat(filename).st_mtime
-        return mtime >= self.content[filename][0]
-
-    def get(self, key, defaultValue=None):
-        return self.content.get(key, (None, defaultValue))[1]
-
-    def set(self, filename, value):
-        mtime = os.stat(filename).st_mtime
-        self.content[filename] = (mtime, value)
-        
-
-class App(object):
-    """Application object for DDDoc.
-
-    Provides a facade to the functionality of the core module.
-
-    Usage:
-       app = App()
-       app.loadFiles([<files>])
-       app.loadFiles([<files>])
-       app.loadingComplete()
-
-    Attrs:
-      data       The global state Data object.
-    """
-
-    def __init__(self):
-        """Initialize object members."""
-        global DATA
-        DATA = Data([], 0)
-        self.data = DATA
-        self.next_id = ID
-        self.cache = DddocCache('dddoc_cache.bin')
-
-    def loadFiles(self, filenames):
-        """Load the files with the given file name."""
-        loadFiles(filenames, self.cache)
-
-    def loadingComplete(self):
-        """Initialize data object.
-
-        This method is called after all calls to LoadFiles().
-        """
-        self.cache.flush()
-        self.data.init()
-
-    def getNextId(self):
-        """Returns an identifier.
-
-        Each id is only returned once.
-        """
-        assert False, "For future use."
-        self.next_id += 1
-        return self.next_id - 1
-    
-
-
-class Line:
-    def __init__(self, _nodes, _text, file_name, line_no):
-        global ID
-        
-        self.nodes = _nodes
-        self._text = _text.rstrip()
-        self.id = ID
-        self.file_name = file_name
-        self.line_no = line_no
-        ID += 1
-        
-    def __repr__(self):
-        return 'Line(%s, %s, %s, %s)' % (repr(self.nodes), repr(self._text), repr(self.file_name), repr(self.line_no))
-        
-    def name(self, index = 0):
-        if len(self.nodes) > index:
-            return self.nodes[index]
-        else:
-            return '(unknown)'
-            
-    def text(self):
-        return self._text
-        
-            
-class Data:
-    def __init__ (self, _lines, _level):
-        self.lines = _lines
-        self.level = _level
-        self.cache = {}
-        
-    def __repr__(self):
-        return 'Data(\n  %s,\n%d)' % (',\n  '.join(map(repr, self.lines)), self.level)
-
-    def init(self):
-        self.lines.sort(sortLineCompare)
-        
-        relations = self["globals.relations"].at_level(1).lines
-        for relation in relations:
-            to = relation.name(2)
-            arr = splitName(relation.text())
-            if len(arr) > 0:
-                findRelation(self, arr, to)
-                
-        self.lines.sort(sortLineCompare)
-        
-    def __getitem__(self, str):
-        return self.find(str)
-        
-    def find(self, str):
-        """Find all lines below the given path.
-
-        Args:
-          str  String with a dot separated path to the lines to find.
-
-        Returns:
-          Data object with the lines below the given path.
-        """
-        # If possible, return from cache.
-        if self.cache.has_key(str):
-            return self.cache[str]
-        
-        arr = splitName(str)
-        lines = []
-
-        # TODO(holtgrew): Keeping linear code for linear search to be able to fix things quickly.
-        if True:
-            # Use binary search for finding the first hit.
-            def isHit(line, arr, level):
-                """Return True iff arr matches the key of line, from the given level on."""
-                i = 0
-                while (i < len(arr)) and (i + level < len(line.nodes)) and (arr[i] == line.nodes[i + level]):
-                    i += 1
-                return i == len(arr)
-
-            # Use binary search to find the first hit.
-            query = arr
-            lo = 0
-            hi = len(self.lines)
-            while lo < hi:
-                mid = (lo + hi) // 2
-                slice = self.lines[mid].nodes[self.level:self.level + len(query)]
-                if slice < query:
-                    lo = mid + 1
-                else:
-                    hi = mid
-            result = lo
-
-            # Output all consecutive hits, if any.
-            if result < len(self.lines) and isHit(self.lines[result], arr, self.level):
-                for line in self.lines[result:]:
-                    if isHit(line, arr, self.level):
-                        lines.append(line)
-                    else:
-                        break
-        else:
-            # Use linear search for finding the first hit.  Deactivated for now.
-            maxi = 0
-            for line in self.lines:
-                i = 0
-                while (i < len(arr)) and (i + self.level < len(line.nodes)) and (arr[i] == line.nodes[i + self.level]):
-                    i += 1
-                if i == len(arr):
-                    lines.append(line)
-
-                elif maxi > i:
-                    break    
-                maxi = i
-
-            
-        data = Data(lines, self.level + len(arr))
-        # Cache result.
-        self.cache[str] = data
-        return data
-
-    def at_level(self, level = 0):
-        lines = []
-        for line in self.lines:
-            if len(line.nodes) == self.level + level:
-                lines.append(line)
-            
-        data = Data(lines, self.level + level)
-        return data
-        
-    def sub_level(self, level = 1):
-        lines = []
-        for line in self.lines:
-            if len(line.nodes) >= self.level + level:
-                lines.append(line)
-            
-        data = Data(lines, self.level + level)
-        return data
-        
-    def by_occ(self):
-        lines = copy.copy(self.lines)
-        lines.sort(sortLinesByOcc)
-        data = Data(lines, self.level)
-        return data        
-
-    def empty(self):
-        return len(self.lines) == 0
-        
-    def name(self, index = 0):
-        if len(self.lines) > 0:
-            return self.lines[0].name(index)
-        return '(empty)'
-        
-    def text(self):
-        str = ''
-        for line in self.at_level(0).lines:
-            if (str != ''): str += '\n'
-            str += line.text()
-        return str
-        
-    def keys(self, level = 0):
-        dict = {}
-        for line in self.lines:
-            if len(line.nodes) > self.level + level:
-                dict[line.nodes[self.level + level]] = 1
-                
-        arr = dict.keys()
-        arr.sort()
-        return arr
-            
-    def keys_by_occ(self, level = 0):
-        dict = {}
-        for line in self.lines:
-            if len(line.nodes) > self.level + level:
-                key = line.nodes[self.level + level]
-                if not dict.has_key(key) or (dict[key] > line.id):
-                    dict[key] = line.id
-
-        dict2 = {}
-        for key in dict:
-            dict2[dict[key]] = key
-            
-        arr2 = dict2.keys()
-        arr2.sort()
-        
-        arr = []
-        for i in arr2:
-            arr.append(dict2[i])
-        
-        return arr
-        
-         
-################################################################################
-         
-def sortLineCompare(left, right):
-    l = left.nodes
-    r = right.nodes
-    
-    i = 0
-    while (i < len(l)) and (i < len(r)):
-        ret = cmp(l[i], r[i])
-        if ret != 0: 
-            return ret
-        i += 1
-        
-    if len(l) < len(r): return -1
-    elif len(l) > len(r): return 1
-    elif left.id < right.id: return -1
-    else: return 1
-       
-################################################################################
-         
-def sortLinesByOcc(left, right):
-    if left.id < right.id: return -1
-    else: return 1
-         
-################################################################################
-
-def findRelation(data, arr, to):
-    global DATA
-    
-    if len(arr) > 0:
-        if (arr[0] == '*'): 
-            sub_data = data.sub_level(1)
-        else: 
-            lines = []
-            for line in data.lines:
-                if line.name(data.level) == arr[0]:
-                    lines.append(line)
-            sub_data = Data(lines, data.level + 1)
-
-        findRelation(sub_data, arr[1:], to)
-        
-    else:
-        for line in data.at_level(0).lines:
-            text = line.name(0) + '.' + line.name(1)
-            entry = splitName(line.text())
-            entry = entry[:2] + [to]
-            DATA.lines.append(Line(entry, text, '<through-relation>', 0))
-
-################################################################################
-
-def clearData():
-    global DATA
-    DATA = Data([], 0)
-    global ID
-    ID = 0
-
-################################################################################
-
-def loadDDDOCFile(filename, cache):
-    if cache.isFresh(filename):
-        return cache.get(filename)
-    
-    f = open(filename)
-    text = f.readlines()
-    f.close()
-
-    cache.set(filename, text)
-    return text
-
-################################################################################
-
-def loadCPPFile(filename, cache):
-    if cache.isFresh(filename):
-        return cache.get(filename)
-    
-    f = open(filename)
-    lines = f.readlines()
-    f.close()
-    
-    ret = []
-    
-    #test for SEQAN_NO_DDDOC
-    for line in lines:
-        if line.find("SEQAN_NO_DDDOC") >= 0:
-            cache.set(filename, ret)
-            return ret;
-    
-    
-    incomment = False
-    innextcomment = False
-    inextract = False
-    
-    for line in lines:
-        line = line.rstrip()
-        str_line = ""
-        if len(line) == 0:
-            if not innextcomment and not incomment: 
-                str_line = "."
-            else: 
-                str_line = " "
-      
-        while len(line) > 0 :
-            if innextcomment:
-                if line[len(line)-1] == "\\" :
-                    if inextract: str_line += line[: len(line)-1]
-                else:
-                    if inextract: str_line += line
-                    innextcomment = False
-                break
-                
-            elif incomment:
-                pos1 = line.find("*/")
-                if pos1 < 0:
-                    if inextract: str_line += line;
-                    break;
-                else:
-                    if inextract: 
-                        str_line += line[:pos1];
-                        line = line[pos1 + 3:];
-                    else:
-                        line = line[pos1 + 2:];
-                    incomment = False;
-                    
-            else:
-                pos1 = line.find("/*")
-                pos2 = line.find("//")
-                pos3 = line.find('"')
-                if (pos1 >= 0) and ((pos2 < 0) or (pos1 < pos2)) and ((pos3 < 0) or (pos1 < pos3)):
-                    pos9 = line.find("*/", pos1 + 2)
-                    if (len(line) > pos1 + 2):
-                        inextract = (line[pos1 + 2] == "/") or (line[pos1 + 2] == "*")
-                    else:
-                        inextract = False
-                    if pos9 < 0 : 
-                        if inextract: str_line += line[pos1 + 3:]
-                        incomment = True
-                        break
-                    else: 
-                        if inextract: 
-                            str_line += line[pos1 + 3: pos3]
-                            line = line[pos9 + 3:]
-                        else:
-                            line = line[pos9 + 2:]
-                        
-                elif (pos2 >= 0) and ((pos3 < 0) or (pos2 < pos3)):
-                    pos2b = pos2 + 2;
-                    while ((pos2b < len(line)) and ((line[pos2b] == "/") or (line[pos2b] == "*"))):
-                        pos2b += 1
-                    inextract = (pos2b > pos2 + 2)
-                    if line[len(line)-1] == "\\" :
-                        if inextract: str_line += line[pos2b: len(line)-1]
-                        innextcomment = True
-                    else:
-                        if inextract: str_line += line[pos2b:]
-                    break
-                    
-                elif pos3 >= 0:
-                    pos9 = line.find('"', pos3 + 2)
-                    if pos9 < 0:
-                        line = line[pos9+1:]
-                        break
-                    else:
-                        break
-                        
-                else:
-                    break
-
-        ret = ret + [str_line]
-    
-    cache.set(filename, ret)
-    return ret
-
-################################################################################
-
-def getFileType(filename):
-    """Determines file type from filename.
-
-    Determines the file type from the extension of the given filename.
-
-    >>> getFileType('test.cpp') == FILETYPE_CPP
-    True
-    >>> getFileType('path/file.h') == FILETYPE_CPP
-    True
-    >>> getFileType('test.dddoc') == FILETYPE_DDDOC
-    True
-
-    Args:
-    
-      filename  Filename to parse.
-
-    Returns:
-    
-      One of {FILETYPE_CPP, FILETYPE_DDDOC, FILETYPE_OTHER}, depending
-      on the extension of filename.
-    """
-    # Get file extension.
-    base, ext = os.path.splitext(filename)
-    if ext[1:] in CPP_EXTS:
-        return FILETYPE_CPP
-    elif ext[1:] in DDDOC_EXTS:
-        return FILETYPE_DDDOC
-    else:
-        return FILETYPE_OTHER
-
-
-################################################################################
-    
-def loadFile(filename, cache):
-    file_type = getFileType(filename)
-    if (file_type == 2): return loadCPPFile(filename, cache)
-    elif (file_type == 1): return loadDDDOCFile(filename, cache)
-    else: raise "unknown file type"
-
-
-################################################################################
-
-def parseFile(filename, cache):
-    text = loadFile(filename, cache)
-    text.append('.')
-    
-    context = [[]]
-    str = False
-
-    line_no = 0
-    for line in text:
-        line_no += 1
-        if line != '': 
-            if line[0] == '.':
-                parseString(str, context, filename, line_no)
-                str = line
-            elif str:
-                if str[len(str)-1] != '\n': str += '\n'
-                str += line
-                
-################################################################################
-                
-def parseString(str, context, file_name, line_no):
-    global DATA
-    
-    if not str or (str == '.'):
-        return [[]]
-        
-    level = 0
-    while (level < len(str)) and (str[level] == '.'): 
-        level += 1
-        
-    str = str[level:]
-        
-    if (level < len(context)):
-        del context[level:]
-        
-    if len(context) > 0:
-        entry = copy.copy(context[len(context) - 1])
-    else:
-        entry = []
-
-    key = ''
-    text = ''
-    
-    pos = 0
-    is_escaped = False
-    c_quoted = ''
-    while (pos < len(str)):
-        c = str[pos]
-        if c == "\x0d":
-            pos += 1
-            continue
-        if c_quoted != "":
-            if c_quoted == c: c_quoted = ""
-            else: key += c                       
-        elif is_escaped: 
-            key += c
-            is_escaped = False
-        else:
-            if c == '\\': is_escaped = True
-            elif c in ['"', "'"]: c_quoted = c
-            elif (c == ':'):
-                key = str[0:pos]
-                text = str[pos+1:]
-                break
-            else: key += c
-                
-        pos += 1    
-        
-    entry += splitName(key)
-    DATA.lines.append(Line(entry, text, file_name, line_no))
-    context.append(entry)
-
-
-################################################################################
-
-def splitName(line):
-    pos = 0
-    key = ""
-    c_quoted = ""
-    is_escaped = False
-    li = []
-    while (pos < len(line)):
-        c = line[pos]
-        if c_quoted != "":
-            if c_quoted == c: c_quoted = ""
-            else: key += c                       
-        elif is_escaped: 
-            key += c
-            is_escaped = False
-        else:
-            if c == '\\': is_escaped = True
-            elif c in ['"', "'"]: c_quoted = c
-            elif c == '.':
-                if key != "":
-                    li.append(key)
-                    key = ""
-            elif c == '|':
-                if key != "":
-                    li.append(key)
-                    key = ""
-                rest = line[pos+1:]
-                if len(rest)>0: li.append(rest)
-                break;
-            elif c != '\n':
-                key += c
-                
-        pos += 1    
-    
-    if key != "": li.append(key)
-    
-    return li
-
-
-def splitUrl(line):
-    """Splits a tuple at separator characters.
-
-    The separator character is '|'.  These characters can be escaped
-    using the backslash sign '\', entries can also be quoted.
-
-    >>> splitUrl('a|b|c')
-    ['a', 'b', 'c']
-    >>> splitUrl('a\|b|c')
-    ['a|b', 'c']
-    >>> splitUrl('"a|b"|c')
-    ['a|b', 'c']
-
-    Args:
-      line  String to split.
-
-    Returns
-      List with strings, split at | symbols, excluding these symbols
-      themselves.
-    """
-    pos = 0
-    key = ""
-    c_quoted = ""
-    is_escaped = False
-    li = []
-    while (pos < len(line)):
-        c = line[pos]
-        if c_quoted != "":
-            if c_quoted == c: c_quoted = ""
-            else: key += c                       
-        elif is_escaped: 
-            key += c
-            is_escaped = False
-        else:
-            if c == '\\': is_escaped = True
-            elif c in ['"', "'"]: c_quoted = c
-            elif c == '|':
-                if key != "":
-                    li.append(key)
-                    key = ""
-            elif c != '\n':
-                key += c
-                
-        pos += 1    
-    
-    if key != "": li.append(key)
-
-    return li
-
-
-def loadFiles(search_path, cache):
-    """Call parseFile() on files.
-
-    All files below search_path will be searched that have file type
-    FILETYPE_CPP or FILETYPE_DOC as determined by getFileType().
-    Directories with names of IGNORED_DIRS are skipped.
-
-    Args:
-      search_path  String, path to search files under.
-    """
-    for root, dirs, files in os.walk(search_path):
-        # Parse all files.
-        for file in files:
-            if os.path.basename(file).startswith('.'):
-                continue  # Skipp hidden files.
-            path = os.path.join(root, file)
-            if getFileType(path) in [FILETYPE_CPP, FILETYPE_DDDOC]:
-                parseFile(path, cache)
-        # Exclude ignored diretories.
-        for ignored in IGNORED_DIRS:
-            if ignored in dirs:
-                dirs.remove(ignored)
diff --git a/util/py_lib/seqan/dddoc/html.py b/util/py_lib/seqan/dddoc/html.py
deleted file mode 100644
index c08fe33..0000000
--- a/util/py_lib/seqan/dddoc/html.py
+++ /dev/null
@@ -1,903 +0,0 @@
-#!/usr/bin/env python2
-
-import sys
-import os
-import os.path
-import shutil
-import json
-import string
-import StringIO
-import re
-import datetime
-import time
-
-import pyratemp
-import json
-
-import core
-
-# TODO(holtgrew): Take this from dddoc tree ;)
-TPL_FILES = [
-    # Javascript Files
-    'js/jquery-1.3.2.min.js',
-    'js/jquery-effect.js',
-    'js/hierarchy-tree.js',
-    'js/seqan-dddoc.js',
-    'js/main.js',
-    'js/searchdoc.js',
-    'js/excanvas.compiled.js',
-    # CSS Files
-    'css/main.css',
-    'css/panel.css',
-    'css/reset.css',
-    'css/hierarchy-tree.css',
-    # Images
-    'favicon.ico',
-    'i/link.png',
-    'i/arrows.png',
-    'i/results_bg.png',
-    'i/tree_bg.png',
-    'i/seqan_logo.png',
-    # Search Panel
-    'panel/tree.js',
-    'panel/search_index.js',
-    'panel/index.html'
-    ]
-
-SITE_TITLE = 'SeqAn'
-FRONT_PAGE = 'files/index.html'
-FILE_DIRS = ['images']
-
-TYPE_CLASS = 1
-TYPE_FUNCTION = 2
-TYPE_FILE = 3
-
-def escapeFiles(text):
-    """Escaping of file names."""
-    text = text.replace("_", "__")
-
-    ret = ""
-    for i in range(len(text)):
-    	if (text[i] >= 'A') and (text[i] <= 'Z'):
-    		ret += "_"
-    	ret += text[i]
-
-    ret = ret.replace("\t", "_09")
-    ret = ret.replace("\n", "_0a")
-    ret = ret.replace("!", "_21")
-    ret = ret.replace("\"", "_22")
-    ret = ret.replace("#", "_23")
-    ret = ret.replace("$", "_24")
-    ret = ret.replace("%", "_25")
-    ret = ret.replace("&", "_26")
-    ret = ret.replace("'", "_27")
-    ret = ret.replace("(", "_28")
-    ret = ret.replace(")", "_29")
-    ret = ret.replace("*", "_2a")
-    ret = ret.replace("+", "_2b")
-    ret = ret.replace("/", "_2f")
-    ret = ret.replace(":", "_3a")
-    ret = ret.replace(",", "_2c")
-    ret = ret.replace("<", "_3c")
-    ret = ret.replace(">", "_3e")
-    ret = ret.replace("?", "_3f")
-    ret = ret.replace("\\", "_5c")
-    ret = ret.replace("|", "_7c")
-    ret = ret.replace(" ", "+")
-    
-    if not ret or ret[0] == '_':
-        return ret
-    else:
-        return '.' + ret
-
-
-def translate(text):
-    """Replaces some escape sequences with HTML/XML entities."""
-    # Line Breaks.
-    text = text.replace("\\br", "<br>")
-
-    # Umlaute
-    text = text.replace("\\\"a", "ä")
-    text = text.replace("\\\"o", "ö")
-    text = text.replace("\\\"u", "ü")
-    text = text.replace("\\\"A", "Ä")
-    text = text.replace("\\\"O", "Ö")
-    text = text.replace("\\\"U", "Ü")
-    text = text.replace("\\3", "ß")
-    text = text.replace("\\ss", "ß")
-
-    # Escaping Special Characters
-    text = text.replace("\\colon", ":")
-    text = text.replace("\\dot", ".")
-    text = text.replace("\\at", "@")
-    text = text.replace("\\pipe", "|")
-    text = text.replace("\\dollar", "$")
-    text = text.replace("\\quote", "\"")
-    text = text.replace("\\backslash", "\\")
-
-    # Comparisons
-    text = text.replace("\\neq", "&#x2260;")
-    text = text.replace("\\approx", "&#x2248;")
-    text = text.replace("\\equiv", "&#x2261;")
-    text = text.replace("\\leq", "&#x2264;")
-    text = text.replace("\\geq", "&#x2265;")
-
-    # Binary Operators
-    text = text.replace("\\pm", "±") #"<font face=\"symbol\">&#xb1;</font>")
-    text = text.replace("\\times", "×") #"<font face=\"symbol\">&#xb4;</font>")
-    text = text.replace("\\cdot", "·") #"<font face=\"symbol\">&#xd7;</font>")
-    text = text.replace("\\div", "÷") #"<font face=\"symbol\">&#xb8;</font>")
-    text = text.replace("\\ast", "*")
-    text = text.replace("\\circ", "&#x25cb;") #"<font face=\"symbol\">&#xb0;</font>")
-    text = text.replace("\\otimes", "<font face=\"symbol\">&#xc4;</font>")
-    text = text.replace("\\oplus", "<font face=\"symbol\">&#xc5;</font>")
-
-    # Logic
-    text = text.replace("\\exists", "<font face=\"symbol\">&#x24;</font>")
-    text = text.replace("\\forall", "<font face=\"symbol\">&#x22;</font>")
-    text = text.replace("\\neg", "<font face=\"symbol\">&#xd8;</font>")
-    text = text.replace("\\vee", "<font face=\"symbol\">&#xda;</font>")
-    text = text.replace("\\wedge", "<font face=\"symbol\">&#xd9;</font>")
-
-    # Set Theory
-    text = text.replace("\\in", "<font face=\"symbol\">&#xce;</font>")
-    text = text.replace("\\ni", "<font face=\"symbol\">&#x27;</font>")
-    text = text.replace("\\notin", "<font face=\"symbol\">&#xcf;</font>")
-    text = text.replace("\\cup", "<font face=\"symbol\">&#xc8;</font>")
-    text = text.replace("\\cap", "<font face=\"symbol\">&#xc7;</font>")
-    text = text.replace("\\subset", "<font face=\"symbol\">&#xcc;</font>")
-    text = text.replace("\\supset", "<font face=\"symbol\">&#xc9;</font>")
-    text = text.replace("\\subseteq", "<font face=\"symbol\">&#xcd;</font>")
-    text = text.replace("\\supseteq", "<font face=\"symbol\">&#xca;</font>")
-
-    # Arrows
-    text = text.replace("\\leftarrow", "&#x2190;")
-    text = text.replace("\\rightarrow", "&#x2192;")
-    text = text.replace("\\leftrightarrow", "&#x2194;")
-    text = text.replace("\\Leftarrow", "<font face=\"symbol\">&#xdc;</font>")
-    text = text.replace("\\Rightarrow", "<font face=\"symbol\">&#xde;</font>")
-    text = text.replace("\\Leftrightarrow", "<font face=\"symbol\">&#xdb;</font>")
-
-    # Special Chars
-    text = text.replace("\\infty", "&#x221E;")
-    text = text.replace("\\ldots", "...")
-    text = text.replace("\\squared", "&#x00B2;")
-    text = text.replace("\\cubic", "&#x00B3;")
-
-    # Greek
-    text = text.replace("\\Gamma", "&#x0393;")
-    text = text.replace("\\Delta", "&#x0394;")
-    text = text.replace("\\Theta", "&#x0398;")
-    text = text.replace("\\Lambda", "&#x039b;")
-    text = text.replace("\\Xi", "&#x039e;")
-    text = text.replace("\\Pi", "&#x03a0;")
-    text = text.replace("\\Sigma", "&#x03a3;")
-    text = text.replace("\\Phi", "&#x03a6;")
-    text = text.replace("\\Psi", "&#x03a8;")
-    text = text.replace("\\Omega", "&#x03a9;")
-
-    text = text.replace("\\alpha", "&#x03b1;")
-    text = text.replace("\\beta", "&#x03b2;")
-    text = text.replace("\\gamma", "&#x03b3;")
-    text = text.replace("\\delta", "&#x03b4;")
-    text = text.replace("\\epsilon", "&#x03b5;")
-    text = text.replace("\\zeta", "&#x03b6;")
-    text = text.replace("\\eta", "&#x03b7;")
-    text = text.replace("\\theta", "&#x03b8;")
-    text = text.replace("\\iota", "&#x03b9;")
-    text = text.replace("\\kappa", "&#x03ba;")
-    text = text.replace("\\lambda", "&#x03bb;")
-    text = text.replace("\\mu", "&#x03bc;")
-    text = text.replace("\\nu", "&#x03bd;")
-    text = text.replace("\\xi", "&#x03be;")
-    text = text.replace("\\omicron", "&#x03bf;")
-    text = text.replace("\\pi", "&#x03c0;")
-    text = text.replace("\\rho", "&#x03c1;")
-    text = text.replace("\\varsigma", "&#x03c2;")
-    text = text.replace("\\sigma", "&#x03c3;")
-    text = text.replace("\\tau", "&#x03c4;")
-    text = text.replace("\\upsilon", "&#x03c5;")
-    text = text.replace("\\phi", "&#x03c6;")
-    text = text.replace("\\chi", "&#x03c7;")
-    text = text.replace("\\psi", "&#x03c8;")
-    text = text.replace("\\omega", "&#x03c9;")
-
-    return text
-
-def getPagePath(cat, subcat, prefix=None):
-    result = cat.upper() + escapeFiles(subcat) + ".html"
-    if prefix:
-        result = os.path.join(prefix, result)
-    return result
-
-
-def getIndexPagePath(tree, cat, prefix=None):
-    if tree.find('globals.project.indexcategory').text().startswith(cat):
-        result = 'index.html'
-    else:
-        result = "INDEXPAGE" + escapeFiles(cat) + ".html"
-    if prefix:
-        result = os.path.join(prefix, result)
-    return result
-
-
-class TplDocsCreator(object):
-    """Contains the code for the template-driven documentation creation.
-
-    This
-
-    Attrs:
-
-      tpl_path  Path to and including the tpl directory.
-      outPath  Destination path for the documentation.  Existing files are
-               overwritten there.
-    """
-
-    def __init__(self, error_logger, tree, tpl_path, out_path, include_dirs):
-        """Initialize the DocsCreator object.
-
-        Args:
-
-          tree     core.DddocTree to use as information.
-          tpl_path  Path to and including the tpl directory.
-          out_path  Destination path for the documentation.  Existing files are
-                   overwritten there.
-        """
-        self.error_logger = error_logger
-        self.tree = tree
-        self.tpl_path = tpl_path
-        self.out_path = out_path
-        self.include_dirs = include_dirs
-        self.html_helper = HtmlHelper(self.error_logger, self.tree, out_path, self.include_dirs)
-
-    def good(self):
-        return True
-
-    def copyTemplates(self):
-        """Copy template files.
-
-        The files in TPL_FILE are copied verbatimly.
-        """
-        print >>sys.stderr, 'Copying Template Files'
-        for path in TPL_FILES:
-            # Get target path name.
-            targetPath = os.path.join(self.out_path, os.path.dirname(path))
-            if not os.path.exists(targetPath):  # Make sure targetPath exists.
-                os.makedirs(targetPath)
-            # Copy file.
-            srcPath = os.path.join(self.tpl_path, path)
-            destPath = os.path.join(self.out_path, path)
-            print >>sys.stderr, '  %s => %s' % (srcPath, destPath)
-            shutil.copyfile(srcPath, destPath)
-
-    def createRootIndexPage(self):
-        """Create the file /index.html.
-
-        The file is basically copied from tpl, but some small replacements are
-        done using Python string templates.
-        """
-        print >>sys.stderr, 'Creating Index Page'
-        srcPath = os.path.join(self.tpl_path, 'index.html')
-        destPath = os.path.join(self.out_path, 'index.html')
-        with open(srcPath, 'rb') as f:
-            contents = f.read()
-        template = string.Template(contents)
-        mapping = {'site_title': SITE_TITLE,
-                   'front_page': FRONT_PAGE}
-        with open(destPath, 'wb') as f:
-            f.write(template.substitute(mapping))
-
-    def _registerCategories(self, cat_type, search_index, long_search_index, infos):
-        """Helper function for createPanelSearchIndex().
-
-        Register all categories of type cat_type in search_index,
-        long_search_index, infos.
-        """
-        if not self.tree.find([cat_type]):
-            return  # Nothing to document here!
-        # TODO(holtgrew): This distinction is bogus and an artefact of the JS expected by the rdoc JS.
-        if cat_type == 'Function':
-            type_num = TYPE_FUNCTION
-        else:
-            type_num = TYPE_CLASS
-        # Index functions.
-        for name, node in sorted(self.tree.find([cat_type]).children.iteritems()):
-            ## if node.children.has_key('hidefromindex'):
-            ##     continue  # Skip those that are not to appear in search.
-            summary = ''
-            if node.children.has_key('summary') and node.children['summary'].texts:
-                if not ':' in node.children['summary'].texts[0]:
-                    continue
-                summary = self.html_helper.translateMarkup(node.children['summary'].texts[0].split(':', 1)[1])
-                summary = summary.replace('&', '&').replace('"', '"')
-                summary = re.sub('<.*?>', '', summary)
-                summary = summary[:100]  # TODO(holtgrew): Smarter trimming?
-            # Get title of entry type.
-            type_ = ' ' + ', '.join(self.tree.find(['globals', 'categories', node.path[0]]).texts)
-            search_index.append(name.lower())
-            long_search_index.append(name.lower())  # TODO(holtgrew): Could be parent, ...
-            # Build filename.
-            filename = getPagePath(cat_type, name, 'files')
-            # Build list of include headers.
-            includes = ''
-            if node.children.has_key('include'):
-                includes = ' ' + ', '.join(node.children['include'].texts)
-            if type_num == TYPE_FUNCTION:
-                name = name + '()'
-            infos.append([name,  # Entity name.
-                          includes,  # Info
-                          filename,  # klass.path
-                          type_,
-                          summary,
-                          type_num])
-            ## print infos[-1]
-
-    def createPanelSearchIndex(self):
-        """Create the file /panel/search_index.js.
-
-        This file contains a dictionary with the entries 'searchIndex',
-        'longSearchIndex, 'info' that are used by searchdoc.js for providing the
-        search index.
-        """
-        print >>sys.stderr, 'Creating Search Index'
-        destPath = os.path.join(self.out_path, 'panel', 'search_index.js')
-        search_index = []
-        long_search_index = []
-        info = []
-        # Get category types to index from DddocTree tree and build the index
-        # data for this.
-        items = self.tree.find('globals.indexes').children.items()
-        key_entries = [(x[0], x[1].entry) for x in items if x[1].entry]
-        key_linenos = [(x[0], self.tree.entries[x[1][0]].line_no_begin) for x in key_entries]
-        cats = [x[0] for x in sorted(key_linenos, key=lambda a:a[1])]
-        for cat_type in cats:
-            self._registerCategories(cat_type, search_index, long_search_index, info)
-        with open(destPath, 'wb') as f:
-            s = 'var search_data = {"index":{"searchIndex":%s,"longSearchIndex":%s,"info":%s}};'
-            f.write(s % (json.dumps(search_index), json.dumps(long_search_index), json.dumps(info)))
-
-    def createPanelTree(self):
-        """Create the file /panel/tree.js.
-
-        This file contains the JavaScript information for building the naviation
-        tree in the left frame.
-        """
-        print >>sys.stderr, 'Creating Panel Tree'
-        # Translate cat/element type from internal to user-readable.
-        node = self.tree.find('globals.indexes')
-        cats = [(k, v.text(), v) for k, v in node.children.iteritems() if not v.children.has_key('hidefromindex')]
-        def getLocation(x):
-            return (self.tree.entries[x[2].entry[0]].filename,
-                    self.tree.entries[x[2].entry[0]].line_no_begin)
-        cats.sort(key=getLocation)
-        ## print cats
-        trees_data = []
-        index = core.buildByTypeAndCatIndex(self.tree)
-        for cat, cat_title, cat_node in cats:
-            ## print 'XXX', cat, cat_title
-            ## if cat not in cats:
-            ##     continue  # Skip if not in globals.indexes.
-            ## print 'cat =', cat
-            subcat_nodes = []
-            for subcat in sorted(index[cat].keys()):
-                if type(index[cat][subcat]) is core.DddocTreeNode:
-                    node = index[cat][subcat]
-                    if 'hidefromindex' in node.children:
-                        continue  # Skip if not to show in tree/index.
-                    ## print cat, node.key
-                    filename = getPagePath(cat, node.key, 'files')
-                    ## print filename
-                    subcat_node = [subcat, filename, '', []]  # is uncategorized element
-                    ## print 'subcat_node = ', subcat_node
-                else:  # is category
-                    assert type(index[cat][subcat]) is list
-                    element_nodes = []
-                    for node in sorted(index[cat][subcat]):
-                        if 'hidefromindex' in node.children:
-                            continue  # Skip if not to show in tree/index.
-                        filename = getPagePath(cat, node.key, 'files')
-                        ## print filename
-                        element_nodes.append([node.key, filename, '', []])
-                        ## print 'element_node = ', [node.key, '', '', []]
-                    filename = getIndexPagePath(self.tree, cat, 'files')
-                    anchor = self.html_helper.toGlossaryAnchor(subcat)
-                    link = filename + '#' + anchor
-                    subcat_node = [subcat, link, '', element_nodes]
-                    ## print 'subcat_node = ', subcat_node
-                subcat_nodes.append(subcat_node)
-            filename = getIndexPagePath(self.tree, cat, 'files')
-            trees_data.append([cat_title, filename, '', subcat_nodes])
-            if cat_node.children.has_key('hidefromindex'):
-                continue
-        # Write out tree as JavaScript/JSON.
-        ## print 'trees_data =', trees_data
-        if not os.path.exists(os.path.join(self.out_path, 'panel')):
-            os.makedirs(os.path.join(self.out_path, 'panel'))
-        destPath = os.path.join(self.out_path, 'panel', 'tree.js')
-        with open(destPath, 'wb') as f:
-            f.write('var tree = %s;' % json.dumps(trees_data))
-
-
-class MarkupParser(object):
-    def __init__(self, error_logger, tree, html):
-        self.error_logger = error_logger
-        self.tree = tree
-        self.html = html
-
-    def parse(self, txt):
-        """Transform Markup into a parse-tree."""
-        ## print 'parse(%s)' % txt
-        curr = 0
-        result = []
-        for m in re.finditer('\$|@|\|', txt):
-            ## print 'curr=%d, m.start(0)=%d' % (curr, m.start(0))
-            if m.start(0) < curr:
-                continue  # Skip if already processed.
-            if curr != m.start(0):
-                result.append(('TEXT', txt[curr:m.start(0)]))
-            if txt[m.start(0)] == '$':
-                end_pos = txt.find('$', m.start(0) + 1)
-                if end_pos == -1: end_pos = len(txt)
-                result.append(('PRE', txt[m.start(0) + 1:end_pos]))
-                curr = end_pos + 1
-            elif txt[m.start(0)] == '@':
-                end_pos = txt.find('@', m.start(0) + 1)
-                if end_pos == -1: end_pos = len(txt)
-                if m.start(0) + 1 < end_pos:
-                    result.append(('LINK', txt[m.start(0) + 1:end_pos]))
-                curr = end_pos + 1
-            elif txt[m.start(0)] == '|':
-                end_pos = m.start(0) + 1
-                result.append(('CELL_SPLITTER', None))
-                curr = end_pos
-        if curr < len(txt):
-            result.append(('TEXT', txt[curr:]))
-        ## print txt, result
-        ## print 'DONE'
-        ## print '  ', result
-        return result
-
-    def toHtml(self, parseTree, node=None):
-        """Translate parse tree into HTML."""
-        ## print 'toHtml'
-        result = []
-        for type_, txt in parseTree:
-            ## print '  ', type_, txt
-            if type_ == 'TEXT':
-                result.append(pyratemp.escape(txt))
-            elif type_ == 'LINK':
-                result.append(self.html.pageLink(txt, node=node))
-            elif type_ == 'PRE':
-                result += ['<tt>', pyratemp.escape(txt), '</tt>']
-            elif type_ == 'CELL_SPLITTER':
-                result.append('|')
-            else:
-                raise Error('Invalid type: %s' % type_)
-        ## print 'DONE'
-        ## print parseTree, result
-        return ''.join(result)
-
-
-class HtmlHelper(object):
-    def __init__(self, error_logger, tree, out_path, include_dirs):
-        self.error_logger = error_logger
-        self.tree = tree
-        self.markup_parser = MarkupParser(self.error_logger, tree, self)
-        self.out_path = out_path
-        self.include_dirs = include_dirs
-
-    def classHierarchyJS(self, node):
-        def recurseDownwards(node):
-            cat, subcat = node.path[0], node.path[1]
-            link = cat.upper() + escapeFiles(subcat) + ".html"
-            result = {'title': node.key, 'type': node.path[0], 'children': [], 'parents': [], 'link': link}
-            for child_key in ['spec', 'childconcept']:
-                if not child_key in node.children:
-                    continue
-                for path in node.children[child_key].texts:
-                    child = self.tree.find(path)
-                    if not child:
-                        self.error_logger.invalidReference(path, [('TODO', -1)])
-                        return False
-                    recRes = recurseDownwards(child)
-                    if recRes:
-                        result['children'].append(recRes)
-            return result
-
-        def recurseUpwards(node):
-            cat, subcat = node.path[0], node.path[1]
-            link = cat.upper() + escapeFiles(subcat) + ".html"
-            result = {'title': node.key, 'type': node.path[0], 'children': [], 'parents': [], 'link': link}
-            for parent_key in ['implements', 'general', 'baseconcept']:
-                if not parent_key in node.children:
-                    continue
-                for path in node.children[parent_key].texts:
-                    if '\u0001' in path:
-                        continue  # Skip automatically generated upwards links.
-                    parent = self.tree.find(path)
-                    if not parent:
-                        self.error_logger.invalidReference(path, [('TODO', -1)])
-                        return False
-                    recRes = recurseUpwards(parent)
-                    if recRes:
-                        result['parents'].append(recRes)
-            return result
-
-        res = recurseDownwards(node)
-        resUp = recurseUpwards(node)
-        if resUp:
-            res['parents'] = resUp['parents']
-        return json.dumps(res)
-
-    def translateId(self, txt):
-        i = txt.find('#');
-        if (i >= 0):
-            txt = txt[i + 1:]
-        i = txt.find('|');
-        if (i >= 0):
-            txt = txt[i + 1:]
-        res = self.markup_parser.toHtml(self.markup_parser.parse(txt))
-        res = translate(res)
-        return res
-
-    def imageFilename(self, text):
-        if '|' in text:
-            return pyratemp.escape(text[len('type=image:'):].split('|', 1)[0])
-        else:
-            return pyratemp.escape(text[len('type=image:'):])
-
-    def imageTitle(self, text):
-        if '|' in text:
-            return self.translateMarkup(text[len('type=image:'):].split('|', 1)[1])
-        return ''
-
-    def toGlossaryAnchor(self, text):
-        return re.sub('[^a-zA-Z0-9\-_]', '', text)
-
-    def _glossaryLink(self, txt):
-        term = txt[len('glos:'):]
-        ## print 'SEARCHING FOR TERM', term
-        ## print self.tree.glossary_nodes
-        for node in self.tree.glossary_nodes:
-            ## print node.path
-            if not term in node.children:
-                continue  # Skip
-            term_node = node.children[term]
-            if 'description' in term_node.children:
-                title = term_node.children['description'].text()
-            elif 'text' in term_node.children:
-                title = term_node.children['text'].text()
-            else:
-                title = term
-            anchor = self.toGlossaryAnchor(term)
-            return '<a href="#%s" class="glossary" title="%s">%s</a>' % (anchor, title, term)
-        self.error_logger.invalidReference(txt, [('TODO', -1)])
-        return '<a href="#" class="dead">%s</a>' % term
-
-    def pageLink(self, txt=None, arr=None, node=None):
-        """The link can be given as text or as a path.
-
-        If it is given as text then also HTTP/FTP links are allowed, otherwise,
-        it can only be a link to an entity in the tree.
-        """
-        # Compute source file name and line.
-        location_candidates = []
-        if node and node.entry:
-            for entry in node.tree.entries[node.entry[0]:node.entry[1]]:
-                if entry.line_no_begin + 1 == entry.line_no_end:
-                    line = entry.line_no_begin + 1
-                else:
-                    line = '%s-%s' % (entry.line_no_begin + 1, entry.line_no_end)
-                location_candidates.append((entry.filename, line))
-        # Now, switch between txt and arr.
-        is_dead = False
-        if txt:
-            # Split out titles from "$reference|$title".
-            title = None
-            if '|' in txt:
-                txt, title = txt.split('|', 1)
-            # Handle the different link types.
-            if txt.startswith('glos:'):
-                return self._glossaryLink(txt)
-            elif txt.split(':')[0] in ['http', 'https', 'ftp']:
-                if not title: title = txt
-                return '<a href="%s" target="_top">%s</a>' % (pyratemp.escape(txt), pyratemp.escape(title))
-            elif txt.startswith('nolink:'):
-                if not title: title = txt[len('nolink:'):]
-                return self.translateMarkup(title, node=node)
-            else:
-                # Is not a special link, compute two-element path and title.  We
-                # will use the link generation code shared with paths as arrays.
-                lst = core.splitKeys(txt[txt.startswith('.'):], '.')  # The startswith removes one leading dot if any.
-                lst = core.cleanPath(lst)
-                if len(lst) == 1:  # Is link to index.
-                    cat, subcat = 'indexpage', lst[0]
-                    if not title:
-                        if self.tree.find(['globals', 'indexes', subcat]):
-                            title = self.tree.find(['globals', 'indexes', subcat]).text()
-                        else:
-                            title = subcat
-                    if not self.tree.find(subcat):
-                        is_dead = True
-                        self.error_logger.invalidReference(txt, location_candidates)
-                else:
-                    cat, subcat = lst[0], lst[1]
-                    if not title: title = lst[-1]
-                    if not self.tree.find([cat, subcat]):
-                        is_dead = True
-                        self.error_logger.invalidReference(txt, location_candidates)
-        else:
-            # Code for array paths.
-            cat, subcat, title = arr[0], arr[1], arr[1]
-        # Shared link generation code.
-        title = self.translateId(title)
-        filename = cat.upper() + escapeFiles(subcat) + ".html"
-        dead_attr = {True: ' class="dead"', False: ''}[is_dead]
-        return '<a href="%s"%s>%s</a>' % (pyratemp.escape(filename), dead_attr, title)
-
-    def translateMarkup(self, text, section=None, subsection=None, node=None):
-        ## print text, section, subsection
-        if not section is None:
-            text = text.replace('#', str(section))
-        elif not section is None and not subsection is None:
-            if text.count('#') == 1:
-                text = text.replace('#', str(subsection))
-            else:
-                p1 = text.find('#')
-                p2 = text.find('#', p1 + 1)
-                ## print text
-                text = ''.join([text[:p1], str(section), text[(p1 + 1):p2], str(subsection), text[(p2 + 1):]])
-                ## print '  >', text
-        res = self.markup_parser.toHtml(self.markup_parser.parse(text), node=node)
-        res = translate(res)  # Translate stuff like \at.
-        return res
-
-    def translateTableHeader(self, text):
-        return self.translateTableRow(text, cell_tag='th')
-
-    def translateTableRow(self, text, cell_tag='td'):
-        parse_tree = self.markup_parser.parse(text)
-        cells = [[]]
-        for type_, txt in parse_tree:
-            if type_ == 'CELL_SPLITTER':
-                cells.append([])
-            else:
-                cells[-1].append((type_, txt))
-        res = ['<tr>']
-        for c in cells:
-            res += ['<', cell_tag, '>', self.markup_parser.toHtml(c), '</', cell_tag, '>']
-        res.append('</tr>')
-        return ''.join(res)
-
-    def _splitIncludeFile(self, txt):
-        """Splits text from included file.
-
-        Returns a list of pairs.  Each pair contains the type of the entry in
-        the first and the text of the entry in the second component.  The type
-        is either 'TEXT' or 'COD'E.
-        """
-        result = []
-        curr_type = None
-        curr_chunk = []
-        for line in txt.splitlines():
-            if line.startswith('///'):
-                if curr_type != 'TEXT':
-                    if curr_chunk:
-                        result.append((curr_type, curr_chunk))
-                    curr_type = 'TEXT'
-                    curr_chunk = [line[3:]]
-                else:
-                    curr_chunk.append(line[3:])
-            else:
-                if curr_type != 'CODE':
-                    if curr_chunk:
-                        result.append((curr_type, curr_chunk))
-                    curr_type = 'CODE'
-                    curr_chunk = [line]
-                else:
-                    curr_chunk.append(line)
-        if curr_chunk:  # Last open chunk.
-            result.append((curr_type, curr_chunk))
-        return result
-
-    # TODO(holtgrew): Rename into formatCode()?
-    def _formatCode(self, txt, linenostart=1):
-        try:
-            import pygments, pygments.lexers, pygments.formatters
-            return pygments.highlight(txt, pygments.lexers.CppLexer(), pygments.formatters.HtmlFormatter(linenos='table', style='friendly', linenostart=linenostart))
-        except ImportError:
-            return '<pre>' + pyratemp.escape(txt) + '</pre>'
-
-    def highlightCss(self):
-        try:
-            import pygments.formatters
-            return pygments.formatters.HtmlFormatter(linenos='table', style='friendly').get_style_defs('.highlight')
-        except ImportError:
-            return ''
-
-    def includeFile(self, filename, class_=None, node=None):
-        # Get path candidate.
-        if not os.path.exists(filename):
-            for inc_dir in self.include_dirs:
-                if os.path.exists(os.path.join(inc_dir, filename)):
-                    filename = os.path.join(inc_dir, filename)
-                    break
-        # Read in file.
-        with open(filename, 'rb') as f:
-            fcontents = f.read()
-        # Write out file to same directory as filename.
-        with open(os.path.join(self.out_path, os.path.basename(filename)), 'wb') as f:
-            f.write(fcontents)
-        # Create HTML to output.
-        chunks = self._splitIncludeFile(fcontents)
-        txts = []
-        next_lineno = 1
-        for type, lines in chunks:
-            if type == 'CODE':
-                txts.append(self._formatCode('\n'.join(lines), next_lineno))
-                next_lineno += len(lines)
-            else:
-                txts.append('<p class="' + class_ + '">' + self.translateMarkup('\n'.join(lines), node=node) + '</p>')
-        
-        return '\n'.join(txts)
-
-    def _loadSnippet(self, path, snippet_key):
-        result = []
-        current_key = None
-        current_lines = []
-        with open(path, 'rb') as f:
-            fcontents = f.read()
-        for line in fcontents.splitlines():
-            line = line.rstrip()  # Strip line ending and trailing whitespace.
-            if line.strip().startswith('//![') and line.strip().endswith(']'):
-                key = line.strip()[4:-1].strip()
-                if key == current_key:
-                    if key == snippet_key:
-                        result = current_lines
-                    current_lines = []
-                    current_key = None
-                else:
-                    current_key = key
-            elif current_key:
-                current_lines.append(line)
-        return result
-
-    def includeSnippet(self, line, class_=None, node=None):
-        filename, snippet_id = line, '<none>'
-        if '|' in line:
-            filename, snippet_id = line.split('|', 1)
-        # Get path candidate.
-        if not os.path.exists(filename):
-            for inc_dir in self.include_dirs:
-                if os.path.exists(os.path.join(inc_dir, filename)):
-                    filename = os.path.join(inc_dir, filename)
-                    break
-        snippet_lines = self._loadSnippet(filename, snippet_id)
-        # Read in file.
-        with open(filename, 'rb') as f:
-            fcontents = f.read()
-        # Write out file to same directory as filename.
-        with open(os.path.join(self.out_path, os.path.basename(filename)), 'wb') as f:
-            f.write(fcontents)
-        # Create HTML to output.
-        chunks = self._splitIncludeFile(fcontents)
-        next_lineno = 1
-        txt = self._formatCode('\n'.join(snippet_lines), next_lineno)
-        if not class_:
-            class_ = ''
-        return '<p class="' + class_ + '">' + txt + '</p>'
-
-
-class DocsCreator(object):
-    def __init__(self, error_logger, tree, tpl_path, out_path, include_dirs):
-        print >>sys.stderr, 'Setting up Docs Creator'
-        self.tree = tree
-        self.error_logger = error_logger
-        self.tpl_path = tpl_path
-        page_tpl_filename = os.path.join(self.tpl_path, 'files', 'page.html')
-        ##print page_tpl_filename
-        self.page_template = pyratemp.Template(filename=page_tpl_filename)
-        index_page_tpl_filename = os.path.join(self.tpl_path, 'files', 'index_page.html')
-        self.index_page_template = pyratemp.Template(filename=index_page_tpl_filename)
-
-        self.out_path = os.path.join(out_path, 'files')
-        if not os.path.exists(self.out_path):
-            os.makedirs(self.out_path)
-        self.include_dirs = include_dirs
-
-    def good(self):
-        return True  # TODO(holtgrew): Actually look for errors!
-
-    def createIndexPages(self):
-        index = core.buildByTypeAndCatIndex(self.tree)
-        cat_nodes = self.tree.find('globals.indexes').children
-        for cat, node in cat_nodes.iteritems():
-            if node.children.has_key('hidefromindex'):
-                continue
-            print >>sys.stderr, 'Indexes for ' + node.text()
-            filename = getIndexPagePath(self.tree, cat, self.out_path)
-            with open(filename, 'wb') as f:
-                title_node = self.tree.find(['Indexpage', cat, 'title'])
-                if title_node:
-                    title = title_node.text()
-                else:
-                    title = self.tree.find(['globals', 'indexes', cat]).text()
-                res = self.index_page_template(title=title,
-                                               cat=cat,
-                                               tree=self.tree,
-                                               now=datetime.datetime.utcnow(),
-                                               by_subcat=index.get(cat, {}),
-                                               time=time,  # for now.strftime()
-                                               iterable=lambda x: type(x) is list,
-                                               core=core,
-                                               html=HtmlHelper(self.error_logger, self.tree, os.path.dirname(filename), self.include_dirs),
-                                               json=json)
-                f.write(res.encode('utf-8'))
-
-    def copyFiles(self):
-        """Copy files in FILE_DIRS."""
-        print >>sys.stderr, 'Copying Documentation Files'
-        for path in FILE_DIRS:
-            entries = os.listdir(path)
-            if not os.path.exists(os.path.join(self.out_path, path)):  # Make sure output path exists.
-                os.makedirs(os.path.join(self.out_path, path))
-            for entry in entries:
-                if entry.startswith('.'):
-                    continue  # Skip hidden entries.
-                source_path = os.path.join(path, entry)
-                target_path = os.path.join(self.out_path, path, entry)
-                # Copy file.
-                print >>sys.stderr, '  %s => %s' % (source_path, target_path)
-                shutil.copyfile(source_path, target_path)
-
-    def createPages(self):
-        """Create the documentation pages."""
-        cat_dict = self.tree.find('globals.categories').children
-        for cat, cat_node in cat_dict.iteritems():  # cat=Function,...
-            print >>sys.stderr, 'Pages for ' + cat
-            if self.tree.find(cat) is None:  # Skip empty categories.
-                print >>sys.stderr
-                continue
-            for subcat, node in self.tree.find(cat).children.iteritems():  # subcat=length,...
-                filename = getPagePath(cat, subcat, self.out_path)
-                ## print filename
-                with open(filename, 'wb') as f:
-                    if 'title' in node.children:
-                        title = node.children['title'].text()
-                    else:
-                        title = node.key
-                    res = self.page_template(title=title,
-                                             cat=cat,
-                                             subcat=subcat,
-                                             tree=self.tree,
-                                             now=datetime.datetime.utcnow(),
-                                             time=time,  # for now.strftime()
-                                             core=core,
-                                             html=HtmlHelper(self.error_logger, self.tree, os.path.dirname(filename), self.include_dirs),
-                                             json=json)
-                    f.write(res.encode('utf-8'))
-                print >>sys.stderr, '.',
-            print >>sys.stderr
-
-
-def createDocs(error_logger, tree, tpl_path, out_path, include_dirs):
-    """Fire off the documentation creation."""
-    # Things that are created from templates, data JavaScript creation for the
-    # client-side JS-driven search.
-    creator1 = TplDocsCreator(error_logger, tree, tpl_path, out_path, include_dirs)
-    creator1.copyTemplates()
-    creator1.createRootIndexPage()
-    creator1.createPanelSearchIndex()
-    creator1.createPanelTree()
-    #return 0
-    # Actually create the documentation content; things that will be displayed
-    # on the right hand frame.
-    creator2 = DocsCreator(error_logger, tree, tpl_path, out_path, include_dirs)
-    creator2.copyFiles()
-    creator2.createIndexPages()
-    creator2.createPages()
-
-    if creator1.good() and creator2.good():
-        return 0
-    else:
-        return 1
diff --git a/util/py_lib/seqan/dddoc/main.py b/util/py_lib/seqan/dddoc/main.py
deleted file mode 100755
index aa3a9ea..0000000
--- a/util/py_lib/seqan/dddoc/main.py
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/usr/bin/env python2
-
-import datetime
-import optparse
-import os
-import sys
-
-import core
-import html
-
-
-HEADER = """
-----------------------------------------------------------------------
-  Dot.Dot.Doc documentation generator.
-----------------------------------------------------------------------
-""".strip()
-
-CMD_HELP = """
-Usage: %s <base path> [ <module> ]*
-""".strip()
-
-
-# Names of dirs with .dddoc files.
-# TODO(holtgrew): Actually, this should be given on the cmd line.
-DOC_DIRS=['pages', 'concepts']
-
-class DDDocRunner(object):
-    """Runner object for dddoc.
-
-    Attrs:
-      index_only  Boolean, true iff only index pages are built.
-      doc_dirs    List of strings.  Names of directories with dddoc files.
-    """
-    
-    def __init__(self, index_only=False, doc_dirs=[], out_dir='html',
-                 demos_dir='.', cache_only=False, include_dirs=[]):
-        """Initialize, arguments correspond to attributes."""
-        self.index_only = index_only
-        self.doc_dirs = doc_dirs
-        self.out_dir = out_dir
-        self.demos_dir = demos_dir
-        self.cache_only = cache_only
-        self.include_dirs = include_dirs
-
-    def run(self, base_paths):
-        """Run dddoc on the modules below the given path.
-
-        Args:
-          base_paths Paths to build the documentation for.
-
-        Returns:
-          Return code of the application.  Is 0 for no problem, and 1 on
-          errors and warnings.
-        """
-        print 'Scanning modules...'
-        app = core.App()
-        if self.cache_only:
-            for fn in app.cache.content.iterkeys():
-                core.parseFile(fn, app.cache)
-        else:
-            # Scan some/all modules.
-            for path in base_paths:
-                os.path.normpath(path)
-                app.loadFiles(path)
-                
-            # Scan doc directories.
-            for doc_dir in self.doc_dirs:
-                print 'Scanning %s...' % doc_dir
-                app.loadFiles(doc_dir)
-
-        app.loadingComplete()
-
-        # Actually build the HTML files.
-        print 'Creating HTML Documentation...'
-        tpl_path = os.path.abspath(os.path.join(os.path.dirname(__file__), 'tpl'))
-        res = html.createDocs(app.error_logger, app.dddoc_tree, tpl_path, self.out_dir,
-                              self.include_dirs)
-
-        # Done, print end message.
-        print 'Documentation created/updated.'
-        return res
-    
-    
-def main(argv):
-    """Program entry point."""
-    print '%s\n' % HEADER
-
-    start_time = datetime.datetime.now()
-    
-    # Parse arguments.
-    parser = optparse.OptionParser()
-    parser.add_option('-d', '--doc-dir', dest='doc_dirs', action='append',
-                      default=[],
-                      help=('Read .dddoc files from this directory.  '
-                            'Can be given multiple times.'))
-    parser.add_option('-o', '--out-dir', dest='out_dir', default='html',
-                      help='Name of output directory.  Default: "html".')
-    parser.add_option('-e', '--demos-dir', dest='demos_dir',
-                      default='../projects/library/demos',
-                      help=('Directory to demos. Default: '
-                            '"../projects/library/demos".'))
-    parser.add_option('-I', '--include-dir', dest='include_dirs',
-                      action='append', default=[],
-                      help='Paths to the directories for files and snippets.')
-    parser.add_option('-c', '--cache-only', dest='cache_only', default=False,
-                      action='store_true',
-                      help='Ignore files if cache file exists.')
-    options, args = parser.parse_args(argv)
-    print 'doc dirs: %s' % ', '.join(options.doc_dirs)
-    print
-    
-    # Show help if no arguments are given.
-    if len(args) < 2:
-        print CMD_HELP % args[0]
-        return 1
-    # Create application object and run documentation generation.
-    app = DDDocRunner(index_only=False, doc_dirs=options.doc_dirs,
-                      out_dir=options.out_dir,
-                      include_dirs=options.include_dirs,
-                      demos_dir=options.demos_dir,
-                      cache_only=options.cache_only)
-    res = app.run(args)
-
-    elapsed = datetime.datetime.now() - start_time
-    print >>sys.stderr, 'Took %d s' % elapsed.seconds
-
-    return res
-    
-
-if __name__ == '__main__':
-    sys.exit(main(sys.argv))
diff --git a/util/py_lib/seqan/dox/dot_diagrams.py b/util/py_lib/seqan/dox/dot_diagrams.py
deleted file mode 100644
index 0659a85..0000000
--- a/util/py_lib/seqan/dox/dot_diagrams.py
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env python2
-"""Representation of inheritance diagrams for using with dot/graphviz."""
-
-
-class IDNode(object):
-    """Node in an inheritance diagram.
-
-    @ivar name: Name of the node.
-    @ivar entity: Represented proc_doc.ProcEntry.
-    """
-
-    def __init__(self, name='', entity=None):
-        self.name = name
-        self.entity = entity
-
-
-class InheritanceDiagram(object):
-    """Represents an inheritance diagram.
-
-    @ivar nodes: Dict of IDNode objects, indexed by name.
-    @ivar edges: Set of (IDNode, IDNode) pairs.
-    """
-
-    def __init__(self):
-        self.nodes = {}
-        self.edges = set()
-
-    def addNode(self, node):
-        """Add the given class diagram node."""
-        self.nodes[node.name] = node
-
-    def addEdge(self, a, b):
-        """Add an edge a -> b."""
-        self.edges.add((a.name, b.name))
-
-
-class InheritanceDiagramRenderer(object):
-    def render(self, diagram):
-        return None
-
-
-class DiagramRenderResult(object):
-    """Result for rendering a dot diagram.
-
-    @ivar image_path: String with the path to the image.
-    @ivar map_path: String with the path to the <map> file.
-    """
-
-    def __init__(self):
-        self.image_path = None
-        self.map_path = None
diff --git a/util/py_lib/seqan/dox/dox_parser.py b/util/py_lib/seqan/dox/dox_parser.py
deleted file mode 100644
index 55999dd..0000000
--- a/util/py_lib/seqan/dox/dox_parser.py
+++ /dev/null
@@ -1,977 +0,0 @@
-#!/usr/bin/env python2
-"""Parser for SeqAn Doxygen dialect.
-
-The Doxygen documentation has a regular grammar and thus can be parsed quite
-easily.  We do not use a parser generator such as PLY since it is a bit
-overkill (it can generate parser for some context-free grammars) and not
-as straightforward to use as writing a simple parser by hand.
-"""
-
-import itertools
-import operator
-import os.path
-import re
-import sys
-
-import termcolor
-
-import raw_doc
-import lexer
-import dox_tokens
-
-
-class MessagePrinter(object):
-    """Allows to pretty print warning and error messages.
-
-    @ivar ignore_dirs: The directories to ignore warnings for.
-    @ivar counts: Dict mapping 'error' and 'warning' to counts.
-    """
-
-    def __init__(self, ignore_dirs=[]):
-        self.ignore_dirs = [os.path.realpath(x) for x in ignore_dirs]
-        self.counts = {'error': 0, 'warning': 0}
-
-    def isIgnored(self, path):
-        """Return whether path is below one of the ignored directories."""
-        real_path = os.path.realpath(path)
-        return any([os.path.commonprefix([real_path, x]) == x for x in self.ignore_dirs])
-
-    def printTokenError(self, token, msg, level='error'):
-        """Print user-friendly error at location token."""
-        if self.isIgnored(token.file_name):
-            return  # Is ignored.
-        # Print location and error message.
-        location = (token.file_name, token.lineno + 1, token.column)
-        if sys.stderr.isatty():
-            location_str = termcolor.colored('%s:%d:%d:' % location, 'white', attrs=['bold'])
-            error_str = termcolor.colored('%s:' % level, 'red', attrs=['bold'])
-            msg = termcolor.colored(msg, 'white', attrs=['bold'])
-        else:
-            location_str = '%s:%d:%d:' % location
-            error_str = '%s:' % level
-        print >>sys.stderr, '%s %s %s' % (location_str, error_str, msg)
-        # Increase error counter.
-        self.counts[level] += 1
-        if token.file_name == '<mem>':
-            return  # do not attempt to access line below
-        # Load line with error and print it with an indicator of the error.
-        fcontents = open(token.file_name).read()
-        lines = fcontents.splitlines()
-        if token.lineno >= len(lines):
-            return  # Invalid line number.
-        print >>sys.stderr, '%s' % lines[token.lineno].rstrip()
-        if sys.stderr.isatty():
-            print >>sys.stderr, token.column * ' ' + termcolor.colored('^', 'green', attrs=['bold'])
-        else:
-            print >>sys.stderr, token.column * ' ' + '^'
-
-    def printParserError(self, e):
-        """Print user-friendly error message for ParserError e."""
-        msg = e.msg
-        if not e.msg:
-            msg = 'Parse error'
-        if e.token:
-            self.printTokenError(e.token, e.msg)
-        else:
-            self.counts['error'] += 1
-            print >>sys.stderr, 'ERROR: %s' % msg
-
-    def printStats(self):
-        print >>sys.stderr, 'Issued %d warnings and %d errors.' % (self.counts['error'], self.counts['warning'])
-
-    def numWarnings(self):
-        return self.counts['warning']
-
-    def numErrors(self):
-        return self.counts['error']
-
-
-class ParserError(Exception):
-    """Raised when there is a parser error."""
-    
-    def __init__(self, token=None, msg=''):
-        if msg and token:
-            args = (token.file_name, token.lineno, token.column, repr(token.val), msg)
-            message = ('Parse error at %s:%d (column %d) '
-                       'at token "%s": %s)' % args)
-        elif not msg and token:
-            args = (token.lineno, token.column, repr(token.val))
-            message = 'Parser error at %d:%d ("%s").' % args
-        else:
-            message = 'Parse error: %s' % (msg,)
-        Exception.__init__(self, message)
-        self.msg = msg
-        self.token = token
-
-
-def stripWhitespaceTokens(token_list, strip_lt_breaks=False):
-    """Strip leading and trailing whitespace tokens from token_list."""
-    types = ['SPACE']
-    if strip_lt_breaks:
-        types.append('BREAK')
-    while token_list and token_list[0].type in types:
-        token_list.pop(0)
-    while token_list and token_list[-1].type in types:
-        token_list.pop()
-
-
-def normalizeWhitespaceTokens(token_list, strip_lt_breaks=False):
-    """Normalize whitespace by replacing multiple consecutive spaces by one.
-    """
-    positions = [i for i, t in enumerate(token_list) if t.type == 'SPACE']
-    for i in reversed(positions):
-        token_list[i].val = ' '
-    stripWhitespaceTokens(token_list, strip_lt_breaks)
-
-
-class GenericSimpleClauseState(object):
-    """Handler used in *DocState for handling simple text clauses clauses.
-    """
-    
-    def __init__(self, parser, parent):
-        self.parser = parser
-        self.parent = parent
-        self.tokens = []
-        # The first token, usually starting the clause at all, set outside.
-        self.first_token = None
-        self.entry_class = None
-        # Whether or not to strip leading and trailing breaks.
-        self.strip_lt_breaks = False
-        # Whether to normalize whitespace tokens in getEntry().
-        self.normalize_tokens = True
-
-    def entered(self, token):
-        self.first_token = token
-
-    def left(self):
-        pass
-
-    def getEntry(self):
-        """Returns the Entry for the brief clause."""
-        if self.normalize_tokens:
-            normalizeWhitespaceTokens(self.tokens, self.strip_lt_breaks)
-        return self.entry_class(self.first_token, raw_doc.RawText(self.tokens))
-
-    def handle(self, token):
-        # One or more empty lines end such a clause as well as another
-        # clause-starting command.
-        if token.type in ['EMPTYLINE', 'EOF']:
-            self.parent.endClause()
-        elif token.type in dox_tokens.CLAUSE_STARTING or \
-             token.type in dox_tokens.ITEM_STARTING:
-            self.parent.endClause(token)
-        elif token.type == 'SPACE' and (not self.tokens or self.tokens[-1].type == 'BREAK'):
-            return  # Skip space at beginning or after break
-        elif token.type == 'BREAK' and (self.tokens and self.tokens[-1].type == 'SPACE'):
-            self.tokens[-1] = token  # Replace space before break
-        else:
-            #print 'APPEND %s' % repr(token.val)
-            self.tokens.append(token)
-
-
-class ParagraphState(GenericSimpleClauseState):
-    """Handler used in *DocState for handling tokens of a paragraph."""
-    
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawParagraph
-
-
-class SignatureState(GenericSimpleClauseState):
-    """Handler used in *DocState for handling tokens of a paragraph."""
-    
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawSignature
-
-
-class CodeState(GenericSimpleClauseState):
-    """Handler used in *DocState for handling tokens of a paragraph."""
-    
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawCode
-        self.normalize_tokens = False
-
-    def handle(self, token):
-        # Code is only ended by @endcode.
-        if token.type == 'COMMAND_ENDCODE':
-            self.parent.endClause()
-        else:
-            self.tokens.append(token)
-
-
-class HtmlOnlyState(GenericSimpleClauseState):
-    """Handler used in *DocState for handling tokens of a paragraph."""
-    
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawHtmlOnly
-        self.normalize_tokens = False
-
-    def handle(self, token):
-        # HTML-only section is only ended by @endhtmlonly.
-        if token.type == 'COMMAND_ENDHTMLONLY':
-            self.parent.endClause()
-        else:
-            self.tokens.append(token)
-
-
-class DeprecatedState(GenericSimpleClauseState):
-    """Handler for the @deprecated clause."""
-
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawDeprecated
-
-
-class NoteState(GenericSimpleClauseState):
-    """Handler for the @note clause."""
-
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawNote
-
-
-class WarningState(GenericSimpleClauseState):
-    """Handler for the @warning clause."""
-
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawWarning
-
-
-class AkaState(GenericSimpleClauseState):
-    """Handler for the @aka clause."""
-
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawAka
-
-
-class InternalState(GenericSimpleClauseState):
-    """Handler for the @internal clause."""
-
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawInternal
-
-
-class HeaderfileState(GenericSimpleClauseState):
-    """Handler for the @headerfile clause."""
-
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawHeaderfile
-
-
-class ImplementsState(GenericSimpleClauseState):
-    """Handler for the @implements clause."""
-
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawImplements
-
-
-class ExtendsState(GenericSimpleClauseState):
-    """Handler for the @extends clause."""
-
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawExtends
-        self.strip_lt_breaks = True
-
-
-class BriefState(GenericSimpleClauseState):
-    """Handler for the @brief clause."""
-
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawBrief
-
-
-class SeeState(GenericSimpleClauseState):
-    """Handler for the @see clause."""
-
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawSee
-
-
-class ParamState(GenericSimpleClauseState):
-    """Handler used in *DocState for handling @param clauses.
-    """
-    
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawParam
-        # Parameters need more than one token list.
-        self.in_out = None
-        self.name = []
-
-    def handle(self, token):
-        # Special handling of the in/out token and the name, if any.
-        #print '.... TOKEN', token, token.type == 'PARAM_IN_OUT'
-        if token.type == 'PARAM_IN_OUT':
-            self.in_out = token
-        elif not self.name:
-            if token.type != 'SPACE':
-                self.name.append(token)
-            # Skipping whitespace.
-        else:
-            GenericSimpleClauseState.handle(self, token)
-
-    def getEntry(self):
-        """Returns the Entry for the parameter."""
-        normalizeWhitespaceTokens(self.tokens)
-        return self.entry_class(self.first_token, raw_doc.RawText(self.name),
-                                raw_doc.RawText(self.tokens), self.in_out)
-
-
-class TParamState(ParamState):
-    """Handler used in *DocState for handling @tparam clauses.
-    """
-    
-    def __init__(self, parser, parent):
-        ParamState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawTParam
-
-
-class ReturnState(ParamState):
-    """Handler used in *DocState for handling @return clauses.
-    
-    Stores return type in self.name (member variable inherited from
-    ParamState).  Sorry for any confusion.  The flag self.type_read
-    is used for storing whether the type has been read.
-    """
-    
-    def __init__(self, parser, parent):
-        ParamState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawReturn
-        self.type_read = False
-
-    def handle(self, token):
-        if self.type_read:
-            GenericSimpleClauseState.handle(self, token)
-        else:
-            if self.name and token.type in dox_tokens.WHITESPACE:
-                self.type_read = True
-            elif self.name or token.type not in dox_tokens.WHITESPACE:
-                self.name.append(token)
-
-
-class ThrowState(ParamState):
-    """Handler used in *DocState for handling @throw clauses.
-    
-    Stores throw type in self.name (member variable inherited from
-    ParamState).  Sorry for any confusion.  The flag self.type_read
-    is used for storing whether the type has been read.
-    """
-    
-    def __init__(self, parser, parent):
-        ParamState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawThrow
-        self.type_read = False
-
-    def handle(self, token):
-        if self.type_read:
-            GenericSimpleClauseState.handle(self, token)
-        else:
-            if self.name and token.type in dox_tokens.WHITESPACE:
-                self.type_read = True
-            elif self.name or token.type not in dox_tokens.WHITESPACE:
-                self.name.append(token)
-
-class DataRaceState(GenericSimpleClauseState):
-    """Handler used in *DocState for handling @datarace clauses.
-        
-       Inherits from GenericSimpleClauseState.
-    """
-
-    def __init__(self, parser, parent):
-        GenericSimpleClauseState.__init__(self, parser, parent)
-        self.entry_class = raw_doc.RawDataRace
-        self.type_read = False
-
-
-class SectionState(object):
-    """Handler used in *DocState for handling @section clauses.
-    """
-    
-    def __init__(self, parser, parent):
-        self.first_token = None
-        self.parser = parser
-        self.parent = parent
-        self.tokens = []
-        self.level = 0
-
-    def getEntry(self):
-        """Returns the Entry for the template parameter."""
-        return raw_doc.RawSection(self.first_token, raw_doc.RawText(self.tokens), self.level)
-
-    def entered(self, token):
-        self.first_token = token
-
-    def left(self):
-        pass
-
-    def handle(self, token):
-        # One or more empty lines end a @section raw_doc.Raw
-        if token.type in ['EMPTYLINE', 'EOF']:
-            self.parent.endClause()
-        elif token.type in dox_tokens.CLAUSE_STARTING:
-            self.parent.endClause(token)
-        else:
-            self.tokens.append(token)
-
-
-class SubsectionState(SectionState):
-    """Handler used in *DocState for handling @subsection clauses.
-    """
-    
-    def __init__(self, parser, parent):
-        SectionState.__init__(self, parser, parent)
-        self.level = 1
-
-
-class IncludeState(object):
-    """Handler used in *DocState for handling @include clauses.
-    """
-    
-    def __init__(self, parser, parent):
-        self.first_token = None
-        self.parser = parser
-        self.parent = parent
-        self.tokens = []
-
-    def getEntry(self):
-        return raw_doc.RawInclude(self.first_token, self.tokens)
-
-    def entered(self, token):
-        self.first_token = token
-
-    def left(self):
-        pass
-
-    def handle(self, token):
-        if token.type in dox_tokens.LINE_BREAKS or token.type == 'EOF':
-            self.parent.endClause()
-        elif token.type in dox_tokens.CLAUSE_STARTING:
-            self.parent.endClause(token)
-        else:
-            if token.type != 'SPACE' or self.tokens:
-                self.tokens.append(token)
-
-
-class SnippetState(object):
-    """Handler used in *DocState for handling @snippet clauses.
-    """
-    
-    def __init__(self, parser, parent):
-        self.first_token = None
-        self.parser = parser
-        self.parent = parent
-        self.path_done = False  # True after first space after path
-        self.path_tokens = []
-        self.name_tokens = []
-
-    def getEntry(self):
-        return raw_doc.RawSnippet(self.first_token, self.path_tokens, self.name_tokens)
-
-    def entered(self, token):
-        self.first_token = token
-
-    def left(self):
-        pass
-
-    def handle(self, token):
-        if token.type in dox_tokens.LINE_BREAKS or token.type == 'EOF':
-            self.parent.endClause()
-        elif token.type in dox_tokens.CLAUSE_STARTING:
-            self.parent.endClause(token)
-        else:
-            if token.type == 'SPACE':
-                if not self.path_tokens:
-                    return  # Ignore beginning space.
-                elif self.path_tokens and not self.name_tokens:
-                    self.path_done = True
-                else:  # append to name
-                    self.name_tokens.append(token)
-            else:
-                if self.path_done:
-                    self.name_tokens.append(token)
-                else:
-                    self.path_tokens.append(token)
-
-
-class TopLevelState(object):
-    """Top level state, expecting a command starting a documentation item.
-    
-    Whitespace is skipped.
-    """
-
-    def __init__(self, parser):
-        self.parser = parser
-
-    def handle(self, token):
-        # We ignore whitespace.
-        if token.type in dox_tokens.WHITESPACE:
-            return
-        # We expect an item-starting token.
-        if token.type in dox_tokens.ITEM_STARTING:
-            state_map = {'COMMAND_CLASS' :       'class',
-                         'COMMAND_CONCEPT' :     'concept',
-                         'COMMAND_FUNCTION' :    'function',
-                         'COMMAND_MACRO':        'macro',
-                         'COMMAND_METAFUNCTION': 'metafunction',
-                         'COMMAND_PAGE':         'page',
-                         'COMMAND_MAINPAGE':     'mainpage',
-                         'COMMAND_DEFGROUP':     'group',
-                         'COMMAND_VARIABLE':     'var',
-                         'COMMAND_VALUE':        'val',
-                         'COMMAND_TAG':          'tag',
-                         'COMMAND_TYPEDEF':      'typedef',
-                         'COMMAND_ADAPTION':     'adaption',
-                         'COMMAND_ENUM':         'enum',}
-            self.parser.enterState(state_map[token.type], token)
-            return
-        msg = 'Expecting one of {%s.} but is %s' % (", ".join(dox_tokens.ITEM_STARTING), token.type)
-        raise ParserError(token, msg)
-
-
-class GenericDocState(object):
-    """Generic token handler for top-level entries.
-    """
-
-    def __init__(self, parser, entry_class, state_name):
-        self.parser = parser
-        # Substate is one of "first_line" or "body".
-        self.substate = 'first_line'
-        self.state_name = state_name
-        self.first_line_tokens = None
-        self.entry_class = entry_class
-        self.clause_state = None
-        self.allowed_commands = dox_tokens.CLAUSE_STARTING
-
-    def getEntry(self):
-        return self.entry
-
-    def entered(self, first_token):
-        """Called when the state is entered successfully with @class etc.
-        """
-        #print >>sys.stderr, ">>>>ENTERING CLASS STATE"
-        self.first_token = first_token
-        self.first_line_tokens = []
-        self.substate = 'first_line'
-        self.entry = self.entry_class(first_token)
-        # Variables for name/title separation.
-        self.name_read = False
-        self.name_tokens = []
-        self.title_tokens = []
-
-    def left(self):
-        pass
-
-    def handle(self, token):
-        #print 'state = class, substate = %s, clause_state %s' % (self.substate, self.clause_state)
-        if self.substate == 'first_line':
-            # If we have a line break in the first line then we go to the body
-            # of the class documentation.
-            if token.type in dox_tokens.LINE_BREAKS or token.type == 'EOF':
-                #print >>sys.stderr, [v.val for v in self.name_tokens], [v.val for v in self.type_tokens]
-                normalizeWhitespaceTokens(self.name_tokens)
-                normalizeWhitespaceTokens(self.title_tokens)
-                self.entry.name = raw_doc.RawText(self.name_tokens)
-                self.entry.title = raw_doc.RawText(self.title_tokens)
-                self.substate = 'body'
-                return
-            # Skip space at the beginning of the type.
-            if not self.name_tokens and token.type == 'SPACE':
-                return
-            # Otherwise, we collect the token's value.
-            if self.name_read:
-                #print >>sys.stderr, 'NAME', token.type, repr(token.val)
-                self.title_tokens.append(token)
-            else:
-                if token.type == 'SPACE':
-                    self.name_read = True
-                else:
-                    #print >>sys.stderr, 'TYPE', token.type, repr(token.val)
-                    self.name_tokens.append(token)
-        elif self.substate == 'body':
-            # If we are already in a clause then continue to use the state.
-            if not self.clause_state is None:
-                self.clause_state.handle(token)
-                return
-            # In the body, we look for a item-generating token and will enter
-            # the corresponding state if we hit it.
-            if token.type in dox_tokens.ITEM_STARTING:
-                # Leave the top-level class state and handle the token with the
-                # top-level handler.  This will create the appropriate state.
-                self.parser.leaveState(self.state_name)
-                assert self.parser.states[0] == 'top'
-                self.parser.handleToken(token)
-                return
-            # In a class documentation body, a clause-starting command triggers
-            # parsing of that clause.
-            if token.type in dox_tokens.CLAUSE_STARTING:
-                state_map = {'COMMAND_SIGNATURE' : SignatureState(self.parser, self),
-                             'COMMAND_CODE' : CodeState(self.parser, self),
-                             'COMMAND_HTMLONLY' : HtmlOnlyState(self.parser, self),
-                             'COMMAND_BRIEF' : BriefState(self.parser, self),
-                             'COMMAND_EXTENDS' : ExtendsState(self.parser, self),
-                             'COMMAND_HEADERFILE' : HeaderfileState(self.parser, self),
-                             'COMMAND_DEPRECATED' : DeprecatedState(self.parser, self),
-                             'COMMAND_NOTE' : NoteState(self.parser, self),
-                             'COMMAND_WARNING' : WarningState(self.parser, self),
-                             'COMMAND_AKA' : AkaState(self.parser, self),
-                             'COMMAND_INTERNAL' : InternalState(self.parser, self),
-                             'COMMAND_IMPLEMENTS' : ImplementsState(self.parser, self),
-                             'COMMAND_SEE' : SeeState(self.parser, self),
-                             'COMMAND_RETURN' : ReturnState(self.parser, self),
-                             'COMMAND_THROW' : ThrowState(self.parser, self),
-                             'COMMAND_DATARACE' : DataRaceState(self.parser, self),
-                             'COMMAND_PARAM' : ParamState(self.parser, self),
-                             'COMMAND_TPARAM' : TParamState(self.parser, self),
-                             'COMMAND_SECTION' : SectionState(self.parser, self),
-                             'COMMAND_SNIPPET' : SnippetState(self.parser, self),
-                             'COMMAND_SUBSECTION' : SubsectionState(self.parser, self),
-                             'COMMAND_INCLUDE' : IncludeState(self.parser, self),}
-                if not token.type in self.allowed_commands:
-                    msg = 'Invalid command %s, expecting one of %s.'
-                    args = (repr(token.val), map(dox_tokens.transToken, self.allowed_commands))
-                    raise ParserError(token, msg % args)
-                if self.clause_state:
-                    self.clause_state.left()
-                self.clause_state = state_map[token.type]
-                self.clause_state.entered(token)
-                #print '>>> SWITCHING TO CLAUSE STATE %s' % self.clause_state
-                return
-            # Some commands are explicitely marked as non-paragraph, such as
-            # the @endcode and @endhtmlonly token.  These are invalid tokens.
-            if token.type in dox_tokens.NON_PARAGRAPH:
-                raise ParserError(token, 'Invalid command!')
-            # Any other token is an inline-token and part of a paragraph that
-            # we will start.  The same is true for any word.
-            self.clause_state = ParagraphState(self.parser, self)
-            self.clause_state.handle(token)
-        else:
-            raise ParserError(msg='Invalid substate in @class!')
-
-    def endClause(self, token=None):
-        """Ends the current clause and appends its result to the documentation."""
-        #print '>>> END CLAUSE(%s)' % token
-        if self.clause_state.getEntry():
-            entry = self.clause_state.getEntry()
-            if entry.getType() in ['paragraph', 'section', 'include', 'code', 'htmlonly', 'snippet']:
-                self.entry.addParagraph(entry)
-            elif entry.getType() == 'signature':
-                self.entry.addSignature(entry)
-            elif entry.getType() == 'tparam':
-                self.entry.addTParam(entry)
-            elif entry.getType() == 'brief':
-                self.entry.addBrief(entry)
-            elif entry.getType() == 'param':
-                self.entry.addParam(entry)
-            elif entry.getType() == 'see':
-                self.entry.addSee(entry)
-            elif entry.getType() == 'return':
-                self.entry.addReturn(entry)
-            elif entry.getType() == 'throw':
-                self.entry.addThrow(entry)
-            elif entry.getType() == 'datarace':
-                self.entry.addDataRace(entry)
-            elif entry.getType() == 'extends':
-                self.entry.addExtends(entry)
-            elif entry.getType() == 'implements':
-                self.entry.addImplements(entry)
-            elif entry.getType() == 'headerfile':
-                self.entry.addHeaderfile(entry)
-            elif entry.getType() == 'deprecated':
-                self.entry.addDeprecationMsg(entry)
-            elif entry.getType() == 'note':
-                self.entry.addNote(entry)
-            elif entry.getType() == 'warning':
-                self.entry.addWarning(entry)
-            elif entry.getType() == 'aka':
-                self.entry.addAka(entry)
-            elif entry.getType() == 'internal':
-                self.entry.addInternal(entry)
-            else:
-                assert False, '%s' % entry
-        self.clause_state = None
-        if token:
-            self.handle(token)
-
-
-class ClassDocState(GenericDocState):
-    """State for documentation of a class."""
-    
-    def __init__(self, parser):
-        GenericDocState.__init__(self, parser, raw_doc.RawClass, 'class')
-        self.allowed_commands = set(['COMMAND_SIGNATURE', 'COMMAND_CODE', 'COMMAND_HTMLONLY',
-                                     'COMMAND_SEE', 'COMMAND_BRIEF', 'COMMAND_TPARAM',
-                                     'COMMAND_SECTION', 'COMMAND_SUBSECTION',
-                                     'COMMAND_INCLUDE', 'COMMAND_SNIPPET', 'COMMAND_EXTENDS',
-                                     'COMMAND_IMPLEMENTS', 'COMMAND_HEADERFILE',
-                                     'COMMAND_DEPRECATED', 'COMMAND_NOTE', 'COMMAND_WARNING',
-                                     'COMMAND_AKA', 'COMMAND_INTERNAL'])
-
-class FunctionDocState(GenericDocState):
-    """State for documentation of a function."""
-    
-    def __init__(self, parser):
-        GenericDocState.__init__(self, parser, raw_doc.RawFunction, 'function')
-        self.allowed_commands = set(['COMMAND_SIGNATURE', 'COMMAND_CODE', 'COMMAND_HTMLONLY',
-                                     'COMMAND_SEE', 'COMMAND_BRIEF', 'COMMAND_TPARAM',
-                                     'COMMAND_PARAM',
-                                     'COMMAND_SECTION', 'COMMAND_SUBSECTION',
-                                     'COMMAND_INCLUDE', 'COMMAND_SNIPPET', 'COMMAND_RETURN',
-                                     'COMMAND_THROW', 'COMMAND_HEADERFILE', 'COMMAND_DEPRECATED', 
-                                     'COMMAND_NOTE', 'COMMAND_WARNING', 'COMMAND_AKA', 
-                                     'COMMAND_INTERNAL', 'COMMAND_DATARACE'])
-
-
-class MacroDocState(GenericDocState):
-    """State for documentation of a macro."""
-    
-    def __init__(self, parser):
-        GenericDocState.__init__(self, parser, raw_doc.RawMacro, 'macro')
-        self.allowed_commands = set(['COMMAND_SIGNATURE', 'COMMAND_CODE', 'COMMAND_HTMLONLY',
-                                     'COMMAND_SEE', 'COMMAND_BRIEF', 'COMMAND_PARAM',
-                                     'COMMAND_SECTION', 'COMMAND_SUBSECTION',
-                                     'COMMAND_INCLUDE', 'COMMAND_SNIPPET', 'COMMAND_RETURN',
-                                     'COMMAND_THROW', 'COMMAND_HEADERFILE', 'COMMAND_DEPRECATED',
-                                     'COMMAND_NOTE', 'COMMAND_WARNING', 'COMMAND_AKA',
-                                     'COMMAND_INTERNAL', 'COMMAND_DATARACE'])
-
-
-class MetafunctionDocState(GenericDocState):
-    """State for documentation of a metafunction."""
-    
-    def __init__(self, parser):
-        GenericDocState.__init__(self, parser, raw_doc.RawMetafunction, 'metafunction')
-        self.allowed_commands = set(['COMMAND_SIGNATURE', 'COMMAND_CODE', 'COMMAND_HTMLONLY',
-                                     'COMMAND_SEE', 'COMMAND_BRIEF', 'COMMAND_TPARAM',
-                                     'COMMAND_SECTION', 'COMMAND_SUBSECTION',
-                                     'COMMAND_INCLUDE', 'COMMAND_SNIPPET', 'COMMAND_RETURN',
-                                     'COMMAND_HEADERFILE', 'COMMAND_DEPRECATED', 'COMMAND_NOTE', 'COMMAND_WARNING',
-                                     'COMMAND_AKA', 'COMMAND_INTERNAL'])
-
-
-class ConceptDocState(GenericDocState):
-    """State for documentation of a concept."""
-    
-    def __init__(self, parser):
-        GenericDocState.__init__(self, parser, raw_doc.RawConcept, 'concept')
-        self.allowed_commands = set(['COMMAND_SIGNATURE', 'COMMAND_CODE', 'COMMAND_HTMLONLY',
-                                     'COMMAND_SEE', 'COMMAND_BRIEF',
-                                     'COMMAND_SECTION', 'COMMAND_SUBSECTION',
-                                     'COMMAND_INCLUDE', 'COMMAND_SNIPPET', 'COMMAND_EXTENDS',
-                                     'COMMAND_HEADERFILE', 'COMMAND_DEPRECATED', 'COMMAND_NOTE', 'COMMAND_WARNING',
-                                     'COMMAND_AKA', 'COMMAND_INTERNAL'])
-
-
-class PageState(GenericDocState):
-    """State for a documentation page."""
-        
-    def __init__(self, parser):
-        GenericDocState.__init__(self, parser, raw_doc.RawPage, 'page')
-        self.allowed_commands = set(['COMMAND_CODE', 'COMMAND_HTMLONLY',
-                                     'COMMAND_SEE', 'COMMAND_BRIEF',
-                                     'COMMAND_SECTION', 'COMMAND_SUBSECTION',
-                                     'COMMAND_INCLUDE', 'COMMAND_SNIPPET'])
-
-
-class MainPageState(GenericDocState):
-    """State for a documentation main page."""
-        
-    def __init__(self, parser):
-        GenericDocState.__init__(self, parser, raw_doc.RawMainPage, 'mainpage')
-        self.allowed_commands = set(['COMMAND_CODE', 'COMMAND_HTMLONLY',
-                                     'COMMAND_SEE', 'COMMAND_BRIEF',
-                                     'COMMAND_SECTION', 'COMMAND_SUBSECTION',
-                                     'COMMAND_INCLUDE', 'COMMAND_SNIPPET'])
-
-    def entered(self, first_token):
-        GenericDocState.entered(self, first_token)
-        self.name_read = True
-        self.name_tokens = [lexer.Token('IDENTIFIER', 'mainpage', 0, 0, 0)]
-
-
-class GroupState(GenericDocState):
-    def __init__(self, parser):
-        GenericDocState.__init__(self, parser, raw_doc.RawGroup, 'group')
-        self.allowed_commands = set(['COMMAND_CODE', 'COMMAND_HTMLONLY',
-                                     'COMMAND_SEE', 'COMMAND_BRIEF',
-                                     'COMMAND_SECTION', 'COMMAND_SUBSECTION',
-                                     'COMMAND_INCLUDE', 'COMMAND_SNIPPET', 'COMMAND_AKA'])
-
-
-class VariableState(GenericDocState):
-    """State for a variable."""
-        
-    def __init__(self, parser, entry_class=raw_doc.RawVariable, state_name='var'):
-        GenericDocState.__init__(self, parser, entry_class, state_name)
-        self.allowed_commands = set(['COMMAND_SIGNATURE', 'COMMAND_CODE', 'COMMAND_HTMLONLY',
-                                     'COMMAND_SEE', 'COMMAND_BRIEF',
-                                     'COMMAND_SECTION', 'COMMAND_SUBSECTION',
-                                     'COMMAND_INCLUDE', 'COMMAND_SNIPPET',
-                                     'COMMAND_HEADERFILE', 'COMMAND_DEPRECATED', 'COMMAND_NOTE', 'COMMAND_WARNING',
-                                     'COMMAND_AKA', 'COMMAND_INTERNAL'])
-
-    def entered(self, first_token):
-        GenericDocState.entered(self, first_token)
-        self.type_read = False
-        self.type_tokens = []
-        self.name_tokens = []
-
-    def left(self):
-        if not self.type_tokens or not self.name_tokens:
-            msg = ('Missing variable type or name! Must be given as "@var '
-                   '<type> <name>".')
-            raise ParserError(self.first_token, msg)
-
-    def handle(self, token):
-        # Handle first state here and the remaining in the parent class.
-        #print >>sys.stderr, token.type, repr(token.val), self.type_read
-        if self.substate == 'first_line':
-            # If we have a line break in the first line then we go to the body
-            # of the class documentation.
-            if token.type in dox_tokens.LINE_BREAKS or token.type == 'EOF':
-                #print >>sys.stderr, [v.val for v in self.name_tokens], [v.val for v in self.type_tokens]
-                normalizeWhitespaceTokens(self.name_tokens)
-                normalizeWhitespaceTokens(self.type_tokens)
-                self.entry.name = raw_doc.RawText(self.name_tokens)
-                if self.entry.name.tokens[-1].val.endswith(';'):  # remove semicolon
-                    self.entry.name.tokens[-1].val = self.entry.name.tokens[-1].val[:-1]
-                self.entry.type = raw_doc.RawText(self.type_tokens)
-                self.substate = 'body'
-                return
-            # Skip space at the beginning of the type.
-            if not self.type_tokens and token.type == 'SPACE':
-                return
-            # Otherwise, we collect the token's value.
-            if self.type_read:
-                #print >>sys.stderr, 'NAME', token.type, repr(token.val)
-                self.name_tokens.append(token)
-            else:
-                if token.type == 'SPACE':
-                    self.type_read = True
-                else:
-                    #print >>sys.stderr, 'TYPE', token.type, repr(token.val)
-                    self.type_tokens.append(token)
-        else:
-            GenericDocState.handle(self, token)
-
-
-
-class EnumValueState(VariableState):
-    """State for an enum value."""
-
-    def __init__(self, parser):
-        VariableState.__init__(self, parser, raw_doc.RawEnumValue, 'val')
-
-
-
-class TagState(GenericDocState):
-    def __init__(self, parser):
-        GenericDocState.__init__(self, parser, raw_doc.RawTag, 'tag')
-        self.allowed_commands = set(['COMMAND_SIGNATURE', 'COMMAND_CODE', 'COMMAND_HTMLONLY',
-                                     'COMMAND_SEE', 'COMMAND_BRIEF', 'COMMAND_TPARAM',
-                                     'COMMAND_SECTION', 'COMMAND_SUBSECTION',
-                                     'COMMAND_INCLUDE', 'COMMAND_SNIPPET',
-                                     'COMMAND_HEADERFILE', 'COMMAND_DEPRECATED', 'COMMAND_NOTE', 'COMMAND_WARNING',
-                                     'COMMAND_AKA', 'COMMAND_INTERNAL'])
-
-
-class EnumState(GenericDocState):
-    """State for an enum."""
-        
-    def __init__(self, parser):
-        GenericDocState.__init__(self, parser, raw_doc.RawEnum, 'enum')
-        self.allowed_commands = set(['COMMAND_SIGNATURE', 'COMMAND_CODE', 'COMMAND_HTMLONLY',
-                                     'COMMAND_SEE', 'COMMAND_BRIEF',
-                                     'COMMAND_SECTION', 'COMMAND_SUBSECTION',
-                                     'COMMAND_INCLUDE', 'COMMAND_SNIPPET',
-                                     'COMMAND_HEADERFILE', 'COMMAND_DEPRECATED', 'COMMAND_NOTE', 'COMMAND_WARNING',
-                                     'COMMAND_AKA', 'COMMAND_INTERNAL'])
-
-
-class AdaptionState(GenericDocState):
-    """State for an adaption."""
-        
-    def __init__(self, parser):
-        GenericDocState.__init__(self, parser, raw_doc.RawAdaption, 'adaption')
-        self.allowed_commands = set(['COMMAND_SIGNATURE', 'COMMAND_CODE', 'COMMAND_HTMLONLY',
-                                     'COMMAND_SEE', 'COMMAND_BRIEF',
-                                     'COMMAND_SECTION', 'COMMAND_SUBSECTION',
-                                     'COMMAND_INCLUDE', 'COMMAND_SNIPPET',
-                                     'COMMAND_HEADERFILE', 'COMMAND_DEPRECATED', 'COMMAND_NOTE', 'COMMAND_WARNING',
-                                     'COMMAND_AKA', 'COMMAND_INTERNAL'])
-
-
-class TypedefState(GenericDocState):
-    """State for an typedef."""
-        
-    def __init__(self, parser):
-        GenericDocState.__init__(self, parser, raw_doc.RawTypedef, 'typedef')
-        self.allowed_commands = set(['COMMAND_SIGNATURE', 'COMMAND_CODE', 'COMMAND_HTMLONLY',
-                                     'COMMAND_SEE', 'COMMAND_BRIEF',
-                                     'COMMAND_SECTION', 'COMMAND_SUBSECTION',
-                                     'COMMAND_INCLUDE', 'COMMAND_SNIPPET',
-                                     'COMMAND_HEADERFILE', 'COMMAND_DEPRECATED', 'COMMAND_NOTE', 'COMMAND_WARNING',
-                                     'COMMAND_AKA', 'COMMAND_INTERNAL'])
-
-
-class Parser(object):
-    """The parser class takes tokens from a lexer.Lexer class.
-    
-    It generates a raw_doc.RawDoc object from this with
-    raw_doc.RawEntry objects.
-    """
-
-    def __init__(self):
-        self.states = ['top']
-        self.handlers = {
-            'top':          TopLevelState(self),
-            'class':        ClassDocState(self),
-            'function':     FunctionDocState(self),
-            'macro':        MacroDocState(self),
-            'metafunction': MetafunctionDocState(self),
-            'concept':      ConceptDocState(self),
-            'page':         PageState(self),
-            'mainpage':     MainPageState(self),
-            'group':        GroupState(self),
-            'var':          VariableState(self),
-            'val':          EnumValueState(self),
-            'tag':          TagState(self),
-            'enum':         EnumState(self),
-            'adaption':     AdaptionState(self),
-            'typedef':      TypedefState(self),
-            }
-        self.documentation = raw_doc.RawDoc()
-
-    def parse(self, lexer):
-        for token in lexer.tokens():
-            self.handleToken(token)
-        while len(self.states) > 1:
-            self.leaveState(self.states[-1])
-
-    def handleToken(self, token):
-        #print 'Handling %s in states %s' % (token, self.states)
-        self.handlers[self.states[-1]].handle(token)
-
-    def enterState(self, state, first_token):
-        #print 'entering state %s' % state
-        self.states.append(state)
-        self.handlers[state].entered(first_token)
-
-    def leaveState(self, state):
-        #print 'leaving state %s' % state
-        if self.states[-1] == state:
-            self.handlers[state].left()
-            if self.handlers[state].getEntry():
-                self.documentation.addEntry(self.handlers[state].getEntry())
-            return self.states.pop()
-        raise ParserError(msg='Invalid state "%s", expecting "%s"!' % (state, self.states[-1]))
diff --git a/util/py_lib/seqan/dox/dox_tokens.py b/util/py_lib/seqan/dox/dox_tokens.py
deleted file mode 100644
index 5d0e04e..0000000
--- a/util/py_lib/seqan/dox/dox_tokens.py
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/usr/bin/env python2
-"""Tokens for Doxygen-like tokens.
-"""
-
-import re
-
-# Regular expressions used in LEXER_TOKENS.
-IDENTIFIER = r'[\-_a-zA-Z][\-_a-zA-Z0-9]*'
-HTML_ATTRIBUTE = IDENTIFIER + r'="[^"]*"'
-HTML_TAG = r'<(?:/)?\s*' + IDENTIFIER + '(?:\s+' + HTML_ATTRIBUTE + ')*\s*(?:/)?>'
-
-LITERALS = r'.,;<>+-/*="!:'
-
-def escapeLiterals(s):
-    """Escape string of literals s."""
-    return r'\|'.join([re.escape(x) for x in s])
-
-# Shortcuts to token sets.
-WHITESPACE = set(['SPACE', 'EMPTYLINE', 'BREAK'])
-ITEM_STARTING = set(['COMMAND_CLASS', 'COMMAND_CONCEPT', 'COMMAND_FUNCTION', 'COMMAND_MACRO',
-                     'COMMAND_METAFUNCTION', 'COMMAND_PAGE', 'COMMAND_MAINPAGE', 'COMMAND_DEFGROUP',
-                     'COMMAND_VARIABLE', 'COMMAND_VALUE', 'COMMAND_TAG', 'COMMAND_ENUM',
-                     'COMMAND_TYPEDEF', 'COMMAND_ADAPTION'])
-CLAUSE_STARTING = set(['COMMAND_SIGNATURE', 'COMMAND_CODE', 'COMMAND_SEE', 'COMMAND_BRIEF',
-                       'COMMAND_RETURN', 'COMMAND_THROW', 'COMMAND_PARAM', 'COMMAND_TPARAM',
-                       'COMMAND_SECTION', 'COMMAND_SUBSECTION', 'COMMAND_INCLUDE',
-                       'COMMAND_EXTENDS', 'COMMAND_IMPLEMENTS', 'COMMAND_SNIPPET',
-                       'COMMAND_HEADERFILE', 'COMMAND_DEPRECATED', 'COMMAND_NOTE', 'COMMAND_WARNING',
-                       'COMMAND_INTERNAL', 'COMMAND_AKA', 'COMMAND_HTMLONLY', 'COMMAND_DATARACE'])
-NON_PARAGRAPH = set(['COMMAND_ENDCODE', 'COMMAND_ENDHTMONLY'])
-LINE_BREAKS = set(['BREAK', 'EMPTYLINE'])
-
-# The lexer tokens.
-LEXER_TOKENS = (
-    # Lexer tokens for commands starting new documentation items.
-    ('COMMAND_CLASS',        r'@class'),
-    ('COMMAND_CONCEPT',      r'@concept'),
-    ('COMMAND_FUNCTION',     r'@fn'),
-    ('COMMAND_MACRO',        r'@macro'),
-    ('COMMAND_METAFUNCTION', r'@mfn'),
-    ('COMMAND_VARIABLE',     r'@var'),
-    ('COMMAND_VALUE',        r'@val'),
-    ('COMMAND_TAG',          r'@tag'),
-    ('COMMAND_ENUM',         r'@enum'),
-    ('COMMAND_PAGE',         r'@page'),
-    ('COMMAND_MAINPAGE',     r'@mainpage'),
-    ('COMMAND_DEFGROUP',     r'@defgroup'),
-    ('COMMAND_TYPEDEF',      r'@typedef'),
-    ('COMMAND_ADAPTION',     r'@adaption'),
-    
-    # Lexer tokens for commands starting different modes.
-    ('COMMAND_SIGNATURE',    r'@signature'),
-    ('COMMAND_CODE',         r'@code'),
-    ('COMMAND_ENDCODE',      r'@endcode'),
-    
-    # Lexer tokens for commands starting clauses.
-    ('COMMAND_HEADERFILE',   r'@headerfile'),
-    ('COMMAND_EXTENDS',      r'@extends'),
-    ('COMMAND_IMPLEMENTS',   r'@implements'),
-    ('COMMAND_BRIEF',        r'@brief'),
-    ('COMMAND_SEE',          r'@see'),
-    ('COMMAND_RETURN',       r'@return'),
-    ('COMMAND_THROW',        r'@throw'),
-    ('COMMAND_DATARACE',     r'@datarace'),
-    ('COMMAND_PARAM',        r'@param'),
-    ('COMMAND_TPARAM',       r'@tparam'),
-    ('COMMAND_SECTION',      r'@section'),
-    ('COMMAND_SUBSECTION',   r'@subsection'),
-    ('COMMAND_INCLUDE',      r'@include'),
-    ('COMMAND_SNIPPET',      r'@snippet'),
-    ('COMMAND_DEPRECATED',   r'@deprecated'),
-    ('COMMAND_NOTE',         r'@note'),
-    ('COMMAND_WARNING',      r'@warning'),
-    ('COMMAND_INTERNAL',     r'@internal'),
-    ('COMMAND_AKA',          r'@aka'),
-    
-    # Lexer tokens for commands for inline use.
-    ('COMMAND_LINK',         r'@link'),
-    ('COMMAND_ENDLINK',      r'@endlink'),
-
-    # Lexer tokens for HTML-only blocks.
-    ('COMMAND_HTMLONLY',     r'@htmlonly'),
-    ('COMMAND_ENDHTMLONLY',  r'@endhtmlonly'),
-    
-    # Space.
-    ('SPACE',                r'[ \t]+'),
-    ('EMPTYLINE',            r'\n\s*\n\s*'),
-    ('BREAK',                r'\n'),
-
-    # In/out tokens for the @param clause.
-    ('PARAM_IN_OUT',         r'\[in\]|\[out\]|\[in,out\]'),
-
-    # Lexing words, identifiers etc.
-    ('IDENTIFIER',           IDENTIFIER),
-    ('NUMBER',               r'[0-9]+'),
-    ('WORD',                 r'\w+'),
-    ('HTML_TAG',             HTML_TAG),
-    ('PUNCTUATION',          r'\S'),
-    
-    # Lexing punctuation.
-    ('HASH',                 r'\#'),
-    ('NS_SEP',               r'::'),
-    
-    # Literals.
-    ('LITERAL',              escapeLiterals(LITERALS)),
-    )
-
-# Translation of token name to tag name.
-LEXER_TOKENS_DICT = dict(LEXER_TOKENS)
-
-def transToken(name):
-    """Translate the token name to the token pattern."""
-    return LEXER_TOKENS_DICT[name]
diff --git a/util/py_lib/seqan/dox/file_mgr.py b/util/py_lib/seqan/dox/file_mgr.py
deleted file mode 100644
index f62c46a..0000000
--- a/util/py_lib/seqan/dox/file_mgr.py
+++ /dev/null
@@ -1,142 +0,0 @@
-#!/usr/bin/env python2
-"""
-Code for parsing comments from C++ files.
-"""
-
-import string
-import re
-
-
-class Comment(object):
-    """Represents a comment in a file.
-
-    @ivar file Back link to the File object.
-    @ivar col, line, pos 0-based column, line, position.
-    @ivar end_col, end_line, end_pos
-          0-based end column, line, position.  Note that the end_line is the
-          last line not the one after.
-    @ivar offset_col 0-based column offset.
-    @ivar text     str with the comment's content.
-    @ivar raw_text star with comment's raw content.
-    """
-
-    def __init__(self, line, col, pos, end_line, end_col, end_pos, offset_line,
-                 offset_col, text, raw_text):
-        self.col = col
-        self.line = line
-        self.pos = pos
-        self.end_col = end_col
-        self.end_line = end_line
-        self.end_pos = end_pos
-        self.offset_line = offset_line
-        self.offset_col = offset_col
-        self.text = text
-        self.raw_text = raw_text
-
-    def __eq__(self, other):
-        return (self.col == other.col and self.line == other.line and
-                self.pos == other.pos and self.end_col == other.end_col and
-                self.end_line == other.end_line and
-                self.offset_col == other.offset_col and
-                self.offset_line == other.offset_line and
-                self.text == other.text and
-                self.raw_text == other.raw_text)
-        
-    def __str__(self):
-        return 'Comment(%d, %d, %d, %d, %d, %d, %d, %d, %s, %s)' % (
-            self.line, self.col, self.pos, self.end_line, self.end_col,
-            self.end_pos, self.offset_line, self.offset_col, repr(self.text),
-            repr(self.raw_text))
-
-    def __repr__(self):
-        return str(self)
-        
-
-class File(object):
-    """Represents one C++ files with simplified access to comments.
-    """
-
-    def __init__(self, path):
-        """
-        @ivar start_markers List of str with the start marker, e.g.
-                            '**' for /** comments or '*!' for '/*$'.
-        @ivar path          str with the path to the file.
-        @ivar comments      List of Comment objects.
-        """
-        self.start_markers = ['*!']
-        self.path = path
-        self.comments = []
-
-    def parse(self):
-        with open(self.path, 'rb') as f:
-            fcontents = f.read()
-        self.comments = self._findComments(fcontents)
-
-    def _findComments(self, text):
-        """Parse C++ header as comments.
-
-        @param text The text to parse.
-        @returns List of Comment objects.
-        """
-        comments = []
-        # Search for comments using regular expressions.
-        def callback(match):
-            if not any([match.group(0).startswith('/%s' % s) for s in self.start_markers]):
-                return match.group(0)
-            start, end = match.start(), match.end()
-            start_line = string.count(text, '\n', 0, start)
-            start_col = start - string.rfind(text, '\n', 0, start) - 1
-            if start_col < 0:
-                start_col = 0
-            end_line = string.count(text, '\n', 0, end)
-            end_col = end - string.rfind(text, '\n', 0, end) - 1
-            offset_line = start_line + 1
-            raw_text = match.group(0)
-            # Compute offset column.
-            idx = raw_text.find('\n') + 1
-            for offset_col in xrange(idx, len(raw_text)):
-                if raw_text[offset_col] not in [' ', '\t']:
-                    break
-            if raw_text[offset_col] == '*':
-                offset_col += 1
-                if raw_text[offset_col] in [' ', '\t']:
-                    offset_col += 1
-            offset_col -= idx
-
-            proc_text = self._stripText(raw_text, offset_col)
-            comments.append(Comment(start_line, start_col, start, end_line, end_col, end,
-                                    offset_line, offset_col, proc_text, raw_text))
-            return match.group(0)
-        pattern = re.compile(
-            r'//.*?$|/\*.*?\*/|\'(?:\\.|[^\\\'])*\'|"(?:\\.|[^\\"])*"',
-            re.DOTALL | re.MULTILINE)
-        re.sub(pattern, callback, text)
-        return comments
-
-    def _stripText(self, text, offset_col):
-        """Strip leading stars etc."""
-        res = []
-        for line in text.splitlines()[1:-1]:
-            res.append(line[offset_col:])
-        return '\n'.join(res) + '\n'
-
-
-class FileManager(object):
-    """Handles loading of comments from files
-    """
-    
-    def __init__(self, enable_cache=False, start_markers=['*!']):
-        self.enable_cache = enable_cache
-        self.start_markers = start_markers
-
-    def loadFile(self, path):
-        """Load a file from a path
-
-        @returns File object with the parsed file.
-
-        @raises IOError in case the file could not be opened for reading.
-        """
-        res = File(path)
-        res.start_markers = self.start_markers
-        res.parse()
-        return res
diff --git a/util/py_lib/seqan/dox/inc_mgr.py b/util/py_lib/seqan/dox/inc_mgr.py
deleted file mode 100644
index 4baec6b..0000000
--- a/util/py_lib/seqan/dox/inc_mgr.py
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/usr/bin/env python2
-"""Management for including file and snippets.
-"""
-
-__author__ = 'Manuel Holtgrewe <manuel.holtgrewe at fu-berlin.de>'
-
-import os
-import os.path
-import sys
-
-
-class IncludeException(Exception):
-    """Raised when a file or snippet could not be loaded."""
-
-
-class IncludeManager(object):
-    """Manages inclusion of files.
-
-    @ivar base_paths: List of strings, paths to the include paths.
-    @ivar snippet_cache: Cache from (path, snippet name) to snippet text.
-    @ivar file_cache: Cache form path to file content.
-    """
-
-    def __init__(self, base_paths):
-        self.base_paths = base_paths
-        self.file_cache = {}
-        self.snippet_cache = {}
-
-    def loadSnippet(self, path, name):
-        """
-        @raises IncludeException When there is an error loading the file or snippet.
-        """
-        if not self.snippet_cache.get((path, name)):
-            self._loadSnippets(path)
-        if not self.snippet_cache.get((path, name)):
-            raise IncludeException("Could not include snippet %s from file %s." % (path, name))
-        return self.snippet_cache[(path, name)]
-
-    def loadFile(self, path):
-        """
-        @raises IncludeException When there is an error loading the file.
-        """
-        self._loadFile(path)
-        return self.file_cache[path]
-
-    def resolvePath(self, path):
-        """Translate a path passed to @include to an absolute path.
-
-        The path is determined by looking at self.base_paths.
-        """
-        for base_path in self.base_paths:
-            if os.path.exists(os.path.join(base_path, path)):
-                return os.path.join(base_path, path)
-        raise IncludeException('Could not find file %s for inclusion.' % path)
-
-    def _loadFile(self, path):
-        """
-        @raises IncludeException When there is an error loading the file.
-        """
-        if self.file_cache.get(path):
-            return
-        full_path = self.resolvePath(path)
-        try:
-            with open(full_path) as f:
-                self.file_cache[path] = f.read()
-        except IOError, e:
-            raise IncludeException('Could not load file %s: %s' % (path, e))
-        
-    def _loadSnippets(self, path):
-        """Load snippet
-
-        @raises IncludeException When there is an error loading the file or snippet.
-        """
-        if not self.file_cache.get(path):
-            self._loadFile(path)
-        current_key = None
-        current_lines = []
-        fcontents = self.file_cache[path]
-        for line in fcontents.splitlines():
-            line = line.rstrip()  # Strip line ending and trailing whitespace.
-            if line.strip().startswith('//![') and line.strip().endswith(']'):
-                key = line.strip()[4:-1].strip()
-                if key == current_key:
-                    self.snippet_cache[(path, key)] = '\n'.join(current_lines)
-                    current_lines = []
-                    current_key = None
-                else:
-                    current_key = key
-            elif current_key:
-                current_lines.append(line)
-        if current_lines and current_key:
-            self.snippet_cache[(path, current_key)] = '\n'.join(current_lines)
-        
diff --git a/util/py_lib/seqan/dox/lexer.py b/util/py_lib/seqan/dox/lexer.py
deleted file mode 100644
index 84d535b..0000000
--- a/util/py_lib/seqan/dox/lexer.py
+++ /dev/null
@@ -1,140 +0,0 @@
-#!/usr/bin/env python2
-"""Simple regex-based lexer.
-
-Taken from Eli Bendersky [1].
-
-[1] http://stackoverflow.com/questions/133886
-"""
-
-import re
-
-class Token(object):
-    """ A simple Token structure.
-        Contains the token type, value and position.
-
-    TODO(holtgrew): Put file_name before lineno/column.
-    """
-    def __init__(self, type, val, pos, lineno, column, file_name='<file>'):
-        self.type = type
-        self.val = val
-        self.pos = pos
-        self.lineno = lineno
-        self.column = column
-        self.file_name = file_name
-
-    def __str__(self):
-        return '%s(%s) at %d:%d (%d)' % (self.type, repr(self.val), self.lineno, self.column, self.pos)
-
-
-EOF = Token('EOF', '<eof>', 0, 0, 0)
-
-
-class LexerError(Exception):
-    """ Lexer error exception.
-
-        pos:
-            Position in the input line where the error occurred.
-    """
-    def __init__(self, pos):
-        self.pos = pos
-
-
-class Lexer(object):
-    """ A simple regex-based lexer/tokenizer.
-
-        See below for an example of usage.
-    """
-    def __init__(self, rules, skip_whitespace=True, line_offset=0, col_offset=0):
-        """ Create a lexer.
-
-            rules:
-                A list of rules. Each rule is a `regex, type`
-                pair, where `regex` is the regular expression used
-                to recognize the token and `type` is the type
-                of the token to return when it's recognized.
-
-            skip_whitespace:
-                If True, whitespace (\s+) will be skipped and not
-                reported by the lexer. Otherwise, you have to 
-                specify your rules for whitespace, or it will be
-                flagged as an error.
-
-            line_offset, col_offset:
-                Offset for computation.  Used when extracting documentation
-                from C/C++ commments and stripping the slashes or the stars.
-        """
-        self.rules = []
-
-        for name, regex in rules:
-            self.rules.append((re.compile(regex), name))
-
-        self.skip_whitespace = skip_whitespace
-        self.line_offset = line_offset
-        self.col_offset = col_offset
-        
-        self.re_ws_skip = re.compile('\S')
-        
-    def input(self, buf, file_name='<mem>', line=0, col=0, offset_col=None):
-        """ Initialize the lexer with a buffer as input.
-        """
-        self.buf = buf
-        self.column = col
-        self.pos = 0
-        self.lineno = line
-        self.file_name = file_name
-        if offset_col is not None:
-            self.col_offset = offset_col
-
-    def token(self):
-        """ Return the next token (a Token object) found in the 
-            input buffer. None is returned if the end of the 
-            buffer was reached. 
-            In case of a lexing error (the current chunk of the
-            buffer matches no rule), a LexerError is raised with
-            the position of the error.
-        """
-        #import pdb
-        #pdb.set_trace()
-        if self.pos >= len(self.buf):
-            return None
-        else:
-            if self.skip_whitespace:
-                m = self.re_ws_skip.search(self.buf[self.pos:])
-
-                if m:
-                    self.lineno += self.buf[self.pos:self.pos + m.start()].count('\n')
-                    ln_pos = self.buf.rfind('\n', 0, self.pos + m.start())
-                    if ln_pos < 0:
-                        ln_pos = -1
-                    self.column = self.pos - ln_pos - 1
-                    self.pos += m.start()
-                else:
-                    return None
-
-            for token_regex, token_type in self.rules:
-                m = token_regex.match(self.buf[self.pos:])
-
-                if m:
-                    value = self.buf[self.pos + m.start():self.pos + m.end()]
-                    self.lineno += value.count('\n')
-                    ln_pos = self.buf.rfind('\n', 0, self.pos + m.end())
-                    if ln_pos < 0:
-                        ln_pos = -1
-                    self.column = self.pos - ln_pos - 1
-                    tok = Token(token_type, value, self.pos, self.lineno + self.line_offset,
-                                self.column + self.col_offset, file_name=self.file_name)
-                    self.pos += m.end()
-                    return tok
-
-            # if we're here, no rule matched
-            raise LexerError(self.pos)
-
-    def tokens(self):
-        """ Returns an iterator to the tokens found in the buffer.
-        """
-        while 1:
-            tok = self.token()
-            if tok is None:
-                yield EOF
-                break
-            yield tok
diff --git a/util/py_lib/seqan/dox/migration.py b/util/py_lib/seqan/dox/migration.py
deleted file mode 100644
index d1e1cb0..0000000
--- a/util/py_lib/seqan/dox/migration.py
+++ /dev/null
@@ -1,802 +0,0 @@
-#!/usr/bin/env python2
-"""Code for translating a DDDoc tree and its node into raw_doc objects.
-"""
-
-import copy
-import lexer
-import raw_doc
-import re
-import sys
-
-
-formatter = raw_doc.DoxFormatter(120)
-
-class TokenTranslator(object):
-    def translate(self, token_list):
-        result = self.translateLinks(token_list)
-        result = self.translateTT(result)
-        return result
-
-    def translateLinks(self, token_list):
-        result = []
-        for token in token_list:
-            if '@' in token.val:
-                vals = re.split('(@[^@]*@)', token.val)
-                for val in vals:
-                    if val.startswith('@') and val.endswith('@'):
-                        t1 = copy.deepcopy(token)
-                        t1.type = 'COMMAND_LINK'
-                        t1.val = '@link'
-                        t2 = copy.deepcopy(token)
-                        if '|' in val:
-                            type_name, title = val[1:-1].split('|')
-                            type_name = translateTypename(type_name)
-                            t2.val = '%s %s' % (type_name, title)
-                        else:
-                            t2.val = translateTypename(val[1:-1])
-                        t2.val = ' %s ' % t2.val
-                        t3 = copy.deepcopy(token)
-                        t3.type = 'COMMAND_ENDLINK'
-                        t3.val = '@endlink'
-                        result += [t1, t2, t3]
-                    else:
-                        t = copy.deepcopy(token)
-                        t.val = val
-                        result.append(t)
-            else:
-                result.append(token)
-        return result
-        
-    def translateTT(self, token_list):
-        result = []
-        for token in token_list:
-            if '$' in token.val:
-                vals = re.split('(\$[^\$]*\$)', token.val)
-                for val in vals:
-                    if val.startswith('$') and val.endswith('$'):
-                        t1 = copy.deepcopy(token)
-                        t1.type = 'HTML_TAG'
-                        t1.val = '<tt>'
-                        t2 = copy.deepcopy(token)
-                        t2.val = val[1:-1]
-                        t3 = copy.deepcopy(token)
-                        t3.type = 'HTML_TAG'
-                        t3.val = '</tt>'
-                        result += [t1, t2, t3]
-                    else:
-                        t = copy.deepcopy(token)
-                        t.val = val
-                        result.append(t)
-            else:
-                result.append(token)
-        return result
-
-    
-def translateTokens(tokens):
-    return TokenTranslator().translate(tokens)
-
-
-def translateTypename(name):
-    if '.' in name:
-        return name.split('.', 1)[1]
-    else:
-        return name
-
-
-def translate(text):
-    return text.replace('\colon', ':').replace('"', '')
-
-# TODO(holtgrew): Translate spaces to underscores.
-
-
-def migratePages(node):
-    #print >>sys.stderr, 'Migrating pages...'
-    pages = []
-    #print node
-    for name, child in node.children.iteritems():
-        if name == 'Glossary':
-            continue
-        page = raw_doc.RawPage()
-        page.title.tokens.append(lexer.Token('WORD', name, 0, 0, 0))
-        s = 'Page'
-        page.name.tokens.append(lexer.Token('WORD', s + page.title.text, 0, 0, 0))
-        if child.children.get('summary'):
-            for text in child.children['summary'].texts:
-                if text.startswith('type=text:'):
-                    t = lexer.Token('WORD', text[len('type=text:'):], 0, 0, 0)
-                else:
-                    t = lexer.Token('WORD', text, 0, 0, 0)
-                raw_text = raw_doc.RawText(translateTokens([t]))
-                raw_brief = raw_doc.RawBrief(raw_text)
-                page.briefs.append(raw_brief)
-        if child.children.get('description'):
-            for text in child.children['description'].texts:
-                if text.startswith('type=text:'):
-                    t = lexer.Token('WORD', text[len('type=text:'):], 0, 0, 0)
-                    raw_par = raw_doc.RawParagraph(raw_doc.RawText(translateTokens([t])))
-                elif text.startswith('type=section:#'):
-                    t = lexer.Token('WORD', text[len('type=section:#'):], 0, 0, 0)
-                    raw_par = raw_doc.RawSection(raw_doc.RawText(translateTokens([t])))
-                elif text.startswith('type=subsection:#.#'):
-                    t = lexer.Token('WORD', text[len('type=subsection:#.#'):], 0, 0, 0)
-                    raw_par = raw_doc.RawSection(raw_doc.RawText(translateTokens([t])), 1)
-                else:
-                    t = lexer.Token('WORD', text, 0, 0, 0)
-                    raw_par = raw_doc.RawParagraph(raw_doc.RawText(translateTokens([t])))
-                page.body.addParagraph(raw_par)
-        pages.append(page)
-    print 'RESULTING PAGES %s' % [p.title.text for p in pages]
-    return pages
-
-
-class GenericMigration(object):
-    def __init__(self, node):
-        self.node = node
-        self.entry_class = None
-        self.sep = '#'
-        self.is_type = False
-
-    def work(self):
-        raw_entries = []
-        #print self.node.key
-        #if self.node.key == 'Memfunc':
-        #    print 'GOT', self.node.key
-        for name, child in self.node.children.iteritems():
-            #if 'StringSet' in name or self.node.key == 'Memfunc':
-            #    print 'GOT', self.node.key, name
-            #print name
-            #if name == 'Pattern':
-            #    import pdb; pdb.set_trace()
-            if self.node.key == 'Memfunc' or self.node.key == 'Typedef':
-                name = name.replace('#', '::')
-            name = translate(name)
-            if self.entry_class is raw_doc.RawGroup and not child.children.get('tag') and not child.children.get('value'):
-                entry = raw_doc.RawTag()
-            else:
-                entry = self.entry_class()
-            if self.sep != '#' and '#' in name and not self.is_type:
-                name = name.replace('#', self.sep)
-            entry.name = raw_doc.RawText([lexer.Token('WORD', name, 0, 0, 0)])
-            if self.entry_class is raw_doc.RawVariable:
-                t = lexer.Token('WORD', 'VariableType', 0, 0, 0)
-                entry.type = raw_doc.RawText([t])
-            #if hasattr(entry, 'deprecation_msgs'):
-            #    msg = raw_doc.RawDeprecated(raw_doc.RawText([lexer.Token('WORD', 'Fake deprecation message!', 0, 0, 0)]))
-            #    entry.deprecation_msgs.append(msg)
-            #print child
-            #print name, child.children.keys()
-            processed = set()
-            if child.children.get('summary'):
-                self.processSummary(entry, child.children['summary'])
-                processed.add('summary')
-            if child.children.get('general'):
-                self.processExtends(entry, child.children['general'])
-                processed.add('general')
-            if child.children.get('implements'):
-                self.processExtends(entry, child.children['implements'])
-                processed.add('implements')
-            if child.children.get('conceptimplements'):
-#                self.processExtends(entry, child.children['conceptimplements'])
-                processed.add('conceptimplements')
-            if child.children.get('baseconcept'):
-                self.processExtends(entry, child.children['baseconcept'])
-                processed.add('baseconcept')
-            if child.children.get('derived'):
-#                self.processExtends(entry, child.children['derived'])
-                processed.add('derived')
-            if child.children.get('base'):
-                self.processExtends(entry, child.children['base'])
-                processed.add('base')
-            if child.children.get('description'):
-                self.processDescription(entry, child.children['description'])
-                processed.add('description')
-            if child.children.get('text'):
-                self.processDescription(entry, child.children['text'])
-                processed.add('text')
-            if child.children.get('remarks'):
-                self.processRemarks(entry, child.children['remarks'])
-                processed.add('remarks')
-            if child.children.get('remark'):
-                self.processRemarks(entry, child.children['remark'], False)
-                processed.add('remark')
-            if child.children.get('note'):
-                self.processRemarks(entry, child.children['note'])
-                processed.add('note')
-            if child.children.get('notes'):
-                self.processRemarks(entry, child.children['notes'])
-                processed.add('notes')
-            first_example = True
-            if child.children.get('example'):
-                self.processExample(entry, child.children['example'])
-                first_example = False
-                processed.add('example')
-            if child.children.get('file'):
-                self.processFiles(entry, child.children['file'])
-                processed.add('file')
-            processed.add('cat')  # TODO(holtgrew): Handle category.
-            processed.add('category')  # TODO(holtgrew): Handle category.
-            if child.children.get('signature'):
-                #print child
-                self.processSignatures(entry, child.children['signature'])
-                processed.add('signature')
-            if child.children.get('demo'):
-                self.processDemo(entry, child.children['demo'])
-                processed.add('demo')
-            if child.children.get('see'):
-                self.processSee(entry, child.children['see'])
-                processed.add('see')
-            if child.children.get('returns'):
-                self.processReturns(entry, child.children['returns'])
-                processed.add('returns')
-            if child.children.get('return'):
-                self.processReturns(entry, child.children['return'])
-                processed.add('return')
-            if child.children.get('param'):
-                self.processParams(entry, child.children['param'])
-                processed.add('param')
-            if child.children.get('params'):
-                self.processParams(entry, child.children['params'])
-                processed.add('params')
-            if child.children.get('wiki'):
-                self.processWiki(entry, child.children['wiki'])
-                processed.add('wiki')
-            if child.children.get('cite'):
-                self.processCite(entry, child.children['cite'])
-                processed.add('cite')
-            if child.children.get('status'):
-                self.processStatus(entry, child.children['status'])
-                processed.add('status')
-            if self.entry_class is raw_doc.RawEnum:
-                if child.children.get('value'):
-                    values = self.processValues(entry, child, child.children['value'])
-                    #for v in values:
-                    #    print v.getFormatted(formatter)
-                    raw_entries += values
-                    processed.add('value')
-            if self.entry_class is raw_doc.RawGroup:  # tag
-                if child.children.get('tag'):
-                    values = self.processTags(entry, child, child.children['tag'])
-                    #for v in values:
-                    #    print v.getFormatted(formatter)
-                    raw_entries += values
-                    processed.add('tag')
-                if child.children.get('value'):
-                    values = self.processTags(entry, child, child.children['value'])
-                    #for v in values:
-                    #    print v.getFormatted(formatter)
-                    raw_entries += values
-                    processed.add('value')
-            if child.children.get('include'):
-                if hasattr(entry, 'addHeaderfile'):
-                    self.processInclude(entry, child.children['include'])
-                processed.add('include')
-            if child.children.get('header'):
-                if hasattr(entry, 'addHeaderfile'):
-                    self.processInclude(entry, child.children['header'])
-                processed.add('header')
-            processed.add('classSpec')  # TODO(holtgrew): What's this?
-            processed.add('default')  # TODO(holtgrew): What's this?
-            processed.add('nowarn')  # TODO(holtgrew): What's this?
-            processed.add('DISABLED')
-            processed.add('hidefromindex')
-            # We don't have double linking anymore.
-            processed.add('function')
-            processed.add('interfacefunc')
-            processed.add('conceptfunc')
-            processed.add('shortcutfor')
-            processed.add('metafunction')
-            processed.add('type')
-            processed.add('spec')
-            processed.add('memvar')
-            processed.add('memfunc')
-            processed.add('typedef')
-            processed.add('shortcut')
-            processed.add('metaraw_entries')
-            processed.add('conceptmetafunc')
-            processed.add('childconcept')
-            processed.add('conceptusedbyfunc')
-            if (child.children.get('class') or child.children.get('concept')) and not '#' in name and not '::' in name and not self.is_type and \
-               self.entry_class in [raw_doc.RawFunction, raw_doc.RawMetafunction, raw_doc.RawVariable]:
-                # Register raw_entries once for each class.
-                texts = []
-                if child.children.get('class'):
-                    texts += child.children.get('class').texts
-                if child.children.get('concept'):
-                    texts += child.children.get('concept').texts
-                texts = set(texts)
-                for c in texts:
-                    if '.' in c:
-                        cname = translate(c.split('.', 1)[1])
-                    else:
-                        cname = translate(c)
-                    entry2 = copy.deepcopy(entry)
-                    entry2.name = raw_doc.RawText([lexer.Token('WORD', cname + self.sep + name, 0, 0, 0)])
-                    raw_entries.append(entry2)
-                    #print entry2.getFormatted(formatter)
-            else:
-                # Register raw_entries only once.
-                raw_entries.append(entry)
-                #print 'APPENDING', entry.getFormatted(formatter)
-            processed.add('class')
-            processed.add('concept')  # TODO(holtgrew): Ignoring for now...
-            # Check that we processed all attributes.
-            unhandled = set(child.children.keys()) - processed
-            if unhandled:
-                print 'Missed %s in %s (processed: %s)' % (unhandled, child, processed)
-                sys.exit(1)
-        return raw_entries
-
-    def processSummary(self, entry, node):
-        for text in node.texts:
-            if text.startswith('type=text:'):
-                t = lexer.Token('WORD', text[len('type=text:'):], 0, 0, 0)
-                raw_text = raw_doc.RawText(translateTokens([t]))
-            else:
-                t = lexer.Token('WORD', text, 0, 0, 0)
-                raw_text = raw_doc.RawText(translateTokens([t]))
-            entry.addBrief(raw_doc.RawBrief(raw_text))
-
-    def processExtends(self, entry, node):
-        for text in node.texts:
-            if '\u0001' in text:
-                continue  # do not add inherited
-            if text.startswith('Class.'):
-                t = lexer.Token('WORD', text[len('Class.'):], 0, 0, 0)
-                raw_text = raw_doc.RawText([t])
-                entry.addExtends(raw_doc.RawExtends(raw_text))
-            elif text.startswith('Spec.'):
-                t = lexer.Token('WORD', text[len('Spec.'):], 0, 0, 0)
-                raw_text = raw_doc.RawText([t])
-                entry.addExtends(raw_doc.RawExtends(raw_text))
-            elif text.startswith('Concept.'):
-                t = lexer.Token('WORD', text[len('Concept.'):], 0, 0, 0)
-                raw_text = raw_doc.RawText([t])
-                if hasattr(entry, 'addImplements'):
-                    entry.addImplements(raw_doc.RawImplements(raw_text))
-                else:
-                    entry.addExtends(raw_doc.RawExtends(raw_text))
-            else:
-                assert False, str(node)
-
-    def processExample(self, entry, node):
-        # Add example header.
-        raw_text = raw_doc.RawText([lexer.Token('WORD', 'Examples', 0, 0, 0)])
-        raw_section = raw_doc.RawSection(raw_text)
-        entry.addParagraph(raw_section)
-        for text in node.texts:
-            if text.startswith('type=text:'):
-                t = lexer.Token('WORD', text[len('type=text:'):], 0, 0, 0)
-                raw_text = raw_doc.RawText(translateTokens([t]))
-                raw_par = raw_doc.RawParagraph(raw_text)
-            elif text.startswith('type=code:'):
-                t = lexer.Token('WORD', '{.cpp}\n' + text[len('type=code:'):] + '\n', 0, 0, 0)
-                raw_text = raw_doc.RawText(translateTokens([t]))
-                raw_par = raw_doc.RawCode(raw_text)
-            else:
-                t = lexer.Token('WORD', text, 0, 0, 0)
-                raw_text = raw_doc.RawText(translateTokens([t]))
-                raw_par = raw_doc.RawParagraph(raw_text)
-            entry.addParagraph(raw_par)
-
-    def processFiles(self, entry, node):
-        for text in node.texts:
-            if text.startswith('../'):
-                text = text[len('../'):]
-            t = lexer.Token('WORD', text, 0, 0, 0)
-            raw_text = raw_doc.RawText(translateTokens([t]))
-            entry.addParagraph(raw_doc.RawInclude(raw_text))
-
-    def processSee(self, entry, node):
-        for text in node.texts:
-            t = lexer.Token('WORD', translateTypename(text), 0, 0, 0)
-            raw_text = raw_doc.RawText(translateTokens([t]))
-            entry.addSee(raw_doc.RawSee(raw_text))
-
-    def processValues(self, entry, node, value_nodes):
-        result = []
-        enum_name = translate(node.key)
-        #print value_nodes
-        for key, value in value_nodes.children.iteritems():
-            raw_var = raw_doc.RawVariable()
-            #print value
-            var_name = value.key
-            if '::' in enum_name:
-                var_name = enum_name.split('::')[0] + '::' + var_name
-            t = lexer.Token('WORD', enum_name, 0, 0, 0)
-            raw_var.type = raw_doc.RawText([t])
-            t = lexer.Token('WORD', enum_name + '#' + var_name, 0, 0, 0)
-            raw_var.name = raw_doc.RawText([t])
-
-            processed = set()
-            if value.children.get('summary'):
-                self.processSummary(raw_var, value.children['summary'])
-                processed.add('summary')
-
-            unhandled = set(value.children.keys()) - processed
-            if unhandled:
-                print 'Missed %s in %s' % (unhandled, child)
-                sys.exit(1)
-
-            #print raw_var.getFormatted(formatter)
-            result.append(raw_var)
-        return result
-
-    def processTags(self, entry, node, tag_nodes):
-        result = []
-        group_name = translate(node.key)
-        for key, value in tag_nodes.children.iteritems():
-            raw_tag = raw_doc.RawTag()
-            tag_name = value.key
-            t = lexer.Token('WORD', group_name + '#' + tag_name, 0, 0, 0)
-            raw_tag.name = raw_doc.RawText([t])
-
-            processed = set()
-            if value.children.get('summary'):
-                self.processSummary(raw_tag, value.children['summary'])
-                processed.add('summary')
-            if value.children.get('remarks'):
-                self.processRemarks(raw_tag, value.children['remarks'])
-                processed.add('remarks')
-            if value.children.get('remark'):
-                self.processRemarks(raw_tag, value.children['remark'])
-                processed.add('remark')
-            if value.children.get('text'):
-                self.processRemarks(raw_tag, value.children['text'])
-                processed.add('text')
-            if value.children.get('type'):
-                ts = []
-                if value.children['type'].texts:
-                    ts.append(lexer.Token('WORD', ' Types: ', 0, 0, 0))
-                    ts.append(lexer.Token('WORD', value.children['type'].texts[0], 0, 0, 0))
-                for txt in value.children['type'].texts[1:]:
-                    ts.append(lexer.Token('WORD', ', ' + txt, 0, 0, 0))
-                raw_text = raw_doc.RawText(ts)
-                entry.addParagraph(raw_doc.RawParagraph(raw_text))
-                processed.add('type')
-
-            processed.add('signature')  # Ignore.
-            processed.add('include')  # TODO(holtgrew): Required here?
-            processed.add('see')  # TODO(holtgrew): Required here?
-            # We do not have double-linking any more.
-            processed.add('function')
-
-            unhandled = set(value.children.keys()) - processed
-            if unhandled:
-                print 'Missed %s in %s processed: %s' % (unhandled, node, processed)
-                sys.exit(1)
-
-            #print raw_tag.getFormatted(formatter)
-            result.append(raw_tag)
-        return result
-
-    def processDemo(self, entry, node):
-        for text in node.texts:
-            t1 = lexer.Token('WORD', 'Demo: ', 0, 0, 0)
-            t2 = lexer.Token('WORD', text, 0, 0, 0)
-            raw_text = raw_doc.RawText(translateTokens([t1, t2]))
-            entry.addParagraph(raw_doc.RawParagraph(raw_text))
-
-    def processInclude(self, entry, node):
-        for text in node.texts:
-            t = lexer.Token('WORD', text, 0, 0, 0)
-            raw_text = raw_doc.RawText(translateTokens([t]))
-            raw_headerfile = raw_doc.RawHeaderfile(raw_text)
-            entry.addHeaderfile(raw_headerfile)
-
-    def processRemarks(self, entry, node, is_first=True):
-        if is_first:
-            raw_text = raw_doc.RawText([lexer.Token('WORD', 'Remarks', 0, 0, 0)])
-            raw_section = raw_doc.RawSection(raw_text)
-            entry.addParagraph(raw_section)
-        for text in node.texts:
-            if text.startswith('type=text:'):
-                t = lexer.Token('WORD', text[len('type=text:'):], 0, 0, 0)
-                raw_text = raw_doc.RawText(translateTokens([t]))
-            else:
-                t = lexer.Token('WORD', text, 0, 0, 0)
-                raw_text = raw_doc.RawText(translateTokens([t]))
-            entry.addParagraph(raw_doc.RawParagraph(raw_text))
-
-    def processDescription(self, entry, node):
-        for text in node.texts:
-            if text.startswith('type=text:'):
-                t = lexer.Token('WORD', text[len('type=text:'):], 0, 0, 0)
-                raw_text = raw_doc.RawText(translateTokens([t]))
-            else:
-                t = lexer.Token('WORD', text, 0, 0, 0)
-                raw_text = raw_doc.RawText(translateTokens([t]))
-            entry.addParagraph(raw_doc.RawParagraph(raw_text))
-
-    def processWiki(self, entry, node):
-        for text in node.texts:
-            t = lexer.Token('WORD', 'http://trac.seqan.de/wiki/' + text, 0, 0, 0)
-            raw_text = raw_doc.RawText([t])
-            entry.addParagraph(raw_doc.RawParagraph(raw_text))
-
-    def processCite(self, entry, node):
-        for text in node.texts:
-            t = lexer.Token('WORD', text, 0, 0, 0)
-            raw_text = raw_doc.RawText(translateTokens([t]))
-            entry.addParagraph(raw_doc.RawParagraph(raw_text))
-
-    def processStatus(self, entry, node):
-        # TODO(holtgrew): Add support for @deprecated.
-        for text in node.texts:
-            t = lexer.Token('WORD', 'Status: ' + text, 0, 0, 0)
-            raw_text = raw_doc.RawText(translateTokens([t]))
-            entry.addParagraph(raw_doc.RawParagraph(raw_text))
-
-    def processSignatures(self, entry, node):
-        for text in node.texts:
-            t = lexer.Token('WORD', text, 0, 0, 0)
-            raw_text = raw_doc.RawText(translateTokens([t]))
-            raw_sig = raw_doc.RawSignature(raw_text)
-            entry.addSignature(raw_sig)
-
-    def processParams(self, entry, node):
-        for name, child in node.children.iteritems():
-            ts = []
-            if child.children.get('summary'):
-                for summary in child.children['summary'].texts:
-                    ts.append(lexer.Token('WORD', translate(summary), 0, 0, 0))
-            if child.children.get('text'):
-                for remark in child.children['text'].texts:
-                    ts.append(lexer.Token('WORD', remark, 0, 0, 0))
-            if child.children.get('tableheader'):
-                for line in child.children['tableheader'].texts:
-                    ts.append(lexer.Token('WORD', line, 0, 0, 0))
-            if child.children.get('table'):
-                for line in child.children['table'].texts:
-                    ts.append(lexer.Token('WORD', line, 0, 0, 0))
-            if child.children.get('remarks'):
-                for remark in child.children['remarks'].texts:
-                    ts.append(lexer.Token('WORD', remark, 0, 0, 0))
-            if child.children.get('remark'):
-                for remark in child.children['remark'].texts:
-                    ts.append(lexer.Token('WORD', remark, 0, 0, 0))
-            if child.children.get('node'):
-                for node in child.children['node'].texts:
-                    ts.append(lexer.Token('WORD', node, 0, 0, 0))
-            if child.children.get('type'):
-                if child.children['type'].texts:
-                    ts.append(lexer.Token('WORD', ' Types: ', 0, 0, 0))
-                    # TODO(holtgrew): Add @link?
-                    ts.append(lexer.Token('WORD', translateTypename(child.children['type'].texts[0]), 0, 0, 0))
-                for txt in child.children['type'].texts[1:]:
-                    # TODO(holtgrew): Add @link?
-                    ts.append(lexer.Token('WORD', ', ' + translateTypename(txt), 0, 0, 0))
-            if child.children.get('concept'):
-                if child.children['concept'].texts:
-                    ts.append(lexer.Token('WORD', ' Concepts: ', 0, 0, 0))
-                    ts.append(lexer.Token('WORD', child.children['concept'].texts[0], 0, 0, 0))
-                for txt in child.children['concept'].texts[1:]:
-                    ts.append(lexer.Token('WORD', ', ' + txt, 0, 0, 0))
-            if child.children.get('class'):
-                if child.children['class'].texts:
-                    ts.append(lexer.Token('WORD', ' Classes: ', 0, 0, 0))
-                    ts.append(lexer.Token('WORD', child.children['class'].texts[0], 0, 0, 0))
-                for txt in child.children['class'].texts[1:]:
-                    ts.append(lexer.Token('WORD', ', ' + txt, 0, 0, 0))
-            if child.children.get('default'):
-                if child.children['default'].texts:
-                    ts.append(lexer.Token('WORD', ' Default: ', 0, 0, 0))
-                    ts.append(lexer.Token('WORD', child.children['default'].texts[0], 0, 0, 0))
-                for txt in child.children['default'].texts[1:]:
-                    ts.append(lexer.Token('WORD', ', ' + txt, 0, 0, 0))
-            if child.children.get('value'):
-                if child.children['value'].texts:
-                    ts.append(lexer.Token('WORD', ' Values: ', 0, 0, 0))
-                    ts.append(lexer.Token('WORD', child.children['value'].texts[0], 0, 0, 0))
-                for txt in child.children['value'].texts[1:]:
-                    ts.append(lexer.Token('WORD', ', ' + txt, 0, 0, 0))
-            if node.children.get('metafunction'):
-                if node.children['metafunction'].texts:
-                    ts.append(lexer.Token('WORD', ' Metafunctions: ', 0, 0, 0))
-                    ts.append(lexer.Token('WORD', node.children['metafunction'].texts[0], 0, 0, 0))
-                for txt in node.children['metafunction'].texts[1:]:
-                    ts.append(lexer.Token('WORD', ', ' + txt, 0, 0, 0))
-            if child.children.get('see'):
-                if child.children['see'].texts:
-                    ts.append(lexer.Token('WORD', ' Sees: ', 0, 0, 0))
-                    ts.append(lexer.Token('WORD', child.children['see'].texts[0], 0, 0, 0))
-                for txt in child.children['see'].texts[1:]:
-                    ts.append(lexer.Token('WORD', ', ' + txt, 0, 0, 0))
-            ts = translateTokens(ts)
-            raw_text = raw_doc.RawText(ts)
-            name_text = raw_doc.RawText([lexer.Token('WORD', name, 0, 0, 0)])
-            if hasattr(entry, 'addParam'):
-                raw_param = raw_doc.RawParam(name_text, raw_text)
-                entry.addParam(raw_param)
-            else:
-                raw_param = raw_doc.RawTParam(name_text, raw_text)
-                entry.addTParam(raw_param)
-
-            # Check that we processed all attributes.
-            unhandled = set(child.children.keys()) - set(['summary', 'remarks', 'type', 'default', 'text', 'concept', 'metafunction', 'remark', 'note', 'see', 'class', 'value', 'nowarn', 'tableheader', 'table'])
-            if unhandled:
-                print 'Missed %s in %s' % (unhandled, node)
-                sys.exit(1)
-
-    def processReturns(self, entry, node):
-        ts = []
-        if node.children.get('summary'):
-            for text in node.children['summary'].texts:
-                t = lexer.Token('WORD', text, 0, 0, 0)
-                ts.append(t)
-        if node.children.get('text'):
-            for text in node.children['text'].texts:
-                t = lexer.Token('WORD', text, 0, 0, 0)
-                ts.append(t)
-        if node.children.get('remarks'):
-            for text in node.children['remarks'].texts:
-                t = lexer.Token('WORD', text, 0, 0, 0)
-                ts.append(t)
-        if node.children.get('note'):
-            for text in node.children['note'].texts:
-                t = lexer.Token('WORD', text, 0, 0, 0)
-                ts.append(t)
-        if node.children.get('type'):
-            if node.children['type'].texts:
-                ts.append(lexer.Token('WORD', ' Types: ', 0, 0, 0))
-                ts.append(lexer.Token('WORD', translateTypename(node.children['type'].texts[0]), 0, 0, 0))
-            for txt in node.children['type'].texts[1:]:
-                ts.append(lexer.Token('WORD', ', ' + translateTypename(txt), 0, 0, 0))
-        if node.children.get('metafunction'):
-            if node.children['metafunction'].texts:
-                ts.append(lexer.Token('WORD', ' Metafunctions: ', 0, 0, 0))
-                ts.append(lexer.Token('WORD', node.children['metafunction'].texts[0], 0, 0, 0))
-            for txt in node.children['metafunction'].texts[1:]:
-                ts.append(lexer.Token('WORD', ', ' + txt, 0, 0, 0))
-        if node.children.get('default'):
-            if node.children['default'].texts:
-                ts.append(lexer.Token('WORD', ' Default: ', 0, 0, 0))
-                ts.append(lexer.Token('WORD', node.children['default'].texts[0], 0, 0, 0))
-            for txt in node.children['default'].texts[1:]:
-                ts.append(lexer.Token('WORD', ', ' + txt, 0, 0, 0))
-        ts = translateTokens(ts)
-        name = raw_doc.RawText([lexer.Token('WORD', 'TReturn', 0, 0, 0)])
-        raw_text = raw_doc.RawText(ts)
-        raw_return = raw_doc.RawReturn(name, raw_text)
-        entry.addReturn(raw_return)
-        # Check that we processed all attributes.
-        unhandled = set(node.children.keys()) - set(['summary', 'remarks', 'type', 'metafunction', 'text', 'param', 'note', 'default'])
-        if unhandled:
-            print 'Missed %s in %s' % (unhandled, node)
-            sys.exit(1)
-            
-    def _processTextNode(self, node):
-        texts = []
-        for text in node.texts:
-            if text.startswith('type=text:'):
-                t = lexer.Token('WORD', text[len('type=text:'):], 0, 0, 0)
-                raw_text = raw_doc.RawParagraph(raw_doc.RawText([t]))
-            elif text.startswith('type=section:#'):
-                t = lexer.Token('WORD', text[len('type=section:#'):], 0, 0, 0)
-                raw_text = raw_doc.RawSection(raw_doc.RawText([t]))
-            elif text.startswith('type=subsection:#.#'):
-                t = lexer.Token('WORD', text[len('type=subsection:#.#'):], 0, 0, 0)
-                raw_text = raw_doc.RawSection(raw_doc.RawText([t]), 1)
-            else:
-                t = lexer.Token('WORD', text, 0, 0, 0)
-                raw_par = raw_doc.RawParagraph(raw_doc.RawText([t]))
-            pars.append(raw_par)
-        return pars
-
-
-class FunctionMigration(GenericMigration):
-    def __init__(self, node):
-        GenericMigration.__init__(self, node)
-        self.entry_class = raw_doc.RawFunction
-
-
-class ClassMigration(GenericMigration):
-    def __init__(self, node):
-        GenericMigration.__init__(self, node)
-        self.entry_class = raw_doc.RawClass
-        self.is_type = True
-
-    
-class EnumMigration(GenericMigration):
-    def __init__(self, node):
-        GenericMigration.__init__(self, node)
-        self.entry_class = raw_doc.RawEnum
-        self.is_type = True
-
-    
-class ConceptMigration(GenericMigration):
-    def __init__(self, node):
-        GenericMigration.__init__(self, node)
-        self.entry_class = raw_doc.RawConcept
-        self.is_type = True
-
-    
-class MacroMigration(GenericMigration):
-    def __init__(self, node):
-        GenericMigration.__init__(self, node)
-        self.entry_class = raw_doc.RawMacro
-
-    
-class MetafunctionMigration(GenericMigration):
-    def __init__(self, node):
-        GenericMigration.__init__(self, node)
-        self.entry_class = raw_doc.RawMetafunction
-
-    
-class TagMigration(GenericMigration):
-    def __init__(self, node):
-        GenericMigration.__init__(self, node)
-        self.entry_class = raw_doc.RawGroup
-        self.is_type = True
-
-
-class MemvarMigration(GenericMigration):
-    def __init__(self, node):
-        GenericMigration.__init__(self, node)
-        self.entry_class = raw_doc.RawVariable
-        self.sep = '::'
-
-
-class TypedefMigration(GenericMigration):
-    def __init__(self, node):
-        GenericMigration.__init__(self, node)
-        self.entry_class = raw_doc.RawTypedef
-        self.sep = '::'
-        self.is_type = True
-
-
-class AdaptionMigration(GenericMigration):
-    def __init__(self, node):
-        GenericMigration.__init__(self, node)
-        self.entry_class = raw_doc.RawAdaption
-        self.sep = '::'
-        self.is_type = True
-
-
-def addGroups(raw_entries):
-    """Add implicitely given groups to raw_entries."""
-    # Collect known names.
-    names = set()
-    for e in raw_entries:
-        name = e.name.text
-        if '#' not in name and '::' not in name:
-            names.add(name)
-    # Collect unknown names.
-    unknown = set()
-    for e in raw_entries:
-        name = e.name.text
-        if '#' in name and not '::' in name:
-            prefix = name.split('#', 1)[0]
-            if prefix not in names:
-                unknown.add(prefix)
-    # Add groups.
-    for name in unknown:
-        group = raw_doc.RawGroup()
-        t = lexer.Token('WORD', name, 0, 0, 0)
-        group.name = raw_doc.RawText(translateTokens([t]))
-        raw_entries.append(group)
-
-
-def migrate(tree):
-    print 'Class.keys', tree.root.children['Class'].children.keys()
-    res = []
-    res += migratePages(tree.root.children['Page'])
-    res += migratePages(tree.root.children['Indexpage'])
-    res += FunctionMigration(tree.root.children['Function']).work()
-    res += FunctionMigration(tree.root.children['Memfunc']).work()
-    res += ClassMigration(tree.root.children['Class']).work()
-    res += ClassMigration(tree.root.children['Spec']).work()
-    res += ConceptMigration(tree.root.children['Concept']).work()
-    res += EnumMigration(tree.root.children['Enum']).work()
-    res += MacroMigration(tree.root.children['Macro']).work()
-    res += MetafunctionMigration(tree.root.children['Metafunction']).work()
-    res += TagMigration(tree.root.children['Tag']).work()
-    res += MemvarMigration(tree.root.children['Memvar']).work()
-    res += TypedefMigration(tree.root.children['Typedef']).work()
-    res += AdaptionMigration(tree.root.children['Adaption']).work()
-    res += TypedefMigration(tree.root.children['Shortcut']).work()
-    addGroups(res)
-    #res += migratePages(tree.root.children['Demo'])
-    #for x in res:
-    #    print x.getFormatted(formatter)
-    return res
-
diff --git a/util/py_lib/seqan/dox/proc_doc.py b/util/py_lib/seqan/dox/proc_doc.py
deleted file mode 100644
index bd73a59..0000000
--- a/util/py_lib/seqan/dox/proc_doc.py
+++ /dev/null
@@ -1,1794 +0,0 @@
-#!/usr/bin/env python2
-"""Processed version of the documentation.
-
-The documentation from the objects of raw_doc is further processed into
-objects from the module proc_doc.  These objects can then be processed
-into structured documents such as HTML more easily.
-"""
-
-# TODO(holtgrew): Location traceability for entries and text.
-
-import os.path
-import HTMLParser
-import logging
-import re
-import sys
-import xml.etree.ElementTree
-import xml.sax.saxutils
-
-import inc_mgr
-import sig_parser
-import dox_parser
-import dox_tokens
-import raw_doc
-import validation
-
-
-def escapeForXml(s):
-    """Return escaped XML of s."""
-    return xml.sax.saxutils.escape(s)
-
-
-class DocumentationBuildException(dox_parser.ParserError):
-    """Thrown when there is a logical error on building the documentation."""
-
-
-class LinkResolver(object):
-    """Member of ProcDoc for resolving links."""
-    
-    def __init__(self, proc_doc):
-        self.proc_doc = proc_doc
-
-
-def splitSecondLevelEntry(name):
-    """Split second-level entry and return (first, second) pair.
-
-    If name is not a second level entry then (None, name) is returned.
-    """
-    xs = None
-    if name.count('::') > 1 and ' ' in name:
-        xs = name.split(' ', 1)
-    elif '#' in name:
-        xs = name.split('#', 1)
-    elif '::' in name:
-        xs = name.rsplit('::', 1)
-    if xs:
-        return xs
-    return (None, name)
-
-
-class ProcDoc(object):
-    """Collection of the top-level documentation entries.
-
-    @ivar doc_processor      The DocProcessor that created this ProcDoc.
-    @ivar local_name_counter Number of occurences for local names, used for
-                             shortening @link display to second level entries.
-    """
-
-    def __init__(self, doc_processor):
-        self.doc_processor = doc_processor
-        self.top_level_entries = {}
-        self.second_level_entries = {}
-        self.entries = {}
-        self.local_name_counter = {}
-        self.top_level_entries_filename = {}
-        self.second_level_entries_filename = {}
-
-    def addTopLevelEntry(self, x):
-        """Add a top-level-entry."""
-        self.registerEntry(x)
-        self.top_level_entries[x.name] = x
-
-    def addSecondLevelEntry(self, x):
-        """Add a second-level entry."""
-        self.registerEntry(x)
-        self.second_level_entries[x.name] = x
-        first, second = splitSecondLevelEntry(x.name)
-        if not first in self.top_level_entries:
-            msg = 'Unknown type %s' % first
-            token = x.raw_entry.name.tokens[0]
-            raise dox_parser.ParserError(msg=msg, token=token)
-        if first:
-#            print '%s => %s as %s' % (x.name, second, x.kind)
-            self.top_level_entries[first].registerSubentry(x)
-        # update local name counter
-        self.local_name_counter.setdefault(second, 0)
-        self.local_name_counter[second] += 1
-        
-    def addVariable(self, x):
-        """Add a variable entry."""
-        self.registerEntry(x)
-        if '::' in x.name:
-            self.second_level_entries[x.name] = x
-            first, second = splitSecondLevelEntry(x.name)
-            if not first in self.top_level_entries:
-                token = x.raw_entry.name.tokens[0]
-                self.doc_processor.msg_printer.printTokenError(
-                    token, 'Unknown top level entry %s' % first, 'error')
-            else:
-                self.top_level_entries[first].registerSubentry(x)
-        else:
-            self.top_level_entries[x.name] = x
-
-    def addEnumValue(self, x):
-        """Add an enum value entry."""
-        self.registerEntry(x)
-        if not x.type in self.top_level_entries:
-            token = x.raw_entry.name.tokens[0]
-            self.doc_processor.msg_printer.printTokenError(
-                token, 'Unknown top level entry %s' % x.type, 'error')
-        else:
-            self.top_level_entries[x.type].registerSubentry(x)
-        
-    def registerEntry(self, x):
-        """Register an entry."""
-
-        name = x.name
-        if name == '':
-            msg = 'Entry must not have an empty name.'
-            raise DocumentationBuildException(token=x.raw_entry.first_token,
-                                              msg=msg)
-        if x.kind == 'variable' and self.top_level_entries.get(x.type) and self.top_level_entries[x.type].kind == 'enum':
-            name = x.type + '::' + name
-        if name.endswith(';'):
-            name = name[:-1]
-        if name in self.entries:
-            old = self.entries[name]
-            tpl = ('Trying to define %(new_kind)s %(new_name)s in %(new_file)s:'
-                   '%(new_line)s but is previously defined as %(old_kind)s '
-                   '%(old_name)s in %(old_file)s:%(old_line)d.')
-            vals = {
-                'new_kind': x.kind,
-                'new_name': name,
-                'new_file': old.location[0],
-                'new_line': old.location[1],
-                'old_kind': old.kind,
-                'old_name': old.name,
-                'old_file' : x.location[0],
-                'old_line' : x.location[1]}
-            self.doc_processor.msg_printer.printTokenError(x.raw_entry.name.tokens[0],
-                                                           tpl % vals, 'error')
-        else:
-          self.entries[name] = x
-          x.doc = self
-
-    def runTextVisitor(self, v):
-        """Run visitor v on all Text members of all entries and sub entries.
-        """
-        for e in self.entries.itervalues():
-            e.runTextVisitor(v)
-
-
-class TextNode(object):
-    """A node represents a part of a processed text.
-
-    Processed text is text generated from tokens lexed from the input file.
-    For example, text in the paragraph of a entry's body can be representd by
-    TextNode objects.
-
-    TextNode objects are similar to DOM nodes, i.e. they can contain children
-    and have attributes.  This means that we can have a link node that has a
-    href/target attribute with a target URL and one or more child nodes that
-    contain the link's label.
-
-    Additionally, we store the source location (begin and end line/column) of
-    the node in its source file.
-
-    We represent plain links, i.e. where the label is the same as the target
-    using the representation for "<a href="seqan:$target">$target</a>".
-
-    We represent included code snippets as "<dox:code type='.cpp'>$code</dox:code>."
-
-    @ivar type: The type of the node, as a string.  Reserved values are
-                '<text>' for plain text nodes.
-    @ivar attrs: A dict object mapping attribute names to string values.
-    @ivar children: A list of TextNode objects.
-    @ivar text: The text value of a node, a string.
-    @ivar tokens: For links, this is the list of tokens in the @link command.
-    @ivar raw_html: Comes from HTML in dox, disables h2 to h4 translation, for
-                    example.
-    """
-
-    def __init__(self, type='<text>', raw_html=False, verbatim=False, text='', attrs={}):
-        self.type = type
-        self.attrs = dict(attrs)
-        self.children = []
-        self.raw_html = raw_html
-        if verbatim:
-            self.text = text
-        else:
-            self.text = text.replace('<', '<').replace('>', '>')
-
-    def __str__(self):
-        attrs = (repr(self.type), repr(self.text), repr(self.attrs), len(self.children))
-        return 'TextNode(type=%s, text=%s, attrs=%s, len(children)=%d)' % attrs
-
-    def __repr__(self):
-        return str(self)
-
-    @property
-    def empty(self):
-        if self.type == '<text>':
-            return not not self.text
-        else:
-            return not (self.children or self.attrs)
-
-    def setAttr(self, key, value):
-        self.attrs[escapeForXml(key)] = escapeForXml(value)
-
-    def addChild(self, n):
-        self.children.append(n)
-        return self.children[-1]
-
-    @property
-    def X(self):
-        """Returns first child, used to retrieve member of top-level <div>."""
-        if self.type == '<text>':
-            return self
-        else:
-            return self.children[0]
-
-    @property
-    def plainText(self):
-        """Converts to HTML and strips tags."""
-        def remove_html_markup(s):
-            tag = False
-            quote = False
-            out = []
-
-            for c in s:
-                if c == '<' and not quote:
-                    tag = True
-                elif c == '>' and not quote:
-                    tag = False
-                elif (c == '"' or c == "'") and tag:
-                    quote = not quote
-                elif not tag:
-                    out.append(c)
-            return ''.join(out)
-        return remove_html_markup(self.toHtmlLike())
-
-    def toHtmlLike(self, skip_top_tag=False, **kwargs):
-        """Returns a string with a HTML-like representation for debuggin.
-
-        @param skip_top_tag: Do ont output top-level tag.
-        @param kwargs: Additional attributes to add.
-        """
-        if self.type == '<text>':
-            if self.attrs:
-                print >>sys.stderr, 'WARNING: Attributes on text node!'
-            return self.text
-        else:
-            dash = {True: '', False: ' /'}.get(bool(self.children))  # Whether empty
-            res = []
-            if not skip_top_tag:
-                res += ['<', self.type]
-                for key, value in self.attrs.iteritems():
-                    res += [' ', key, '=', '"', repr(value)[1:-1], '"']
-                for key, value in kwargs.iteritems():
-                    res += [' ', key, '=', '"', value, '"']
-                res.append(dash + '>')
-            if self.children:
-                res += [x.toHtmlLike() for x in self.children]
-                if not skip_top_tag:
-                    res += ['</', self.type, '>']
-            return ''.join(res)
-
-
-class ProcEntry(object):
-    """A processed representation of a documentation entry.
-
-    A documentation entry has a kind (string), a name (string), a brief
-    description (TextNode(type='<text>')), and a list of references/sees to
-    other elements (list of TextNode(type='<link>')).  Also, it has a body
-    which is a TextNode with children.
-
-    @ivar raw: The raw_doc.Raw* object.
-    @ivar kind: The kind of the entry, string.
-    @ivar name: The name of the entry, string.
-    @ivar title_str: A string with the title.
-    @ivar brief: A brief description, a text-typed TextNode or None.
-    @ivar body: A TextNode object with children for the documentation body.
-    @ivar sees: A list of link-typed TextNode objects, can be empty.
-    @ivar doc:  The owning, ProcDoc, set on ProcDoc.registerEntry
-    @ivar subentries: Sub entries, dir, grouped by type.
-    @ivar raw_entry: The RawEntry object that this ProcEntry was generated from.
-    """
-
-    def __init__(self, raw, name, title=None, brief=None, body=None, sees=[]):
-        self.raw = raw
-        self.name = name
-        self.title_str = title
-        self.brief = brief
-        self.body = body
-        self.sees = list(sees)
-        self.doc = None
-        self.subentries = {}
-        self.raw_entry = None
-        self._location = None
-
-    def sortedSees(self):
-        return sorted(self.sees, key=lambda x: x.plainText)
-
-    def registerSubentry(self, proc_entry):
-        self.subentries.setdefault(proc_entry.kind, []).append(proc_entry)
-
-    def hasSubEntry(self, kind, proc_doc):
-        """Returns has a subentry of the given kind."""
-        if self.subentries.get(kind):
-            return True
-        if hasattr(self, 'all_extended'):
-            for cl in self.all_extended:
-                extended = proc_doc.top_level_entries[cl]
-                if extended.subentries.get(kind):
-                    return True
-        if hasattr(self, 'all_implemented'):
-            for co in self.all_implemented:
-                extended = proc_doc.top_level_entries[co]
-                if extended.subentries.get(kind):
-                    return True
-        return False
-
-    def visitTextNodes(self, visitor):
-        """Visit all text nodes using the given visitor."""
-        visitor.visit(self.brief)
-        visitor.visit(self.body)
-        for see in self.sees:
-            visitor.visit(see)
-
-    @property
-    def title(self):
-        return self.title_str or self.name
-
-    @property
-    def location(self):
-        """Returns pair (path, line)."""
-        if not self._location:
-            path = '<none>'
-            line = -1
-            if self.raw_entry.name and self.raw_entry.name.tokens:
-                line = self.raw_entry.name.tokens[0].lineno
-                path = self.raw_entry.name.tokens[0].file_name
-            self._location = (path, line)
-        return self._location
-
-    @property
-    def kind(self):
-        return self.__class__.__name__.replace('Proc', '').lower()
-
-
-class ProcCodeEntry(ProcEntry):
-    """A processed code entry.
-
-    @ivar signatures: A TextNode with the signatures of the entry.  They are
-                      properly formatted to be displayed as verbatim text.
-    @ivar signature_entries: A list of sig_parser.SigEntry objects.
-    @ivar headerfiles: A list of str objects with the arguments to #include.
-    @ivar deprecation_msgs: List of TextNode objects with deprecation messages.
-    @ivar notes: List of TextNode objects with notes.
-    @ivar warnings: List of TextNode objects with warnings.
-    @ivar akas: List of strings.
-    @ivar internals: List of TextNode objects (possibly empty) with marks as
-                     internal.
-    """
-
-    def __init__(self, raw, name, brief=None, body=None, sees=[]):
-        ProcEntry.__init__(self, raw, name, brief, body, sees)
-        self.signatures = []
-        self.signature_entries = []
-        self.headerfiles = []
-        self.deprecation_msgs = []
-        self.notes = []
-        self.warnings = []
-        self.akas = []
-        self.internals = []
-
-    def addSignature(self, s):
-        self.signatures.append(s)
-
-    def addSignatureEntry(self, e):
-        self.signature_entries.append(e)
-
-    def addHeaderfile(self, h):
-        self.headerfiles.append(h)
-        
-    def addDeprecationMsg(self, m):
-        self.deprecation_msgs.append(m)
-
-    def addNote(self, n):
-        self.notes.append(n)
-        
-    def addWarning(self, w):
-        self.warnings.append(w)
-        
-    def addAkas(self, a):
-        self.akas.append(a)
-        
-    def addInternal(self, i):
-        self.internals.append(i)
-        
-    def subEntries(self, kind):
-        return []
-
-    def visitTextNodes(self, visitor):
-        """Visit all text nodes using the given visitor."""
-        ProcEntry.visitTextNodes(self, visitor)
-        for msg in self.deprecation_msgs:
-            visitor.visit(msg)
-        for msg in self.notes:
-            visitor.visit(msg)
-        for msg in self.warnings:
-            visitor.visit(msg)
-
-
-class ProcEnum(ProcCodeEntry):
-    """A processed enum documentation.
-
-    @ivar values: A list of ProcVariable entries that represent values
-                  of this enum.
-    """
-
-    def __init__(self, raw, name, brief=None, body=None, sees=[]):
-        ProcCodeEntry.__init__(self, raw, name, brief, body, sees)
-        self.values = []
-
-
-class ProcAdaption(ProcCodeEntry):
-    """A processed adaption documentation.
-
-    @ivar values: A list of ProcVariable entries that represent values
-                  of this adaption.
-    """
-
-    def __init__(self, raw, name, brief=None, body=None, sees=[]):
-        ProcCodeEntry.__init__(self, raw, name, brief, body, sees)
-        self.values = []
-
-
-class ProcTypedef(ProcCodeEntry):
-    """A processed typedef documentation.
-
-    @ivar values: A list of ProcVariable entries that represent values
-                  of this typedef.
-    """
-
-    def __init__(self, raw, name, brief=None, body=None, sees=[]):
-        ProcCodeEntry.__init__(self, raw, name, brief, body, sees)
-        self.values = []
-
-    @property
-    def kind(self):
-        if '#' in self.name:
-            return 'grouped_typedef'
-        elif '::' in self.name:
-            return 'member_typedef'
-        else:
-            return 'global_typedef'
-
-
-class ProcConcept(ProcCodeEntry):
-    """A processed concept documentation.
-
-    @ivar extends: A list of str values with the names of the extended
-                   concepts.
-    @ivar all_extended: A set of str values with the names of all extended
-                        concepts, also transitively.
-    @ivar all_extending: A set of str values with the names of all extending
-                         concepts.
-    @ivar all_implementing: A set of str values with the names of all
-                            implementing classes.
-    """
-
-    def __init__(self, raw, name, brief=None, body=None, sees=[]):
-        ProcCodeEntry.__init__(self, raw, name, brief, body, sees)
-        self.extends = []
-        self.all_extended = set()
-        self.all_extending = set()
-        self.all_implementing = set()
-
-    def addExtends(self, s):
-        self.extends.append(s)
-
-    def __str__(self):
-        return 'ProcConcept(%s, brief=%s, body=%s, sees=%s)' % (
-            repr(self.name), repr(self.brief), repr(self.body), repr(self.sees))
-
-    def __repr__(self):
-        return 'ProcConcept(%s)' % repr(self.name)
-
-
-class ProcClass(ProcCodeEntry):
-    """A processed class documentation.
-
-    @ivar extends: A list of str values with the names of the extended
-                   classes.
-    @ivar implements: A list of str values with the names of the implemented
-                      concepts.
-    @ivar all_implemented: Set of str values with the names of all implemented
-                           concepts.
-    @ivar all_extending: Set of str values with the names of all extending
-                         classes.
-    @ivar all_extended: Set of str values with the names of all extended classes.
-    """
-
-    def __init__(self, raw, name, brief=None, body=None, sees=[]):
-        ProcCodeEntry.__init__(self, raw, name, brief, body, sees)
-        self.extends = []
-        self.implements = []
-        self.all_implemented = set()
-        self.all_extending = set()
-        self.all_extended = set()
-        self.tparams = []
-        self.typedefs = []
-
-    def visitTextNodes(self, visitor):
-        """Visit all text nodes using the given visitor."""
-        ProcCodeEntry.visitTextNodes(self, visitor)
-        for p in self.tparams:
-            p.visitTextNodes(visitor)
-        for p in self.typedefs:
-            p.visitTextNodes(visitor)
-
-    def addExtends(self, s):
-        self.extends.append(s)
-
-    def addImplements(self, s):
-        self.implements.append(s)
-
-    def addTParam(self, t):
-        self.tparams.append(t)
-
-    def addTypedef(self, t):
-        self.typedefs.append(t)
-
-    @property
-    def isSpecialization(self):
-        return not not self.extends
-
-    @property
-    def kind(self):
-        if self.isSpecialization:
-            return 'specialization'
-        else:
-            return 'class'
-
-
-class ProcTag(ProcCodeEntry):
-    """A processed tag documentation.
-    """
-
-    def __init__(self, raw, name, brief=None, body=None, sees=[]):
-        ProcCodeEntry.__init__(self, raw, name, brief, body, sees)
-        self.tparams = []
-
-    def addTParam(self, t):
-        self.tparams.append(t)
-
-    @property
-    def local_name(self):
-        """Returns name without group prefix."""
-        if '#' in self.name:
-            return self.name.split('#', 1)[-1]
-        else:
-            return self.name
-
-    @property
-    def kind(self):
-        if '#' in self.name:
-            return 'grouped_tag'
-        else:
-            return 'tag'
-
-
-class ProcParam(object):
-    """Representation of a parameter.
-
-    @ivar raw: Raw representation.
-    @ivar name: The name of the parameter. str.
-    @ivar in_out: One of IN, OUT, IN_OUT, None.
-    @ivar desc: Documentation of the parameter. TextNode.
-    """
-
-    def __init__(self, raw):
-        self.raw = raw
-        self.name = None
-        self.in_out = None
-        self.desc = TextNode()
-
-    def visitTextNodes(self, visitor):
-        """Visit all text nodes using the given visitor."""
-        visitor.visit(self.desc)
-
-
-ProcParam.IN = 'IN'
-ProcParam.OUT = 'OUT'
-ProcParam.IN_OUT = 'IN_OUT'
-
-
-class ProcTParam(object):
-    """Documentation of a processed template parameter.
-
-    @ivar var: The raw representation.
-    @ivar type: The type of the parameter. str
-    @ivar desc: Documentation of the parameter. TextNode.
-    """
-
-    def __init__(self, raw):
-        self.raw = raw
-        self.type = None
-        self.desc = TextNode()
-
-    def visitTextNodes(self, visitor):
-        """Visit all text nodes using the given visitor."""
-        visitor.visit(self.desc)
-
-
-class ProcReturn(object):
-    """Documentation of a @return entry.
-
-    @ivar raw: The raw version of this ProcReturn (required for location lookup).
-    @ivar type: The return type. str.
-    @ivar desc: The documentation of the return value. TextNode.
-    """
-
-    def __init__(self, raw):
-        self.raw = raw
-        self.type = None
-        self.desc = TextNode()
-
-    def visitTextNodes(self, visitor):
-        """Visit all text nodes using the given visitor."""
-        visitor.visit(self.desc)
-
-
-class ProcThrow(object):
-    """Documentation of a @throw entry.
-
-    @ivar raw: The raw version of this ProcThrow (required for location lookup).
-    @ivar type: The exception type. str.
-    @ivar desc: The documentation of the exception. TextNode.
-    """
-
-    def __init__(self, raw):
-        self.raw = raw
-        self.type = None
-        self.desc = TextNode()
-
-    def visitTextNodes(self, visitor):
-        """Visit all text nodes using the given visitor."""
-        visitor.visit(self.desc)
-        
-
-class ProcDataRace(object):
-    """Documentation of a @datarace entry.
-
-    @ivar raw: The raw version of this ProcDataRace (required for location lookup).
-    @ivar desc: The documentation of the @datarace clause. TextNode.
-    """
-
-    def __init__(self, raw):
-        self.raw = raw
-        self.desc = TextNode()
-
-    def visitTextNodes(self, visitor):
-        """Visit all text nodes using the given visitor."""
-        visitor.visit(self.desc)
-
-
-class ProcFunction(ProcCodeEntry):
-    """A processed function documentation.
-
-    @ivar params: A list of str values with the names of the extended
-                  concepts.
-    @ivar tparams:
-    @ivar returns:
-    @ivar throws: List of ProcThrow objects.
-    @ivar dataraces: List of ProcDataRace objects.
-    """
-
-    def __init__(self, raw, name, brief=None, body=None, sees=[]):
-        ProcCodeEntry.__init__(self, raw, name, brief, body, sees)
-        self.params = []
-        self.tparams = []
-        self.returns = []
-        self.throws = []
-        self.dataraces = []
-
-    @property
-    def kind(self):
-        if '#' in self.name:
-            return 'interface_function'
-        elif '::' in self.name:
-            return 'member_function'
-        else:
-            return 'global_function'
-
-    @property
-    def local_name(self):
-        """Returns name without class/concept prefix."""
-        if '#' in self.name:
-            return self.name.split('#', 1)[-1]
-        elif '::' in self.name:
-            return self.name.split('::', 1)[-1]
-        else:
-            return self.name
-
-    def visitTextNodes(self, visitor):
-        """Visit all text nodes using the given visitor."""
-        ProcCodeEntry.visitTextNodes(self, visitor)
-        for p in self.params:
-            p.visitTextNodes(visitor)
-        for p in self.tparams:
-            p.visitTextNodes(visitor)
-        for p in self.returns:
-            p.visitTextNodes(visitor)
-        for t in self.throws:
-            t.visitTextNodes(visitor)
-        for d in self.dataraces:
-            d.visitTextNodes(visitor)
-        
-    def addParam(self, p):
-        self.params.append(p)
-
-    def addTParam(self, t):
-        self.tparams.append(t)
-
-    def addReturn(self, r):
-        self.returns.append(r)
-
-    def addThrow(self, t):
-        self.throws.append(t)
-    
-    def addDataRace(self, t):
-        self.dataraces.append(t)
-
-
-class ProcMacro(ProcCodeEntry):
-    """A processed macro documentation.
-
-    @ivar params: A list of str values with the names of the extended
-                  concepts.
-    @ivar returns: Name displayed for return type.
-    @ivar throws: List of ProcThrow objects.
-    @ivar throws: List of ProcDataRace objects.
-    """
-
-    def __init__(self, raw, name, brief=None, body=None, sees=[]):
-        ProcCodeEntry.__init__(self, raw, name, brief, body, sees)
-        self.params = []
-        self.returns = []
-        self.throws = []
-        self.dataraces = []
-
-    @property
-    def local_name(self):
-        """Returns name without group prefix."""
-        if '#' in self.name:
-            return self.name.split('#', 1)[-1]
-        else:
-            return self.name
-
-    @property
-    def kind(self):
-        if '#' in self.name:
-            return 'grouped_macro'
-        else:
-            return 'macro'
-
-    def visitTextNodes(self, visitor):
-        """Visit all text nodes using the given visitor."""
-        ProcCodeEntry.visitTextNodes(self, visitor)
-        for p in self.params:
-            p.visitTextNodes(visitor)
-        for p in self.returns:
-            p.visitTextNodes(visitor)
-        for t in self.throws:
-            t.visitTextNodes(visitor)
-        for d in self.dataraces:
-            d.visitTextNodes(visitor)
-
-    def addParam(self, p):
-        self.params.append(p)
-
-    def addReturn(self, r):
-        self.returns.append(r)
-
-    def addThrow(self, t):
-        self.throws.append(t)
-        
-    def addDataRace(self, d):
-        self.dataraces.append(d)
-
-
-class ProcMetafunction(ProcCodeEntry):
-    """A processed function documentation.
-
-    @ivar tparams: A list of str values with the names of the extended
-                   concepts.
-    @ivar returns: A list of ProcReturn values.
-    """
-
-    def __init__(self, raw, name, brief=None, body=None, sees=[]):
-        ProcCodeEntry.__init__(self, raw, name, brief, body, sees)
-        self.tparams = []
-        self.returns = []
-
-    @property
-    def kind(self):
-        if '#' in self.name:
-            return 'interface_metafunction'
-        else:
-            return 'global_metafunction'
-
-    @property
-    def local_name(self):
-        """Returns name without class/concept prefix."""
-        if '#' in self.name:
-            return self.name.split('#', 1)[-1]
-        elif '::' in self.name:
-            return self.name.split('::', 1)[-1]
-        else:
-            return self.name
-
-    def visitTextNodes(self, visitor):
-        """Visit all text nodes using the given visitor."""
-        ProcCodeEntry.visitTextNodes(self, visitor)
-        for p in self.tparams:
-            p.visitTextNodes(visitor)
-        for p in self.returns:
-            p.visitTextNodes(visitor)
-
-    def addTParam(self, t):
-        self.tparams.append(t)
-
-    def addReturn(self, r):
-        self.returns.append(r)
-
-
-class ProcVariable(ProcCodeEntry):
-    """A processed variable documentation.
-
-    @ivar type: A string with the name of a type.
-    """
-
-    def __init__(self, raw, name, brief=None, body=None, sees=[]):
-        ProcCodeEntry.__init__(self, raw, name, brief, body, sees)
-        self.type = None
-
-    @property
-    def local_name(self):
-        """Returns name without class prefix."""
-        if '::' in self.name:
-            return self.name.split('::', 1)[-1]
-        else:
-            return self.name
-
-    @property
-    def kind(self):
-        if '::' in self.name:
-            return 'member_variable'
-        else:
-            return 'variable'
-
-
-class ProcEnumValue(ProcVariable):
-    """A processed enum value documentation."""
-
-    def __init__(self, raw, name, brief=None, body=None, sees=[]):
-        ProcVariable.__init__(self, raw, name, brief, body, sees)
-
-    @property
-    def local_name(self):
-        """Returns name without class prefix."""
-        if '::' in self.name:
-            return self.name.split('::', 1)[-1]
-        else:
-            return self.name
-
-    @property
-    def kind(self):
-        return 'enum_value'
-
-
-class ProcPage(ProcEntry):
-    """A processed page."""
-
-    def __init__(self, raw, name, brief=None, body=None, sees=[]):
-        ProcEntry.__init__(self, raw, name, brief, body, sees)
-
-    def __str__(self):
-        return 'Page(name=%s)' % repr(self.name)
-
-
-class ProcGroup(ProcEntry):
-    """A processed group."""
-
-    def __init__(self, raw, name, brief=None, body=None, sees=[]):
-        ProcEntry.__init__(self, raw, name, brief, body, sees)
-        self.tags = []
-        self.typedefs = []
-
-    def __str__(self):
-        return 'Group(name=%s)' % repr(self.name)
-
-    def addTypedef(self, t):
-        self.typedefs.append(t)
-
-
-class HtmlTagParser(HTMLParser.HTMLParser):
-    """Used for parsing HTML and storing the first tag and its attributes."""
-
-    def __init__(self):
-        self.reset()
-    
-    def reset(self):
-        HTMLParser.HTMLParser.reset(self)
-        self.tag = None
-        self.attrs = None
-        self.is_open = None
-        self.is_close = None
-
-    def handle_starttag(self, tag, attrs):
-        self.tag = tag
-        self.attrs = dict(attrs)
-        self.is_open = True
-
-    def handle_endtag(self, tag):
-        self.tag = tag
-        self.is_close = True
-
-    def parse(self, txt):
-        self.reset()
-        self.feed(txt)
-
-
-class RawTextToTextNodeConverter(object):
-    """Convert raw text including HTML tags to text node.
-
-    @ivar doc_proc: The parent DocProcessor.
-    """
-
-    def __init__(self, strip_lt_line_space=False, expected_tags=set(), doc_proc=None):
-        self.tag_stack = []
-        self.node_stack = []
-        self.current = None
-        self.strip_lt_line_space = strip_lt_line_space
-        self.expected_tags = expected_tags
-        # Processing text between inline @begintag @endtag is done by first
-        # scanning over the tokens and then processing the tokens in between
-        # recursively with a new RawTextToTextNodeConverter.
-        self.current_cmd = None  # current command, e.g. '@link'
-        self.tokens_cmd = []  # currently scanned tokens
-        self.commands = ['COMMAND_LINK', 'COMMAND_ENDLINK']
-        self.command_pairs = {'COMMAND_LINK': 'COMMAND_ENDLINK'}
-        self.html_parser = HtmlTagParser()
-        self.doc_proc = doc_proc
-
-    def handleTag(self, token):
-        """Handle a HTML tag.
-
-        The HTML tag is translated into a TextNode and appended to self.current.
-        Note that this is meant for parsing one tag only.
-        """
-        self.html_parser.parse(token.val)
-        tag_name = self.html_parser.tag
-        if tag_name not in self.expected_tags:
-            msg = 'Unknown tag "%s".  Expected one of %s.' % (tag_name, self.expected_tags)
-            self.doc_proc.msg_printer.printTokenError(token, msg, 'warning')
-
-        if self.html_parser.is_open:  # Opening tag.
-            self.tag_stack.append(self.html_parser.tag)
-            self.node_stack.append(self.current)
-            tag = TextNode(type=self.html_parser.tag, raw_html=True)
-            for key, value in self.html_parser.attrs.items():
-                tag.setAttr(key, value)
-            self.current = self.current.addChild(tag)
-
-        if self.html_parser.is_close:  # No else, also handle standalone tags.
-            if self.tag_stack and self.tag_stack[-1] == tag_name:
-                self.tag_stack.pop()  # correct closing tag
-            elif self.tag_stack and self.tag_stack[-1] != tag_name:
-                # incorrect closing, pop and return
-                args = (tag_name, self.tag_stack[-1])
-                self.doc_proc.msg_printer.printTokenError(token, 'Closing wrong tag %s instead of %s' % args, 'warning')
-                self.tag_stack.pop()
-                return
-            else:  # not self.tag_stack
-                self.doc_proc.msg_printer.printTokenError(token, 'Closing tag without opening %s!' % tag_name, 'warning')
-            # Pop from node stack.
-            if self.node_stack:
-                self.current = self.node_stack[-1]
-                self.node_stack.pop()
-            else:
-                self.doc_proc.msg_printer.printTokenError(token, 'Having closed too many tags!', 'warning')
-
-    def handleCommand(self, token):
-        """Handle command for the given token."""
-        if self.current_cmd:  # There is a command active
-            if token.type == self.command_pairs[self.current_cmd]:  # closing current
-                self.handleCommandClosing()  # handle closing of command
-            else:  # not closing current
-                self.tokens_cmd.append(token)
-        else:  # no command active, open
-            if not token.type in self.command_pairs.keys():
-                expected = map(dox_tokens.transToken, self.command_pairs.keys())
-                raise dox_parser.ParserError(token, 'Unexpected token.  Must be one of %s' % expected)
-            self.current_cmd = token.type
-
-    def handleCommandClosing(self):
-        """Handle closing of current command."""
-        assert self.current_cmd == 'COMMAND_LINK', 'Only known command.'
-        if self.current_cmd == 'COMMAND_LINK':
-            # Trim leading/trailing whitespace tokens
-            def isWhitespace(t):
-                return t.type in dox_tokens.WHITESPACE
-            while self.tokens_cmd and isWhitespace(self.tokens_cmd[0]):
-                self.tokens_cmd.pop(0)
-            while self.tokens_cmd and isWhitespace(self.tokens_cmd[-1]):
-                self.tokens_cmd.pop(-1)
-            if not self.tokens_cmd:
-                print >>sys.stderr, 'WARNING: Empty @link @endlink.'
-                return
-            # Get link target.
-            target_tokens = []
-            while self.tokens_cmd and self.tokens_cmd[0].type not in dox_tokens.WHITESPACE:
-                target_tokens.append(self.tokens_cmd.pop(0))
-            # Trim leading whitespace again.
-            while self.tokens_cmd and isWhitespace(self.tokens_cmd[0]):
-                self.tokens_cmd.pop(0)
-            # Translate any remaining non-whitespace tokens.
-            title_tokens = self.tokens_cmd or list(target_tokens)
-            link_text = raw_doc.RawText(title_tokens)
-            conv = RawTextToTextNodeConverter(expected_tags=self.expected_tags, doc_proc=self.doc_proc)
-            link_text_node = conv.run(link_text)
-            link_text_node.type = 'a'
-            link_text_node.attrs = {'href': 'seqan:' + ''.join([t.val for t in target_tokens])}
-            link_text_node.tokens = target_tokens
-            self.current.addChild(link_text_node)
-        self.tokens_cmd = []
-        self.current_cmd = None
-
-    def run(self, raw_text, verbatim=False):
-        """Convert the tokens in raw_text into a tree of TextNode objects."""
-        #print >>sys.stderr, '================== %s' % raw_text.text
-        #print >>sys.stderr, [(t.type, t.val) for t in raw_text.tokens]
-        self.current = TextNode(type='div')
-        root = self.current
-        at_line_start = True
-        for i, t in enumerate(self.fixEntityTokens(raw_text.tokens, verbatim)):
-            if self.current_cmd:  # collect token in self.tokens_cmd
-                self.handleCommand(t)
-                continue
-
-            if t.type in dox_tokens.WHITESPACE:
-                if i == 0 or (i + 1) == len(raw_text.tokens):
-                    continue  # Ignore leading and trailing whitespace.
-                if t.type == 'SPACE' and at_line_start:
-                    continue  # Ignore space at the beginning of a line.
-                if t.type == 'BREAK':
-                    self.current.addChild(TextNode(text='\n'))
-                else:
-                    self.current.addChild(TextNode(text=' '))
-            elif not verbatim and t.type == 'HTML_TAG':
-                at_line_start = False
-                self.handleTag(t)
-            elif not verbatim and t.type in self.commands:
-                #print >>sys.stderr, 'command %s' % t
-                at_line_start = False
-                self.handleCommand(t)
-            else:
-                at_line_start = False
-                # TODO(holtgrew): Escape values.
-                self.current.addChild(TextNode(text=t.val))
-            at_line_start = t.type in ['EMPTY_LINE', 'BREAK']
-        if self.current_cmd:
-            self.doc_proc.msg_printer.printTokenError(t, 'Open command %s!' % self.current_cmd, 'warning')
-        return root
-
-    def fixEntityTokens(self, tokens, verbatim):
-        """Fix entities on a list of tokens.
-
-        Ampersands opening entities that are not closed (i.e. EOF or space are
-        hit) are replaced by '&'.
-        """
-        if verbatim:
-            return tokens
-        res = []
-        buf = []  # Buffer when an ampersand was opened
-        in_entity = False
-        for token in tokens:
-            if token.val == '&':  # type is PUNCTUATION
-                in_entity = True
-                buf.append(token)
-            elif any(c.isspace() for c in token.val):
-                if in_entity:
-                    buf[0].val = '&'
-                    self.doc_proc.msg_printer.printTokenError(buf[0], 'Unclosed entity!', 'warning')
-                res += buf
-                res.append(token)
-                in_entity = False
-                buf = []
-            elif token.val == ';':  # type is PUNCTUATION
-                in_entity = False
-                res += buf
-                res.append(token)
-                buf = []
-            elif in_entity:
-                buf.append(token)
-            else:
-                res.append(token)
-        if in_entity:
-            buf[0].val = '&'
-            self.doc_proc.msg_printer.printTokenError(buf[0], 'Unclosed entity!', 'warning')
-            res += buf
-        return res
-
-    def process(self, raw_entry):
-        raise Exception('Not implemented!')
-
-
-class EntryConverter(object):
-    """Base class for the conversion of raw entries processed entries.
-
-    @ivar doc_proc: DocProcessor object.
-    @ivar entry_class: The class of the ProcEntry type to create.
-    """
-
-    def __init__(self, doc_proc):
-        self.doc_proc = doc_proc
-        self.entry_class = None
-    
-    def rawTextToTextNode(self, raw_text, strip_lt_line_space=False, verbatim=False):
-        """Convert RawText object into a TextNode object.
-
-        The text node will have the type 'div'.
-
-        @param strip_lt_breaks_lines: Whether or not to remove leading
-                                      space for lines.
-        @param verbatim: Whether or not to convert HTML tags.
-        """
-        converter = RawTextToTextNodeConverter(
-            strip_lt_line_space, expected_tags=self.doc_proc.expected_tags,
-            doc_proc=self.doc_proc)
-        return converter.run(raw_text, verbatim)
-
-    def bodyToTextNode(self, raw_body):
-        """Convert a RawBody to a TextNode."""
-        res = TextNode(type='div')
-        for p in raw_body.paragraphs:
-            try:
-                if p.getType() == 'paragraph':
-                    if not p.text.text.strip():
-                        continue  # Skip whitespace
-                    p = self.rawTextToTextNode(p.text)
-                    p.type = 'p'
-                    res.addChild(p)
-                elif p.getType() == 'section':
-                    h = self.rawTextToTextNode(p.heading)
-                    h.type = 'h%d' % (p.level + 1)
-                    res.addChild(h)
-                elif p.getType() == 'include':
-                    # Including a whole file.
-                    ftype = os.path.splitext(p.path.text)[1]
-                    code_text = self.doc_proc.include_mgr.loadFile(p.path.text)
-                    proc_include = TextNode(type='dox:code', attrs={'type': ftype, 'source': 'include', 'path': p.path.text})
-                    proc_include.addChild(TextNode(text=code_text, verbatim=True))
-                    res.addChild(proc_include)
-                elif p.getType() == 'snippet':
-                    # Including a snippet file.
-                    ftype = os.path.splitext(p.path.text)[1]
-                    code_text = self.doc_proc.include_mgr.loadSnippet(p.path.text, p.name.text)
-                    proc_snippet = TextNode(type='dox:code', attrs={'type': ftype, 'source': 'snippet', 'path': p.path.text})
-                    proc_snippet.addChild(TextNode(text=code_text, verbatim=True))
-                    res.addChild(proc_snippet)
-                elif p.getType() == 'code':
-                    code_text = p.text.text
-                    type = '.txt'
-                    m = re.match(r'^{[^}]+}', code_text)
-                    if m:
-                        type = m.group(0)[1:-1]
-                    code_text = code_text[len(type) + 2:].strip()
-                    #print [repr(t.val) for t in p.text.tokens]
-                    x = TextNode(type='dox:code', attrs={'type': type})
-                    x.addChild(TextNode(text=code_text, verbatim=True))
-                    res.addChild(x)
-                elif p.getType() == 'htmlonly':
-                    res.addChild(TextNode(text=p.text.text, verbatim=True))
-            except inc_mgr.IncludeException, e:
-                e2 = dox_parser.ParserError(msg=str(e), token=p.text.tokens[0])
-                self.doc_proc.msg_printer.printParserError(e2)
-                n = TextNode(type='div', attrs={'class': 'note warning'})
-                n.children.append(TextNode(text=str(e)))
-                res.addChild(n)
-        return res
-
-    def process(self, raw_entry):
-        entry = self.entry_class(raw_entry, name=raw_entry.name.text)
-        # Convert the title
-        if raw_entry.title.text:
-            entry.title_str = raw_entry.title.text
-        # Convert first brief member.  We already warned about duplicate ones
-        # elsewhere.
-        if raw_entry.briefs:
-            entry.brief = self.rawTextToTextNode(raw_entry.briefs[0].text)
-        # Convert the body
-        if raw_entry.body:
-            entry.body = self.bodyToTextNode(raw_entry.body)
-        # Convert the sees entries.
-        for see in raw_entry.sees:
-            link = self.rawTextToTextNode(see.text)
-            if see.text.text.startswith('http'):
-                link.type = 'a'
-                link.attrs['href'] = see.text.text
-                link.attrs['target'] = '_top'
-            else:
-                link = self.rawTextToTextNode(see.text)
-                link.type = 'a'
-                link.attrs['href'] = 'seqan:%s' % see.text.text
-            link.tokens = list(see.text.tokens)
-            entry.sees.append(link)
-        # Store the raw entry in the processed ones.
-        entry.raw_entry = raw_entry
-        return entry
-
-    
-class CodeEntryConverter(EntryConverter):
-    """Base for the processing RawCodeEntry objects into processed entries."""
-
-    def __init__(self, doc_proc):
-        EntryConverter.__init__(self, doc_proc)
-        self.parse_signature = True
-    
-    def process(self, raw_entry):
-        entry = EntryConverter.process(self, raw_entry)
-        # Add headerfile paths as list of strings.
-        for s in raw_entry.headerfiles:
-            entry.addHeaderfile(s.text.text.strip())
-        # Add deprecation messages, notes, warnings, and internal markers as list of TextNodes.
-        for s in raw_entry.deprecation_msgs:
-            entry.addDeprecationMsg(self.rawTextToTextNode(s.text, strip_lt_line_space=True))
-        for s in raw_entry.notes:
-            entry.addNote(self.rawTextToTextNode(s.text, strip_lt_line_space=True))
-        for s in raw_entry.warnings:
-            entry.addWarning(self.rawTextToTextNode(s.text, strip_lt_line_space=True))
-        for s in raw_entry.internals:
-            entry.addInternal(self.rawTextToTextNode(s.text, strip_lt_line_space=True))
-        # Add aka messages as strings.
-        for s in raw_entry.akas:
-            entry.addAkas(s.text.text.strip())
-        # Add signatures as a text node with code.
-        for s in raw_entry.signatures:
-            entry.addSignature(self.rawTextToTextNode(s.text, strip_lt_line_space=True,
-                                                      verbatim=True))
-        # Use sig_parser to convert the signature texts to SigEntry objects.
-        # They are used for the list of functions/metafunctions for a type.
-        if self.parse_signature:
-            for s in raw_entry.signatures:
-                try:
-                    sig_entry = sig_parser.SigParser(s.text.text).parse()
-                    entry.addSignatureEntry(sig_entry)
-                except sig_parser.SigParseException, e:
-                    pass
-                    #print >>sys.stderr, '\nWARNING: Could not parse signature: %s' % e
-                    #print >>sys.stderr, 'Signature is: %s' % s.text.text.strip()
-                
-        return entry
-
-
-class EnumConverter(CodeEntryConverter):
-    def __init__(self, doc_proc):
-        CodeEntryConverter.__init__(self, doc_proc)
-        self.entry_class = ProcEnum
-    
-    def process(self, raw_entry):
-        return CodeEntryConverter.process(self, raw_entry)
-
-
-class AdaptionConverter(CodeEntryConverter):
-    def __init__(self, doc_proc):
-        CodeEntryConverter.__init__(self, doc_proc)
-        self.entry_class = ProcAdaption
-        self.parse_signature = False
-    
-    def process(self, raw_entry):
-        return CodeEntryConverter.process(self, raw_entry)
-
-
-class TypedefConverter(CodeEntryConverter):
-    def __init__(self, doc_proc):
-        CodeEntryConverter.__init__(self, doc_proc)
-        self.entry_class = ProcTypedef
-        self.parse_signature = False
-    
-    def process(self, raw_entry):
-        return CodeEntryConverter.process(self, raw_entry)
-
-
-class ConceptConverter(CodeEntryConverter):
-    def __init__(self, doc_proc):
-        CodeEntryConverter.__init__(self, doc_proc)
-        self.entry_class = ProcConcept
-    
-    def process(self, raw_entry):
-        concept = CodeEntryConverter.process(self, raw_entry)
-        for e in raw_entry.extends:
-            concept.addExtends(e.text.text.strip())
-        return concept
-
-
-class ClassConverter(CodeEntryConverter):
-    def __init__(self, doc_proc):
-        CodeEntryConverter.__init__(self, doc_proc)
-        self.entry_class = ProcClass
-    
-    def process(self, raw_entry):
-        klass = CodeEntryConverter.process(self, raw_entry)
-        for e in raw_entry.extends:
-            klass.addExtends(e.text.text.strip())
-        for e in raw_entry.implements:
-            klass.addImplements(e.text.text.strip())
-        for t in raw_entry.tparams:
-            proc_tparam = ProcTParam(t)
-            proc_tparam.type = t.name.text
-            proc_tparam.desc = self.rawTextToTextNode(t.text)
-            klass.addTParam(proc_tparam)
-        return klass
-
-
-class TagConverter(CodeEntryConverter):
-    def __init__(self, doc_proc):
-        CodeEntryConverter.__init__(self, doc_proc)
-        self.entry_class = ProcTag
-        self.parse_signature = False
-
-    def process(self, raw_entry):
-        tag = CodeEntryConverter.process(self, raw_entry)
-        for t in raw_entry.tparams:
-            proc_tparam = ProcTParam()
-            proc_tparam.type = t.name.text
-            proc_tparam.desc = self.rawTextToTextNode(t.text)
-            tag.addTParam(proc_tparam)
-        return tag
-
-
-class FunctionConverter(CodeEntryConverter):
-    def __init__(self, doc_proc):
-        CodeEntryConverter.__init__(self, doc_proc)
-        self.entry_class = ProcFunction
-        self.in_out_map = {
-            'in': ProcParam.IN,
-            'out': ProcParam.OUT,
-            'in,out': ProcParam.IN_OUT,
-            }
-    
-    def process(self, raw_entry):
-        function = CodeEntryConverter.process(self, raw_entry)
-        for p in raw_entry.params:
-            proc_param = ProcParam(p)
-            proc_param.name = p.name.text
-            if p.inout:
-                proc_param.in_out = self.in_out_map.get(p.inout.val[1:-1])
-            proc_param.desc = self.rawTextToTextNode(p.text)
-            function.addParam(proc_param)
-        for t in raw_entry.tparams:
-            proc_tparam = ProcTParam(t)
-            proc_tparam.type = t.name.text
-            proc_tparam.desc = self.rawTextToTextNode(t.text)
-            function.addTParam(proc_tparam)
-        for r in raw_entry.returns:
-            proc_return = ProcReturn(r)
-            proc_return.type = r.name.text
-            proc_return.desc = self.rawTextToTextNode(r.text)
-            function.addReturn(proc_return)
-        for t in raw_entry.throws:
-            proc_throw = ProcThrow(t)
-            proc_throw.type = t.name.text
-            proc_throw.desc = self.rawTextToTextNode(t.text)
-            function.addThrow(proc_throw)
-        for d in raw_entry.dataraces:
-            proc_datarace = ProcDataRace(d)
-            proc_datarace.desc = self.rawTextToTextNode(d.text) 
-            function.addDataRace(proc_datarace)
-        return function
-
-
-class MacroConverter(CodeEntryConverter):
-    def __init__(self, doc_proc):
-        CodeEntryConverter.__init__(self, doc_proc)
-        self.entry_class = ProcMacro
-        self.in_out_map = {
-            'in': ProcParam.IN,
-            'out': ProcParam.OUT,
-            'in,out': ProcParam.IN_OUT,
-            }
-        self.parse_signature = False
-        
-    def process(self, raw_entry):
-        macro = CodeEntryConverter.process(self, raw_entry)
-        for p in raw_entry.params:
-            proc_param = ProcParam(p)
-            proc_param.name = p.name.text
-            if p.inout:
-                proc_param.in_out = self.in_out_map.get(p.inout.val[1:-1])
-            proc_param.desc = self.rawTextToTextNode(p.text)
-            macro.addParam(proc_param)
-        for r in raw_entry.returns:
-            proc_return = ProcReturn(r)
-            proc_return.type = r.name.text
-            proc_return.desc = self.rawTextToTextNode(r.text)
-            macro.addReturn(proc_return)
-        for t in raw_entry.throws:
-            proc_throw = ProcThrow(t)
-            proc_throw.type = t.name.text
-            proc_throw.desc = self.rawTextToTextNode(t.text)
-            macro.addThrow(proc_throw)
-        for d in raw_entry.dataraces:
-            proc_datarace = ProcDataRace(d)
-            proc_datarace.desc = self.rawTextToTextNode(d.text) 
-            macro.addDataRace(proc_datarace)
-        return macro
-
-
-class MetafunctionConverter(CodeEntryConverter):
-    def __init__(self, doc_proc):
-        CodeEntryConverter.__init__(self, doc_proc)
-        self.entry_class = ProcMetafunction
-
-    def process(self, raw_entry):
-        metafunction = CodeEntryConverter.process(self, raw_entry)
-        for t in raw_entry.tparams:
-            proc_tparam = ProcTParam(t)
-            proc_tparam.type = t.name.text
-            proc_tparam.desc = self.rawTextToTextNode(t.text)
-            metafunction.addTParam(proc_tparam)
-        for r in raw_entry.returns:
-            proc_return = ProcReturn(r)
-            proc_return.type = r.name.text
-            proc_return.desc = self.rawTextToTextNode(r.text)
-            metafunction.addReturn(proc_return)
-        return metafunction
-
-
-class VariableConverter(CodeEntryConverter):
-    def __init__(self, doc_proc):
-        CodeEntryConverter.__init__(self, doc_proc)
-        self.entry_class = ProcVariable
-
-    def process(self, raw_entry):
-        variable = CodeEntryConverter.process(self, raw_entry)
-        if raw_entry.type:
-            variable.type = raw_entry.type.text
-        return variable
-
-
-class EnumValueConverter(CodeEntryConverter):
-    def __init__(self, doc_proc):
-        CodeEntryConverter.__init__(self, doc_proc)
-        self.entry_class = ProcEnumValue
-    
-    def process(self, raw_entry):
-        enum_value = CodeEntryConverter.process(self, raw_entry)
-        if raw_entry.type:
-            enum_value.type = raw_entry.type.text
-        return enum_value
-
-
-class TagStack(object):
-    """Helper class for processing nested HTML tags."""
-
-    def __init__(self):
-        self.stack = []
-         
-    def push(self, token):
-        pass
-             
-    def pop(self, token):
-        pass
-
-
-class PageConverter(EntryConverter):
-    """Process a RawPage into a Page object."""
-
-    def __init__(self, doc_proc):
-        EntryConverter.__init__(self, doc_proc)
-        self.entry_class = ProcPage
-
-
-class GroupConverter(EntryConverter):
-    """Process a RawGroup into a Group object."""
-
-    def __init__(self, doc_proc):
-        EntryConverter.__init__(self, doc_proc)
-        self.entry_class = ProcGroup
-
-
-class TextNodeVisitor(object):
-    """Interface/abstract base class for visiting text nodes of entries or such."""
-
-    def visit(self, text_node):
-        """Visit TextNode, possibly translating its content.
-
-        @param text_node: TextNode object or None.
-        """
-        pass
-
-
-class LinkChecker(TextNodeVisitor):
-    """Check raw link targets.
-
-    Raw links are links of the form <a href="seqan:$target">$label</a>.
-    """
-    
-    def __init__(self, doc):
-        self.doc = doc
-
-    def visit(self, text_node):
-        if not text_node or text_node.type == '<text>':
-            return
-        if text_node.type == 'a':
-            self._checkLink(text_node)
-        else:
-            for i, c in enumerate(text_node.children):
-                self.visit(text_node.children[i])
-
-    def _checkLink(self, a_node):
-        if not a_node.attrs.get('href', '').startswith('seqan:'):
-            return
-        target = a_node.attrs['href'][6:]
-        # TODO(holtgrew): Catch target_title being None, target_path not found!
-        if target not in self.doc.entries:
-            # TODO(holtgrew): Cannot resolve from TextNode to Token :(
-            msg = 'Cannot find documentation entry "%s".' % target
-            self.doc.doc_processor.msg_printer.printTokenError(
-                a_node.tokens[0], msg, 'error')
-
-
-class DocProcessor(object):
-    """Convert a RawDoc object into a ProcDoc object.
-
-    @ivar converters: Dict that maps RawEntry kinds to Converter objects.
-    @ivar include_dirs: The bases path for including files that can be used in
-                        the @include and @snippet commands.
-    @ivar include_mgr: inc_mgr.IncludeManager object for file/snippet
-                       inclusion.
-    @ivar expected_tags: Iterateable of expected tag names.  Will warn in
-                         conversion about unexpected tags if hit.
-    @ivar msg_printer: The dox_parser.MessagePrinter instance to use for
-                       printing messages.
-    """
-    
-    def __init__(self, logger=None, include_dirs=['.'], expected_tags=[],
-                 msg_printer=None):
-        self.logger = logger
-        self.include_dirs = list(include_dirs)
-        self.include_mgr = inc_mgr.IncludeManager(self.include_dirs)
-        self.expected_tags = set(expected_tags)
-        self.converters = {
-            'class': ClassConverter(self),
-            'concept': ConceptConverter(self),
-            'enum': EnumConverter(self),
-            'adaption': AdaptionConverter(self),
-            'global_typedef': TypedefConverter(self),
-            'member_typedef': TypedefConverter(self),
-            'grouped_typedef': TypedefConverter(self),
-            'global_function': FunctionConverter(self),
-            'global_metafunction': MetafunctionConverter(self),
-            'defgroup': GroupConverter(self),
-            'grouped_macro' : MacroConverter(self),
-            'interface_function': FunctionConverter(self),
-            'interface_metafunction': MetafunctionConverter(self),
-            'macro' : MacroConverter(self),
-            'member_function': FunctionConverter(self),
-            'member_variable': VariableConverter(self),
-            'enum_value': EnumValueConverter(self),
-            'page': PageConverter(self),
-            'tag': TagConverter(self),
-            'grouped_tag': TagConverter(self),
-            'variable': VariableConverter(self),
-            }
-        self.msg_printer = msg_printer or dox_parser.MessagePrinter()
-        self.validators = [x(self.msg_printer) for x in validation.VALIDATORS]
-        self.entry_filenames = []
-        self.topLevelEntry_filenames = {} 
-        self.secondLevelEntry_filenames = {} 
-
-    def run(self, doc):
-        res = ProcDoc(self)
-        self.entry_filenames = doc.filenames
-        self.log('Processing Documentation...')
-        self.convertTopLevelEntries(doc, res)
-        self.convertSecondLevelEntries(doc, res)
-        self.convertVariables(doc, res)
-        self.checkLinks(doc, res)
-        self.buildInheritanceLists(res)
-        self.validate(res)
-        return res
-
-    def convertTopLevelEntries(self, doc, res):
-        """Convert top level entries.
-
-        Variables are not converted yet.  They are converted in a separate
-        step since they might encode enum values.
-        """
-        self.log('  1) Converting Top-Level Entries.')
-        #print 'doc.entries', [e.name.text for e in doc.entries]
-        for index,raw_entry in enumerate(doc.entries):
-            # Get fitting converter or warn if there is none.
-            kind = raw_entry.getType()
-            if not kind in ['concept', 'class', 'global_function',
-                            'global_metafunction', 'page', 'tag',
-                            'defgroup', 'macro', 'adaption', 'global_typedef', 'enum']:
-                continue  # Not a top-level entry.
-            converter = self.converters.get(kind)
-            if not converter:
-                self.logWarning('Could not find converter for kind "%s".', kind)
-                continue  # Skip if no converter could be found.
-            # Perform conversion.
-            proc_entry = converter.process(raw_entry)
-            # Store object in ProcDoc.
-            #self.log('    * %s (%s)' % (proc_entry.name, proc_entry))
-            res.addTopLevelEntry(proc_entry)
-            self.topLevelEntry_filenames[proc_entry] = self.entry_filenames[index]
-
-    def convertSecondLevelEntries(self, doc, res):
-        self.log('  2) Converting Second-Level Entries.')
-        for index,raw_entry in enumerate(doc.entries):
-            # Get fitting converter or warn if there is none.
-            kind = raw_entry.getType()
-            if not kind in ['member_function', 'interface_function',
-                            'interface_metafunction',
-                            'grouped_tag', 'grouped_macro', 'member_typedef',
-                            'grouped_typedef']:
-                continue  # Not a top-level entry.
-            converter = self.converters.get(kind)
-            if not converter:
-                self.logWarning('Could not find converter for kind "%s".', kind)
-                continue  # Skip if no converter could be found.
-            # Perform conversion.
-            proc_entry = converter.process(raw_entry)
-            # Store object in ProcDoc.
-            #self.log('    * %s' % proc_entry.name)
-            res.addSecondLevelEntry(proc_entry)
-            self.secondLevelEntry_filenames[proc_entry] = self.entry_filenames[index]
-
-    def convertVariables(self, doc, res):
-        self.log('  3) Converting variable and enum value entries.')
-        var_types = ['member_variable', 'grouped_variable', 'variable']
-        for raw_entry in [e for e in doc.entries if e.getType() in var_types]:
-            kind = raw_entry.getType()
-            converter = self.converters.get(kind)
-            if not converter:
-                self.logWarning('Could not find converter for kind "%s".', kind)
-                continue  # Skip if no converter could be found.
-            # Perform conversion.
-            proc_entry = converter.process(raw_entry)
-            # Store object in ProcDoc.
-            #self.log('    * %s %s' % (proc_entry.type, proc_entry.name))
-            res.addVariable(proc_entry)
-        for raw_entry in [e for e in doc.entries if e.getType() == 'enum_value']:
-            converter = self.converters.get(raw_entry.getType())
-            if not converter:
-                self.logWarning('Could not find converter for kind "%s".', kind)
-                continue  # Skip if no converter could be found.
-            # Perform conversion.
-            proc_entry = converter.process(raw_entry)
-            # Store object in ProcDoc.
-            #self.log('    * %s %s' % (proc_entry.type, proc_entry.name))
-            res.addEnumValue(proc_entry)
-
-    def checkLinks(self, doc, res):
-        """Check <link> items of text nodes and references.
-
-        References are given either explicitely in items like @extends and
-        @implements.
-        """
-        self.log('  3) Checking References.')
-        link_checker = LinkChecker(res)
-        for proc_entry in res.entries.values():
-            proc_entry.visitTextNodes(link_checker)
-
-    def buildInheritanceLists(self, doc):
-        """Build lists regarding the inheritance in the classes and concepts in doc.
-
-        We will build the equivalent to what Javadoc builds.
-
-        For concepts, this is the list of (a) all extended concepts, (b) all
-        known extending concepts, (c) all known implementing classes.
-
-        For classes, this is the list of (a) all implemented concepts, (b) all
-        direct known specializations, (c) all extended classes.
-
-        @param doc: The ProcDoc object with the classes and concept.
-
-        """
-        self.log('  4) Building Inheritance Lists.')
-        # Process concepts: All extended and all extending.
-        concepts = [x for x in doc.top_level_entries.values()
-                    if x.kind == 'concept']
-        # Get all concepts that c extends into c.all_extended.
-        for c in concepts:
-            q = list(c.extends)  # Queue for recursion
-            while q:
-                name = q[0]
-                q.pop(0)
-                if name in c.all_extended:
-                    continue  # Skip to break loops.
-                c.all_extended.add(name)
-                q += doc.top_level_entries[name].extends
-        # Now, build list of all extending concepts into c.all_extending.
-        for c in concepts:
-            for name in c.all_extended:
-                doc.top_level_entries[name].all_extending.add(c.name)
-        # Process classes: All extended and all extending classes.
-        classes = [x for x in doc.top_level_entries.values()
-                   if x.kind in ['class', 'specialization']]
-        # Get all classes that c extends into c.all_extended.
-        for c in classes:
-            q = list(c.extends)  # Queue for recursion
-            while q:
-                name = q[0]
-                q.pop(0)
-                if name in c.all_extended:
-                    continue  # Skip to break loops.
-                c.all_extended.add(name)
-                if name not in doc.top_level_entries:
-                    self.logWarning('Could not find entry for extending: %s', name)
-                    continue
-                q += doc.top_level_entries[name].extends
-        # Now, build list of all extending clsses into c.all_extending.
-        for c in classes:
-            for name in c.all_extended:
-                if name not in doc.top_level_entries:
-                    self.logWarning('Could not find entry for extending: %s', name)
-                    continue
-                doc.top_level_entries[name].all_extending.add(c.name)
-        # Build list of all direct implementing classes for all concepts.
-        for cl in classes:
-            for name in cl.implements:
-                if '\u0001' in name:
-                    continue  # Skip transitive inheritance.
-                if not doc.top_level_entries.get(name):
-                    self.logWarning('Could not find entry for implementing: %s', name)
-                    continue
-                co = doc.top_level_entries[name]
-                if co.kind != 'concept':
-                    self.logWarning('Only concepts can be implemented.')
-                    continue
-                co.all_implementing.add(cl.name)
-                co.all_implementing.update(cl.all_extending)
-        # Build list of all implemented concepts for all classes.
-        for co in concepts:
-            for name in co.all_implementing:
-                cl = doc.top_level_entries[name]
-                cl.all_implemented.add(co.name)
-                cl.all_implemented.update(co.all_extended)  # inheritance
-        # Update list of all implementing classes for all concepts (transitive)
-        for cl in classes:
-            for name in cl.all_implemented:
-                co = doc.top_level_entries[name]
-                co.all_implementing.add(cl.name)
-
-    def validate(self, doc):
-        """Execute validation using the validators from self.validators.
-        
-        @param doc: The ProcDoc object to validate.
-        """
-        self.log('  5) Running validation.')
-        for name, entry in doc.entries.iteritems():
-            for v in self.validators:
-                #print v, entry
-                v.validate(entry)
-
-    def log(self, msg, *args, **kwargs):
-        """Print the given message to the configured logger if any.
-        """
-        if not self.logger:
-            return
-        self.logger.info(msg, *args, **kwargs)
-        
-    def logWarning(self, msg, *args, **kwargs):
-        """Print the given message to the configured logger if any.
-        """
-        if not self.logger:
-            return
-        self.logger.warning('WARNING: ' + msg, *args, **kwargs)
diff --git a/util/py_lib/seqan/dox/pure.py b/util/py_lib/seqan/dox/pure.py
deleted file mode 100755
index 9ae6b76..0000000
--- a/util/py_lib/seqan/dox/pure.py
+++ /dev/null
@@ -1,210 +0,0 @@
-#!/usr/bin/env python2
-"""Implementation of the SeqAn Doxygen dialect.
-"""
-
-import argparse
-import ConfigParser
-import logging
-import os
-import re
-import sys
-
-import file_mgr
-import lexer
-import dox_tokens
-import dox_parser
-import proc_doc
-import raw_doc
-import write_html
-import migration
-
-
-# The expected HTML tags, useful for differentiating between F<T>::Type and real tags.
-EXPECTED_TAGS = ['a', 'ul', 'ol', 'li', 'dl', 'dt', 'dd', 'em', 'i', 'b',
-                 'strong', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'h7', 'tt',
-                 'table', 'tbody', 'tr', 'th', 'td', 'caption', 'sup', 'img',
-                 'p', 'br', 'div', 'span', 'code', 'small', 'acronym', 'u']
-
-# Default colors to use.
-DEFAULT_COLORS = {
-	'red':    '#de5b5b',
-	'orange': '#debd5b',
-	'lgreen': '#9dde5b',
-	'rgreen': '#5bde7c',
-	'lblue':  '#5bdede',
-	'rblue':  '#5b7cde',
-	'purple': '#9d5bde',
-	'pink':   '#de5bbd'}
-
-# The known language entities.
-KNOWN_LANGUAGE_ENTITIES = [
-    'typedef', 'grouped_typedef', 'global_typedef', 'member_typedef',
-    'concept', 'class', 'specialization', 'enum', 'metafunction', 'global_metafunction', 'interface_metafunction',
-    'function', 'global_function', 'interface_function', 'member_function',
-    'tag', 'grouped_tag', 'variable', 'global_variable', 'member_variable',
-    'adaption', 'macro', 'group', 'page', 'template_parameter', 'tutorial', 'unknown']
-
-# Properties of language entities.
-LANGUAGE_ENTITIES_PROPERTIES = ['name', 'ideogram', 'color', 'description', 'belongsTo']
-
-
-class Config(object):
-    """Stores configuration that can be loaded from an INI file.
-
-    At the moment, the language entity related configuration such as
-    colors and description of language entities can be read from the
-    INI file.  The HTML writer will then write the result to the
-    lang_entities.js file and also use it in the generated HTML.
-    """
-
-    def __init__(self):
-        self.colors = dict(DEFAULT_COLORS)  # copy
-        default = dict([(key, None) for key in LANGUAGE_ENTITIES_PROPERTIES])
-        self.lang_entities = dict([(key, dict(default)) for key in KNOWN_LANGUAGE_ENTITIES])
-
-    def load(self, file_name):
-        """Load configuration from INI file."""
-        config = ConfigParser.SafeConfigParser()
-        config.read(file_name)
-        # Get colors.
-        for key in DEFAULT_COLORS.keys():
-            try:
-                self.colors[key] = config.get('colors', key)
-            except ConfigParser.Error:
-                pass  # swallow
-        # Load information about language entities.
-        for name in KNOWN_LANGUAGE_ENTITIES:
-            path = 'entity/%s' % name
-            try:
-                for prop in LANGUAGE_ENTITIES_PROPERTIES:
-                    self.lang_entities[name][prop] = config.get(path, prop)
-            except (ConfigParser.NoSectionError, ConfigParser.NoOptionError):
-                pass  # swallow
-
-
-class FileNameSource(object):
-    """Recursive traversal of directory hierarchy, generating doxumentable files.
-    
-    Create with list to paths to crawl.  Then generate() creates a generator that
-    yields all of these files.
-    
-    Attributes:
-    
-      paths -- list of strings of paths to crawl
-      extensions -- list of strings with file extensions to yield in generate
-      ignore -- list of strings with entry names to ignore
-    """
-
-    def __init__(self, paths):
-        self.paths = paths
-        self.extensions = ['.h', '.cpp', '.dox']
-        self.ignore = ['.svn']
-
-    def generate(self):
-        for p in self.paths:
-            if os.path.isfile(p):
-                yield os.path.abspath(p)
-            for root, subFolders, files in os.walk(p):
-                for f in files:
-                    if f.startswith('.'):
-                        continue
-                    if not any([f.endswith(s) for s in self.extensions]):
-                        continue
-                    if any([f.startswith(s) for s in self.ignore]):
-                        continue
-                    yield os.path.join(root, f)
-
-
-def doMain(args):
-    msg_printer = dox_parser.MessagePrinter(args.ignore_warnings_dirs)
-
-    # Load configuration.
-    config = Config()
-    config.load('config.ini')
-
-    # Parse all legacy files.
-    import seqan.dddoc.core as core
-    app = core.App()
-    for path in args.legacy_doc_dirs:
-        print 'Scanning %s...' % path
-        app.loadFiles(path)
-    migrated_doc = raw_doc.RawDoc()
-    if args.legacy_doc_dirs:
-        app.loadingComplete()
-        migrated_doc.entries = migration.migrate(app.dddoc_tree)
-        print 'migrated_doc.entries', [e.name.text for e in migrated_doc.entries]
-    # Parse all normal input files.
-    fmgr = file_mgr.FileManager()
-    master_doc = raw_doc.RawDoc()
-    master_doc.merge(migrated_doc)
-    fns = FileNameSource(args.inputs)
-    for filename in fns.generate():
-        if args.debug:
-            print 'Processing %s' % filename
-        the_file = fmgr.loadFile(filename)
-        lex = lexer.Lexer(dox_tokens.LEXER_TOKENS, skip_whitespace=False)
-        for comment in the_file.comments:
-            # TODO(holtgrew): Also give offset.
-            lex.input(comment.text, filename, comment.line + 1, comment.col, comment.offset_col)
-            parser = dox_parser.Parser()
-            try:
-                parser.parse(lex)
-            except dox_parser.ParserError, e:
-                msg_printer.printParserError(e)
-            master_doc.merge(parser.documentation, filename)
-    # Generate documentation.
-    logging.basicConfig(format='%(message)s', level=logging.DEBUG)
-    logger = logging.getLogger()
-    processor = proc_doc.DocProcessor(logger=logger, include_dirs=args.base_dirs,
-                                      expected_tags=args.expected_tags,
-                                      msg_printer=msg_printer)
-    try:
-        doc_proc = processor.run(master_doc)
-    except dox_parser.ParserError, e:
-        msg_printer.printParserError(e)
-        return 1
-
-    # Validate documentation.
-        
-    # Generate resulting HTML
-    html_writer = write_html.HtmlWriter(doc_proc, args, config)
-    html_writer.generateFor()
-
-    msg_printer.printStats()
-    return (msg_printer.numWarnings() + msg_printer.numErrors() > 0)
-
-
-def main():
-    # build command line parser and parse arguments
-    parser = argparse.ArgumentParser()
-    parser.add_argument('--lex-only', dest='lex_only', help='Lex only.',
-                        default=False, action='store_true')
-    parser.add_argument('--debug', dest='debug', help='Debug.',
-                        default=False, action='store_true')
-    parser.add_argument('-i', dest='inputs', help='Path to input.',
-                        action='append', default=[])
-    parser.add_argument('-lx', dest='legacy_demo_dirs', help='Path to legacy demos.',
-                        action='append', default=[])
-    parser.add_argument('-ldd', dest='legacy_doc_dirs', help='Path to legacy doc dirs.',
-                        action='append', default=[])
-    parser.add_argument('--image-dir', dest='image_dirs', default=[],
-                        action='append', help='Path to image directory.')
-    parser.add_argument('-b', '--base-dir', help='Base directory for @include.',
-                        default=['.'], dest='base_dirs', action='append')
-    parser.add_argument('--expected-tags', help='Expected tags, warn about other tags.',
-                        action='append', default=EXPECTED_TAGS)
-    parser.add_argument('--ignore-warnings', help='Ignore warnings from directory.',
-                        default=[], dest='ignore_warnings_dirs', action='append')
-    parser.add_argument('--development', help='Use if you are changing/extending the '
-                        'dox system itself or its templates.', default=False,
-                        action='store_true', dest='development')
-    parser.add_argument('--out-dir', dest='out_dir', help='output directory', default=os.path.abspath('html'), nargs='?')
-    args = parser.parse_args()
-
-    # defer actual work to doMain()
-    return doMain(args)
-
-
-if __name__ == '__main__':
-    sys.exit(main())
-
diff --git a/util/py_lib/seqan/dox/raw_doc.py b/util/py_lib/seqan/dox/raw_doc.py
deleted file mode 100644
index 68324c6..0000000
--- a/util/py_lib/seqan/dox/raw_doc.py
+++ /dev/null
@@ -1,1429 +0,0 @@
-#!/usr/bin/env python2
-"""SeqAn documentation raw object representation.
-
-This is the direct representation as it can be determined from the embedded
-Doxygen-style comments without the interpretation of commands within clauses
-and cross-linking.
-"""
-
-import textwrap
-import dox_tokens
-import raw_doc
-
-class DoxFormatter(object):
-    """Formatter for printing correctly indented and wrapped in Doxygen style.
-    """
-    
-    def __init__(self, width=77):
-        self.width = width
-
-    def formatCommand(self, name, text, leading=None):
-        """RawReturn string with a formatted command.
-        
-        The general format is "@$name $leading $text" where the text is wrapped
-        to the end of leading.
-        """
-        if leading:
-            res = ['@', name, ' ', leading,  ' ']
-        else:
-            res = ['@', name, ' ']
-        l = len(''.join(res))
-        indent = ' ' * l
-        wrapped_text = textwrap.wrap(text, self.width - l)
-        if wrapped_text:
-            res.append(wrapped_text[0])
-        for x in wrapped_text[1:]:
-            res += ['\n', indent, x]
-        return ''.join(res) + '\n'
-
-    def formatParagraph(self, text):
-        """Format paragraph."""
-        return '\n'.join(textwrap.wrap(text, self.width)) + '\n'
-
-
-class RawText(object):
-    """List of token with easy concatenation into a string.
-    
-    This type is used for collecting lists of tokens.
-    
-    @ivar tokens: The list of token objects.
-    """
-    
-    def __init__(self, tokens=[]):
-        self.tokens = list(tokens)
-
-    def append(self, token):
-        """Append the token to the list of tokens.
-
-        @param token: The lexer.Token object to add.
-        @return: Nothing
-        """
-        self.tokens.append(token)
-
-    @property
-    def empty(self):
-        """RawReturns whether the token set is empty.
-
-        @return: Whether or not the token list is empty.
-        """
-        return not bool(self.tokens)
-
-    @property
-    def text(self):
-        """RawReturns the concatenated tokens' text.
-
-        @return: The concatenated tokens' text.
-        """
-        return ''.join([x.val for x in self.tokens])
-
-    def __eq__(self, other):
-        if not hasattr(other, 'tokens'):
-            return False
-        return self.tokens == other.tokens
-
-
-class RawDoc(object):
-    """The documentation consists of a number of documentation objects.
-    
-    @ivar entries List of RawEntry objects.
-    """
-
-    def __init__(self):
-        self.entries = []
-        self.filenames = []
-
-    def merge(self, other_doc, filename=''):
-        for e in other_doc.entries:
-            self.addEntry(e)
-            self.filenames.append(filename)
-
-    def addEntry(self, entry):
-        self.entries.append(entry)
-
-    def getFormatted(self, width=77):
-        """Get formatted and normalized in dox format."""
-        formatter = DoxFormatter(width)
-        res = []
-        first = True
-        for entry in self.entries:
-            res.append(entry.getFormatted(formatter))
-            first = False
-        return '\n\n'.join(res)
-
-
-class RawEntry(object):
-    """One top-level entry of the documentation.
-
-    @ivar first_token The first token for this entry.
-    @ivar name  The identifier of the entry.
-    @ivar title The title of the entry.
-    @ivar brief A string object with a brief summary of the entry.
-    @ivar body  A RawBody object with the entry's documentation.
-    @ivar sees  A list of RawSee objects.
-    @ivar command The name of the command starting the entry type.
-    """
-    
-    def __init__(self, first_token, briefs=[], command='<entry>'):
-        self.first_token = first_token
-        self.name = RawText()
-        self.title = RawText()
-        self.briefs = list(briefs)
-        self.body = RawBody()
-        self.sees = []
-        self.command = command
-
-    def addBrief(self, b):
-        self.briefs.append(b)
-
-    def addSee(self, see):
-        while see.text.tokens and see.text.tokens[-1].type in dox_tokens.WHITESPACE:
-            see.text.tokens.pop()
-        self.sees.append(see)
-
-    @classmethod
-    def entryTypes(cls):
-        """RawReturns iterable with all entry types."""
-        res = ('concept', 'class', 'function', 'metafunction', 'page', 'enum', 'var',
-               'tag', 'defgroup', 'macro', 'enum_value')
-        return res
-
-    def addParagraph(self, p):
-        self.body.addParagraph(p)
-
-    def getFormatted(self, formatter):
-        """Get formatted and normalized in dox format."""
-        res = []
-        if self.title.text:
-            res.append(formatter.formatCommand(self.command, self.title.text,
-                                               self.name.text))
-        else:
-            res.append(formatter.formatCommand(self.command, self.name.text))
-        if self.briefs:
-            res.append('\n')
-        for x in self.briefs:
-            res.append(x.getFormatted(formatter))
-        if not self.body.empty:
-            res += ['\n', self.body.getFormatted(formatter)]
-        if self.sees:
-            res.append('\n')
-        for x in self.sees:
-            res.append(x.getFormatted(formatter))
-        res.append('\n')
-        return ''.join(res)
-
-
-class RawCodeEntry(RawEntry):
-    """RawDoc for one code entry concept having a signature.
-    
-    @ivar signatures A list of RawSignature objects.
-    """
-    
-    def __init__(self, first_token, briefs=[], command='<code entry>'):
-        RawEntry.__init__(self, first_token, briefs=briefs, command=command)
-        self.signatures = []
-        self.headerfiles = []
-        self.deprecation_msgs = []
-        self.notes = []
-        self.warnings = []
-        self.akas = []
-        self.internals = []
-
-    def addSignature(self, s):
-        self.signatures.append(s)
-
-    def addHeaderfile(self, h):
-        self.headerfiles.append(h)
-
-    def addDeprecationMsg(self, d):
-        self.deprecation_msgs.append(d)
-
-    def addNote(self, n):
-        self.notes.append(n)
-
-    def addWarning(self, w):
-        self.warnings.append(w)
-
-    def addAka(self, a):
-        self.akas.append(a)
-
-    def addInternal(self, i):
-        self.internals.append(i)
-
-    def getType(self):
-        return 'code'
-
-    def __str__(self):
-        res = RawEntry.__str__(self)
-        return res + '\n' + '\n'.join(['  @signature %s' % x for x in self.signatures])
-
-    def getFormatted(self, formatter):
-        res = []
-        if self.title.text:
-            res.append(formatter.formatCommand(self.command, self.title.text,
-                                               self.name.text))
-        else:
-            res.append(formatter.formatCommand(self.command, self.name.text))
-        if self.headerfiles:
-            res.append('\n')
-        if self.headerfiles:
-            for x in self.headerfiles:
-                res.append(x.getFormatted(formatter))
-        if self.briefs:
-            res.append('\n')
-        for x in self.briefs:
-            res.append(x.getFormatted(formatter))
-        if self.deprecation_msgs or self.warnings or self.notes:
-            res.append('\n')
-        for x in self.deprecation_msgs:
-            res.append(x.getFormatted(formatter))
-        for x in self.warnings:
-            res.append(x.getFormatted(formatter))
-        for x in self.notes:
-            res.append(x.getFormatted(formatter))
-        if self.signatures:
-            res.append('\n')
-        for x in self.signatures:
-            res.append(x.getFormatted(formatter))
-        if not self.body.empty:
-            res.append('\n')
-        res += self.body.getFormatted(formatter)
-        if self.sees:
-            res.append('\n')
-        for x in self.sees:
-            res.append(x.getFormatted(formatter))
-        res.append('\n')
-        return ''.join(res)
-
-
-class RawVariable(RawCodeEntry):
-    """RawDoc for one variable constant.
-
-    @ivar type: The type of the variable as a RawText or None.
-    """
-
-    def __init__(self, first_token, briefs=[]):
-        RawCodeEntry.__init__(self, first_token, briefs=briefs, command='var')
-        self.type = None
-
-    def getType(self):
-        if '::' in self.name.text:
-            return 'member_variable'
-        else:
-            return 'variable'
-
-    def getFormatted(self, formatter):
-        res = []
-        if self.type:
-            res.append(formatter.formatCommand(self.command, self.name.text + ';', self.type.text))
-        else:
-            res.append(formatter.formatCommand(self.command, self.name.text))
-        if self.headerfiles:
-            res.append('\n')
-        if self.headerfiles:
-            for x in self.headerfiles:
-                res.append(x.getFormatted(formatter))
-        if self.briefs:
-            res.append('\n')
-        for x in self.briefs:
-            res.append(x.getFormatted(formatter))
-        if self.deprecation_msgs or self.warnings or self.notes:
-            res.append('\n')
-        for x in self.deprecation_msgs:
-            res.append(x.getFormatted(formatter))
-        for x in self.warnings:
-            res.append(x.getFormatted(formatter))
-        for x in self.notes:
-            res.append(x.getFormatted(formatter))
-        if self.signatures:
-            res.append('\n')
-        for x in self.signatures:
-            res.append(x.getFormatted(formatter))
-        if not self.body.empty:
-            res.append('\n')
-        res += self.body.getFormatted(formatter)
-        if self.sees:
-            res.append('\n')
-        for x in self.sees:
-            res.append(x.getFormatted(formatter))
-        res.append('\n')
-        return ''.join(res)
-
-
-class RawEnumValue(RawVariable):
-    """RawDoc for one enum value.
-
-    @ivar type: The type of the variable as a RawText or None.
-    """
-
-    def __init__(self, first_token, briefs=[]):
-        RawCodeEntry.__init__(self, first_token, briefs=briefs, command='val')
-        self.type = None
-
-    def getType(self):
-        return 'enum_value'
-
-
-class RawTag(RawCodeEntry):
-    """RawDoc for one tag."""
-
-    def __init__(self, first_token, briefs=[]):
-        RawCodeEntry.__init__(self, first_token, briefs=briefs, command='tag')
-        self.tparams = []
-
-    def addTParam(self, p):
-        self.tparams.append(p)
-
-    def getType(self):
-        if '#' in self.name.text:
-            return 'grouped_tag'
-        else:
-            return 'tag'
-        
-    def getFormatted(self, formatter):
-        res = []
-        if self.title.text:
-            res.append(formatter.formatCommand(self.command, self.title.text,
-                                               self.name.text))
-        else:
-            res.append(formatter.formatCommand(self.command, self.name.text))
-        if self.headerfiles:
-            res.append('\n')
-        if self.headerfiles:
-            for x in self.headerfiles:
-                res.append(x.getFormatted(formatter))
-        if self.briefs:
-            res.append('\n')
-        for x in self.briefs:
-            res.append(x.getFormatted(formatter))
-        if self.deprecation_msgs or self.warnings or self.notes:
-            res.append('\n')
-        for x in self.deprecation_msgs:
-            res.append(x.getFormatted(formatter))
-        for x in self.warnings:
-            res.append(x.getFormatted(formatter))
-        for x in self.notes:
-            res.append(x.getFormatted(formatter))
-        if self.signatures:
-            res.append('\n')
-        for x in self.signatures:
-            res.append(x.getFormatted(formatter))
-        for x in self.tparams:
-            res.append(x.getFormatted(formatter))
-        if not self.body.empty:
-            res.append('\n')
-        res += self.body.getFormatted(formatter)
-        if self.sees:
-            res.append('\n')
-        for x in self.sees:
-            res.append(x.getFormatted(formatter))
-        res.append('\n')
-        return ''.join(res)
-
-
-class RawConcept(RawCodeEntry):
-    """RawDoc for one concept.
-    """
-
-    def __init__(self, first_token, briefs=[]):
-        RawCodeEntry.__init__(self, first_token, briefs=briefs, command='concept')
-        self.extends = []
-
-    def addExtends(self, c):
-        self.extends.append(c)
-
-    def getType(self):
-        return 'concept'
-
-    def getFormatted(self, formatter):
-        res = []
-        if self.title.text:
-            res.append(formatter.formatCommand(self.command, self.title.text,
-                                               self.name.text))
-        else:
-            res.append(formatter.formatCommand(self.command, self.name.text))
-        if self.headerfiles:
-            res.append('\n')
-        if self.headerfiles:
-            for x in self.headerfiles:
-                res.append(x.getFormatted(formatter))
-        if self.extends:
-            res.append('\n')
-        for x in self.extends:
-            res.append(x.getFormatted(formatter))
-        if self.briefs:
-            res.append('\n')
-        for x in self.briefs:
-            res.append(x.getFormatted(formatter))
-        if self.deprecation_msgs or self.warnings or self.notes:
-            res.append('\n')
-        for x in self.deprecation_msgs:
-            res.append(x.getFormatted(formatter))
-        for x in self.warnings:
-            res.append(x.getFormatted(formatter))
-        for x in self.notes:
-            res.append(x.getFormatted(formatter))
-        if self.signatures:
-            res.append('\n')
-        for x in self.signatures:
-            res.append(x.getFormatted(formatter))
-        if not self.body.empty:
-            res.append('\n')
-        res += self.body.getFormatted(formatter)
-        if self.sees:
-            res.append('\n')
-        for x in self.sees:
-            res.append(x.getFormatted(formatter))
-        res.append('\n')
-        return ''.join(res)
-
-
-class RawEnum(RawCodeEntry):
-    """RawDoc for one enum."""
-
-    def __init__(self, first_token, briefs=[]):
-        RawCodeEntry.__init__(self, first_token, briefs=briefs, command='enum')
-
-    def getType(self):
-        return 'enum'
-
-
-class RawTypedef(RawCodeEntry):
-    """RawDoc for one typedef."""
-
-    def __init__(self, first_token, briefs=[]):
-        RawCodeEntry.__init__(self, first_token, briefs=briefs, command='typedef')
-
-    def getType(self):
-        if '#' in self.name.text:
-            return 'grouped_typedef'
-        elif '::' in self.name.text:
-            return 'member_typedef'
-        else:
-            return 'global_typedef'
-
-
-class RawAdaption(RawCodeEntry):
-    """RawDoc for one adaption."""
-
-    def __init__(self, first_token, briefs=[]):
-        RawCodeEntry.__init__(self, first_token, briefs=briefs, command='adaption')
-
-    def getType(self):
-        return 'adaption'
-
-
-class RawClass(RawCodeEntry):
-    """RawDoc for one class.
-    
-    @ivar tparams List of RawParameter objects.
-    """
-
-    def __init__(self, first_token, briefs=[]):
-        RawCodeEntry.__init__(self, first_token, briefs=briefs, command='class')
-        self.extends = []
-        self.implements = []
-        self.tparams = []
-
-    def addTParam(self, p):
-        self.tparams.append(p)
-
-    def addExtends(self, p):
-        self.extends.append(p)
-
-    def addImplements(self, p):
-        self.implements.append(p)
-
-    def getType(self):
-        return 'class'
-
-    def getFormatted(self, formatter):
-        res = []
-        if self.title.text:
-            res.append(formatter.formatCommand(self.command, self.title.text,
-                                               self.name.text))
-        else:
-            res.append(formatter.formatCommand(self.command, self.name.text))
-        if self.implements:
-            res.append('\n')
-        for x in self.implements:
-            res.append(x.getFormatted(formatter))
-        if self.extends:
-            res.append('\n')
-        for x in self.extends:
-            res.append(x.getFormatted(formatter))
-        if self.headerfiles:
-            res.append('\n')
-        if self.headerfiles:
-            for x in self.headerfiles:
-                res.append(x.getFormatted(formatter))
-        if self.briefs:
-            res.append('\n')
-        for x in self.briefs:
-            res.append(x.getFormatted(formatter))
-        if self.deprecation_msgs or self.warnings or self.notes:
-            res.append('\n')
-        for x in self.deprecation_msgs:
-            res.append(x.getFormatted(formatter))
-        for x in self.warnings:
-            res.append(x.getFormatted(formatter))
-        for x in self.notes:
-            res.append(x.getFormatted(formatter))
-        if self.signatures:
-            res.append('\n')
-        for x in self.signatures:
-            res.append(x.getFormatted(formatter))
-        if self.tparams:
-            res.append('\n')
-        for x in self.tparams:
-            res.append(x.getFormatted(formatter))
-        if not self.body.empty:
-            res.append('\n')
-        res += self.body.getFormatted(formatter)
-        if self.sees:
-            res.append('\n')
-        for x in self.sees:
-            res.append(x.getFormatted(formatter))
-        res.append('\n')
-        return ''.join(res)
-
-    def __str__(self):
-        res = RawCodeEntry.__str__(self)
-        s = res + '\n'
-        if self.tparams:
-            s += '\n'.join(['  @tparam %s' % s for s in self.tparams]) + '\n'
-        return s
-
-
-class RawFunction(RawCodeEntry):
-    """RawDoc for one function.
-    
-    @ivar tparams List of RawParameter objects.
-    @ivar params List of RawParameter objects.
-    @ivar returns List of RawReturn objects.
-    @ivar throw List of RawThrow objects.
-    @ivar datarace List of RawDataRace objects. 
-    """
-    
-    def __init__(self, first_token, briefs=[]):
-        RawCodeEntry.__init__(self, first_token, briefs=briefs, command='fn')
-        self.tparams = []
-        self.params = []
-        self.returns = []
-        self.throws = []
-        self.dataraces = []
-
-    def addTParam(self, p):
-        self.tparams.append(p)
-
-    def addParam(self, p):
-        self.params.append(p)
-
-    def addReturn(self, p):
-        self.returns.append(p)
-
-    def addThrow(self, t):
-        self.throws.append(t)
-        
-    def addDataRace(self, d):
-        self.dataraces.append(d)
-
-    def getType(self):
-        if '#' in self.name.text:
-            return 'interface_function'
-        elif '::' in self.name.text:
-            return 'member_function'
-        else:
-            return 'global_function'
-
-    def getFormatted(self, formatter):
-        res = []
-        res.append(formatter.formatCommand(self.command, self.name.text))
-        if self.headerfiles:
-            res.append('\n')
-        if self.headerfiles:
-            for x in self.headerfiles:
-                res.append(x.getFormatted(formatter))
-        if self.briefs:
-            res.append('\n')
-        for x in self.briefs:
-            res.append(x.getFormatted(formatter))
-        if self.deprecation_msgs or self.warnings or self.notes:
-            res.append('\n')
-        for x in self.deprecation_msgs:
-            res.append(x.getFormatted(formatter))
-        for x in self.warnings:
-            res.append(x.getFormatted(formatter))
-        for x in self.notes:
-            res.append(x.getFormatted(formatter))
-        if self.signatures:
-            res.append('\n')
-        for x in self.signatures:
-            res.append(x.getFormatted(formatter))
-        if self.tparams:
-            res.append('\n')
-        for x in self.tparams:
-            res.append(x.getFormatted(formatter))
-        if self.params:
-            res.append('\n')
-        for x in self.params:
-            res.append(x.getFormatted(formatter))
-        if self.returns:
-            res.append('\n')
-        for x in self.returns:
-            res.append(x.getFormatted(formatter))
-        if self.throws:
-            res.append('\n')
-        for x in self.throws:
-            res.append(x.getFormatted(formatter))
-        if self.dataraces:
-            res.append('\n')
-        for x in self.dataraces:
-            res.append(x.getFormatted(formatter))
-        if not self.body.empty:
-            res.append('\n')
-        res += self.body.getFormatted(formatter)
-        if self.sees:
-            res.append('\n')
-        for x in self.sees:
-            res.append(x.getFormatted(formatter))
-        res.append('\n')
-        return ''.join(res)
-
-    def __str__(self):
-        res = RawCodeEntry.__str__(self)
-        res += '\n' + '\n'.join(['  @return %s ' % x for x in self.returns])
-        res += '\n' + '\n'.join(['  @tparam %s ' % x for x in self.tparams])
-        res += '\n' + '\n'.join(['  @param %s ' % x for x in self.params])
-        res += '\n'
-        return res
-
-
-class RawMacro(RawCodeEntry):
-    """RawDoc for one function.
-    
-    @ivar params List of RawParameter objects.
-    @ivar returns List of RawReturn objects.
-    @ivar throws List of RawThrow objects.
-    @ivar dataraces List of RawDataRace objects.
-    """
-    
-    def __init__(self, first_token, briefs=[]):
-        RawCodeEntry.__init__(self, first_token, briefs=briefs, command='macro')
-        self.params = []
-        self.returns = []
-        self.throws = []
-        self.dataraces = []
-
-    def addParam(self, p):
-        self.params.append(p)
-
-    def addReturn(self, p):
-        self.returns.append(p)
-
-    def addThrow(self, t):
-        self.throws.append(t)
-    
-    def addDataRace(self, d):
-        self.dataraces.append(d)
-
-    def getType(self):
-        if '#' in self.name.text:
-            return 'grouped_macro'
-        else:
-            return 'macro'
-
-    def getFormatted(self, formatter):
-        res = []
-        res.append(formatter.formatCommand(self.command, self.name.text))
-        if self.headerfiles:
-            res.append('\n')
-        if self.headerfiles:
-            for x in self.headerfiles:
-                res.append(x.getFormatted(formatter))
-        if self.briefs:
-            res.append('\n')
-        for x in self.briefs:
-            res.append(x.getFormatted(formatter))
-        if self.deprecation_msgs or self.warnings or self.notes:
-            res.append('\n')
-        for x in self.deprecation_msgs:
-            res.append(x.getFormatted(formatter))
-        for x in self.warnings:
-            res.append(x.getFormatted(formatter))
-        for x in self.notes:
-            res.append(x.getFormatted(formatter))
-        if self.signatures:
-            res.append('\n')
-        for x in self.signatures:
-            res.append(x.getFormatted(formatter))
-        if self.params:
-            res.append('\n')
-        for x in self.params:
-            res.append(x.getFormatted(formatter))
-        if self.returns:
-            res.append('\n')
-        for x in self.returns:
-            res.append(x.getFormatted(formatter))
-        if self.throws:
-            res.append('\n')
-        for x in self.throws:
-            res.append(x.getFormatted(formatter))
-        if self.dataraces:
-            res.append('\n')
-        for x in self.dataraces:
-            res.append(x.getFormatted(formatter))
-        if not self.body.empty:
-            res.append('\n')
-        res += self.body.getFormatted(formatter)
-        if self.sees:
-            res.append('\n')
-        for x in self.sees:
-            res.append(x.getFormatted(formatter))
-        res.append('\n')
-        return ''.join(res)
-
-    def __str__(self):
-        res = RawCodeEntry.__str__(self)
-        res += '\n' + '\n'.join(['  @return %s ' % x for x in self.returns])
-        res += '\n' + '\n'.join(['  @tparam %s ' % x for x in self.tparams])
-        res += '\n' + '\n'.join(['  @param %s ' % x for x in self.params])
-        res += '\n'
-        return res
-
-
-class RawMetafunction(RawCodeEntry):
-    """RawDoc for one metafunction.
-    
-    @ivar tparams List of RawParameter objects.
-    @ivar returns List of RawReturn objects.
-    """
-    
-    def __init__(self, first_token, briefs=[]):
-        RawCodeEntry.__init__(self, first_token, briefs=briefs)
-        self.tparams = []
-        self.returns = []
-        self.command = 'mfn'
-
-    def addTParam(self, p):
-        self.tparams.append(p)
-
-    def addReturn(self, p):
-        self.returns.append(p)
-
-    def getType(self):
-        if '#' in self.name.text:
-            return 'interface_metafunction'
-        else:
-            return 'global_metafunction'
-
-    def getFormatted(self, formatter):
-        res = []
-        res.append(formatter.formatCommand(self.command, self.name.text))
-        if self.headerfiles:
-            res.append('\n')
-        if self.headerfiles:
-            for x in self.headerfiles:
-                res.append(x.getFormatted(formatter))
-        if self.briefs:
-            res.append('\n')
-        for x in self.briefs:
-            res.append(x.getFormatted(formatter))
-        if self.deprecation_msgs or self.warnings or self.notes:
-            res.append('\n')
-        for x in self.deprecation_msgs:
-            res.append(x.getFormatted(formatter))
-        for x in self.warnings:
-            res.append(x.getFormatted(formatter))
-        for x in self.notes:
-            res.append(x.getFormatted(formatter))
-        if self.signatures:
-            res.append('\n')
-        for x in self.signatures:
-            res.append(x.getFormatted(formatter))
-        if self.tparams:
-            res.append('\n')
-        for x in self.tparams:
-            res.append(x.getFormatted(formatter))
-        if self.returns:
-            res.append('\n')
-        for x in self.returns:
-            res.append(x.getFormatted(formatter))
-        if not self.body.empty:
-            res.append('\n')
-        res += self.body.getFormatted(formatter)
-        if self.sees:
-            res.append('\n')
-        for x in self.sees:
-            res.append(x.getFormatted(formatter))
-        res.append('\n')
-        return ''.join(res)
-
-
-class RawPage(RawEntry):
-    """A page in the documentation."""
-
-    def __init__(self, first_token, briefs=[]):
-        RawEntry.__init__(self, first_token, briefs=briefs)
-        self.command = 'page'
-    
-    def getType(self):
-        return 'page'
-
-    def getFormatted(self, formatter):
-        res = []
-        if self.title.text:
-            res.append(formatter.formatCommand(self.command, self.title.text,
-                                               self.name.text))
-        else:
-            res.append(formatter.formatCommand(self.command, self.name.text))
-        if self.briefs:
-            res.append('\n')
-        for x in self.briefs:
-            res.append(x.getFormatted(formatter))
-        if not self.body.empty:
-            res.append('\n')
-        res += self.body.getFormatted(formatter)
-        if self.sees:
-            res.append('\n')
-        for x in self.sees:
-            res.append(x.getFormatted(formatter))
-        res.append('\n')
-        return ''.join(res)
-
-
-class RawMainPage(RawPage):
-    """The main page in the documentation."""
-    
-    def __init__(self, first_token, briefs=[]):
-        RawPage.__init__(self, first_token, briefs=briefs)
-        self.command = 'mainpage'
-    
-    def getType(self):
-        return 'page'
-
-    def getFormatted(self, formatter):
-        res = []
-        if self.title.text:
-            res.append(formatter.formatCommand(self.command, self.title.text))
-        else:
-            res.append(formatter.formatCommand(self.command, 'NO TITLE'))
-        if self.briefs:
-            res.append('\n')
-        for x in self.briefs:
-            res.append(x.getFormatted(formatter))
-        if not self.body.empty:
-            res.append('\n')
-        res += self.body.getFormatted(formatter)
-        if self.sees:
-            res.append('\n')
-        for x in self.sees:
-            res.append(x.getFormatted(formatter))
-        res.append('\n')
-        return ''.join(res)
-
-
-class RawGroup(RawEntry):
-    """A group in the documentation."""
-
-    def __init__(self, first_token, briefs=[]):
-        RawEntry.__init__(self, first_token, briefs=briefs)
-        self.command = 'defgroup'
-    
-    def getType(self):
-        return 'defgroup'
-
-    def getFormatted(self, formatter):
-        res = []
-        if self.title.text:
-            res.append(formatter.formatCommand(self.command, self.title.text,
-                                               self.name.text))
-        else:
-            res.append(formatter.formatCommand(self.command, self.name.text))
-        if self.briefs:
-            res.append('\n')
-        for x in self.briefs:
-            res.append(x.getFormatted(formatter))
-        if not self.body.empty:
-            res.append('\n')
-        res += self.body.getFormatted(formatter)
-        if self.sees:
-            res.append('\n')
-        for x in self.sees:
-            res.append(x.getFormatted(formatter))
-        res.append('\n')
-        return ''.join(res)
-
-
-class RawBody(object):
-    """A documentation body consists of multiple RawParagraph, RawSection, RawInclude objects.
-    
-    @ivar entries A list of RawParagraph and RawSection objects.
-    """
-    
-    def __init__(self):
-        self.first_token = None
-        self.paragraphs = []
-
-    def addParagraph(self, p):
-        self.paragraphs.append(p)
-
-    def getFormatted(self, formatter):
-        res = []
-        for p in self.paragraphs:
-            res.append(p.getFormatted(formatter))
-        return '\n'.join(res)
-
-    @property
-    def empty(self):
-        return not bool(self.paragraphs)
-
-    def __eq__(self, other):
-        return self.paragraphs == other.paragraphs
-
-
-class RawSection(object):
-    """Represents one section or subsection.
-    
-    @ivar level An int with the indentation level, starts at 0.
-    @ivar heading The text of the heading.
-    """
-
-    def getType(self):
-        return 'section'
-
-    def __init__(self, first_token, heading=RawText(), level=0):
-        self.first_token = first_token
-        self.heading = heading
-        self.level = level
-
-    def __str__(self):
-        if self.level == 0:
-            return 'Section(%s)' % (repr(self.heading.text))
-        else:
-            return 'Sub%ssection(%s)' % (''.join(['sub'] * (self.level - 1)), repr(self.heading.text))
-
-    def getCommand(self):
-        if self.level == 0:
-            return 'section'
-        else:
-            return 'sub%ssection' % ''.join(['sub'] * (self.level - 1))
-
-    def getFormatted(self, formatter):
-        res = [formatter.formatCommand(self.getCommand(), self.heading.text.strip())]
-        return ''.join(res)
-
-
-class RawInclude(object):
-    """An @include statement.
-
-    @ivar path   A RawText object with the path to the included file.
-    @ivar text   Alias of path.
-    @ivar tokens List of tokens for the include statement.
-    """
-
-    def __init__(self, first_token, tokens):
-        self.first_token = first_token
-        self.tokens = list(tokens)
-        self.path = RawText(tokens)
-        self.text = self.path
-
-    def getType(self):
-        return 'include'
-
-    def __str__(self):
-        return 'RawInclude(%s)' % (repr(self.path.text),)
-
-    def getFormatted(self, formatter):
-        res = ['@include ', self.path.text.strip(), '\n']
-        return ''.join(res)
-
-
-class RawSnippet(object):
-    """A @snippet statement.
-
-    @ivar tokens: A list of Token object.
-    @ivar path: A RawText object with the path to the included file.
-    @ivar name: The name of the snippet, a RawText.
-    @ivar text: Alias to path, such that the begin token can be retrieved by
-                looking at text in exception handling.
-    """
-
-    def __init__(self, first_token, path_tokens, name_tokens):
-        self.first_token = first_token
-        self.tokens = path_tokens + name_tokens
-        self.path = raw_doc.RawText(path_tokens)
-        self.name = raw_doc.RawText(name_tokens)
-        self.text = self.path
-
-    def getType(self):
-        return 'snippet'
-
-    def __str__(self):
-        return 'RawSnippet(%s, %s)' % (repr(self.path.text),
-                                       repr(self.name.text))
-
-    def getFormatted(self, formatter):
-        res = ['@snippet ', self.path.text.strip(), ' ',  self.name.text.strip(), '\n']
-        return ''.join(res)
-
-
-class RawParagraph(object):
-    """A paragraph in the RawBody of an RawEntry object's documentation.
-    
-    @ivar text A string with the paragraph's text.
-    """
-
-    def __init__(self, first_token, text=RawText()):
-        self.first_token = first_token
-        self.text = text
-
-    def getType(self):
-        return 'paragraph'
-
-    def __str__(self):
-        return 'RawParagraph(%s)' % (repr(self.text.text))
-
-    def getFormatted(self, formatter):
-        return formatter.formatParagraph(self.text.text)
-
-
-class RawCode(RawParagraph):
-    """A special paragraph that is rendered as code.
-
-    @ivar extension The extension identifying the language.
-    """
-    
-    def __init__(self, first_token, text=RawText(), extension='.txt'):
-        RawParagraph.__init__(self, first_token, text)
-        self.extension = extension
-
-    def getType(self):
-        return 'code'
-
-    def __str__(self):
-        return 'RawCode(%s)' % repr(self.text)
-
-    def getFormatted(self, formatter):
-        return '@code%s at endcode' % self.text.text
-
-
-class RawHtmlOnly(RawParagraph):
-    """A special paragraph that is directly put into HTML."""
-    
-    def __init__(self, first_token, text=RawText()):
-        RawParagraph.__init__(self, first_token, text)
-
-    def getType(self):
-        return 'htmlonly'
-
-    def __str__(self):
-        return 'RawHtmlOnly(%s)' % repr(self.text)
-
-    def getFormatted(self, formatter):
-        return '@endhtmlonly%s at endhtmlonly' % self.text.text
-
-
-class RawBrief(object):
-    """A representation of a @brief entry.
-    
-    @ivar text The @brief clauses's text.
-    """
-    
-    def __init__(self, first_token, text):
-        self.first_token = first_token
-        self.text = text
-
-    def getType(self):
-        return 'brief'
-
-    def getFormatted(self, formatter):
-        return formatter.formatCommand('brief', self.text.text.strip())
-
-    def __str__(self):
-        return 'RawBrief(%s)' % repr(self.text)
-
-    def __eq__(self, other):
-        return self.text == other.text
-
-
-class RawExtends(object):
-    """A representation of a @extends entry.
-    
-    @ivar text The @extends clauses's text.
-    """
-    
-    def __init__(self, first_token, text):
-        self.first_token = first_token
-        self.text = text
-
-    def getType(self):
-        return 'extends'
-
-    def getFormatted(self, formatter):
-        return formatter.formatCommand('extends', self.text.text.strip())
-
-    def __str__(self):
-        return 'RawExtends(%s)' % repr(self.text)
-
-    def __eq__(self, other):
-        return self.text == other.text
-
-
-class RawImplements(object):
-    """A representation of a @implements entry.
-    
-    @ivar text The @implements clauses's text.
-    """
-    
-    def __init__(self, first_token, text):
-        self.first_token = first_token
-        self.text = text
-
-    def getType(self):
-        return 'implements'
-
-    def getFormatted(self, formatter):
-        return formatter.formatCommand('implements', self.text.text.strip())
-
-    def __str__(self):
-        return 'RawImplements(%s)' % repr(self.text)
-
-    def __eq__(self, other):
-        return self.text == other.text
-
-
-class RawHeaderfile(object):
-    """A representation of a @headerfile entry.
-    
-    @ivar text The @headerfile clauses's text.
-    """
-    
-    def __init__(self, first_token, text):
-        self.first_token = first_token
-        self.text = text
-
-    def getType(self):
-        return 'headerfile'
-
-    def getFormatted(self, formatter):
-        return formatter.formatCommand('headerfile', self.text.text.strip())
-
-    def __str__(self):
-        return 'RawHeaderfile(%s)' % repr(self.text)
-
-    def __eq__(self, other):
-        return self.text == other.text
-
-
-class RawDeprecated(object):
-    """A representation of a @deprecated entry.
-    
-    @ivar text The @deprecated clauses's text.
-    """
-    
-    def __init__(self, first_token, text):
-        self.first_token = first_token
-        self.text = text
-
-    def getType(self):
-        return 'deprecated'
-
-    def getFormatted(self, formatter):
-        return formatter.formatCommand('deprecated', self.text.text.strip())
-
-    def __str__(self):
-        return 'RawDeprecated(%s)' % repr(self.text)
-
-    def __eq__(self, other):
-        return self.text == other.text
-
-
-class RawNote(object):
-    """A representation of a @note entry.
-    
-    @ivar text The @note clauses's text.
-    """
-    
-    def __init__(self, first_token, text):
-        self.first_token = first_token
-        self.text = text
-
-    def getType(self):
-        return 'note'
-
-    def getFormatted(self, formatter):
-        return formatter.formatCommand('note', self.text.text.strip())
-
-    def __str__(self):
-        return 'RawNote(%s)' % repr(self.text)
-
-    def __eq__(self, other):
-        return self.text == other.text
-
-
-class RawWarning(object):
-    """A representation of a @warning entry.
-    
-    @ivar text The @warning clauses's text.
-    """
-    
-    def __init__(self, first_token, text):
-        self.first_token = first_token
-        self.text = text
-
-    def getType(self):
-        return 'warning'
-
-    def getFormatted(self, formatter):
-        return formatter.formatCommand('warning', self.text.text.strip())
-
-    def __str__(self):
-        return 'RawWarning(%s)' % repr(self.text)
-
-    def __eq__(self, other):
-        return self.text == other.text
-
-
-class RawAka(object):
-    """A representation of an @aka entry.
-    
-    @ivar text The @aka clauses's text.
-    """
-    
-    def __init__(self, first_token, text):
-        self.first_token = first_token
-        self.text = text
-
-    def getType(self):
-        return 'aka'
-
-    def getFormatted(self, formatter):
-        return formatter.formatCommand('aka', self.text.text.strip())
-
-    def __str__(self):
-        return 'RawAka(%s)' % repr(self.text)
-
-    def __eq__(self, other):
-        return self.text == other.text
-
-
-class RawInternal(object):
-    """A representation of a @internal entry.
-    
-    @ivar text The @internal clauses's text.
-    """
-    
-    def __init__(self, first_token, text):
-        self.first_token = first_token
-        self.text = text
-
-    def getType(self):
-        return 'internal'
-
-    def getFormatted(self, formatter):
-        return formatter.formatCommand('internal', self.text.text.strip())
-
-    def __str__(self):
-        return 'RawInternal(%s)' % repr(self.text)
-
-    def __eq__(self, other):
-        return self.text == other.text
-
-
-class RawSee(object):
-    """A representation of a @see entry.
-    
-    @ivar text The @see clauses's parameter.
-    """
-    
-    def __init__(self, first_token, text):
-        self.first_token = first_token
-        self.text = text
-
-    def getType(self):
-        return 'see'
-
-    def getFormatted(self, formatter):
-        return formatter.formatCommand('see', self.text.text)
-
-
-class RawParam(object):
-    """RawDoc for one parameter.
-    
-    @ivar name  Name of the parameter.
-    @ivar inout String in {'', 'in', 'out', 'in,out'} describing mutability.
-    @ivar text  RawParagraph entry with the documentation of the parameter.
-    """
-
-    def getType(self):
-        return 'param'
-    
-    def __init__(self, first_token, name=RawText(), text=RawText(), inout=None):
-        self.first_token = first_token
-        self.name = name
-        self.inout = inout
-        self.text = text
-
-    def __str__(self):
-        inout = ''
-        if self.inout:
-            inout = self.inout.val
-        return '  @param%s %s %s' % (inout, self.name.text, self.text.text)
-
-    def getFormatted(self, formatter):
-        inout = ''
-        if self.inout:
-            inout = self.inout.val
-        return formatter.formatCommand('param%s' % inout, self.text.text, self.name.text)
-
-
-class RawTParam(RawParam):
-    """RawDoc for one template parameter.
-    
-    @ivar name  Name of the parameter.
-    @ivar text  RawParagraph entry with the documentation of the parameter.
-    """
-
-    def getType(self):
-        return 'tparam'
-    
-    def __init__(self, first_token, name=RawText(), text=RawText(), in_out=None):
-        RawParam.__init__(self, first_token, name, text)
-
-    def __str__(self):
-        return 'RawTParam(%s, %s)' % (repr(self.name.text), repr(self.text.text))
-
-    def getFormatted(self, formatter):
-        return formatter.formatCommand('tparam', self.text.text, self.name.text)
-
-
-class RawReturn(RawParam):
-    """RawDoc for one return description.
-    
-    @ivar type The return type.
-    @ivar text RawParagraph entry with the documentation of the parameter.
-    """
-    
-    def __init__(self, first_token, name=RawText(), text=RawText(), in_out=None):
-        RawParam.__init__(self, first_token, name, text)
-
-    def getType(self):
-        return 'return'
-
-    def getFormatted(self, formatter):
-        return formatter.formatCommand('return', self.text.text, self.name.text)
-
-
-class RawThrow(RawParam):
-    """RawDoc for one throw description.
-    
-    @ivar type The thrown type.
-    @ivar text RawParagraph entry with the documentation of the parameter.
-    """
-    
-    def __init__(self, first_token, name=RawText(), text=RawText(), in_out=None):
-        RawParam.__init__(self, first_token, name, text)
-
-    def getType(self):
-        return 'throw'
-
-    def getFormatted(self, formatter):
-        return formatter.formatCommand('throw', self.text.text, self.name.text)
-    
-    
-class RawDataRace(object):
-    """RawDoc for one data race description.
-    
-    @ivar text The @datarace clauses's parameter.
-    """
-    
-    def __init__(self, first_token, text=RawText()):
-        self.first_token = first_token
-        self.text = text
-
-    def getType(self):
-        return 'datarace'
-
-    def getFormatted(self, formatter):
-        return formatter.formatCommand('datarace', self.text.text)
-
-
-class RawSignature(object):
-    """A representation of a @signature entry.
-    
-    @ivar value The @signature's clauses's parameter. RawText.
-    """
-    
-    def __init__(self, first_token, text):
-        self.first_token = first_token
-        self.text = text
-
-    def getType(self):
-        return 'signature'
-
-    def __str__(self):
-        return 'RawSignature(%s)' % repr(self.text.text)
-
-    def getFormatted(self, formatter):
-        return formatter.formatCommand('signature', self.text.text.strip())
-
diff --git a/util/py_lib/seqan/dox/sig_parser.py b/util/py_lib/seqan/dox/sig_parser.py
deleted file mode 100644
index 8ba8745..0000000
--- a/util/py_lib/seqan/dox/sig_parser.py
+++ /dev/null
@@ -1,327 +0,0 @@
-#!/usr/bin/env python2
-"""Parser for the signature supported by the SeqAn Doxygen-style documentation.
-"""
-
-# TODO(holtgrew): The parser has become quite complex. Maybe using some external library for parsing is in order.
-
-import sys
-
-import lexer
-
-
-TOKENS = (
-    ('KWD_TEMPLATE',   r'template'),
-    ('KWD_TYPENAME',   r'typename'),
-    ('KWD_CLASS',      r'class'),
-    ('KWD_CONCEPT',    r'concept'),
-    ('KWD_STRUCT',     r'struct'),
-    ('KWD_ENUM',       r'enum'),
-
-    ('IDENTIFIER',     r'[a-zA-Z_~][a-zA-Z_0-9~]*'),
-    ('COMMA',          r','),
-    ('NAME_SEP',       r'::'),
-    ('HASH',           r'#'),
-    ('SEMICOLON',      r';'),
-    ('SPACE',          r'[\t ]'),
-    ('PROUND_OPEN',    r'\('),
-    ('PROUND_OPEN',    r'\('),
-    ('PROUND_CLOSE',   r'\)'),
-    ('PANGULAR_OPEN' , r'<'),
-    ('PANGULAR_CLOSE', r'>'),
-    )
-
-
-class SigParseException(Exception):
-    """Raised in the case of signature parsing error."""
-
-    def __init__(self, msg, line=0, column=0):
-        Exception.__init__(self, msg)
-        self.line = line
-        self.column = column
-    
-
-class Arg(object):
-    """
-    @ivar type: The type of the template parameter, e.g. 'typename',
-                'class', 'int', 'unsigned' etc. str
-    @ivar name: The name of the parameter. str
-    """
-
-    def __init__(self, type=None, name=None):
-        self.type = type
-        self.name = name
-
-
-class SigEntry(object):
-    """A signature entry.
-
-    The following kinds are possible: concept, class, function, variable,
-    enum, struct.
-
-    @ivar name: Name of the element.
-    @ivar kind: The kind of the element.
-    @ivar params: Parameters of the function, in case of function.
-    @ivar is_tpl: Whether or not the entry is a template.
-    @ivar tparams: Template parameters, in case of templates.
-    @ivar return_type: The name of the return type, in case of function.
-    @ivar return_name: Name after the :: for Metafunctions.
-    @ivar var_type: The type of the variable.
-
-    """
-
-    def __init__(self, name=None, kind=None, params=[], tparams=[],
-                 is_tpl=False, return_type=None, return_name=None,
-                 var_type=None):
-        self.name = name
-        self.kind = kind
-        self.params = list([])
-        self.tparams = list([])
-        self.is_tpl = is_tpl
-        self.return_type = return_type
-        self.return_name = return_name
-        self.var_type = var_type
-
-    def toString(self):
-        """Convert the SigEntry object back into a string."""
-        types = ['concept', 'class', 'struct', 'enum']
-        if not self.is_tpl and self.kind in types:
-            return '%s %s;' % (self.kind, self.name)
-        elif not self.is_tpl and self.kind == 'function':
-            params = ', '.join(['%s %s' % (p.type, p.name) for p in self.params])
-            if self.return_type:
-                return '%s %s(%s);' % (self.return_type, self.name, params)
-            else:
-                return '%s(%s);' % (self.name, params)
-        elif self.is_tpl and self.kind == 'function':
-            tparams = ', '.join(['%s %s' % (p.type, p.name) for p in self.tparams])
-            params = ', '.join(['%s %s' % (p.type, p.name) for p in self.params])
-            return 'template <%s>\n%s %s(%s);' % (tparams, self.return_type, self.name, params)
-        elif self.is_tpl and self.kind in ['struct', 'class']:
-            tparams = ', '.join(['%s %s' % (p.type, p.name) for p in self.tparams])
-            params = ', '.join(['%s %s' % (p.type, p.name) for p in self.params])
-            return 'template <%s>\n%s %s;' % (tparams, self.kind, self.name)
-        elif self.kind == 'metafunction':
-            tparams = ', '.join([p.name for p in self.tparams])
-            if self.return_type:
-                return '%s %s<%s>::%s;' % (self.return_type, self.name, tparams,
-                                           self.return_name)
-            else:
-                return '%s<%s>::%s;' % (self.name, tparams, self.return_name)
-        elif self.kind == 'variable':
-            return '%s %s;' % (self.var_type, self.name)
-
-
-class SigParser(object):
-    def __init__(self, buffer):
-        self.buffer = buffer
-        self.lexer = lexer.Lexer(TOKENS)
-        self.lexer.input(buffer)
-        self.tokens = self.lexer.tokens()
-
-    def parseTemplate(self, token):
-        tparams = []
-        # Read <
-        t = self.tokens.next()
-        self.expectNotEof(t)
-        if t.type != 'PANGULAR_OPEN':
-            raise SigParseException('Expected opening angular parenthesis')
-        # Parse template parameters.
-        self.parseParams('PANGULAR_CLOSE', tparams,
-                         ['IDENTIFIER', 'KWD_TYPENAME', 'KWD_CLASS'])
-        # Parse remaining.
-        sig_entry = self.parse()
-        sig_entry.is_tpl = True
-        sig_entry.tparams = tparams
-        return sig_entry
-
-    def parseParams(self, end_token, params_dest, type_tokens):
-        t = self.tokens.next()
-        self.expectNotEof(t)
-        while t.type != end_token:
-            if t.type not in type_tokens:
-                raise SigParseException('Expected identifier got "%s"' % t.val)
-            arg = Arg(type=t.val)
-            t = self.tokens.next()
-            self.expectNotEof(t)
-            if t.type != 'IDENTIFIER':
-                raise SigParseException('Expected identifier got "%s"' % t.val)
-            arg.name = t.val
-            t = self.tokens.next()
-            self.expectNotEof(t)
-            if t.type not in ['COMMA', end_token]:
-                raise SigParseException('Expected COMMA or closing parenthesis')
-            if t.type != end_token:
-                t = self.tokens.next()
-            params_dest.append(arg)
-
-    def parseMetafunctionType(self, name):
-        sig_entry = SigEntry(kind='metafunction')
-        sig_entry.name = name
-        # Expect "#$name" or PANGULAR_CLOSE
-        t = self.tokens.next()
-        self.expectNotEof(t)
-        if t.type == 'HASH':
-            sig_entry.name += '#'
-            t = self.tokens.next()
-            self.expectNotEof(t)
-            if t.type != 'IDENTIFIER':
-                raise SigParseException('Expecting identifier')
-            sig_entry.name += t.val
-            t = self.tokens.next()
-            self.expectNotEof(t)
-        while t.type != 'PANGULAR_CLOSE':
-            if t.type != 'IDENTIFIER':
-                raise SigParseException('Expecting identifier')
-            arg = Arg(name=t.val)
-            sig_entry.tparams.append(arg)
-            # Read "," or ">"
-            t = self.tokens.next()
-            self.expectNotEof(t)
-            if t.type not in ['PANGULAR_CLOSE', 'COMMA']:
-                raise SigParseException('Expecting ">" or ","')
-            if t.type == 'COMMA':
-                t = self.tokens.next()
-                self.expectNotEof(t)
-        # Expect "::"
-        t = self.tokens.next()
-        self.expectNotEof(t)
-        if t.type != 'NAME_SEP':
-            raise SigParseException('Expecting "::"')
-        # Read return_name
-        t = self.tokens.next()
-        self.expectNotEof(t)
-        if t.type != 'IDENTIFIER':
-            raise SigParseException('Expecting identifier got %s' % repr(t.val))
-        sig_entry.return_name = t.val
-        return sig_entry
-
-    def parseMetafunctionValue(self, return_type, name):
-        sig_entry = self.parseMetafunctionType(name)
-        sig_entry.return_type = return_type
-        return sig_entry
-
-    def parseFunction(self, token):
-        """Parse a function, variable, or metafunction.
-
-        We started out with an identifier.  The things that this function will
-        be triggered for:
-
-          TReturn name(T1 x1, T2 x2, ...)
-          TReturn Klass::name(T1 x1, T2 x2, ...)
-          TReturn Klass#name(T1 x1, T2 x2, ...)
-          TReturn Name<TParam>::VALUE
-          TReturn Klass#Name<TParam>::VALUE
-          Name<TParam>::Type
-          Klass#Name<TParam>::Type
-          T var
-        
-        @param token: lexer.Token object with the previous token.
-
-        """
-        is_constructor = False
-        other_name = token.val
-        # get next token, i sname or "<"
-        t = self.tokens.next()
-        self.expectNotEof(t)
-        if t.type in ['HASH', 'NAME_SEP']:
-            other_name += t.val
-            t = self.tokens.next()
-            self.expectNotEof(t)
-            if t.type != 'IDENTIFIER':
-                raise SigParseException('Expecting identifier.')
-            other_name += t.val
-            t = self.tokens.next()
-            self.expectNotEof(t)
-        if t.type == 'PANGULAR_OPEN':
-            return self.parseMetafunctionType(other_name)
-        if t.type == 'PROUND_OPEN':
-            is_constructor = True
-        elif t.type != 'IDENTIFIER':
-            raise SigParseException('Expecting identifier as function name.')
-        name = t.val
-        if not is_constructor:
-            t = self.tokens.next()
-            self.expectNotEof(t)
-            if t.type in ['HASH', 'NAME_SEP']:
-                name += t.val
-                t = self.tokens.next()
-                self.expectNotEof(t)
-                if t.type != 'IDENTIFIER':
-                    raise SigParseException('Expecting identifier.')
-                name += t.val
-                t = self.tokens.next()
-                self.expectNotEof(t)
-            # expect "(" or "<"
-            if t.type == 'PANGULAR_OPEN':
-                return self.parseMetafunctionValue(other_name, name)
-        # Expecting <eof>, ";", or (.  The last triggers generation of a
-        # function, the other of a variable.
-        if t.type in ['EOF', 'SEMICOLON']:
-            sig_entry = SigEntry(kind='variable')
-            sig_entry.var_type = other_name
-            sig_entry.name = name
-            return sig_entry
-        sig_entry = SigEntry(kind='function')
-        if is_constructor:
-            sig_entry.return_type = None
-            sig_entry.name = other_name
-        else:
-            sig_entry.return_type = other_name
-            sig_entry.name = name
-        if t.type in ['HASH', 'NAME_SEP']:
-            sig_entry.name += t.val
-            t = self.tokens.next()
-            self.expectNotEof(t)
-            if t.type != 'IDENTIFIER':
-                raise SigParseException('EOF not expected')
-            sig_entry.name += t.val
-            t = self.tokens.next()
-            self.expectNotEof(t)
-        if t.type != 'PROUND_OPEN':
-            raise SigParseException('Expecting opening parenthesis after '
-                                    'function name')
-        # parse parameters
-        self.parseParams('PROUND_CLOSE', sig_entry.params, ['IDENTIFIER'])
-        return sig_entry
-
-    def parseCSE(self, kind):
-        """Parse class, struct, enum."""
-        sig_entry = SigEntry(kind=kind)
-        t = self.tokens.next()
-        self.expectNotEof(t)
-        if t.type != 'IDENTIFIER':
-            raise SigParseException('Expecting identifier after "%s"!' % kind)
-        sig_entry.name = t.val
-        return sig_entry
-        
-    def parseClass(self, token):
-        return self.parseCSE('class')
-
-    def parseConcept(self, token):
-        return self.parseCSE('concept')
-
-    def parseStruct(self, token):
-        return self.parseCSE('struct')
-
-    def parseEnum(self, token):
-        return self.parseCSE('enum')
-
-    def expectNotEof(self, token):
-        if token.type == 'EOF':
-            raise SigParseException('Unexpecte EOF!')
-        
-    def parse(self):
-        try:
-            t = self.tokens.next()
-            self.expectNotEof(t)
-            m = {'KWD_TEMPLATE':   self.parseTemplate,
-                 'KWD_CLASS':      self.parseClass,
-                 'KWD_CONCEPT':    self.parseConcept,
-                 'KWD_STRUCT':     self.parseStruct,
-                 'KWD_ENUM':       self.parseEnum,
-                 'IDENTIFIER':     self.parseFunction}
-            if not t.type in m:
-                raise SigParseException('Unexpected token of type %s' % t.type)
-            return m[t.type](t)
-        except lexer.LexerError, e:
-            raise SigParseException('Lexer error: %s at pos %s when parsing %s' % (e, e.pos, self.buffer))
diff --git a/util/py_lib/seqan/dox/test/test_dox_parser.py b/util/py_lib/seqan/dox/test/test_dox_parser.py
deleted file mode 100644
index eaf6432..0000000
--- a/util/py_lib/seqan/dox/test/test_dox_parser.py
+++ /dev/null
@@ -1,974 +0,0 @@
-#!/usr/bin/env python2
-"""Tests for the dox_parser module.
-
-The parser results are very complex.  We rely on parsing Doxygen-style
-documentation and then dumping it back into this format.
-
-We write the "full" test with the smallest amount of empty lines possible to
-check that the tokenization works well in these corner cases.  Having empty
-lines actually is the easier case.
-"""
-
-__author__ = 'Manuel Holtgrewe <manuel.holtgrewe at fu-berlin.de>'
-
-# TODO(holtgrew): Add tests for @implements @extends
-
-import os
-import unittest
-import sys
-
-import seqan.dox.lexer as lexer
-import seqan.dox.dox_tokens as dox_tokens
-import seqan.dox.dox_parser as dox_parser
-
-
-class TestDoxParserBase(unittest.TestCase):
-    """Base class for all dox parser tests."""
-
-    def __init__(self, *args, **kwargs):
-        unittest.TestCase.__init__(self, *args, **kwargs)
-        self.maxDiff = 1024*1024
-
-    def createLexer(self, text):
-        """Create a lexer.Lexer object with the given text."""
-        lex = lexer.Lexer(dox_tokens.LEXER_TOKENS, skip_whitespace=False)
-        lex.input(text)
-        return lex
-
-    def parseText(self, text):
-        """Create a dox parser and let it parse the given text.
-
-        Return the created parser.
-        """
-        parser = dox_parser.Parser()
-        parser.parse(self.createLexer(text))
-        return parser
-
-
-class TestClassParsing(TestDoxParserBase):
-    def testMinimal(self):
-        txt = '@class Klass'
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        self.assertMultiLineEqual(doc.getFormatted(), '@class Klass\n\n')
-
-    def testTwoMinimal(self):
-        txt = ('@class A\n'
-               '@brief Brief A\n'
-               '@class B\n')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        self.assertMultiLineEqual(doc.getFormatted(), '@class A\n\n at brief Brief A\n\n\n\n at class B\n\n\n\n')
-
-    def testFull(self):
-        txt = ('@class Klass\n'
-               '@implements Concept\n'
-               '@headerfile <seqan/base.h>\n'
-               '@headerfile <seqan/sequence.h>\n'
-               '@extends Other Klass\n'
-               '@brief This is a brief text.\n'
-               '@deprecated Deprecation message.\n'
-               '@signature template <typename T1, typename T2>\n'
-               '           class Klass;\n'
-               '@tparam T1 The first value and a very very very very long \n'
-               '           description\n'
-               '@tparam T2 The second value and a very very very very long \n'
-               '           description\n'
-               '\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@class Klass\n'
-                    '\n'
-                    '@implements Concept\n'
-                    '\n'
-                    '@extends Other Klass\n'
-                    '\n'
-                    '@headerfile <seqan/base.h>\n'
-                    '@headerfile <seqan/sequence.h>\n'
-                    '\n'
-                    '@brief This is a brief text.\n'
-                    '\n'
-                    '@deprecated Deprecation message.\n'
-                    '\n'
-                    '@signature template <typename T1, typename T2>\n'
-                    '           class Klass;\n'
-                    '\n'
-                    '@tparam T1 The first value and a very very very\n'
-                    '           very long description\n'
-                    '@tparam T2 The second value and a very very very\n'
-                    '           very long description\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-
-class TestTypedefParsing(TestDoxParserBase):
-    def testGlobalMinimal(self):
-        txt = '@typedef Typedef'
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        self.assertMultiLineEqual(doc.getFormatted(), '@typedef Typedef\n\n')
-
-    def testGlobalFull(self):
-        txt = ('@typedef Typedef\n'
-               '@brief This is an example for a typedef.\n'
-               '@deprecated Deprecation message.\n'
-               '@signature typedef Foo<Bar> Typedef;\n'
-               '\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@typedef Typedef\n'
-                    '\n'
-                    '@brief This is an example for a typedef.\n'
-                    '\n'
-                    '@deprecated Deprecation message.\n'
-                    '\n'
-                    '@signature typedef Foo<Bar> Typedef;\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-
-class TestAdaptionParsing(TestDoxParserBase):
-    def testGlobalMinimal(self):
-        txt = '@adaption Adaption'
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        self.assertMultiLineEqual(doc.getFormatted(), '@adaption Adaption\n\n')
-
-    def testGlobalFull(self):
-        txt = ('@adaption Adaption\n'
-               '@brief This is an example for an adaption.\n'
-               '@deprecated Deprecation message.\n'
-               '@signature std::string;\n'
-               '\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@adaption Adaption\n'
-                    '\n'
-                    '@brief This is an example for an adaption.\n'
-                    '\n'
-                    '@deprecated Deprecation message.\n'
-                    '\n'
-                    '@signature std::string;\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-
-class TestMacroParsing(TestDoxParserBase):
-    def testGlobalMinimal(self):
-        txt = '@macro MACRO'
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        self.assertMultiLineEqual(doc.getFormatted(), '@macro MACRO\n\n')
-
-    def testGlobalFull(self):
-        txt = ('@macro MACRO\n'
-               '@brief This is an example for a macro.\n'
-               '@deprecated Deprecation message.\n'
-               '@signature MACRO(param)\n'
-               '@param param The parameter.\n'
-               '@return TString A path as <tt>char const *</tt>.\n'
-               '@throw Exception The exception type.\n'
-               '@datarace This macro is not thread safe.\n'
-               '\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@macro MACRO\n'
-                    '\n'
-                    '@brief This is an example for a macro.\n'
-                    '\n'
-                    '@deprecated Deprecation message.\n'
-                    '\n'
-                    '@signature MACRO(param)\n'
-                    '\n'
-                    '@param param The parameter.\n'
-                    '\n'
-                    '@return TString A path as <tt>char const *</tt>.\n'
-                    '\n'
-                    '@throw Exception The exception type.\n'
-                    '\n'
-                    '@datarace This macro is not thread safe.\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-
-class TestFunctionParsing(TestDoxParserBase):
-    def testGlobalMinimal(self):
-        txt = '@fn funktion'
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        self.assertMultiLineEqual(doc.getFormatted(), '@fn funktion\n\n')
-
-    def testReturnValue(self):
-        txt = ('@fn funktion\n'
-               '@return bool <tt>true</tt> if empty, <tt>false</tt> otherwise.')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        fn = doc.entries[0]
-        self.assertEqual(len(fn.returns), 1)
-        self.assertEqual(fn.returns[0].name.text, 'bool')
-        txt = '<tt>true</tt> if empty, <tt>false</tt> otherwise.'
-        self.assertEqual(fn.returns[0].text.text, txt)
-
-    def testThrow(self):
-        txt = ('@fn funktion\n'
-               '@throw Exception The thrown exception')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        fn = doc.entries[0]
-        self.assertEqual(len(fn.throws), 1)
-        self.assertEqual(fn.throws[0].name.text, 'Exception')
-        txt = 'The thrown exception'
-        self.assertEqual(fn.throws[0].text.text, txt)
-        
-    def testDataRace(self):
-        txt = ('@fn funktion\n'
-               '@datarace This function is thread safe.')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        fn = doc.entries[0]
-        self.assertEqual(len(fn.dataraces), 1)
-        txt = 'This function is thread safe.'
-        self.assertEqual(fn.dataraces[0].text.text, txt)
-
-    def testGlobalFull(self):
-        txt = ('@fn funktion\n'
-               '@brief This is a brief text.\n'
-               '@deprecated Deprecation message.\n'
-               '@signature TRes1 funktion<T1>(TParam p1);\n'
-               '@signature TRes2 funktion<T2>(TParam p2);\n'
-               '@tparam T1 The first value and a very very very very long \n'
-               '           description\n'
-               '@tparam T2 The second value and a very very very very long \n'
-               '           description\n'
-               '@param[in] p1 The first parameter.\n'
-               '@param     p2 The second parameter.\n'
-               '@return TRes1 The first return type.\n'
-               '@return TRes2 The second return type.\n'
-               '\n'
-               '@throw Exception The thrown exception.\n'
-               '\n'
-               '@datarace This function is thread safe.\n'
-               '\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@fn funktion\n'
-                    '\n'
-                    '@brief This is a brief text.\n'
-                    '\n'
-                    '@deprecated Deprecation message.\n'
-                    '\n'
-                    '@signature TRes1 funktion<T1>(TParam p1);\n'
-                    '@signature TRes2 funktion<T2>(TParam p2);\n'
-                    '\n'
-                    '@tparam T1 The first value and a very very very\n'
-                    '           very long description\n'
-                    '@tparam T2 The second value and a very very very\n'
-                    '           very long description\n'
-                    '\n'
-                    '@param[in] p1 The first parameter.\n'
-                    '@param p2 The second parameter.\n'
-                    '\n'
-                    '@return TRes1 The first return type.\n'
-                    '@return TRes2 The second return type.\n'
-                    '\n'
-                    '@throw Exception The thrown exception.\n'
-                    '\n'
-                    '@datarace This function is thread safe.\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-    def testInterfaceMinimal(self):
-        txt = '@fn Klass#funktion'
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        self.assertMultiLineEqual(doc.getFormatted(), '@fn Klass#funktion\n\n')
-
-    def testInterfaceFull(self):
-        txt = ('@fn Klass#funktion\n'
-               '@brief This is a brief text.\n'
-               '@deprecated Deprecation message.\n'
-               '@signature TRes1 funktion<T1>(TParam p1);\n'
-               '@signature TRes2 funktion<T2>(TParam p2);\n'
-               '@tparam T1 The first value and a very very very very long \n'
-               '           description\n'
-               '@tparam T2 The second value and a very very very very long \n'
-               '           description\n'
-               '@param[in] p1 The first parameter.\n'
-               '@param     p2 The second parameter.\n'
-               '@return TRes1 The first return type.\n'
-               '@return TRes2 The second return type.\n'
-               '@datarace This function is thread safe.\n'
-               '\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@fn Klass#funktion\n'
-                    '\n'
-                    '@brief This is a brief text.\n'
-                    '\n'
-                    '@deprecated Deprecation message.\n'
-                    '\n'
-                    '@signature TRes1 funktion<T1>(TParam p1);\n'
-                    '@signature TRes2 funktion<T2>(TParam p2);\n'
-                    '\n'
-                    '@tparam T1 The first value and a very very very\n'
-                    '           very long description\n'
-                    '@tparam T2 The second value and a very very very\n'
-                    '           very long description\n'
-                    '\n'
-                    '@param[in] p1 The first parameter.\n'
-                    '@param p2 The second parameter.\n'
-                    '\n'
-                    '@return TRes1 The first return type.\n'
-                    '@return TRes2 The second return type.\n'
-                    '\n'
-                    '@datarace This function is thread safe.\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-
-class TestConceptParsing(TestDoxParserBase):
-    def testMinimal(self):
-        txt = '@concept Konzept'
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        self.assertMultiLineEqual(doc.getFormatted(), '@concept Konzept\n\n')
-
-    def testFull(self):
-        txt = ('@concept Konzept\n'
-               '@extends Konzert\n'
-               '@headerfile <seqan/base.h>\n'
-               '@headerfile <seqan/sequence.h>\n'
-               '@brief This is a brief text.\n'
-               '@deprecated Deprecation message.\n'
-               '@signature concept Konzept;\n'
-               '\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@concept Konzept\n'
-                    '\n'
-                    '@extends Konzert\n'
-                    '\n'
-                    '@headerfile <seqan/base.h>\n'
-                    '@headerfile <seqan/sequence.h>\n'
-                    '\n'
-                    '@brief This is a brief text.\n'
-                    '\n'
-                    '@deprecated Deprecation message.\n'
-                    '\n'
-                    '@signature concept Konzept;\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-
-class TestMetafunctionParsing(TestDoxParserBase):
-    def testGlobalMinimal(self):
-        txt = '@mfn Metafunktion'
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        self.assertMultiLineEqual(doc.getFormatted(), '@mfn Metafunktion\n\n')
-
-    def testGlobalFull(self):
-        txt = ('@mfn Metafunktion\n'
-               '@brief This is a brief text.\n'
-               '@deprecated Deprecation message.\n'
-               '@signature Metafunktion<T1>::Type;\n'
-               '@signature Metafunktion<T2>::VALUE;\n'
-               '@tparam T1 The first value and a very very very very long \n'
-               '           description\n'
-               '@tparam T2 The second value and a very very very very long \n'
-               '           description\n'
-               '@return Type The return type.\n'
-               '@return VALUE The return value.\n'
-               '\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@mfn Metafunktion\n'
-                    '\n'
-                    '@brief This is a brief text.\n'
-                    '\n'
-                    '@deprecated Deprecation message.\n'
-                    '\n'
-                    '@signature Metafunktion<T1>::Type;\n'
-                    '@signature Metafunktion<T2>::VALUE;\n'
-                    '\n'
-                    '@tparam T1 The first value and a very very very\n'
-                    '           very long description\n'
-                    '@tparam T2 The second value and a very very very\n'
-                    '           very long description\n'
-                    '\n'
-                    '@return Type The return type.\n'
-                    '@return VALUE The return value.\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-    def testInterfaceMinimal(self):
-        txt = '@mfn Klass#Metafunktion'
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        self.assertMultiLineEqual(doc.getFormatted(), '@mfn Klass#Metafunktion\n\n')
-
-    def testInterfaceFull(self):
-        txt = ('@mfn Klass#Metafunktion\n'
-               '@brief This is a brief text.\n'
-               '@deprecated Deprecation message.\n'
-               '@signature Metafunktion<T1>::Type;\n'
-               '@signature Metafunktion<T2>::VALUE;\n'
-               '@tparam T1 The first value and a very very very very long \n'
-               '           description\n'
-               '@tparam T2 The second value and a very very very very long \n'
-               '           description\n'
-               '@return Type The return type.\n'
-               '@return VALUE The return value.\n'
-               '\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@mfn Klass#Metafunktion\n'
-                    '\n'
-                    '@brief This is a brief text.\n'
-                    '\n'
-                    '@deprecated Deprecation message.\n'
-                    '\n'
-                    '@signature Metafunktion<T1>::Type;\n'
-                    '@signature Metafunktion<T2>::VALUE;\n'
-                    '\n'
-                    '@tparam T1 The first value and a very very very\n'
-                    '           very long description\n'
-                    '@tparam T2 The second value and a very very very\n'
-                    '           very long description\n'
-                    '\n'
-                    '@return Type The return type.\n'
-                    '@return VALUE The return value.\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-
-class TestConceptParsing(TestDoxParserBase):
-    def testMinimal(self):
-        txt = '@concept Konzept'
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        self.assertMultiLineEqual(doc.getFormatted(), '@concept Konzept\n\n')
-
-    def testFull(self):
-        txt = ('@concept Konzept\n'
-               '@brief This is a brief text.\n'
-               '@deprecated Deprecation message.\n'
-               '@headerfile <seqan/base.h>\n'
-               '@headerfile <seqan/sequence.h>\n'
-               '@signature concept Konzept;\n'
-               '\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@concept Konzept\n'
-                    '\n'
-                    '@headerfile <seqan/base.h>\n'
-                    '@headerfile <seqan/sequence.h>\n'
-                    '\n'
-                    '@brief This is a brief text.\n'
-                    '\n'
-                    '@deprecated Deprecation message.\n'
-                    '\n'
-                    '@signature concept Konzept;\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-
-class TestVariableParsing(TestDoxParserBase):
-    def testFull(self):
-        txt = ('@var int var\n'
-               '@brief This is a brief text.\n'
-               '@deprecated Deprecation message.\n'
-               '@headerfile <seqan/base.h>\n'
-               '@headerfile <seqan/sequence.h>\n'
-               '@signature int var;\n'
-               '\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@var int var;\n'
-                    '\n'
-                    '@headerfile <seqan/base.h>\n'
-                    '@headerfile <seqan/sequence.h>\n'
-                    '\n'
-                    '@brief This is a brief text.\n'
-                    '\n'
-                    '@deprecated Deprecation message.\n'
-                    '\n'
-                    '@signature int var;\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-    def testMemberMinimal(self):
-        txt = '@var Klass::Type Klass::var'
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        self.assertMultiLineEqual(doc.getFormatted(), '@var Klass::Type Klass::var;\n\n')
-
-    def testMemberFull(self):
-        txt = ('@var Klass::Type Klass::var\n'
-               '@brief This is a brief text.\n'
-               '@deprecated Deprecation message.\n'
-               '@signature Klass::Type Klass::var;\n'
-               '\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@var Klass::Type Klass::var;\n'
-                    '\n'
-                    '@brief This is a brief text.\n'
-                    '\n'
-                    '@deprecated Deprecation message.\n'
-                    '\n'
-                    '@signature Klass::Type Klass::var;\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-
-class TestTagParsing(TestDoxParserBase):
-    def testFull(self):
-        txt = ('@tag TagName\n'
-               '@brief This is a brief text.\n'
-               '@deprecated Deprecation message.\n'
-               '@headerfile <seqan/base.h>\n'
-               '@headerfile <seqan/sequence.h>\n'
-               '@signature typedef Tag<TagName_> TagName;\n'
-               '\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@tag TagName\n'
-                    '\n'
-                    '@headerfile <seqan/base.h>\n'
-                    '@headerfile <seqan/sequence.h>\n'
-                    '\n'
-                    '@brief This is a brief text.\n'
-                    '\n'
-                    '@deprecated Deprecation message.\n'
-                    '\n'
-                    '@signature typedef Tag<TagName_> TagName;\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-
-class TestEnumParsing(TestDoxParserBase):
-    def testMinimal(self):
-        txt = '@enum Enum'
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        self.assertMultiLineEqual(doc.getFormatted(), '@enum Enum\n\n')
-
-    def testFull(self):
-        txt = ('@enum Enum\n'
-               '@brief This is a brief text.\n'
-               '@deprecated Deprecation message.\n'
-               '@headerfile <seqan/base.h>\n'
-               '@headerfile <seqan/sequence.h>\n'
-               '@signature enum Enum;\n'
-               '\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@enum Enum\n'
-                    '\n'
-                    '@headerfile <seqan/base.h>\n'
-                    '@headerfile <seqan/sequence.h>\n'
-                    '\n'
-                    '@brief This is a brief text.\n'
-                    '\n'
-                    '@deprecated Deprecation message.\n'
-                    '\n'
-                    '@signature enum Enum;\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-
-class TestPageParsingWithInclude(TestDoxParserBase):
-    """Tests for the @include and @snippet command.
-
-    We use a @page for simplicity.
-    """
-
-    def testInclude(self):
-        txt = ('@page Page Title\n'
-               '@include example.cpp')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        txt = ('@page Page Title\n'
-               '\n'
-               '@include example.cpp\n\n')
-        self.assertMultiLineEqual(doc.getFormatted(), txt)
-
-    def testSnippet(self):
-        txt = ('@page Page Title\n'
-               '@snippet example.cpp Snippet Name')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        txt = ('@page Page Title\n'
-               '\n'
-               '@snippet example.cpp Snippet Name\n\n')
-        self.assertMultiLineEqual(doc.getFormatted(), txt)
-
-        
-class TestPageParsing(TestDoxParserBase):
-    def testMinimal(self):
-        txt = '@page Page Title'
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        self.assertMultiLineEqual(doc.getFormatted(), '@page Page Title\n\n')
-
-    def testSmallBody(self):
-        txt = ('@page Page Title\n'
-               'This is the body.')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        txt = ('@page Page Title\n'
-               '\n'
-               'This is the body.\n\n')
-        self.assertMultiLineEqual(doc.getFormatted(), txt)
-
-    def testFull(self):
-        txt = ('@page Page Title\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@include path/to/file#hash\n'
-               'This is another paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@page Page Title\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@include path/to/file#hash\n'
-                    '\n'
-                    'This is another paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-        
-class TestPageParsing(TestDoxParserBase):
-    def testMinimal(self):
-        txt = '@defgroup GroupName Group Title'
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        self.assertMultiLineEqual(doc.getFormatted(), '@defgroup GroupName Group Title\n\n')
-
-    def testSmallBody(self):
-        txt = ('@defgroup GroupName Group Title\n'
-               'This is the body.')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        txt = ('@defgroup GroupName Group Title\n'
-               '\n'
-               'This is the body.\n\n')
-        self.assertMultiLineEqual(doc.getFormatted(), txt)
-
-    def testFull(self):
-        txt = ('@defgroup GroupName Group Title\n'
-               '@section This is the first section.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@include path/to/file#hash\n'
-               'This is another paragraph.\n'
-               '\n'
-               '@subsection This is the first subsection.\n'
-               '\n'
-               'This is the second paragraph.\n'
-               '@see Other')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@defgroup GroupName Group Title\n'
-                    '\n'
-                    '@section This is the first section.\n'
-                    '\n'
-                    'This is the first paragraph.\n'
-                    '\n'
-                    '@include path/to/file#hash\n'
-                    '\n'
-                    'This is another paragraph.\n'
-                    '\n'
-                    '@subsection This is the first subsection.\n'
-                    '\n'
-                    'This is the second paragraph.\n'
-                    '\n'
-                    '@see Other\n'
-                    '\n')
-        self.assertMultiLineEqual(doc.getFormatted(50), expected)
-
-
-class TestLinkParsing(TestDoxParserBase):
-    def testMinimal(self):
-        txt = ('@page PageTitle Page Title\n'
-               '\n'
-               '@link PageTitle the page title @endlink.\n')
-        parser = self.parseText(txt)
-        doc = parser.documentation
-        expected = ('@page PageTitle Page Title\n'
-                    '\n'
-                    '@link PageTitle the page title @endlink.\n\n')
-        self.assertMultiLineEqual(doc.getFormatted(), expected)
-        
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/util/py_lib/seqan/dox/test/test_file_mgr.py b/util/py_lib/seqan/dox/test/test_file_mgr.py
deleted file mode 100644
index b5ed93f..0000000
--- a/util/py_lib/seqan/dox/test/test_file_mgr.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env python2
-"""Tests for the path manager."""
-
-__author__ = 'Manuel Holtgrewe <manuel.holtgrewe at fu-berlin.de>'
-
-
-import os
-import os.path
-import unittest
-
-import seqan.dox.file_mgr as file_mgr
-
-
-class Test(unittest.TestCase):
-    def setUp(self):
-        self.base_dir = os.path.dirname(os.path.realpath(__file__))
-        self.mgr = file_mgr.FileManager()
-
-    def testSimpleExample(self):
-        p = os.path.join(self.base_dir, 'test.cpp')
-        f = self.mgr.loadFile(p)
-        self.assertEqual(f.path, p)
-        self.assertEqual(f.start_markers, ['*!'])
-        c = file_mgr.Comment(6, 0, 62, 8, 2, 87, 7, 3, 'Test comment...\n',
-                             '/*!\n * Test comment...\n*/')
-        self.assertEqual(f.comments, [c])
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/util/py_lib/seqan/dox/test/test_inc_mgr.py b/util/py_lib/seqan/dox/test/test_inc_mgr.py
deleted file mode 100644
index 66fe83a..0000000
--- a/util/py_lib/seqan/dox/test/test_inc_mgr.py
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/env python2
-"""Tests for the include manager."""
-
-__author__ = 'Manuel Holtgrewe <manuel.holtgrewe at fu-berlin.de>'
-
-
-import os
-import os.path
-import unittest
-
-import seqan.dox.inc_mgr as inc_mgr
-
-
-class TestIncludeManager(unittest.TestCase):
-    def setUp(self):
-        base_dir = os.path.dirname(os.path.realpath(__file__))
-        base_dir = os.path.join(base_dir, '../', 'test_src')
-        self.mgr = inc_mgr.IncludeManager([base_dir])
-
-    def testIncludeFile(self):
-        txt = self.mgr.loadFile('example.cpp')
-        self.assert_(txt.splitlines()[0].startswith('#include <iostream>'))
-        self.assert_(txt.splitlines()[-1].endswith('}'))
-
-    def testIncludeSnippet(self):
-        txt = self.mgr.loadSnippet('example.cpp', 'Print to stdout')
-        self.assertEqual(len(txt.splitlines()), 1)
-        self.assertEqual(txt.splitlines()[0], r'    std::cout << "This is an example.\n";')
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/util/py_lib/seqan/dox/test/test_lexer.py b/util/py_lib/seqan/dox/test/test_lexer.py
deleted file mode 100644
index 2de7816..0000000
--- a/util/py_lib/seqan/dox/test/test_lexer.py
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/usr/bin/env python2
-"""Tests for the lexer module.
-
-We got the lexer itself from an external source so we do not write tests for
-it now as long as it works nicely.  However, we need some extension for
-storing the precise token locations.
-"""
-
-import unittest
-
-import seqan.dox.lexer as lexer
-
-
-class TestLexer(unittest.TestCase):
-    def testWithoutOffset(self):
-        self._testWithOffset(0, 0)
-
-    def testWithOffset(self):
-        self._testWithOffset(3, 4)
-
-    def _testWithOffset(self, line_offset, col_offset):
-        rules = (('number', r'[0-9]+'),
-                 ('word', r'\w+'))
-        txt = ('word number 0123\n'
-               'first second\n'
-               'third fourth')
-        lex = lexer.Lexer(rules, line_offset=line_offset, col_offset=col_offset)
-        lex.input(txt)
-        tokens = [t for t in lex.tokens()]
-        #for t in tokens: print t;
-
-        self.assertEqual(tokens[0].val, 'word')
-        self.assertEqual(tokens[0].type, 'word')
-        self.assertEqual(tokens[0].pos, 0)
-        self.assertEqual(tokens[0].lineno, 0 + line_offset)
-        self.assertEqual(tokens[0].column, 0 + col_offset)
-
-        self.assertEqual(tokens[1].val, 'number')
-        self.assertEqual(tokens[1].type, 'word')
-        self.assertEqual(tokens[1].pos, 5)
-        self.assertEqual(tokens[1].lineno, 0 + line_offset)
-        self.assertEqual(tokens[1].column, 5 + col_offset)
-
-        self.assertEqual(tokens[2].val, '0123')
-        self.assertEqual(tokens[2].type, 'number')
-        self.assertEqual(tokens[2].pos, 12)
-        self.assertEqual(tokens[2].lineno, 0 + line_offset)
-        self.assertEqual(tokens[2].column, 12 + col_offset)
-
-        self.assertEqual(tokens[3].val, 'first')
-        self.assertEqual(tokens[3].type, 'word')
-        self.assertEqual(tokens[3].pos, 17)
-        self.assertEqual(tokens[3].lineno, 1 + line_offset)
-        self.assertEqual(tokens[3].column, 0 + col_offset)
-
-        self.assertEqual(tokens[4].val, 'second')
-        self.assertEqual(tokens[4].type, 'word')
-        self.assertEqual(tokens[4].pos, 23)
-        self.assertEqual(tokens[4].lineno, 1 + line_offset)
-        self.assertEqual(tokens[4].column, 6 + col_offset)
-
-        self.assertEqual(tokens[5].val, 'third')
-        self.assertEqual(tokens[5].type, 'word')
-        self.assertEqual(tokens[5].pos, 30)
-        self.assertEqual(tokens[5].lineno, 2 + line_offset)
-        self.assertEqual(tokens[5].column, 0 + col_offset)
-
-        self.assertEqual(tokens[6].val, 'fourth')
-        self.assertEqual(tokens[6].type, 'word')
-        self.assertEqual(tokens[6].pos, 36)
-        self.assertEqual(tokens[6].lineno, 2 + line_offset)
-        self.assertEqual(tokens[6].column, 6 + col_offset)
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/util/py_lib/seqan/dox/test/test_proc_doc.py b/util/py_lib/seqan/dox/test/test_proc_doc.py
deleted file mode 100644
index 7d4d91e..0000000
--- a/util/py_lib/seqan/dox/test/test_proc_doc.py
+++ /dev/null
@@ -1,1390 +0,0 @@
-#!/usr/bin/env python2
-"""Tests for the proc_doc module."""
-
-import sys
-import os.path
-import unittest
-
-import seqan.dox.lexer as lexer
-import seqan.dox.dox_tokens as dox_tokens
-import seqan.dox.dox_parser as dox_parser
-import seqan.dox.proc_doc as proc_doc
-import seqan.dox.raw_doc as raw_doc
-import seqan.dox.pure as pure
-
-
-class TextNodeTest(unittest.TestCase):
-    def testRenderSimple(self):
-        parent = proc_doc.TextNode(text='This is some text.')
-        self.assertEqual(parent.toHtmlLike(), 'This is some text.')
-
-    def testRenderNested(self):
-        parent = proc_doc.TextNode(
-            type='a', attrs={'href': 'http://www.example.com'})
-        parent.addChild(proc_doc.TextNode(text='A word'))
-        parent.addChild(proc_doc.TextNode(text=' does not make a '))
-        parent.addChild(proc_doc.TextNode(text='sentence'))
-        self.assertEqual(parent.toHtmlLike(),
-                         '<a href="http://www.example.com">A word does '
-                         'not make a sentence</a>')
-
-
-class TestTextNodeConversion(unittest.TestCase):
-    def setUp(self):
-        base_dir = os.path.dirname(os.path.realpath(__file__))
-        self.lexer = lexer.Lexer(dox_tokens.LEXER_TOKENS, skip_whitespace=False)
-        self.doc_proc = proc_doc.DocProcessor(include_dirs=[base_dir],
-                                              expected_tags=pure.EXPECTED_TAGS)
-        self.conv = proc_doc.RawTextToTextNodeConverter(doc_proc=self.doc_proc,
-                                                        expected_tags=pure.EXPECTED_TAGS)
-
-    def strToTokens(self, s):
-        self.lexer.input(s)
-        tokens = [t for t in self.lexer.tokens()]
-        return tokens[:-1]
-
-    def testConversionPlain(self):
-        r = raw_doc.RawText(self.strToTokens('This is some example.'))
-        n = self.conv.run(r)
-        self.assertEqual(n.toHtmlLike(), '<div>This is some example.</div>')
-
-    def testConversionOneLevel(self):
-        r = raw_doc.RawText(self.strToTokens('This <b>is</b> some example.'))
-        n = self.conv.run(r)
-        self.assertEqual(n.toHtmlLike(), '<div>This <b>is</b> some example.</div>')
-
-    def testConversionOneLevel(self):
-        txt = 'This is a list: <ul><li>foo</li><li>ba</li></ul>'
-        r = raw_doc.RawText(self.strToTokens(txt))
-        n = self.conv.run(r)
-        self.assertEqual(n.toHtmlLike(), '<div>This is a list: <ul><li>foo</li><li>ba</li></ul></div>')
-
-    def testConversionList(self):
-        txt = '<ul><li>Lists</li><li>Lists again!</li></ul>'
-        r = raw_doc.RawText(self.strToTokens(txt))
-        n = self.conv.run(r)
-        self.assertEqual(n.toHtmlLike(), '<div>%s</div>' % txt)
-
-
-class TestConverterBase(unittest.TestCase):
-    def createDocProcessor(self):
-        base_dir = os.path.dirname(os.path.realpath(__file__))
-        return proc_doc.DocProcessor(include_dirs=[base_dir],
-                                     expected_tags=pure.EXPECTED_TAGS)
-
-    def createLexer(self, text):
-        """Create a lexer.Lexer object with the given text."""
-        lex = lexer.Lexer(dox_tokens.LEXER_TOKENS, skip_whitespace=False)
-        lex.input(text)
-        return lex
-
-    def parseText(self, text):
-        """Create a dox parser and let it parse the given text.
-
-        Return the created parser.
-        """
-        parser = dox_parser.Parser()
-        parser.parse(self.createLexer(text))
-        for e in parser.documentation.entries:
-            parser.documentation.filenames.append('dummy' + e.name.text)
-        return parser.documentation
-
-
-class TestConvertPageWithIncludes(TestConverterBase):
-    """Tests for @page with @include and @snippet commands."""
-
-    def setUp(self):
-        self.proc = self.createDocProcessor()
-        self.conv = self.proc.converters['page']
-
-    def testInclude(self):
-        txt = ('@page Page Page Title\n'
-               '@section Example\n'
-               '@include example.cpp')
-        raw_page = self.parseText(txt).entries[0]
-        proc_page = self.conv.process(raw_page)
-        txt = ('<div><h1>Example</h1><dox:code source="include" type=".cpp" path="example.cpp">#include <iostream>\n'
-               '\n'
-               'int main(int arg, char const ** argv)\n'
-               '{\n'
-               '    //![Print to stdout]\n'
-               '    std::cout << "This is an example.\\n";\n'
-               '    //![Print to stdout]\n'
-               '    return 0;\n'
-               '}\n'
-               '</dox:code></div>')
-        self.assertMultiLineEqual(proc_page.body.toHtmlLike(), txt)
-
-    def testSnippet(self):
-        txt = ('@page Page Page Title\n'
-               '@section Example\n'
-               '@snippet example.cpp Print to stdout')
-        raw_page = self.parseText(txt).entries[0]
-        proc_page = self.conv.process(raw_page)
-        txt = ('<div><h1>Example</h1><dox:code source="snippet" type=".cpp" path="example.cpp">'
-               '    std::cout << "This is an example.\\n";'
-               '</dox:code></div>')
-        self.assertMultiLineEqual(proc_page.body.toHtmlLike(), txt)
-
-
-class TestConvertPageWithLink(TestConverterBase):
-    """Tests for @page with @link command."""
-
-    def setUp(self):
-        base_dir = os.path.dirname(os.path.realpath(__file__))
-        self.proc = self.createDocProcessor()
-        self.conv = self.proc.converters['page']
-
-    def testLinkWithTitle(self):
-        txt = ('@page Page Page Title\n'
-               '\n'
-               'A link with @link OtherPage a title @endlink.\n')
-        raw_page = self.parseText(txt).entries[0]
-        proc_page = self.conv.process(raw_page)
-        txt = ('<div><p>A link with <a href="seqan:OtherPage">a title</a>.'
-               '</p></div>')
-        self.assertMultiLineEqual(proc_page.body.toHtmlLike(), txt)
-
-    def testLinkWithoutTitle(self):
-        txt = ('@page Page Page Title\n'
-               '\n'
-               'And a link without a title: @link OtherPage @endlink.\n')
-        raw_page = self.parseText(txt).entries[0]
-        proc_page = self.conv.process(raw_page)
-        txt = ('<div><p>And a link without a title: <a href="seqan:OtherPage">OtherPage</a>'
-               '.</p></div>')
-        self.assertMultiLineEqual(proc_page.body.toHtmlLike(), txt)
-
-
-class TestConvertPageWithImage(TestConverterBase):
-    """Tests for @page with <img> tag."""
-
-    def setUp(self):
-        self.proc = self.createDocProcessor()
-        self.conv = self.proc.converters['page']
-
-    def testLinkWithTitle(self):
-        txt = ('@page Page Page Title\n'
-               '\n'
-               'Here is an image: <img src="img.png" title="My image" />.\n')
-        raw_page = self.parseText(txt).entries[0]
-        proc_page = self.conv.process(raw_page)
-        txt = ('<div><p>Here is an image: <img src="img.png" '
-               'title="My image" />.</p></div>')
-        self.assertMultiLineEqual(proc_page.body.toHtmlLike(), txt)
-
-    def testLinkWithoutTitle(self):
-        txt = ('@page Page Page Title\n'
-               '\n'
-               'And a link without a title: @link OtherPage @endlink.\n')
-        raw_page = self.parseText(txt).entries[0]
-        proc_page = self.conv.process(raw_page)
-        txt = ('<div><p>And a link without a title: <a href="seqan:OtherPage">'
-               'OtherPage</a>.</p></div>')
-        self.assertMultiLineEqual(proc_page.body.toHtmlLike(), txt)
-
-
-class TestConvertPage(TestConverterBase):
-    def setUp(self):
-        self.proc = self.createDocProcessor()
-        self.conv = self.proc.converters['page']
-
-    def testConvertMinimal(self):
-        txt = '@page Page Page Title <i>italic</i>.'
-        raw_page = self.parseText(txt).entries[0]
-        proc_page = self.conv.process(raw_page)
-        self.assertEqual(proc_page.name, 'Page')
-        self.assertEqual(proc_page.kind, 'page')
-        self.assertEqual(proc_page.title, 'Page Title <i>italic</i>.')
-
-    def testConvertFull(self):
-        txt = ('@page Page Page Title\n'
-               '@brief This is the <i>very important</i> page brief.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_page = self.parseText(txt).entries[0]
-        proc_page = self.conv.process(raw_page)
-        self.assertEqual(proc_page.name, 'Page')
-        self.assertEqual(proc_page.kind, 'page')
-        self.assertEqual(proc_page.title, 'Page Title')
-        txt = '<div>This is the <i>very important</i> page brief.</div>'
-        self.assertEqual(proc_page.brief.toHtmlLike(), txt)
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_page.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_page.sees), 1)
-        self.assertEqual(proc_page.sees[0].toHtmlLike(), txt)
-
-    def testConvertWithCode(self):
-        txt = ('@page Page Page Title\n'
-               '@code{.cpp}\n'
-               'int main(int argc, char const ** argv) {\n    return 0;\n}\n'
-               '@endcode\n')
-        raw_page = self.parseText(txt).entries[0]
-        proc_page = self.conv.process(raw_page)
-        txt = ('<div>'
-               '<dox:code type=".cpp">'
-               'int main(int argc, char const ** argv) {\n    return 0;\n}'
-               '</dox:code>'
-               '</div>')
-        self.assertEqual(proc_page.body.toHtmlLike(), txt)
-
-
-class TestConvertGroup(TestConverterBase):
-    def setUp(self):
-        self.proc = self.createDocProcessor()
-        self.conv = self.proc.converters['defgroup']
-
-    def testConvertMinimal(self):
-        txt = '@defgroup Group Group Title <i>italic</i>.'
-        raw_group = self.parseText(txt).entries[0]
-        proc_group = self.conv.process(raw_group)
-        self.assertEqual(proc_group.name, 'Group')
-        self.assertEqual(proc_group.kind, 'group')
-        self.assertEqual(proc_group.title, 'Group Title <i>italic</i>.')
-
-    def testConvertFull(self):
-        txt = ('@defgroup Group Group Title\n'
-               '@brief This is the <i>very important</i> group brief.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_group = self.parseText(txt).entries[0]
-        proc_group = self.conv.process(raw_group)
-        self.assertEqual(proc_group.name, 'Group')
-        self.assertEqual(proc_group.kind, 'group')
-        self.assertEqual(proc_group.title, 'Group Title')
-        txt = '<div>This is the <i>very important</i> group brief.</div>'
-        self.assertEqual(proc_group.brief.toHtmlLike(), txt)
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_group.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_group.sees), 1)
-        self.assertEqual(proc_group.sees[0].toHtmlLike(), txt)
-
-    def testConvertWithCode(self):
-        txt = ('@defgroup Group Group Title\n'
-               '@code{.cpp}\n'
-               'int main(int argc, char const ** argv) {\n    return 0;\n}\n'
-               '@endcode\n')
-        raw_group = self.parseText(txt).entries[0]
-        proc_group = self.conv.process(raw_group)
-        txt = ('<div>'
-               '<dox:code type=".cpp">'
-               'int main(int argc, char const ** argv) {\n    return 0;\n}'
-               '</dox:code>'
-               '</div>')
-        self.assertEqual(proc_group.body.toHtmlLike(), txt)
-
-
-class TestConvertEnum(TestConverterBase):
-    def setUp(self):
-        self.proc = self.createDocProcessor()
-        self.conv = self.proc.converters['enum']
-
-    def testConvertMinimal(self):
-        txt = '@enum MyEnum My Enum'
-        raw_enum = self.parseText(txt).entries[0]
-        proc_enum = self.conv.process(raw_enum)
-        self.assertEqual(proc_enum.name, 'MyEnum')
-        self.assertEqual(proc_enum.title, 'My Enum')
-
-    def testConvertFull(self):
-        txt = ('@enum EnumName Enum Name\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> enum brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '@signature Enum Name;\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_enum = self.parseText(txt).entries[0]
-        proc_enum = self.conv.process(raw_enum)
-        self.assertEqual(proc_enum.name, 'EnumName')
-        self.assertEqual(proc_enum.title, 'Enum Name')
-        self.assertEqual(proc_enum.kind, 'enum')
-        self.assertEqual(proc_enum.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        self.assertEqual(len(proc_enum.signatures), 1)
-        self.assertEqual(proc_enum.signatures[0].toHtmlLike(), '<div>Enum Name;</div>')
-        txt = '<div>This is the <i>very important</i> enum brief.</div>'
-        self.assertEqual(proc_enum.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_enum.deprecation_msgs), 1)
-        self.assertEqual(proc_enum.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_enum.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_enum.sees), 1)
-        self.assertEqual(proc_enum.sees[0].toHtmlLike(), txt)
-
-
-class TestConvertAdaption(TestConverterBase):
-    def setUp(self):
-        self.proc = self.createDocProcessor()
-        self.conv = self.proc.converters['adaption']
-
-    def testConvertMinimal(self):
-        txt = '@adaption MyAdaption My Adaption'
-        raw_adaption = self.parseText(txt).entries[0]
-        proc_adaption = self.conv.process(raw_adaption)
-        self.assertEqual(proc_adaption.name, 'MyAdaption')
-        self.assertEqual(proc_adaption.title, 'My Adaption')
-
-    def testConvertFull(self):
-        txt = ('@adaption AdaptionName Adaption Name\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> adaption brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '@signature Adaption Name;\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_adaption = self.parseText(txt).entries[0]
-        proc_adaption = self.conv.process(raw_adaption)
-        self.assertEqual(proc_adaption.name, 'AdaptionName')
-        self.assertEqual(proc_adaption.title, 'Adaption Name')
-        self.assertEqual(proc_adaption.kind, 'adaption')
-        self.assertEqual(proc_adaption.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        self.assertEqual(len(proc_adaption.signatures), 1)
-        self.assertEqual(proc_adaption.signatures[0].toHtmlLike(), '<div>Adaption Name;</div>')
-        txt = '<div>This is the <i>very important</i> adaption brief.</div>'
-        self.assertEqual(proc_adaption.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_adaption.deprecation_msgs), 1)
-        self.assertEqual(proc_adaption.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_adaption.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_adaption.sees), 1)
-        self.assertEqual(proc_adaption.sees[0].toHtmlLike(), txt)
-
-
-class TestConvertTypedef(TestConverterBase):
-    def setUp(self):
-        self.proc = self.createDocProcessor()
-        self.conv = self.proc.converters['global_typedef']
-
-    def testConvertMinimal(self):
-        txt = '@typedef MyTypedef My Typedef'
-        raw_typedef = self.parseText(txt).entries[0]
-        proc_typedef = self.conv.process(raw_typedef)
-        self.assertEqual(proc_typedef.name, 'MyTypedef')
-        self.assertEqual(proc_typedef.title, 'My Typedef')
-
-    def testConvertFull(self):
-        txt = ('@typedef TypedefName Typedef Name\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> typedef brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '@signature typedef int Name;\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_typedef = self.parseText(txt).entries[0]
-        proc_typedef = self.conv.process(raw_typedef)
-        self.assertEqual(proc_typedef.name, 'TypedefName')
-        self.assertEqual(proc_typedef.title, 'Typedef Name')
-        self.assertEqual(proc_typedef.kind, 'global_typedef')
-        self.assertEqual(proc_typedef.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        self.assertEqual(len(proc_typedef.signatures), 1)
-        self.assertEqual(proc_typedef.signatures[0].toHtmlLike(), '<div>typedef int Name;</div>')
-        txt = '<div>This is the <i>very important</i> typedef brief.</div>'
-        self.assertEqual(proc_typedef.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_typedef.deprecation_msgs), 1)
-        self.assertEqual(proc_typedef.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_typedef.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_typedef.sees), 1)
-        self.assertEqual(proc_typedef.sees[0].toHtmlLike(), txt)
-
-
-class TestConvertConcept(TestConverterBase):
-    def setUp(self):
-        self.proc = self.createDocProcessor()
-        self.conv = self.proc.converters['concept']
-
-    def testConvertMinimal(self):
-        txt = '@concept MyConcept My Concept'
-        raw_concept = self.parseText(txt).entries[0]
-        proc_concept = self.conv.process(raw_concept)
-        self.assertEqual(proc_concept.name, 'MyConcept')
-        self.assertEqual(proc_concept.title, 'My Concept')
-        self.assertEqual(proc_concept.kind, 'concept')
-
-    def testConvertFull(self):
-        txt = ('@concept ConceptName Concept Name\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@extends Other Concept\n'
-               '@brief This is the <i>very important</i> concept brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '@signature concept Name;\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_concept = self.parseText(txt).entries[0]
-        proc_concept = self.conv.process(raw_concept)
-        self.assertEqual(proc_concept.name, 'ConceptName')
-        self.assertEqual(proc_concept.title, 'Concept Name')
-        self.assertEqual(proc_concept.kind, 'concept')
-        self.assertEqual(proc_concept.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        self.assertEqual(len(proc_concept.signatures), 1)
-        self.assertEqual(proc_concept.signatures[0].toHtmlLike(), '<div>concept Name;</div>')
-        self.assertEqual(len(proc_concept.extends), 1)
-        self.assertEqual(proc_concept.extends[0], 'Other Concept')
-        txt = '<div>This is the <i>very important</i> concept brief.</div>'
-        self.assertEqual(proc_concept.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_concept.deprecation_msgs), 1)
-        self.assertEqual(proc_concept.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_concept.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_concept.sees), 1)
-        self.assertEqual(proc_concept.sees[0].toHtmlLike(), txt)
-
-
-class TestConvertClass(TestConverterBase):
-    def setUp(self):
-        self.proc = self.createDocProcessor()
-        self.conv = self.proc.converters['class']
-
-    def testConvertMinimal(self):
-        txt = '@class MyClass My Class'
-        raw_class = self.parseText(txt).entries[0]
-        proc_class = self.conv.process(raw_class)
-        self.assertEqual(proc_class.name, 'MyClass')
-        self.assertEqual(proc_class.title, 'My Class')
-        self.assertEqual(proc_class.kind, 'class')
-
-    def testConvertFull(self):
-        txt = ('@class ClassName Class Name\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@implements A Class\n'
-               '@extends Other Class\n'
-               '@brief This is the <i>very important</i> class brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '@signature template <typename T>\n'
-               '           class Name;\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_class = self.parseText(txt).entries[0]
-        proc_class = self.conv.process(raw_class)
-        self.assertEqual(proc_class.name, 'ClassName')
-        self.assertEqual(proc_class.title, 'Class Name')
-        self.assertEqual(proc_class.kind, 'specialization')
-        self.assertEqual(proc_class.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        self.assertEqual(len(proc_class.signatures), 1)
-        self.assertEqual(proc_class.signatures[0].toHtmlLike(), '<div>template <typename T>\nclass Name;</div>')
-        self.assertEqual(len(proc_class.extends), 1)
-        self.assertEqual(proc_class.extends[0], 'Other Class')
-        self.assertEqual(len(proc_class.implements), 1)
-        self.assertEqual(proc_class.implements[0], 'A Class')
-        txt = '<div>This is the <i>very important</i> class brief.</div>'
-        self.assertEqual(proc_class.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_class.deprecation_msgs), 1)
-        self.assertEqual(proc_class.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_class.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_class.sees), 1)
-        self.assertEqual(proc_class.sees[0].toHtmlLike(), txt)
-
-
-class TestConvertTag(TestConverterBase):
-    def setUp(self):
-        self.proc = self.createDocProcessor()
-        self.conv = self.proc.converters['tag']
-
-    def testConvertMinimal(self):
-        txt = '@tag MyTag My Tag'
-        raw_tag = self.parseText(txt).entries[0]
-        proc_tag = self.conv.process(raw_tag)
-        self.assertEqual(proc_tag.name, 'MyTag')
-        self.assertEqual(proc_tag.title, 'My Tag')
-        self.assertEqual(proc_tag.kind, 'tag')
-
-    def testConvertFull(self):
-        txt = ('@tag TagName Tag Name\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> tag brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '@signature typedef Tag<TagName_> TagName;\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_tag = self.parseText(txt).entries[0]
-        proc_tag = self.conv.process(raw_tag)
-        self.assertEqual(proc_tag.name, 'TagName')
-        self.assertEqual(proc_tag.title, 'Tag Name')
-        self.assertEqual(proc_tag.kind, 'tag')
-        self.assertEqual(proc_tag.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        self.assertEqual(len(proc_tag.signatures), 1)
-        self.assertEqual(proc_tag.signatures[0].toHtmlLike(), '<div>typedef Tag<TagName_> TagName;</div>')
-        txt = '<div>This is the <i>very important</i> tag brief.</div>'
-        self.assertEqual(proc_tag.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_tag.deprecation_msgs), 1)
-        self.assertEqual(proc_tag.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_tag.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_tag.sees), 1)
-        self.assertEqual(proc_tag.sees[0].toHtmlLike(), txt)
-
-    def testConvertFullGrouped(self):
-        txt = ('@tag Group#TagName Tag Name\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> tag brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '@signature typedef Tag<TagName_> TagName;\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_tag = self.parseText(txt).entries[0]
-        proc_tag = self.conv.process(raw_tag)
-        self.assertEqual(proc_tag.name, 'Group#TagName')
-        self.assertEqual(proc_tag.title, 'Tag Name')
-        self.assertEqual(proc_tag.kind, 'grouped_tag')
-        self.assertEqual(proc_tag.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        self.assertEqual(len(proc_tag.signatures), 1)
-        self.assertEqual(proc_tag.signatures[0].toHtmlLike(), '<div>typedef Tag<TagName_> TagName;</div>')
-        txt = '<div>This is the <i>very important</i> tag brief.</div>'
-        self.assertEqual(proc_tag.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_tag.deprecation_msgs), 1)
-        self.assertEqual(proc_tag.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_tag.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_tag.sees), 1)
-        self.assertEqual(proc_tag.sees[0].toHtmlLike(), txt)
-
-
-class TestConvertFunction(TestConverterBase):
-    def setUp(self):
-        self.proc = self.createDocProcessor()
-        self.conv = self.proc.converters['global_function']
-
-    def testConvertMinimalGlobal(self):
-        txt = '@fn myFunction my Function'
-        raw_function = self.parseText(txt).entries[0]
-        proc_function = self.conv.process(raw_function)
-        self.assertEqual(proc_function.name, 'myFunction')
-        self.assertEqual(proc_function.title, 'my Function')
-        self.assertEqual(proc_function.kind, 'global_function')
-
-    def testConvertMinimalInterface(self):
-        txt = '@fn Klass#myFunction my Function'
-        raw_function = self.parseText(txt).entries[0]
-        proc_function = self.conv.process(raw_function)
-        self.assertEqual(proc_function.name, 'Klass#myFunction')
-        self.assertEqual(proc_function.title, 'my Function')
-        self.assertEqual(proc_function.kind, 'interface_function')
-
-    def testConvertMinimalMember(self):
-        txt = '@fn Klass::myFunction my Function'
-        raw_function = self.parseText(txt).entries[0]
-        proc_function = self.conv.process(raw_function)
-        self.assertEqual(proc_function.name, 'Klass::myFunction')
-        self.assertEqual(proc_function.title, 'my Function')
-        self.assertEqual(proc_function.kind, 'member_function')
-
-    def testConvertFullGlobal(self):
-        txt = ('@fn myFunction my Function\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> class brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '@signature template <typename T1>\n'
-               '           TReturn foo(T1 x);\n'
-               '@param[in] x       The parameter\n'
-               '@tparam    T1      The type of the first template parameter.\n'
-               '@return    TReturn The return value.\n'
-               '@throw     Exception The exception type.\n'
-               '@datarace  This function is thread safe.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_function = self.parseText(txt).entries[0]
-        proc_function = self.conv.process(raw_function)
-        self.assertEqual(proc_function.name, 'myFunction')
-        self.assertEqual(proc_function.title, 'my Function')
-        self.assertEqual(proc_function.kind, 'global_function')
-        self.assertEqual(proc_function.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        # params
-        self.assertEqual(len(proc_function.params), 1)
-        self.assertEqual(proc_function.params[0].name, 'x')
-        txt = '<div>The parameter</div>'
-        self.assertEqual(proc_function.params[0].desc.toHtmlLike(), txt)
-        self.assertEqual(proc_function.params[0].in_out, proc_doc.ProcParam.IN)
-        # tparams
-        self.assertEqual(len(proc_function.tparams), 1)
-        self.assertEqual(proc_function.tparams[0].type, 'T1')
-        txt = '<div>The type of the first template parameter.</div>'
-        self.assertEqual(proc_function.tparams[0].desc.toHtmlLike(), txt)
-        # returns
-        self.assertEqual(len(proc_function.returns), 1)
-        txt = '<div>The return value.</div>'
-        self.assertEqual(proc_function.returns[0].desc.toHtmlLike(), txt)
-        # throws
-        self.assertEqual(len(proc_function.throws), 1)
-        txt = '<div>The exception type.</div>'
-        self.assertEqual(proc_function.throws[0].desc.toHtmlLike(), txt)
-        # dataraces
-        self.assertEqual(len(proc_function.dataraces), 1)
-        txt = '<div>This function is thread safe.</div>'
-        self.assertEqual(proc_function.dataraces[0].desc.toHtmlLike(), txt)
-        # brief
-        txt = '<div>This is the <i>very important</i> class brief.</div>'
-        self.assertEqual(proc_function.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_function.deprecation_msgs), 1)
-        self.assertEqual(proc_function.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_function.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_function.sees), 1)
-        self.assertEqual(proc_function.sees[0].toHtmlLike(), txt)
-
-    def testConvertFullInterface(self):
-        txt = ('@fn Klass#myFunction my Function\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> class brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '@signature template <typename T1>\n'
-               '           TReturn foo(T1 x);\n'
-               '@param[in] x       The parameter\n'
-               '@tparam    T1      The type of the first template parameter.\n'
-               '@return    TReturn The return value.\n'
-               '@throw     Excpetion The exception type.\n'
-               '@datarace  This function is thread safe.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_function = self.parseText(txt).entries[0]
-        proc_function = self.conv.process(raw_function)
-        self.assertEqual(proc_function.name, 'Klass#myFunction')
-        self.assertEqual(proc_function.title, 'my Function')
-        self.assertEqual(proc_function.kind, 'interface_function')
-        self.assertEqual(proc_function.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        # params
-        self.assertEqual(len(proc_function.params), 1)
-        self.assertEqual(proc_function.params[0].name, 'x')
-        txt = '<div>The parameter</div>'
-        self.assertEqual(proc_function.params[0].desc.toHtmlLike(), txt)
-        self.assertEqual(proc_function.params[0].in_out, proc_doc.ProcParam.IN)
-        # tparams
-        self.assertEqual(len(proc_function.tparams), 1)
-        self.assertEqual(proc_function.tparams[0].type, 'T1')
-        txt = '<div>The type of the first template parameter.</div>'
-        self.assertEqual(proc_function.tparams[0].desc.toHtmlLike(), txt)
-        # returns
-        self.assertEqual(len(proc_function.returns), 1)
-        txt = '<div>The return value.</div>'
-        self.assertEqual(proc_function.returns[0].desc.toHtmlLike(), txt)
-        # throws
-        self.assertEqual(len(proc_function.throws), 1)
-        txt = '<div>The exception type.</div>'
-        self.assertEqual(proc_function.throws[0].desc.toHtmlLike(), txt)
-        # dataraces
-        self.assertEqual(len(proc_function.dataraces), 1)
-        txt = '<div>This function is thread safe.</div>'
-        self.assertEqual(proc_function.dataraces[0].desc.toHtmlLike(), txt)
-        # brief
-        txt = '<div>This is the <i>very important</i> class brief.</div>'
-        self.assertEqual(proc_function.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_function.deprecation_msgs), 1)
-        self.assertEqual(proc_function.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_function.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_function.sees), 1)
-        self.assertEqual(proc_function.sees[0].toHtmlLike(), txt)
-
-    def testConvertFullMember(self):
-        txt = ('@fn Klass::myFunction my Function\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> class brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '@signature template <typename T1>\n'
-               '           TReturn foo(T1 x);\n'
-               '@param[in] x       The parameter\n'
-               '@tparam    T1      The type of the first template parameter.\n'
-               '@return    TReturn The return value.\n'
-               '@throw     Excpetion The exception type.\n'
-               '@datarace This function is thread safe.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_function = self.parseText(txt).entries[0]
-        proc_function = self.conv.process(raw_function)
-        self.assertEqual(proc_function.name, 'Klass::myFunction')
-        self.assertEqual(proc_function.title, 'my Function')
-        self.assertEqual(proc_function.kind, 'member_function')
-        self.assertEqual(proc_function.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        # params
-        self.assertEqual(len(proc_function.params), 1)
-        self.assertEqual(proc_function.params[0].name, 'x')
-        txt = '<div>The parameter</div>'
-        self.assertEqual(proc_function.params[0].desc.toHtmlLike(), txt)
-        self.assertEqual(proc_function.params[0].in_out, proc_doc.ProcParam.IN)
-        # tparams
-        self.assertEqual(len(proc_function.tparams), 1)
-        self.assertEqual(proc_function.tparams[0].type, 'T1')
-        txt = '<div>The type of the first template parameter.</div>'
-        self.assertEqual(proc_function.tparams[0].desc.toHtmlLike(), txt)
-        # returns
-        self.assertEqual(len(proc_function.returns), 1)
-        txt = '<div>The return value.</div>'
-        self.assertEqual(proc_function.returns[0].desc.toHtmlLike(), txt)
-        # throws
-        self.assertEqual(len(proc_function.throws), 1)
-        txt = '<div>The exception type.</div>'
-        self.assertEqual(proc_function.throws[0].desc.toHtmlLike(), txt)
-        # dataraces
-        self.assertEqual(len(proc_function.dataraces), 1)
-        txt = '<div>This function is thread safe.</div>'
-        self.assertEqual(proc_function.dataraces[0].desc.toHtmlLike(), txt)
-        # brief
-        txt = '<div>This is the <i>very important</i> class brief.</div>'
-        self.assertEqual(proc_function.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_function.deprecation_msgs), 1)
-        self.assertEqual(proc_function.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_function.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_function.sees), 1)
-        self.assertEqual(proc_function.sees[0].toHtmlLike(), txt)
-
-
-class TestConvertMacro(TestConverterBase):
-    def setUp(self):
-        self.proc = self.createDocProcessor()
-        self.conv = self.proc.converters['macro']
-
-    def testConvertMinimalGlobal(self):
-        txt = '@macro MACRO macro title'
-        raw_macro = self.parseText(txt).entries[0]
-        proc_macro = self.conv.process(raw_macro)
-        self.assertEqual(proc_macro.name, 'MACRO')
-        self.assertEqual(proc_macro.title, 'macro title')
-        self.assertEqual(proc_macro.kind, 'macro')
-
-    def testConvertMinimalGrouped(self):
-        txt = '@fn Group#MACRO macro title'
-        raw_macro = self.parseText(txt).entries[0]
-        proc_macro = self.conv.process(raw_macro)
-        self.assertEqual(proc_macro.name, 'Group#MACRO')
-        self.assertEqual(proc_macro.title, 'macro title')
-        self.assertEqual(proc_macro.kind, 'grouped_macro')
-
-    def testConvertFullGlobal(self):
-        txt = ('@macro MACRO macro title\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> macro brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '@signature MACRO(param, param2)\n'
-               '@param param  The parameter.\n'
-               '@param param2 The second parameter.\n'
-               '@return    TReturn The return value.\n'
-               '@throw     Exception The exception type.\n'
-               '@datarace This function is not thread safe.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_macro = self.parseText(txt).entries[0]
-        proc_macro = self.conv.process(raw_macro)
-        self.assertEqual(proc_macro.name, 'MACRO')
-        self.assertEqual(proc_macro.title, 'macro title')
-        self.assertEqual(proc_macro.kind, 'macro')
-        self.assertEqual(proc_macro.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        # params
-        self.assertEqual(len(proc_macro.params), 2)
-        self.assertEqual(proc_macro.params[0].name, 'param')
-        txt = '<div>The parameter.</div>'
-        self.assertEqual(proc_macro.params[0].desc.toHtmlLike(), txt)
-        self.assertEqual(proc_macro.params[0].in_out, None)
-        self.assertEqual(proc_macro.params[1].name, 'param2')
-        txt = '<div>The second parameter.</div>'
-        self.assertEqual(proc_macro.params[1].desc.toHtmlLike(), txt)
-        self.assertEqual(proc_macro.params[1].in_out, None)
-        # returns
-        self.assertEqual(len(proc_macro.returns), 1)
-        txt = '<div>The return value.</div>'
-        self.assertEqual(proc_macro.returns[0].desc.toHtmlLike(), txt)
-        # throws
-        self.assertEqual(len(proc_macro.throws), 1)
-        txt = '<div>The exception type.</div>'
-        self.assertEqual(proc_macro.throws[0].desc.toHtmlLike(), txt)
-        # dataraces
-        self.assertEqual(len(proc_macro.dataraces), 1)
-        txt = '<div>This function is not thread safe.</div>'
-        self.assertEqual(proc_macro.dataraces[0].desc.toHtmlLike(), txt)
-        # brief
-        txt = '<div>This is the <i>very important</i> macro brief.</div>'
-        self.assertEqual(proc_macro.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_macro.deprecation_msgs), 1)
-        self.assertEqual(proc_macro.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_macro.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_macro.sees), 1)
-        self.assertEqual(proc_macro.sees[0].toHtmlLike(), txt)
-
-    def testConvertFullGrouped(self):
-        txt = ('@macro Group#MACRO macro title\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> class brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '@signature MACRO(param)\n'
-               '@param param The parameter\n'
-               '@return    TReturn The return value.\n'
-               '@throw     Exception The exception type.\n'
-               '@datarace This function is not thread safe.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_macro = self.parseText(txt).entries[0]
-        proc_macro = self.conv.process(raw_macro)
-        self.assertEqual(proc_macro.name, 'Group#MACRO')
-        self.assertEqual(proc_macro.title, 'macro title')
-        self.assertEqual(proc_macro.kind, 'grouped_macro')
-        self.assertEqual(proc_macro.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        # params
-        self.assertEqual(len(proc_macro.params), 1)
-        self.assertEqual(proc_macro.params[0].name, 'param')
-        txt = '<div>The parameter</div>'
-        self.assertEqual(proc_macro.params[0].desc.toHtmlLike(), txt)
-        self.assertEqual(proc_macro.params[0].in_out, None)
-        # returns
-        self.assertEqual(len(proc_macro.returns), 1)
-        txt = '<div>The return value.</div>'
-        self.assertEqual(proc_macro.returns[0].desc.toHtmlLike(), txt)
-        # throws
-        self.assertEqual(len(proc_macro.throws), 1)
-        txt = '<div>The exception type.</div>'
-        self.assertEqual(proc_macro.throws[0].desc.toHtmlLike(), txt)
-        # dataraces
-        self.assertEqual(len(proc_macro.dataraces), 1)
-        txt = '<div>This function is not thread safe.</div>'
-        self.assertEqual(proc_macro.dataraces[0].desc.toHtmlLike(), txt)
-        # brief
-        txt = '<div>This is the <i>very important</i> class brief.</div>'
-        self.assertEqual(proc_macro.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_macro.deprecation_msgs), 1)
-        self.assertEqual(proc_macro.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_macro.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_macro.sees), 1)
-        self.assertEqual(proc_macro.sees[0].toHtmlLike(), txt)
-
-
-class TestConvertMetafunction(TestConverterBase):
-    def setUp(self):
-        self.proc = self.createDocProcessor()
-        self.conv = self.proc.converters['global_metafunction']
-
-    def testConvertMinimalGlobal(self):
-        txt = '@mfn Metafunktion metafunction title'
-        raw_function = self.parseText(txt).entries[0]
-        proc_function = self.conv.process(raw_function)
-        self.assertEqual(proc_function.name, 'Metafunktion')
-        self.assertEqual(proc_function.title, 'metafunction title')
-        self.assertEqual(proc_function.kind, 'global_metafunction')
-
-    def testConvertMinimalInterface(self):
-        txt = '@mfn Klass#Metafunktion metafunction title'
-        raw_function = self.parseText(txt).entries[0]
-        proc_function = self.conv.process(raw_function)
-        self.assertEqual(proc_function.name, 'Klass#Metafunktion')
-        self.assertEqual(proc_function.title, 'metafunction title')
-        self.assertEqual(proc_function.kind, 'interface_metafunction')
-
-    def testConvertFullGlobal(self):
-        txt = ('@mfn Metafunktion metafunction title\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> class brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '@signature template <typename T1>\n'
-               '           Metafunktion<T1>::Type;\n'
-               '@tparam    T1   The type of the first template parameter.\n'
-               '@return    Type The return type.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_metafunction = self.parseText(txt).entries[0]
-        proc_metafunction = self.conv.process(raw_metafunction)
-        self.assertEqual(proc_metafunction.name, 'Metafunktion')
-        self.assertEqual(proc_metafunction.title, 'metafunction title')
-        self.assertEqual(proc_metafunction.kind, 'global_metafunction')
-        self.assertEqual(proc_metafunction.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        # tparams
-        self.assertEqual(len(proc_metafunction.tparams), 1)
-        self.assertEqual(proc_metafunction.tparams[0].type, 'T1')
-        txt = '<div>The type of the first template parameter.</div>'
-        self.assertEqual(proc_metafunction.tparams[0].desc.toHtmlLike(), txt)
-        # returns
-        self.assertEqual(len(proc_metafunction.returns), 1)
-        txt = '<div>The return type.</div>'
-        self.assertEqual(proc_metafunction.returns[0].desc.toHtmlLike(), txt)
-        # brief
-        txt = '<div>This is the <i>very important</i> class brief.</div>'
-        self.assertEqual(proc_metafunction.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_metafunction.deprecation_msgs), 1)
-        self.assertEqual(proc_metafunction.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_metafunction.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_metafunction.sees), 1)
-        self.assertEqual(proc_metafunction.sees[0].toHtmlLike(), txt)
-
-    def testConvertFullInterface(self):
-        txt = ('@fn Klass#Metafunktion metafunction title\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> class brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '@signature template <typename T1>\n'
-               '           Metafunktion<T1>::Type;\n'
-               '@tparam T1   The type of the first template parameter.\n'
-               '@return Type The return type.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_metafunction = self.parseText(txt).entries[0]
-        proc_metafunction = self.conv.process(raw_metafunction)
-        self.assertEqual(proc_metafunction.name, 'Klass#Metafunktion')
-        self.assertEqual(proc_metafunction.title, 'metafunction title')
-        self.assertEqual(proc_metafunction.kind, 'interface_metafunction')
-        # tparams
-        self.assertEqual(len(proc_metafunction.tparams), 1)
-        self.assertEqual(proc_metafunction.tparams[0].type, 'T1')
-        txt = '<div>The type of the first template parameter.</div>'
-        self.assertEqual(proc_metafunction.tparams[0].desc.toHtmlLike(), txt)
-        # returns
-        self.assertEqual(len(proc_metafunction.returns), 1)
-        txt = '<div>The return type.</div>'
-        self.assertEqual(proc_metafunction.returns[0].desc.toHtmlLike(), txt)
-        # brief
-        txt = '<div>This is the <i>very important</i> class brief.</div>'
-        self.assertEqual(proc_metafunction.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_metafunction.deprecation_msgs), 1)
-        self.assertEqual(proc_metafunction.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_metafunction.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_metafunction.sees), 1)
-        self.assertEqual(proc_metafunction.sees[0].toHtmlLike(), txt)
-
-
-class TestConvertVariable(TestConverterBase):
-    def setUp(self):
-        self.proc = self.createDocProcessor()
-        self.conv = self.proc.converters['variable']
-
-    def testConvertMinimalGlobal(self):
-        txt = '@var Type myVar'
-        raw_function = self.parseText(txt).entries[0]
-        proc_function = self.conv.process(raw_function)
-        self.assertEqual(proc_function.name, 'myVar')
-        self.assertEqual(proc_function.title, 'myVar')
-        self.assertEqual(proc_function.type, 'Type')
-        self.assertEqual(proc_function.kind, 'variable')
-
-    def testConvertMinimalMember(self):
-        txt = '@var Type Klass::myVar'
-        raw_function = self.parseText(txt).entries[0]
-        doc = proc_doc.ProcDoc
-        proc_function = self.conv.process(raw_function)
-        self.assertEqual(proc_function.name, 'Klass::myVar')
-        self.assertEqual(proc_function.title, 'Klass::myVar')
-        self.assertEqual(proc_function.type, 'Type')
-        self.assertEqual(proc_function.kind, 'member_variable')
-
-    def testConvertFullGlobal(self):
-        txt = ('@var Type myVar\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> variable brief.\n'
-               '@signature Type myVar;\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_variable = self.parseText(txt).entries[0]
-        proc_variable = self.conv.process(raw_variable)
-        self.assertEqual(proc_variable.name, 'myVar')
-        self.assertEqual(proc_variable.title, 'myVar')
-        self.assertEqual(proc_variable.type, 'Type')
-        self.assertEqual(proc_variable.kind, 'variable')
-        # brief
-        txt = '<div>This is the <i>very important</i> variable brief.</div>'
-        self.assertEqual(proc_variable.brief.toHtmlLike(), txt)
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_variable.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_variable.sees), 1)
-        self.assertEqual(proc_variable.sees[0].toHtmlLike(), txt)
-
-
-    def testConvertFullMember(self):
-        txt = ('@var Type Klass::myVar\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> variable brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '@signature Type myVar;\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_variable = self.parseText(txt).entries[0]
-        proc_variable = self.conv.process(raw_variable)
-        self.assertEqual(proc_variable.name, 'Klass::myVar')
-        self.assertEqual(proc_variable.title, 'Klass::myVar')
-        self.assertEqual(proc_variable.type, 'Type')
-        self.assertEqual(proc_variable.kind, 'member_variable')
-        self.assertEqual(proc_variable.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        # brief
-        txt = '<div>This is the <i>very important</i> variable brief.</div>'
-        self.assertEqual(proc_variable.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_variable.deprecation_msgs), 1)
-        self.assertEqual(proc_variable.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_variable.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_variable.sees), 1)
-        self.assertEqual(proc_variable.sees[0].toHtmlLike(), txt)
-
-    def testConvertFullEnumValue(self):
-        txt = ('@var Enum CONSTANT\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> value brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_variable = self.parseText(txt).entries[0]
-        proc_variable = self.conv.process(raw_variable)
-        self.assertEqual(proc_variable.name, 'CONSTANT')
-        self.assertEqual(proc_variable.title, 'CONSTANT')
-        self.assertEqual(proc_variable.type, 'Enum')
-        self.assertEqual(proc_variable.kind, 'variable')
-        self.assertEqual(proc_variable.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        # brief
-        txt = '<div>This is the <i>very important</i> value brief.</div>'
-        self.assertEqual(proc_variable.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_variable.deprecation_msgs), 1)
-        self.assertEqual(proc_variable.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_variable.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_variable.sees), 1)
-        self.assertEqual(proc_variable.sees[0].toHtmlLike(), txt)
-
-    def testConvertFullMemberEnumValue(self):
-        txt = ('@var Klass::Enum Klass::CONSTANT\n'
-               '@headerfile <seqan/header.h>\n'
-               '@headerfile <seqan/header2.h>\n'
-               '@brief This is the <i>very important</i> value brief.\n'
-               '@deprecated Deprecation msg.\n'
-               '\n'
-               'This is the first paragraph.\n'
-               '@section First <em>heading</em>\n'
-               '\n'
-               'Second paragraph\n'
-               '@see Link Target\n')
-        raw_variable = self.parseText(txt).entries[0]
-        proc_variable = self.conv.process(raw_variable)
-        self.assertEqual(proc_variable.name, 'Klass::CONSTANT')
-        self.assertEqual(proc_variable.title, 'Klass::CONSTANT')
-        self.assertEqual(proc_variable.type, 'Klass::Enum')
-        self.assertEqual(proc_variable.kind, 'member_variable')
-        self.assertEqual(proc_variable.headerfiles, ['<seqan/header.h>', '<seqan/header2.h>'])
-        # brief
-        txt = '<div>This is the <i>very important</i> value brief.</div>'
-        self.assertEqual(proc_variable.brief.toHtmlLike(), txt)
-        self.assertEqual(len(proc_variable.deprecation_msgs), 1)
-        self.assertEqual(proc_variable.deprecation_msgs[0].toHtmlLike(), '<div>Deprecation msg.</div>')
-        txt = ('<div>'
-               '<p>This is the first paragraph.</p>'
-               '<h1>First <em>heading</em></h1>'
-               '<p>Second paragraph</p>'
-               '</div>'
-               )
-        self.assertEqual(proc_variable.body.toHtmlLike(), txt)
-        txt = '<a href="seqan:Link Target">Link Target</a>'
-        self.assertEqual(len(proc_variable.sees), 1)
-        self.assertEqual(proc_variable.sees[0].toHtmlLike(), txt)
-
-
-class TestDocProcessorInheritance(TestConverterBase):
-    def setUp(self):
-        self.proc = self.createDocProcessor()
-
-    def testConceptInheritance(self):
-        txt = ('@concept ConceptA1\n'
-               '@brief Concept A1\n'
-               '\n'
-               '@concept ConceptA2\n'
-               '@brief Concept A2\n'
-               '\n'
-               '@concept ConceptB\n'
-               '@brief Concept B\n'
-               '@extends ConceptA1\n'
-               '@extends ConceptA2\n'
-               '\n'
-               '@concept ConceptC\n'
-               '@brief Concept C\n'
-               '@extends ConceptB\n')
-        raw_doc = self.parseText(txt)
-        proc_doc = self.proc.run(raw_doc)
-        concept_a1 = proc_doc.top_level_entries['ConceptA1']
-        self.assertEqual(concept_a1.all_extended, set())
-        self.assertEqual(concept_a1.all_extending, set(['ConceptB', 'ConceptC']))
-        concept_a2 = proc_doc.top_level_entries['ConceptA2']
-        self.assertEqual(concept_a2.all_extended, set())
-        self.assertEqual(concept_a2.all_extending, set(['ConceptB', 'ConceptC']))
-        concept_b = proc_doc.top_level_entries['ConceptB']
-        self.assertEqual(concept_b.all_extended, set(['ConceptA1', 'ConceptA2']))
-        self.assertEqual(concept_b.all_extending, set(['ConceptC']))
-        concept_c = proc_doc.top_level_entries['ConceptC']
-        self.assertEqual(concept_c.all_extended, set(['ConceptA1', 'ConceptA2', 'ConceptB']))
-        self.assertEqual(concept_c.all_extending, set([]))
-
-    def testClassInheritance(self):
-        txt = ('@class ClassA\n'
-               '@brief Brief A\n'
-               '@signature class A\n'
-               '\n'
-               '@class ClassB\n'
-               '@brief Brief B\n'
-               '@signature class B\n'
-               '@extends ClassA\n'
-               '\n'
-               '@class ClassC\n'
-               '@brief Brief C\n'
-               '@signature class C\n'
-               '@extends ClassB\n')
-        raw_doc = self.parseText(txt)
-        proc_doc = self.proc.run(raw_doc)
-        class_a = proc_doc.top_level_entries['ClassA']
-        self.assertEqual(class_a.all_extended, set())
-        self.assertEqual(class_a.all_extending, set(['ClassB', 'ClassC']))
-        class_b = proc_doc.top_level_entries['ClassB']
-        self.assertEqual(class_b.all_extended, set(['ClassA']))
-        self.assertEqual(class_b.all_extending, set(['ClassC']))
-        class_c = proc_doc.top_level_entries['ClassC']
-        self.assertEqual(class_c.all_extended, set(['ClassA', 'ClassB']))
-
-    def testConceptClassInheritance(self):
-        txt = ('@concept ConceptA\n'
-               '@brief Concept A\n'
-               '@signature concept A;\n'
-               '\n'
-               '@concept ConceptB\n'
-               '@brief Concept B\n'
-               '@signature concept B;\n'
-               '@extends ConceptA\n'
-               '\n'
-               '@class ClassA\n'
-               '@brief Class A\n'
-               '@signature class A\n'
-               '@implements ConceptB\n'
-               '\n'
-               '@class ClassB\n'
-               '@brief Class B\n'
-               '@signature class B\n'
-               '@extends ClassA\n'
-               '\n'
-               '@class ClassC\n'
-               '@brief Class C\n'
-               '@signature class C\n'
-               '@extends ClassB\n')
-        raw_doc = self.parseText(txt)
-        proc_doc = self.proc.run(raw_doc)
-        concept_a = proc_doc.top_level_entries['ConceptA']
-        self.assertEqual(concept_a.all_extended, set())
-        self.assertEqual(concept_a.all_extending, set(['ConceptB']))
-        self.assertEqual(concept_a.all_implementing, set(['ClassA', 'ClassB', 'ClassC']))
-        concept_b = proc_doc.top_level_entries['ConceptB']
-        self.assertEqual(concept_b.all_extended, set(['ConceptA']))
-        self.assertEqual(concept_b.all_extending, set([]))
-        self.assertEqual(concept_b.all_implementing, set(['ClassA', 'ClassB', 'ClassC']))
-        class_a = proc_doc.top_level_entries['ClassA']
-        self.assertEqual(class_a.all_extended, set())
-        self.assertEqual(class_a.all_extending, set(['ClassB', 'ClassC']))
-        self.assertEqual(class_a.all_implemented, set(['ConceptA', 'ConceptB']))
-        class_b = proc_doc.top_level_entries['ClassB']
-        self.assertEqual(class_b.all_extended, set(['ClassA']))
-        self.assertEqual(class_b.all_extending, set(['ClassC']))
-        self.assertEqual(class_b.all_implemented, set(['ConceptA', 'ConceptB']))
-        class_c = proc_doc.top_level_entries['ClassC']
-        self.assertEqual(class_c.all_extended, set(['ClassA', 'ClassB']))
-        self.assertEqual(class_c.all_extending, set([]))
-        self.assertEqual(class_c.all_implemented, set(['ConceptA', 'ConceptB']))
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/util/py_lib/seqan/dox/test/test_raw_doc.py b/util/py_lib/seqan/dox/test/test_raw_doc.py
deleted file mode 100644
index 058e8a8..0000000
--- a/util/py_lib/seqan/dox/test/test_raw_doc.py
+++ /dev/null
@@ -1,624 +0,0 @@
-#!/usr/bin/env python2
-"""Tests for the raw_doc module."""
-
-__author__ = 'Manuel Holtgrewe <manuel.holtgrewe at fu-berlin.de>'
-
-# TODO(holtgrew): Implement test for Class, Function, Metafunction, Macro, Page, Group, Tag.
-
-import unittest
-
-import seqan.dox.lexer as lexer
-import seqan.dox.raw_doc as raw_doc
-
-
-class TestDoxFormatter(unittest.TestCase):
-    def setUp(self):
-        self.fmt = raw_doc.DoxFormatter(50)
-        self.txt = ('This is a quite long string that is used to determine '
-                    'whether the formatter wraps correctly.\n')
-
-    def testFormatParagraph(self):
-        res = self.fmt.formatParagraph(self.txt)
-        txt = ('This is a quite long string that is used to\n'
-               'determine whether the formatter wraps correctly.\n')
-        self.assertMultiLineEqual(res, txt)
-
-    def testFormatCommandNoLeading(self):
-        res = self.fmt.formatCommand('cmd', self.txt)
-        txt = ('@cmd This is a quite long string that is used to\n'
-               '     determine whether the formatter wraps\n'
-               '     correctly.\n')
-        self.assertMultiLineEqual(res, txt)
-
-    def testFormatCommandLeading(self):
-        res = self.fmt.formatCommand('cmd', self.txt, 'leading')
-        txt = ('@cmd leading This is a quite long string that is\n'
-               '             used to determine whether the\n'
-               '             formatter wraps correctly.\n')
-        self.assertMultiLineEqual(res, txt)
-
-
-class TestText(unittest.TestCase):
-    def testConstructionWithTokens(self):
-        tokens = [lexer.Token('WORD', 'test', 0, 0, 0),
-                  lexer.Token('SPACE', ' ', 0, 0, 0),
-                  lexer.Token('WORD', 'foo', 0, 0, 0)]
-        text = raw_doc.RawText(tokens)
-        self.assertEqual(text.tokens, tokens)
-        self.failIf(text.empty)
-
-    def testConstructionWithoutTokens(self):
-        text = raw_doc.RawText()
-        self.assertEqual(text.tokens, [])
-        self.assert_(text.empty)
-
-
-class TestDocumentation(unittest.TestCase):
-    # TODO(holtgrew): Write more tests!
-
-    def testMerge(self):
-        self.page_token = lexer.Token('COMMAND_PAGE', '@page', 0, 0, 0)
-        doc_left = raw_doc.RawDoc()
-        page_left = raw_doc.RawPage(self.page_token)
-        doc_left.entries.append(page_left)
-        doc_right = raw_doc.RawDoc()
-        page_right = raw_doc.RawPage(self.page_token)
-        doc_right.entries.append(page_right)
-        doc_left.merge(doc_right)
-
-        self.assertEqual(len(doc_left.entries), 2)
-        self.assertEqual(len(doc_right.entries), 1)
-        self.assertEqual(doc_left.entries[0], page_left)
-        self.assertEqual(doc_left.entries[1], page_right)
-
-
-class TestEntry(unittest.TestCase):
-    def setUp(self):
-        self.tok = lexer.Token('WORD', 'entry', 0, 0, 0)
-        self.brief_tok = lexer.Token('WORD', 'This is brief.', 0, 0, 0)
-        self.name_tok = lexer.Token('WORD', 'Concept', 0, 0, 0)
-        self.title_tok = lexer.Token('WORD', 'Concept Title', 0, 0, 0)
-        self.tok_see = lexer.Token('WORD', 'See', 0, 0, 0)
-
-    def testInitialization(self):
-        entry = raw_doc.RawEntry(self.tok)
-        self.assertEqual(entry.name.text, raw_doc.RawText().text)
-        self.assertEqual(len(entry.briefs), 0)
-        self.assertEqual(entry.body, raw_doc.RawBody())
-        self.assertEqual(entry.sees, [])
-        self.assertEqual(entry.command, '<entry>')
-
-    def testAddBrief(self):
-        entry = raw_doc.RawEntry(self.tok)
-        self.assertEqual(entry.briefs, [])
-        b = raw_doc.RawBrief(self.brief_tok, raw_doc.RawText())
-        entry.addBrief(b)
-        self.assertEqual(len(entry.briefs), 1)
-        self.assertEqual(entry.briefs, [b])
-
-    def testAddSee(self):
-        entry = raw_doc.RawEntry(self.tok_see)
-        self.assertEqual(entry.sees, [])
-        s = raw_doc.RawSee(self.tok_see, raw_doc.RawText())
-        entry.addSee(s)
-        self.assertEqual(len(entry.sees), 1)
-        self.assertEqual(entry.sees, [s])
-
-    def testEntryTypes(self):
-        expected = ('concept', 'class', 'function', 'metafunction', 'page',
-                    'enum', 'var', 'tag', 'defgroup', 'macro', 'enum_value')
-        self.assertEqual(raw_doc.RawEntry.entryTypes(), expected)
-
-    def testAddParagraph(self):
-        entry = raw_doc.RawEntry(self.tok)
-        self.assertEqual(entry.body, raw_doc.RawBody())
-        p = raw_doc.RawParagraph(self.tok)
-        entry.addParagraph(p)
-        b = raw_doc.RawBody()
-        b.addParagraph(p)
-        self.assertEqual(entry.body, b)
-
-    def testGetFormatted(self):
-        b = raw_doc.RawBrief(self.brief_tok, raw_doc.RawText([self.brief_tok]))
-        entry = raw_doc.RawEntry(self.brief_tok, [b])
-        entry.name = raw_doc.RawText([self.name_tok])
-        entry.title = raw_doc.RawText([self.title_tok])
-        entry.sees = [raw_doc.RawSee(self.tok_see, raw_doc.RawText([self.tok_see]))]
-        formatter = raw_doc.DoxFormatter()
-        msg = ('@<entry> Concept Concept Title\n\n'
-               '@brief This is brief.\n\n'
-               '@see See\n\n')
-        self.assertMultiLineEqual(entry.getFormatted(formatter), msg)
-
-
-class CodeEntryTest(unittest.TestCase):
-    def setUp(self):
-        self.code_tok = lexer.Token('COMMAND_CODE', '@code', 0, 0, 0)
-        self.sig_tok = lexer.Token('COMMAND_SIGNATURE', '@signature', 0, 0, 0)
-        self.brief_tok = lexer.Token('WORD', 'This is brief.', 0, 0, 0)
-        self.name_tok = lexer.Token('WORD', 'Concept', 0, 0, 0)
-        self.title_tok = lexer.Token('WORD', 'Concept Title', 0, 0, 0)
-        self.tok_see = lexer.Token('WORD', 'See', 0, 0, 0)
-        self.tok_sig = lexer.Token('WORD', 'payload', 0, 0, 0)
-
-    def testCreation(self):
-        code_entry = raw_doc.RawCodeEntry(self.code_tok)
-        self.assertEqual(code_entry.signatures, [])
-        self.assertEqual(code_entry.command, '<code entry>')
-
-    def testAddSignature(self):
-        code_entry = raw_doc.RawCodeEntry(self.code_tok)
-        s = raw_doc.RawSignature(self.sig_tok, raw_doc.RawText(
-            [lexer.Token('WORD', 'payload', 0, 0, 0)]))
-        code_entry.addSignature(s)
-
-    def testGetFormatted(self):
-        code_entry = raw_doc.RawCodeEntry(self.code_tok)
-        b = raw_doc.RawBrief(self.brief_tok, raw_doc.RawText([self.brief_tok]))
-        code_entry = raw_doc.RawCodeEntry(self.code_tok, [b])
-        code_entry.name = raw_doc.RawText([self.name_tok])
-        code_entry.title = raw_doc.RawText([self.title_tok])
-        code_entry.sees = [raw_doc.RawSee(self.tok_see, raw_doc.RawText([self.tok_see]))]
-        s = raw_doc.RawSignature(self.tok_sig, raw_doc.RawText([self.tok_sig]))
-        code_entry.addSignature(s)
-        formatter = raw_doc.DoxFormatter()
-        txt = ('@<code entry> Concept Concept Title\n\n'
-               '@brief This is brief.\n\n'
-               '@signature payload\n\n'
-               '@see See\n\n')
-        self.assertMultiLineEqual(code_entry.getFormatted(formatter), txt)
-
-
-class ConceptTest(unittest.TestCase):
-    def setUp(self):
-        self.brief_tok = lexer.Token('WORD', 'This is brief.', 0, 0, 0)
-        self.name_tok = lexer.Token('WORD', 'Concept', 0, 0, 0)
-        self.title_tok = lexer.Token('WORD', 'Concept Title', 0, 0, 0)
-        self.tok_see = lexer.Token('WORD', 'See', 0, 0, 0)
-        self.tok_sig = lexer.Token('WORD', 'payload', 0, 0, 0)
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testGetFormatted(self):
-        b = raw_doc.RawBrief(self.brief_tok, raw_doc.RawText([self.brief_tok]))
-        code_entry = raw_doc.RawConcept(self.brief_tok, [b])
-        code_entry.name = raw_doc.RawText([self.name_tok])
-        code_entry.title = raw_doc.RawText([self.title_tok])
-        code_entry.sees = [raw_doc.RawSee(self.tok_see, raw_doc.RawText([self.tok_see]))]
-        s = raw_doc.RawSignature(self.tok_sig, raw_doc.RawText([self.tok_sig]))
-        code_entry.addSignature(s)
-        txt = ('@concept Concept Concept Title\n\n'
-               '@brief This is brief.\n\n'
-               '@signature payload\n\n'
-               '@see See\n\n')
-        self.assertMultiLineEqual(code_entry.getFormatted(self.formatter), txt)
-
-
-class EnumTest(unittest.TestCase):
-    def setUp(self):
-        self.brief_tok = lexer.Token('WORD', 'This is brief.', 0, 0, 0)
-        self.name_tok = lexer.Token('WORD', 'Enum', 0, 0, 0)
-        self.title_tok = lexer.Token('WORD', 'Enum Title', 0, 0, 0)
-        self.tok_see = lexer.Token('WORD', 'See', 0, 0, 0)
-        self.tok_sig = lexer.Token('WORD', 'payload', 0, 0, 0)
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testGetFormatted(self):
-        b = raw_doc.RawBrief(self.brief_tok, raw_doc.RawText([self.brief_tok]))
-        code_entry = raw_doc.RawEnum(self.brief_tok, [b])
-        code_entry.name = raw_doc.RawText([self.name_tok])
-        code_entry.title = raw_doc.RawText([self.title_tok])
-        code_entry.sees = [raw_doc.RawSee(self.tok_see, raw_doc.RawText([self.tok_see]))]
-        s = raw_doc.RawSignature(self.tok_sig, raw_doc.RawText([self.tok_sig]))
-        code_entry.addSignature(s)
-        txt = ('@enum Enum Enum Title\n\n'
-               '@brief This is brief.\n\n'
-               '@signature payload\n\n'
-               '@see See\n\n')
-        self.assertMultiLineEqual(code_entry.getFormatted(self.formatter), txt)
-
-
-class TypedefTest(unittest.TestCase):
-    def setUp(self):
-        self.brief_tok = lexer.Token('WORD', 'This is brief.', 0, 0, 0)
-        self.name_tok = lexer.Token('WORD', 'TypeDef', 0, 0, 0)
-        self.title_tok = lexer.Token('WORD', 'Typedef Title', 0, 0, 0)
-        self.tok_see = lexer.Token('WORD', 'See', 0, 0, 0)
-        self.tok_sig = lexer.Token('WORD', 'payload', 0, 0, 0)
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testGetFormatted(self):
-        b = raw_doc.RawBrief(self.brief_tok, raw_doc.RawText([self.brief_tok]))
-        code_entry = raw_doc.RawTypedef(self.brief_tok, [b])
-        code_entry.name = raw_doc.RawText([self.name_tok])
-        code_entry.title = raw_doc.RawText([self.title_tok])
-        code_entry.sees = [raw_doc.RawSee(self.tok_see, raw_doc.RawText([self.tok_see]))]
-        s = raw_doc.RawSignature(self.tok_sig, raw_doc.RawText([self.tok_sig]))
-        code_entry.addSignature(s)
-        txt = ('@typedef TypeDef Typedef Title\n\n'
-               '@brief This is brief.\n\n'
-               '@signature payload\n\n'
-               '@see See\n\n')
-        self.assertMultiLineEqual(code_entry.getFormatted(self.formatter), txt)
-
-
-class AdaptionTest(unittest.TestCase):
-    def setUp(self):
-        self.brief_tok = lexer.Token('WORD', 'This is brief.', 0, 0, 0)
-        self.name_tok = lexer.Token('WORD', 'Adaption', 0, 0, 0)
-        self.title_tok = lexer.Token('WORD', 'Adaption Title', 0, 0, 0)
-        self.tok_see = lexer.Token('WORD', 'See', 0, 0, 0)
-        self.tok_sig = lexer.Token('WORD', 'payload', 0, 0, 0)
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testGetFormatted(self):
-        b = raw_doc.RawBrief(self.brief_tok, raw_doc.RawText([self.brief_tok]))
-        code_entry = raw_doc.RawAdaption(self.brief_tok, [b])
-        code_entry.name = raw_doc.RawText([self.name_tok])
-        code_entry.title = raw_doc.RawText([self.title_tok])
-        code_entry.sees = [raw_doc.RawSee(self.tok_see, raw_doc.RawText([self.tok_see]))]
-        s = raw_doc.RawSignature(self.tok_sig, raw_doc.RawText([self.tok_sig]))
-        code_entry.addSignature(s)
-        txt = ('@adaption Adaption Adaption Title\n\n'
-               '@brief This is brief.\n\n'
-               '@signature payload\n\n'
-               '@see See\n\n')
-        self.assertMultiLineEqual(code_entry.getFormatted(self.formatter), txt)
-
-
-class VariableTest(unittest.TestCase):
-    def setUp(self):
-        self.brief_tok = lexer.Token('WORD', 'This is brief.', 0, 0, 0)
-        self.name_tok = lexer.Token('WORD', 'var', 0, 0, 0)
-        self.type_tok = lexer.Token('WORD', 'int', 0, 0, 0)
-        self.tok_see = lexer.Token('WORD', 'See', 0, 0, 0)
-        self.tok_sig = lexer.Token('WORD', 'payload', 0, 0, 0)
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testGetFormatted(self):
-        b = raw_doc.RawBrief(self.brief_tok, raw_doc.RawText([self.brief_tok]))
-        code_entry = raw_doc.RawVariable(self.brief_tok, [b])
-        code_entry.name = raw_doc.RawText([self.name_tok])
-        code_entry.type = raw_doc.RawText([self.type_tok])
-        code_entry.sees = [raw_doc.RawSee(self.tok_see, raw_doc.RawText([self.tok_see]))]
-        s = raw_doc.RawSignature(self.tok_sig, raw_doc.RawText([self.tok_sig]))
-        code_entry.addSignature(s)
-        txt = ('@var int var;\n\n'
-               '@brief This is brief.\n\n'
-               '@signature payload\n\n'
-               '@see See\n\n')
-        self.assertMultiLineEqual(code_entry.getFormatted(self.formatter), txt)
-
-
-class BodyTest(unittest.TestCase):
-    def setUp(self):
-        self.t = lexer.Token('WORD', 'aword', 0, 0, 0)
-        self.p = raw_doc.RawParagraph(self.t, raw_doc.RawText([self.t]))
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testCreation(self):
-        body = raw_doc.RawBody()
-        self.assertEqual(body.paragraphs, [])
-        body.addParagraph(self.p)
-        self.assertEqual(body.paragraphs, [self.p])
-
-    def testGetFormatted(self):
-        body = raw_doc.RawBody()
-        body.addParagraph(self.p)
-        self.assertEqual(body.getFormatted(self.formatter), 'aword\n')
-
-
-class SectionTest(unittest.TestCase):
-    def setUp(self):
-        self.t = lexer.Token('WORD', 'aword', 0, 0, 0)
-        self.formatter = raw_doc.DoxFormatter()
-        self.txt = raw_doc.RawText([self.t])
-
-    def testCreation(self):
-        section = raw_doc.RawSection(self.t, self.txt)
-        self.assertEqual(section.heading, self.txt)
-        self.assertEqual(section.level, 0)
-
-    def testGetType(self):
-        section = raw_doc.RawSection(self.t, self.txt, 1)
-        self.assertEqual(section.getType(), 'section')
-
-    def testCreationWithLevel(self):
-        section = raw_doc.RawSection(self.t, self.txt, 1)
-        self.assertEqual(section.heading, self.txt)
-        self.assertEqual(section.level, 1)
-
-    def testGetCommand(self):
-        section = raw_doc.RawSection(self.t, self.txt, 0)
-        self.assertEqual(section.getCommand(), 'section')
-        section = raw_doc.RawSection(self.t, self.txt, 1)
-        self.assertEqual(section.getCommand(), 'subsection')
-
-    def testGetFormatted(self):
-        section = raw_doc.RawSection(self.t, self.txt, 1)
-        self.assertEqual(section.getFormatted(self.formatter), '@subsection aword\n')
-
-
-class IncludeTest(unittest.TestCase):
-    def setUp(self):
-        self.path_t = lexer.Token('WORD', 'apath', 0, 0, 0)
-        self.path = raw_doc.RawText([self.path_t])
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testCreation(self):
-        include = raw_doc.RawInclude(self.path_t, [self.path_t])
-        self.assertEqual(include.path, self.path)
-        self.assertEqual(include.getFormatted(self.formatter), '@include apath\n')
-
-
-class SnippetTest(unittest.TestCase):
-    def setUp(self):
-        self.path_t = lexer.Token('WORD', 'apath', 0, 0, 0)
-        self.path = raw_doc.RawText([self.path_t])
-        self.snippet_t0 = lexer.Token('WORD', 'The', 0, 0, 0)
-        self.snippet_t1 = lexer.Token('SPACE', ' ', 0, 0, 0)
-        self.snippet_t2 = lexer.Token('WORD', 'snippet', 0, 0, 0)
-        self.snippet = raw_doc.RawText([self.snippet_t0, self.snippet_t1,
-                                        self.snippet_t2])
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testCreation(self):
-        snippet = raw_doc.RawSnippet(self.path_t, self.path.tokens, self.snippet.tokens)
-        self.assertEqual(snippet.getFormatted(self.formatter),
-                         '@snippet apath The snippet\n')
-
-
-class CodeTest(unittest.TestCase):
-    def setUp(self):
-        self.t = lexer.Token('WORD', 'aword', 0, 0, 0)
-        self.txt = raw_doc.RawText([self.t])
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testCreation(self):
-        paragraph = raw_doc.RawCode(self.t, self.txt)
-        self.assertEqual(paragraph.text, self.txt)
-        self.assertEqual(paragraph.extension, '.txt')
-
-    def testCreationWithExtension(self):
-        paragraph = raw_doc.RawCode(self.t, self.txt, '.cpp')
-        self.assertEqual(paragraph.text, self.txt)
-        self.assertEqual(paragraph.extension, '.cpp')
-
-    def testGetType(self):
-        pass
-
-    def testGetFormatted(self):
-        pass
-
-
-class BriefTest(unittest.TestCase):
-    def setUp(self):
-        self.t = lexer.Token('WORD', 'aword', 0, 0, 0)
-        self.txt = raw_doc.RawText([self.t])
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testCreation(self):
-        brief = raw_doc.RawBrief(self.t, self.txt)
-        self.assertEqual(brief.text, self.txt)
-
-    def testGetType(self):
-        brief = raw_doc.RawBrief(self.t, self.txt)
-        self.assertEqual(brief.getType(), 'brief')
-
-    def testGetFormatted(self):
-        brief = raw_doc.RawBrief(self.t, self.txt)
-        self.assertEqual(brief.getFormatted(self.formatter), '@brief aword\n')
-
-
-class ExtendsTest(unittest.TestCase):
-    def setUp(self):
-        self.t = lexer.Token('WORD', 'aword', 0, 0, 0)
-        self.txt = raw_doc.RawText([self.t])
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testCreation(self):
-        extends = raw_doc.RawExtends(self.t, self.txt)
-        self.assertEqual(extends.text, self.txt)
-
-    def testGetType(self):
-        extends = raw_doc.RawExtends(self.t, self.txt)
-        self.assertEqual(extends.getType(), 'extends')
-
-    def testGetFormatted(self):
-        extends = raw_doc.RawExtends(self.t, self.txt)
-        self.assertEqual(extends.getFormatted(self.formatter), '@extends aword\n')
-
-
-class ImplementsTest(unittest.TestCase):
-    def setUp(self):
-        self.t = lexer.Token('WORD', 'aword', 0, 0, 0)
-        self.txt = raw_doc.RawText([self.t])
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testCreation(self):
-        implements = raw_doc.RawImplements(self.t, self.txt)
-        self.assertEqual(implements.text, self.txt)
-
-    def testGetType(self):
-        implements = raw_doc.RawImplements(self.t, self.txt)
-        self.assertEqual(implements.getType(), 'implements')
-
-    def testGetFormatted(self):
-        implements = raw_doc.RawImplements(self.t, self.txt)
-        self.assertEqual(implements.getFormatted(self.formatter), '@implements aword\n')
-
-
-class SeeTest(unittest.TestCase):
-    def setUp(self):
-        self.t = lexer.Token('WORD', 'aword', 0, 0, 0)
-        self.txt = raw_doc.RawText([self.t])
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testCreation(self):
-        see = raw_doc.RawSee(self.t, self.txt)
-        self.assertEqual(see.text, self.txt)
-
-    def testGetType(self):
-        see = raw_doc.RawSee(self.t, self.txt)
-        self.assertEqual(see.getType(), 'see')
-
-    def testGetFormatted(self):
-        see = raw_doc.RawSee(self.t, self.txt)
-        self.assertEqual(see.getFormatted(self.formatter), '@see aword\n')
-
-
-class ParamTest(unittest.TestCase):
-    def setUp(self):
-        self.tok = lexer.Token('COMMAND_PARAM', '@param', 0, 0, 0)
-        self.tok_name = lexer.Token('WORD', 'name', 0, 0, 0)
-        self.tok_text = lexer.Token('WORD', 'text', 0, 0, 0)
-        self.tok_inout = lexer.Token('PARAM_IN_OUT', '[in,out]', 0, 0, 0)
-        self.txt_name = raw_doc.RawText([self.tok_name])
-        self.txt_text = raw_doc.RawText([self.tok_text])
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testCreation(self):
-        param = raw_doc.RawParam(self.tok, self.txt_name, self.txt_text)
-        self.assertEqual(param.name, self.txt_name)
-        self.assertEqual(param.text, self.txt_text)
-        self.assertEqual(param.inout, None)
-
-    def testCreationInOut(self):
-        param = raw_doc.RawParam(self.tok, self.txt_name, self.txt_text, self.tok_inout)
-        self.assertEqual(param.name, self.txt_name)
-        self.assertEqual(param.text, self.txt_text)
-        self.assertEqual(param.inout, self.tok_inout)
-
-    def testGetType(self):
-        param = raw_doc.RawParam(self.tok, self.txt_name, self.txt_text)
-        self.assertEqual(param.getType(), 'param')
-
-    def testGetFormatted(self):
-        param = raw_doc.RawParam(self.tok, self.txt_name, self.txt_text)
-        self.assertEqual(param.getFormatted(self.formatter),
-                         '@param name text\n')
-        param = raw_doc.RawParam(self.tok, self.txt_name, self.txt_text, self.tok_inout)
-        self.assertEqual(param.getFormatted(self.formatter),
-                         '@param[in,out] name text\n')
-
-
-class TParamTest(unittest.TestCase):
-    def setUp(self):
-        self.tok = lexer.Token('COMMAND_TPARAM', '@tparam', 0, 0, 0)
-        self.tok_name = lexer.Token('WORD', 'name', 0, 0, 0)
-        self.tok_text = lexer.Token('WORD', 'text', 0, 0, 0)
-        self.txt_name = raw_doc.RawText([self.tok_name])
-        self.txt_text = raw_doc.RawText([self.tok_text])
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testCreation(self):
-        param = raw_doc.RawTParam(self.tok, self.txt_name, self.txt_text)
-        self.assertEqual(param.name, self.txt_name)
-        self.assertEqual(param.text, self.txt_text)
-
-    def testGetType(self):
-        param = raw_doc.RawTParam(self.tok, self.txt_name, self.txt_text)
-        self.assertEqual(param.getType(), 'tparam')
-
-    def testGetFormatted(self):
-        param = raw_doc.RawTParam(self.tok, self.txt_name, self.txt_text)
-        self.assertEqual(param.getFormatted(self.formatter),
-                         '@tparam name text\n')
-
-
-class ReturnTest(unittest.TestCase):
-    def setUp(self):
-        self.tok = lexer.Token('COMMAND_RETURN', '@return', 0, 0, 0)
-        self.tok_name = lexer.Token('WORD', 'name', 0, 0, 0)
-        self.tok_text = lexer.Token('WORD', 'text', 0, 0, 0)
-        self.txt_name = raw_doc.RawText([self.tok_name])
-        self.txt_text = raw_doc.RawText([self.tok_text])
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testCreation(self):
-        ret = raw_doc.RawReturn(self.tok, self.txt_name, self.txt_text)
-        self.assertEqual(ret.name, self.txt_name)
-        self.assertEqual(ret.text, self.txt_text)
-        self.assertEqual(ret.inout, None)
-
-    def testGetType(self):
-        ret = raw_doc.RawReturn(self.tok, self.txt_name, self.txt_text)
-        self.assertEqual(ret.getType(), 'return')
-
-    def testGetFormatted(self):
-        ret = raw_doc.RawReturn(self.tok, self.txt_name, self.txt_text)
-        self.assertEqual(ret.getFormatted(self.formatter),
-                         '@return name text\n')
-
-
-class ThrowTest(unittest.TestCase):
-    """Test for the RawThrow class, mostly tests instance variables."""
-
-    def setUp(self):
-        self.tok = lexer.Token('COMMAND_THROW', '@throw', 0, 0, 0)
-        self.tok_type = lexer.Token('WORD', 'type', 0, 0, 0)
-        self.tok_text = lexer.Token('WORD', 'text', 0, 0, 0)
-        self.txt_type = raw_doc.RawText([self.tok_type])
-        self.txt_text = raw_doc.RawText([self.tok_text])
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testCreation(self):
-        ret = raw_doc.RawThrow(self.tok, self.txt_type, self.txt_text)
-        self.assertEqual(ret.name, self.txt_type)
-        self.assertEqual(ret.text, self.txt_text)
-        self.assertEqual(ret.inout, None)
-
-    def testGetType(self):
-        ret = raw_doc.RawThrow(self.tok, self.txt_type, self.txt_text)
-        self.assertEqual(ret.getType(), 'throw')
-
-    def testGetFormatted(self):
-        ret = raw_doc.RawThrow(self.tok, self.txt_type, self.txt_text)
-        self.assertEqual(ret.getFormatted(self.formatter),
-                         '@throw type text\n')
-        
-
-class DataRaceTest(unittest.TestCase):
-    """Test for the RawDataRace class, mostly tests instance variables."""
-
-    def setUp(self):
-        self.tok = lexer.Token('COMMAND_DATARACE', '@datarace', 0, 0, 0)
-        self.tok_text = lexer.Token('WORD', 'text', 0, 0, 0)
-        self.txt_text = raw_doc.RawText([self.tok_text])
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testCreation(self):
-        dataRace = raw_doc.RawDataRace(self.tok, self.txt_text)
-        self.assertEqual(dataRace.text, self.txt_text)
-
-    def testGetType(self):
-        dataRace = raw_doc.RawDataRace(self.tok, self.txt_text)
-        self.assertEqual(dataRace.getType(), 'datarace')
-
-    def testGetFormatted(self):
-        dataRace = raw_doc.RawDataRace(self.tok, self.txt_text)
-        self.assertEqual(dataRace.getFormatted(self.formatter), '@datarace text\n')
-
-
-class SignatureTest(unittest.TestCase):
-    def setUp(self):
-        self.tok = lexer.Token('COMMAND_SIGNATURE', '@signature', 0, 0, 0)
-        self.tok_text = lexer.Token('WORD', 'text', 0, 0, 0)
-        self.txt_text = raw_doc.RawText([self.tok_text])
-        self.formatter = raw_doc.DoxFormatter()
-
-    def testCreation(self):
-        signature = raw_doc.RawSignature(self.tok, self.txt_text)
-        self.assertEqual(signature.text, self.txt_text)
-
-    def testGetType(self):
-        signature = raw_doc.RawSignature(self.tok, self.txt_text)
-        self.assertEqual(signature.getType(), 'signature')
-
-    def testGetFormatted(self):
-        signature = raw_doc.RawSignature(self.tok, self.txt_text)
-        self.assertEqual(signature.getFormatted(self.formatter),
-                         '@signature text\n')
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/util/py_lib/seqan/dox/test/test_sig_parser.py b/util/py_lib/seqan/dox/test/test_sig_parser.py
deleted file mode 100644
index d391478..0000000
--- a/util/py_lib/seqan/dox/test/test_sig_parser.py
+++ /dev/null
@@ -1,317 +0,0 @@
-#!/usr/bin/env python2
-
-import sys
-import unittest
-
-import seqan.dox.sig_parser as sig_parser
-
-
-class TestParseEnum(unittest.TestCase):
-    def testValid(self):
-        txt = 'enum EnumName'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'enum')
-        self.assertEqual(entry.name, 'EnumName')
-        txt = 'enum EnumName;'
-        self.assertEqual(entry.toString(), txt)
-
-
-class TestParseStruct(unittest.TestCase):
-    def testValid(self):
-        txt = 'struct StructName'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'struct')
-        self.assertEqual(entry.name, 'StructName')
-        txt = 'struct StructName;'
-        self.assertEqual(entry.toString(), txt)
-
-
-class TestParseClass(unittest.TestCase):
-    def testValid(self):
-        txt = 'class ClassName'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'class')
-        self.assertEqual(entry.name, 'ClassName')
-        txt = 'class ClassName;'
-        self.assertEqual(entry.toString(), txt)
-
-
-class TestParseConcept(unittest.TestCase):
-    def testValid(self):
-        txt = 'concept ConceptConcept'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'concept')
-        self.assertEqual(entry.name, 'ConceptConcept')
-        txt = 'concept ConceptConcept;'
-        self.assertEqual(entry.toString(), txt)
-
-
-class TestParseVariable(unittest.TestCase):
-    def testValid(self):
-        txt = 'Type variable;'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'variable')
-        self.assertEqual(entry.var_type, 'Type')
-        self.assertEqual(entry.name, 'variable')
-        txt = 'Type variable;'
-        self.assertEqual(entry.toString(), txt)
-
-
-class TestParseFunction(unittest.TestCase):
-    def testEmptyParams(self):
-        txt = 'void foo()'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'function')
-        self.assertEqual(entry.return_type, 'void')
-        self.assertEqual(entry.is_tpl, False)
-        self.assertEqual(len(entry.params), 0)
-
-    def testWithParams(self):
-        txt = 'void foo(int x, double y)'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'function')
-        self.assertEqual(entry.return_type, 'void')
-        self.assertEqual(entry.is_tpl, False)
-        self.assertEqual(len(entry.params), 2)
-        self.assertEqual(entry.params[0].type, 'int')
-        self.assertEqual(entry.params[0].name, 'x')
-        self.assertEqual(entry.params[1].type, 'double')
-        self.assertEqual(entry.params[1].name, 'y')
-        txt = 'void foo(int x, double y);'
-        self.assertEqual(entry.toString(), txt)
-
-    def testMemberFunction(self):
-        txt = 'void Foo::bar(int x, double y)'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'function')
-        self.assertEqual(entry.name, 'Foo::bar')
-        self.assertEqual(entry.return_type, 'void')
-        self.assertEqual(entry.is_tpl, False)
-        self.assertEqual(len(entry.params), 2)
-        self.assertEqual(entry.params[0].type, 'int')
-        self.assertEqual(entry.params[0].name, 'x')
-        self.assertEqual(entry.params[1].type, 'double')
-        self.assertEqual(entry.params[1].name, 'y')
-        txt = 'void Foo::bar(int x, double y);'
-        self.assertEqual(entry.toString(), txt)
-
-    def testConstructorNoParams(self):
-        txt = 'String::String()'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'function')
-        self.assertEqual(entry.name, 'String::String')
-        self.assertEqual(entry.return_type, None)
-        self.assertEqual(entry.is_tpl, False)
-        self.assertEqual(len(entry.params), 0)
-        txt = 'String::String();'
-        self.assertEqual(entry.toString(), txt)
-
-    def testConstructorParams(self):
-        txt = 'String::String(int x, double y)'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'function')
-        self.assertEqual(entry.name, 'String::String')
-        self.assertEqual(entry.return_type, None)
-        self.assertEqual(entry.is_tpl, False)
-        self.assertEqual(len(entry.params), 2)
-        self.assertEqual(entry.params[0].type, 'int')
-        self.assertEqual(entry.params[0].name, 'x')
-        self.assertEqual(entry.params[1].type, 'double')
-        self.assertEqual(entry.params[1].name, 'y')
-        txt = 'String::String(int x, double y);'
-        self.assertEqual(entry.toString(), txt)
-
-    def testDestructorNoParams(self):
-        txt = 'String::~String()'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'function')
-        self.assertEqual(entry.name, 'String::~String')
-        self.assertEqual(entry.return_type, None)
-        self.assertEqual(entry.is_tpl, False)
-        self.assertEqual(len(entry.params), 0)
-        txt = 'String::~String();'
-        self.assertEqual(entry.toString(), txt)
-
-    def testInterfaceFunction(self):
-        txt = 'void Foo#bar(int x, double y)'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'function')
-        self.assertEqual(entry.name, 'Foo#bar')
-        self.assertEqual(entry.return_type, 'void')
-        self.assertEqual(entry.is_tpl, False)
-        self.assertEqual(len(entry.params), 2)
-        self.assertEqual(entry.params[0].type, 'int')
-        self.assertEqual(entry.params[0].name, 'x')
-        self.assertEqual(entry.params[1].type, 'double')
-        self.assertEqual(entry.params[1].name, 'y')
-        txt = 'void Foo#bar(int x, double y);'
-        self.assertEqual(entry.toString(), txt)
-
-    def testConstructor(self):
-        pass
-
-
-class TestTemplateFunction(unittest.TestCase):
-    def testEmptyParams(self):
-        txt = ('template <typename T1, int I>\n'
-               'void foo()')
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'function')
-        self.assertEqual(entry.return_type, 'void')
-        self.assertEqual(entry.is_tpl, True)
-        self.assertEqual(len(entry.params), 0)
-        self.assertEqual(len(entry.tparams), 2)
-        self.assertEqual(entry.tparams[0].type, 'typename')
-        self.assertEqual(entry.tparams[0].name, 'T1')
-        self.assertEqual(entry.tparams[1].type, 'int')
-        self.assertEqual(entry.tparams[1].name, 'I')
-        txt = ('template <typename T1, int I>\n'
-               'void foo();')
-        self.assertEqual(entry.toString(), txt)
-
-    def testWithParams(self):
-        txt = ('template <typename T1, int I>\n'
-               'void foo(int x, double y)')
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'function')
-        self.assertEqual(entry.return_type, 'void')
-        self.assertEqual(entry.is_tpl, True)
-        self.assertEqual(len(entry.params), 2)
-        self.assertEqual(entry.params[0].type, 'int')
-        self.assertEqual(entry.params[0].name, 'x')
-        self.assertEqual(entry.params[1].type, 'double')
-        self.assertEqual(entry.params[1].name, 'y')
-        self.assertEqual(len(entry.tparams), 2)
-        self.assertEqual(entry.tparams[0].type, 'typename')
-        self.assertEqual(entry.tparams[0].name, 'T1')
-        self.assertEqual(entry.tparams[1].type, 'int')
-        self.assertEqual(entry.tparams[1].name, 'I')
-        txt = ('template <typename T1, int I>\n'
-               'void foo(int x, double y);')
-        self.assertEqual(entry.toString(), txt)
-
-
-class TestTemplateClass(unittest.TestCase):
-    def testEmptyParams(self):
-        txt = ('template <>\n'
-               'class C')
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'class')
-        self.assertEqual(entry.name, 'C')
-        self.assertEqual(entry.is_tpl, True)
-        self.assertEqual(len(entry.tparams), 0)
-        txt = ('template <>\n'
-               'class C;')
-        self.assertEqual(entry.toString(), txt)
-
-
-    def testWithParams(self):
-        txt = ('template <typename T1, int I>\n'
-               'class C')
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'class')
-        self.assertEqual(entry.is_tpl, True)
-        self.assertEqual(len(entry.tparams), 2)
-        self.assertEqual(entry.name, 'C')
-        self.assertEqual(entry.tparams[0].type, 'typename')
-        self.assertEqual(entry.tparams[0].name, 'T1')
-        self.assertEqual(entry.tparams[1].type, 'int')
-        self.assertEqual(entry.tparams[1].name, 'I')
-        txt = ('template <typename T1, int I>\n'
-               'class C;')
-        self.assertEqual(entry.toString(), txt)
-
-
-class TestMetafunction(unittest.TestCase):
-    def testValueNoParam(self):
-        txt = 'TInt Metafunction<>::VALUE'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'metafunction')
-        self.assertEqual(entry.name, 'Metafunction')
-        self.assertEqual(entry.return_type, 'TInt')
-        self.assertEqual(entry.return_name, 'VALUE')
-        self.assertEqual(len(entry.tparams), 0)
-        txt = 'TInt Metafunction<>::VALUE;'
-        self.assertEqual(entry.toString(), txt)
-
-    def testValueInterfaceNoParam(self):
-        txt = 'TInt Klass#Metafunction<>::VALUE'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'metafunction')
-        self.assertEqual(entry.name, 'Klass#Metafunction')
-        self.assertEqual(entry.return_type, 'TInt')
-        self.assertEqual(entry.return_name, 'VALUE')
-        self.assertEqual(len(entry.tparams), 0)
-        txt = 'TInt Klass#Metafunction<>::VALUE;'
-        self.assertEqual(entry.toString(), txt)
-
-    def testValueWithParam(self):
-        txt = 'TInt Metafunction<T1, T2>::VALUE'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'metafunction')
-        self.assertEqual(entry.name, 'Metafunction')
-        self.assertEqual(entry.return_type, 'TInt')
-        self.assertEqual(entry.return_name, 'VALUE')
-        self.assertEqual(len(entry.tparams), 2)
-        self.assertEqual(entry.tparams[0].name, 'T1')
-        self.assertEqual(entry.tparams[1].name, 'T2')
-        txt = 'TInt Metafunction<T1, T2>::VALUE;'
-        self.assertEqual(entry.toString(), txt)
-
-    def testTypeNoParam(self):
-        txt = 'Metafunction<>::Type'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'metafunction')
-        self.assertEqual(entry.name, 'Metafunction')
-        self.assertEqual(entry.return_name, 'Type')
-        self.assertEqual(len(entry.tparams), 0)
-        txt = 'Metafunction<>::Type;'
-        self.assertEqual(entry.toString(), txt)
-
-    def testTypeInterfaceNoParam(self):
-        txt = 'Klass#Metafunction<>::Type'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'metafunction')
-        self.assertEqual(entry.name, 'Klass#Metafunction')
-        self.assertEqual(entry.return_name, 'Type')
-        self.assertEqual(len(entry.tparams), 0)
-        txt = 'Klass#Metafunction<>::Type;'
-        self.assertEqual(entry.toString(), txt)
-
-    def testTypeWithParam(self):
-        txt = 'Metafunction<T1, T2>::Type'
-        parser = sig_parser.SigParser(txt)
-        entry = parser.parse()
-        self.assertEqual(entry.kind, 'metafunction')
-        self.assertEqual(entry.name, 'Metafunction')
-        self.assertEqual(entry.return_name, 'Type')
-        self.assertEqual(len(entry.tparams), 2)
-        self.assertEqual(entry.tparams[0].name, 'T1')
-        self.assertEqual(entry.tparams[1].name, 'T2')
-        txt = 'Metafunction<T1, T2>::Type;'
-        self.assertEqual(entry.toString(), txt)
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/util/py_lib/seqan/dox/tpl/css/full_list.css b/util/py_lib/seqan/dox/tpl/css/full_list.css
deleted file mode 100644
index 0154271..0000000
--- a/util/py_lib/seqan/dox/tpl/css/full_list.css
+++ /dev/null
@@ -1,31 +0,0 @@
-html {
-    height: 100%;
-}
-
-body {
-  margin: 0;
-  font-family: "Open Sans", "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
-  font-size: 13px;
-  height: 100%;
-  overflow-x: hidden;
-}
-
-#content {
-    height: calc(100% - 40px);
-    overflow: auto;
-}
-
-h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; }
-.clear { clear: both; }
-#noresults { padding: 7px 12px; }
-#content.insearch #noresults { margin-left: 7px; }
-.frames #nav span:after { content: ' | '; }
-.frames #nav span:last-child:after { content: ''; }
-
-.frames #content h1 { margin-top: 0; }
-.frames li { white-space: nowrap; cursor: normal; }
-.frames li small { display: block; font-size: 0.8em; }
-.frames li small:before { content: ""; }
-.frames li small:after { content: ""; }
-.frames li small.search_info { display: none; }
-.frames #nav { display: block; }
diff --git a/util/py_lib/seqan/dox/tpl/lib/bootstrap-treeview/css/bootstrap-treeview.css b/util/py_lib/seqan/dox/tpl/lib/bootstrap-treeview/css/bootstrap-treeview.css
deleted file mode 100644
index 312071a..0000000
--- a/util/py_lib/seqan/dox/tpl/lib/bootstrap-treeview/css/bootstrap-treeview.css
+++ /dev/null
@@ -1,60 +0,0 @@
-/* =========================================================
- * bootstrap-treeview.css v1.2.0
- * =========================================================
- * Copyright 2013 Jonathan Miles 
- * Project URL : http://www.jondmiles.com/bootstrap-treeview
- *	
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================= */
-
-.treeview {
-    font-size: 12px;
-}
-
-.treeview .badge {
-    font-size: 12px;
-}
-
-.treeview .list-group {
-	margin-left: 10px;
-	margin-right: 10px;
-}
-
-.treeview .list-group-item {
-	cursor: pointer;
-    line-height: 10px;
-}
-
-.treeview li {
-    line-style: none;
-    margin: 0px;
-}
-
-.treeview li:before { 
-    content: ""; 
-}
-
-.treeview span.indent {
-	margin-left: 10px;
-	margin-right: 10px;
-}
-
-.treeview span.icon {
-	width: 5px;
-	margin-right: 5px;
-}
-
-.treeview .node-disabled {
-	color: silver;
-	cursor: not-allowed;
-}
diff --git a/util/py_lib/seqan/dox/tpl/lib/bootstrap-treeview/js/bootstrap-treeview.js b/util/py_lib/seqan/dox/tpl/lib/bootstrap-treeview/js/bootstrap-treeview.js
deleted file mode 100644
index 97720e6..0000000
--- a/util/py_lib/seqan/dox/tpl/lib/bootstrap-treeview/js/bootstrap-treeview.js
+++ /dev/null
@@ -1,1248 +0,0 @@
-/* =========================================================
- * bootstrap-treeview.js v1.2.0
- * =========================================================
- * Copyright 2013 Jonathan Miles
- * Project URL : http://www.jondmiles.com/bootstrap-treeview
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================= */
-
-;(function ($, window, document, undefined) {
-
-	/*global jQuery, console*/
-
-	'use strict';
-
-	var pluginName = 'treeview';
-
-	var _default = {};
-
-	_default.settings = {
-
-		injectStyle: true,
-
-		levels: 2,
-
-		expandIcon: 'glyphicon glyphicon-chevron-right',
-		collapseIcon: 'glyphicon glyphicon-chevron-down',
-		emptyIcon: 'glyphicon',
-		nodeIcon: '',
-		selectedIcon: '',
-		checkedIcon: 'glyphicon glyphicon-check',
-		uncheckedIcon: 'glyphicon glyphicon-unchecked',
-
-		color: '#000000', // '#000000',
-		backColor: undefined, // '#FFFFFF',
-		borderColor: undefined, // '#dddddd',
-		onhoverColor: '#F5F5F5',
-		selectedColor: '#FFFFFF',
-		selectedBackColor: '#428bca',
-		searchResultColor: '#D9534F',
-		searchResultBackColor: undefined, //'#FFFFFF',
-
-		enableLinks: false,
-		highlightSelected: true,
-		highlightSearchResults: true,
-		showBorder: true,
-		showIcon: true,
-		showCheckbox: false,
-		showTags: false,
-		multiSelect: false,
-
-		// Event handlers
-		onNodeChecked: undefined,
-		onNodeCollapsed: undefined,
-		onNodeDisabled: undefined,
-		onNodeEnabled: undefined,
-		onNodeExpanded: undefined,
-		onNodeSelected: undefined,
-		onNodeUnchecked: undefined,
-		onNodeUnselected: undefined,
-		onSearchComplete: undefined,
-		onSearchCleared: undefined
-	};
-
-	_default.options = {
-		silent: false,
-		ignoreChildren: false
-	};
-
-	_default.searchOptions = {
-		ignoreCase: true,
-		exactMatch: false,
-		revealResults: true
-	};
-
-	var Tree = function (element, options) {
-
-		this.$element = $(element);
-		this.elementId = element.id;
-		this.styleId = this.elementId + '-style';
-
-		this.init(options);
-
-		return {
-
-			// Options (public access)
-			options: this.options,
-
-			// Initialize / destroy methods
-			init: $.proxy(this.init, this),
-			remove: $.proxy(this.remove, this),
-
-			// Get methods
-			getNode: $.proxy(this.getNode, this),
-			getParent: $.proxy(this.getParent, this),
-			getSiblings: $.proxy(this.getSiblings, this),
-			getSelected: $.proxy(this.getSelected, this),
-			getUnselected: $.proxy(this.getUnselected, this),
-			getExpanded: $.proxy(this.getExpanded, this),
-			getCollapsed: $.proxy(this.getCollapsed, this),
-			getChecked: $.proxy(this.getChecked, this),
-			getUnchecked: $.proxy(this.getUnchecked, this),
-			getDisabled: $.proxy(this.getDisabled, this),
-			getEnabled: $.proxy(this.getEnabled, this),
-
-			// Select methods
-			selectNode: $.proxy(this.selectNode, this),
-			unselectNode: $.proxy(this.unselectNode, this),
-			toggleNodeSelected: $.proxy(this.toggleNodeSelected, this),
-
-			// Expand / collapse methods
-			collapseAll: $.proxy(this.collapseAll, this),
-			collapseNode: $.proxy(this.collapseNode, this),
-			expandAll: $.proxy(this.expandAll, this),
-			expandNode: $.proxy(this.expandNode, this),
-			toggleNodeExpanded: $.proxy(this.toggleNodeExpanded, this),
-			revealNode: $.proxy(this.revealNode, this),
-
-			// Expand / collapse methods
-			checkAll: $.proxy(this.checkAll, this),
-			checkNode: $.proxy(this.checkNode, this),
-			uncheckAll: $.proxy(this.uncheckAll, this),
-			uncheckNode: $.proxy(this.uncheckNode, this),
-			toggleNodeChecked: $.proxy(this.toggleNodeChecked, this),
-
-			// Disable / enable methods
-			disableAll: $.proxy(this.disableAll, this),
-			disableNode: $.proxy(this.disableNode, this),
-			enableAll: $.proxy(this.enableAll, this),
-			enableNode: $.proxy(this.enableNode, this),
-			toggleNodeDisabled: $.proxy(this.toggleNodeDisabled, this),
-
-			// Search methods
-			search: $.proxy(this.search, this),
-			clearSearch: $.proxy(this.clearSearch, this)
-		};
-	};
-
-	Tree.prototype.init = function (options) {
-
-		this.tree = [];
-		this.nodes = [];
-
-		if (options.data) {
-			if (typeof options.data === 'string') {
-				options.data = $.parseJSON(options.data);
-			}
-			this.tree = $.extend(true, [], options.data);
-			delete options.data;
-		}
-		this.options = $.extend({}, _default.settings, options);
-
-		this.destroy();
-		this.subscribeEvents();
-		this.setInitialStates({ nodes: this.tree }, 0);
-		this.render();
-	};
-
-	Tree.prototype.remove = function () {
-		this.destroy();
-		$.removeData(this, pluginName);
-		$('#' + this.styleId).remove();
-	};
-
-	Tree.prototype.destroy = function () {
-
-		if (!this.initialized) return;
-
-		this.$wrapper.remove();
-		this.$wrapper = null;
-
-		// Switch off events
-		this.unsubscribeEvents();
-
-		// Reset this.initialized flag
-		this.initialized = false;
-	};
-
-	Tree.prototype.unsubscribeEvents = function () {
-
-		this.$element.off('click');
-		this.$element.off('nodeChecked');
-		this.$element.off('nodeCollapsed');
-		this.$element.off('nodeDisabled');
-		this.$element.off('nodeEnabled');
-		this.$element.off('nodeExpanded');
-		this.$element.off('nodeSelected');
-		this.$element.off('nodeUnchecked');
-		this.$element.off('nodeUnselected');
-		this.$element.off('searchComplete');
-		this.$element.off('searchCleared');
-	};
-
-	Tree.prototype.subscribeEvents = function () {
-
-		this.unsubscribeEvents();
-
-		this.$element.on('click', $.proxy(this.clickHandler, this));
-
-		if (typeof (this.options.onNodeChecked) === 'function') {
-			this.$element.on('nodeChecked', this.options.onNodeChecked);
-		}
-
-		if (typeof (this.options.onNodeCollapsed) === 'function') {
-			this.$element.on('nodeCollapsed', this.options.onNodeCollapsed);
-		}
-
-		if (typeof (this.options.onNodeDisabled) === 'function') {
-			this.$element.on('nodeDisabled', this.options.onNodeDisabled);
-		}
-
-		if (typeof (this.options.onNodeEnabled) === 'function') {
-			this.$element.on('nodeEnabled', this.options.onNodeEnabled);
-		}
-
-		if (typeof (this.options.onNodeExpanded) === 'function') {
-			this.$element.on('nodeExpanded', this.options.onNodeExpanded);
-		}
-
-		if (typeof (this.options.onNodeSelected) === 'function') {
-			this.$element.on('nodeSelected', this.options.onNodeSelected);
-		}
-
-		if (typeof (this.options.onNodeUnchecked) === 'function') {
-			this.$element.on('nodeUnchecked', this.options.onNodeUnchecked);
-		}
-
-		if (typeof (this.options.onNodeUnselected) === 'function') {
-			this.$element.on('nodeUnselected', this.options.onNodeUnselected);
-		}
-
-		if (typeof (this.options.onSearchComplete) === 'function') {
-			this.$element.on('searchComplete', this.options.onSearchComplete);
-		}
-
-		if (typeof (this.options.onSearchCleared) === 'function') {
-			this.$element.on('searchCleared', this.options.onSearchCleared);
-		}
-	};
-
-	/*
-		Recurse the tree structure and ensure all nodes have
-		valid initial states.  User defined states will be preserved.
-		For performance we also take this opportunity to
-		index nodes in a flattened structure
-	*/
-	Tree.prototype.setInitialStates = function (node, level) {
-
-		if (!node.nodes) return;
-		level += 1;
-
-		var parent = node;
-		var _this = this;
-		$.each(node.nodes, function checkStates(index, node) {
-
-			// nodeId : unique, incremental identifier
-			node.nodeId = _this.nodes.length;
-
-			// parentId : transversing up the tree
-			node.parentId = parent.nodeId;
-
-			// if not provided set selectable default value
-			if (!node.hasOwnProperty('selectable')) {
-				node.selectable = true;
-			}
-
-			// where provided we should preserve states
-			node.state = node.state || {};
-
-			// set checked state; unless set always false
-			if (!node.state.hasOwnProperty('checked')) {
-				node.state.checked = false;
-			}
-
-			// set enabled state; unless set always false
-			if (!node.state.hasOwnProperty('disabled')) {
-				node.state.disabled = false;
-			}
-
-			// set expanded state; if not provided based on levels
-			if (!node.state.hasOwnProperty('expanded')) {
-				if (!node.state.disabled &&
-						(level < _this.options.levels) &&
-						(node.nodes && node.nodes.length > 0)) {
-					node.state.expanded = true;
-				}
-				else {
-					node.state.expanded = false;
-				}
-			}
-
-			// set selected state; unless set always false
-			if (!node.state.hasOwnProperty('selected')) {
-				node.state.selected = false;
-			}
-
-			// index nodes in a flattened structure for use later
-			_this.nodes.push(node);
-
-			// recurse child nodes and transverse the tree
-			if (node.nodes) {
-				_this.setInitialStates(node, level);
-			}
-		});
-	};
-
-	Tree.prototype.clickHandler = function (event) {
-
-		if (!this.options.enableLinks) event.preventDefault();
-
-		var target = $(event.target);
-		var node = this.findNode(target);
-		if (!node || node.state.disabled) return;
-		
-		var classList = target.attr('class') ? target.attr('class').split(' ') : [];
-		if ((classList.indexOf('expand-icon') !== -1)) {
-
-			this.toggleExpandedState(node, _default.options);
-			this.render();
-		}
-		else if ((classList.indexOf('check-icon') !== -1)) {
-			
-			this.toggleCheckedState(node, _default.options);
-			this.render();
-		}
-		else {
-			
-			if (node.selectable) {
-				this.toggleSelectedState(node, _default.options);
-			} else {
-				this.toggleExpandedState(node, _default.options);
-			}
-
-			this.render();
-		}
-	};
-
-	// Looks up the DOM for the closest parent list item to retrieve the
-	// data attribute nodeid, which is used to lookup the node in the flattened structure.
-	Tree.prototype.findNode = function (target) {
-
-		var nodeId = target.closest('li.list-group-item').attr('data-nodeid');
-		var node = this.nodes[nodeId];
-
-		if (!node) {
-			console.log('Error: node does not exist');
-		}
-		return node;
-	};
-
-	Tree.prototype.toggleExpandedState = function (node, options) {
-		if (!node) return;
-		this.setExpandedState(node, !node.state.expanded, options);
-	};
-
-	Tree.prototype.setExpandedState = function (node, state, options) {
-
-		if (state === node.state.expanded) return;
-
-		if (state && node.nodes) {
-
-			// Expand a node
-			node.state.expanded = true;
-			if (!options.silent) {
-				this.$element.trigger('nodeExpanded', $.extend(true, {}, node));
-			}
-		}
-		else if (!state) {
-
-			// Collapse a node
-			node.state.expanded = false;
-			if (!options.silent) {
-				this.$element.trigger('nodeCollapsed', $.extend(true, {}, node));
-			}
-
-			// Collapse child nodes
-			if (node.nodes && !options.ignoreChildren) {
-				$.each(node.nodes, $.proxy(function (index, node) {
-					this.setExpandedState(node, false, options);
-				}, this));
-			}
-		}
-	};
-
-	Tree.prototype.toggleSelectedState = function (node, options) {
-		if (!node) return;
-		this.setSelectedState(node, !node.state.selected, options);
-	};
-
-	Tree.prototype.setSelectedState = function (node, state, options) {
-
-		if (state === node.state.selected) return;
-
-		if (state) {
-
-			// If multiSelect false, unselect previously selected
-			if (!this.options.multiSelect) {
-				$.each(this.findNodes('true', 'g', 'state.selected'), $.proxy(function (index, node) {
-					this.setSelectedState(node, false, options);
-				}, this));
-			}
-
-			// Continue selecting node
-			node.state.selected = true;
-			if (!options.silent) {
-				this.$element.trigger('nodeSelected', $.extend(true, {}, node));
-			}
-		}
-		else {
-
-			// Unselect node
-			node.state.selected = false;
-			if (!options.silent) {
-				this.$element.trigger('nodeUnselected', $.extend(true, {}, node));
-			}
-		}
-	};
-
-	Tree.prototype.toggleCheckedState = function (node, options) {
-		if (!node) return;
-		this.setCheckedState(node, !node.state.checked, options);
-	};
-
-	Tree.prototype.setCheckedState = function (node, state, options) {
-
-		if (state === node.state.checked) return;
-
-		if (state) {
-
-			// Check node
-			node.state.checked = true;
-
-			if (!options.silent) {
-				this.$element.trigger('nodeChecked', $.extend(true, {}, node));
-			}
-		}
-		else {
-
-			// Uncheck node
-			node.state.checked = false;
-			if (!options.silent) {
-				this.$element.trigger('nodeUnchecked', $.extend(true, {}, node));
-			}
-		}
-	};
-
-	Tree.prototype.setDisabledState = function (node, state, options) {
-
-		if (state === node.state.disabled) return;
-
-		if (state) {
-
-			// Disable node
-			node.state.disabled = true;
-
-			// Disable all other states
-			this.setExpandedState(node, false, options);
-			this.setSelectedState(node, false, options);
-			this.setCheckedState(node, false, options);
-
-			if (!options.silent) {
-				this.$element.trigger('nodeDisabled', $.extend(true, {}, node));
-			}
-		}
-		else {
-
-			// Enabled node
-			node.state.disabled = false;
-			if (!options.silent) {
-				this.$element.trigger('nodeEnabled', $.extend(true, {}, node));
-			}
-		}
-	};
-
-	Tree.prototype.render = function () {
-
-		if (!this.initialized) {
-
-			// Setup first time only components
-			this.$element.addClass(pluginName);
-			this.$wrapper = $(this.template.list);
-
-			this.injectStyle();
-
-			this.initialized = true;
-		}
-
-		this.$element.empty().append(this.$wrapper.empty());
-
-		// Build tree
-		this.buildTree(this.tree, 0);
-	};
-
-	// Starting from the root node, and recursing down the
-	// structure we build the tree one node at a time
-	Tree.prototype.buildTree = function (nodes, level) {
-
-		if (!nodes) return;
-		level += 1;
-
-		var _this = this;
-		$.each(nodes, function addNodes(id, node) {
-
-			var treeItem = $(_this.template.item)
-				.addClass('node-' + _this.elementId)
-				.addClass(node.state.checked ? 'node-checked' : '')
-				.addClass(node.state.disabled ? 'node-disabled': '')
-				.addClass(node.state.selected ? 'node-selected' : '')
-				.addClass(node.searchResult ? 'search-result' : '') 
-				.attr('data-nodeid', node.nodeId)
-				.attr('style', _this.buildStyleOverride(node));
-
-			// Add indent/spacer to mimic tree structure
-			for (var i = 0; i < (level - 1); i++) {
-				treeItem.append(_this.template.indent);
-			}
-
-			// Add tags as badges
-			if (_this.options.showTags && node.tags) {
-				$.each(node.tags, function addTag(id, tag) {
-					treeItem
-						.append($(_this.template.badge)
-							.append(tag)
-						);
-				});
-			}
-
-			// Add expand, collapse or empty spacer icons
-			var classList = [];
-			if (node.nodes) {
-				classList.push('expand-icon');
-				if (node.state.expanded) {
-					classList.push(_this.options.collapseIcon);
-				}
-				else {
-					classList.push(_this.options.expandIcon);
-				}
-			}
-			else {
-				classList.push(_this.options.emptyIcon);
-			}
-
-			treeItem
-				.append($(_this.template.icon)
-					.addClass(classList.join(' '))
-				);
-
-			// Add node icon
-			if (_this.options.showIcon) {
-				
-				var classList = ['node-icon'];
-
-				classList.push(node.icon || _this.options.nodeIcon);
-				if (node.state.selected) {
-					classList.pop();
-					classList.push(node.selectedIcon || _this.options.selectedIcon || 
-									node.icon || _this.options.nodeIcon);
-				}
-
-				treeItem
-					.append($(_this.template.icon)
-						.addClass(classList.join(' '))
-					);
-			}
-
-			// Add check / unchecked icon
-			if (_this.options.showCheckbox) {
-
-				var classList = ['check-icon'];
-				if (node.state.checked) {
-					classList.push(_this.options.checkedIcon); 
-				}
-				else {
-					classList.push(_this.options.uncheckedIcon);
-				}
-
-				treeItem
-					.append($(_this.template.icon)
-						.addClass(classList.join(' '))
-					);
-			}
-
-			// Add text
-			if (_this.options.enableLinks) {
-				// Add hyperlink
-				treeItem
-					.append($(_this.template.link)
-						.attr('href', node.href)
-						.append(node.text)
-					);
-			}
-			else {
-				// otherwise just text
-				treeItem
-					.append(node.text);
-			}
-
-			// Add item to the tree
-			_this.$wrapper.append(treeItem);
-
-			// Recursively add child ndoes
-			if (node.nodes && node.state.expanded && !node.state.disabled) {
-				return _this.buildTree(node.nodes, level);
-			}
-		});
-	};
-
-	// Define any node level style override for
-	// 1. selectedNode
-	// 2. node|data assigned color overrides
-	Tree.prototype.buildStyleOverride = function (node) {
-
-		if (node.state.disabled) return '';
-
-		var color = node.color;
-		var backColor = node.backColor;
-
-		if (this.options.highlightSelected && node.state.selected) {
-			if (this.options.selectedColor) {
-				color = this.options.selectedColor;
-			}
-			if (this.options.selectedBackColor) {
-				backColor = this.options.selectedBackColor;
-			}
-		}
-
-		if (this.options.highlightSearchResults && node.searchResult && !node.state.disabled) {
-			if (this.options.searchResultColor) {
-				color = this.options.searchResultColor;
-			}
-			if (this.options.searchResultBackColor) {
-				backColor = this.options.searchResultBackColor;
-			}
-		}
-
-		return 'color:' + color +
-			';background-color:' + backColor + ';';
-	};
-
-	// Add inline style into head
-	Tree.prototype.injectStyle = function () {
-
-		if (this.options.injectStyle && !document.getElementById(this.styleId)) {
-			$('<style type="text/css" id="' + this.styleId + '"> ' + this.buildStyle() + ' </style>').appendTo('head');
-		}
-	};
-
-	// Construct trees style based on user options
-	Tree.prototype.buildStyle = function () {
-
-		var style = '.node-' + this.elementId + '{';
-
-		if (this.options.color) {
-			style += 'color:' + this.options.color + ';';
-		}
-
-		if (this.options.backColor) {
-			style += 'background-color:' + this.options.backColor + ';';
-		}
-
-		if (!this.options.showBorder) {
-			style += 'border:none;';
-		}
-		else if (this.options.borderColor) {
-			style += 'border:1px solid ' + this.options.borderColor + ';';
-		}
-		style += '}';
-
-		if (this.options.onhoverColor) {
-			style += '.node-' + this.elementId + ':not(.node-disabled):hover{' +
-				'background-color:' + this.options.onhoverColor + ';' +
-			'}';
-		}
-
-		return this.css + style;
-	};
-
-	Tree.prototype.template = {
-		list: '<ul class="list-group"></ul>',
-		item: '<li class="list-group-item"></li>',
-		indent: '<span class="indent"></span>',
-		icon: '<span class="icon"></span>',
-		link: '<a href="#" style="color:inherit;"></a>',
-		badge: '<span class="badge"></span>'
-	};
-
-	Tree.prototype.css = '.treeview .list-group-item{cursor:pointer}.treeview span.indent{margin-left:10px;margin-right:10px}.treeview span.icon{width:12px;margin-right:5px}.treeview .node-disabled{color:silver;cursor:not-allowed}'
-
-
-	/**
-		Returns a single node object that matches the given node id.
-		@param {Number} nodeId - A node's unique identifier
-		@return {Object} node - Matching node
-	*/
-	Tree.prototype.getNode = function (nodeId) {
-		return this.nodes[nodeId];
-	};
-
-	/**
-		Returns the parent node of a given node, if valid otherwise returns undefined.
-		@param {Object|Number} identifier - A valid node or node id
-		@returns {Object} node - The parent node
-	*/
-	Tree.prototype.getParent = function (identifier) {
-		var node = this.identifyNode(identifier);
-		return this.nodes[node.parentId];
-	};
-
-	/**
-		Returns an array of sibling nodes for a given node, if valid otherwise returns undefined.
-		@param {Object|Number} identifier - A valid node or node id
-		@returns {Array} nodes - Sibling nodes
-	*/
-	Tree.prototype.getSiblings = function (identifier) {
-		var node = this.identifyNode(identifier);
-		var parent = this.getParent(node);
-		var nodes = parent ? parent.nodes : this.tree;
-		return nodes.filter(function (obj) {
-				return obj.nodeId !== node.nodeId;
-			});
-	};
-
-	/**
-		Returns an array of selected nodes.
-		@returns {Array} nodes - Selected nodes
-	*/
-	Tree.prototype.getSelected = function () {
-		return this.findNodes('true', 'g', 'state.selected');
-	};
-
-	/**
-		Returns an array of unselected nodes.
-		@returns {Array} nodes - Unselected nodes
-	*/
-	Tree.prototype.getUnselected = function () {
-		return this.findNodes('false', 'g', 'state.selected');
-	};
-
-	/**
-		Returns an array of expanded nodes.
-		@returns {Array} nodes - Expanded nodes
-	*/
-	Tree.prototype.getExpanded = function () {
-		return this.findNodes('true', 'g', 'state.expanded');
-	};
-
-	/**
-		Returns an array of collapsed nodes.
-		@returns {Array} nodes - Collapsed nodes
-	*/
-	Tree.prototype.getCollapsed = function () {
-		return this.findNodes('false', 'g', 'state.expanded');
-	};
-
-	/**
-		Returns an array of checked nodes.
-		@returns {Array} nodes - Checked nodes
-	*/
-	Tree.prototype.getChecked = function () {
-		return this.findNodes('true', 'g', 'state.checked');
-	};
-
-	/**
-		Returns an array of unchecked nodes.
-		@returns {Array} nodes - Unchecked nodes
-	*/
-	Tree.prototype.getUnchecked = function () {
-		return this.findNodes('false', 'g', 'state.checked');
-	};
-
-	/**
-		Returns an array of disabled nodes.
-		@returns {Array} nodes - Disabled nodes
-	*/
-	Tree.prototype.getDisabled = function () {
-		return this.findNodes('true', 'g', 'state.disabled');
-	};
-
-	/**
-		Returns an array of enabled nodes.
-		@returns {Array} nodes - Enabled nodes
-	*/
-	Tree.prototype.getEnabled = function () {
-		return this.findNodes('false', 'g', 'state.disabled');
-	};
-
-
-	/**
-		Set a node state to selected
-		@param {Object|Number} identifiers - A valid node, node id or array of node identifiers
-		@param {optional Object} options
-	*/
-	Tree.prototype.selectNode = function (identifiers, options) {
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.setSelectedState(node, true, options);
-		}, this));
-
-		this.render();
-	};
-
-	/**
-		Set a node state to unselected
-		@param {Object|Number} identifiers - A valid node, node id or array of node identifiers
-		@param {optional Object} options
-	*/
-	Tree.prototype.unselectNode = function (identifiers, options) {
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.setSelectedState(node, false, options);
-		}, this));
-
-		this.render();
-	};
-
-	/**
-		Toggles a node selected state; selecting if unselected, unselecting if selected.
-		@param {Object|Number} identifiers - A valid node, node id or array of node identifiers
-		@param {optional Object} options
-	*/
-	Tree.prototype.toggleNodeSelected = function (identifiers, options) {
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.toggleSelectedState(node, options);
-		}, this));
-
-		this.render();
-	};
-
-
-	/**
-		Collapse all tree nodes
-		@param {optional Object} options
-	*/
-	Tree.prototype.collapseAll = function (options) {
-		var identifiers = this.findNodes('true', 'g', 'state.expanded');
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.setExpandedState(node, false, options);
-		}, this));
-
-		this.render();
-	};
-
-	/**
-		Collapse a given tree node
-		@param {Object|Number} identifiers - A valid node, node id or array of node identifiers
-		@param {optional Object} options
-	*/
-	Tree.prototype.collapseNode = function (identifiers, options) {
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.setExpandedState(node, false, options);
-		}, this));
-
-		this.render();
-	};
-
-	/**
-		Expand all tree nodes
-		@param {optional Object} options
-	*/
-	Tree.prototype.expandAll = function (options) {
-		options = $.extend({}, _default.options, options);
-
-		if (options && options.levels) {
-			this.expandLevels(this.tree, options.levels, options);
-		}
-		else {
-			var identifiers = this.findNodes('false', 'g', 'state.expanded');
-			this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-				this.setExpandedState(node, true, options);
-			}, this));
-		}
-
-		this.render();
-	};
-
-	/**
-		Expand a given tree node
-		@param {Object|Number} identifiers - A valid node, node id or array of node identifiers
-		@param {optional Object} options
-	*/
-	Tree.prototype.expandNode = function (identifiers, options) {
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.setExpandedState(node, true, options);
-			if (node.nodes && (options && options.levels)) {
-				this.expandLevels(node.nodes, options.levels-1, options);
-			}
-		}, this));
-
-		this.render();
-	};
-
-	Tree.prototype.expandLevels = function (nodes, level, options) {
-		options = $.extend({}, _default.options, options);
-
-		$.each(nodes, $.proxy(function (index, node) {
-			this.setExpandedState(node, (level > 0) ? true : false, options);
-			if (node.nodes) {
-				this.expandLevels(node.nodes, level-1, options);
-			}
-		}, this));
-	};
-
-	/**
-		Reveals a given tree node, expanding the tree from node to root.
-		@param {Object|Number|Array} identifiers - A valid node, node id or array of node identifiers
-		@param {optional Object} options
-	*/
-	Tree.prototype.revealNode = function (identifiers, options) {
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			var parentNode = this.getParent(node);
-			while (parentNode) {
-				this.setExpandedState(parentNode, true, options);
-				parentNode = this.getParent(parentNode);
-			};
-		}, this));
-
-		this.render();
-	};
-
-	/**
-		Toggles a nodes expanded state; collapsing if expanded, expanding if collapsed.
-		@param {Object|Number} identifiers - A valid node, node id or array of node identifiers
-		@param {optional Object} options
-	*/
-	Tree.prototype.toggleNodeExpanded = function (identifiers, options) {
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.toggleExpandedState(node, options);
-		}, this));
-		
-		this.render();
-	};
-
-
-	/**
-		Check all tree nodes
-		@param {optional Object} options
-	*/
-	Tree.prototype.checkAll = function (options) {
-		var identifiers = this.findNodes('false', 'g', 'state.checked');
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.setCheckedState(node, true, options);
-		}, this));
-
-		this.render();
-	};
-
-	/**
-		Check a given tree node
-		@param {Object|Number} identifiers - A valid node, node id or array of node identifiers
-		@param {optional Object} options
-	*/
-	Tree.prototype.checkNode = function (identifiers, options) {
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.setCheckedState(node, true, options);
-		}, this));
-
-		this.render();
-	};
-
-	/**
-		Uncheck all tree nodes
-		@param {optional Object} options
-	*/
-	Tree.prototype.uncheckAll = function (options) {
-		var identifiers = this.findNodes('true', 'g', 'state.checked');
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.setCheckedState(node, false, options);
-		}, this));
-
-		this.render();
-	};
-
-	/**
-		Uncheck a given tree node
-		@param {Object|Number} identifiers - A valid node, node id or array of node identifiers
-		@param {optional Object} options
-	*/
-	Tree.prototype.uncheckNode = function (identifiers, options) {
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.setCheckedState(node, false, options);
-		}, this));
-
-		this.render();
-	};
-
-	/**
-		Toggles a nodes checked state; checking if unchecked, unchecking if checked.
-		@param {Object|Number} identifiers - A valid node, node id or array of node identifiers
-		@param {optional Object} options
-	*/
-	Tree.prototype.toggleNodeChecked = function (identifiers, options) {
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.toggleCheckedState(node, options);
-		}, this));
-
-		this.render();
-	};
-
-
-	/**
-		Disable all tree nodes
-		@param {optional Object} options
-	*/
-	Tree.prototype.disableAll = function (options) {
-		var identifiers = this.findNodes('false', 'g', 'state.disabled');
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.setDisabledState(node, true, options);
-		}, this));
-
-		this.render();
-	};
-
-	/**
-		Disable a given tree node
-		@param {Object|Number} identifiers - A valid node, node id or array of node identifiers
-		@param {optional Object} options
-	*/
-	Tree.prototype.disableNode = function (identifiers, options) {
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.setDisabledState(node, true, options);
-		}, this));
-
-		this.render();
-	};
-
-	/**
-		Enable all tree nodes
-		@param {optional Object} options
-	*/
-	Tree.prototype.enableAll = function (options) {
-		var identifiers = this.findNodes('true', 'g', 'state.disabled');
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.setDisabledState(node, false, options);
-		}, this));
-
-		this.render();
-	};
-
-	/**
-		Enable a given tree node
-		@param {Object|Number} identifiers - A valid node, node id or array of node identifiers
-		@param {optional Object} options
-	*/
-	Tree.prototype.enableNode = function (identifiers, options) {
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.setDisabledState(node, false, options);
-		}, this));
-
-		this.render();
-	};
-
-	/**
-		Toggles a nodes disabled state; disabling is enabled, enabling if disabled.
-		@param {Object|Number} identifiers - A valid node, node id or array of node identifiers
-		@param {optional Object} options
-	*/
-	Tree.prototype.toggleNodeDisabled = function (identifiers, options) {
-		this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
-			this.setDisabledState(node, !node.state.disabled, options);
-		}, this));
-
-		this.render();
-	};
-
-
-	/**
-		Common code for processing multiple identifiers
-	*/
-	Tree.prototype.forEachIdentifier = function (identifiers, options, callback) {
-
-		options = $.extend({}, _default.options, options);
-
-		if (!(identifiers instanceof Array)) {
-			identifiers = [identifiers];
-		}
-
-		$.each(identifiers, $.proxy(function (index, identifier) {
-			callback(this.identifyNode(identifier), options);
-		}, this));	
-	};
-
-	/*
-		Identifies a node from either a node id or object
-	*/
-	Tree.prototype.identifyNode = function (identifier) {
-		return ((typeof identifier) === 'number') ?
-						this.nodes[identifier] :
-						identifier;
-	};
-
-	/**
-		Searches the tree for nodes (text) that match given criteria
-		@param {String} pattern - A given string to match against
-		@param {optional Object} options - Search criteria options
-		@return {Array} nodes - Matching nodes
-	*/
-	Tree.prototype.search = function (pattern, options) {
-		options = $.extend({}, _default.searchOptions, options);
-
-		this.clearSearch({ render: false });
-
-		var results = [];
-		if (pattern && pattern.length > 0) {
-
-			if (options.exactMatch) {
-				pattern = '^' + pattern + '$';
-			}
-
-			var modifier = 'g';
-			if (options.ignoreCase) {
-				modifier += 'i';
-			}
-
-			results = this.findNodes(pattern, modifier);
-
-			// Add searchResult property to all matching nodes
-			// This will be used to apply custom styles
-			// and when identifying result to be cleared
-			$.each(results, function (index, node) {
-				node.searchResult = true;
-			})
-		}
-
-		// If revealResults, then render is triggered from revealNode
-		// otherwise we just call render.
-		if (options.revealResults) {
-			this.revealNode(results);
-		}
-		else {
-			this.render();
-		}
-
-		this.$element.trigger('searchComplete', $.extend(true, {}, results));
-
-		return results;
-	};
-
-	/**
-		Clears previous search results
-	*/
-	Tree.prototype.clearSearch = function (options) {
-
-		options = $.extend({}, { render: true }, options);
-
-		var results = $.each(this.findNodes('true', 'g', 'searchResult'), function (index, node) {
-			node.searchResult = false;
-		});
-
-		if (options.render) {
-			this.render();	
-		}
-		
-		this.$element.trigger('searchCleared', $.extend(true, {}, results));
-	};
-
-	/**
-		Find nodes that match a given criteria
-		@param {String} pattern - A given string to match against
-		@param {optional String} modifier - Valid RegEx modifiers
-		@param {optional String} attribute - Attribute to compare pattern against
-		@return {Array} nodes - Nodes that match your criteria
-	*/
-	Tree.prototype.findNodes = function (pattern, modifier, attribute) {
-
-		modifier = modifier || 'g';
-		attribute = attribute || 'text';
-
-		var _this = this;
-		return $.grep(this.nodes, function (node) {
-			var val = _this.getNodeValue(node, attribute);
-			if (typeof val === 'string') {
-				return val.match(new RegExp(pattern, modifier));
-			}
-		});
-	};
-
-	/**
-		Recursive find for retrieving nested attributes values
-		All values are return as strings, unless invalid
-		@param {Object} obj - Typically a node, could be any object
-		@param {String} attr - Identifies an object property using dot notation
-		@return {String} value - Matching attributes string representation
-	*/
-	Tree.prototype.getNodeValue = function (obj, attr) {
-		var index = attr.indexOf('.');
-		if (index > 0) {
-			var _obj = obj[attr.substring(0, index)];
-			var _attr = attr.substring(index + 1, attr.length);
-			return this.getNodeValue(_obj, _attr);
-		}
-		else {
-			if (obj.hasOwnProperty(attr)) {
-				return obj[attr].toString();
-			}
-			else {
-				return undefined;
-			}
-		}
-	};
-
-	var logError = function (message) {
-		if (window.console) {
-			window.console.error(message);
-		}
-	};
-
-	// Prevent against multiple instantiations,
-	// handle updates and method calls
-	$.fn[pluginName] = function (options, args) {
-
-		var result;
-
-		this.each(function () {
-			var _this = $.data(this, pluginName);
-			if (typeof options === 'string') {
-				if (!_this) {
-					logError('Not initialized, can not call method : ' + options);
-				}
-				else if (!$.isFunction(_this[options]) || options.charAt(0) === '_') {
-					logError('No such method : ' + options);
-				}
-				else {
-					if (!(args instanceof Array)) {
-						args = [ args ];
-					}
-					result = _this[options].apply(_this, args);
-				}
-			}
-			else if (typeof options === 'boolean') {
-				result = _this;
-			}
-			else {
-				$.data(this, pluginName, new Tree(this, $.extend(true, {}, options)));
-			}
-		});
-
-		return result || this;
-	};
-
-})(jQuery, window, document);
diff --git a/util/py_lib/seqan/dox/tpl/list.html b/util/py_lib/seqan/dox/tpl/list.html
deleted file mode 100644
index 154b73b..0000000
--- a/util/py_lib/seqan/dox/tpl/list.html
+++ /dev/null
@@ -1,14744 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html class="list">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
-      
-
-      
-      <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
-
-      <link rel="stylesheet" href="lib/bootstrap/css/bootstrap.css" type="text/css" media="screen" charset="utf-8" />
-      <script type="text/javascript" charset="utf-8" src="lib/bootstrap/js/bootstrap.min.js"></script>
-
-      <link rel="stylesheet" href="lib/bootstrap-multiselect/css/bootstrap-multiselect.css" type="text/css" media="screen" charset="utf-8" />
-      <script type="text/javascript" charset="utf-8" src="lib/bootstrap-multiselect/js/bootstrap-multiselect.js"></script>
-
-      <link rel="stylesheet" href="lib/bootstrap-treeview/css/bootstrap-treeview.css" type="text/css" media="screen" charset="utf-8" />
-      <script type="text/javascript" charset="utf-8" src="lib/bootstrap-treeview/js/bootstrap-treeview.js"></script>
-
-      <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
-      <link rel="stylesheet" href="css/common.less.css" type="text/css" media="screen" charset="utf-8" />
-      <script type="text/javascript" charset="utf-8" src="js/less.min.js"></script>
-      
-
-      
-      
-      <script type="text/javascript" charset="utf-8" src="lib/jquery-bbq/jquery.ba-bbq.min.js"></script>
-      <script type="text/javascript" charset="utf-8" src="js/jquery.smooth-scroll.js"></script>
-
-      <script type="text/javascript" charset="utf-8" src="js/link.data.js"></script>
-      <script type="text/javascript" charset="utf-8" src="js/lang_entities.js"></script>
-      <script type="text/javascript" charset="utf-8" src="js/search.data.js"></script>
-      <script type="text/javascript" charset="utf-8" src="js/search.data.module.js"></script>
-      <script type="text/javascript" charset="utf-8" src="js/search.engine.js"></script>
-      <script type="text/javascript" charset="utf-8" src="js/common.js"></script>
-      
-
-      <base id="base_target" target="_parent" />
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) {
-      document.getElementById('base_target').target = 'main';
-      document.body.className += ' frames';
-      }
-    </script>
-    <div id="content"><form role="form" id="search">
-        <div class="pre-action">
-            <h1><a href="page_mainpage.html" target="main"><span class="replace">SeqAn</span> API Documentation</a></h1>
-        </div>
-        <div class="input-group" style="z-index: 2">
-          <!--span class="input-group-addon"><b class="glyphicon glyphicon-search"></b></span-->
-          <span class="input-group-btn btn-group">
-            <select multiple="multiple">
-              <optgroup label="Concept related">
-		        <option value="typedef" selected>Typedefs</option>
-		        <option value="concept" selected>Concepts</option>
-		        <option value="class" selected>Classes</option>
-		        <option value="enum" selected>Enums</option>
-		      </optgroup>
-		      <optgroup label="Function related">
-		        <option value="metafunction" selected>Metafunctions</option>
-		        <option value="function" selected>Functions</option>
-		        <option value="tag" selected>Tags</option>
-		        <option value="variable" selected>Variables</option>
-		      </optgroup>
-		      <optgroup label="Miscellaneous">
-		        <option value="adaption" selected>Adaptions</option>
-		        <option value="macro" selected>Macros</option>
-		        <option value="group" selected>Groups</option>
-		        <option value="page" selected>Pages</option>
-		      </optgroup>
-            </select>
-	        <!--button class="btn btn-primary">Select All</button-->
-          </span>
-          <input type="search" class="form-control" id="search_input" placeholder="Search the API ..." tabindex="0">
-          </div>
-        </form>
-
-        <div id="results">
-          <ol class="results">
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_AbndmAlgoPattern.html" target="main">AbndmAlgoPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_AbndmAlgoPattern.html" target="main">specialization_AbndmAlgoPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Accumulator.html" target="main">Accumulator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Accumulator.html" target="main">class_Accumulator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_AdaptorIterator.html" target="main">AdaptorIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_AdaptorIterator.html" target="main">specialization_AdaptorIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_addToProfile.html" target="main">addToProfile</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_addToProfile.html" target="main">global_function_addToProfile.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_AdjacencyIterator.html" target="main">AdjacencyIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_AdjacencyIterator.html" target="main">specialization_AdjacencyIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_AFScore.html" target="main">AFScore</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_AFScore.html" target="main">class_AFScore.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_AggregateConcept.html" target="main">AggregateConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_AggregateConcept.html" target="main">concept_AggregateConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_AggregateTags.html" target="main">AggregateTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_AggregateTags.html" target="main">group_AggregateTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_AhoCorasickPattern.html" target="main">AhoCorasickPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_AhoCorasickPattern.html" target="main">specialization_AhoCorasickPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Align.html" target="main">Align</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Align.html" target="main">class_Align.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_AlignColIterator.html" target="main">AlignColIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_AlignColIterator.html" target="main">specialization_AlignColIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_AlignCols.html" target="main">AlignCols</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_AlignCols.html" target="main">class_AlignCols.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_AlignConfig.html" target="main">AlignConfig</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_AlignConfig.html" target="main">class_AlignConfig.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_AlignedReadLayout.html" target="main">AlignedReadLayout</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_AlignedReadLayout.html" target="main">class_AlignedReadLayout.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_AlignedReadStoreElement.html" target="main">AlignedReadStoreElement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_AlignedReadStoreElement.html" target="main">class_AlignedReadStoreElement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_AlignmentAlgorithmTags.html" target="main">AlignmentAlgorithmTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_AlignmentAlgorithmTags.html" target="main">group_AlignmentAlgorithmTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_alignmentEvaluation.html" target="main">alignmentEvaluation</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_alignmentEvaluation.html" target="main">global_function_alignmentEvaluation.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_alignmentFreeComparison.html" target="main">alignmentFreeComparison</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_alignmentFreeComparison.html" target="main">global_function_alignmentFreeComparison.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_AlignmentGraph.html" target="main">AlignmentGraph</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_AlignmentGraph.html" target="main">specialization_AlignmentGraph.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_AlignmentGraphCombinationTags.html" target="main">AlignmentGraphCombinationTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_AlignmentGraphCombinationTags.html" target="main">group_AlignmentGraphCombinationTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_AlignmentGraphFormatTags.html" target="main">AlignmentGraphFormatTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_AlignmentGraphFormatTags.html" target="main">group_AlignmentGraphFormatTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_AlignmentStats.html" target="main">AlignmentStats</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_AlignmentStats.html" target="main">class_AlignmentStats.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_AlignQualityStoreElement.html" target="main">AlignQualityStoreElement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_AlignQualityStoreElement.html" target="main">class_AlignQualityStoreElement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_AlignTraceback.html" target="main">AlignTraceback</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_AlignTraceback.html" target="main">class_AlignTraceback.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Allocator.html" target="main">Allocator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Allocator.html" target="main">class_Allocator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_AllocatorUsageTags.html" target="main">AllocatorUsageTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_AllocatorUsageTags.html" target="main">group_AllocatorUsageTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_AllocString.html" target="main">AllocString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_AllocString.html" target="main">specialization_AllocString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_AllowsFastRandomAccess.html" target="main">AllowsFastRandomAccess</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_AllowsFastRandomAccess.html" target="main">global_metafunction_AllowsFastRandomAccess.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_allPairsShortestPath.html" target="main">allPairsShortestPath</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_allPairsShortestPath.html" target="main">global_function_allPairsShortestPath.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_AlphabetConcept.html" target="main">AlphabetConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_AlphabetConcept.html" target="main">concept_AlphabetConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_AlphabetExpansion.html" target="main">AlphabetExpansion</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_AlphabetExpansion.html" target="main">class_AlphabetExpansion.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_AlphabetWithGapsConcept.html" target="main">AlphabetWithGapsConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_AlphabetWithGapsConcept.html" target="main">concept_AlphabetWithGapsConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_AlphabetWithQualitiesConcept.html" target="main">AlphabetWithQualitiesConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_AlphabetWithQualitiesConcept.html" target="main">concept_AlphabetWithQualitiesConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_AlphabetWithUnknownValueConcept.html" target="main">AlphabetWithUnknownValueConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_AlphabetWithUnknownValueConcept.html" target="main">concept_AlphabetWithUnknownValueConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_AminoAcid.html" target="main">AminoAcid</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_AminoAcid.html" target="main">specialization_AminoAcid.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_AminoAcidScoreMatrixID.html" target="main">AminoAcidScoreMatrixID</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_AminoAcidScoreMatrixID.html" target="main">enum_AminoAcidScoreMatrixID.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_AnchorGaps.html" target="main">AnchorGaps</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_AnchorGaps.html" target="main">specialization_AnchorGaps.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_AnnotationStoreElement.html" target="main">AnnotationStoreElement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_AnnotationStoreElement.html" target="main">class_AnnotationStoreElement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_AnnotationTreeIterator.html" target="main">AnnotationTreeIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_AnnotationTreeIterator.html" target="main">specialization_AnnotationTreeIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_ApproximateFinderSearchTypeTags.html" target="main">ApproximateFinderSearchTypeTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_ApproximateFinderSearchTypeTags.html" target="main">group_ApproximateFinderSearchTypeTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ArgParseArgument.html" target="main">ArgParseArgument</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ArgParseArgument.html" target="main">class_ArgParseArgument.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_ArgParseArgument_58_58ArgumentType.html" target="main">ArgParseArgument::ArgumentType</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_ArgParseArgument_58_58ArgumentType.html" target="main">enum_ArgParseArgument_58_58ArgumentType.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ArgParseOption.html" target="main">ArgParseOption</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ArgParseOption.html" target="main">specialization_ArgParseOption.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ArgumentParser.html" target="main">ArgumentParser</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ArgumentParser.html" target="main">class_ArgumentParser.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_ArgumentParser_58_58ParseResult.html" target="main">ArgumentParser::ParseResult</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_ArgumentParser_58_58ParseResult.html" target="main">enum_ArgumentParser_58_58ParseResult.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_arrayClearSpace.html" target="main">arrayClearSpace</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_arrayClearSpace.html" target="main">global_function_arrayClearSpace.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_arrayConstruct.html" target="main">arrayConstruct</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_arrayConstruct.html" target="main">global_function_arrayConstruct.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_arrayConstructCopy.html" target="main">arrayConstructCopy</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_arrayConstructCopy.html" target="main">global_function_arrayConstructCopy.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_arrayConstructMove.html" target="main">arrayConstructMove</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_arrayConstructMove.html" target="main">global_function_arrayConstructMove.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_arrayCopy.html" target="main">arrayCopy</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_arrayCopy.html" target="main">global_function_arrayCopy.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_arrayCopyBackward.html" target="main">arrayCopyBackward</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_arrayCopyBackward.html" target="main">global_function_arrayCopyBackward.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_arrayCopyForward.html" target="main">arrayCopyForward</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_arrayCopyForward.html" target="main">global_function_arrayCopyForward.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_arrayDestruct.html" target="main">arrayDestruct</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_arrayDestruct.html" target="main">global_function_arrayDestruct.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_arrayFill.html" target="main">arrayFill</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_arrayFill.html" target="main">global_function_arrayFill.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ArrayGaps.html" target="main">ArrayGaps</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ArrayGaps.html" target="main">specialization_ArrayGaps.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_arrayMove.html" target="main">arrayMove</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_arrayMove.html" target="main">global_function_arrayMove.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_arrayMoveBackward.html" target="main">arrayMoveBackward</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_arrayMoveBackward.html" target="main">global_function_arrayMoveBackward.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_arrayMoveForward.html" target="main">arrayMoveForward</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_arrayMoveForward.html" target="main">global_function_arrayMoveForward.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ArrayString.html" target="main">ArrayString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ArrayString.html" target="main">specialization_ArrayString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_AssertMacros.html" target="main">AssertMacros</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_AssertMacros.html" target="main">group_AssertMacros.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_AssignableConcept.html" target="main">AssignableConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_AssignableConcept.html" target="main">concept_AssignableConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_assignQualities.html" target="main">assignQualities</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_assignQualities.html" target="main">global_function_assignQualities.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_assignTagsBamToSam.html" target="main">assignTagsBamToSam</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_assignTagsBamToSam.html" target="main">global_function_assignTagsBamToSam.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_assignTagsSamToBam.html" target="main">assignTagsSamToBam</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_assignTagsSamToBam.html" target="main">global_function_assignTagsSamToBam.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_AsyncFile.html" target="main">AsyncFile</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_AsyncFile.html" target="main">specialization_AsyncFile.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_AsyncRequest.html" target="main">AsyncRequest</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_AsyncRequest.html" target="main">class_AsyncRequest.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_atomicMax.html" target="main">atomicMax</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_atomicMax.html" target="main">global_function_atomicMax.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_atomicMin.html" target="main">atomicMin</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_atomicMin.html" target="main">global_function_atomicMin.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_AtomicPrimitives.html" target="main">AtomicPrimitives</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_AtomicPrimitives.html" target="main">group_AtomicPrimitives.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Automaton.html" target="main">Automaton</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Automaton.html" target="main">specialization_Automaton.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_AutoSeqFormat.html" target="main">AutoSeqFormat</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_AutoSeqFormat.html" target="main">specialization_AutoSeqFormat.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_AverageAccumulator.html" target="main">AverageAccumulator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_AverageAccumulator.html" target="main">specialization_AverageAccumulator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BadAlloc.html" target="main">BadAlloc</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BadAlloc.html" target="main">class_BadAlloc.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BadCast.html" target="main">BadCast</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BadCast.html" target="main">class_BadCast.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BadLexicalCast.html" target="main">BadLexicalCast</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BadLexicalCast.html" target="main">specialization_BadLexicalCast.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BaiBamIndex.html" target="main">BaiBamIndex</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BaiBamIndex.html" target="main">specialization_BaiBamIndex.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="variable" data-pimped="true">
-              <span data-lang-entity="variable"><a href="page_LanguageEntities.html#variable">var</a><span>var</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="variable" data-pimped="true">
-                    <a href="page_LanguageEntities.html#variable">var</a>
-                    <a href="variable_BAM_95FLAG_95SUPPLEMENTARY_32_61_320x0800.html" target="main">BAM_FLAG_SUPPLEMENTARY = 0x0800</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="variable_BAM_95FLAG_95SUPPLEMENTARY_32_61_320x0800.html" target="main">variable_BAM_95FLAG_95SUPPLEMENTARY_32_61_320x0800.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BamAlignmentRecord.html" target="main">BamAlignmentRecord</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BamAlignmentRecord.html" target="main">class_BamAlignmentRecord.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BamFileIn.html" target="main">BamFileIn</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BamFileIn.html" target="main">specialization_BamFileIn.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BamFileOut.html" target="main">BamFileOut</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BamFileOut.html" target="main">specialization_BamFileOut.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_BamFlags.html" target="main">BamFlags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_BamFlags.html" target="main">enum_BamFlags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BamHeader.html" target="main">BamHeader</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BamHeader.html" target="main">class_BamHeader.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BamHeaderRecord.html" target="main">BamHeaderRecord</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BamHeaderRecord.html" target="main">class_BamHeaderRecord.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_BamHeaderRecordType.html" target="main">BamHeaderRecordType</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_BamHeaderRecordType.html" target="main">enum_BamHeaderRecordType.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BamIndex.html" target="main">BamIndex</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BamIndex.html" target="main">class_BamIndex.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BamIOContext.html" target="main">BamIOContext</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BamIOContext.html" target="main">class_BamIOContext.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_BamIOContextMemberTag.html" target="main">BamIOContextMemberTag</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_BamIOContextMemberTag.html" target="main">group_BamIOContextMemberTag.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_BamSortOrder.html" target="main">BamSortOrder</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_BamSortOrder.html" target="main">enum_BamSortOrder.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BamTagsDict.html" target="main">BamTagsDict</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BamTagsDict.html" target="main">class_BamTagsDict.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_bandedChainAlignment.html" target="main">bandedChainAlignment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_bandedChainAlignment.html" target="main">global_function_bandedChainAlignment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BandedLocalAlignmentEnumerator.html" target="main">BandedLocalAlignmentEnumerator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BandedLocalAlignmentEnumerator.html" target="main">specialization_BandedLocalAlignmentEnumerator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_BasicStream.html" target="main">BasicStream</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_BasicStream.html" target="main">global_metafunction_BasicStream.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Bed12Record.html" target="main">Bed12Record</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Bed12Record.html" target="main">specialization_Bed12Record.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Bed3Record.html" target="main">Bed3Record</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Bed3Record.html" target="main">specialization_Bed3Record.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Bed4Record.html" target="main">Bed4Record</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Bed4Record.html" target="main">specialization_Bed4Record.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Bed5Record.html" target="main">Bed5Record</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Bed5Record.html" target="main">specialization_Bed5Record.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Bed6Record.html" target="main">Bed6Record</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Bed6Record.html" target="main">specialization_Bed6Record.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BedFileIn.html" target="main">BedFileIn</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BedFileIn.html" target="main">specialization_BedFileIn.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BedFileOut.html" target="main">BedFileOut</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BedFileOut.html" target="main">specialization_BedFileOut.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BedRecord.html" target="main">BedRecord</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BedRecord.html" target="main">class_BedRecord.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BedRgb.html" target="main">BedRgb</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BedRgb.html" target="main">class_BedRgb.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_bellmanFordAlgorithm.html" target="main">bellmanFordAlgorithm</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_bellmanFordAlgorithm.html" target="main">global_function_bellmanFordAlgorithm.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BetaDistribution.html" target="main">BetaDistribution</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BetaDistribution.html" target="main">class_BetaDistribution.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BfamPattern.html" target="main">BfamPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BfamPattern.html" target="main">specialization_BfamPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BfsIterator.html" target="main">BfsIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BfsIterator.html" target="main">specialization_BfsIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BidirectionalIndex.html" target="main">BidirectionalIndex</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BidirectionalIndex.html" target="main">class_BidirectionalIndex.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_BidirectionalIteratorConcept.html" target="main">BidirectionalIteratorConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_BidirectionalIteratorConcept.html" target="main">concept_BidirectionalIteratorConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_BidirectionalStreamConcept.html" target="main">BidirectionalStreamConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_BidirectionalStreamConcept.html" target="main">concept_BidirectionalStreamConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BitPackedPair.html" target="main">BitPackedPair</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BitPackedPair.html" target="main">specialization_BitPackedPair.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BitPackedTuple.html" target="main">BitPackedTuple</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BitPackedTuple.html" target="main">specialization_BitPackedTuple.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_bitScanForward.html" target="main">bitScanForward</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_bitScanForward.html" target="main">global_function_bitScanForward.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_bitScanReverse.html" target="main">bitScanReverse</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_bitScanReverse.html" target="main">global_function_bitScanReverse.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BlastIOContext.html" target="main">BlastIOContext</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BlastIOContext.html" target="main">class_BlastIOContext.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BlastMatch.html" target="main">BlastMatch</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BlastMatch.html" target="main">class_BlastMatch.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BlastMatchField.html" target="main">BlastMatchField</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BlastMatchField.html" target="main">class_BlastMatchField.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_BlastMatchField_58_58Enum.html" target="main">BlastMatchField::Enum</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_BlastMatchField_58_58Enum.html" target="main">enum_BlastMatchField_58_58Enum.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_BlastProgram.html" target="main">BlastProgram</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_BlastProgram.html" target="main">enum_BlastProgram.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BlastProgramSelector.html" target="main">BlastProgramSelector</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BlastProgramSelector.html" target="main">class_BlastProgramSelector.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BlastRecord.html" target="main">BlastRecord</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BlastRecord.html" target="main">class_BlastRecord.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BlastReport.html" target="main">BlastReport</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BlastReport.html" target="main">class_BlastReport.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BlastReportFileOut.html" target="main">BlastReportFileOut</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BlastReportFileOut.html" target="main">specialization_BlastReportFileOut.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BlastScoringScheme.html" target="main">BlastScoringScheme</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BlastScoringScheme.html" target="main">class_BlastScoringScheme.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BlastTabular.html" target="main">BlastTabular</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BlastTabular.html" target="main">class_BlastTabular.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BlastTabularFileIn.html" target="main">BlastTabularFileIn</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BlastTabularFileIn.html" target="main">specialization_BlastTabularFileIn.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BlastTabularFileOut.html" target="main">BlastTabularFileOut</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BlastTabularFileOut.html" target="main">specialization_BlastTabularFileOut.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BlastTabularLL.html" target="main">BlastTabularLL</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BlastTabularLL.html" target="main">class_BlastTabularLL.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_BlastTabularSpec.html" target="main">BlastTabularSpec</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_BlastTabularSpec.html" target="main">enum_BlastTabularSpec.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BlastTabularSpecSelector.html" target="main">BlastTabularSpecSelector</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BlastTabularSpecSelector.html" target="main">class_BlastTabularSpecSelector.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BlockString.html" target="main">BlockString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BlockString.html" target="main">specialization_BlockString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Blosum30.html" target="main">Blosum30</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Blosum30.html" target="main">global_typedef_Blosum30.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Blosum45.html" target="main">Blosum45</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Blosum45.html" target="main">global_typedef_Blosum45.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Blosum62.html" target="main">Blosum62</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Blosum62.html" target="main">global_typedef_Blosum62.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Blosum80.html" target="main">Blosum80</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Blosum80.html" target="main">global_typedef_Blosum80.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BndmAlgoPattern.html" target="main">BndmAlgoPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BndmAlgoPattern.html" target="main">specialization_BndmAlgoPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_BottomUp.html" target="main">BottomUp</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_BottomUp.html" target="main">group_BottomUp.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_BottomUpIterator.html" target="main">BottomUpIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_BottomUpIterator.html" target="main">specialization_BottomUpIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_breadthFirstSearch.html" target="main">breadthFirstSearch</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_breadthFirstSearch.html" target="main">global_function_breadthFirstSearch.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_BufferedStream.html" target="main">BufferedStream</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_BufferedStream.html" target="main">class_BufferedStream.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_buildAlignmentGraph.html" target="main">buildAlignmentGraph</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_buildAlignmentGraph.html" target="main">global_function_buildAlignmentGraph.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_bundle2.html" target="main">bundle2</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_bundle2.html" target="main">global_function_bundle2.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Bundle2.html" target="main">Bundle2</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Bundle2.html" target="main">class_Bundle2.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_bundle3.html" target="main">bundle3</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_bundle3.html" target="main">global_function_bundle3.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Bundle3.html" target="main">Bundle3</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Bundle3.html" target="main">class_Bundle3.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_bundle5.html" target="main">bundle5</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_bundle5.html" target="main">global_function_bundle5.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Bundle5.html" target="main">Bundle5</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Bundle5.html" target="main">class_Bundle5.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_BytesPerValue.html" target="main">BytesPerValue</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_BytesPerValue.html" target="main">global_metafunction_BytesPerValue.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_calcBetaDistParam.html" target="main">calcBetaDistParam</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_calcBetaDistParam.html" target="main">global_function_calcBetaDistParam.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_calcLogNormalDistParam.html" target="main">calcLogNormalDistParam</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_calcLogNormalDistParam.html" target="main">global_function_calcLogNormalDistParam.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_calculateCovariance.html" target="main">calculateCovariance</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_calculateCovariance.html" target="main">global_function_calculateCovariance.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_calculateOverlapIndicator.html" target="main">calculateOverlapIndicator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_calculateOverlapIndicator.html" target="main">global_function_calculateOverlapIndicator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_calculatePeriodicity.html" target="main">calculatePeriodicity</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_calculatePeriodicity.html" target="main">global_function_calculatePeriodicity.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_calculateProbability.html" target="main">calculateProbability</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_calculateProbability.html" target="main">global_function_calculateProbability.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_calculateVariance.html" target="main">calculateVariance</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_calculateVariance.html" target="main">global_function_calculateVariance.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Cargo.html" target="main">Cargo</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Cargo.html" target="main">global_metafunction_Cargo.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Caster.html" target="main">Caster</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Caster.html" target="main">specialization_Caster.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ChainedSeed.html" target="main">ChainedSeed</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ChainedSeed.html" target="main">specialization_ChainedSeed.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_chainSeedsGlobally.html" target="main">chainSeedsGlobally</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_chainSeedsGlobally.html" target="main">global_function_chainSeedsGlobally.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_CharIterator.html" target="main">CharIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_CharIterator.html" target="main">global_typedef_CharIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_CharString.html" target="main">CharString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_CharString.html" target="main">global_typedef_CharString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Chunk.html" target="main">Chunk</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Chunk.html" target="main">global_metafunction_Chunk.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_CigarElement.html" target="main">CigarElement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_CigarElement.html" target="main">class_CigarElement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_clearAllBits.html" target="main">clearAllBits</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_clearAllBits.html" target="main">global_function_clearAllBits.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_clearBit.html" target="main">clearBit</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_clearBit.html" target="main">global_function_clearBit.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_ComparableConcept.html" target="main">ComparableConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_ComparableConcept.html" target="main">concept_ComparableConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Comparator.html" target="main">Comparator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Comparator.html" target="main">global_metafunction_Comparator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_CompareType.html" target="main">CompareType</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_CompareType.html" target="main">global_metafunction_CompareType.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_CompareTypeImpl.html" target="main">CompareTypeImpl</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_CompareTypeImpl.html" target="main">global_metafunction_CompareTypeImpl.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_complement.html" target="main">complement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_complement.html" target="main">global_function_complement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_CompressedSA.html" target="main">CompressedSA</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_CompressedSA.html" target="main">class_CompressedSA.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_CompressedSAFibres.html" target="main">CompressedSAFibres</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_CompressedSAFibres.html" target="main">group_CompressedSAFibres.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_computeAlignmentStats.html" target="main">computeAlignmentStats</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_computeAlignmentStats.html" target="main">global_function_computeAlignmentStats.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_computeSplitters.html" target="main">computeSplitters</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_computeSplitters.html" target="main">global_function_computeSplitters.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ConcatDirectStringSet.html" target="main">ConcatDirectStringSet</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ConcatDirectStringSet.html" target="main">specialization_ConcatDirectStringSet.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ConcatenatorManyToOne.html" target="main">ConcatenatorManyToOne</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ConcatenatorManyToOne.html" target="main">class_ConcatenatorManyToOne.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ConcatVirtualIterator.html" target="main">ConcatVirtualIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ConcatVirtualIterator.html" target="main">specialization_ConcatVirtualIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_ConceptChecking.html" target="main">ConceptChecking</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_ConceptChecking.html" target="main">group_ConceptChecking.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ConcurrentQueue.html" target="main">ConcurrentQueue</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ConcurrentQueue.html" target="main">class_ConcurrentQueue.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ConcurrentSuspendableQueue.html" target="main">ConcurrentSuspendableQueue</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ConcurrentSuspendableQueue.html" target="main">specialization_ConcurrentSuspendableQueue.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_connectedComponents.html" target="main">connectedComponents</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_connectedComponents.html" target="main">global_function_connectedComponents.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ConsensusAlignerIllegalArgumentException.html" target="main">ConsensusAlignerIllegalArgumentException</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ConsensusAlignerIllegalArgumentException.html" target="main">class_ConsensusAlignerIllegalArgumentException.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_consensusAlignment.html" target="main">consensusAlignment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_consensusAlignment.html" target="main">global_function_consensusAlignment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ConsensusAlignmentOptions.html" target="main">ConsensusAlignmentOptions</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ConsensusAlignmentOptions.html" target="main">class_ConsensusAlignmentOptions.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ConsensusScoreSequenceEntry.html" target="main">ConsensusScoreSequenceEntry</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ConsensusScoreSequenceEntry.html" target="main">class_ConsensusScoreSequenceEntry.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_ContainerConcept.html" target="main">ContainerConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_ContainerConcept.html" target="main">concept_ContainerConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_ContainerIteratorTags.html" target="main">ContainerIteratorTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_ContainerIteratorTags.html" target="main">group_ContainerIteratorTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ContainerView.html" target="main">ContainerView</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ContainerView.html" target="main">class_ContainerView.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ContigFile.html" target="main">ContigFile</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ContigFile.html" target="main">class_ContigFile.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ContigStoreElement.html" target="main">ContigStoreElement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ContigStoreElement.html" target="main">class_ContigStoreElement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_convert.html" target="main">convert</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_convert.html" target="main">global_function_convert.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Convert.html" target="main">Convert</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Convert.html" target="main">global_metafunction_Convert.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_ConvertibleConcept.html" target="main">ConvertibleConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_ConvertibleConcept.html" target="main">concept_ConvertibleConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_convertImpl.html" target="main">convertImpl</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_convertImpl.html" target="main">global_function_convertImpl.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_convertQuality.html" target="main">convertQuality</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_convertQuality.html" target="main">global_function_convertQuality.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_CopyConstructibleConcept.html" target="main">CopyConstructibleConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_CopyConstructibleConcept.html" target="main">concept_CopyConstructibleConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Counter.html" target="main">Counter</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Counter.html" target="main">specialization_Counter.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_CountingIdManager.html" target="main">CountingIdManager</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_CountingIdManager.html" target="main">specialization_CountingIdManager.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_countKmers.html" target="main">countKmers</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_countKmers.html" target="main">global_function_countKmers.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_cpuTime.html" target="main">cpuTime</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_cpuTime.html" target="main">global_function_cpuTime.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_createBWTable.html" target="main">createBWTable</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_createBWTable.html" target="main">global_function_createBWTable.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_createInvSuffixArray.html" target="main">createInvSuffixArray</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_createInvSuffixArray.html" target="main">global_function_createInvSuffixArray.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_createLcpTable.html" target="main">createLcpTable</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_createLcpTable.html" target="main">global_function_createLcpTable.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_createSuffixArray.html" target="main">createSuffixArray</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_createSuffixArray.html" target="main">global_function_createSuffixArray.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_CStyleString.html" target="main">CStyleString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_CStyleString.html" target="main">specialization_CStyleString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_cutNs.html" target="main">cutNs</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_cutNs.html" target="main">global_function_cutNs.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_CyclicShape.html" target="main">CyclicShape</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_CyclicShape.html" target="main">class_CyclicShape.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_D2AFScore.html" target="main">D2AFScore</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_D2AFScore.html" target="main">specialization_D2AFScore.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_D2StarAFScore.html" target="main">D2StarAFScore</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_D2StarAFScore.html" target="main">specialization_D2StarAFScore.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_D2zAFScore.html" target="main">D2zAFScore</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_D2zAFScore.html" target="main">specialization_D2zAFScore.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_dagShortestPath.html" target="main">dagShortestPath</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_dagShortestPath.html" target="main">global_function_dagShortestPath.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_DeepestSpec.html" target="main">DeepestSpec</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_DeepestSpec.html" target="main">global_metafunction_DeepestSpec.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="tag" data-pimped="true">
-              <span data-lang-entity="tag"><a href="page_LanguageEntities.html#tag">Tag</a><span>Tag</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="tag" data-pimped="true">
-                    <a href="page_LanguageEntities.html#tag">Tag</a>
-                    <a href="tag_Default.html" target="main">Default</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="tag_Default.html" target="main">tag_Default.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_DefaultConstructibleConcept.html" target="main">DefaultConstructibleConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_DefaultConstructibleConcept.html" target="main">concept_DefaultConstructibleConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_DefaultFindBeginPatternSpec.html" target="main">DefaultFindBeginPatternSpec</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_DefaultFindBeginPatternSpec.html" target="main">global_metafunction_DefaultFindBeginPatternSpec.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_DefaultFinder.html" target="main">DefaultFinder</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_DefaultFinder.html" target="main">global_metafunction_DefaultFinder.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_DefaultJstConfig.html" target="main">DefaultJstConfig</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_DefaultJstConfig.html" target="main">class_DefaultJstConfig.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_DefaultOverflowExplicit.html" target="main">DefaultOverflowExplicit</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_DefaultOverflowExplicit.html" target="main">global_metafunction_DefaultOverflowExplicit.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_DefaultOverflowImplicit.html" target="main">DefaultOverflowImplicit</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_DefaultOverflowImplicit.html" target="main">global_metafunction_DefaultOverflowImplicit.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_DefaultPattern.html" target="main">DefaultPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_DefaultPattern.html" target="main">global_metafunction_DefaultPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_DefaultPrefixOrder.html" target="main">DefaultPrefixOrder</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_DefaultPrefixOrder.html" target="main">global_metafunction_DefaultPrefixOrder.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_defaultRng.html" target="main">defaultRng</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_defaultRng.html" target="main">global_function_defaultRng.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_DefaultSeedConfig.html" target="main">DefaultSeedConfig</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_DefaultSeedConfig.html" target="main">class_DefaultSeedConfig.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_DeltaMap.html" target="main">DeltaMap</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_DeltaMap.html" target="main">class_DeltaMap.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_DeltaMapIterator.html" target="main">DeltaMapIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_DeltaMapIterator.html" target="main">specialization_DeltaMapIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_DeltaType.html" target="main">DeltaType</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_DeltaType.html" target="main">enum_DeltaType.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_DeltaTypeTags.html" target="main">DeltaTypeTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_DeltaTypeTags.html" target="main">group_DeltaTypeTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            
-            
-            
-            
-            
-            
-            
-            
-            
-            
-            
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_DependentStringSet.html" target="main">DependentStringSet</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_DependentStringSet.html" target="main">specialization_DependentStringSet.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_depthFirstSearch.html" target="main">depthFirstSearch</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_depthFirstSearch.html" target="main">global_function_depthFirstSearch.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Deque.html" target="main">Deque</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Deque.html" target="main">class_Deque.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_DestructibleConcept.html" target="main">DestructibleConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_DestructibleConcept.html" target="main">concept_DestructibleConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Device.html" target="main">Device</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Device.html" target="main">global_metafunction_Device.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_DfiIndexFibres.html" target="main">DfiIndexFibres</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_DfiIndexFibres.html" target="main">group_DfiIndexFibres.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_DfsOrder.html" target="main">DfsOrder</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_DfsOrder.html" target="main">group_DfsOrder.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_DfsPreorderIterator.html" target="main">DfsPreorderIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_DfsPreorderIterator.html" target="main">specialization_DfsPreorderIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Difference.html" target="main">Difference</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Difference.html" target="main">global_metafunction_Difference.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_dijkstra.html" target="main">dijkstra</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_dijkstra.html" target="main">global_function_dijkstra.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_DirectedGraph.html" target="main">DirectedGraph</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_DirectedGraph.html" target="main">specialization_DirectedGraph.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_DirectionTags.html" target="main">DirectionTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_DirectionTags.html" target="main">group_DirectionTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_DistanceCalculationTags.html" target="main">DistanceCalculationTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_DistanceCalculationTags.html" target="main">group_DistanceCalculationTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Dna.html" target="main">Dna</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Dna.html" target="main">specialization_Dna.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Dna5.html" target="main">Dna5</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Dna5.html" target="main">specialization_Dna5.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Dna5Iterator.html" target="main">Dna5Iterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Dna5Iterator.html" target="main">global_typedef_Dna5Iterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Dna5Q.html" target="main">Dna5Q</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Dna5Q.html" target="main">specialization_Dna5Q.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Dna5QString.html" target="main">Dna5QString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Dna5QString.html" target="main">global_typedef_Dna5QString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Dna5String.html" target="main">Dna5String</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Dna5String.html" target="main">global_typedef_Dna5String.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Dna5StringComplement.html" target="main">Dna5StringComplement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Dna5StringComplement.html" target="main">global_typedef_Dna5StringComplement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Dna5StringReverse.html" target="main">Dna5StringReverse</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Dna5StringReverse.html" target="main">global_typedef_Dna5StringReverse.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Dna5StringReverseComplement.html" target="main">Dna5StringReverseComplement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Dna5StringReverseComplement.html" target="main">global_typedef_Dna5StringReverseComplement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_DnaIterator.html" target="main">DnaIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_DnaIterator.html" target="main">global_typedef_DnaIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_DnaQ.html" target="main">DnaQ</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_DnaQ.html" target="main">specialization_DnaQ.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_DnaQString.html" target="main">DnaQString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_DnaQString.html" target="main">global_typedef_DnaQString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_DnaString.html" target="main">DnaString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_DnaString.html" target="main">global_typedef_DnaString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_DnaStringComplement.html" target="main">DnaStringComplement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_DnaStringComplement.html" target="main">global_typedef_DnaStringComplement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_DnaStringReverse.html" target="main">DnaStringReverse</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_DnaStringReverse.html" target="main">global_typedef_DnaStringReverse.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_DnaStringReverseComplement.html" target="main">DnaStringReverseComplement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_DnaStringReverseComplement.html" target="main">global_typedef_DnaStringReverseComplement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="tag" data-pimped="true">
-              <span data-lang-entity="tag"><a href="page_LanguageEntities.html#tag">Tag</a><span>Tag</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="tag" data-pimped="true">
-                    <a href="page_LanguageEntities.html#tag">Tag</a>
-                    <a href="tag_DotDrawing.html" target="main">DotDrawing</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="tag_DotDrawing.html" target="main">tag_DotDrawing.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_DPBand.html" target="main">DPBand</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_DPBand.html" target="main">global_typedef_DPBand.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_DPBandConfig.html" target="main">DPBandConfig</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_DPBandConfig.html" target="main">class_DPBandConfig.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_DPBandSwitch.html" target="main">DPBandSwitch</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_DPBandSwitch.html" target="main">group_DPBandSwitch.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_DPSearchPattern.html" target="main">DPSearchPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_DPSearchPattern.html" target="main">specialization_DPSearchPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Echoer.html" target="main">Echoer</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Echoer.html" target="main">specialization_Echoer.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_EdgeIterator.html" target="main">EdgeIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_EdgeIterator.html" target="main">specialization_EdgeIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_EdgeStump.html" target="main">EdgeStump</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_EdgeStump.html" target="main">class_EdgeStump.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="tag" data-pimped="true">
-              <span data-lang-entity="tag"><a href="page_LanguageEntities.html#tag">Tag</a><span>Tag</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="tag" data-pimped="true">
-                    <a href="page_LanguageEntities.html#tag">Tag</a>
-                    <a href="tag_EditDistance.html" target="main">EditDistance</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="tag_EditDistance.html" target="main">tag_EditDistance.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_EditDistanceScore.html" target="main">EditDistanceScore</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_EditDistanceScore.html" target="main">specialization_EditDistanceScore.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_EditDistanceScoreTypedef.html" target="main">EditDistanceScoreTypedef</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_EditDistanceScoreTypedef.html" target="main">global_typedef_EditDistanceScoreTypedef.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_EditEnvironment.html" target="main">EditEnvironment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_EditEnvironment.html" target="main">specialization_EditEnvironment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_EmptyFieldError.html" target="main">EmptyFieldError</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_EmptyFieldError.html" target="main">specialization_EmptyFieldError.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_EnableIfFunctionality.html" target="main">EnableIfFunctionality</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_EnableIfFunctionality.html" target="main">group_EnableIfFunctionality.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_endsWith.html" target="main">endsWith</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_endsWith.html" target="main">global_function_endsWith.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_EqualityComparableConcept.html" target="main">EqualityComparableConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_EqualityComparableConcept.html" target="main">concept_EqualityComparableConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Equidistant.html" target="main">Equidistant</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Equidistant.html" target="main">specialization_Equidistant.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ExactFragment.html" target="main">ExactFragment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ExactFragment.html" target="main">specialization_ExactFragment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ExactReversableFragment.html" target="main">ExactReversableFragment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ExactReversableFragment.html" target="main">specialization_ExactReversableFragment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Exception.html" target="main">Exception</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Exception.html" target="main">class_Exception.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_ExceptionHandling.html" target="main">ExceptionHandling</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_ExceptionHandling.html" target="main">group_ExceptionHandling.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_expectation.html" target="main">expectation</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_expectation.html" target="main">global_function_expectation.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_extendAlignment.html" target="main">extendAlignment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_extendAlignment.html" target="main">global_function_extendAlignment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_ExtensionDirection.html" target="main">ExtensionDirection</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_ExtensionDirection.html" target="main">enum_ExtensionDirection.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ExternalConfig.html" target="main">ExternalConfig</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ExternalConfig.html" target="main">class_ExternalConfig.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ExternalConfigLarge.html" target="main">ExternalConfigLarge</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ExternalConfigLarge.html" target="main">class_ExternalConfigLarge.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ExternalConfigSize.html" target="main">ExternalConfigSize</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ExternalConfigSize.html" target="main">class_ExternalConfigSize.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ExternalString.html" target="main">ExternalString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ExternalString.html" target="main">specialization_ExternalString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_FaiIndex.html" target="main">FaiIndex</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_FaiIndex.html" target="main">class_FaiIndex.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Fibre.html" target="main">Fibre</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Fibre.html" target="main">global_metafunction_Fibre.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_File.html" target="main">File</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_File.html" target="main">class_File.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_FileCompressionTags.html" target="main">FileCompressionTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_FileCompressionTags.html" target="main">group_FileCompressionTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_FileExtensions.html" target="main">FileExtensions</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_FileExtensions.html" target="main">global_metafunction_FileExtensions.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_FileFormats.html" target="main">FileFormats</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_FileFormats.html" target="main">group_FileFormats.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_FileMapping.html" target="main">FileMapping</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_FileMapping.html" target="main">class_FileMapping.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_FileMappingAdvise.html" target="main">FileMappingAdvise</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_FileMappingAdvise.html" target="main">enum_FileMappingAdvise.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_FileMappingMode.html" target="main">FileMappingMode</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_FileMappingMode.html" target="main">enum_FileMappingMode.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_FileOpenMode.html" target="main">FileOpenMode</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_FileOpenMode.html" target="main">enum_FileOpenMode.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Filter.html" target="main">Filter</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Filter.html" target="main">specialization_Filter.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Find.html" target="main">Find</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Find.html" target="main">global_metafunction_Find.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Finder.html" target="main">Finder</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Finder.html" target="main">class_Finder.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_findRepeats.html" target="main">findRepeats</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_findRepeats.html" target="main">global_function_findRepeats.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Finite.html" target="main">Finite</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Finite.html" target="main">specialization_Finite.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_FiniteOrderedAlphabetConcept.html" target="main">FiniteOrderedAlphabetConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_FiniteOrderedAlphabetConcept.html" target="main">concept_FiniteOrderedAlphabetConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_FixedCyclicShape.html" target="main">FixedCyclicShape</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_FixedCyclicShape.html" target="main">specialization_FixedCyclicShape.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_floydWarshallAlgorithm.html" target="main">floydWarshallAlgorithm</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_floydWarshallAlgorithm.html" target="main">global_function_floydWarshallAlgorithm.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_FMIndex.html" target="main">FMIndex</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_FMIndex.html" target="main">specialization_FMIndex.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_FMIndexCompressionSpec.html" target="main">FMIndexCompressionSpec</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_FMIndexCompressionSpec.html" target="main">group_FMIndexCompressionSpec.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_FMIndexConfig.html" target="main">FMIndexConfig</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_FMIndexConfig.html" target="main">class_FMIndexConfig.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_FMIndexFibres.html" target="main">FMIndexFibres</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_FMIndexFibres.html" target="main">group_FMIndexFibres.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_FMIndexRankDictionarySpec.html" target="main">FMIndexRankDictionarySpec</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_FMIndexRankDictionarySpec.html" target="main">group_FMIndexRankDictionarySpec.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_fordFulkersonAlgorithm.html" target="main">fordFulkersonAlgorithm</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_fordFulkersonAlgorithm.html" target="main">global_function_fordFulkersonAlgorithm.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_FormattedFile.html" target="main">FormattedFile</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_FormattedFile.html" target="main">class_FormattedFile.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_FormattedFileHeaderConcept.html" target="main">FormattedFileHeaderConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_FormattedFileHeaderConcept.html" target="main">concept_FormattedFileHeaderConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_FormattedFileIn.html" target="main">FormattedFileIn</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_FormattedFileIn.html" target="main">specialization_FormattedFileIn.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_FormattedFileOut.html" target="main">FormattedFileOut</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_FormattedFileOut.html" target="main">specialization_FormattedFileOut.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_FormattedFileRecordConcept.html" target="main">FormattedFileRecordConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_FormattedFileRecordConcept.html" target="main">concept_FormattedFileRecordConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_FormattedNumber.html" target="main">FormattedNumber</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_FormattedNumber.html" target="main">class_FormattedNumber.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_ForwardContainerConcept.html" target="main">ForwardContainerConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_ForwardContainerConcept.html" target="main">concept_ForwardContainerConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_ForwardIteratorConcept.html" target="main">ForwardIteratorConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_ForwardIteratorConcept.html" target="main">concept_ForwardIteratorConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Fragment.html" target="main">Fragment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Fragment.html" target="main">class_Fragment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_FragmentStore.html" target="main">FragmentStore</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_FragmentStore.html" target="main">class_FragmentStore.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_FragmentStore_58_58PredefinedAnnotationTypes.html" target="main">FragmentStore::PredefinedAnnotationTypes</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_FragmentStore_58_58PredefinedAnnotationTypes.html" target="main">enum_FragmentStore_58_58PredefinedAnnotationTypes.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_FunctorComplement.html" target="main">FunctorComplement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_FunctorComplement.html" target="main">class_FunctorComplement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_FunctorConvert.html" target="main">FunctorConvert</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_FunctorConvert.html" target="main">class_FunctorConvert.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_FunctorLowcase.html" target="main">FunctorLowcase</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_FunctorLowcase.html" target="main">class_FunctorLowcase.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_FunctorUpcase.html" target="main">FunctorUpcase</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_FunctorUpcase.html" target="main">class_FunctorUpcase.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_GapAnchor.html" target="main">GapAnchor</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_GapAnchor.html" target="main">class_GapAnchor.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_GapDirectionTags.html" target="main">GapDirectionTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_GapDirectionTags.html" target="main">group_GapDirectionTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_GappedShape.html" target="main">GappedShape</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_GappedShape.html" target="main">specialization_GappedShape.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_GappedValueType.html" target="main">GappedValueType</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_GappedValueType.html" target="main">global_metafunction_GappedValueType.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Gaps.html" target="main">Gaps</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Gaps.html" target="main">class_Gaps.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_GapsIterator.html" target="main">GapsIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_GapsIterator.html" target="main">class_GapsIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_GapsSpecTag.html" target="main">GapsSpecTag</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_GapsSpecTag.html" target="main">group_GapsSpecTag.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_GenericCyclicShape.html" target="main">GenericCyclicShape</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_GenericCyclicShape.html" target="main">specialization_GenericCyclicShape.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_GenericShape.html" target="main">GenericShape</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_GenericShape.html" target="main">specialization_GenericShape.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_GenerousDependentStringSet.html" target="main">GenerousDependentStringSet</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_GenerousDependentStringSet.html" target="main">specialization_GenerousDependentStringSet.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="tag" data-pimped="true">
-              <span data-lang-entity="tag"><a href="page_LanguageEntities.html#tag">Tag</a><span>Tag</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="tag" data-pimped="true">
-                    <a href="page_LanguageEntities.html#tag">Tag</a>
-                    <a href="tag_GeneticCode.html" target="main">GeneticCode</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="tag_GeneticCode.html" target="main">tag_GeneticCode.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_GeneticCodeSpec.html" target="main">GeneticCodeSpec</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_GeneticCodeSpec.html" target="main">enum_GeneticCodeSpec.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_GenomicRegion.html" target="main">GenomicRegion</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_GenomicRegion.html" target="main">class_GenomicRegion.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_getAbsolutePath.html" target="main">getAbsolutePath</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_getAbsolutePath.html" target="main">global_function_getAbsolutePath.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_getBamTypeChar.html" target="main">getBamTypeChar</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_getBamTypeChar.html" target="main">global_function_getBamTypeChar.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_getBamTypeSize.html" target="main">getBamTypeSize</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_getBamTypeSize.html" target="main">global_function_getBamTypeSize.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_GetDefaultRng.html" target="main">GetDefaultRng</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_GetDefaultRng.html" target="main">global_metafunction_GetDefaultRng.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_getTerminalSize.html" target="main">getTerminalSize</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_getTerminalSize.html" target="main">global_function_getTerminalSize.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_GetValue.html" target="main">GetValue</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_GetValue.html" target="main">global_metafunction_GetValue.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_GffFileIn.html" target="main">GffFileIn</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_GffFileIn.html" target="main">specialization_GffFileIn.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_GffFileOut.html" target="main">GffFileOut</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_GffFileOut.html" target="main">specialization_GffFileOut.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_GffRecord.html" target="main">GffRecord</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_GffRecord.html" target="main">class_GffRecord.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_GlobalAlign.html" target="main">GlobalAlign</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_GlobalAlign.html" target="main">specialization_GlobalAlign.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_globalAlignment.html" target="main">globalAlignment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_globalAlignment.html" target="main">global_function_globalAlignment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_globalAlignmentScore.html" target="main">globalAlignmentScore</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_globalAlignmentScore.html" target="main">global_function_globalAlignmentScore.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_GlobalChain.html" target="main">GlobalChain</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_GlobalChain.html" target="main">specialization_GlobalChain.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_GlobalChainingTags.html" target="main">GlobalChainingTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_GlobalChainingTags.html" target="main">group_GlobalChainingTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_globalMsaAlignment.html" target="main">globalMsaAlignment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_globalMsaAlignment.html" target="main">global_function_globalMsaAlignment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Graph.html" target="main">Graph</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Graph.html" target="main">class_Graph.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_GraphIteratorTags.html" target="main">GraphIteratorTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_GraphIteratorTags.html" target="main">group_GraphIteratorTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_GraphOverAlphabetConcept.html" target="main">GraphOverAlphabetConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_GraphOverAlphabetConcept.html" target="main">concept_GraphOverAlphabetConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_guessFormatFromFilename.html" target="main">guessFormatFromFilename</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_guessFormatFromFilename.html" target="main">global_function_guessFormatFromFilename.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="tag" data-pimped="true">
-              <span data-lang-entity="tag"><a href="page_LanguageEntities.html#tag">Tag</a><span>Tag</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="tag" data-pimped="true">
-                    <a href="page_LanguageEntities.html#tag">Tag</a>
-                    <a href="tag_HammingDistance.html" target="main">HammingDistance</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="tag_HammingDistance.html" target="main">tag_HammingDistance.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_HammingSimplePattern.html" target="main">HammingSimplePattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_HammingSimplePattern.html" target="main">specialization_HammingSimplePattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_HammingStringEnumerator.html" target="main">HammingStringEnumerator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_HammingStringEnumerator.html" target="main">specialization_HammingStringEnumerator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_HardwiredShape.html" target="main">HardwiredShape</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_HardwiredShape.html" target="main">specialization_HardwiredShape.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_HasMoveConstructor.html" target="main">HasMoveConstructor</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_HasMoveConstructor.html" target="main">global_metafunction_HasMoveConstructor.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_heaviestIncreasingSubsequence.html" target="main">heaviestIncreasingSubsequence</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_heaviestIncreasingSubsequence.html" target="main">global_function_heaviestIncreasingSubsequence.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_HierarchicalPexPattern.html" target="main">HierarchicalPexPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_HierarchicalPexPattern.html" target="main">specialization_HierarchicalPexPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_HmmAlgorithms.html" target="main">HmmAlgorithms</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_HmmAlgorithms.html" target="main">group_HmmAlgorithms.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_HmmGraph.html" target="main">HmmGraph</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_HmmGraph.html" target="main">specialization_HmmGraph.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Holder.html" target="main">Holder</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Holder.html" target="main">class_Holder.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_HorspoolPattern.html" target="main">HorspoolPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_HorspoolPattern.html" target="main">specialization_HorspoolPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_HostedConcept.html" target="main">HostedConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_HostedConcept.html" target="main">concept_HostedConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Id.html" target="main">Id</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Id.html" target="main">global_metafunction_Id.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_IdManager.html" target="main">IdManager</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_IdManager.html" target="main">class_IdManager.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_ignoreUnusedVariableWarning.html" target="main">ignoreUnusedVariableWarning</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_ignoreUnusedVariableWarning.html" target="main">global_function_ignoreUnusedVariableWarning.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Index.html" target="main">Index</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Index.html" target="main">class_Index.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_IndexDfi.html" target="main">IndexDfi</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_IndexDfi.html" target="main">specialization_IndexDfi.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_IndexEsa.html" target="main">IndexEsa</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_IndexEsa.html" target="main">specialization_IndexEsa.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_IndexEsaFibres.html" target="main">IndexEsaFibres</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_IndexEsaFibres.html" target="main">group_IndexEsaFibres.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_IndexFindAlgorithm.html" target="main">IndexFindAlgorithm</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_IndexFindAlgorithm.html" target="main">group_IndexFindAlgorithm.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_IndexQGram.html" target="main">IndexQGram</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_IndexQGram.html" target="main">specialization_IndexQGram.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_IndexSa.html" target="main">IndexSa</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_IndexSa.html" target="main">specialization_IndexSa.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_IndexWotd.html" target="main">IndexWotd</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_IndexWotd.html" target="main">specialization_IndexWotd.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_InfixSegment.html" target="main">InfixSegment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_InfixSegment.html" target="main">specialization_InfixSegment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_InputIteratorConcept.html" target="main">InputIteratorConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_InputIteratorConcept.html" target="main">concept_InputIteratorConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_InputStreamConcept.html" target="main">InputStreamConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_InputStreamConcept.html" target="main">concept_InputStreamConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_InputStreamIterator.html" target="main">InputStreamIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_InputStreamIterator.html" target="main">specialization_InputStreamIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_IntegerConcept.html" target="main">IntegerConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_IntegerConcept.html" target="main">concept_IntegerConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_IntegralForValue.html" target="main">IntegralForValue</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_IntegralForValue.html" target="main">global_metafunction_IntegralForValue.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_integrateAlign.html" target="main">integrateAlign</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_integrateAlign.html" target="main">global_function_integrateAlign.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_InternalPointerPropertyMap.html" target="main">InternalPointerPropertyMap</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_InternalPointerPropertyMap.html" target="main">class_InternalPointerPropertyMap.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_InternalPropertyMap.html" target="main">InternalPropertyMap</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_InternalPropertyMap.html" target="main">class_InternalPropertyMap.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_IntervalAndCargo.html" target="main">IntervalAndCargo</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_IntervalAndCargo.html" target="main">class_IntervalAndCargo.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_IntervalTree.html" target="main">IntervalTree</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_IntervalTree.html" target="main">class_IntervalTree.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_IntervalTreeNode.html" target="main">IntervalTreeNode</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_IntervalTreeNode.html" target="main">class_IntervalTreeNode.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_IntervalTreeNodeTypeTags.html" target="main">IntervalTreeNodeTypeTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_IntervalTreeNodeTypeTags.html" target="main">group_IntervalTreeNodeTypeTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_IOError.html" target="main">IOError</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_IOError.html" target="main">class_IOError.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_IosOpenMode.html" target="main">IosOpenMode</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_IosOpenMode.html" target="main">global_metafunction_IosOpenMode.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Is.html" target="main">Is</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Is.html" target="main">global_metafunction_Is.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_isAnsiColorTerminal.html" target="main">isAnsiColorTerminal</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_isAnsiColorTerminal.html" target="main">global_function_isAnsiColorTerminal.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_isBitSet.html" target="main">isBitSet</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_isBitSet.html" target="main">global_function_isBitSet.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_IsCharType.html" target="main">IsCharType</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_IsCharType.html" target="main">global_metafunction_IsCharType.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_IsContiguous.html" target="main">IsContiguous</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_IsContiguous.html" target="main">global_metafunction_IsContiguous.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_IsDevice.html" target="main">IsDevice</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_IsDevice.html" target="main">global_metafunction_IsDevice.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_IsInteger.html" target="main">IsInteger</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_IsInteger.html" target="main">global_metafunction_IsInteger.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_IsIntegral.html" target="main">IsIntegral</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_IsIntegral.html" target="main">global_metafunction_IsIntegral.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_IsLightWeight.html" target="main">IsLightWeight</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_IsLightWeight.html" target="main">global_metafunction_IsLightWeight.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_IsSameType.html" target="main">IsSameType</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_IsSameType.html" target="main">global_metafunction_IsSameType.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_IsSequence.html" target="main">IsSequence</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_IsSequence.html" target="main">global_metafunction_IsSequence.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_IsSimple.html" target="main">IsSimple</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_IsSimple.html" target="main">global_metafunction_IsSimple.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_isTerminal.html" target="main">isTerminal</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_isTerminal.html" target="main">global_function_isTerminal.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_IsView.html" target="main">IsView</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_IsView.html" target="main">global_metafunction_IsView.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Iter.html" target="main">Iter</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Iter.html" target="main">class_Iter.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_IteratorAssociatedTypesConcept.html" target="main">IteratorAssociatedTypesConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_IteratorAssociatedTypesConcept.html" target="main">concept_IteratorAssociatedTypesConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_IteratorProxy.html" target="main">IteratorProxy</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_IteratorProxy.html" target="main">specialization_IteratorProxy.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Iupac.html" target="main">Iupac</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Iupac.html" target="main">specialization_Iupac.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_IupacIterator.html" target="main">IupacIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_IupacIterator.html" target="main">global_typedef_IupacIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_IupacString.html" target="main">IupacString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_IupacString.html" target="main">global_typedef_IupacString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_JoinConfig.html" target="main">JoinConfig</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_JoinConfig.html" target="main">class_JoinConfig.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Joiner.html" target="main">Joiner</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Joiner.html" target="main">specialization_Joiner.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_JoinStrategiesTags.html" target="main">JoinStrategiesTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_JoinStrategiesTags.html" target="main">group_JoinStrategiesTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_JournaledSet.html" target="main">JournaledSet</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_JournaledSet.html" target="main">specialization_JournaledSet.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_JournaledString.html" target="main">JournaledString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_JournaledString.html" target="main">specialization_JournaledString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_JournaledStringTree.html" target="main">JournaledStringTree</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_JournaledStringTree.html" target="main">class_JournaledStringTree.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Key.html" target="main">Key</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Key.html" target="main">global_metafunction_Key.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_kruskalsAlgorithm.html" target="main">kruskalsAlgorithm</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_kruskalsAlgorithm.html" target="main">global_function_kruskalsAlgorithm.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_LENGTH.html" target="main">LENGTH</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_LENGTH.html" target="main">global_metafunction_LENGTH.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_LessThanComparableConcept.html" target="main">LessThanComparableConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_LessThanComparableConcept.html" target="main">concept_LessThanComparableConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="tag" data-pimped="true">
-              <span data-lang-entity="tag"><a href="page_LanguageEntities.html#tag">Tag</a><span>Tag</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="tag" data-pimped="true">
-                    <a href="page_LanguageEntities.html#tag">Tag</a>
-                    <a href="tag_LevenshteinDistance.html" target="main">LevenshteinDistance</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="tag_LevenshteinDistance.html" target="main">tag_LevenshteinDistance.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_LevenshteinStringEnumerator.html" target="main">LevenshteinStringEnumerator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_LevenshteinStringEnumerator.html" target="main">specialization_LevenshteinStringEnumerator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Lexical.html" target="main">Lexical</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Lexical.html" target="main">class_Lexical.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_lexicalCast.html" target="main">lexicalCast</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_lexicalCast.html" target="main">global_function_lexicalCast.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_lexicalCastWithException.html" target="main">lexicalCastWithException</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_lexicalCastWithException.html" target="main">global_function_lexicalCastWithException.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_LF.html" target="main">LF</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_LF.html" target="main">class_LF.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_LFTableFibres.html" target="main">LFTableFibres</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_LFTableFibres.html" target="main">group_LFTableFibres.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_LibraryStoreElement.html" target="main">LibraryStoreElement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_LibraryStoreElement.html" target="main">class_LibraryStoreElement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="variable" data-pimped="true">
-              <span data-lang-entity="variable"><a href="page_LanguageEntities.html#variable">var</a><span>var</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="variable" data-pimped="true">
-                    <a href="page_LanguageEntities.html#variable">var</a>
-                    <a href="variable_LibraryStoreElementstd.html" target="main">LibraryStoreElementstd</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="variable_LibraryStoreElementstd.html" target="main">variable_LibraryStoreElementstd.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_localAlignment.html" target="main">localAlignment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_localAlignment.html" target="main">global_function_localAlignment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_LocalAlignmentEnumerator.html" target="main">LocalAlignmentEnumerator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_LocalAlignmentEnumerator.html" target="main">class_LocalAlignmentEnumerator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_LocalChainingTags.html" target="main">LocalChainingTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_LocalChainingTags.html" target="main">group_LocalChainingTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_LocalMatch.html" target="main">LocalMatch</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_LocalMatch.html" target="main">class_LocalMatch.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_LocalMatchStore.html" target="main">LocalMatchStore</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_LocalMatchStore.html" target="main">class_LocalMatchStore.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_LocalMatchStoreConfig.html" target="main">LocalMatchStoreConfig</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_LocalMatchStoreConfig.html" target="main">class_LocalMatchStoreConfig.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_log2.html" target="main">log2</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_log2.html" target="main">global_function_log2.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_LogicalValuesTags.html" target="main">LogicalValuesTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_LogicalValuesTags.html" target="main">group_LogicalValuesTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_LogicMetaprogramming.html" target="main">LogicMetaprogramming</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_LogicMetaprogramming.html" target="main">group_LogicMetaprogramming.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_LogProb.html" target="main">LogProb</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_LogProb.html" target="main">class_LogProb.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_longestCommonSubsequence.html" target="main">longestCommonSubsequence</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_longestCommonSubsequence.html" target="main">global_function_longestCommonSubsequence.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_longestIncreasingSubsequence.html" target="main">longestIncreasingSubsequence</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_longestIncreasingSubsequence.html" target="main">global_function_longestIncreasingSubsequence.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Loop.html" target="main">Loop</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Loop.html" target="main">class_Loop.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_LoopReverse.html" target="main">LoopReverse</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_LoopReverse.html" target="main">class_LoopReverse.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_lowerBoundAlignedReads.html" target="main">lowerBoundAlignedReads</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_lowerBoundAlignedReads.html" target="main">global_function_lowerBoundAlignedReads.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_MagicHeader.html" target="main">MagicHeader</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_MagicHeader.html" target="main">global_metafunction_MagicHeader.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_MakePacked.html" target="main">MakePacked</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_MakePacked.html" target="main">global_metafunction_MakePacked.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_MakeSigned.html" target="main">MakeSigned</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_MakeSigned.html" target="main">global_metafunction_MakeSigned.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_MakeUnsigned.html" target="main">MakeUnsigned</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_MakeUnsigned.html" target="main">global_metafunction_MakeUnsigned.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_makeZipIterator.html" target="main">makeZipIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_makeZipIterator.html" target="main">global_function_makeZipIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_makeZipView.html" target="main">makeZipView</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_makeZipView.html" target="main">global_function_makeZipView.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Map.html" target="main">Map</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Map.html" target="main">class_Map.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_MapperConfig.html" target="main">MapperConfig</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_MapperConfig.html" target="main">specialization_MapperConfig.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_MapperConfigSize.html" target="main">MapperConfigSize</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_MapperConfigSize.html" target="main">specialization_MapperConfigSize.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_MapperSpec.html" target="main">MapperSpec</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_MapperSpec.html" target="main">specialization_MapperSpec.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_MarkovModel.html" target="main">MarkovModel</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_MarkovModel.html" target="main">class_MarkovModel.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_matchRefinement.html" target="main">matchRefinement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_matchRefinement.html" target="main">global_function_matchRefinement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_MatePairStoreElement.html" target="main">MatePairStoreElement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_MatePairStoreElement.html" target="main">class_MatePairStoreElement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Matrix.html" target="main">Matrix</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Matrix.html" target="main">class_Matrix.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_MatrixScore.html" target="main">MatrixScore</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_MatrixScore.html" target="main">specialization_MatrixScore.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_MaxRepeatsIterator.html" target="main">MaxRepeatsIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_MaxRepeatsIterator.html" target="main">specialization_MaxRepeatsIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Member.html" target="main">Member</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Member.html" target="main">global_metafunction_Member.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_memset.html" target="main">memset</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_memset.html" target="main">global_function_memset.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_MetafunctionSwitch.html" target="main">MetafunctionSwitch</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_MetafunctionSwitch.html" target="main">group_MetafunctionSwitch.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_MetaprogrammingMath.html" target="main">MetaprogrammingMath</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_MetaprogrammingMath.html" target="main">group_MetaprogrammingMath.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_MMapConfig.html" target="main">MMapConfig</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_MMapConfig.html" target="main">class_MMapConfig.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_MMapString.html" target="main">MMapString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_MMapString.html" target="main">specialization_MMapString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ModCyclicShapeModifiedIterator.html" target="main">ModCyclicShapeModifiedIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ModCyclicShapeModifiedIterator.html" target="main">specialization_ModCyclicShapeModifiedIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ModCyclicShapeModifiedString.html" target="main">ModCyclicShapeModifiedString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ModCyclicShapeModifiedString.html" target="main">specialization_ModCyclicShapeModifiedString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ModifiedAlphabet.html" target="main">ModifiedAlphabet</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ModifiedAlphabet.html" target="main">class_ModifiedAlphabet.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ModifiedIterator.html" target="main">ModifiedIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ModifiedIterator.html" target="main">class_ModifiedIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ModifiedString.html" target="main">ModifiedString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ModifiedString.html" target="main">class_ModifiedString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ModReverseIterator.html" target="main">ModReverseIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ModReverseIterator.html" target="main">specialization_ModReverseIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ModReverseString.html" target="main">ModReverseString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ModReverseString.html" target="main">specialization_ModReverseString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ModViewModifiedIterator.html" target="main">ModViewModifiedIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ModViewModifiedIterator.html" target="main">specialization_ModViewModifiedIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ModViewModifiedString.html" target="main">ModViewModifiedString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ModViewModifiedString.html" target="main">specialization_ModViewModifiedString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="tag" data-pimped="true">
-              <span data-lang-entity="tag"><a href="page_LanguageEntities.html#tag">Tag</a><span>Tag</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="tag" data-pimped="true">
-                    <a href="page_LanguageEntities.html#tag">Tag</a>
-                    <a href="tag_Move.html" target="main">Move</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="tag_Move.html" target="main">tag_Move.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_MsaOptions.html" target="main">MsaOptions</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_MsaOptions.html" target="main">class_MsaOptions.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_MultiBfamPattern.html" target="main">MultiBfamPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_MultiBfamPattern.html" target="main">specialization_MultiBfamPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_MultiMemsIterator.html" target="main">MultiMemsIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_MultiMemsIterator.html" target="main">specialization_MultiMemsIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_MultipleSequenceAlignmentTags.html" target="main">MultipleSequenceAlignmentTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_MultipleSequenceAlignmentTags.html" target="main">group_MultipleSequenceAlignmentTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_MultipleShiftAndPattern.html" target="main">MultipleShiftAndPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_MultipleShiftAndPattern.html" target="main">specialization_MultipleShiftAndPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_MultiPoolAllocator.html" target="main">MultiPoolAllocator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_MultiPoolAllocator.html" target="main">specialization_MultiPoolAllocator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_MumsIterator.html" target="main">MumsIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_MumsIterator.html" target="main">specialization_MumsIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="tag" data-pimped="true">
-              <span data-lang-entity="tag"><a href="page_LanguageEntities.html#tag">Tag</a><span>Tag</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="tag" data-pimped="true">
-                    <a href="page_LanguageEntities.html#tag">Tag</a>
-                    <a href="tag_Murphy10.html" target="main">Murphy10</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="tag_Murphy10.html" target="main">tag_Murphy10.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_MutableBidirectionalIteratorConcept.html" target="main">MutableBidirectionalIteratorConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_MutableBidirectionalIteratorConcept.html" target="main">concept_MutableBidirectionalIteratorConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_MutableForwardIteratorConcept.html" target="main">MutableForwardIteratorConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_MutableForwardIteratorConcept.html" target="main">concept_MutableForwardIteratorConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_MutableRandomAccessIteratorConcept.html" target="main">MutableRandomAccessIteratorConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_MutableRandomAccessIteratorConcept.html" target="main">concept_MutableRandomAccessIteratorConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_MutableRootedIteratorConcept.html" target="main">MutableRootedIteratorConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_MutableRootedIteratorConcept.html" target="main">concept_MutableRootedIteratorConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_MutableRootedRandomAccessIteratorConcept.html" target="main">MutableRootedRandomAccessIteratorConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_MutableRootedRandomAccessIteratorConcept.html" target="main">concept_MutableRootedRandomAccessIteratorConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_MyersPattern.html" target="main">MyersPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_MyersPattern.html" target="main">specialization_MyersPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_MyersUkkonen.html" target="main">MyersUkkonen</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_MyersUkkonen.html" target="main">global_typedef_MyersUkkonen.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_MyersUkkonenBanded.html" target="main">MyersUkkonenBanded</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_MyersUkkonenBanded.html" target="main">global_typedef_MyersUkkonenBanded.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_MyersUkkonenGlobal.html" target="main">MyersUkkonenGlobal</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_MyersUkkonenGlobal.html" target="main">global_typedef_MyersUkkonenGlobal.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_MyersUkkonenGlobalBanded.html" target="main">MyersUkkonenGlobalBanded</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_MyersUkkonenGlobalBanded.html" target="main">global_typedef_MyersUkkonenGlobalBanded.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_N2AFScore.html" target="main">N2AFScore</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_N2AFScore.html" target="main">specialization_N2AFScore.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Namer.html" target="main">Namer</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Namer.html" target="main">specialization_Namer.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_NameStoreCache.html" target="main">NameStoreCache</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_NameStoreCache.html" target="main">class_NameStoreCache.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_njTree.html" target="main">njTree</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_njTree.html" target="main">global_function_njTree.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_NonHierarchicalPexPattern.html" target="main">NonHierarchicalPexPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_NonHierarchicalPexPattern.html" target="main">specialization_NonHierarchicalPexPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="tag" data-pimped="true">
-              <span data-lang-entity="tag"><a href="page_LanguageEntities.html#tag">Tag</a><span>Tag</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="tag" data-pimped="true">
-                    <a href="page_LanguageEntities.html#tag">Tag</a>
-                    <a href="tag_Nothing.html" target="main">Nothing</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="tag_Nothing.html" target="main">tag_Nothing.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_NumberConcept.html" target="main">NumberConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_NumberConcept.html" target="main">concept_NumberConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_OneGappedShape.html" target="main">OneGappedShape</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_OneGappedShape.html" target="main">specialization_OneGappedShape.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_OpenAddressingQGramIndex.html" target="main">OpenAddressingQGramIndex</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_OpenAddressingQGramIndex.html" target="main">specialization_OpenAddressingQGramIndex.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_OpenAdressingTags.html" target="main">OpenAdressingTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_OpenAdressingTags.html" target="main">group_OpenAdressingTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_OracleBfamPattern.html" target="main">OracleBfamPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_OracleBfamPattern.html" target="main">specialization_OracleBfamPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_OracleMultiBfamPattern.html" target="main">OracleMultiBfamPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_OracleMultiBfamPattern.html" target="main">specialization_OracleMultiBfamPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_OrderedAlphabetConcept.html" target="main">OrderedAlphabetConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_OrderedAlphabetConcept.html" target="main">concept_OrderedAlphabetConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_orderOccurrences.html" target="main">orderOccurrences</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_orderOccurrences.html" target="main">global_function_orderOccurrences.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_OutEdgeIterator.html" target="main">OutEdgeIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_OutEdgeIterator.html" target="main">specialization_OutEdgeIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_OutputIteratorConcept.html" target="main">OutputIteratorConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_OutputIteratorConcept.html" target="main">concept_OutputIteratorConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_OutputStreamConcept.html" target="main">OutputStreamConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_OutputStreamConcept.html" target="main">concept_OutputStreamConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_OutputStreamIterator.html" target="main">OutputStreamIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_OutputStreamIterator.html" target="main">specialization_OutputStreamIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_OverflowStrategyTags.html" target="main">OverflowStrategyTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_OverflowStrategyTags.html" target="main">group_OverflowStrategyTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_OwnerStringSet.html" target="main">OwnerStringSet</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_OwnerStringSet.html" target="main">specialization_OwnerStringSet.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_PackedPair.html" target="main">PackedPair</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_PackedPair.html" target="main">specialization_PackedPair.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_PackedString.html" target="main">PackedString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_PackedString.html" target="main">specialization_PackedString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_PackedTriple.html" target="main">PackedTriple</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_PackedTriple.html" target="main">specialization_PackedTriple.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Pair.html" target="main">Pair</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Pair.html" target="main">class_Pair.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_PairwiseLocalAlignmentAlgorithms.html" target="main">PairwiseLocalAlignmentAlgorithms</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_PairwiseLocalAlignmentAlgorithms.html" target="main">group_PairwiseLocalAlignmentAlgorithms.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Pam120.html" target="main">Pam120</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Pam120.html" target="main">global_typedef_Pam120.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Pam200.html" target="main">Pam200</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Pam200.html" target="main">global_typedef_Pam200.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Pam250.html" target="main">Pam250</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Pam250.html" target="main">global_typedef_Pam250.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Pam40.html" target="main">Pam40</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Pam40.html" target="main">global_typedef_Pam40.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_ParallelismTags.html" target="main">ParallelismTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_ParallelismTags.html" target="main">group_ParallelismTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ParseError.html" target="main">ParseError</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ParseError.html" target="main">specialization_ParseError.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_partialSum.html" target="main">partialSum</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_partialSum.html" target="main">global_function_partialSum.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Pattern.html" target="main">Pattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Pattern.html" target="main">class_Pattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Peptide.html" target="main">Peptide</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Peptide.html" target="main">global_typedef_Peptide.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_PeptideIterator.html" target="main">PeptideIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_PeptideIterator.html" target="main">global_typedef_PeptideIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_PexPattern.html" target="main">PexPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_PexPattern.html" target="main">specialization_PexPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_PigeonholeFinder.html" target="main">PigeonholeFinder</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_PigeonholeFinder.html" target="main">specialization_PigeonholeFinder.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_PigeonholeParameters.html" target="main">PigeonholeParameters</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_PigeonholeParameters.html" target="main">class_PigeonholeParameters.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_PigeonholePattern.html" target="main">PigeonholePattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_PigeonholePattern.html" target="main">specialization_PigeonholePattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Pipe.html" target="main">Pipe</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Pipe.html" target="main">class_Pipe.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_PizzaChiliIndex.html" target="main">PizzaChiliIndex</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_PizzaChiliIndex.html" target="main">specialization_PizzaChiliIndex.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_PizzaChiliIndexFibres.html" target="main">PizzaChiliIndexFibres</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_PizzaChiliIndexFibres.html" target="main">group_PizzaChiliIndexFibres.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_PizzaChiliIndexTags.html" target="main">PizzaChiliIndexTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_PizzaChiliIndexTags.html" target="main">group_PizzaChiliIndexTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_PizzaChiliString.html" target="main">PizzaChiliString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_PizzaChiliString.html" target="main">specialization_PizzaChiliString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="macro" data-pimped="true">
-              <span data-lang-entity="macro"><a href="page_LanguageEntities.html#macro">#define</a><span>#define</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="macro" data-pimped="true">
-                    <a href="page_LanguageEntities.html#macro">#define</a>
-                    <a href="macro_PLATFORM_95GCC.html" target="main">PLATFORM_GCC</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="macro_PLATFORM_95GCC.html" target="main">macro_PLATFORM_95GCC.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_PointAndCargo.html" target="main">PointAndCargo</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_PointAndCargo.html" target="main">class_PointAndCargo.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Pool.html" target="main">Pool</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Pool.html" target="main">class_Pool.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_PoolConfig.html" target="main">PoolConfig</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_PoolConfig.html" target="main">specialization_PoolConfig.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_PoolConfigSize.html" target="main">PoolConfigSize</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_PoolConfigSize.html" target="main">specialization_PoolConfigSize.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_PoolSpec.html" target="main">PoolSpec</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_PoolSpec.html" target="main">specialization_PoolSpec.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_popCount.html" target="main">popCount</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_popCount.html" target="main">global_function_popCount.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Position.html" target="main">Position</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Position.html" target="main">global_metafunction_Position.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_PositionCalculation.html" target="main">PositionCalculation</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_PositionCalculation.html" target="main">group_PositionCalculation.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_PositionIterator.html" target="main">PositionIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_PositionIterator.html" target="main">specialization_PositionIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_PrefixOrderTags.html" target="main">PrefixOrderTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_PrefixOrderTags.html" target="main">group_PrefixOrderTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_PrefixSegment.html" target="main">PrefixSegment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_PrefixSegment.html" target="main">specialization_PrefixSegment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_primsAlgorithm.html" target="main">primsAlgorithm</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_primsAlgorithm.html" target="main">global_function_primsAlgorithm.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_printDebugLevel.html" target="main">printDebugLevel</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_printDebugLevel.html" target="main">global_function_printDebugLevel.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_PriorityHeap.html" target="main">PriorityHeap</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_PriorityHeap.html" target="main">specialization_PriorityHeap.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_PriorityType.html" target="main">PriorityType</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_PriorityType.html" target="main">class_PriorityType.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ProfileChar.html" target="main">ProfileChar</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ProfileChar.html" target="main">class_ProfileChar.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ProfileSeqFracScore.html" target="main">ProfileSeqFracScore</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ProfileSeqFracScore.html" target="main">specialization_ProfileSeqFracScore.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ProfileSeqScore.html" target="main">ProfileSeqScore</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ProfileSeqScore.html" target="main">specialization_ProfileSeqScore.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_progressiveAlignment.html" target="main">progressiveAlignment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_progressiveAlignment.html" target="main">global_function_progressiveAlignment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_PropertyMapConcept.html" target="main">PropertyMapConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_PropertyMapConcept.html" target="main">concept_PropertyMapConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Proxy.html" target="main">Proxy</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Proxy.html" target="main">class_Proxy.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_QGramIndexFibres.html" target="main">QGramIndexFibres</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_QGramIndexFibres.html" target="main">group_QGramIndexFibres.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_RandomAccessContainerConcept.html" target="main">RandomAccessContainerConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_RandomAccessContainerConcept.html" target="main">concept_RandomAccessContainerConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_RandomAccessIteratorConcept.html" target="main">RandomAccessIteratorConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_RandomAccessIteratorConcept.html" target="main">concept_RandomAccessIteratorConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Range.html" target="main">Range</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Range.html" target="main">class_Range.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_RankDictionary.html" target="main">RankDictionary</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_RankDictionary.html" target="main">class_RankDictionary.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_RankDictionaryFibres.html" target="main">RankDictionaryFibres</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_RankDictionaryFibres.html" target="main">group_RankDictionaryFibres.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_RankSupportBitString.html" target="main">RankSupportBitString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_RankSupportBitString.html" target="main">class_RankSupportBitString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_RankSupportBitStringFibres.html" target="main">RankSupportBitStringFibres</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_RankSupportBitStringFibres.html" target="main">group_RankSupportBitStringFibres.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_readEmblHeader.html" target="main">readEmblHeader</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_readEmblHeader.html" target="main">global_function_readEmblHeader.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ReadStoreElement.html" target="main">ReadStoreElement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ReadStoreElement.html" target="main">class_ReadStoreElement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_reAlign.html" target="main">reAlign</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_reAlign.html" target="main">global_function_reAlign.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_reAlignment.html" target="main">reAlignment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_reAlignment.html" target="main">global_function_reAlignment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ReducedAminoAcid.html" target="main">ReducedAminoAcid</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ReducedAminoAcid.html" target="main">specialization_ReducedAminoAcid.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Reference.html" target="main">Reference</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Reference.html" target="main">global_metafunction_Reference.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_RemoveConst.html" target="main">RemoveConst</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_RemoveConst.html" target="main">global_metafunction_RemoveConst.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_RemovePointer.html" target="main">RemovePointer</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_RemovePointer.html" target="main">global_metafunction_RemovePointer.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_RemoveReference.html" target="main">RemoveReference</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_RemoveReference.html" target="main">global_metafunction_RemoveReference.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_RemoveView.html" target="main">RemoveView</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_RemoveView.html" target="main">global_metafunction_RemoveView.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Repeat.html" target="main">Repeat</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Repeat.html" target="main">class_Repeat.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ResizableContainerView.html" target="main">ResizableContainerView</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ResizableContainerView.html" target="main">specialization_ResizableContainerView.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_reverse.html" target="main">reverse</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_reverse.html" target="main">global_function_reverse.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_reverseComplement.html" target="main">reverseComplement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_reverseComplement.html" target="main">global_function_reverseComplement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_ReversibleContainerConcept.html" target="main">ReversibleContainerConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_ReversibleContainerConcept.html" target="main">concept_ReversibleContainerConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_RevTextFibre.html" target="main">RevTextFibre</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_RevTextFibre.html" target="main">class_RevTextFibre.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_RightArrayBinaryTree.html" target="main">RightArrayBinaryTree</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_RightArrayBinaryTree.html" target="main">class_RightArrayBinaryTree.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_RightArrayBinaryTreeFibres.html" target="main">RightArrayBinaryTreeFibres</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_RightArrayBinaryTreeFibres.html" target="main">group_RightArrayBinaryTreeFibres.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_RightArrayBinaryTreeIterator.html" target="main">RightArrayBinaryTreeIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_RightArrayBinaryTreeIterator.html" target="main">specialization_RightArrayBinaryTreeIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Rna.html" target="main">Rna</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Rna.html" target="main">specialization_Rna.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Rna5.html" target="main">Rna5</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Rna5.html" target="main">specialization_Rna5.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Rna5Iterator.html" target="main">Rna5Iterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Rna5Iterator.html" target="main">global_typedef_Rna5Iterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Rna5String.html" target="main">Rna5String</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Rna5String.html" target="main">global_typedef_Rna5String.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Rna5StringComplement.html" target="main">Rna5StringComplement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Rna5StringComplement.html" target="main">global_typedef_Rna5StringComplement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Rna5StringReverse.html" target="main">Rna5StringReverse</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Rna5StringReverse.html" target="main">global_typedef_Rna5StringReverse.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Rna5StringReverseComplement.html" target="main">Rna5StringReverseComplement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Rna5StringReverseComplement.html" target="main">global_typedef_Rna5StringReverseComplement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_RnaIterator.html" target="main">RnaIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_RnaIterator.html" target="main">global_typedef_RnaIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_RnaString.html" target="main">RnaString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_RnaString.html" target="main">global_typedef_RnaString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_RnaStringComplement.html" target="main">RnaStringComplement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_RnaStringComplement.html" target="main">global_typedef_RnaStringComplement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_RnaStringReverse.html" target="main">RnaStringReverse</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_RnaStringReverse.html" target="main">global_typedef_RnaStringReverse.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_RnaStringReverseComplement.html" target="main">RnaStringReverseComplement</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_RnaStringReverseComplement.html" target="main">global_typedef_RnaStringReverseComplement.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_RoiFileIn.html" target="main">RoiFileIn</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_RoiFileIn.html" target="main">specialization_RoiFileIn.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_RoiFileOut.html" target="main">RoiFileOut</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_RoiFileOut.html" target="main">specialization_RoiFileOut.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_RootedIteratorConcept.html" target="main">RootedIteratorConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_RootedIteratorConcept.html" target="main">concept_RootedIteratorConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_RootedRandomAccessIteratorConcept.html" target="main">RootedRandomAccessIteratorConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_RootedRandomAccessIteratorConcept.html" target="main">concept_RootedRandomAccessIteratorConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_RuntimeError.html" target="main">RuntimeError</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_RuntimeError.html" target="main">class_RuntimeError.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Sampler.html" target="main">Sampler</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Sampler.html" target="main">specialization_Sampler.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_SAValue.html" target="main">SAValue</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_SAValue.html" target="main">global_metafunction_SAValue.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Score.html" target="main">Score</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Score.html" target="main">class_Score.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Seed.html" target="main">Seed</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Seed.html" target="main">class_Seed.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_SeedDiagonal.html" target="main">SeedDiagonal</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_SeedDiagonal.html" target="main">class_SeedDiagonal.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_SeedExtensionTags.html" target="main">SeedExtensionTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_SeedExtensionTags.html" target="main">group_SeedExtensionTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_SeedSet.html" target="main">SeedSet</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_SeedSet.html" target="main">class_SeedSet.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Segment.html" target="main">Segment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Segment.html" target="main">class_Segment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_SegmentableConcept.html" target="main">SegmentableConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_SegmentableConcept.html" target="main">concept_SegmentableConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_SegmentMatchGenerationTags.html" target="main">SegmentMatchGenerationTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_SegmentMatchGenerationTags.html" target="main">group_SegmentMatchGenerationTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_SelectableAminoAcidMatrix.html" target="main">SelectableAminoAcidMatrix</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_SelectableAminoAcidMatrix.html" target="main">global_typedef_SelectableAminoAcidMatrix.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_SentinelRankDictionary.html" target="main">SentinelRankDictionary</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_SentinelRankDictionary.html" target="main">class_SentinelRankDictionary.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_SentinelRankDictionaryFibres.html" target="main">SentinelRankDictionaryFibres</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_SentinelRankDictionaryFibres.html" target="main">group_SentinelRankDictionaryFibres.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="macro" data-pimped="true">
-              <span data-lang-entity="macro"><a href="page_LanguageEntities.html#macro">#define</a><span>#define</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="macro" data-pimped="true">
-                    <a href="page_LanguageEntities.html#macro">#define</a>
-                    <a href="macro_SEQAN_95ENABLE_95PARALLELISM.html" target="main">SEQAN_ENABLE_PARALLELISM</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="macro_SEQAN_95ENABLE_95PARALLELISM.html" target="main">macro_SEQAN_95ENABLE_95PARALLELISM.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="macro" data-pimped="true">
-              <span data-lang-entity="macro"><a href="page_LanguageEntities.html#macro">#define</a><span>#define</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="macro" data-pimped="true">
-                    <a href="page_LanguageEntities.html#macro">#define</a>
-                    <a href="macro_SEQAN_95HAS_95BZIP2.html" target="main">SEQAN_HAS_BZIP2</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="macro_SEQAN_95HAS_95BZIP2.html" target="main">macro_SEQAN_95HAS_95BZIP2.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="macro" data-pimped="true">
-              <span data-lang-entity="macro"><a href="page_LanguageEntities.html#macro">#define</a><span>#define</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="macro" data-pimped="true">
-                    <a href="page_LanguageEntities.html#macro">#define</a>
-                    <a href="macro_SEQAN_95HAS_95ZLIB.html" target="main">SEQAN_HAS_ZLIB</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="macro_SEQAN_95HAS_95ZLIB.html" target="main">macro_SEQAN_95HAS_95ZLIB.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="macro" data-pimped="true">
-              <span data-lang-entity="macro"><a href="page_LanguageEntities.html#macro">#define</a><span>#define</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="macro" data-pimped="true">
-                    <a href="page_LanguageEntities.html#macro">#define</a>
-                    <a href="macro_SEQAN_95IS_9532_95BIT.html" target="main">SEQAN_IS_32_BIT</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="macro_SEQAN_95IS_9532_95BIT.html" target="main">macro_SEQAN_95IS_9532_95BIT.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="macro" data-pimped="true">
-              <span data-lang-entity="macro"><a href="page_LanguageEntities.html#macro">#define</a><span>#define</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="macro" data-pimped="true">
-                    <a href="page_LanguageEntities.html#macro">#define</a>
-                    <a href="macro_SEQAN_95IS_9564_95BIT.html" target="main">SEQAN_IS_64_BIT</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="macro_SEQAN_95IS_9564_95BIT.html" target="main">macro_SEQAN_95IS_9564_95BIT.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="macro" data-pimped="true">
-              <span data-lang-entity="macro"><a href="page_LanguageEntities.html#macro">#define</a><span>#define</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="macro" data-pimped="true">
-                    <a href="page_LanguageEntities.html#macro">#define</a>
-                    <a href="macro_SEQAN_95OMP_95PRAGMA.html" target="main">SEQAN_OMP_PRAGMA</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="macro_SEQAN_95OMP_95PRAGMA.html" target="main">macro_SEQAN_95OMP_95PRAGMA.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="macro" data-pimped="true">
-              <span data-lang-entity="macro"><a href="page_LanguageEntities.html#macro">#define</a><span>#define</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="macro" data-pimped="true">
-                    <a href="page_LanguageEntities.html#macro">#define</a>
-                    <a href="macro_SEQAN_95PATH_95TO_95ROOT.html" target="main">SEQAN_PATH_TO_ROOT</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="macro_SEQAN_95PATH_95TO_95ROOT.html" target="main">macro_SEQAN_95PATH_95TO_95ROOT.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="macro" data-pimped="true">
-              <span data-lang-entity="macro"><a href="page_LanguageEntities.html#macro">#define</a><span>#define</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="macro" data-pimped="true">
-                    <a href="page_LanguageEntities.html#macro">#define</a>
-                    <a href="macro_SEQAN_95TEMP_95FILENAME.html" target="main">SEQAN_TEMP_FILENAME</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="macro_SEQAN_95TEMP_95FILENAME.html" target="main">macro_SEQAN_95TEMP_95FILENAME.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SeqFileIn.html" target="main">SeqFileIn</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SeqFileIn.html" target="main">specialization_SeqFileIn.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SeqFileOut.html" target="main">SeqFileOut</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SeqFileOut.html" target="main">specialization_SeqFileOut.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_SequenceOutputOptions.html" target="main">SequenceOutputOptions</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_SequenceOutputOptions.html" target="main">class_SequenceOutputOptions.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_setBit.html" target="main">setBit</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_setBit.html" target="main">global_function_setBit.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_setBitTo.html" target="main">setBitTo</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_setBitTo.html" target="main">global_function_setBitTo.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SetHorspoolPattern.html" target="main">SetHorspoolPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SetHorspoolPattern.html" target="main">specialization_SetHorspoolPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Shape.html" target="main">Shape</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Shape.html" target="main">class_Shape.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_shareResources.html" target="main">shareResources</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_shareResources.html" target="main">global_function_shareResources.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ShiftAndPattern.html" target="main">ShiftAndPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ShiftAndPattern.html" target="main">specialization_ShiftAndPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Shifter.html" target="main">Shifter</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Shifter.html" target="main">specialization_Shifter.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ShiftOrPattern.html" target="main">ShiftOrPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ShiftOrPattern.html" target="main">specialization_ShiftOrPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_shuffle.html" target="main">shuffle</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_shuffle.html" target="main">global_function_shuffle.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_SignedIntegerConcept.html" target="main">SignedIntegerConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_SignedIntegerConcept.html" target="main">concept_SignedIntegerConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SimpleAllocator.html" target="main">SimpleAllocator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SimpleAllocator.html" target="main">specialization_SimpleAllocator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SimpleHolder.html" target="main">SimpleHolder</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SimpleHolder.html" target="main">specialization_SimpleHolder.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SimpleIntervalsFileIn.html" target="main">SimpleIntervalsFileIn</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SimpleIntervalsFileIn.html" target="main">specialization_SimpleIntervalsFileIn.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SimpleIntervalsFileInOut.html" target="main">SimpleIntervalsFileInOut</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SimpleIntervalsFileInOut.html" target="main">specialization_SimpleIntervalsFileInOut.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_SimpleIntervalsIOContext.html" target="main">SimpleIntervalsIOContext</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_SimpleIntervalsIOContext.html" target="main">class_SimpleIntervalsIOContext.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SimplePattern.html" target="main">SimplePattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SimplePattern.html" target="main">specialization_SimplePattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SimpleScore.html" target="main">SimpleScore</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SimpleScore.html" target="main">specialization_SimpleScore.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_SimpleScoreTypedef.html" target="main">SimpleScoreTypedef</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_SimpleScoreTypedef.html" target="main">global_typedef_SimpleScoreTypedef.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SimpleSeed.html" target="main">SimpleSeed</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SimpleSeed.html" target="main">specialization_SimpleSeed.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SimpleShape.html" target="main">SimpleShape</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SimpleShape.html" target="main">specialization_SimpleShape.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_SimpleType.html" target="main">SimpleType</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_SimpleType.html" target="main">class_SimpleType.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SinglePoolAllocator.html" target="main">SinglePoolAllocator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SinglePoolAllocator.html" target="main">specialization_SinglePoolAllocator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Size.html" target="main">Size</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Size.html" target="main">global_metafunction_Size.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Skiplist.html" target="main">Skiplist</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Skiplist.html" target="main">specialization_Skiplist.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_sortAlignedReads.html" target="main">sortAlignedReads</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_sortAlignedReads.html" target="main">global_function_sortAlignedReads.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_SortAlignedReadTags.html" target="main">SortAlignedReadTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_SortAlignedReadTags.html" target="main">group_SortAlignedReadTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SorterConfig.html" target="main">SorterConfig</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SorterConfig.html" target="main">specialization_SorterConfig.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SorterConfigSize.html" target="main">SorterConfigSize</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SorterConfigSize.html" target="main">specialization_SorterConfigSize.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SorterSpec.html" target="main">SorterSpec</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SorterSpec.html" target="main">specialization_SorterSpec.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Source.html" target="main">Source</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Source.html" target="main">specialization_Source.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_SparseString.html" target="main">SparseString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_SparseString.html" target="main">class_SparseString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_SparseStringFibres.html" target="main">SparseStringFibres</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_SparseStringFibres.html" target="main">group_SparseStringFibres.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Spec.html" target="main">Spec</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Spec.html" target="main">global_metafunction_Spec.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_splitAlignment.html" target="main">splitAlignment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_splitAlignment.html" target="main">global_function_splitAlignment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_splitGenBankHeader.html" target="main">splitGenBankHeader</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_splitGenBankHeader.html" target="main">global_function_splitGenBankHeader.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Splitter.html" target="main">Splitter</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Splitter.html" target="main">class_Splitter.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_StandardIntegers.html" target="main">StandardIntegers</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_StandardIntegers.html" target="main">group_StandardIntegers.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_startsWith.html" target="main">startsWith</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_startsWith.html" target="main">global_function_startsWith.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_StdAdaptorIterator.html" target="main">StdAdaptorIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_StdAdaptorIterator.html" target="main">specialization_StdAdaptorIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_StoreIntervalsIntervalTreeNode.html" target="main">StoreIntervalsIntervalTreeNode</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_StoreIntervalsIntervalTreeNode.html" target="main">specialization_StoreIntervalsIntervalTreeNode.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_StorePointsOnlyIntervalTreeNode.html" target="main">StorePointsOnlyIntervalTreeNode</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_StorePointsOnlyIntervalTreeNode.html" target="main">specialization_StorePointsOnlyIntervalTreeNode.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_StreamBuffer.html" target="main">StreamBuffer</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_StreamBuffer.html" target="main">class_StreamBuffer.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_StreamConcept.html" target="main">StreamConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_StreamConcept.html" target="main">concept_StreamConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_StreamFormats.html" target="main">StreamFormats</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_StreamFormats.html" target="main">group_StreamFormats.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_StreamIterator.html" target="main">StreamIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_StreamIterator.html" target="main">specialization_StreamIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_String.html" target="main">String</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_String.html" target="main">class_String.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_StringConcept.html" target="main">StringConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_StringConcept.html" target="main">concept_StringConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_StringEnumerator.html" target="main">StringEnumerator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_StringEnumerator.html" target="main">class_StringEnumerator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_StringIndexConcept.html" target="main">StringIndexConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_StringIndexConcept.html" target="main">concept_StringIndexConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_StringSet.html" target="main">StringSet</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_StringSet.html" target="main">class_StringSet.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_stringToStringSet.html" target="main">stringToStringSet</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_stringToStringSet.html" target="main">global_function_stringToStringSet.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_StringTreeConcept.html" target="main">StringTreeConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_StringTreeConcept.html" target="main">concept_StringTreeConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_StringTrieConcept.html" target="main">StringTrieConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_StringTrieConcept.html" target="main">concept_StringTrieConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_stronglyConnectedComponents.html" target="main">stronglyConnectedComponents</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_stronglyConnectedComponents.html" target="main">global_function_stronglyConnectedComponents.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SuffixSegment.html" target="main">SuffixSegment</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SuffixSegment.html" target="main">specialization_SuffixSegment.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_sum.html" target="main">sum</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_sum.html" target="main">global_function_sum.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_sumOfPairsScore.html" target="main">sumOfPairsScore</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_sumOfPairsScore.html" target="main">global_function_sumOfPairsScore.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SuperMaxRepeatsFastIterator.html" target="main">SuperMaxRepeatsFastIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SuperMaxRepeatsFastIterator.html" target="main">specialization_SuperMaxRepeatsFastIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SuperMaxRepeatsIterator.html" target="main">SuperMaxRepeatsIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SuperMaxRepeatsIterator.html" target="main">specialization_SuperMaxRepeatsIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SwiftFinder.html" target="main">SwiftFinder</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SwiftFinder.html" target="main">specialization_SwiftFinder.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SwiftLocalFinder.html" target="main">SwiftLocalFinder</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SwiftLocalFinder.html" target="main">specialization_SwiftLocalFinder.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SwiftLocalPattern.html" target="main">SwiftLocalPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SwiftLocalPattern.html" target="main">specialization_SwiftLocalPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_SwiftParameters.html" target="main">SwiftParameters</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_SwiftParameters.html" target="main">class_SwiftParameters.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SwiftPattern.html" target="main">SwiftPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SwiftPattern.html" target="main">specialization_SwiftPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SwiftSemiGlobalFinder.html" target="main">SwiftSemiGlobalFinder</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SwiftSemiGlobalFinder.html" target="main">specialization_SwiftSemiGlobalFinder.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SwiftSemiGlobalPattern.html" target="main">SwiftSemiGlobalPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SwiftSemiGlobalPattern.html" target="main">specialization_SwiftSemiGlobalPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_SyncFile.html" target="main">SyncFile</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_SyncFile.html" target="main">specialization_SyncFile.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_sysTime.html" target="main">sysTime</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_sysTime.html" target="main">global_function_sysTime.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_TabixIndex.html" target="main">TabixIndex</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_TabixIndex.html" target="main">class_TabixIndex.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Tag.html" target="main">Tag</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Tag.html" target="main">class_Tag.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_TagList.html" target="main">TagList</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_TagList.html" target="main">class_TagList.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_TagSelector.html" target="main">TagSelector</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_TagSelector.html" target="main">class_TagSelector.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_testAllOnes.html" target="main">testAllOnes</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_testAllOnes.html" target="main">global_function_testAllOnes.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_testAllZeros.html" target="main">testAllZeros</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_testAllZeros.html" target="main">global_function_testAllZeros.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_TestSystemMacros.html" target="main">TestSystemMacros</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_TestSystemMacros.html" target="main">group_TestSystemMacros.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_TextConcept.html" target="main">TextConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_TextConcept.html" target="main">concept_TextConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_TightDependentStringSet.html" target="main">TightDependentStringSet</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_TightDependentStringSet.html" target="main">specialization_TightDependentStringSet.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_toLower.html" target="main">toLower</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_toLower.html" target="main">global_function_toLower.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ToolDoc.html" target="main">ToolDoc</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ToolDoc.html" target="main">class_ToolDoc.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_TopDown.html" target="main">TopDown</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_TopDown.html" target="main">group_TopDown.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_TopDownHistoryIterator.html" target="main">TopDownHistoryIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_TopDownHistoryIterator.html" target="main">specialization_TopDownHistoryIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_TopDownIterator.html" target="main">TopDownIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_TopDownIterator.html" target="main">specialization_TopDownIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_topologicalSort.html" target="main">topologicalSort</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_topologicalSort.html" target="main">global_function_topologicalSort.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_ToStdAllocator.html" target="main">ToStdAllocator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_ToStdAllocator.html" target="main">class_ToStdAllocator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_toUpper.html" target="main">toUpper</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_toUpper.html" target="main">global_function_toUpper.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_TraceBack.html" target="main">TraceBack</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_TraceBack.html" target="main">global_typedef_TraceBack.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_transitiveClosure.html" target="main">transitiveClosure</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_transitiveClosure.html" target="main">global_function_transitiveClosure.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_translate.html" target="main">translate</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_translate.html" target="main">global_function_translate.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="enum" data-pimped="true">
-              <span data-lang-entity="enum"><a href="page_LanguageEntities.html#enum">enum</a><span>enum</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="enum" data-pimped="true">
-                    <a href="page_LanguageEntities.html#enum">enum</a>
-                    <a href="enum_TranslationFrames.html" target="main">TranslationFrames</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="enum_TranslationFrames.html" target="main">enum_TranslationFrames.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Tree.html" target="main">Tree</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Tree.html" target="main">specialization_Tree.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_TrieBfamPattern.html" target="main">TrieBfamPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_TrieBfamPattern.html" target="main">specialization_TrieBfamPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Triple.html" target="main">Triple</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Triple.html" target="main">class_Triple.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_tripletLibraryExtension.html" target="main">tripletLibraryExtension</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_tripletLibraryExtension.html" target="main">global_function_tripletLibraryExtension.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_TristateHolder.html" target="main">TristateHolder</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_TristateHolder.html" target="main">specialization_TristateHolder.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_Tuple.html" target="main">Tuple</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_Tuple.html" target="main">class_Tuple.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_Tupler.html" target="main">Tupler</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_Tupler.html" target="main">specialization_Tupler.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_TView.html" target="main">TView</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_TView.html" target="main">global_function_TView.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_TwoLevelRankDictionary.html" target="main">TwoLevelRankDictionary</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_TwoLevelRankDictionary.html" target="main">specialization_TwoLevelRankDictionary.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_UcscFileIn.html" target="main">UcscFileIn</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_UcscFileIn.html" target="main">specialization_UcscFileIn.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_UcscFileOut.html" target="main">UcscFileOut</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_UcscFileOut.html" target="main">specialization_UcscFileOut.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_UcscIOContext.html" target="main">UcscIOContext</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_UcscIOContext.html" target="main">class_UcscIOContext.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_UcscRecord.html" target="main">UcscRecord</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_UcscRecord.html" target="main">class_UcscRecord.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_UnbandedLocalAlignmentEnumerator.html" target="main">UnbandedLocalAlignmentEnumerator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_UnbandedLocalAlignmentEnumerator.html" target="main">specialization_UnbandedLocalAlignmentEnumerator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_UndirectedGraph.html" target="main">UndirectedGraph</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_UndirectedGraph.html" target="main">specialization_UndirectedGraph.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_UnexpectedEnd.html" target="main">UnexpectedEnd</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_UnexpectedEnd.html" target="main">specialization_UnexpectedEnd.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_UngappedShape.html" target="main">UngappedShape</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_UngappedShape.html" target="main">specialization_UngappedShape.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_UnicodeString.html" target="main">UnicodeString</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_UnicodeString.html" target="main">global_typedef_UnicodeString.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_UnionFind.html" target="main">UnionFind</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_UnionFind.html" target="main">class_UnionFind.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="concept" data-pimped="true">
-              <span data-lang-entity="concept"><a href="page_LanguageEntities.html#concept">Concept</a><span>Concept</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="concept" data-pimped="true">
-                    <a href="page_LanguageEntities.html#concept">Concept</a>
-                    <a href="concept_UnsignedIntegerConcept.html" target="main">UnsignedIntegerConcept</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="concept_UnsignedIntegerConcept.html" target="main">concept_UnsignedIntegerConcept.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_UpgmaConfiguratorTags.html" target="main">UpgmaConfiguratorTags</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_UpgmaConfiguratorTags.html" target="main">group_UpgmaConfiguratorTags.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_upgmaTree.html" target="main">upgmaTree</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_upgmaTree.html" target="main">global_function_upgmaTree.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_upperBoundAlignedReads.html" target="main">upperBoundAlignedReads</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_upperBoundAlignedReads.html" target="main">global_function_upperBoundAlignedReads.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_Value.html" target="main">Value</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_Value.html" target="main">global_metafunction_Value.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_valueConstruct.html" target="main">valueConstruct</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_valueConstruct.html" target="main">global_function_valueConstruct.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_valueDestruct.html" target="main">valueDestruct</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_valueDestruct.html" target="main">global_function_valueDestruct.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_variance.html" target="main">variance</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_variance.html" target="main">global_function_variance.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_VcfFileIn.html" target="main">VcfFileIn</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_VcfFileIn.html" target="main">specialization_VcfFileIn.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_VcfFileOut.html" target="main">VcfFileOut</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_VcfFileOut.html" target="main">specialization_VcfFileOut.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_VcfHeader.html" target="main">VcfHeader</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_VcfHeader.html" target="main">class_VcfHeader.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_VcfHeaderRecord.html" target="main">VcfHeaderRecord</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_VcfHeaderRecord.html" target="main">class_VcfHeaderRecord.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_VcfIOContext.html" target="main">VcfIOContext</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_VcfIOContext.html" target="main">class_VcfIOContext.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_VcfRecord.html" target="main">VcfRecord</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_VcfRecord.html" target="main">class_VcfRecord.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_VectorSet.html" target="main">VectorSet</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_VectorSet.html" target="main">specialization_VectorSet.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_VertexDescriptor.html" target="main">VertexDescriptor</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_VertexDescriptor.html" target="main">global_metafunction_VertexDescriptor.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_VertexIterator.html" target="main">VertexIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_VertexIterator.html" target="main">specialization_VertexIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_View.html" target="main">View</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_View.html" target="main">global_metafunction_View.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_VirtualStream.html" target="main">VirtualStream</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_VirtualStream.html" target="main">class_VirtualStream.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="class" data-pimped="true">
-              <span data-lang-entity="class"><a href="page_LanguageEntities.html#class">Class</a><span>Class</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="class" data-pimped="true">
-                    <a href="page_LanguageEntities.html#class">Class</a>
-                    <a href="class_VolatilePtr.html" target="main">VolatilePtr</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="class_VolatilePtr.html" target="main">class_VolatilePtr.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_VSTreeIterator.html" target="main">VSTreeIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_VSTreeIterator.html" target="main">specialization_VSTreeIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_typedef" data-pimped="true">
-              <span data-lang-entity="global_typedef"><a href="page_LanguageEntities.html#global_typedef">typedef</a><span>typedef</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_typedef" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_typedef">typedef</a>
-                    <a href="global_typedef_Vtml200.html" target="main">Vtml200</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_typedef_Vtml200.html" target="main">global_typedef_Vtml200.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_WaveletTree.html" target="main">WaveletTree</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_WaveletTree.html" target="main">specialization_WaveletTree.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_WaveletTreeFibres.html" target="main">WaveletTreeFibres</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_WaveletTreeFibres.html" target="main">group_WaveletTreeFibres.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_weaklyConnectedComponents.html" target="main">weaklyConnectedComponents</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_weaklyConnectedComponents.html" target="main">global_function_weaklyConnectedComponents.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_metafunction" data-pimped="true">
-              <span data-lang-entity="global_metafunction"><a href="page_LanguageEntities.html#global_metafunction">Fn<></a><span>Fn<></span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_metafunction" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_metafunction">Fn<></a>
-                    <a href="global_metafunction_WEIGHT.html" target="main">WEIGHT</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_metafunction_WEIGHT.html" target="main">global_metafunction_WEIGHT.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_WildShiftAndPattern.html" target="main">WildShiftAndPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_WildShiftAndPattern.html" target="main">specialization_WildShiftAndPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_WordGraph.html" target="main">WordGraph</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_WordGraph.html" target="main">specialization_WordGraph.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="group" data-pimped="true">
-              <span data-lang-entity="group"><a href="page_LanguageEntities.html#group">Group</a><span>Group</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="group" data-pimped="true">
-                    <a href="page_LanguageEntities.html#group">Group</a>
-                    <a href="group_WOTDIndexFibres.html" target="main">WOTDIndexFibres</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="group_WOTDIndexFibres.html" target="main">group_WOTDIndexFibres.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_WuManberPattern.html" target="main">WuManberPattern</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_WuManberPattern.html" target="main">specialization_WuManberPattern.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ZipContainerView.html" target="main">ZipContainerView</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ZipContainerView.html" target="main">specialization_ZipContainerView.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="specialization" data-pimped="true">
-              <span data-lang-entity="specialization"><a href="page_LanguageEntities.html#specialization">Spec</a><span>Spec</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="specialization" data-pimped="true">
-                    <a href="page_LanguageEntities.html#specialization">Spec</a>
-                    <a href="specialization_ZipIterator.html" target="main">ZipIterator</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="specialization_ZipIterator.html" target="main">specialization_ZipIterator.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-            
-            <li data-lang-entity-container="global_function" data-pimped="true">
-              <span data-lang-entity="global_function"><a href="page_LanguageEntities.html#global_function">fn()</a><span>fn()</span></span>
-              <ol class="nav">
-                <li class="result">
-                  <h2 data-lang-entity="global_function" data-pimped="true">
-                    <a href="page_LanguageEntities.html#global_function">fn()</a>
-                    <a href="global_function_zscore.html" target="main">zscore</a>
-                  </h2>
-                  <div>
-                    <div class="text"></div>
-                    <div class="location"><a href="global_function_zscore.html" target="main">global_function_zscore.html</a></div>
-                  </div>
-                </li>
-                
-              </ol>
-            </li>
-            
-            
-          </ol>
-        </div>
-    </div>
-
-    <div id="list_bottom" style="background:#dad9dc; vertical-align:middle; transparent:false; line-hieght:150px; width:100%; text-align:right; position:fixed; padding:10px; padding-right:20px; bottom:0px;">
-        <div id="list_bottom_left" style="text-align:left; float:left;"></div>
-        <div id="list_bottom_right" style="text-align:right; float:right"></div>
-    </div>
-    <script type="text/javascript" charset="utf-8" src="js/module_tree.js"></script>
-    <script type="text/javascript" charset="utf-8" src="js/version.js"></script>
-  </body>
-</html>
diff --git a/util/py_lib/seqan/dox/validation.py b/util/py_lib/seqan/dox/validation.py
deleted file mode 100644
index 5666d3b..0000000
--- a/util/py_lib/seqan/dox/validation.py
+++ /dev/null
@@ -1,139 +0,0 @@
-#!/usr/bin/env python2
-"""Some validation for proc_doc.Proc*"""
-
-__author__ = 'Manuel Holtgrewe <manuel.holtgrewe at fu-berlin.de>'
-
-class ProcDocValidator(object):
-    """Validate proc_doc.Proc* objects.
-
-    Implements the visitor pattern.
-    """
-
-    def __init__(self, msg_printer):
-        self.msg_printer = msg_printer
-
-    def validate(self, proc_entry):
-        return
-
-
-class MissingSignatureValidator(ProcDocValidator):
-    """Validates for missing or empty signature."""
-
-    def validate(self, proc_entry):
-        IGNORED = ['variable', 'member_variable', 'tag', 'grouped_tag', 'typedef',
-                   'grouped_typedef', 'signature', 'concept', 'member_typedef',
-                   'enum', 'grouped_enum', 'enum_value']
-        if not hasattr(proc_entry, 'signatures') or proc_entry.kind in IGNORED:
-            return  # Skip if type has no signatures.
-        if not proc_entry.signatures:
-            msg = 'Missing @signature for this entry!'
-            self.msg_printer.printTokenError(proc_entry.raw.first_token, msg, 'warning')
-
-
-class MissingSignatureKeywordsValidator(ProcDocValidator):
-    """Validates for missing keywords in signature (e.g. "class" for @class)."""
-
-    def validate(self, proc_entry):
-        if proc_entry.kind not in ['class', 'specialization']:
-            return  # only handle those
-        for i, sig in enumerate(proc_entry.raw.signatures):
-            # TODO(holtgrew): Really allow typedef and ::Type/mfns here?
-            if 'class ' not in sig.text.text and 'struct ' not in sig.text.text \
-                    and 'typedef ' not in sig.text.text and 'using' not in sig.text.text \
-                    and not sig.text.text.strip().endswith('::Type') \
-                    and not sig.text.text.strip().endswith('::Type;'):
-                msg = 'Missing keyword "class", "struct", "typedef", "using" in signature.'
-                self.msg_printer.printTokenError(proc_entry.raw.signatures[i].text.tokens[0], msg, 'warning')
-
-
-class OnlyRemarksInBodyValidator(ProcDocValidator):
-    """Validates for the body starting with '@section Remarks'."""
-
-    def validate(self, proc_entry):
-        if not hasattr(proc_entry, 'body') or not proc_entry.body.children:
-            return  # only handle if has non-empty body
-        if proc_entry.body.children[0].type in ['h1', 'h2', 'h3', 'h4', 'h5'] and \
-                proc_entry.body.children[0].children and \
-                proc_entry.body.children[0].children[0].text == 'Remarks':
-                msg = 'Detailed descrition starts with Remarks'
-                self.msg_printer.printTokenError(proc_entry.raw.first_token, msg, 'warning')
-
-
-class MissingParameterDescriptionValidator(ProcDocValidator):
-    """Warns if the description is missing for a @param or @return."""
-
-    def validate(self, proc_entry):
-        if not hasattr(proc_entry, 'params') and \
-           not hasattr(proc_entry, 'tparams') and \
-           not hasattr(proc_entry, 'returns'):
-            return  # Skip if type has no parameters
-        # Check for empty name.
-        for key in ['params', 'tparams', 'returns']:
-            if not hasattr(proc_entry, key):
-                continue  # Skip if missing.
-            for val in getattr(proc_entry, key):
-                if hasattr(val, 'name') and not val.name:
-                    msg = 'Missing name for @%s' % key[:-1]
-                elif hasattr(val, 'type') and not val.type:
-                    msg = 'Missing type for @%s' % key[:-1]
-                else:
-                    continue  # skip
-                self.msg_printer.printTokenError(val.raw.first_token, msg, 'warning')
-        # Check for empty description.
-        for key in ['params', 'tparams', 'returns']:
-            if not hasattr(proc_entry, key):
-                continue  # Skip if missing.
-            for val in getattr(proc_entry, key):
-                if val.desc.empty:
-                    msg = 'Missing description for @%s' % key[:-1]
-                    self.msg_printer.printTokenError(val.raw.first_token, msg, 'warning')
-
-
-class ReturnVoidValidator(ProcDocValidator):
-    """Warns if there is a (superflous) @return void entry."""
-
-    def validate(self, proc_entry):
-        if not hasattr(proc_entry, 'returns'):
-            return  # Skip if type has no returns member.
-        for r in proc_entry.returns:
-            if r.type == 'void':
-                msg = '@return superflous for "void" type -- simply show "void" in signature.'
-                self.msg_printer.printTokenError(r.raw.first_token, msg, 'warning')
-
-
-class EmptyBriefValidator(ProcDocValidator):
-    """Warns if there is no non-empty @brief section for an entry."""
-
-    def validate(self, proc_entry):
-        IGNORED = ['mainpage', 'page']
-        if proc_entry.kind in IGNORED:
-            return  # Skip.
-        if not hasattr(proc_entry, 'brief'):
-            return  # Skip if type has no returns member.
-        if not proc_entry.brief or proc_entry.brief.empty:
-            msg = 'Missing non-empty @brief clause.'
-            self.msg_printer.printTokenError(proc_entry.raw.first_token, msg, 'warning')
-
-
-class ClassCannotExtendConceptValidator(ProcDocValidator):
-    """Warns a class extends a concept."""
-
-    def validate(self, proc_entry):
-        if proc_entry.kind not in ['class', 'specialization']:
-            return  # Skip.
-        for ext in proc_entry.extends:
-            if not ext in proc_entry.doc.top_level_entries:
-                continue
-            if proc_entry.doc.top_level_entries[ext].kind not in ['class', 'specialization']:
-                msg = 'Class %s tries to inherit from non-class %s' % (proc_entry.name, ext)
-                self.msg_printer.printTokenError(proc_entry.raw.first_token, msg, 'error')
-
-
-# Array with the validator classes to use.
-VALIDATORS = [MissingSignatureValidator,
-              MissingParameterDescriptionValidator,
-              MissingSignatureKeywordsValidator,
-              #OnlyRemarksInBodyValidator,
-              ReturnVoidValidator,
-              EmptyBriefValidator,
-              ClassCannotExtendConceptValidator]
diff --git a/util/py_lib/seqan/dox/write_html.py b/util/py_lib/seqan/dox/write_html.py
deleted file mode 100644
index 387531d..0000000
--- a/util/py_lib/seqan/dox/write_html.py
+++ /dev/null
@@ -1,561 +0,0 @@
-#!/usr/bin/env python2
-"""Writing for HTML pages."""
-
-import distutils.dir_util
-import json
-import os
-import os.path
-import shutil
-import sys
-import xml.sax.saxutils
-import urllib
-
-import jinja2
-import proc_doc
-import raw_doc
-
-
-def escapeForXml(s):
-    """Return escaped XML of s."""
-    return xml.sax.saxutils.escape(s)
-
-
-def escapeName(name):
-    """Escape a name such that it is safe to use for files and anchors."""
-    """TODO(rmaerker): Encode special chars using urllib.quote(c.encode('utf8'))"""
-    escape = '_'
-    xs = []
-    for c in name:
-        if c.isalnum() or c in "-":
-            xs.append(c)
-        else:
-            xs += [escape, str(ord(c))]
-    return ''.join(xs)
-
-
-def escapeAnchor(name):
-    """Escape a name such that it is safe to use for anchors."""
-    return name
-
-
-class PathManager(object):
-    """Handles the path and link generation."""
-    
-    def __init__(self, out_dir):
-        self.out_dir = out_dir
-        self.this_dir = os.path.dirname(os.path.realpath(__file__))
-
-    def getTplPath(self, path):
-        """Returns path to template."""
-        return os.path.join(self.this_dir, 'tpl', path)
-
-    def getEntryPath(self, entry):
-        """Returns target path for page for entry."""
-        path = '%s_%s.html' % (entry.kind, escapeName(entry.name))
-        return os.path.join(self.out_dir, path)
-
-    def getTopFramesetPath(self):
-        """Returns target path for top frameset."""
-        return os.path.join(self.out_dir, 'index.html')
-
-    def getListPath(self):
-        """Returns target path for list."""
-        return os.path.join(self.out_dir, 'list.html')
-
-    def translateDemoPath(self, path):
-        """Translate demo path."""
-        return path
-
-
-class TextNodeToHtml(object):
-    def __init__(self, text_node, skip_top_tag=None, start_heading=2, path_mgr=None):
-        self.skip_top_tag = skip_top_tag
-        self.text_node = text_node
-        self.res = []
-        self.start_heading = start_heading
-        self.heading_table = {}
-        self.path_mgr = path_mgr
-        for i in range(0, 10):
-            self.heading_table['h%d' % i] = 'h%d' % (i + start_heading - 1)
-
-    def openTag(self, text_node, **kwargs):
-        if text_node.raw_html:
-            res = ['<', text_node.type]
-        else:
-            res = ['<', self.heading_table.get(text_node.type, text_node.type)]
-        for key, value in text_node.attrs.iteritems():
-            res += [' ', key, '=', '"', repr(value)[1:-1], '"']
-        for key, value in kwargs.iteritems():
-            res += [' ', key, '=', '"', value, '"']
-        res.append('>')
-        return res
-
-    def closeTag(self, text_node):
-        if text_node.raw_html:
-            return ['</', text_node.type, '>']
-        else:
-            return ['</', self.heading_table.get(text_node.type, text_node.type), '>']
-
-    def convertCode(self, source_code):
-        # TODO(holtgrew): Interpret source type.
-        try:
-            import pygments, pygments.lexers, pygments.formatters
-            return pygments.highlight(
-                source_code, pygments.lexers.CppLexer(),
-                pygments.formatters.HtmlFormatter(style='friendly'))
-        except ImportError:
-            return '<pre class="code">' + escapeForXml(source_code) + '</pre>'
-        return
-
-    def handleTag(self, text_node):
-        if text_node.type == '<text>':
-            self.res.append(text_node.text)
-        elif text_node.type == 'dox:code':
-            target_path = text_node.attrs.get('path')
-            if text_node.attrs.get('type') in ['.cpp', '.h']:
-                self.res.append('<div data-src-path="%s">%s' %
-                                (target_path, self.convertCode(text_node.children[0].text)))
-                if self.path_mgr:
-                    target_path = self.path_mrg.translateDemoPath(self.path_mgr)
-                if text_node.attrs.get('source') == 'snippet':
-                    self.res.append(
-                        '<div class="path_label"><span class="label">Snippet from:'
-                        '</span> <a href="%s" target="_top">%s</a></div>' %
-                        (target_path, text_node.attrs.get('path')))
-                elif text_node.attrs.get('source') == 'include':
-                    self.res.append(
-                        '<div class="path_label"><span class="label">Demo:'
-                        '</span> <a href="%s" target="_top">%s</a></div>' %
-                        (target_path, text_node.attrs.get('path')))
-                self.res.append('</div>')
-            elif text_node.attrs.get('type') in ['.console', '.stdout', '.stderr']:
-                self.res.append('<pre class="console" data-src-path="%s">%s</pre>' %
-                                (target_path, escapeForXml(text_node.children[0].text)))
-            else:
-                self.res.append('<pre class="code" data-src-path="%s">%s</pre>' %
-                                (target_path, escapeForXml(text_node.children[0].text)))
-        else:
-            self.res += self.openTag(text_node)
-            for c in text_node.children:
-                self.handleTag(c)
-            self.res += self.closeTag(text_node)
-        
-    def convert(self):
-        if not self.text_node:
-            return None
-        if not self.skip_top_tag:
-            self.res += self.openTag(self.text_node)
-        for c in self.text_node.children:
-            self.handleTag(c)
-        if not self.skip_top_tag:
-            self.res += self.closeTag(self.text_node)
-        return ''.join(self.res)
-
-
-def toDox(proc_entry, line_length=110, in_comment=False):
-    """Process a ProcEntry into the dox-like format."""
-    formatter = raw_doc.DoxFormatter()
-    result = []
-    result.append(proc_entry.raw_entry.getFormatted(formatter))
-    for key, lst in proc_entry.subentries.iteritems():
-        for elem in lst:
-            result.append(elem.raw_entry.getFormatted(formatter))
-    if in_comment:
-        result = [' * ' + l for line in result for l in line.splitlines(False)]
-        while result and result[-1] == ' * ':
-            result.pop(-1)
-        result = ['/*!'] + result + [' */']
-    return '\n'.join(result)
-
-
-def transTextNode(text_node, top=True, start_heading=3, path_mgr=None, **kwargs):
-    #return text_node.toHtmlLike(skip_top_tag=not top)
-    converter = TextNodeToHtml(text_node, skip_top_tag=not top, start_heading=start_heading, path_mgr=path_mgr)
-    return converter.convert() or ''
-
-
-def createTransLink(doc, path_mgr):
-    link_converter = LinkConverter(doc)
-    def transLink(entity_name, text=None):
-        if not text:
-            text = entity_name
-        text_node = proc_doc.TextNode(type='a')
-        text_node.attrs['href'] = 'seqan:%s' % entity_name
-        text_node.children = [proc_doc.TextNode(text=text)]
-        link_converter.visit(text_node)
-        return transTextNode(text_node, path_mgr)
-    return transLink
-
-
-def createNameToPath(doc):
-    path_converter = PathConverter(doc)
-    def convertPath(entry_name):
-        return path_converter.convert(entry_name)[0]
-    return convertPath
-
-
-class TemplateManager(object):
-    def __init__(self, path_manager, doc):
-        self.path_manager = path_manager
-        self.env = jinja2.Environment(loader=jinja2.FileSystemLoader(os.path.join(self.path_manager.this_dir, 'tpl')))
-        def identity(x):
-            return x
-        self.env.filters['escape_name'] = escapeName
-        self.env.filters['escape_anchor'] = escapeAnchor
-        self.env.filters['url_encode'] = urllib.quote
-        self.env.filters['transtext'] = transTextNode
-        self.env.filters['to_dox'] = toDox
-        self.env.filters['translink'] = createTransLink(doc, self)
-        self.env.filters['name_to_path'] = createNameToPath(doc)
-        self.env.filters['tojson'] = json.dumps
-        self.tpls = {}
-        for path in ['page.html', 'concept.html']:
-            self.loadTemplate(path)
-
-    def loadTemplate(self, path):
-        """Load template string at path."""
-        self.tpls[path] = self.env.get_template(path)
-
-    def render(self, path, **kwargs):
-        if not path in self.tpls:
-            self.loadTemplate(path)
-        return self.tpls[path].render(**kwargs)
-
-
-class PathConverter(object):
-    """Convert entry names to URL fragments (filename + anchor)."""
-
-    def __init__(self, doc):
-        self.doc = doc
-
-    def convert(self, name):
-        """Return None, None on failure path, title otherwise."""
-        if self.doc.top_level_entries.get(name):
-            entry = self.doc.top_level_entries.get(name)
-            path = '%s_%s.html' % (entry.kind, escapeName(entry.name))
-            title = None
-            if entry.kind == 'page':
-                title = entry.title
-            return path, title, entry
-        elif self.doc.entries.get(name):
-            first, second = proc_doc.splitSecondLevelEntry(name)
-            father = self.doc.top_level_entries.get(first)
-            entry = self.doc.second_level_entries.get(name)
-            path = '%s_%s.html#%s' % (father.kind, escapeName(father.name), escapeAnchor(name))
-            return path, name, entry
-        else:
-            return None, None, None
-
-
-# TODO(holtgrew): Should be doable in a simpler way than recursing ourselves here.  Visitor pattern for TextNode?
-class LinkConverter(proc_doc.TextNodeVisitor):
-    """Convert raw links to HTML-like links.
-
-    Raw links are links of the form <a href="seqan:$target">$label</a>.
-    """
-    
-    def __init__(self, doc):
-        self.doc = doc
-        self.path_converter = PathConverter(doc)
-
-    def visit(self, text_node):
-        if not text_node or text_node.type == '<text>':
-            return
-        if text_node.type == 'a':
-            self._translateLink(text_node)
-        else:
-            for i, c in enumerate(text_node.children):
-                text_node.children[i] = self._replaceNode(c)
-
-    def _translateLink(self, a_node):
-        if not a_node.attrs.get('href', '').startswith('seqan:'):
-            return
-        target = a_node.attrs['href'][6:]
-        target_path, target_title, target_obj = self.path_converter.convert(target)
-        # Shorten path title if not manually specified.
-        if (a_node.children and a_node.plainText == target_title and
-           self.doc.local_name_counter.get(target_title, 1) <= 1):
-            short_title = proc_doc.splitSecondLevelEntry(target_title)[1]
-            a_node.children = [proc_doc.TextNode(text=short_title)]
-        if target_title:
-            target_title = proc_doc.TextNode(text=target_title)
-        else:
-            target_title = proc_doc.TextNode(text=target)
-        # TODO(holtgrew): Catch target_title being None, target_path not found!
-        if target_path is not None:
-            if target_obj:
-                a_node.attrs['data-lang-entity'] = target_obj.kind
-            a_node.attrs['href'] = target_path
-            if not a_node.children:
-                a_node.addChild(target_title)
-        else:
-            class_attr = a_node.attrs.get('class', '')
-            if class_attr:
-                class_attr += ' '
-            class_attr += 'error'
-            a_node.attrs['class'] = class_attr
-            if a_node.attrs.get('href'):
-                del a_node.attrs['href']
-            #a_node.addChild(target_title)
-    
-    def _replaceNode(self, text_node):
-        if text_node.type == '<text>':
-            return text_node
-        if text_node.type == 'a':
-            self._translateLink(text_node)
-        for i, c in enumerate(text_node.children):
-            text_node.children[i] = self._replaceNode(c)
-        return text_node
-
-
-class ImagePathUpdater(proc_doc.TextNodeVisitor):
-    """Update image paths to target image path."""
-    
-    def __init__(self, doc, prefix):
-        self.doc = doc
-        self.prefix = prefix
-
-    def visit(self, text_node):
-        if not text_node or text_node.type == '<text>':
-            return
-        if text_node.type == 'img':
-            self._updateImagePath(text_node)
-        else:
-            for i, c in enumerate(text_node.children):
-                text_node.children[i] = self._replaceNode(c)
-
-    def _updateImagePath(self, img_node):
-        if not img_node.attrs.get('src'):
-            return  # No path.
-        img_node.attrs['src'] = os.path.join(self.prefix, img_node.attrs['src'])
-
-    def _replaceNode(self, text_node):
-        if text_node.type == '<text>':
-            return text_node
-        if text_node.type == 'img':
-            self._updateImagePath(text_node)
-        for i, c in enumerate(text_node.children):
-            text_node.children[i] = self._replaceNode(c)
-        return text_node
-
-
-class HtmlWriter(object):
-    def __init__(self, doc, args, config):
-        self.doc = doc
-        self.out_dirs = {}
-        self.args = args
-        self.config = config
-        # Normalize path.
-        out_dir = args.out_dir
-        # Generate path names.
-        self.out_dirs['root'] = out_dir
-        self.out_dirs['css'] = os.path.join(out_dir, 'css')
-        self.out_dirs['img'] = os.path.join(out_dir, 'img')
-        self.out_dirs['js'] = os.path.join(out_dir, 'js')
-        self.out_dirs['lib'] = os.path.join(out_dir, 'lib')
-        self.out_dirs['lists'] = os.path.join(out_dir, 'lists')
-        self.out_dirs['docs'] = os.path.join(out_dir, 'docs', 'seqan')
-        # Create managers.
-        self.path_manager = PathManager(out_dir)
-        self.tpl_manager = TemplateManager(self.path_manager, doc)
-        self.path_converter = PathConverter(doc)
-
-    def generateFor(self):
-        self.log('Generating HTML documentation')
-        self.log('Output Directory: %s', self.out_dirs['root'])
-        self.makedirs()
-        self.copyStaticFiles()
-        self.copyDocImages()
-        self.generateTopFrameSet()
-        self.generateLists(self.doc)
-        self.translateLinks(self.doc)
-        self.updateImagePaths(self.doc)
-        self.generatePages(self.doc, self.config)
-        self.generateDemoPages(self.doc)
-        self.generateSearchIndex(self.doc)
-        self.generateLinkData(self.doc)
-        self.generateLanguageEntities()
-
-    def makedirs(self):
-        for path in self.out_dirs.values():
-            if not os.path.exists(path):
-                #self.log('Creating directory %s', path)
-                os.makedirs(path)
-
-    def copyStaticFiles(self):
-        """Copy static files."""
-        for kind in ['css', 'js', 'img', 'lib']:
-            in_dir = os.path.join(self.path_manager.this_dir, 'tpl/%s' % kind)
-            out_path = self.out_dirs[kind]
-            self.log('  Copying %s => %s', in_dir, out_path)
-            distutils.dir_util.copy_tree(in_dir, out_path, verbose=True)
-
-    def copyDocImages(self):
-        """Copy images from paths given in --image-dir parameter."""
-        for image_dir in self.args.image_dirs:
-            join = os.path.join  # shortcut
-            files = [f for f in os.listdir(image_dir)
-                     if os.path.isfile(join(image_dir, f))]
-            for f in files:
-                in_path = join(image_dir, f)
-                out_path = os.path.join(self.out_dirs['img'], f)
-                #self.log('  Copying %s => %s', in_path, out_path)
-                shutil.copy(in_path, out_path)
-
-    def generateTopFrameSet(self):
-        """Generate frameset."""
-        html = self.tpl_manager.render('index.html',
-                                       development=self.args.development)  # TODO(holtgrew): Add title.
-        with open(self.path_manager.getTopFramesetPath(), 'w') as f:
-            f.write(html)
-
-    def generateLists(self, doc):
-        """Generate top level/second level/page index."""
-        with open(self.path_manager.getListPath(), 'w') as f:
-            f.write(self.tpl_manager.render('list.html', doc=doc, config=self.config,
-                                            development=self.args.development))
-
-    def translateLinks(self, doc):
-        link_converter = LinkConverter(doc)
-        for proc_entry in doc.entries.values():
-            #self.log('    * %s', proc_entry.name)
-            proc_entry.visitTextNodes(link_converter)
-
-    def updateImagePaths(self, doc):
-        """Appends image output directory to src attributes."""
-        updater = ImagePathUpdater(doc, 'img')
-        for proc_entry in doc.entries.values():
-            #self.log('    * %s', proc_entry.name)
-            proc_entry.visitTextNodes(updater)
-
-    def generatePages(self, doc, config):
-        """Generate pages for proc_doc.Documentation entries."""
-        try:
-            import pygments, pygments.lexers, pygments.formatters
-            pygments_style = pygments.formatters.HtmlFormatter().get_style_defs('.highlight')
-        except ImportError:
-            pygments_style = '<!-- pygments not available -->'
-
-        for entry in doc.top_level_entries.values():
-            path = self.path_manager.getEntryPath(entry)
-            #self.log('Creating %s', path)
-            self.generatePage(entry, path, doc, config, pygments_style)
-
-    def generatePage(self, entry, path, doc, config, pygments_style):
-        """Generate page for entry to file at path."""
-
-        common_kwargs = {'doc': doc,
-                         'config': config,
-                         'development': self.args.development,
-                         'pygments_style': pygments_style,
-                         'entry_kind': entry.kind,
-                         'entry_name': entry.name}
-        if entry.kind == 'page':
-            html = self.tpl_manager.render('page.html', page=entry,  **common_kwargs)
-        elif entry.kind == 'concept':
-            html = self.tpl_manager.render('concept.html', concept=entry,  **common_kwargs)
-        elif entry.kind in ['class', 'specialization']:
-            html = self.tpl_manager.render('class.html', klass=entry,  **common_kwargs)
-        elif entry.kind == 'enum':
-            html = self.tpl_manager.render('enum.html', enum=entry,  **common_kwargs)
-        elif entry.kind == 'adaption':
-            html = self.tpl_manager.render('adaption.html', adaption=entry,  **common_kwargs)
-        elif entry.kind == 'shortcut':
-            html = self.tpl_manager.render('shortcut.html', shortcut=entry,  **common_kwargs)
-        elif entry.kind in ['global_function', 'member_function', 'interface_function']:
-            html = self.tpl_manager.render('function.html', function=entry,  **common_kwargs)
-        elif entry.kind in ['global_metafunction', 'interface_metafunction']:
-            html = self.tpl_manager.render('metafunction.html', metafunction=entry,  **common_kwargs)
-        elif entry.kind == 'group':
-            html = self.tpl_manager.render('group.html', group=entry,  **common_kwargs)
-        elif entry.kind == 'tag':
-            html = self.tpl_manager.render('tag.html', tag=entry,  **common_kwargs)
-        elif entry.kind == 'macro':
-            html = self.tpl_manager.render('macro.html', macro=entry,  **common_kwargs)
-        elif entry.kind == 'global_typedef':
-            html = self.tpl_manager.render('typedef.html', typedef=entry,  **common_kwargs)
-        elif entry.kind == 'global_variable':
-            html = self.tpl_manager.render('variable.html', variable=entry,  **common_kwargs)
-        elif entry.kind == 'variable':
-            html = self.tpl_manager.render('variable.html', variable=entry,  **common_kwargs)
-        else:
-            assert False, entry.kind
-        with open(self.path_manager.getEntryPath(entry), 'w') as f:
-            f.write(html)
-
-    def generateDemoPages(self, doc):
-        """Copy over all demo pages."""
-        file_names = set(doc.doc_processor.include_mgr.file_cache.keys() +
-                         [x[0] for x in doc.doc_processor.include_mgr.snippet_cache.keys()])
-        for path in sorted(file_names):
-            self.generateDemoPage(path)
-
-    def generateDemoPage(self, path):
-        """Generate a demo page."""
-        dirname = os.path.join(self.out_dirs['root'], os.path.dirname(path))
-        if not os.path.exists(dirname):
-            os.makedirs(dirname)
-        in_path = self.doc.doc_processor.include_mgr.resolvePath(path)
-        to_path = os.path.join(self.out_dirs['root'], path)
-        #print >>sys.stderr, in_path, '=>', to_path
-        shutil.copyfile(in_path, to_path)
-
-    def generateSearchIndex(self, doc):
-        """Generate the search index."""
-        js = ['window.searchData = [']
-        js_module = ['window.searchDataModule = [']
-        for entry in doc.top_level_entries.itervalues():
-            akas, subentries, headerfile = '', '', ''
-            if hasattr(entry, 'akas'):
-                akas = ','.join(entry.akas)
-            if hasattr(entry, 'subentries'):
-                subentries = []
-                for t in entry.subentries.values():
-                    for s in t:
-                        sID = s.title
-                        title = proc_doc.splitSecondLevelEntry(s.title)[1]
-                        subentries.append({'type': s.kind, 'name': s.name, 'title': title, 'id': sID})
-            if hasattr(entry, 'headerfiles') and len(entry.headerfiles) > 0 :
-                headerfile = entry.headerfiles[0]
-                headerfile = headerfile[headerfile.find("/")+1:-3]
-
-            if entry in self.doc.doc_processor.topLevelEntry_filenames:
-                delimiter = "/include/seqan/"
-                srcfile = self.doc.doc_processor.topLevelEntry_filenames[entry]
-                srcfile = srcfile[srcfile.find(delimiter)+len(delimiter):]
-            else :
-                srcfile = ""
-
-            js.append('  {title:%s,name:%s,text:%s,akas:%s,subentries:%s,loc:%s,langEntity:%s},' %
-                      (repr(entry.title), repr(entry.name), repr(""), repr(akas), repr(subentries),
-                       repr(self.path_converter.convert(entry.name)[0]), repr(entry.kind)))
-            js_module.append('  {definedIn:%s,srcfile:%s},' % (repr(headerfile), repr(srcfile)))
-        js.append('];')
-        js_module.append('];')
-
-        with open(os.path.join(self.out_dirs['js'], 'search.data.js'), 'wb') as f:
-            f.write('\n'.join(js))
-        with open(os.path.join(self.out_dirs['js'], 'search.data.module.js'), 'wb') as f:
-            f.write('\n'.join(js_module))
-
-    def generateLinkData(self, doc):
-        """Generate the Data for top level entry links."""
-        js = ['window.lookup = {']
-        for entry in doc.top_level_entries.itervalues():
-            js.append('    \'%(name)s\': \'%(kind)s_%(name)s\',' % { 'name': entry.name,
-                                                                     'kind': entry.kind })
-        js.append('};')
-        with open(os.path.join(self.out_dirs['js'], 'link.data.js'), 'wb') as f:
-            f.write('\n'.join(js))
-
-    def generateLanguageEntities(self):
-        """Generate language entities JavaScript file."""
-        js = self.tpl_manager.render('js/lang_entities.js', config=self.config,
-                                     development=self.args.development)
-        with open(os.path.join(self.out_dirs['js'], 'lang_entities.js'), 'wb') as f:
-            f.write(js)
-            
-    def log(self, s, *args):
-        print >>sys.stderr, s % args
-
-
diff --git a/util/py_lib/seqan/fixgcov/__init__.py b/util/py_lib/seqan/fixgcov/__init__.py
deleted file mode 100755
index c9f5931..0000000
--- a/util/py_lib/seqan/fixgcov/__init__.py
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env python2
-
-import sys
-
-import app
-
-main = app.main
-
-if __name__ == '__main__':
-    sys.exit(main())
diff --git a/util/py_lib/seqan/fixgcov/app.py b/util/py_lib/seqan/fixgcov/app.py
deleted file mode 100755
index 22a548c..0000000
--- a/util/py_lib/seqan/fixgcov/app.py
+++ /dev/null
@@ -1,291 +0,0 @@
-#!/usr/bin/env python2
-"""Small libclang based app to fix gcov output.
-
-Fix gcov output with templates.  This is done by first parsing in the .cpp files
-(compilation units) with libclang.  The AST is then parsed and all lines within
-composite statements ({ stmt; stmt; ... }) are memoized as 'interesting' lines.
-The resulting interesting lines are serialized to a location file with pickle.
-Finally, gcov output files are read and updated.  If a line is interesting but
-not marked as covered or uncovered (marker '-'), it is marked as uncovered
-(marker '#####').
-
-USAGE: fixgcov.py -i $include_dir -g $gcov_file
-USAGE: fixgcov.py -i $include_dir -s $source_file
-
-Copyright: (c) 2010, Knut Reinert, FU Berlin
-License:   3-clause BSD (see LICENSE)
-"""
-
-from __future__ import with_statement
-
-__author__ = 'Manuel Holtgrewe <manuel.holtgrewe at fu-berlin.de>'
-
-import optparse
-import os
-import pickle
-import sys
-
-import clang.cindex as ci
-
-
-def _hasFileLocation(node):
-    """Return True if node has a file lcoation."""
-    if not hasattr(node, 'location'):
-        return False
-    if not hasattr(node.location, 'file'):
-        return False
-    if not node.location.file:
-        return False
-    if not hasattr(node.location.file, 'name'):
-        return False
-    if not node.location.file.name:
-        return False
-    return True
-
-
-class CollectCompoundStatementNodeVisitor(object):
-    """Visitor for AST nodes that collects compound statements."""
-    
-    def __init__(self, options):
-        self.options = options
-        self.stack = []
-        self.ranges = []
-    
-    def enterNode(self, node):
-        """Called when a node is entered ("pre-order" traversal)."""
-        self.stack.append(node)
-        ## print '  ' * len(self.stack), node.kind,
-        num_children = len([x for x in node.get_children()])
-        ## if _hasFileLocation(node):
-        ##     print node.location.file.name, '%d-%d' % (node.extent.start.line, node.extent.end.line)
-        ## else:
-        ##     print
-        # Only add range for statements that are no compound statements.  Add
-        # for empty compounds.
-        if not node.kind.is_statement():
-            ## print 'skipping, no statement'
-            return
-        if node.kind == ci.CursorKind.COMPOUND_STMT and num_children > 0:
-            ## print 'skipping, non-empty compound statement', num_children
-            return
-        if node.kind == ci.CursorKind.DECL_STMT:
-            return  # Skip declarations.
-        # Only add if has file location.
-        if _hasFileLocation(node):
-            self.ranges.append((node.location.file.name, node.extent.start.line, node.extent.end.line))
-
-    def exitNode(self, node):
-        """Called when a node is left ("post-order" traversa)."""
-        self.stack.pop()
-
-
-class VisitAllowedRule(object):
-    """Decides whether a AST node and its children is visited."""
-    
-    def __init__(self, options):
-        self.options = options
-        self.include_dirs = [os.path.abspath(x) for x in options.include_dirs]
-        self.cache = {}
-
-    def visitAllowed(self, node):
-        """Return True if visiting is allowed."""
-        # TODO(holtgrew): For this application, stopping at compound statements
-        # would be enough.  Visit if translation unit.
-        if node.kind == ci.CursorKind.TRANSLATION_UNIT:
-            return True
-        # Don't visit if it has no location (built-in).
-        if not _hasFileLocation(node):
-            return False
-        # Try to hit cache.
-        if self.cache.has_key(node.location.file.name):
-            return self.cache[node.location.file.name]
-        # Check whether node's location is below the include directories.  It is
-        # only visited if this is the case.
-        filename = os.path.abspath(node.location.file.name)
-        result = False
-        for x in self.include_dirs:
-            if filename.startswith(x):
-                # print filename, x
-                result = True
-                break
-        self.cache[node.location.file.name] = result  # Save in cache.
-        return result
-
-
-class AstTraverser(object):
-    """Traverses AST tree and applies given visitor object."""
-    
-    def __init__(self, node_visitor, options):
-        self.node_visitor = node_visitor
-        self.options = options
-        self.visit_allowed_rule = VisitAllowedRule(options)
-
-    def _recurse(self, node):
-        """Recursion helper."""
-        if not self.visit_allowed_rule.visitAllowed(node):
-            return False  # We did not visit this node.
-        self.node_visitor.enterNode(node)
-        for c in node.get_children():
-            self._recurse(c)
-        self.node_visitor.exitNode(node)
-        return True
-
-    def run(self, filename):
-        """Main entry point."""
-        index = ci.Index.create()
-        args = ['-I%s' % s for s in self.options.include_dirs]
-        # print args
-        tu = index.parse(filename, args=args)
-        if self.options.verbosity >= 1:
-            print 'Translation unit: %s.' % tu.spelling
-        return self._recurse(tu.cursor)
-    
-    @classmethod
-    def visitFile(klass, filename, node_visitor, options):
-        """Don't instantiate AstTraverser yourself, use this function."""
-        traverser = AstTraverser(node_visitor, options)
-        res = traverser.run(filename)
-        return res == True
-
-
-def main():
-    """Main entry point."""
-    # ========================================================================
-    # Parse command line arguments.
-    # ========================================================================
-    parser = optparse.OptionParser("USAGE: %prog [options] -s file.cpp")
-    parser.add_option('-I', '--include-dir', dest='include_dirs', default=[],
-                      type='string', help='Specify include directories',
-                      action='append')
-    parser.add_option('-s', '--src-file', dest='source_files', default=[],
-                      type='string', help='Specify compilation units.',
-                      action='append')
-    parser.add_option('--src-file-files', dest='source_files_files', default=[],
-                      type='string', help='Specify file with paths to compilation units.',
-                      action='append')
-    parser.add_option('-l', '--location-file', dest='location_file',
-                      default='locations.dat', type='string',
-                      help='Path to file with compound statement locations.')
-    parser.add_option('-g', '--gcov-file', dest='gcov_files', default=[],
-                      type='string', help='Specify gcov files to process.',
-                      action='append')
-    parser.add_option('--gcov-files', dest='gcov_files_files', default=[],
-                      type='string', help='Specify gcov files to process.',
-                      action='append')
-    parser.add_option('-q', '--quiet', dest='verbosity', default=1,
-                      action='store_const', const=0, help='Fewer message.')
-    parser.add_option('-v', '--verbose', dest='verbosity', default=1,
-                      action='store_const', const=2, help='More messages.')
-    options, args = parser.parse_args()
-    if len(args) != 0:
-        parser.error('Incorrect number of arguments!')
-        return 1
-
-    options.include_dirs += [os.path.abspath(os.path.dirname(s)) for s in options.source_files]
-
-    # ========================================================================
-    # Read in files with paths from arguments.
-    # ========================================================================
-
-    for path in options.source_files_files:
-      with open(path, 'rb') as f:
-        options.source_files += [x.strip() for x in f.readlines()]
-    for path in options.gcov_files_files:
-      with open(path, 'rb') as f:
-        options.gcov_files += [x.strip() for x in f.readlines()]
-
-    if not options.source_files and not options.gcov_files:
-        parser.error('Neither source nor gcov file given!')
-        return 1
-
-    # ========================================================================
-    # Collect interesting lines if any source files given.
-    # ========================================================================
-
-    if options.source_files:
-        # If any source file is given, all given source files are parsed and all
-        # lines with compound statements in all included files are written to
-        # the location file.
-        if options.verbosity >= 1:
-            print >>sys.stderr, 'Building Locations'
-        if options.verbosity >= 2:
-            print >>sys.stderr, '=================='
-
-        # Fire off AST traversal.
-        if options.verbosity >= 1:
-            print >>sys.stderr, 'AST Traversal'
-        node_visitor = CollectCompoundStatementNodeVisitor(options)
-        for src in options.source_files:
-            if options.verbosity >= 2:
-                print >>sys.stderr, '  Compilation Unit', src
-            AstTraverser.visitFile(src, node_visitor, options)
-
-        # Convert locations into points.
-        locations = {}
-        for filename, start, stop in node_visitor.ranges:
-            filename = os.path.abspath(filename)
-            for i in range(start, stop + 1):
-                locations.setdefault(filename, set()).add(i)
-
-        # Write out the source locations.
-        if options.verbosity >= 1:
-            print >>sys.stderr, 'Writing out locations to', options.location_file
-        with open(options.location_file, 'wb') as f:
-            pickle.dump(locations, f)
-
-    # ========================================================================
-    # Process GCOV files if any are given.
-    # ========================================================================
-
-    if options.gcov_files:
-        # If no source files and gcov files are given then
-        if options.verbosity >= 1:
-            print >>sys.stderr, 'Updating gcov Results'
-        if options.verbosity >= 2:
-            print >>sys.stderr, '====================='
-
-        if not options.source_files:
-            if options.verbosity >= 1:
-                print >>sys.stderr, 'Loading locations from', options.location_file
-            with open(options.location_file, 'rb') as f:
-                locations = pickle.load(f)
-
-        for filename in options.gcov_files:
-            filename = os.path.abspath(filename)
-            if options.verbosity >= 2:
-                print >>sys.stderr, 'Processing', filename
-            with open(filename, 'rb') as f:
-                lines = f.readlines()
-            pos0 = lines[0].find(':')
-            pos1 = lines[0].find(':', pos0 + 1)
-            source = None
-            result = []
-            skip = False
-            for i, line in enumerate(lines):
-                coverage = line[:pos0]
-                lineno = int(line[pos0 + 1:pos1].strip())
-                slineno = line[pos0 + 1:pos1]
-                txt = line[pos1 + 1:]
-                if txt.startswith('Source:'):
-                    source = os.path.abspath(txt[len('Source:'):].strip())
-                    if not locations.has_key(source):
-                        if options.verbosity >= 2:
-                            print >>sys.stderr, '  Skipping.'
-                        skip = True
-                        break
-                if not source or lineno == 0:
-                    result.append(line)
-                    continue  # Proceed only if in file.
-                if lineno in locations[source] and coverage.strip() == '-':
-                    coverage = ('%%%ds' % pos0) % '#####'
-                result.append(':'.join([coverage, slineno, txt]))
-            # Write back file if not skipped.
-            if skip:
-                continue
-            with open (filename, 'wb') as f:
-              f.write(''.join(result))
-            #print ''.join(result)
-
-# Entry point if called as program.
-if __name__ == '__main__':
-    sys.exit(main())
diff --git a/util/py_lib/seqan/paths.py b/util/py_lib/seqan/paths.py
deleted file mode 100755
index 0bce2ef..0000000
--- a/util/py_lib/seqan/paths.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env python2
-"""SeqAn path utilities.
-
-Code to get paths within the SeqAn repository; Useful for setting defaults in
-options.
-
-When called as a program, the paths are printed.
-
-The main assumption is that this module lies in '/util/py_lib/seqan.'
-
-Copyright: (c) 2010, Knut Reinert, FU Berlin
-License:   3-clause BSD (see LICENSE)
-"""
-
-__author__ = 'Manuel Holtgrewe <manuel.holtgrewe at fu-berlin.de>'
-
-import os
-import os.path
-import sys
-
-def repositoryRoot():
-    """Return path to directory root."""
-    abs_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../..'))
-    return os.path.relpath(abs_path, os.getcwd())
-
-def pathToSkeletons():
-    """Return path to '${REPOSITORY}/util/skel'."""
-    return os.path.join(repositoryRoot(), 'util/skel')
-
-def pathToTemplate(template, filename):
-    """Return path to file with given name in given template."""
-    return os.path.join(pathToSkeletons(), template, filename)
-
-def pathToApp(location, app):
-    """Return path to the app in the given location/repository."""
-    return os.path.join(repositoryRoot(), location, 'apps', app)
-
-def pathToInclude(location):
-    """Return path to the include dir in the given location/repository."""
-    return os.path.join(repositoryRoot(), location, 'include')
-
-def pathToDemo(location, demo):
-    """Return path to the demo file in the given location/repository."""
-    return os.path.join(repositoryRoot(), location, 'demos', '%s.cpp' % demo)
-
-def pathToTest(location, test):
-    """Return path to the test in the given location/repository."""
-    return os.path.join(repositoryRoot(), location, 'tests', test)
-
-def pathToRepository(location):
-    """Return path to the given location/repository."""
-    return os.path.join(repositoryRoot(), location)
-
-def pathToHeader(location, filename):
-    """Return path to the given header - just concatenate."""
-    return os.path.join(repositoryRoot(), location, filename)
-
-def main(args):
-    print 'SeqAn paths'
-    print
-    print 'repositoryRoot()   ==', repositoryRoot()
-    print 'pathToSkeletons() ==', pathToSkeletons()
-
-if __name__ == '__main__':
-   sys.exit(main(sys.argv))
diff --git a/util/py_lib/seqan/pyclangcheck/__init__.py b/util/py_lib/seqan/pyclangcheck/__init__.py
deleted file mode 100755
index c9f5931..0000000
--- a/util/py_lib/seqan/pyclangcheck/__init__.py
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env python2
-
-import sys
-
-import app
-
-main = app.main
-
-if __name__ == '__main__':
-    sys.exit(main())
diff --git a/util/py_lib/seqan/pyclangcheck/app.py b/util/py_lib/seqan/pyclangcheck/app.py
deleted file mode 100755
index aa6d0cf..0000000
--- a/util/py_lib/seqan/pyclangcheck/app.py
+++ /dev/null
@@ -1,322 +0,0 @@
-#!/usr/bin/env python2
-"""pyclangcheck driver code
-
-This code is the driver code for the pyclangcheck tool.
-
-Copyright: (c) 2010, Knut Reinert, FU Berlin
-License:   3-clause BSD (see LICENSE)
-"""
-
-from __future__ import with_statement
-
-__author__ = 'Manuel Holtgrewe <manuel.holtgrewe at fu-berlin.de>'
-
-import datetime
-import optparse
-import os
-import os.path
-import sys
-
-import clang.cindex as ci
-
-import simple_checks
-import violations
-import rules
-
-def _hasFileLocation(node):
-    """Return True if node has a file lcoation."""
-    if hasattr(node, '_has_file_location'):
-        return node._has_file_location
-    if not hasattr(node, 'location'):
-        node._has_file_location = False
-        return False
-    if not hasattr(node.location, 'file'):
-        node._has_file_location = False
-        return False
-    if not node.location.file:
-        node._has_file_location = False
-        return False
-    if not hasattr(node.location.file, 'name'):
-        node._has_file_location = False
-        return False
-    if not node.location.file.name:
-        node._has_file_location = False
-        return False
-    node._has_file_location = True
-    return True
-
-
-class FileCache(object):
-    def __init__(self):
-        self.cache = {}
-
-    def get(self, path):
-        if self.cache.has_key(path):
-            return self.cache[path]
-        with open(path, 'rb') as f:
-            fcontents = f.readlines()
-        self.cache[path] = fcontents
-        return self.cache[path]
-
-
-class CollectViolationsVisitor(object):
-    """Visitor for AST nodes that collects rule violations."""
-    
-    def __init__(self, options, rules):
-        self.options = options
-        self.rules = rules
-        for rule in self.rules:
-            rule.visitor = self
-        self.stack = []
-        self.violations = {}
-        self.file_cache = FileCache()
-        self.class_stack = []
-        self.seen_files = set()
-        self.blocked_files = set()
-   
-    def seenToBlocked(self):
-        """Move seen files to blocked files."""
-        self.blocked_files |= self.seen_files
-
-    def enterNode(self, node):
-        """Called when a node is entered ("pre-order" traversal)."""
-        self.stack.append(node)
-        ck = ci.CursorKind
-        if node.kind in [ck.CLASS_TEMPLATE, ck.CLASS_TEMPLATE_PARTIAL_SPECIALIZATION, ck.CLASS_DECL]:
-            ## print 'PUSH CLASS', node.spelling
-            self.class_stack.append(node)
-
-        # Mark file as seen for nodes that are directly below the compilation unit.
-        if len(self.stack) <= 2 and _hasFileLocation(node):
-            self.seen_files.add(node.location.file.name)
-        
-        if self.options.verbosity >= 2:
-            if node.extent.start.file:
-                filename = node.extent.start.file.name
-                lines = self.file_cache.get(filename)
-                start = "%s:%d:%d" % (os.path.basename(filename), node.extent.start.line-1, node.extent.start.column-1)
-                end = "%s:%d:%d" % ('#', node.extent.end.line-1, node.extent.end.column-1)
-                lines = [x for x in lines[node.extent.start.line-1:node.extent.end.line]]
-                if len(lines) == 1:
-                    lines[0] = lines[0][node.extent.start.column - 1:node.extent.end.column-1]
-                else:
-                    lines[0] = lines[0][node.extent.start.column - 1:]
-                    lines[-1] = lines[-1][:node.extent.end.column-1]
-                if len(lines) > 1:
-                    txt = '<multiline>'
-                else:
-                    txt = ''.join(lines).replace('\n', '\\n')
-                print '  ' * len(self.stack), 'Entering', node.kind, node._kind_id, node.spelling, 'txt="%s"' % txt, "%s-%s" % (start, end)
-        violations = []
-        for rule in self.rules:
-            if rule.allowVisit(node):
-                #print ' ', ' ' * len(self.stack), 'Checking rule', rule.rule_id
-                vs = rule.check(node)
-                ## if self.options.verbosity >= 2:
-                ##     for v in vs:
-                ##         print 'VIOLATION', v
-                violations += vs
-        for v in violations:
-            ## if self.options.verbosity >= 2:
-            ##     print v
-            self.violations[v.key()] = v
-
-    def exitNode(self, node):
-        """Called when a node is left ("post-order" traversa)."""
-        self.stack.pop()
-        if self.class_stack and self.class_stack[-1] is node:
-            ## print 'POP CLASS', node.spelling
-            self.class_stack.pop()
-
-    def getCurrentClassName(self):
-        """Returns name of current class."""
-        if not self.class_stack:
-            ## print 'CURRENT CLASS', None
-            return None
-        ## print 'CURRENT CLASS', self.class_stack[-1].spelling
-        return self.class_stack[-1].spelling
-
-
-class VisitAllowedRule(object):
-    """Decides whether a AST node and its children is visited."""
-    
-    def __init__(self, options, blocked_files):
-        self.options = options
-        self.include_dirs = [os.path.abspath(x) for x in options.include_dirs]
-        self.cache = {}
-        self.blocked_files = blocked_files
-
-    def visitAllowed(self, node):
-        """Return True if visiting is allowed."""
-        # Visit if translation unit.
-        if node.kind == ci.CursorKind.TRANSLATION_UNIT:
-            return True
-        # Don't visit if it has no location (built-in).
-        if not _hasFileLocation(node):
-            return False
-        # Try to hit cache.
-        if self.cache.has_key(node.location.file.name):
-            return self.cache[node.location.file.name]
-        # Check whether the file is blocked.
-        if node.location.file.name in self.blocked_files:
-            # print 'Blocked', node.location.file.name
-            self.cache[node.location.file.name] = False
-            return False
-        # Check whether node's location is below the include directories.  It is
-        # only visited if this is the case.
-        filename = os.path.abspath(node.location.file.name)
-        result = False
-        for x in self.include_dirs:
-            if filename.startswith(x):
-                # print filename, x
-                result = True
-                break
-        self.cache[node.location.file.name] = result  # Save in cache.
-        return result
-
-
-class AstTraverser(object):
-    """Traverses AST tree and applies given visitor object."""
-    
-    def __init__(self, node_visitor, options):
-        self.node_visitor = node_visitor
-        self.options = options
-        self.visit_allowed_rule = VisitAllowedRule(options, node_visitor.blocked_files)
-
-    def _recurse(self, node):
-        """Recursion helper."""
-        if not self.visit_allowed_rule.visitAllowed(node):
-            return False  # We did not visit this node.
-        self.node_visitor.enterNode(node)
-        for c in node.get_children():
-            self._recurse(c)
-        self.node_visitor.exitNode(node)
-        return True
-
-    def run(self, filename):
-        """Main entry point."""
-        index = ci.Index.create()
-        args = ['-I%s' % s for s in self.options.include_dirs]
-        # print args
-        tu = index.parse(filename, args=args)
-        if self.options.verbosity >= 1:
-            print 'Translation unit: %s.' % tu.spelling
-        return self._recurse(tu.cursor)
-    
-    @classmethod
-    def visitFile(klass, filename, node_visitor, options):
-        """Don't instantiate AstTraverser yourself, use this function."""
-        if options.verbosity >= 1:
-            print >>sys.stderr, 'Checking', filename
-        traverser = AstTraverser(node_visitor, options)
-        res = traverser.run(filename)
-        return res != True
-
-
-def main():
-    # ========================================================================
-    # Parse command line arguments.
-    # ========================================================================
-    parser = optparse.OptionParser("USAGE: %prog [options] file.cpp")
-    parser.add_option('-s', '--source-file', dest='source_files', default=[],
-                      type='string', help='Specify source (.cpp) files.',
-                      action='append')
-    parser.add_option('-S', '--source-file-file', dest='source_file_files', default=[],
-                      type='string', help='File with path to source files.',
-                      action='append')
-    parser.add_option('-i', '--include-dir', dest='include_dirs', default=[],
-                      type='string', help='Specify include directories',
-                      action='append')
-    parser.add_option('-e', '--exclude-dir', dest='exclude_dirs', default=[],
-                      type='string', help='Violations in these directories are not shown.',
-                      action='append')
-    parser.add_option('-q', '--quiet', dest='verbosity', default=1,
-                      action='store_const', const=0, help='Fewer message.')
-    parser.add_option('-v', '--verbose', dest='verbosity', default=1,
-                      action='store_const', const=2, help='More messages.')
-    parser.add_option('--ignore-nolint', dest='ignore_nolint', default=False,
-                      action='store_const', const=True, help='Ignore // nolint statements.')
-    parser.add_option('--dont-show-source', dest='show_source', default=True,
-                      action='store_const', const=False, help='Suppress source line display')
-    options, args = parser.parse_args()
-
-    if len(args) != 0:
-        parser.error('Incorrect number of arguments!')
-        return 1
-
-    # Load source files given in file of paths.
-    for filename in options.source_file_files:
-        with open(filename, 'rb') as f:
-            options.source_files += [x.strip() for x in f.readlines()]
-
-    # ========================================================================
-    # Setup traversal.
-    # ========================================================================
-
-    # Recursion Rule: Only check symbols within the include directories.
-    recurse_rules = []
-    recurse_rules.append(rules.InIncludeDirsRule(options.include_dirs, options.exclude_dirs, options.source_files))
-    # Define symbol naming rules.
-    R = rules.GenericSymbolNameRule
-    r = rules
-    ck = ci.CursorKind
-    check_rules = [
-        R(ck.STRUCT_DECL                          , r.RE_STRUCT       , r.RULE_NAMING_STRUCT                ),
-        R(ck.UNION_DECL                           , r.RE_TYPE         , r.RULE_NAMING_UNION                 ),
-        R(ck.CLASS_DECL                           , r.RE_TYPE         , r.RULE_NAMING_CLASS                 ),
-        R(ck.ENUM_DECL                            , r.RE_TYPE         , r.RULE_NAMING_ENUM                  ),
-        R(ck.FIELD_DECL                           , r.RE_VARIABLE     , r.RULE_NAMING_FIELD                 ),
-        R(ck.ENUM_CONSTANT_DECL                   , r.RE_CONSTANT     , r.RULE_NAMING_ENUM_CONSTANT         ),
-        R(ck.FUNCTION_DECL                        , r.RE_FUNCTION     , r.RULE_NAMING_FUNCTION              ),
-        R(ck.PARM_DECL                            , r.RE_VARIABLE     , r.RULE_NAMING_PARAMETER             ),
-        R(ck.TYPEDEF_DECL                         , r.RE_TYPE         , r.RULE_NAMING_TYPEDEF               ),
-        R(ck.CXX_METHOD                           , r.RE_FUNCTION     , r.RULE_NAMING_CXX_METHOD            ),
-        R(ck.TEMPLATE_TYPE_PARAMETER              , r.RE_TYPE         , r.RULE_NAMING_TPL_TYPE_PARAMETER    ),
-        R(ck.TEMPLATE_NON_TYPE_PARAMETER          , r.RE_CONSTANT     , r.RULE_NAMING_TPL_NON_TYPE_PARAMETER),
-        R(ck.TEMPLATE_TEMPLATE_PARAMTER           , r.RE_TYPE         , r.RULE_NAMING_TPL_TPL_PARAMETER     ),
-        #R(ck.FUNCTION_TEMPLATE                    , r.RE_FUNCTION     , r.RULE_NAMING_FUNCTION_TPL          ),
-        R(ck.CLASS_TEMPLATE                       , r.RE_TYPE_TEMPLATE, r.RULE_NAMING_CLASS_TPL             ),
-        R(ck.CLASS_TEMPLATE_PARTIAL_SPECIALIZATION, r.RE_TYPE_TEMPLATE, r.RULE_NAMING_CLASS_TPL_SPEC        ),
-        rules.FunctionTemplateRule(),
-        rules.VariableNameRule(),
-    ]
-
-    # ========================================================================
-    # Perform traversal.
-    # ========================================================================
-
-    node_visitor = CollectViolationsVisitor(options, check_rules)
-    for filename in options.source_files:
-        start = datetime.datetime.now()
-        res = AstTraverser.visitFile(filename, node_visitor, options)
-        node_visitor.seenToBlocked()
-        elapsed = datetime.datetime.now() - start
-        print >>sys.stderr, '  took', elapsed.seconds, 's'
-        if res:
-            break
-
-    # ========================================================================
-    # Dumber checks (e.g. whitespace at end of file).
-    # ========================================================================
-
-    checkers = [simple_checks.WhitespaceChecker(),
-                simple_checks.CommentChecker()]
-    vs = {}
-    for filename in node_visitor.seen_files:
-        for checker in checkers:
-            vs.update(checker.check(filename))
-
-    # ========================================================================
-    # Print violations.
-    # ========================================================================
-
-    print 'VIOLATIONS'
-    vs.update(node_visitor.violations)
-    printer = violations.ViolationPrinter(options.ignore_nolint,
-                                          options.show_source)
-    printer.show(vs)
-    return len(vs) > 0
-
-
-if __name__ == '__main__':
-    sys.exit(main())
diff --git a/util/py_lib/seqan/pyclangcheck/rules.py b/util/py_lib/seqan/pyclangcheck/rules.py
deleted file mode 100755
index 15c8d33..0000000
--- a/util/py_lib/seqan/pyclangcheck/rules.py
+++ /dev/null
@@ -1,201 +0,0 @@
-#!/usr/bin/env python2
-
-__author__ = 'Manuel Holtgrewe <manuel.holtgrewe at fu-berlin.de>'
-
-import os.path
-import re
-
-import clang.cindex as ci
-
-import app
-import violations
-
-RULE_NAMING_CONSTANT = 'naming.constant'
-RULE_NAMING_STRUCT = 'naming.struct'
-RULE_NAMING_UNION = 'naming.union'
-RULE_NAMING_CLASS = 'naming.class'
-RULE_NAMING_ENUM = 'naming.enum'
-RULE_NAMING_FIELD = 'naming.field'
-RULE_NAMING_ENUM_CONSTANT = 'naming.enum_constant'
-RULE_NAMING_VARIABLE = 'naming.variable'
-RULE_NAMING_FUNCTION = 'naming.function'
-RULE_NAMING_PARAMETER = 'naming.parameter'
-RULE_NAMING_VARIABLE = 'naming.variable'
-RULE_NAMING_CXX_METHOD = 'naming.method'
-RULE_NAMING_TYPEDEF = 'naming.typedef'
-RULE_NAMING_TPL_NON_TYPE_PARAMETER = 'naming.tpl_nontype_param'
-RULE_NAMING_TPL_TYPE_PARAMETER = 'naming.tpl_type_param'
-RULE_NAMING_TPL_TPL_PARAMETER = 'naming.tpl_tpl_param'
-RULE_NAMING_FUNCTION_TPL = 'naming.function_tpl'
-RULE_NAMING_CLASS_TPL = 'naming.class_tpl'
-RULE_NAMING_CLASS_TPL_SPEC = 'naming.class_tpl_spec'
-
-RE_CONSTANT = r'^[A-Z]([_A-Z0-9])*_*$'
-RE_VARIABLE = r'^_?[a-z]([_a-zA-Z0-9])*_*$'
-RE_FUNCTION = r'operator.*|^_?[a-z]([_a-zA-Z0-9])*\(.*\)_*$'
-RE_TYPE = r'^[A-Z]([a-zA-Z0-9])*_*$'
-RE_TYPE_TEMPLATE = r'^[A-Z]([a-zA-Z0-9])*_*<.*>$'
-RE_STRUCT = r'^[A-Z]([a-zA-Z0-9])*_*(<.*>)?$'
-
-RULE_TEXTS = {
-    RULE_NAMING_CONSTANT: 'Constant names must be all upper-case, separated by underscores.',
-    RULE_NAMING_STRUCT: 'Struct names must be all camel case, starting with upper case.',
-    RULE_NAMING_UNION: 'Union names must be all camel case, starting with upper case.',
-    RULE_NAMING_CLASS: 'Class names must be all camel case, starting with upper case.',
-    RULE_NAMING_ENUM: 'Enum names must be all camel case, starting with upper case.',
-    RULE_NAMING_FIELD: 'Field names must be camel case case, starting with lower case.',
-    RULE_NAMING_ENUM_CONSTANT: 'Enum constant names must be all upper-case, separated by underscores.',
-    RULE_NAMING_VARIABLE: 'Variable names must be camel case case, starting with lower case.',
-    RULE_NAMING_FUNCTION: 'Function names must be camel case case, starting with lower case.',
-    RULE_NAMING_PARAMETER: 'Parameter names must be camel case case, starting with lower case.',
-    RULE_NAMING_CXX_METHOD: 'Method names must be camel case case, starting with lower case.',
-    RULE_NAMING_TYPEDEF: 'Typedef names must be all camel case, starting with upper case.',
-    RULE_NAMING_TPL_NON_TYPE_PARAMETER: 'Template non-type parameters must be all upper-case, separated by underscores.',
-    RULE_NAMING_TPL_TYPE_PARAMETER: 'Template type parameter names must be all camel case, starting with upper case.',
-    RULE_NAMING_TPL_TPL_PARAMETER: 'Template template parameter names must be all camel case, starting with upper case.',
-    RULE_NAMING_FUNCTION_TPL: 'Function template names must be camel case case, starting with lower case.',
-    RULE_NAMING_CLASS_TPL: 'Class template names must be all camel case, starting with upper case.',
-    RULE_NAMING_CLASS_TPL_SPEC: 'Partial specialization names must be all camel case, starting with upper case.',
-}
-
-
-class GenericSymbolNameRule(object):
-    def __init__(self, kind, regular_ex, rule_name):
-        self.kind = kind
-        self.regular_ex = regular_ex
-        self.rule_name = rule_name
-        self.visitor = None
-
-    def allowVisit(self, node):
-        if not app._hasFileLocation(node):
-            #print 'no location'
-            return False
-        if not node.displayname:
-            #print 'no displayname'
-            return False  # Ignore empty symbols.
-        # print 'allow visit template type?', displayname, node.kind
-        if node.kind == self.kind:
-            #print 'different kind'
-            return True
-        return False
-    
-    def check(self, node):
-        displayname = node.displayname
-        #print 'checking', displayname
-        #import pdb; pdb.set_trace()
-        if not re.match(self.regular_ex, displayname):
-            v = violations.RuleViolation(
-                self.rule_name, displayname, node.location.file.name,
-                node.location.line, node.location.column)
-            return [v]
-        return []
-
-
-class VariableNameRule(object):
-    """Checks variable names (in variable declarations).
-
-    The name must either be camel case (starting with lower case character) or
-    all upper case.
-    """
-
-    def __init__(self):
-        self.visitor = None
-
-    def allowVisit(self, node):
-        if not app._hasFileLocation(node):
-            return False
-        displayname = node.displayname
-        if not displayname:
-            return False  # Ignore empty symbols.
-        if node.kind == ci.CursorKind.VAR_DECL:
-            return True
-        return False
-
-    def check(self, node):
-        displayname = node.displayname
-        if not re.match(RE_VARIABLE, displayname) and not re.match(RE_CONSTANT, displayname):
-            # TODO(holtgrew): Only allow RE_CONSTANT if 'const' in declaration type.
-            v = violations.RuleViolation(
-                RULE_NAMING_VARIABLE, displayname, node.location.file.name,
-                node.location.line, node.location.column)
-            return [v]
-        return []
-
-
-class FunctionTemplateRule(object):
-    """Checks function templates.
-
-    Function template have to follow the function naming scheme.  However,
-    libclang also exposes constructors with kind function template.  The visitor
-    keeps a stack of current classes so we look whether the current class or
-    class template has the same name as the function template and allow this
-    besides the function naming scheme.
-    """
-
-    def __init__(self):
-        self.visitor = None
-
-    def allowVisit(self, node):
-        if not app._hasFileLocation(node):
-            return False
-        displayname = node.displayname
-        if not displayname:
-            return False  # Ignore empty symbols.
-        if node.kind == ci.CursorKind.FUNCTION_TEMPLATE:
-            return True
-        return False
-
-    def check(self, node):
-        displayname = node.displayname
-        if not re.match(RE_FUNCTION, displayname):
-            up_to_bracket = displayname[:displayname.find('<')]
-            ## print 'CHECK', self.visitor.getCurrentClassName(), '!=?', up_to_bracket
-            if self.visitor.getCurrentClassName() != up_to_bracket:
-                v = violations.RuleViolation(
-                    RULE_NAMING_FUNCTION_TPL, displayname, node.location.file.name,
-                    node.location.line, node.location.column)
-                return [v]
-        return []
-
-
-class InIncludeDirsRule(object):
-    """Rule to block visiting and recursion outside include dirs."""
-    
-    def __init__(self, include_dirs, exclude_dirs, source_files):
-        self.include_dirs = [os.path.abspath(x) for x in include_dirs]
-        self.source_files = [os.path.abspath(x) for x in source_files]
-        self.exclude_dirs = [os.path.abspath(x) for x in exclude_dirs]
-        self.cache = {}
-    
-    def allowVisit(self, node):
-        """Return True if visiting is allowed."""
-        if node.kind == ci.CursorKind.TRANSLATION_UNIT:
-            return True
-        if not app._hasFileLocation(node):
-            return False
-        if self.cache.has_key(node.location.file.name):
-            return self.cache[node.location.file.name]
-        # Check whether node's location is below the include directories or one
-        # of the source files.
-        filename = os.path.abspath(node.location.file.name)
-        result = False
-        for x in self.include_dirs:
-            if filename.startswith(x):
-                result = True
-                break
-        if not result:
-            for x in self.source_files:
-                if filename == x:
-                    result = True
-                    break
-        if result:
-            for x in self.exclude_dirs:
-                if filename.startswith(x):
-                    result = False
-                    break
-        self.cache[node.location.file.name] = result
-        return result
-    
-    def allowRecurse(self, node):
-        """Return True if we want to recurse below node."""
-        return self.allowVisit(node)
diff --git a/util/py_lib/seqan/pyclangcheck/simple_checks.py b/util/py_lib/seqan/pyclangcheck/simple_checks.py
deleted file mode 100755
index b39a4aa..0000000
--- a/util/py_lib/seqan/pyclangcheck/simple_checks.py
+++ /dev/null
@@ -1,117 +0,0 @@
-#!/usr/bin/env python2
-"""Simple source code checks, e.g. trailing whitespace."""
-
-from __future__ import with_statement
-
-import bisect
-import re
-import sys
-
-import violations
-
-RULE_TRAILING_WHITESPACE = 'whitespace.trailing'
-RULE_TEXT_TRAILING_WHITESPACE = 'Trailing whitespace is not allowed.'
- 
-RULE_TODO_ONE_SPACE = 'whitespace.todo'
-RULE_TEXT_TODO_ONE_SPACE= 'There should be exactly one space before TODO.'
-
-RULE_TODO_USERNAME = 'readability.todo'
-RULE_TEXT_TODO_USERNAME = 'TODO comments should look like this: "// TODO(username): Text".'
-
-RULE_TODO_SPACE_AFTER = 'whitespace.todo'
-RULE_TEXT_TODO_SPACE_AFTER = '"TODO (username):" should be followed by a space.'
-
-RE_TODO = r'^//(\s*)TODO(\(.+?\))?:?(\s|$)?'
-
-class WhitespaceChecker(object):
-    """Performs simple white space checks."""
-
-    # TODO(holtgrew): Do not allow tabs.
-
-    def check(self, filename):
-        vs = []
-        with open(filename, 'rb') as f:
-            line_no = 0
-            for line in f:
-                line_no += 1
-                if line.rstrip() == line.rstrip('\r\n'):
-                    continue
-                v = violations.SimpleRuleViolation(
-                    RULE_TRAILING_WHITESPACE, filename, line_no,
-                    len(line.rstrip()) + 1, RULE_TEXT_TRAILING_WHITESPACE)
-                vs.append(v)
-        return dict([(v.key(), v) for v in vs])
-
-
-class SourceFile(object):
-    def __init__(self, name):
-        self.name = name
-
-
-class SourceLocation(object):
-    def __init__(self, filename, line, column, offset):
-        self.file = SourceFile(filename)
-        self.line = line
-        self.column = column
-        self.offset = offset
-
-    def __str__(self):
-        return '%s:%d/%d (@%d)' % (self.file.name, self.line, self.column,
-                                   self.offset)
-
-    def __repr__(self):
-        return str(self)
-
-
-def enumerateComments(filename):
-    # Read file.
-    with open (filename, 'rb') as f:
-        lines = f.readlines()
-        fcontents = ''.join(lines)
-    # Build line break index.
-    line_starts = [0]
-    for line in lines:
-        line_starts.append(line_starts[-1] + len(line))
-    #print line_starts
-    # Search for all comments.
-    pattern = re.compile(
-        r'//.*?$|/\*.*?\*/|\'(?:\\.|[^\\\'])*\'|"(?:\\.|[^\\"])*"',
-        re.DOTALL | re.MULTILINE)
-    for match in re.finditer(pattern, fcontents):
-        line_start = bisect.bisect(line_starts, match.start(0))
-        line_end = bisect.bisect(line_starts, match.end(0) - 1)
-        column_start = match.start(0) - line_starts[line_start - 1]
-        column_end = match.end(0) - line_starts[line_end - 1]
-        yield (SourceLocation(filename, line_start, column_start + 1, match.start(0)),
-               SourceLocation(filename, line_end, column_end + 1, match.end(0)),
-               match.group(0))
-
-
-class CommentChecker(object):
-    """Performs the checks on comments."""
-
-    def check(self, filename):
-        vs = []
-        for cstart, cend, comment in enumerateComments(filename):
-            if comment.startswith('//'):
-                # Check TODO comments.
-                match = re.match(RE_TODO, comment)
-                if match:
-                    if len(match.group(1)) > 1:
-                        print comment
-                        v = violations.SimpleRuleViolation(
-                            RULE_TODO_ONE_SPACE, filename, cstart.line,
-                            cstart.column, RULE_TEXT_TODO_ONE_SPACE)
-                        vs.append(v)
-                    if not match.group(2):
-                        v = violations.SimpleRuleViolation(
-                            RULE_TODO_USERNAME, filename, cstart.line,
-                            cstart.column, RULE_TEXT_TODO_USERNAME)
-                        vs.append(v)
-                    if match.group(3) != ' ' and match.group(3) != '':
-                        v = violations.SimpleRuleViolation(
-                            RULE_TODO_SPACE_AFTER, filename, cstart.line,
-                            cstart.column, RULE_TEXT_TODO_SPACE_AFTER)
-                        vs.append(v)
-        return dict([(v.key(), v) for v in vs])
-
diff --git a/util/py_lib/seqan/pyclangcheck/suppressions.py b/util/py_lib/seqan/pyclangcheck/suppressions.py
deleted file mode 100755
index 18ff536..0000000
--- a/util/py_lib/seqan/pyclangcheck/suppressions.py
+++ /dev/null
@@ -1 +0,0 @@
-#!/usr/bin/env python2
diff --git a/util/py_lib/seqan/pyclangcheck/violations.py b/util/py_lib/seqan/pyclangcheck/violations.py
deleted file mode 100755
index f91b8fb..0000000
--- a/util/py_lib/seqan/pyclangcheck/violations.py
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/usr/bin/env python2
-"""Code related to violations and suppressions."""
-
-from __future__ import with_statement
-
-import os
-import os.path
-import sys
-
-import app
-import rules
-
-
-class RuleViolation(object):
-    def __init__(self, rule_id, violator, file, line, column):
-        self.rule_id = rule_id
-        self.violator = violator
-        self.file = file
-        self.line = line
-        self.column = column
-    
-    def key(self):
-        return (self.file, self.line, self.column, self.rule_id, self.violator)
-    
-    def __str__(self):
-        msg = '[%s:%d/%d] %s "%s": %s'
-        return msg % ('/'.join(self.file.split('/')[-2:]), self.line, self.column,
-                      self.rule_id, self.violator, rules.RULE_TEXTS[self.rule_id])
-
-
-class SimpleRuleViolation(object):
-    def __init__(self, rule_id, file, line, column, msg):
-        self.rule_id = rule_id
-        self.file = file
-        self.line = line
-        self.column = column
-        self.msg = msg
-    
-    def key(self):
-        return (self.file, self.line, self.column, self.rule_id)
-    
-    def __str__(self):
-        msg = '[%s:%d/%d] %s : %s'
-        return msg % ('/'.join(self.file.split('/')[-2:]), self.line, self.column,
-                      self.rule_id, self.msg)
-
-
-class NolintManager(object):
-    """Manage the lines ending in '//nolint'."""
-
-    def __init__(self):
-        self.locations = {}
-
-    def hasNolint(self, filename, lineno):
-        filename = os.path.abspath(filename)
-        # Ensure that the nolint lines are registered in self.locations[filename].
-        if not self.locations.has_key(filename):
-            line_set = set()
-            with open(filename, 'rb') as f:
-                line_no = 0
-                for line in f:
-                    line_no += 1
-                    if line.strip().endswith('// nolint'):
-                        ## print 'nolint', filename, line_no
-                        line_set.add(line_no)
-            self.locations[filename] = line_set
-        # Query self.locations[filename].
-        return lineno in self.locations[filename]
-
-
-class ViolationPrinter(object):
-    def __init__(self, ignore_nolint, show_source):
-      self.nolints = NolintManager()
-      self.file_cache = app.FileCache()
-      self.ignore_nolint = ignore_nolint
-      self.show_source = show_source
-
-    def show(self, vs):
-        previous = None
-        for k in sorted(vs.keys()):
-            violation = vs[k]
-            if self.ignore_nolint or not self.nolints.hasNolint(violation.file, violation.line):
-                print violation
-                line = self.file_cache.get(violation.file)[violation.line - 1]
-                if self.show_source:
-                    print line.rstrip()
-                    print '%s^' % (' ' * (violation.column - 1))
-                    print
-            previous = violation
-        print 'Total: %d violations' % len(vs)
-
diff --git a/util/py_lib/seqan/skel.py b/util/py_lib/seqan/skel.py
deleted file mode 100755
index d5a2197..0000000
--- a/util/py_lib/seqan/skel.py
+++ /dev/null
@@ -1,467 +0,0 @@
-#!/usr/bin/env python2
-"""SeqAn code generation from templates / skeletons.
-
-This module contains code to help the creation of modules, tests, apps etc.
-It can be called directly or imported and the main() function can be called.
-
-It will perform the following replacements:
-
-  %(AUTHOR)s  will be replaced by the author's name, either given on command
-              line or taken from environment variable SEQAN_AUTHOR.
-
-  %(NAME)s    will be replaced by the name of the generated code.
-  %(TITLE)s   will be replaced by the name of the generated, but centered in
-              74 characters, to be used in the file header comment.
-
-  %(YEAR)d    will be replaced by the current year.
-  %(DATE)s    will be replaced by the current date.
-  %(TIME)s    will be replaced by the current time.
-
-  %(HEADER_GUARD)s  will be replaced by the UPPER_CASE_PATH_H_ to the file.
-
-  %(CMAKE_PROJECT_NAME)s  will be replaced by lower_case_path to the target
-                          directory.
-
-  %(CMAKE_PROJECT_PATH)s  will be replaced by the path to the target directory.
-
-Copyright: (c) 2010, Knut Reinert, FU Berlin
-License:   3-clause BSD (see LICENSE)
-"""
-
-from __future__ import with_statement
-
-__author__ = 'Manuel Holtgrewe <manuel.holtgrewe at fu-berlin.de>'
-
-import datetime
-import optparse
-import os
-import os.path
-import sys
-import string
-
-import paths
-
-# Add os.path.relpath if it is not already there, so we can use Python 2.5, too.
-# TODO(holtgrew): This could go into a "compatibility" module.
-if not 'relpath' in dir(os.path):
-    import posixpath
-    from posixpath import curdir, sep, pardir, join
-
-    def relpath(path, start=curdir):
-        """Return a relative version of a path"""
-        if not path:
-            raise ValueError("no path specified")
-        start_list = posixpath.abspath(start).split(sep)
-        path_list = posixpath.abspath(path).split(sep)
-        # Work out how much of the filepath is shared by start and path.
-        i = len(posixpath.commonprefix([start_list, path_list]))
-        rel_list = [pardir] * (len(start_list)-i) + path_list[i:]
-        if not rel_list:
-            return curdir
-        return join(*rel_list)
-    os.path.relpath = relpath
-
-# Length of the header comment.
-HEADER_CENTER_WIDTH = 74
-
-# Fallback for author string if neither given on command line or environment
-# Variable SEQAN_AUTHOR.
-DEFAULT_AUTHOR = 'Your Name <your.email at example.net>'
-
-# Program usage string for command line parser.
-USAGE = """
-Usage: %prog [options] repository NAME
-       %prog [options] [module|test|app|demo|header|lheader] NAME LOCATION
-       %prog [options] app_tests LOCATION
-""".strip()
-
-# Program description, used for command line parser.  Will be wrapped by, though.
-DESCRIPTION = """
-The SeqAn code generator.
-
-The first version ("repository") is to be be called to create your new entries
-below the directory sandbox.  The second version is to be called to create new
-library modules, tests, apps, app tests, and demos inside a sandbox.
-""".strip()
-#"""
-#Example:
-#
-#  %prog repository sandbox/john_doe
-#
-#The second version is to be called to create new library modules, tests, apps,
-#and demos inside a sandbox.  Example:
-#
-#  %prog module my_module sandbox/john_doe
-#
-#This command creates a new library module in sandbox/john_doe/include/seqan.
-#It consists of the directory my_module, the files my_module.h and
-#my_module/my_module_base.h.
-#
-#  %prog test my_module sandbox/john_doe
-#
-#This command creates the tests for module "my_module" in sandbox/john_doe.
-#
-#  %prog app my_app sandbox/john_doe
-#
-#This command creates a new application named my_app in sandbox/john_doe/apps.
-#
-#  %prog demo my_demo sandbox/john_doe
-#
-#This command creates a new demo in sandbox/john_doe/demos.
-#""".strip()
-
-def createDirectory(path, dry_run=False):
-    print 'mkdir(%s)' % path
-    print
-    if not dry_run:
-        if not os.path.exists(path):
-            os.mkdir(path)
-
-def configureFile(target_file, source_file, replacements, dry_run, options):
-    print 'Configuring file.'
-    print '  Source:', source_file
-    print '  Target:', target_file
-    print
-    if os.path.exists(target_file) and not options.force:
-        msg = 'Target file already exists.  Move it away and call the script again.'
-        print >>sys.stderr, msg
-        return 1
-
-    with open(source_file, 'rb') as f:
-        contents = f.read()
-    target_contents = contents % replacements
-    if dry_run:
-        print 'The contents of the target file are:'
-        print '-' * 78
-        print target_contents
-        print '-' * 78
-    else:
-        with open(target_file, 'wb') as f:
-            f.write(target_contents)
-    return 0
-
-def _pathToIdentifier(relative_path):
-    result = relative_path.replace('/', '_')
-    result = result.replace('\\', '_')
-    result = result.replace('-', '_')
-    result = result.replace('.', '_')
-    result = result.replace(' ', '_')
-    return result
-
-def buildReplacements(type_, name, location, target_file, options):
-    result = {}
-    result['AUTHOR'] = options.author
-    result['YEAR'] = datetime.date.today().year
-    result['TIME'] = datetime.datetime.now().strftime('%H:%M')
-    result['DATE'] = datetime.date.today().strftime('%Y-%m-%d')
-    result['NAME'] = name
-    result['TITLE'] = name.center(HEADER_CENTER_WIDTH).rstrip()
-    path = os.path.relpath(target_file, paths.repositoryRoot())
-    guard = _pathToIdentifier(path).upper()
-    result['HEADER_GUARD'] = guard + '_'
-    path = os.path.relpath(os.path.dirname(target_file),
-                           paths.repositoryRoot())
-    cmake_project_name = _pathToIdentifier(path)
-    result['CMAKE_PROJECT_NAME'] = cmake_project_name
-    result['CMAKE_PROJECT_PATH'] = path.replace('\\', '\\\\')
-    if type_ == 'repository':
-        result['REPOSITORY_PSEUDO_TARGET_NAME'] = name.replace('/', '_').replace('\\', '_').replace(' ', '_')
-    if type_ == 'app_tests':
-        result['APP_NAME'] = os.path.split(os.path.split(location)[0])[1]
-        result['APP_NAME_U'] = result['APP_NAME'].upper()
-        result['LOCATION'] = os.path.join(os.path.split(os.path.normpath(location))[0])
-    return result
-
-def _checkTargetPaths(target_path, options):
-    """Check that the path does not exist but its parent does."""
-    # Check that the given path does not exist yet.
-    if os.path.exists(target_path) and not options.force:
-        msg = 'The path %s already exists. Move it and call this script again.'
-        print >>sys.stderr, msg % target_path
-        return False
-    # Check that the parent path already exists.
-    if not os.path.exists(os.path.dirname(target_path)):
-        msg = 'The parent of the target path does not exist yet: %s'
-        print >>sys.stderr, msg % os.path.dirname(target_path)
-        print >>sys.stderr, 'Please create it and call this script again.'
-        return False
-    return True
-
-def createModule(name, location, options):
-    include_path = paths.pathToInclude(location)
-    seqan_path = os.path.join(include_path, 'seqan')
-    module_path = os.path.join(seqan_path, name)
-    header_path = os.path.join(seqan_path, '%s.h' % name)
-    print 'Creating module in %s' % module_path
-    if options.create_dirs and not _checkTargetPaths(module_path, options):
-        return 1
-    if options.create_dirs and not _checkTargetPaths(header_path, options):
-        return 1
-    print '  Module path is: %s' % module_path
-    print '  Module header path is: %s' % header_path
-    print ''
-    if options.create_dirs:
-        # Create directory.
-        createDirectory(module_path, options.dry_run)
-    if options.create_programs:
-        # Copy over module header.
-        source_file = paths.pathToTemplate('module_template', 'module.h')
-        target_file = header_path
-        replacements = buildReplacements('module', name, seqan_path, target_file, options)
-        res = configureFile(target_file, source_file, replacements, options.dry_run, options)
-        if res: return res
-        # Copy over header inside module.
-        source_file = paths.pathToTemplate('module_template', 'header.h')
-        target_file = os.path.join(module_path, '%s_base.h' % name)
-        replacements = buildReplacements('module', name, seqan_path, target_file, options)
-        res = configureFile(target_file, source_file, replacements, options.dry_run, options)
-        if res: return res
-    return 0
-
-def createTest(name, location, options):
-    target_path = paths.pathToTest(location, name)
-    print 'Creating test in %s' % target_path
-    if options.create_dirs and not _checkTargetPaths(target_path, options):
-        return 1
-    print '  Target path is: %s' % target_path
-    print ''
-    if options.create_dirs:
-        # Create directory.
-        createDirectory(target_path, options.dry_run)
-    if options.create_programs:
-        # Copy over .cpp file for test and perform replacements.
-        source_file = paths.pathToTemplate('test_template', 'test.cpp')
-        target_file = os.path.join(target_path, 'test_%s.cpp' % name)
-        replacements = buildReplacements('test', name, location, target_file, options)
-        res = configureFile(target_file, source_file, replacements, options.dry_run, options)
-        if res: return res
-        # Copy over .h file for test and perform replacements.
-        source_file = paths.pathToTemplate('test_template', 'test.h')
-        target_file = os.path.join(target_path, 'test_%s.h' % name)
-        replacements = buildReplacements('test', name, location, target_file, options)
-        res = configureFile(target_file, source_file, replacements, options.dry_run, options)
-        if res: return res
-    if options.create_cmakelists:
-        # Copy over CMakeLists.txt file for test and perform replacements.
-        source_file = paths.pathToTemplate('test_template', 'CMakeLists.txt')
-        target_file = os.path.join(target_path, 'CMakeLists.txt')
-        replacements = buildReplacements('test', name, location, target_file, options)
-        res = configureFile(target_file, source_file, replacements, options.dry_run, options)
-        if res: return res
-    return 0
-
-def createApp(name, location, options):
-    target_path = paths.pathToApp(location, name)
-    print 'Creating app in %s' % target_path
-    if options.create_dirs and not _checkTargetPaths(target_path, options):
-        return 1
-    print '  Target path is: %s' % target_path
-    print ''
-    if options.create_programs:
-        # Create directory.
-        createDirectory(target_path, options.dry_run)
-        # Copy over .cpp file for app and perform replacements.
-        source_file = paths.pathToTemplate('app_template', 'app.cpp')
-        target_file = os.path.join(target_path, '%s.cpp' % name)
-        replacements = buildReplacements('app', name, location, target_file, options)
-        res = configureFile(target_file, source_file, replacements, options.dry_run, options)
-        if res: return res
-    if options.create_cmakelists:
-        # Copy over CMakeLists.txt file for app and perform replacements.
-        source_file = paths.pathToTemplate('app_template', 'CMakeLists.txt')
-        target_file = os.path.join(target_path, 'CMakeLists.txt')
-        replacements = buildReplacements('app', name, location, target_file, options)
-        res = configureFile(target_file, source_file, replacements, options.dry_run, options)
-        if res: return res
-    return 0
-
-def createDemo(name, location, options):
-    target_path = paths.pathToDemo(location, name)
-    print 'Creating demo in %s' % target_path
-    if options.create_dirs and not _checkTargetPaths(target_path, options):
-        return 1
-    print '  Target path is: %s' % target_path
-    print ''
-    if options.create_programs:
-        # Copy over .cpp file for app and perform replacements.
-        source_file = paths.pathToTemplate('demo_template', 'demo.cpp')
-        target_file = os.path.join(target_path)
-        replacements = buildReplacements('demo', name, location, target_file, options)
-        res = configureFile(target_file, source_file, replacements, options.dry_run, options)
-        if res: return res
-    return 0
-
-def createHeader(name, location, options):
-    target_path = paths.pathToHeader(location, name)
-    print 'Creating (non-library) header in %s' % target_path
-    if not _checkTargetPaths(target_path, options):
-        return 1
-    print '  Target path is: %s' % target_path
-    print ''
-    # Copy over .h file for app and perform replacements.
-    source_file = paths.pathToTemplate('header_template', 'header.h')
-    target_file = os.path.join(target_path)
-    replacements = buildReplacements('header', name, location, target_file, options)
-    res = configureFile(target_file, source_file, replacements, options.dry_run, options)
-    if res: return res
-    print 'NOTE: Do not forget to add the header to the CMakeLists.txt file!'
-    return 0
-
-def createLibraryHeader(name, location, options):
-    target_path = paths.pathToHeader(location, name)
-    print 'Creating library header in %s' % target_path
-    if not _checkTargetPaths(target_path, options):
-        return 1
-    print '  Target path is: %s' % target_path
-    print ''
-    # Copy over .h file for app and perform replacements.
-    source_file = paths.pathToTemplate('header_template', 'library_header.h')
-    target_file = os.path.join(target_path)
-    replacements = buildReplacements('library_header', name, location, target_file, options)
-    res = configureFile(target_file, source_file, replacements, options.dry_run, options)
-    if res: return res
-    return 0
-
-def createRepository(location, options):
-    print 'Creating module %s' % location
-    target_path = paths.pathToRepository(location)
-    if options.create_dirs and not _checkTargetPaths(target_path, options):
-        return 1
-    print '  Target path is: %s' % target_path
-    print ''
-    if options.create_dirs:
-        # Create directories.
-        createDirectory(target_path, options.dry_run)
-        createDirectory(os.path.join(target_path, 'apps'), options.dry_run)
-        createDirectory(os.path.join(target_path, 'demos'), options.dry_run)
-        createDirectory(os.path.join(target_path, 'include'), options.dry_run)
-        createDirectory(os.path.join(target_path, 'include', 'seqan'), options.dry_run)
-        createDirectory(os.path.join(target_path, 'tests'), options.dry_run)
-    if options.create_cmakelists:
-        # Copy over file ${REPOSITORY}/CMakeLists.txt.
-        target_file = os.path.join(target_path, 'CMakeLists.txt')
-        source_file = paths.pathToTemplate('repository_template', 'CMakeLists.txt')
-        replacements = buildReplacements('repository', location, target_path, target_file, options)
-        configureFile(target_file, source_file, replacements, options.dry_run, options)
-        # Copy over file ${REPOSITORY}/apps/CMakeLists.txt.
-        target_file = os.path.join(target_path, 'apps', 'CMakeLists.txt')
-        source_file = paths.pathToTemplate('repository_template', 'apps_CMakeLists.txt')
-        replacements = buildReplacements('repository', location, target_path, target_file, options)
-        configureFile(target_file, source_file, replacements, options.dry_run, options)
-        # Copy over file ${REPOSITORY}/tests/CMakeLists.txt.
-        target_file = os.path.join(target_path, 'tests', 'CMakeLists.txt')
-        source_file = paths.pathToTemplate('repository_template', 'tests_CMakeLists.txt')
-        replacements = buildReplacements('repository', location, target_path, target_file, options)
-        configureFile(target_file, source_file, replacements, options.dry_run, options)
-        # Copy over file ${REPOSITORY}/demos/CMakeLists.txt.
-        target_file = os.path.join(target_path, 'demos', 'CMakeLists.txt')
-        source_file = paths.pathToTemplate('repository_template', 'demos_CMakeLists.txt')
-        replacements = buildReplacements('repository', location, target_path, target_file, options)
-        configureFile(target_file, source_file, replacements, options.dry_run, options)
-    return 0
-
-def createAppTests(location, options):
-    print 'Creating app tests at %s' % location
-    tests_location = os.path.join(location, 'tests')
-    target_path = paths.pathToRepository(tests_location)
-    if options.create_dirs and not _checkTargetPaths(target_path, options):
-        return 1
-    print '  Target path is: %s' % target_path
-    print ''
-
-    # Create directories.
-    if options.create_dirs:
-        createDirectory(target_path, options.dry_run)
-
-    # Copy over file ${APP}/tests/generate_outputs.sh
-    target_file = os.path.join(target_path, 'generate_outputs.sh')
-    source_file = paths.pathToTemplate('app_tests_template', 'generate_outputs.sh')
-    replacements = buildReplacements('app_tests', location, target_path, target_file, options)
-    configureFile(target_file, source_file, replacements, options.dry_run, options)
-    # Copy over file ${APP}/tests/run_tests.py
-    target_file = os.path.join(target_path, 'run_tests.py')
-    source_file = paths.pathToTemplate('app_tests_template', 'run_tests.py')
-    replacements = buildReplacements('app_tests', location, target_path, target_file, options)
-    configureFile(target_file, source_file, replacements, options.dry_run, options)
-
-    print '=' * 80
-    print 'Do not forget to add the tests in %s:' % os.path.join(location, 'CMakeLists.txt')
-    print ''
-    print '# Add app tests if Python interpreter could be found.'
-    print 'if(PYTHONINTERP_FOUND)'
-    print '  add_test(NAME app_test_%s COMMAND ${PYTHON_EXECUTABLE}' % os.path.split(location)[-1]
-    print '    ${CMAKE_CURRENT_SOURCE_DIR}/tests/run_tests.py ${CMAKE_SOURCE_DIR}'
-    print '    ${CMAKE_BINARY_DIR})'
-    print 'endif(PYTHONINTERP_FOUND)'
-    print '=' * 80
-    
-    return 0
-
-def main():
-    # Parse arguments.
-    parser = optparse.OptionParser(usage=USAGE, description=DESCRIPTION)
-    parser.add_option('-s', '--skel-root', dest='skel_root',
-                      help=('Set path to the directory where the skeletons '
-                            'live in.  Taken from environment variable '
-                            'SEQAN_SKELS if available.'),
-                      default=os.environ.get('SEQAN_SKELS',
-                                             paths.pathToSkeletons()))
-    parser.add_option('-a', '--author', dest='author',
-                      help=('Set author to use.  Should have the format USER '
-                            '<EMAIL>.  Taken from environment variable '
-                            'SEQAN_AUTHOR if it exists.'),
-                      default=os.environ.get('SEQAN_AUTHOR', DEFAULT_AUTHOR))
-    parser.add_option('-d', '--dry-run', dest='dry_run', action='store_true',
-                      help='Do not change anything, just simulate.',
-                      default=False)
-    parser.add_option('-c', '--cmakelists-only', dest='cmakelists_only',
-                      action='store_true',
-                      help='Only create CMakeLists.txt files',
-                      default=False)
-    parser.add_option('--force', dest='force', action='store_true',
-                      help='Overwrite existing files and directories.',
-                      default=False)
-    options, args = parser.parse_args()
-    options.create_cmakelists = True
-    options.create_infos = True
-    options.create_dirs = True
-    options.create_programs = True
-    if options.cmakelists_only:
-        options.create_dirs = False
-        options.create_programs = False
-
-    if not args:
-        parser.print_help(file=sys.stderr)
-        return 1
-    if len(args) < 2:
-        print >>sys.stderr, 'Invalid argument count!'
-        return 1
-    if args[0] not in ['module', 'test', 'app', 'demo', 'repository',
-                       'header', 'lheader', 'app_tests']:
-        print >>sys.stderr, 'Invalid template "%s".' % args[0]
-        return 1
-    if args[0] in['repository', 'app_tests']:
-        if len(args) != 2:
-            print >>sys.stderr, 'Invalid argument count!'
-            return 1
-
-    if args[0] == 'repository':
-        return createRepository(args[1], options)
-    elif args[0] == 'app_tests':
-        return createAppTests(args[1], options)
-    elif len(args) != 3:
-        print >>sys.stderr, 'Invalid argument count!'
-        return 1
-    create_methods = {
-        'module' : createModule,
-        'test': createTest,
-        'app': createApp,
-        'demo': createDemo,
-        'header': createHeader,
-        'lheader': createLibraryHeader,
-        }
-    return create_methods[args[0]](args[1], args[2], options)
-
-if __name__ == '__main__':
-   sys.exit(main())
-

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/seqan2.git



More information about the debian-med-commit mailing list