diff --git a/.gitignore b/.gitignore
index a06a913..84b6395 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,6 @@
 .lock-waf_darwin_build
-.waf-1.6.11-30618c54883417962c38f5d395f83584/
+.waf*
 build/
 *.pyc
+doc/html
+.DS_Store
diff --git a/doc/doxygen.conf b/doc/doxygen.conf
new file mode 100644
index 0000000..0989ca5
--- /dev/null
+++ b/doc/doxygen.conf
@@ -0,0 +1,1515 @@
+# Doxyfile 1.6.1
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING      = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = "Sync "
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER         =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = doc
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS         = YES
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE        = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       = YES
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH        =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH    =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF      = YES
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF           = YES
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 4
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN   = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL   = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it parses.
+# With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this tag.
+# The format is ext=language, where ext is a file extension, and language is one of
+# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
+# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
+# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
+# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING      =
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT    = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT        = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT            = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen to replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT   = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING            = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT   = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penality.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will rougly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE      = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC         = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = NO
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS  = YES
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES   = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES       = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES       = NO
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES             = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page.
+# This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES        = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER    =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
+# doxygen. The layout file controls the global structure of the generated output files
+# in an output format independent way. The create the layout file that represents
+# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
+# file name after the option, if omitted DoxygenLayout.xml will be used as the name
+# of the layout file.
+
+LAYOUT_FILE            =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = YES
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC       = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT            = "$file:$line: $text "
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE           =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT                  = model helper
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING         = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
+FILE_PATTERNS          = *.h \
+                         *.cc
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE              = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                =
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix filesystem feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS       = */test/*
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS        =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH           = 
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS       =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH             = doc
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+# If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER           =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.
+# Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.
+# The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS        =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = YES
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.
+# Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER            =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER            =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET        =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS  = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
+
+GENERATE_DOCSET        = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE               =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING     =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
+# are set, an additional index file will be generated that can be used as input for
+# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
+# HTML documentation.
+
+GENERATE_QHP           = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE               =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE          =
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER     = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
+# For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME   =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS  =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS  =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION           =
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW      = YES
+
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list.
+
+USE_INLINE_TREES       = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE       = 10
+
+# When the SEARCHENGINE tag is enable doxygen will generate a search box for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP)
+# there is already a search function so this one should typically
+# be disabled.
+
+SEARCHENGINE           = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX          = YES
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         = amsmath
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES     = YES
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE      = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA             =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD                =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.
+# This is useful
+# if you want to understand what is going on.
+# On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF     = YES
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = NO
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH           = /usr/include /opt/local/include
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS  =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED             = 
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      = 
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES               =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option is superseded by the HAVE_DOT option below. This is only a
+# fallback. It is recommended to install and use dot, since it yields more
+# powerful graphs.
+
+CLASS_DIAGRAMS         = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH            =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = YES
+
+# By default doxygen will write a font called FreeSans.ttf to the output
+# directory and reference it in all dot files that doxygen generates. This
+# font does not include all possible unicode characters however, so when you need
+# these (or just want a differently looking font) you can specify the font name
+# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
+# which can be done by putting it in a standard location or by setting the
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
+# containing the font.
+
+DOT_FONTNAME           = FreeSans
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE           = 10
+
+# By default doxygen will tell dot to use the output directory to look for the
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a
+# different font using DOT_FONTNAME you can set the path where dot
+# can find it using this tag.
+
+DOT_FONTPATH           =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK               = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH             = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH           = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH        = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT       = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH               =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS           =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES    = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT        = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS      = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP            = YES
diff --git a/model/sync-diff-state-container.h b/model/sync-diff-state-container.h
index 7f510bb..8983ceb 100644
--- a/model/sync-diff-state-container.h
+++ b/model/sync-diff-state-container.h
@@ -25,7 +25,7 @@
 
 namespace Sync {
 
-#include "diff-state.h"
+#include "sync-diff-state.h"
 
 #include <boost/multi_index_container.hpp>
 // #include <boost/multi_index/tag.hpp>
diff --git a/uml/SyncApp.xmi b/uml/SyncApp.xmi
new file mode 100644
index 0000000..dc7ae7c
--- /dev/null
+++ b/uml/SyncApp.xmi
@@ -0,0 +1,593 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<XMI verified="false" xmi.version="1.2" timestamp="2012-03-05T17:06:10" xmlns:UML="http://schema.omg.org/spec/UML/1.3">
+ <XMI.header>
+  <XMI.documentation>
+   <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter>
+   <XMI.exporterVersion>1.5.8</XMI.exporterVersion>
+   <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
+  </XMI.documentation>
+  <XMI.metamodel xmi.version="1.3" href="UML.xml" xmi.name="UML"/>
+ </XMI.header>
+ <XMI.content>
+  <UML:Model isSpecification="false" isAbstract="false" isLeaf="false" xmi.id="m1" isRoot="false" name="Sync protocol">
+   <UML:Namespace.ownedElement>
+    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="folder" name="folder"/>
+    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="datatype" name="datatype"/>
+    <UML:Stereotype visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="interface" name="interface"/>
+    <UML:Stereotype visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD3" name="realize"/>
+    <UML:Stereotype visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BE2" name="onRemoteAdd"/>
+    <UML:Stereotype visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="enum" name="enum"/>
+    <UML:Model stereotype="folder" visibility="private" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Logical View" name="Logical View">
+     <UML:Namespace.ownedElement>
+      <UML:Package stereotype="folder" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Datatypes" name="Datatypes">
+       <UML:Namespace.ownedElement>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="QQR7kfX34MVj" name="string"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="hJaQtiZgGB3E" name="Xml"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="TWcMQGl7c5Mr" name="Hash"/>
+        <UML:Class visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BF5" name="Iterator">
+         <UML:ModelElement.templateParameter>
+          <UML:TemplateParameter visibility="public" isSpecification="false" namespace="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BF5" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="2GFaGoXGQTI2" name="Leaf"/>
+          <UML:TemplateParameter visibility="public" isSpecification="false" namespace="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BF5" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ujp5B8eBw22x" name="NameInfo"/>
+         </UML:ModelElement.templateParameter>
+        </UML:Class>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="YJP1lfK5EJLB" name="NamePrefix"/>
+        <UML:Class visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="E7KaZlL1ahny" name="Container">
+         <UML:ModelElement.templateParameter>
+          <UML:TemplateParameter visibility="public" isSpecification="false" namespace="E7KaZlL1ahny" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="6UvWFn5sK2l7" name="Diff"/>
+          <UML:TemplateParameter visibility="public" isSpecification="false" namespace="E7KaZlL1ahny" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ueaLrohmrzGP" name="Name"/>
+         </UML:ModelElement.templateParameter>
+        </UML:Class>
+        <UML:Class visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="1r071TaNsnKd" name="Callback"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" elementReference="E7KaZlL1ahny" isRoot="false" xmi.id="lzO9BgBP3CRt" name="Container&lt;Diff>"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="BT1dasCLYQM0" name="undef"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ddukTtV6pqzE" name="int"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="KWnPtausBOOo" name="char"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="YE2L9n0QRUOo" name="bool"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="qSE8JVjBhwol" name="float"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="nLexWqKlaSCm" name="double"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="KcZ9WFaDgjmX" name="short"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ixY6wxnkSeFq" name="long"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="p8zBWRVkfzNX" name="unsigned int"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="MwbslzPjHGv1" name="unsigned short"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ZLZ7IvH812um" name="unsigned long"/>
+        <UML:Class visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="BKJzhsgNzEAw" name="SeqNo">
+         <UML:Classifier.feature>
+          <UML:Attribute visibility="public" isSpecification="false" xmi.id="XaVLlNAHUCNE" type="p8zBWRVkfzNX" name="session"/>
+          <UML:Attribute visibility="public" isSpecification="false" xmi.id="O2hIL2AyddSz" type="p8zBWRVkfzNX" name="seq"/>
+         </UML:Classifier.feature>
+        </UML:Class>
+       </UML:Namespace.ownedElement>
+      </UML:Package>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" name="SyncCcnx">
+       <UML:Classifier.feature>
+        <UML:Attribute visibility="public" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B69" type="1r071TaNsnKd" name="onRemoteAdd"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B8A" name="construct">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="MVlqMzf56kir" type="YJP1lfK5EJLB" value="" name="broadcastPrefix"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B8E" name="addFromLocal">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="sPKgGyS8N1Qn" type="hJaQtiZgGB3E" value="" name="data"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B93" name="addFromRemote">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="MrVf8BHjpOH0" type="hJaQtiZgGB3E" value="" name="data"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+       <UML:Namespace.ownedElement>
+        <UML:Dependency visibility="public" isSpecification="false" namespace="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" supplier="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BB4" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" name="&lt;&lt;use>>"/>
+        <UML:Dependency visibility="public" isSpecification="false" namespace="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" supplier="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C52" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" name="&lt;&lt;use>>"/>
+       </UML:Namespace.ownedElement>
+      </UML:Class>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" name="StateManager">
+       <UML:Classifier.feature>
+        <UML:Attribute visibility="private" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B6D" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name="state"/>
+        <UML:Attribute visibility="private" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BAD" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name="localState"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B76" name="advance">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="pel2EG2Nlo0i" type="hJaQtiZgGB3E" value="" name="states"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B7B" name="find">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B7C" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64"/>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="luVR7bZn692c" type="TWcMQGl7c5Mr" value="" name="stateDigest"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B7F" name="head">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B80" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B81" name="logState">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B83" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" value="" name="next"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+      </UML:Class>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E" name="NameManager">
+       <UML:Classifier.feature>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C53" name="add">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C55" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" value="" name="name"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C56" name="size">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C57" type="p8zBWRVkfzNX"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C58" name="begin">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C59" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BF5"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C5B" name="end">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C5C" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BF5"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C5D" name="find">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60"/>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C5F" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" value="" name="name"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+      </UML:Class>
+      <UML:Interface stereotype="interface" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" name="NameInfo">
+       <UML:Classifier.feature>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C31" name="getDigest">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C32" type="TWcMQGl7c5Mr"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C33" name="toString">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C34" type="QQR7kfX34MVj"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+      </UML:Interface>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B61" name="CcnxNameInfo"/>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B62" name="Ns3NameInfo"/>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" name="Leaf">
+       <UML:Classifier.feature>
+        <UML:Attribute visibility="public" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C08" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" name="info"/>
+        <UML:Attribute visibility="public" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C0B" type="BKJzhsgNzEAw" name="seq"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD0" name="getDigest">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD1" type="TWcMQGl7c5Mr"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+      </UML:Class>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name="DiffState">
+       <UML:GeneralizableElement.generalization>
+        <UML:Generalization xmi.idref="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C02"/>
+       </UML:GeneralizableElement.generalization>
+       <UML:Classifier.feature>
+        <UML:Attribute visibility="private" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B9C" type="TWcMQGl7c5Mr" name="digest"/>
+        <UML:Attribute visibility="private" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C6B" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name="next"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BBB" name="getDigest"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B9F" name="setNext">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BA3" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" value="" name="successor"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BA1" name="setDigest">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="Ead4YXntX2OO" type="TWcMQGl7c5Mr" value="" name="digest"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BBD" name="diff">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BBE" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="PzgOCbeFLA1T" name="operator+=">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="private" isSpecification="false" xmi.id="GvYKz3fhkzBq" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" value="" name="state"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+      </UML:Class>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name="FullState">
+       <UML:GeneralizableElement.generalization>
+        <UML:Generalization xmi.idref="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C03"/>
+       </UML:GeneralizableElement.generalization>
+       <UML:Classifier.feature>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BA8" name="getDigest">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BA9" type="TWcMQGl7c5Mr"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+      </UML:Class>
+      <UML:Abstraction visibility="public" isSpecification="false" namespace="Logical View" supplier="BT1dasCLYQM0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD2" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name=""/>
+      <UML:Abstraction stereotype="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD3" visibility="public" isSpecification="false" namespace="Logical View" supplier="BT1dasCLYQM0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD4" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name=""/>
+      <UML:Generalization discriminator="" visibility="public" isSpecification="false" namespace="Logical View" child="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C02" parent="BT1dasCLYQM0" name=""/>
+      <UML:Generalization discriminator="" visibility="public" isSpecification="false" namespace="Logical View" child="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C03" parent="BT1dasCLYQM0" name=""/>
+      <UML:Abstraction stereotype="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD3" visibility="public" isSpecification="false" namespace="Logical View" supplier="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C04" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B61" name=""/>
+      <UML:Abstraction stereotype="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD3" visibility="public" isSpecification="false" namespace="Logical View" supplier="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C06" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B62" name=""/>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C1E" name="ordered container">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1..1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C1F" type="BT1dasCLYQM0" name="" aggregation="aggregate"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="0..-1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C20" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C36" name="info">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1..1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C37" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" name="" aggregation="aggregate"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1..1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C38" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C3D" name="-names">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1..1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C3E" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E" name="" aggregation="composite"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="0..-1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C3F" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C44" name="-log">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C45" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" name="" aggregation="aggregate"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="*" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C46" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C4B" name="">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1..1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C4C" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" name="" aggregation="composite"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="2..2" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C4D" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C64" name="">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1..1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C65" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="0..1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C66" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Dependency visibility="public" isSpecification="false" namespace="Logical View" supplier="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" xmi.id="LoR3G0lvLGQ5" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" name=""/>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="jECQdHOsAJCQ" name="">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="RcXKrMNiowU4" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" name="" aggregation="composite"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="rtoKiqqL59wu" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Dependency visibility="public" isSpecification="false" namespace="Logical View" supplier="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" xmi.id="g96OzTyChWfi" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name=""/>
+      <UML:Enumeration stereotype="enum" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="uzhoaBpepAbw" name="Operation">
+       <UML:EnumerationLiteral visibility="public" isSpecification="false" namespace="uzhoaBpepAbw" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="lWMWe0RVKAhy" name="UPDATE"/>
+       <UML:EnumerationLiteral visibility="public" isSpecification="false" namespace="uzhoaBpepAbw" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="1ihBo9LAKK5z" name="REMOVE"/>
+      </UML:Enumeration>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="eNibqErmztjN" name="DiffLeaf">
+       <UML:GeneralizableElement.generalization>
+        <UML:Generalization xmi.idref="hmPEfJm4iOHE"/>
+       </UML:GeneralizableElement.generalization>
+       <UML:Classifier.feature>
+        <UML:Attribute visibility="public" isSpecification="false" xmi.id="3IW7VdmMMt4z" type="uzhoaBpepAbw" name="type"/>
+       </UML:Classifier.feature>
+      </UML:Class>
+      <UML:Generalization discriminator="" visibility="public" isSpecification="false" namespace="Logical View" child="eNibqErmztjN" xmi.id="hmPEfJm4iOHE" parent="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" name=""/>
+      <UML:Interface stereotype="interface" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="EcUG7Cv4VJRZ" name="State">
+       <UML:Classifier.feature>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="RPP7OKzy2KqV" name="update">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="private" isSpecification="false" xmi.id="JuuBKhfoidZw" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" value="" name="info"/>
+          <UML:Parameter visibility="private" isSpecification="false" xmi.id="eJSqOntJzB7C" type="BKJzhsgNzEAw" value="" name="seq"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="J6UUFnkhXKu8" name="remove">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="private" isSpecification="false" xmi.id="k2iiTcdx6xqc" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" value="" name="info"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+      </UML:Interface>
+      <UML:Abstraction visibility="public" isSpecification="false" namespace="Logical View" supplier="EcUG7Cv4VJRZ" xmi.id="E9T96r5jZYF1" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name=""/>
+      <UML:Abstraction visibility="public" isSpecification="false" namespace="Logical View" supplier="EcUG7Cv4VJRZ" xmi.id="ITGTixAFzhNl" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name=""/>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="qnsHSYZXTfFi" name="">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="LawSqEFpzhlp" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name="" aggregation="composite"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="8PGVgz0icvIg" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="7r4R2jQXqKf4" name="">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="uXI4NwzPrSfC" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name="" aggregation="composite"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="YAE7ZBvEirwg" type="eNibqErmztjN" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="2woppjMlWfIL" name="#leafs">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1" xmi.id="VILR5ZttV01x" type="EcUG7Cv4VJRZ" name="" aggregation="composite"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="*" xmi.id="DwTyjKLGd388" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Dependency visibility="public" isSpecification="false" namespace="Logical View" supplier="eNibqErmztjN" xmi.id="EZZOxz2EHPXq" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name=""/>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="OpMKxbqIfYUR" name="">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="4PNhzwJfBzmC" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" name="" aggregation="composite"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="aeSFVfbfKN63" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+     </UML:Namespace.ownedElement>
+     <XMI.extension xmi.extender="umbrello">
+      <diagrams>
+       <diagram showopsig="1" linecolor="#ff0000" snapx="10" showattribassocs="1" snapy="10" linewidth="0" showattsig="1" isopen="1" showpackage="1" showpubliconly="0" showstereotype="1" name="class diagram" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" canvasheight="867" canvaswidth="1415" localid="-1" snapcsgrid="0" showgrid="1" showops="1" griddotcolor="#000000" backgroundcolor="#ffffff" usefillcolor="1" fillcolor="#ffffc0" zoom="100" xmi.id="fObcvBAs2uoO" documentation="" showscope="1" snapgrid="0" showatts="1" type="1">
+        <widgets>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="0" showpackage="1" x="457" showattsigs="601" showstereotype="1" y="124" showattributes="1" font="Lucida Grande,13,-1,5,50,0,0,0,0,0" width="239" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" showscope="1" height="112" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="0" showpackage="1" x="277" showattsigs="601" showstereotype="1" y="10" showattributes="1" font="Lucida Grande,13,-1,5,50,0,0,0,0,0" width="275" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" showscope="1" height="80" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="0" showpackage="1" x="329" showattsigs="601" showstereotype="1" y="333" showattributes="1" font="Lucida Grande,13,-1,0,75,0,0,0,0,0" width="138" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" showscope="1" height="40" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="0" showpackage="1" x="744" showattsigs="601" showstereotype="1" y="309" showattributes="1" font="Lucida Grande,13,-1,5,50,0,0,0,0,0" width="210" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" showscope="1" height="128" showopsigs="601"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="20" showattsigs="601" showstereotype="1" y="600" showattributes="1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" width="101" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B62" showscope="1" height="32" showopsigs="601"/>
+         <interfacewidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="60" showstereotype="1" y="407" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" drawascircle="0" width="138" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" showscope="1" height="72" showopsigs="601"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="140" showattsigs="601" showstereotype="1" y="600" showattributes="1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" width="107" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B61" showscope="1" height="32" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="0" showpackage="1" x="349" showattsigs="601" showstereotype="1" y="676" showattributes="1" font="Lucida Grande,13,-1,5,50,0,0,0,0,0" width="138" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" showscope="1" height="64" showopsigs="601"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="338" showattsigs="601" showstereotype="1" y="807" showattributes="1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" width="163" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="BKJzhsgNzEAw" showscope="1" height="56" showopsigs="601"/>
+         <enumwidget width="73" showstereotype="1" x="854" y="781" usesdiagramusefillcolor="0" usesdiagramfillcolor="0" isinstance="0" fillcolor="#ffffc0" height="64" linecolor="#ff0000" xmi.id="uzhoaBpepAbw" showpackage="1" usefillcolor="1" linewidth="none" font="Lucida Grande,13,-1,0,50,0,0,0,0,0"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="837" showattsigs="601" showstereotype="1" y="687" showattributes="1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" width="127" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="eNibqErmztjN" showscope="1" height="40" showopsigs="601"/>
+         <notewidget width="201" showstereotype="1" x="997" noteType="0" y="282" usesdiagramusefillcolor="1" usesdiagramfillcolor="0" isinstance="0" fillcolor="#ffc0ff" height="247" linecolor="none" xmi.id="TE7CLedhNRvT" usefillcolor="1" linewidth="none" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" text="diff() returns Diff object with aggregated list of DiffLeaf's from all children Diff's:&#xa;&#xa;Diff ret;&#xa;Diff * state = next;&#xa;while (ret != 0)&#xa;{&#xa;  ret += *state;&#xa;  state = state->next;&#xa;}&#xa;&#xa;return ret;"/>
+         <interfacewidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="513" showstereotype="1" y="488" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" drawascircle="0" width="257" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="EcUG7Cv4VJRZ" showscope="1" height="72" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="0" showpackage="1" x="155" showattsigs="601" showstereotype="1" y="122" showattributes="1" font="Lucida Grande,13,-1,5,50,0,0,0,0,0" width="239" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E" showscope="1" height="104" showopsigs="601"/>
+         <notewidget width="291" showstereotype="1" x="3" noteType="0" y="662" usesdiagramusefillcolor="1" usesdiagramfillcolor="0" isinstance="0" fillcolor="#ffc0ff" height="174" linecolor="none" xmi.id="Wdw0pjdPcgtq" usefillcolor="1" linewidth="none" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" text="The assumption is that session and seq are strictly ordered.  &#xa;&#xa;(session1, seq1) > (session2, seq2)&#xa;if&#xa;&#xa;session1 > session2&#xa;or&#xa;session1 == session2 &amp;&amp; seq1 > seq2&#xa;&#xa;&#xa;&#xa;"/>
+        </widgets>
+        <messages/>
+        <associations>
+         <assocwidget indexa="1" indexb="1" visibilityA="0" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="4" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B6D" changeabilityB="900" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" totalcountb="3" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="516" starty="236"/>
+           <endpoint endx="375" endy="333"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="367" showstereotype="1" y="288" text="state" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="-" role="710" width="46" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="UDeI9EAqmwnt" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="2" indexb="2" visibilityA="0" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="4" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BAD" changeabilityB="900" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" totalcountb="3" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="576" starty="236"/>
+           <endpoint endx="421" endy="333"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="437" showstereotype="1" y="295" text="localState" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="-" role="710" width="76" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="uBHVhUISfms1" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="3" indexb="1" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" linecolor="none" totalcounta="4" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C44" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" totalcountb="3" type="501" linewidth="none">
+          <linepath>
+           <startpoint startx="636" starty="236"/>
+           <endpoint endx="814" endy="309"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="690" showstereotype="1" y="241" text="-log" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="703" width="35" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="esL6eatRu5Ty" height="20"/>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="664" showstereotype="1" y="236" text="1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="701" width="16" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="hJuN9Zu5kJFI" height="20"/>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="787" showstereotype="1" y="281" text="*" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="702" width="14" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="e3Kf3fxUc8H8" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="2" indexb="1" visibilityA="0" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="3" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C6B" changeabilityB="900" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" totalcountb="2" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="796" starty="309"/>
+           <endpoint endx="901" endy="309"/>
+           <point x="794" y="259"/>
+           <point x="894" y="259"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="858" showstereotype="1" y="289" text="next" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="-" role="710" width="44" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="FhaxTWgPwKmB" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B62" linecolor="none" totalcounta="2" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C06" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" totalcountb="4" type="511" linewidth="none">
+          <linepath>
+           <startpoint startx="70" starty="600"/>
+           <endpoint endx="94" endy="479"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="2" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B61" linecolor="none" totalcounta="2" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C04" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" totalcountb="4" type="511" linewidth="none">
+          <linepath>
+           <startpoint startx="193" starty="600"/>
+           <endpoint endx="129" endy="479"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="2" indexb="1" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" linecolor="none" totalcounta="3" xmi.id="jECQdHOsAJCQ" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" totalcountb="2" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="460" starty="90"/>
+           <endpoint endx="576" endy="124"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="3" visibilityA="0" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="3" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C08" changeabilityB="900" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" totalcountb="4" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="395" starty="676"/>
+           <endpoint endx="163" endy="479"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="269" showstereotype="1" y="545" text="info" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="+" role="710" width="43" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="4OxBCMDwkJQd" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" visibilityA="0" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="2" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C0B" changeabilityB="900" widgetbid="BKJzhsgNzEAw" totalcountb="2" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="418" starty="740"/>
+           <endpoint endx="419" endy="807"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="382" showstereotype="1" y="752" text="seq" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="+" role="710" width="40" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="2UO4OJ0p6FD4" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" widgetaid="eNibqErmztjN" linecolor="none" totalcounta="2" xmi.id="hmPEfJm4iOHE" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" totalcountb="2" type="500" linewidth="none">
+          <linepath>
+           <startpoint startx="837" starty="707"/>
+           <endpoint endx="487" endy="708"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" visibilityA="0" widgetaid="eNibqErmztjN" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="2" xmi.id="3IW7VdmMMt4z" changeabilityB="900" widgetbid="uzhoaBpepAbw" totalcountb="2" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="900" starty="727"/>
+           <endpoint endx="890" endy="781"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="896" showstereotype="1" y="732" text="type" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="+" role="710" width="45" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="ibWIie6HmzHZ" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" visibilityA="0" widgetaid="TE7CLedhNRvT" visibilityB="0" roleBdoc="" roleAdoc="" linecolor="none" changeabilityA="900" totalcounta="2" changeabilityB="900" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" totalcountb="2" type="513" documentation="" linewidth="none">
+          <linepath>
+           <startpoint startx="997" starty="405"/>
+           <endpoint endx="954" endy="373"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" linecolor="none" totalcounta="2" xmi.id="E9T96r5jZYF1" widgetbid="EcUG7Cv4VJRZ" totalcountb="3" type="511" linewidth="none">
+          <linepath>
+           <startpoint startx="398" starty="373"/>
+           <endpoint endx="598" endy="488"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="2" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" linecolor="none" totalcounta="3" xmi.id="ITGTixAFzhNl" widgetbid="EcUG7Cv4VJRZ" totalcountb="3" type="511" linewidth="none">
+          <linepath>
+           <startpoint startx="814" starty="437"/>
+           <endpoint endx="684" endy="488"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="2" widgetaid="EcUG7Cv4VJRZ" linecolor="none" totalcounta="2" xmi.id="2woppjMlWfIL" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" totalcountb="3" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="641" starty="560"/>
+           <endpoint endx="441" endy="676"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="541" showstereotype="1" y="618" text="#leafs" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="703" width="46" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="Fg8ExQ98umig" height="20"/>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="635" showstereotype="1" y="570" text="1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="701" width="16" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="bIYcYJNrlWhB" height="20"/>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="432" showstereotype="1" y="652" text="*" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="702" width="14" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="PqjThqSOkykD" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="2" indexb="1" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" linecolor="none" totalcounta="3" xmi.id="EZZOxz2EHPXq" widgetbid="eNibqErmztjN" totalcountb="2" type="502" linewidth="none">
+          <linepath>
+           <startpoint startx="884" starty="437"/>
+           <endpoint endx="900" endy="687"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E" linecolor="none" totalcounta="2" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C3D" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" totalcountb="2" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="274" starty="226"/>
+           <endpoint endx="129" endy="407"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="185" showstereotype="1" y="273" text="-names" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="703" width="57" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="Apk1HPd4DY5k" height="20"/>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="270" showstereotype="1" y="232" text="1..1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="701" width="33" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="BXfTbEneZhSh" height="20"/>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="95" showstereotype="1" y="380" text="0..-1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="702" width="40" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="8bxVqmacI5us" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" linecolor="none" totalcounta="3" xmi.id="OpMKxbqIfYUR" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E" totalcountb="2" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="368" starty="90"/>
+           <endpoint endx="274" endy="122"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" visibilityA="0" widgetaid="Wdw0pjdPcgtq" visibilityB="0" roleBdoc="" roleAdoc="" linecolor="none" changeabilityA="900" totalcounta="2" changeabilityB="900" widgetbid="BKJzhsgNzEAw" totalcountb="2" type="513" documentation="" linewidth="none">
+          <linepath>
+           <startpoint startx="294" starty="749"/>
+           <endpoint endx="338" endy="835"/>
+          </linepath>
+         </assocwidget>
+        </associations>
+       </diagram>
+      </diagrams>
+     </XMI.extension>
+    </UML:Model>
+    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Use Case View" name="Use Case View">
+     <UML:Namespace.ownedElement/>
+    </UML:Model>
+    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Component View" name="Component View">
+     <UML:Namespace.ownedElement/>
+    </UML:Model>
+    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Deployment View" name="Deployment View">
+     <UML:Namespace.ownedElement/>
+    </UML:Model>
+    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Entity Relationship Model" name="Entity Relationship Model">
+     <UML:Namespace.ownedElement/>
+    </UML:Model>
+   </UML:Namespace.ownedElement>
+  </UML:Model>
+ </XMI.content>
+ <XMI.extensions xmi.extender="umbrello">
+  <docsettings viewid="fObcvBAs2uoO" uniqueid="fJiA4FIrKsVC" documentation=""/>
+  <listview>
+   <listitem open="1" type="800" id="Views">
+    <listitem open="1" type="802" id="Use Case View"/>
+    <listitem open="1" type="801" id="Logical View">
+     <listitem open="1" type="807" id="fObcvBAs2uoO" label="class diagram"/>
+     <listitem open="0" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C">
+      <listitem open="1" type="814" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B69"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B8A"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B93"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B8E"/>
+     </listitem>
+     <listitem open="0" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D">
+      <listitem open="1" type="814" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B6D"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B81"/>
+      <listitem open="1" type="814" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BAD"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B7F"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B7B"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B76"/>
+     </listitem>
+     <listitem open="1" type="817" id="EcUG7Cv4VJRZ">
+      <listitem open="0" type="815" id="RPP7OKzy2KqV"/>
+      <listitem open="0" type="815" id="J6UUFnkhXKu8"/>
+     </listitem>
+     <listitem open="0" type="831" id="uzhoaBpepAbw">
+      <listitem open="0" type="839" id="lWMWe0RVKAhy"/>
+      <listitem open="0" type="839" id="1ihBo9LAKK5z"/>
+     </listitem>
+     <listitem open="1" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B62"/>
+     <listitem open="0" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E">
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C56"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C5D"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C5B"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C58"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C53"/>
+     </listitem>
+     <listitem open="0" type="817" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60">
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C33"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C31"/>
+     </listitem>
+     <listitem open="1" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63">
+      <listitem open="1" type="814" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C0B"/>
+      <listitem open="1" type="814" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C08"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD0"/>
+     </listitem>
+     <listitem open="1" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65">
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BA8"/>
+     </listitem>
+     <listitem open="0" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64">
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B9F"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BA1"/>
+      <listitem open="0" type="815" id="PzgOCbeFLA1T"/>
+      <listitem open="1" type="814" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C6B"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BBB"/>
+      <listitem open="1" type="814" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B9C"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BBD"/>
+     </listitem>
+     <listitem open="1" type="813" id="eNibqErmztjN">
+      <listitem open="0" type="814" id="3IW7VdmMMt4z"/>
+     </listitem>
+     <listitem open="0" type="830" id="Datatypes">
+      <listitem open="0" type="829" id="MwbslzPjHGv1"/>
+      <listitem open="0" type="829" id="ZLZ7IvH812um"/>
+      <listitem open="0" type="829" id="p8zBWRVkfzNX"/>
+      <listitem open="0" type="829" id="BT1dasCLYQM0"/>
+      <listitem open="1" type="829" id="QQR7kfX34MVj"/>
+      <listitem open="0" type="829" id="KcZ9WFaDgjmX"/>
+      <listitem open="0" type="829" id="ixY6wxnkSeFq"/>
+      <listitem open="0" type="829" id="ddukTtV6pqzE"/>
+      <listitem open="0" type="829" id="qSE8JVjBhwol"/>
+      <listitem open="0" type="829" id="nLexWqKlaSCm"/>
+      <listitem open="0" type="829" id="KWnPtausBOOo"/>
+      <listitem open="0" type="829" id="YE2L9n0QRUOo"/>
+      <listitem open="1" type="829" id="hJaQtiZgGB3E"/>
+      <listitem open="0" type="813" id="BKJzhsgNzEAw">
+       <listitem open="0" type="814" id="XaVLlNAHUCNE"/>
+       <listitem open="0" type="814" id="O2hIL2AyddSz"/>
+      </listitem>
+      <listitem open="1" type="829" id="YJP1lfK5EJLB"/>
+      <listitem open="0" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BF5">
+       <listitem open="0" type="816" id="ujp5B8eBw22x"/>
+       <listitem open="0" type="816" id="2GFaGoXGQTI2"/>
+      </listitem>
+      <listitem open="1" type="829" id="TWcMQGl7c5Mr"/>
+      <listitem open="1" type="829" id="lzO9BgBP3CRt"/>
+      <listitem open="0" type="813" id="E7KaZlL1ahny">
+       <listitem open="0" type="816" id="ueaLrohmrzGP"/>
+       <listitem open="0" type="816" id="6UvWFn5sK2l7"/>
+      </listitem>
+      <listitem open="0" type="813" id="1r071TaNsnKd"/>
+     </listitem>
+     <listitem open="1" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B61"/>
+    </listitem>
+    <listitem open="1" type="836" id="Entity Relationship Model"/>
+    <listitem open="1" type="827" id="Deployment View"/>
+    <listitem open="1" type="821" id="Component View"/>
+   </listitem>
+  </listview>
+  <codegeneration>
+   <codegenerator language="C++"/>
+  </codegeneration>
+ </XMI.extensions>
+</XMI>
diff --git a/waf b/waf
index e1e34d4..ef85684 100755
--- a/waf
+++ b/waf
Binary files differ
diff --git a/waf-tools/boost.py b/waf-tools/boost.py
deleted file mode 100644
index 2ca82e2..0000000
--- a/waf-tools/boost.py
+++ /dev/null
@@ -1,278 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-#
-# partially based on boost.py written by Gernot Vormayr
-# written by Ruediger Sonderfeld <ruediger@c-plusplus.de>, 2008
-# modified by Bjoern Michaelsen, 2008
-# modified by Luca Fossati, 2008
-# rewritten for waf 1.5.1, Thomas Nagy, 2008
-# rewritten for waf 1.6.2, Sylvain Rouquette, 2011
-
-'''
-To add the boost tool to the waf file:
-$ ./waf-light --tools=compat15,boost
-	or, if you have waf >= 1.6.2
-$ ./waf update --files=boost
-
-The wscript will look like:
-
-def options(opt):
-	opt.load('compiler_cxx boost')
-
-def configure(conf):
-	conf.load('compiler_cxx boost')
-	conf.check_boost(lib='system filesystem', mt=True, static=True)
-
-def build(bld):
-	bld(source='main.cpp', target='app', use='BOOST')
-'''
-
-import sys
-import re
-from waflib import Utils, Logs
-from waflib.Configure import conf
-from waflib.Errors import WafError
-
-BOOST_LIBS = ('/usr/lib', '/usr/local/lib',
-			  '/opt/local/lib', '/sw/lib', '/lib')
-BOOST_INCLUDES = ('/usr/include', '/usr/local/include',
-				  '/opt/local/include', '/sw/include')
-BOOST_VERSION_FILE = 'boost/version.hpp'
-BOOST_VERSION_CODE = '''
-#include <iostream>
-#include <boost/version.hpp>
-int main() { std::cout << BOOST_LIB_VERSION << std::endl; }
-'''
-
-# toolsets from {boost_dir}/tools/build/v2/tools/common.jam
-PLATFORM = Utils.unversioned_sys_platform()
-detect_intel = lambda env: (PLATFORM == 'win32') and 'iw' or 'il'
-detect_clang = lambda env: (PLATFORM == 'darwin') and 'clang-darwin' or 'clang'
-detect_mingw = lambda env: (re.search('MinGW', env.CXX[0])) and 'mgw' or 'gcc'
-BOOST_TOOLSETS = {
-	'borland':  'bcb',
-	'clang':	detect_clang,
-	'como':	 'como',
-	'cw':	   'cw',
-	'darwin':   'xgcc',
-	'edg':	  'edg',
-	'g++':	  detect_mingw,
-	'gcc':	  detect_mingw,
-	'icpc':	 detect_intel,
-	'intel':	detect_intel,
-	'kcc':	  'kcc',
-	'kylix':	'bck',
-	'mipspro':  'mp',
-	'mingw':	'mgw',
-	'msvc':	 'vc',
-	'qcc':	  'qcc',
-	'sun':	  'sw',
-	'sunc++':   'sw',
-	'tru64cxx': 'tru',
-	'vacpp':	'xlc'
-}
-
-
-def options(opt):
-	opt.add_option('--boost-includes', type='string',
-				   default='', dest='boost_includes',
-				   help='''path to the boost directory where the includes are
-				   e.g. /boost_1_45_0/include''')
-	opt.add_option('--boost-libs', type='string',
-				   default='', dest='boost_libs',
-				   help='''path to the directory where the boost libs are
-				   e.g. /boost_1_45_0/stage/lib''')
-	opt.add_option('--boost-static', action='store_true',
-				   default=False, dest='boost_static',
-				   help='link static libraries')
-	opt.add_option('--boost-mt', action='store_true',
-				   default=False, dest='boost_mt',
-				   help='select multi-threaded libraries')
-	opt.add_option('--boost-abi', type='string', default='', dest='boost_abi',
-				   help='''select libraries with tags (dgsyp, d for debug),
-				   see doc Boost, Getting Started, chapter 6.1''')
-	opt.add_option('--boost-toolset', type='string',
-				   default='', dest='boost_toolset',
-				   help='force a toolset e.g. msvc, vc90, \
-						gcc, mingw, mgw45 (default: auto)')
-	py_version = '%d%d' % (sys.version_info[0], sys.version_info[1])
-	opt.add_option('--boost-python', type='string',
-				   default=py_version, dest='boost_python',
-				   help='select the lib python with this version \
-						(default: %s)' % py_version)
-
-
-@conf
-def __boost_get_version_file(self, dir):
-	try:
-		return self.root.find_dir(dir).find_node(BOOST_VERSION_FILE)
-	except:
-		return None
-
-
-@conf
-def boost_get_version(self, dir):
-	"""silently retrieve the boost version number"""
-	re_but = re.compile('^#define\\s+BOOST_LIB_VERSION\\s+"(.*)"$', re.M)
-	try:
-		val = re_but.search(self.__boost_get_version_file(dir).read()).group(1)
-	except:
-		val = self.check_cxx(fragment=BOOST_VERSION_CODE, includes=[dir],
-							 execute=True, define_ret=True)
-	return val
-
-
-@conf
-def boost_get_includes(self, *k, **kw):
-	includes = k and k[0] or kw.get('includes', None)
-	if includes and self.__boost_get_version_file(includes):
-		return includes
-	for dir in BOOST_INCLUDES:
-		if self.__boost_get_version_file(dir):
-			return dir
-	if includes:
-		self.fatal('headers not found in %s' % includes)
-	else:
-		self.fatal('headers not found, use --boost-includes=/path/to/boost')
-
-
-@conf
-def boost_get_toolset(self, cc):
-	toolset = cc
-	if not cc:
-		build_platform = Utils.unversioned_sys_platform()
-		if build_platform in BOOST_TOOLSETS:
-			cc = build_platform
-		else:
-			cc = self.env.CXX_NAME
-	if cc in BOOST_TOOLSETS:
-		toolset = BOOST_TOOLSETS[cc]
-	return isinstance(toolset, str) and toolset or toolset(self.env)
-
-
-@conf
-def __boost_get_libs_path(self, *k, **kw):
-	''' return the lib path and all the files in it '''
-	if 'files' in kw:
-		return self.root.find_dir('.'), Utils.to_list(kw['files'])
-	libs = k and k[0] or kw.get('libs', None)
-	if libs:
-		path = self.root.find_dir(libs)
-		files = path.ant_glob('*boost_*')
-	if not libs or not files:
-		for dir in BOOST_LIBS:
-			try:
-				path = self.root.find_dir(dir)
-				files = path.ant_glob('*boost_*')
-				if files:
-					break
-				path = self.root.find_dir(dir + '64')
-				files = path.ant_glob('*boost_*')
-				if files:
-					break
-			except:
-				path = None
-	if not path:
-		if libs:
-			self.fatal('libs not found in %s' % libs)
-		else:
-			self.fatal('libs not found, \
-					   use --boost-includes=/path/to/boost/lib')
-	return path, files
-
-
-@conf
-def boost_get_libs(self, *k, **kw):
-	'''
-	return the lib path and the required libs
-	according to the parameters
-	'''
-	path, files = self.__boost_get_libs_path(**kw)
-	t = []
-	if kw.get('mt', False):
-		t.append('mt')
-	if kw.get('abi', None):
-		t.append(kw['abi'])
-	tags = t and '(-%s)+' % '-'.join(t) or ''
-	toolset = '(-%s[0-9]{0,3})+' % self.boost_get_toolset(kw.get('toolset', ''))
-	version = '(-%s)+' % self.env.BOOST_VERSION
-
-	def find_lib(re_lib, files):
-		for file in files:
-			if re_lib.search(file.name):
-				return file
-		return None
-
-	def format_lib_name(name):
-		if name.startswith('lib'):
-			name = name[3:]
-		return name.split('.')[0]
-
-	libs = []
-	for lib in Utils.to_list(k and k[0] or kw.get('lib', None)):
-		py = (lib == 'python') and '(-py%s)+' % kw['python'] or ''
-		# Trying libraries, from most strict match to least one
-		for pattern in ['boost_%s%s%s%s%s' % (lib, toolset, tags, py, version),
-						'boost_%s%s%s%s' % (lib, tags, py, version),
-						'boost_%s%s%s' % (lib, tags, version),
-						# Give up trying to find the right version
-						'boost_%s%s%s%s' % (lib, toolset, tags, py),
-						'boost_%s%s%s' % (lib, tags, py),
-						'boost_%s%s' % (lib, tags)]:
-			file = find_lib(re.compile(pattern), files)
-			if file:
-				libs.append(format_lib_name(file.name))
-				break
-		else:
-			self.fatal('lib %s not found in %s' % (lib, path))
-
-	return path.abspath(), libs
-
-
-@conf
-def check_boost(self, *k, **kw):
-	"""
-	initialize boost
-
-	You can pass the same parameters as the command line (without "--boost-"),
-	but the command line has the priority.
-	"""
-	if not self.env['CXX']:
-		self.fatal('load a c++ compiler first, conf.load("compiler_cxx")')
-
-	params = {'lib': k and k[0] or kw.get('lib', None)}
-	for key, value in self.options.__dict__.items():
-		if not key.startswith('boost_'):
-			continue
-		key = key[len('boost_'):]
-		params[key] = value and value or kw.get(key, '')
-
-	var = kw.get('uselib_store', 'BOOST')
-
-	self.start_msg('Checking boost includes')
-	try:
-		self.env['INCLUDES_%s' % var] = self.boost_get_includes(**params)
-		self.env.BOOST_VERSION = self.boost_get_version(self.env['INCLUDES_%s' % var])
-	except WafError:
-		self.end_msg("not found", 'YELLOW')
-		raise
-	self.end_msg(self.env.BOOST_VERSION)
-	if Logs.verbose:
-		Logs.pprint('CYAN', '	path : %s' % self.env['INCLUDES_%s' % var])
-
-	if not params['lib']:
-		return
-	self.start_msg('Checking boost libs')
-	try:
-		suffix = params.get('static', 'ST') or ''
-		path, libs = self.boost_get_libs(**params)
-	except WafError:
-		self.end_msg("not found", 'YELLOW')
-		raise
-	self.env['%sLIBPATH_%s' % (suffix, var)] = [path]
-	self.env['%sLIB_%s' % (suffix, var)] = libs
-	self.end_msg('ok')
-	if Logs.verbose:
-		Logs.pprint('CYAN', '	path : %s' % path)
-		Logs.pprint('CYAN', '	libs : %s' % libs)
-
diff --git a/wscript b/wscript
index 60c7aa1..1fc4e84 100644
--- a/wscript
+++ b/wscript
@@ -1,9 +1,13 @@
 # -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
 
+VERSION='0.0.1'
+APPNAME='sync'
+
 def options(opt):
     opt.load('compiler_c')
     opt.load('compiler_cxx')
-    opt.tool_options('boost', tooldir=["waf-tools"])
+    opt.load('boost')
+    opt.load('doxygen')
 
 def configure(conf):
     conf.load("compiler_cxx")
@@ -12,50 +16,30 @@
     conf.define ('STANDALONE', 1)
     # conf.define ('DIGEST_BASE64', 1) # base64 is not working and probably will not work at all
 
-    conf.check_tool('boost')
-    conf.check_boost(lib='signals filesystem iostreams regex')
-    if not conf.env.LIB_BOOST:
-        conf.check_boost(lib='signals filesystem iostreams regex', libpath="/usr/lib64")
+    conf.load('boost')
+    conf.check_boost(lib='system iostreams')
+    
+    conf.load('doxygen')
 
 def build (bld):
-    synclib = bld.new_task_gen (target="sync", features=['cxx', 'cxxshlib'])
-    synclib.source = bld.path.ant_glob(['model/sync-*.cc',
-                                        'helper/sync-*.cc'])
-    synclib.uselib = 'BOOST BOOST_IOSTREAMS SSL'
+    bld.shlib (target=APPNAME, 
+               features=['cxx', 'cxxshlib'],
+               source = bld.path.ant_glob(['model/sync-*.cc',
+                                           'helper/sync-*.cc']),
+               uselib = 'BOOST BOOST_IOSTREAMS SSL'
+               )
 
-    testapp = bld.new_task_gen (target="testapp", features=['cxx', 'cxxprogram'])
-    testapp.source = "test/testapp.cc"
-    # testapp.uselib = 'BOOST BOOST_IOSTREAMS SSL'
-    testapp.uselib_local = 'sync'
+    bld.program (target="testapp",
+                 source = "test/testapp.cc",
+                 features=['cxx', 'cxxprogram'],
+                 use = 'sync')
 
-# def build_ns3 (bld):
-#     deps = ['core', 'network', 'NDNabstraction']
-#     if bld.env['ENABLE_PYTHON_BINDINGS']:
-#         deps.append ('visualizer')
+from waflib.Build import BuildContext
+class doxy (BuildContext):
+    cmd = "doxygen"
+    fun = "doxygen"
 
-#     module = bld.create_ns3_module ('sync', deps)
-#     module.uselib = 'BOOST BOOST_IOSTREAMS SSL'
-
-#     # tests = bld.create_ns3_module_test_library('sync')
-#     # tests.source = [
-#     #     'test/sync-test-suite.cc',
-#     #     ]
-
-#     headers = bld.new_task_gen(features=['ns3header'])
-#     headers.module = 'sync'
-#     headers.source = [
-#         'model/sync-app.h',
-#         ]
-
-#     # if not bld.env['ENABLE_NDN_ABSTRACT']:
-#     #     bld.env['MODULES_NOT_BUILT'].append('NDNabstraction')
-#     #     return
-   
-#     module.source = bld.path.ant_glob(['model/*.cc',
-#                                        'helper/*.cc'])
-
-#     # if bld.env.ENABLE_EXAMPLES:
-#     #     bld.add_subdirs('examples')
-
-#     # bld.ns3_python_bindings()
-
+def doxygen (bld):
+    bld (features="doxygen",
+         doxyfile='doc/doxygen.conf',
+         output_dir = 'doc')
