# HG changeset patch # User Alexis # Date 2010-12-08 07:40:40 # Node ID bec709eaf09915cdd68960cb9fc46d082132bf58 # Parent 4389a33bd441321c452a443e49dfa227e4ec8d0b Minors changes on C drivers diff --git a/LPP_drivers/Makefile b/LPP_drivers/Makefile new file mode 100644 --- /dev/null +++ b/LPP_drivers/Makefile @@ -0,0 +1,37 @@ +#------------------------------------------------------------------------------ +#-- This file is a part of the LPP VHDL IP LIBRARY +#-- Copyright (C) 2010, Laboratory of Plasmas Physic - CNRS +#-- +#-- This program is free software; you can redistribute it and/or modify +#-- it under the terms of the GNU General Public License as published by +#-- the Free Software Foundation; either version 3 of the License, or +#-- (at your option) any later version. +#-- +#-- This program is distributed in the hope that it will be useful, +#-- but WITHOUT ANY WARRANTY; without even the implied warranty of +#-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#-- GNU General Public License for more details. +#-- +#-- You should have received a copy of the GNU General Public License +#-- along with this program; if not, write to the Free Software +#-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +#------------------------------------------------------------------------------ + +.PHONY:exemples lib + +all: + make all -C libsrc + make all -C exemples + + +exemples: + make all -C exemples + + +lib: + make all -C libsrc + + +clean: + rm lib/* + rm includes/* diff --git a/LPP_drivers/exemples/APB_lcd_ctrlr/Doxyfile b/LPP_drivers/exemples/APB_lcd_ctrlr/Doxyfile new file mode 100644 --- /dev/null +++ b/LPP_drivers/exemples/APB_lcd_ctrlr/Doxyfile @@ -0,0 +1,1661 @@ +# Doxyfile 1.7.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 = "apb lcd driver" + +# 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 = 0.1 + +# 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 = NO + +# 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 = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# 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 = NO + +# 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 = YES + +# 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 = YES + +# 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 = NO + +# 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 = NO + +# 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 = NO + +# 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 = 8 + +# 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 = YES + +# 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, CSharp, 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 = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# 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 = YES + +# 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 = YES + +# 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 FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# 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 , where is the value of +# the FILE_VERSION_FILTER tag, and 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 = NO + +# 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 = NO + +# 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 = ./ + +# 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 = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.d \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.py \ + *.f90 \ + *.f \ + *.vhd \ + *.vhdl + +# 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 = NO + +# 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 = + +# 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 = + +# 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 , where +# is the value of the INPUT_FILTER tag, and 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 = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = YES + +# 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 = NO + +# 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 = NO + +# 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 = YES + +#--------------------------------------------------------------------------- +# 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 = YES + +# 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 = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the stylesheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = YES + +# 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 = YES + +# 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 + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + +# 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 = org.doxygen.Project + +# 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 +# +# Qt Help Project / Custom Filters. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# +# Qt Help Project / Filter Attributes. + +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 = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# 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 = NO + +# 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 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# 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 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# When the SEARCHENGINE tag is enabled 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), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = YES + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvances is that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = 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 = YES + +# 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. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +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 = + +# 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 = NO + +# 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 = NO + +# 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 = NO + +# 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 = YES + +# 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 = + +# 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 = NO + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# 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.ttf + +# 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/LPP_drivers/exemples/APB_lcd_ctrlr/Makefile b/LPP_drivers/exemples/APB_lcd_ctrlr/Makefile new file mode 100644 --- /dev/null +++ b/LPP_drivers/exemples/APB_lcd_ctrlr/Makefile @@ -0,0 +1,44 @@ +#------------------------------------------------------------------------------ +#-- This file is a part of the LPP VHDL IP LIBRARY +#-- Copyright (C) 2010, Laboratory of Plasmas Physic - CNRS +#-- +#-- This program is free software; you can redistribute it and/or modify +#-- it under the terms of the GNU General Public License as published by +#-- the Free Software Foundation; either version 3 of the License, or +#-- (at your option) any later version. +#-- +#-- This program is distributed in the hope that it will be useful, +#-- but WITHOUT ANY WARRANTY; without even the implied warranty of +#-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#-- GNU General Public License for more details. +#-- +#-- You should have received a copy of the GNU General Public License +#-- along with this program; if not, write to the Free Software +#-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +#------------------------------------------------------------------------------ + +include ../../rules.mk +LIBDIR = ../../lib +INCPATH = ../../includes +SCRIPTDIR=../../scripts/ +LIBS=-lapb_lcd_driver -llpp_apb_functions +INPUTFILE=main.c +EXEC=APB_lcd_ctrlr.bin +OUTBINDIR=bin/ + + +.PHONY:bin + +all:bin + @echo $(EXEC)" file created" + +clean: + rm -f *.{o,a} + + + +help:ruleshelp + @echo " all : makes an executable file called "$(EXEC) + @echo " in "$(OUTBINDIR) + @echo " clean : removes temporary files" + diff --git a/LPP_drivers/exemples/APB_lcd_ctrlr/bin/APB_lcd_ctrlr.bin b/LPP_drivers/exemples/APB_lcd_ctrlr/bin/APB_lcd_ctrlr.bin new file mode 100755 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..26cd6da0aca48be5e0600e12e950639dfabf9e47 GIT binary patch literal 154856 zc%1CL4R~BfbvHiyq18%SSy$59)`uNmOR{AA6~{Kl`5?N00TWC}TM9|}=*9^Ucqs`j zl+XgYUZvn9ZXzp+qR5ck$g*OLld8s~ifOW&C4iv;WYspx5@0bVh|~n(m{^G=?f>_i znJZl@HZlC$_j%vTQh(E`3rz znIa$-ixLrKI{pOnsC>^Z6XLmzcqkMeP=4@(AN=44Kls59e(-}I{NM*a_`wf;@Pi-x z;0HhW!4H1$gCG3h2S5114}S22AN=44Kls59e(-}I{NM*a_`wf;@Pi-x;0HhW!4H1$ zgCG3h2S5114}S22AN=44Kls59e(-}I{NM*a_`wf;@Pi-x;0HhW!4H1$gCG3h2S511 z4}S22AN=44Kls59e(-}I{NM*a_`wf;@Pi-x;0HhW!4H1$gCG3h2S5114}S22AN=44 zKls59e(-}I{NM*a_`wf;@Pi-x;0HhW!4H1$gCG3h2S5114}S22AN=44Kls59e(-}I z{NM*a_`wf;@Pi-x;0HhW!4H1$gCG3h2S5114}S22AN=44Kls59e(-}I{NM*a_`wf; z@Pi-x;0HhW!4H1$gCG3h2S5114}S22AN=44Kls59e(-}I{NM*a_`wf;@Pi-x;0HhW z!4H1$gCG3hhyQ!R7DI?4L#*EXME%tPyg#r(hzG9{!mw9=Z;xRHwhfws@$PTtJM+KB z5EpI!R{bq!zMETSyq`Q<`Ln^(_3uXgMX#3szx(}Rw3#><_C?PT54;EU`?LBzq~DL~ z_ppBdseUie?^*pG(eFp}d!c?G((h6I{saA9q~E`%-;4G8xAl98e$VLln0|j;znALw z{rY{Det$&2m+AMteE;7~U;o{I_uu_@|NZ}t_i6oIcffr&>P&=8k=!8p1hX$bKJGadYblZ&oR<@4!vcBmX_ zZ54GJ(se>uV#R!xo&JB}fAT-_tVNy*dk6BQ@~4v`5e@-P(ntuF3)&)* z#JnB#zxKxb>8IK%%rxIK%Qmg_*5!S6%d<=+a3CC(1FUd+#iliYv!A%uqTQL$rVYBD zqW;QF8)noUWW(rd$b=_4mzA!b6dS>1vBorVZlB5)7WLTF!`kr*998T8A088^HjH9Xv$ zx&i-l_u5I?#!$~EJvdYW)-qj(O&l5D zZd|+a5MUwgdN)m#H${i6Uusz-*FDupVF{XXDNG= zE_?Yo%6>?f?N>Yz*skCAoCVev4QuH+VEu*ej|9d|#aYUC>GHMbDE}s1_dmOEMhjC3 zFAtA4IqNZ=L_hL-;@cSS^4+0AXFXtbOFC;FJzM@0P0oh2On2669IUqZ%!SUz^x1LT;^sTq ze^J0y|2Es?$@s|sojev1HS!e|^7$vQX6IHG25>-0?Yc#Kq;{Ba*TP))HA1G4{ z`B$jhvY2(qd?FFZsJhno1J;WXNuOGj3+@xv{JqHYa>Nn?hL{iBHYN+j8E`X=PI!M| zBJgsfB_4_70xvd7dJbvaNUM=^&~OAa9GOX*88n%zd4}{D^|ZBAw{<<^i0gjf3ixKG zDG_FzZr3PqdBKCr@pIsE9Jm}mS3iZ!&^Y9=mW|H(Z!Av4*iWQEa;_E7v^;sK8OraU zdtKgktoguw!Bo8%f%~I3slIy93ZNe%yq-e=!nq*&}L|Y|pXzR~3y=Jzj%Wcog@!F(riY2RWh1Dyd}n_ z;uGO-Ab&`N@=4=5u^;$_h?{J`X?V+{>;k}yz3eFqm|-kL^peM(1D?_8AjaSdE#=2GZ6Q2Puv*ds2e{r9kn@-vx z?vSVKlIb+dwUt~wn}ZH|hBg9Z{u?}aLl=ux+D4&mGN5gfH2#m`{{fU8XjA3BdKTQC z$qFf74%s^-4=Mejr!iK7v%HZmDgdsH0SZYmgT%~PBf*~ zWt&o$;s0X%UkP|M?S-kuX!Dj%HAWVv@pd-YE=;!$wrwV!qkxa!Vz!y}=sK!(9XEC= zoq0wbmT26A-)Hr&*YiB{w-LWC{d|KZny%N+nf0wG){WYak+*BPK)&Ip$BL0*3e+=)RoKe5!$sZ<9 zWg>|v`2qY|tz|^GALD~#D&3d>AI`p2>NGs#7ll3L(Gvp+OUzv@$KISoY%nNlDs<9ED| zV@v0I2sQ!pBnwhGl)1Xf4txc3u|nEj-Ia-fVa~C>sdRxQN|(2>KSAGBcEJQ`IgH;- zx}iN^C(TGZ;t|1oWoQnbZ#&9<_=1wEQ}=7}Sb#Joe1M1xcK=+(ood+d`( znjX95P}5^uGfj`(oNapSv-p1l{@*n8y2t(=^WB8Sg>R?xkeRETfLzWo+7Fi3Kg7ReU$b`Ve95w2J1So`(%F8^5B= zI|okbu^P;j4V-$oAQ#wwr+EwdWHov9Na4V7r!GC0_=at<9RCgcpI;65eU)`La1PL8 zn1&N>9@S}cxvnsCEIlj7Qo`_#r7-3b980P%CkLndGT86Ji>LC>vtJ1_S-I(k9N=aE z3$RB3`xtG6?vQ0<3Dm5OPY9K zuJXXF%oYv|vOV_Bv>YcGvvct)!Z;Z145kCbRq57X;0R>@F!EDBfoDW8HF-_1(!Y>b zm8Fz{Mr!h1)RWND9gvyDZ9#M8u7c+L;Bq09EM0Vz@ebEfFpjHI`4<__Jjt-RGJ|}{ zCOZx}R=!)be2HTlJa~xd*{BtLV2v3j-Giz8sVwuJBOUtT1k(ZMdBV#?(gM2cINLHO zHThRkKAF(Xhy%{=h8zo1N8$M|q)glCU<`%t+g13ub^OA|Ey_Bi9p8=dgfX=g&u`19 zxVIvIz?CbjQj_bc_qd*bG>ds0$jjDc7>mL(@C)EK=QwnAcR^|p{Zr(Kmcc0Wv#$Sj zIfc_jfNN8(C5=tHl#CT$2EK6*4x6@b~GM*Gm0fE}U!$A5u3tP#+jIM_SU zZ+7Sr;*2`~f@^4O7vkPbeeiJMqsB;pZo6Dto_iE?o+#5Wo}e$nkn5({zAO=h zY#KWxtWvv&{Ul~d{foY`MA4nly>soJ<~-nzCxeh(j#aq^W76K45YP(&@WyCQI1%7G zXmvC7#GqUwoL$>qfcPHb8GZ}wz(KVZ$@%Ks6!Bs{gpuTq0H{0$Jv!MfX za(pZmv(ffzNARrL7krw1mIWQatD}SU7U(~58|l!EK4c%~LYVWTpBcwKX5X<7_Za5Q zfc09%e-nEU9|i5+M4N%UN%(bk@P~vA+vX|{zISn49YQ?tGgSMEHneNqsOhth^#T4` z!q>c(mN=*KA0{3yk6|3$kmFprH_vj-$@$KQrLCF3xSj93Roa?(w(pWQX#_B2zd>II z`>5~n4xMsp7_f+Iw&~Fg!%dHFJh~ zp(8P71?&Kfm5DrU0r12dr~^^Q%FKn2ufzDiSg!eQ!`*+fZcR;0OzYNh#{<(=w&=u*v=@Nq z?U}+y!q(!Z(?3mH(Z1cxgBKgAA4$Wy)WjO8b0y!Ww!`k;u5|Il3dU=AbuPSMYGRV| zjy44MKPk_ZoGCAcoGDfF;7yGG7U#jJ4|*&3GG(A)2O;O1rA-f-KEe7krI-U@ymcGq zitHaT=5`gB0XQxJUDG-x+)y*g&3pb_O3G zeN{d_-802cseDq;L5~ye^f<~tqU(6;fB!f-o%Gbd>3qf!#}IJ5o&Bp}e8L0c&vY9; zNxnhaM?Gm*=(JY$y|jZ<;~$o?D@MM9?h}cXusK88<~&XNRga~sn^J70U{y3CpK3+3Lc`d;#Iz?B!wd*<9Q@FDUraqgD3 z>!y*crjI+WIHp*Ze6*_o*fVbeAAb!z8q+%6f=*w5c)_FA zVX4z=Qm#&ioGGPFN8AC%5g*1wcaMUmbEvxq<}Rcy`XP>6%nvF%3Lh=&LA_k#>O?y1 zj1PKjjyHR44z8&<;amXuf`^+^V}lD)V_md!cF=ANbkSZ&FM;h^I55uiY`v2hMxJEh zqugsQ;87Lk^6y z4X|N8-xU;wYr}Z-UzmANPi(jed3RW`8e0@fnY+{y>~F>ur}7h7rlZ~@+lV^5>#Zo; z4myYJHY|4JtFZz&VA9Z zv?D*%7R21F>Cx!%3sa-)576p!oSSiu10C?Y-Gz@@eTAtLYRx6k+yh%z&Ex7XaOZbD z;gORJJz$(I+e37u2o0eGO^y zVffi5jJF+9H~eyUI9<9Mc6sKVkCw@`jnwJeX|uCWjnwHc(&hv0zeFBH{OHhX%Ga0o zQr4>R{_>}$$Moc1Y907n@;mg5#eAIC0oEsJ2cNGlhF7L(<7qH#1t6Y;h{Z_sM?psI`-QJ5m z?XA}B{SI}+`L+%Df91-JKh91QU(j}y^pn82ER^M>ev^IIPdep1G7kDv!Wuk_oCCa8 z7anYSt>46z5}wi{m!Dh5iFJRPj(h3X)AXD8u2;uF-u(b|M7Tb3M9$-0t|I^FdB_;v ze*s>KXgELe!1*@?XYyaz7M=b>Px`;;^n28PqfGyfC;dU49wFcU5j@(Q(RQwD^HAC9(?p>%6p8bPq1ETm-L8I*xENFA%EoDQSy8K0**(}Wgf?-#&^31-+$C} zyM+05`dyy%zticTCOy!uA4@p~dl5YI3EGC1ShPXvNL&03-!%-6{-4;SVf+JOxa;TO z-S=?~UFZLMPyTo7{Ew3!YRw+=Wz6F{sSZTOn*oeV;TfBhw)B zeTw;}*W84ZUue%_uDPKtQ|te*FX|bGv^r^j_sIFnz;4*Zfb+=ikd&RXI0vVWn(nvB ze)d~3oaP$Ep52s1axR_v9p3*5V=M}p(YHIC3+ntklx&=QfN>rg7m>!#LguoLIjNWa zN!h(GwQ}vp-3x`Di-M*_orWlO_s%#sfIN$F9~*7Dz}?5T#Kx;F@#Y(*|H~h2hK(Ql z1HZKTP31q!Z{wb`|Nc;!^ZjkS8?@69Lw zxcvX!Ki2=I%Pg@T?R?`F{8n1x4NqCZ8n#694gY8TE?yxe z{~z<#|K(piR^_fIJZx}{Q2cy9{=>!OStwR z_v7n!slCh6Ly<%{Q=AsvNFR<`rS|P+6f*y}oxvRU>%$$8Oh+0m;e^e=p~gg*>&$CX z`IAQ?7T2Zg+&$_#lwq8=e#`@p%KiAM^^ZVW`TB&O=r_b1|%#&(TkJ>3-un2Xprj&wG3Dl|H2Q)|>_X zQjL1T#GN$n1Whw&LpExaXu6j(9lE!~Z3kfxf6OU9$2PHzY!~|k}f;X+Xmw5;)Z$0kAZK{5_1OJenQ{=h`73aLY>$Tg^hX4g|spFTw#Z<(f#xu z?$7J?FWYZiJI3~d=1=fUJmc|$4$MEseF?R1liz{3Aaq*|_+xQf;p3zGp!;;buk}bB zn(xND;o`8$4!yo#+Bx;Jl${g0nD49;d3#xJU;L;!0|y5<7-);JDwSVPn&3HFVFwzx z$A#x`&<^&p9l4c~PcD&r3Rh0;{~T8PKlz*44*dT$>frlrfFJhuH{$+@V@;R60dQM& z*^i(s#%$dIy@p}#k@nM^_j$&}JIN17+bL~^0?uKteV_6XdF+-bc#JkzXTjw=b{Pxb z-xvRt&HbU>Dt!ya%);Kn$J#Q0aWo1$Dco`xI9yU?2e>yrOZkpmcLpE3br1&Ov##A! z@PA{g{U`CQv%q}^#z<-!?zN*{xGcwgj9px>+?vCjKkymSA2=Q+zq6e)d7f*rJxbO@ z$oEq`ZHuZd&p068b1uv=u zJMD3%PvdL`h%<1#m^kmokGxOWP|%Y7Y1o0Y_QpfEMoi@7-Hu`Uxze97*$Xz#D0 ztxUYxUgAzUl?+?+vWq|0#df%|N$o!wF97EXwoUtJRd#^xozicnY!bLuXghnJUYmXf z?~~kGxDs#3i60SHSvEEK`8@@4AN6x`Y@FG52A+q8 zD6dIB;NOR~!WIr>H++6fp5d`Yk?gnBWV_^BPa5b`{VIJ|?&-S|s_$ms)GBy)H|DNZmnx_#r779`-(Mer@i&4q(d_HQhxU$Yu%e#P%QE zXbaHhgH!%?^Ad0N`rDyg)CtQuEBJk0ls<|q$2gYN@j>akC}sJ?LGo)d_N;DyAWqt5 z3Lo2|=7NEyY~f?Kw4;8GC&+}Y^aob*NEBq1?597JJfrZ$rE2d1^R)dO58Iro^g+2^ zksoI~`hE#{%cCq z$)iIUyRL27Rh-C6`w}GFzB&<->%zMvuddUwbcP(A$aRBmE^Qz`ONS^wVRyRnb9xWI ztOxkcJG%^>^$_I6JS9UX{zJ>qg_NO`otB8bbubK`Q1QpvccjrdWN9^Vb=&rb+66iF z16S69XB)_~tPgZE*%!2Z*@rG{$id^vW{&@*$2RyC<1}CWR`J!ucG7=H>(XKLKlutc zNPSBB1NV94EBg2LQ4S*y^k1dct8*ZO%Fl!6O1wM={C+#6@LTS|?>WX19%UK%%t(!o zuzj*0&<7lQ_kYI{(${2b&J2?Fu*0N}N4-1tCim+y=&#zscDa@_`8AGr)K~7Q@6AJ! z9(FnS{B7iM(BnPQFB$MU)H-m$649S^PL0ipD_IBdivqVNSP##2(f*?yIJkHUhkKdk zm6IJN_bDJ(c1Zu1->^N&!pDC>`NBO&*g|se9&txA$Ulhqmi)<8?G@Lp1iYU!zp{D9 zpM@P5B`qXfLJ8nlbsBbEG36Fy&96G@pbJd7-`S;QLqy`Yatgms5Whil>iuuD{=O43 zxP>wp`fw|s`(pVPyC+ASZ{wO{XE0A6qc3v*mpTFQ?Me?$v~bOBfPOh!b2j~VsY>?_TD<324|v z+$~Z0Pt*J|SwUU~j7q{d()8G8k^Z@9xjnh@Na16jMf#P}#|iz}7aMQcUC@#zt-xC^ z4HTLI$i;X^gB5q>4rF2+{j`Gek8QmqHU4MhLF%nR=q%v(ZsJFM&vTEMpH|eR#vf90 zbKI1+iYoUe$-A&6Q08rl@5e7^oa=wD*8avz+_k?~Und+F-t#UCkq2_QdN6Emd4#_3 zX!l<5Ao*(_eeS1x@|AD(DDt)BPyd#6TcYr9J#o*uXQO#`ue~re;_|cIr_OKFmz!;% zZ#U!lZV7RnoEt#?a-BA5n75@H(<0L-#QCp%=8t*Ww8dfnsX8y*gL-(D!R`~aHMY3q zXv7w~fg5%1NTCqN3Z;L?9Kf4>2o@G#9qe@V0c26KF&#x;R7tz7N7TCel{{Oh>zLIa z5j-yzp&vpv+A^A5CIt5dXeZe_L^Q(l?BR4Q6OsER;Y=g!k?_=cDFb>bO#GIl@;@O? zD{cDz<^S^$*xIB=W)XBllRV>8%z5pxCNoUgJ%TvmKszhlsPgnj)S9t-CT&03e;;`b zG#^kta_dGxKlJf@^lus3yYHS6b(WL)FG4zGs%V>Iwt*J{T=Sp|Q*8~*AuUg?fE=;| zm3R(7mLY%Tw{(8$$jf!!5=D2Xr6HC7Jr!was~?6{fl)u!E=59;r`b>cXvsmd2b{U=&o$BkzSEqAyXlH~p0xc}iBI%*U+Iuc{qMA>>Bk6Hlj&rq#8J7&^T6o42e6XN9m@~T) zChJGr5{BGoHY}chA+ME!c4?irxf^u!I#0jb;;-cS z63z+K9&8!wlD;L7QGi)X8Yvz!8#2?+Z*-rLCvk&^tYY-mfQ( z$)mud5NV_TKX`KqV1)sTXNf~d8w0G0vy6w>%<*uZyio!81*8q=Ig4YQvK#HM_0VGR zx#?mF(8GH+U+N?3qUm#CrsrIku+;e;Q=SXs`C;h~wj1guwVj6^j_;41wi1Bj% zWQ#cKw?xrrslzlb9Cw(fnQ=S^E2RHF*Lci$rqQHsm_z;}Ol2$TGqt)b-cPa|^Gjd) zMw5H1FQD!y%i#Ga>$gNfr@kxU36|CRvDCd|#S-%$X^U^#2pPXNClcww@WKt6j?3G^ z3pXAKnwU%E7Q}5K?{u;I%mBYkoe+Z!3pb=uXS!}7ZQUQ^|5p4z%y{5%FLCHMruCX7uG7CwIZM3n zYWzQj|L-Fmo{uC9(9w8=c86olh06Uj&-^}Ikk7X+&jtG;iTHldc}Q55gTk8Mj(N=h zo-I**$8NmytQquTCFpW-FLY$PJXbsGuiAJfOZxSQi=exj`y*zck7s0|d$iTM@g-|2ZfR+&Z=bo|Ptrm-Du$b_uDN`2MSD79 z)*Q5N&b??C+ELOL6fw4iZ9`k;ur1y77TRL{p|(8Bwzzo0M&Cs`PqibJ-{EZs((mWH zr!8Y_i|1T);zUzw>||4F{NRGr7{WZqzuRvI`5;;cDgBbAX6yMX0R{s zt2KqFT`(?&5SJ{*+`^G-4m;8fLQMO=rUpHJXQdnmgN4r3^h+2jbQ0uYEoZ|0m78*q zGl5JUJajvJ!{d{v4gdVo456BIY2pbxGG_9 z>nXYdv>iJPxL)LnUP;$W>6Q1n-Dmg_R; z$6T^r)HrraewiJ7JOg15UGBS3pKqZW{FNX+YMj&(tNtkkhvz5)5z4N<$hzov1v2|9#lFw^!Mbq%#~(HkN*&OF^XRZ{F=bHc^`R|cbkyL z_HMZ!@w@)Y1k;`;Jn+e&;*oLDvBVD4mW>O^HY<9+HLERLy4&fmgz@DZN%>5k=ij&<$! zrHRl3m+}1UwF!GG&wT~n^>h{J+bd~U$~@i1wd;^Z8$0sAW$3>ZPKZ2r?~bAkoWp5< zWO+90C#V~I{?tz(Q!<6}3^sM^yx}G_b}(+bw5*V4Y>Ge&`Y^KHt*=ikfV`aDx-zkV z^GDiCEJuGcy=J>YkH0~{aqh;LBcEgJ4iXQZw_^SusWDVS+=&my;4X~MD>3%2cpB;G zm$6XuN}j{ySQ=CNK7ltqU8r!p+Yu}7am0nFqyKJ<@h>}K$^DL4%6ibBPj3F|ZBG&R zQd{hyU%)m;?77Pk%O60w9mt1qIH=Qi^{o^0AU6h~2kFmN)GyCf{{}6ZL1UX$yT-fG=Rf+y>=o_z0 zD73|9eFsP@aUwmBW9*+Oly?9ez&Q9R;cS1sv!L}d%(d#F!%VB3dm*SRHbg(MUTY3< zh3+rMZw}gVysb{u^fXvC7^BDcEV654z8=|ERgk;S$Tc)Ocp2vyh$}<-ljckts%%uJ z_felP4)O|f-=InVjbs?Mzbr%BE^u&P6#dXA&-NAIKi5~xeWq2z=dc~vg8!j?k<>Wq zIo=(zY9KFbvTSdGT|*j3e>jYdjw!rLhBV$$uCFl-@$)<6+HA>xFm1m)Gfw|H$$Ru2 zh_k=h*OD*#a>2M~Z0J3y!^5QMPI(8x9SWvdp!^AoFL2?uDI8v8I&o{DuPXW+?Ybzl zT=^CD7vus=N4Wx)L))Iz`;N1~dj~j=MB5Hf#&p+!l^s#ay(jV~@O^u`!XJHB^m~?9 z?JhdO=kyBh)#d`w`&S>K+?6~aLe%%8kjaJ}oXxYpnpYk2DaSI$7v<~WD(FSUyI08b zG^zZrUD>h?vIV+x1NA2LHgFufyXV%8ckkHpJ^FoTP&dZm5{^UKpLU-;8?x!ypEt9P zEmyd@7ILSA^|@mk@$zoQP%8gJw#B|p`kl&g&h?_qmD1PpV%|+=_lddCJ>!g*zM7h* znOQ>Z^R1BckAG+VAy-~iU3)d~JmAF4GS+LPCU;@HhZJ81?sU-iN95Q^8yIgzd+XAM z(;!O7r=7vH!L!!TwIh&k!+YrmayM<4fJ2_tdf~ks3+k>kIUb)Rp8^lcxZ~7A_Jfia zf&<8h@jGu!`gBevAeZJrmQ>*R{q$p??9p?{!<0X41NFo9<%tk|c&pi_+7{SA<^bgC z_uM>?uTN3m`~)%{a;6M&*V(pX3;R*h@inRZzmR6~3@`d+PHJ*LWamoA&WpD7+`8dj z^doK2pR=ExnyU_KS)B~2ex+T+vEu-dura4ze$??%E=Yk)^*gwGh96v2Ei#XnT zzz@r^V*$OZ3WM>qMkw8G2}rz zaH+b_A~4JD5GozARNA_?aosB**OTIQU@2*O6m;U=4Cz1`bgK1b@JG=c$ckd{*nwfT zr6)~2vtgGS#|N0EtLxv;ciG>_b-$tMuq3(+Q7hqycF2LAIZ? zAzs7}a_a>bw+^|_RQyF(R^s`)%6>51O44Lp{|c~C_kw?m{-Zn;;*njc+bgRCCg);_I=xJ zKWT$Jo7v8IYH~Am0G{W$V^58{$Z+>=bPz zPyM7SF~D{5!?mU(dA;Y>t60y^|G>CV@zqg|3+B@@?{}m##@|NRGb>@wT;$pUuL0di zKcqdSi>^$A+`ftDu^>}7WC{}oeVNcE@Ot!@gP?y~ zgGE34rTdD_1)%F+xVi{qegpN~nY(h{|AU;)Ap~ld}?Ka(=W}(fa4oUbF%aT%HI&&{K4ky3=9enx89u!73f_ScY62I%sXv>{THE&GBEt6?jw z<=uh6Q1dywrJ$K zX%=}}mnMvD>kQ2?E%t> zXDu|X!dy$`89L=NTD6%lyz7hHLj=4gjI*YsvB|=me=BHUW*f~0H{RiyV&l4Scja|g zBW*F#mYo3HlWWac=|JvQQr~DAAIEDv)$&oT}24!80%?#ebqEoj7cUe*<&nIW`mU8b?_*l=Ur2>LwS$@|nA>vDh} zY02jw;T{g+qn*;P#wc{dF{A#`dbXJ$H|oL22(AVnut!wNI+M7efJe-_$tG@|BLc3^r*Wy4qsaB*+;fSuP5O3M-pn=Mo^~mN?&KPMW=_tPXE!R}r=0YCYP7}Q zrW^6RMcz~P2FUkvyT>lCvc<>I7sYMz4ovbv!EUKHBDs~A(-m>wj`KRq;SIc(X92HM zSX`f0cl_Kg0!JFtBHJkaX^Q$I!bnDPa*s&+?yrN4`U=~C`d3PyQq)g8j{tTik~07^ z-iI*%L-!G6a-HhOxfiuXa+Jvz==a%t zcl&NmDt{Ntu+11N(%%dJI~>+A-QV&~<+ep!L#SLvzF29CVy3g*qyx&lNSe6t`Of^_ zyHSDrp*A({*Yy~Q{%klA&A@(kqAlZl8$|Wq$c?|mFc1#qqGD?37Xj2&q(qq(|VEL(4ebEu2wj0soL4>+KY z2G|DLS;Qv?T=0u#Q4YTt{RpIQz-`hGxQMvBG+=u{$LJBjmF-78x?lEmRq#AFXxSr5 zF_wNf+#t_>Ts$N;jYICeSIq$m)~L40wW2v}SL-S>g7+l@Mb6IyV_gvVw(_-6Z3E5>~$#Q#16e(~~PE|TEA zKcY|iS_GnU4_xon)8_7$cet8{-kT_*&DWA23rU_=vgtJSqiYW;`!5kZ7O_aT`HngV zQouT%4NKp2Ss!fhiJaVDY>;+oRQi|DUTqMry-J^7>Y4@=lRgE&RjvU8m%ebi9Q|Al zz5Sa^qrCh3X=(p%Nd$H)zmd1^lJ=Cu@e;04vOeOV@6ekdE@~fwbGXnD>rd9{y9R7= z(=H)l1?-)|h{`o_5$By4q{m={a|w%k{m~<^UwgPmO#QS&l+RozMg0!fHxR$IN9`$= zu#If@jCOvM?cB9f`g3npdsVM&GjRVF+pOvMl%(TMd5+>o#MRTLFMHdB^zXAx;Di6z z6*dEB>yPO^lrsLJqY>U^W*N|1g|f|C680+Y2jE%0BW;~6f<0=k0bLOKHQR&sfi}<& zQ@Y5E4#EcNk@P!jo7!YQLQayGhCt(8rd70*dZ9oVg9Wr(3Lj$~No9Xr-6pK~(MIX7 zVGwqXejAvl^e7vzoo)2?mGndEb?pdwf5|-JdXzpOh=&ZDrS#}4`(}-tr$9gGd5NBn zT$Ysckp=by*2B6{ z=5Fqtd0>}QzY{L`1bupQR>Aqu)R+Vx>{dGaZwXJsX+2Bb*Ldo_p72oSyR4h^Zplx+ zXGr<7Jn8XW2`HO#qLAke`oB<@x-xVQ2Tzxv}00kIc(q0h>LDtYDW8Z==S|wx33rNtMs<7 zTdrrB{0=~*P3_OA^RFdVpsgekb-#zC{kqn+$4#!g*697Hk{)TR6s^_sLV1r7<_&`t zs!cT~8xm_UZ(S+&sGC_g>~@FqL_W7wn9uN=GvM1I zp1a_82?j%nEqcB=?3stkH548HJI}oGYOTwHoC^-U+nm)MG2f(o0nIq($@Hsv2geWB ztRm3!t}mM<%DOrVQv=$6=#9g3Q|VeEF6%0RO(!sKua)OR0=1tx@7YIL&g;7?c?Tor_VwmvoNo>SSIRo_ z0P>qko|Hc{h&E{$wXS~}ZClhmmvwUO13GFk*FE%^>a5Chy~K&~7H~H*u1nG;5v1SkWjv+$j0#2d*4&zs=yKJ=#?4(tc(doj+K|dohFi3D>X#o&D5xat~H4CJe&gzBCtN z9o%OkPmhKYF~aSvvoSZzmBsBq5pBe^7^kd@>nFg2z96TF!+oI~&*HD^iaP_qF{*KV zf9s{W1ul-$u*Cg@HC%7Tz;pHZANAr-|2pCg+C+e7IGVy3pdGryjN|$6eIfI`NQ>e9 zU3fouAMMaJutRq&ni6D*u>5Zo7kCQ6FaZ4i6u{I$iF0}%~A+7;gG4R#fA4a@=yC|wqz9#FECHe98pjD*f3PCg8?H-eHTdX43Et8;8 z*qy&}oud^z(*+$1zAEEgXJ_Xd@j1yiwz&OVd}H693vu71JA^jghIv(}c?`UBi1(Id z$V-kDL;a_jMtm{_vK{pQuVOpZUOvPZ@B|KVwvD**oonDM!|$yS-z4U(9T91-gb#uL z@QWrZa)BdtcFAy^6Xm=Cd0&g?7~zZ-W zw^|OIy2GM0Q{e2{#q&wfg*_qZ2ORE=h}p^TjrpGFP27Wly;4ZKrCgusi0+koOH|a@ z;w_i*yMTRSE_iT#rf}0!9G{S#YHrDS@ea%28d7Jy!Y8bJdjoQQaF?Ln*CprhYzOGb zwzJ*cTuVZmImV3CN3tdvh{Uij7Qu_8JEg` z4sra}(`S=oE#@;_l4+R+a!`P2U_bx11zbhY&94lLq3^_JJJoDF-aqoPONtKDhH zd%>!-T~)~QtnN80p0Q$Dm)wh2-)1`FtW}dZU22+Ux3MXI-`s?qDa72U%BtND{!U(K1t8%Bxyivvx7vT9@ zrtwS}-a|Tl+%3bnb);!fo_l|qxVW}GeM6};*%rvtO7K~6GH4ZZj*K=Mgx`hy-9b@o z?~wBM^|Za)gDrX95!}T)gp2vz*Jjx+wiWGKBk{rb`|Egq-X1rM3m*BN1~W z_rW@7f2;M*3b|Ge8TG(otNPv*iQwJK%wRT{j>)}?pcB`7b8`PH69PT!(y?@X!oZLA z4t?lLEld|RzeS-VH|n*C|4OPgdCXr+nKV={0^WHm&q(YxuFH=^5=L(%5$9a~D2xDgKT+&EZ82-M6BM=E)+9iM z*f$x!eT`|f1x0D=64P*Eutfy#CA6gbS>qSYL>#mzA8AY&iGBn5 zZD=}Fvu&U^=oTAli*PO2lzSLq{hejrg9RHY5SO-{tnXIB8LKnna?V>v+?^uiFCPG$ zy^%!Gkt^jISF|&jA7oyX>8DQ%&q&)3iW;`Mi>ME8?AgxOgufXiU#L z3!M8ToG;38{u0Z%`U=AJjKZ35T+UexA@@CU7csc_bS|`t8#GDUtUit9_8=)N^>|eq~eZ>ICdS zsgIfvA0SW3Gpp(x@w}wUo0mA;o+#tD4q+b>R+)|q@!T-txX%*OalA7&NIR0xtN3ji z)PZ+-m#iLBCB!$Y>gM`%fai3;3%^92Ml0t*_57ZU8T9hJrg>?*vU39`(C6%LkBzY9 zXoNl_j={A~^j#s#oM=j&+{<;F!qiEwS2F#Puw`hzW*>*h*NUGef6w}oK{LL6MK0Kn zIkEhva8qi8{>MCXU8C-&2=HDEo*}}xsagVlioGVP_Br;zB%jV~#@KuIEFW*5#&gdAKbm=C-~zVYql4MLow*pE{dW z(#L$P^Eu*MYR%Pn1&EiX+Y~NGfeY)F-(c;t1Bf4>jY3~rd0#5z5yo`MUi8P_NXxjq z%SWAkEkvG^k3{l3A45N%mzmDE7a^;?XA!vv*?osYK3xvGr~2!cJ3(!mzCo{lZqU9d zuamx^cR2J}DQ{QbXRAQD3Y4L*Svli%*;Ud9GCXx|ej#D?@cieD@=#|dSROq5Zt3r# z{2js5lbe~|uly^fU{jAUekE-|=?}bV@%E(&@)mKZJ``#hXFAG%wo|QzKh>{%K&0Q* zp!Dky(R7_$*ZN71`gZAxcBAeSgALAx9(n(5{yR+f+VBrt?iBEwhSU!|^s~b_k>A$p zwE~pGL-O7wev82J$l=K*-G->X!@00CNSQ2*bX{5`?H0<&$<83}FHydWT^Jwx?r;`x z-Mm9^?qZtlrd30EnSn6E9JEHB9YcBOLEc>uW_f#uCFlV$4Nly))tg<3+|N!!3F4uV`9cK-zlOlPNz3gQk%Ug4cTl_qyWjhh#7jZwsM~ zA)b4Kt%?3fik9&suoZ@R=UPuXCf6o*SW(zQFEibc`}U?xi{5{y?7xD%%RR@I{KWUz7o<7m9>1H^2AXCd-!M+1?T|&Ja}INN${R;mMf)Ic zIwEHLKHdie9WhKBvqaP+i_%0ps_CLAx*$ zwB2#deXld(xSuKSOu<}>X=wj#?fU#LX+T}T`BxfxVXr*vCGCrUqwl8Mmz)>U-?Ob) z1ZtaC3feLd=cB{-WlJPZ2mp>>_cVag7|M=W<^_9fe$OKKsDkzDyJ%-6cc3T$6uv5nQ8$jf>Oi}#T7+t7s95tr-0<(xwS51tE_<#^_1 zhEX2lRerkwI&*gGGQeLgN(uW=b87V9g4F0#`#s2|HK0$*Qa#-&VAvNpUIG9@I!qN|d3#mlije;E4pD0DR7e6tO5U+=>#rY@1+&~7y2 z!}9y^f-)wUv|94RT$^c>wxaxQ4#rx5-$LsSUit&tw)80iygLUmo*!6d7B~%(FXrW% zWFLK{O~D@R_UyBOr%j0`eeY8Ja6tPN_+OQ z)`HG+g+QJ#)l0UB*#oY<7w^c;z1SOEt%=-uv0T zTef%n3({XGoZ`2~!^wzK(o@W}ak-}=_u|2af4wi-G6tJL?WwGF+&z^=QqJ~THL< zbT?QvT${abw$tAk7UhE>&Mia<{p*IQ14^1FL8B7aX9)7=_D(6MWuE@75{#day#J_X ztt}oLrk~1f(x#rn`D6xTXIBH}Y6bEek|pgW&;_Uq@aUsN7+**EBDsF4V62uf)V-Vq z-9g0fknz1o3fwu;OE;qZv-{QD@p&iGJeCPdpBds>iE&6f{ihw_7S5*|s^ogRQ%S!) z(51MGXKv8}Tt~}de#iA!q}O(bohb5N$NdmFudP>e4n9*i@;!@puJg7_o%rG%!~^}Y znE%ngKhSfx9s6Lf9|`7S!*#jnk$N*m+=mOys6*d($Zj`Y+CvJ*hx)^2RPD(-l~MY& zO8W_T(&veIHqg&V;mNg{wy2LnpH@TBYhsy zst|9gdHZzxsCW1-+gE3X$rrF8xTaH{A&;pw+H(4Wb%Rgb^=Ph(w&YKb==R?M*s!x+ zD&$xI9X>Dbf>C8_ShhV3om!a)pkI0JI_!l59g4CqUQAdkVdKfRHOjVgjXXBhwp9LJ z^pPRk)+pOfITL5w==*^*jFHnkV_bpvd-&hm7xZ%=-MhiJNzRG*O*P&<1HQ$$uIVC< z5+~T%^gAv|1llXDn&J8!Wze^V(2le9CC~2wZt26|C^)%d!5QM#rZ{nJ$- zYWU85CAa^&F>V2qYc%VJ>(w{NTk-nswu=Uu!*K;5NysjSmT$TJ77?;G+gclX!jTBR-ODZA+(gFNO? zqY$po&>`3@avxtz*-jTFmqJ&leSEIju9au2dwAb%euQ{<@3{fI%NW;^|NW=gKE4wN z`iet;KEpi{#PRIJ^ORqehG?W8eoOvTO?w5u!;*i7c;P**>3xWJgN83?|B!#rs`n}X zAGEuiG?2al(Uw!hHLZM?9;cuBD*2tJgoU4})7Xx1m%7hsf^oVJW1Xfb>a0i?gBffN4u6>)!QP*6;;(M~zd_Vm`jw$5_qcfWHLVLeN&s0)v_k;2Vf9;Z*#4!~6BK}(1O_n^3+?6!gX^E|f! z`}D_*=eLX1_)tDtuKxwk0Cmc>&%)r4_7`aco#c3lm{;-sAo+c&M)NAU@27dyyT8PH z2FV-yv9h(Xm7ceK1I_1b~WmA%a2A9TQY0R*ok+Uvn&xYs0&y(o(~R2w4ck_ z^A>o|9lWv)ktb9e9<~|wbWL=e}ZQpLiRuNa0r@rT06t*4d1h_BrJiY#o4}Hxh*&fMLbpkDTpdY`H zKm6;BzVi2KWzP5aN5T4%{@(#Uy5VG#v$0L@EAqaXU54P=o!G_u<`XU6QM6T_?X=zp~B_-1!LS&xpI9aXWGs9&buL<;Z)g)O}B3IrpTWaqi+c z*Wr6|{La;9=;zS7%;DZch5jB!S+8grB(6Utu7HKP#S1*UiRTqTJ6J+LCb8ISz1ZGso?le$sf({T~^pm`_GzDApCeWgx;5FX6lXj_ZAacLM*sXjB*S0P-z2}_=FmJmer|)P{Ye>QG-s@DCY<8j>p8%W@ zz|lS}iyu*UV{#7rMfP>r4*mz;=ioojUY0?Jm2?NqIh?CN{?AX=rDHrxO+M(VT$pIZ z9PnwtLtCPUYej(fL~NIL*N9U0-Ur?bgSjhp_}{Q@{J)0uS(D1&$^SFHNzQMOZQ-}b zS(n3mBjx&H@ZD`&%`)l@XKOR>;FdVBetBn$yf4ZMpf28TAlt~bT6uQ2cj2129r!)k zQ}@7SW>~MWEtB6Y=rsfPDIPS~uI|c(?m6Wmo>P`}EX{>}G7bMq7e32^|9(%urrPFZ zVpqtDyZJ$zb)W(7j2h#;Rc;xsMLDI^{foK2Q(9#Qeh^yFz~=z?L=XV*` z<$2!|@$Zs$=1Xhk{$|1L8Eobc4`)}NP;~g zr@@NyJTKztTRa!`^(^A}u=1Imr{Z2p%5?&@o<0xld`P#)@Z1G6kLv{}zrk%Q?`jH9 z-xE^_IH#DV?yfoG4jF!P@sg>uUUg?hhq`NmIIVVZ()G+o9Q|dgj)LBOat)rg=*u5( zm*1bGZ4&rjYW*s}d!JGF=`XhH`&sUFgt?vTJ5`&k&0j5+cQ%#S;_Xrgsx_~V@+<^> zh@Y-8yY6(*WX%!UNnuCE&GJTnBg- z;k`+&o$ZwSwr}H{nf*pstjF!Yr)$kF_8IWrcDQ!a2GW@_Cq%g-toSxZthmb&7rK1{ zd6LupvVr}=K4BU5$zjgw26;>0fich3+h^0|iR;1IO^K;~N#$qj`84ms zoaY@|=+j@YkL-3)%kP1bj-cmf_9!2{Is4EyuWd#do?K*?YP+tub%m_I#?|vP?6_0= zsPma0bmra+=Nci=xM-iTsby7a;$QcH-%wva`;Gj;@k1UNsoiuF@cj&VWy&sq4MMx% z@U-5(LfIe_8#yNQcSg3d{^`3`CLZKnE1=y+*miyX>_cApz;Bdys5^xq!^i%WywxZ7 zV8>o?Wj*HF*GSrdkGmlYxwk=?Aop=07r5@et5W)BUdeH!W&HKE$m7b6WU8z>K4yL@v`G|lrb9Q*uEHTuhh99%ecZ)hrik+#8J zLmJW+nv6J7w z-#CN!ZatuQZ~P(R1YY^E+hiIDqWyLeV3HJMRo;3lLz zo%;5|InNV~f7od&TC*`jE##M5j zxl+x~Fpn)s1o=&Qt((J(O!U)&e7+aDsa<}fAtb*+wrlF{!4StoZLd0)^V&Y(E&Y09 zqEg?#Jzw4R**pmQntneGl(*2c^lMrm&rIHBaqp*;ZAjMeI~jVtt5?L&ayOt!S~4&1 z_?Es0x~^5J{D`b)OMsR(P)Zk7vw{A11_B7eqZXdpfD5;(uX@oJov8f>bXzxb^c3yCmqW*9os-h@;cI< zrQGbUlHUcBeU+>_^SfY>HC^nd+{OgIi5BF2U6?CQ`CgsJw=n)@2Jf9OU;VY_t84!V zzIvaRuSlb_@s;AC;3NF@bg#1A$x|QT`>y}DcxcgCc*xW|blG|Ekp4z={sF$bwix#~ zNUK-j8)pXJ?D!-3=2J7y)LBE3#7cb^N+tE}u}ES~U)aW+cjAGR~@Mv`YAq^8u0ZD~I_F8^Ew{J4$#zJh8%gBj6nYAAO=- ze@Cb;l~0ono;J_Y^R_tqsU?5>sWzRLcC+r2Q>1aa(cym44*chRCSAJyk$$OJ|LGauJd%4o+~-k#+##+#)Sl0tkMf&lnZO2J9yaLj{+i=spW-rEX3biR9AEY~yr?WVtOlVkTc^VL{z zzsIchH(&Y9j)Zsb^kTP6>*B=p-5=BULdY{6fF0AkvA#{+y}_~fT1CsmGF@)Tbo~h% z?-y}hOUWsDH&Zd5*Hd=s{m+6lWJ^o_d5IsNnXb<=HcH>nNaE`BTAtkv^Ba@klJL_? zh8-W#_?YVMp777~H+sLlP~Hm_eu3}czaix9*W>j7aZ~r>CFJ*58|B#_xvzPMX~E;~vLQgx@}q zJW+N`SqKA<@YJ7dH*VXf|y6cTcplrO!4y~%@=dI zm(F?riJ-cRlCb&BFP7JEyW8{_^1$6FzYErD&I+gUCs-c&+T6W$;!XaM{`8T$oF0Es zMTh*?6RZ917ul1W3COIx65feHnyvU_JTGiioSX408Sn zqM+i6ZqrOc!MY2Ih*Hcg)!q{f&6) zhe%)Twrb&{)_&*&s}@)tOZQQBEBda2S(rjT;*ChB=TPVj({+!UGZ(w)e95iF>2-sO z-p!(_ygKedym1fZ!KXL@KJE_K-cP+#pJ#f7o-MfXN{h}oOx~di9_Up%8{*;j3QXSN zFVHgqQ{f8yC#@6aU%z{CN1@<>Io_<#Q7tG=zur7ctM5tQaH`I$p?WBf?8)`sg69)n zlv_~n(6z^+zQNr^I&YPrzEB&r!>|2m&z1TfLt@WD@EZB3s~UAJ)pcQPz{k1pR2Qxh zjP}-|y_uibuJO6R(+O9UIUDIyxy&lyDO~1gb#|i6WG){Du9=|DAkwS2%u+q(?Qgix z3(3FYYyH5lPEh{|NdF_3IS%;cKhx(KDD$6Oek$-w6VzFQ^xtzCFYs^o+~%kCxs~Ss zWJ<%D4eny>S9Q#_x^aA^zq7o>*SGlkKg?IG+Z5sJC;VzEb8V_TqesubjRqsN#RZXo zr17`My!)}*zSsO-=Dg90b2j|@pY(jPzQ-QW?{lWVyXrLku3e~heSh-GQ~mlG3hcG( zTzl>56?^U9KH6l>p*p0U)N|9sN4)y2c26O?)r&&oO?2nu9*pYair1dM{;!&d}5ENB?1Th6N8$X}_5; zUt8x~s%IbS9kcsVe{@3WaO*#ibe}{S!Wypk zXN2fI9HXjB-kGb{W0(28*lPYwyFcl(QC?NL=8m}Cdb7+zO zM5^b?)ih5TwQXmltY1@b?E%k%1{&AS`QXc4{@27u*M9@QMUmh7a#>k=e?dh#eXXl3 z)hGQrP@|vuRbw^iR}K1AAp_wU6_MAkMUcS?yehUW}-|@smziI z%h2yqOq#`G#-8ss*uzr4u%EBeekE+=Zaz!Pc#`0ED21`9*`L$n8!P83+C2sNpSz~m zAZ<|nJclnHs!@t~{P|;|ho7h4#QUr|MxG&tULvgD%Qmt+q8?lxsr~lyi0_f*kvZR6 z9`XNRd8F}2%OioGE{}wtS{|{UT^?EetL2fkzg`|$|J&t}$VM^f*KJqc>{EshzZpHfV#@@r^&p$%?2jigk-g|e? zf(%?;E(6e6$3bT{@2)Bw*-dLxkzdx%0@Ds;Zw1NTT+;8eqr2$5_$cZ31(9jg_s14m zwY*PVw%r%qMejU7*^W;(MXC=fYub&oW4rWT8NLd5MZd>6bGv!BDZPtJ-^ZZmG!Itk z_iyRFp=XReumiR_z(};tQRr~3_+VP)x!0h)%YZg}X{TO`@ zWwd&*emi!hqbCj4k5!}3rcRyrB)vcVHvMe+A1QCN`WM&mwe)-7vqozM>-pa2?{&Vn zSWovW57xx=`_sJiuABwM`p@ullT_c)`hzxpPJN+$Dc_IzF~y%$ks|Q$y;CD^7dv>3 zPt7E``$%YP&ec;QGY4jKxQk>SvX%?knZaQ}9zeoG& z?X;6w7U?~=EqYG8eqa6Ruc+;{R&BkidS!>tBD?S1ZGQKd-WBI_U30SWLA-vtZz+9v zY`z|!TvLzyD%Ul~^EI>0`&1%6>1V}t(=i(_xvrba*VVY%s-|lmM;$i=3%={?3Ns&{ zAF00CrzW}W{dQlMpY8!`-RFKs1~>&@VDT>f8vy2BwpahYf?vs6(7mpTzjx9#jr#t` z8!zvFljTo(ljTo*ljY~U$?^?vvb^t&&MB`^3)bj9$)|T$Z1+XfHh9M-FBW#?QQ6xi z{t=Re<_O6`70JRZzQ^;CRTib6ICzWR3r^zuP|fE1(f#y&)53xUyn(RrgRrq_s)6p+ z7Z$4q&6}gx_LA-&VPDaaP3ezLpAQ}u8Wx;*D{Su5Cz<}yGdr$yFQw0itUg!mKM8d- zppLg2U+U?Ge}yk~wI|}?xR2tD=UhEM;-z?{9g^`>+AZ>{t_(!Qwe*(*^ zj+?XDe}r#eE$c>QPNnx1Ry%v1&%fgqYiv;@^7Nue{Fz0Op3y~-{C?Q?1Ir_W4=<1G zyb1wT0J=4_|mge*3lu3$-`-)G^fN4&QBRzaoEQ zP@g?E_Z9~g+2s9Ix12_8?e{sIuS4gPOhJJaSt5e+bsS|4 z>2H!Z`oc=T=it<_nmzCnA4j+@SeQfaR|=YUW_S>vwySRGYe=JK&nDB~<@p)I$&K)h z=-TT`_dHbHcK!E!)JbO$lvVqLqB_T@&M8zU-E%`+>ZIR!m`uNw%jeQ&>N;`lC!9K` zK90TnaqwAo*I83{)eTO)F6f`OdlvaG>hxW+79PI7ZjhdHufBfP;8c{6dx}$B?_1s} zx(#;c;FI*X&)f9h<);*Y>CB}3ox$ic{jQQ%^nAH&pWxT|cwfWkXz}i3I_^)!;{JGI zb266jTmD7ifjXsn5~)-M-;3g=T&zEv%VhoMpLLd>KXsMqx~Rm@D=XzrUlgZwX@6ZJ zm-nZV>4ZOMFN)U@3R3!eE;?r&7u99Y%jEr0|H^Y$xfAiZIFXK{-g8#@m-_<)iw2~< zwb@L(Kb9YtvC0fH8joiaxtx>7>E~oOAq^do{&9M5G`F#=B2K?Jkq;_Ze({WB;Zm#!Nd;%4puKo@FWZJ*EyDyte=ew8ryP|P~T!Q-*Xb!f7THD&g z9nr2>JkhPjrJu24<*GB!lJs-ZrbvL}P5gac^gR9DnC?%dPI0lM4x;H*^jKewnxrPH zS~Ue}Q`IyzUCmH4mCqDQEJ|sHtXy)@y0eyq@qOXD&bg4{XI`}OU2E~Jqpkrr(x-Cx ze*aEi`KP+{;e<2v$1}ml2Q_!)=I_vuIY`>}t#BbHei zJ^i7p8$S{`@YU15ziRf{&usnU>0Hh_iN8#gop-bZKRff)RWIJLe9;HKS^M2&3aUSfAWVr^!Fo=Xi-?z1ok$J{e-;A_`dtKNOWGfzDIo3*P34}W*kxj)#w>T659-+Jm@e^~YWz{;&Z`t*Hh z0&c519^voJ2#ij(c;1I)U4Q=CYu6WAZ=m&Qz3181)4yxtSNz75zkulg&0EcLUK5Dr`F=X>8+`GW`k+I>38 z$I~+73y;hSJ=goQ7qE^~|A%_<*5|FyTc5W+6MQP|IDb6Qnc5C&AKvROKXxyN`#BUj z9N_RMhl3o(I2__|n8Ohho>ClYIruot;o#@c$RWTX%)#QYn!{QS>p4U?^l<3oFu-Au z!%hynIPBq2;BY60dpX?Cp~&F?hetUaUTI;tx{^43wHwh7@r30XT03vEjsY&7GDm$3Scec zGl3(F&jIdZ{4R^SZ1B4+`nfrS*8mq7p9g#|`yMd)|8-S&6kVCKZAqgyfxD;60+GrUX5KaM0J-xtkZ5mk0 zXDn4M<@@M2$Qf?}mhxF(DWB7S5ivLqEam%wrTk`KDZjd&_#c3!{5DIAfW}t>%liH!uv`oMR4a4%VPIL`tAVA?j{r-Z z*H~(b)OoE%KS^NlM=g4bfx#aGmh#YhbyEI1i(ZLj@NQr!|8Za`f4#+ zdTWKjp9Gfj(5KU+{67Ip`5S?y{HK7W{7sgcF6BRM(N8WId^50={|vB{hn}7xHH@J@ed`!QfBM!lhW_+j!Weeg7h${tIL>$_a1Uep>u8EG zbgWPG(%Hay#<1hQ0l@3boY&K}FF4rqPCW?y@hls3aNLFe!G*u*!p}OGem1d$b1uB! zg@5DVs<*lDY8T$*!XI(r&$;kJF8rE2)_Co$r6w4LRvk{YdX+ zyuy`!1=6=LzS))jbEN-+#BO!c|D?yF{scZx+vt>^9&q7n9XzAMg`acq%+p+$IB)^u z&pYY9QylE>gD<|_!JpIEyBAdR{kuu;cmVE3v%zow8t^9!zVCq2uQgRX|FasM`e)rT zs2@Af_(3PVfw;%((qIAq&G`N_5PzbKM}fN-9|Hb4<5vgSk0`(Pm=lpcgE7tFOvYyc z&tiOu>3{XlfKk7vYl3>7K>39RAA2G2BF0JJ#_{Ek#k#B6jIVdbdz@>|=XhQCqYgga zC6C8PfisM^IO%ggi+)xy{ud|x#A999CCmPq4lWy)jQyZe^FM|%KNw%ejpyG6r8|jr z5$UK&l5>*z(t4hC6m;7BuNu4;I&J;~J4#qzJHv%xboLG~hC<$ZIpccZLB_LycQ8H{ zcqilIfUjYUz0zLsqmBo@p79C5dl=6JzKQXPzy-#zUwdz7{5Ie_8NVI)ZpPSy?G>MJ zKJa~v7XaVScp>m!#;}8Xi;Q6h_wHv5JGl1%W7xsH4>N`x+$+8%?BL$V8J`M#kTGoH z-k&grP24-i7&dY5GmM*n4>5*)-1`D!*vGx%qc#J-$QZVA?-9nZm3v=d9J17qVhp=E zBsLv(b4YAD?BvG3Tk42gZmo@Gev`?w$^C4jI0pQ;bi4Oq(c1Yv`{_T*+ z1$^2ekqh{=#{8_(e(aFQ1$@yVkqh{uLn0UOMTbN#;AakrT)@v961jk%IV5rce{!h6 z82;pt$OZh#A(4w)fkiIhPY#J(z@Hovxqv@8By#aZV3CV20T&tH11xfJFR;kPmw`nt zz5*fkiGJ1Qxk? z$Wr?h<8J|rTs#3Ra`8i8k&A=CA{Rdb7P)v5Smffzz#R3asWA9?V3CV|2Nt<_0a)bX*T5ndzXcY#_#LqLz`q9; z{=WzuVf+%X@c$3M!v7<{!vFsREc|~3Sor@cu<-viVCKIEoBe%*jJ?3je-Adi`q3rnExJZ0QWKfJ=m=6WBz-v5!=W7_rNyoD=>y_+Q4J949xuZz+UWQ z{(E3A_A&oGum$^={~qZ7ePfKF|MxNfJ<$34nExK=`F+fP5A^&#=D!EJeIN7R(+o0}0GRpj z`CDM-zsCk<{(B<8%zsZ8F!SFN17`kv;=s&*PY-Z}aT1vM@3|D1`R_>sGygq(z|4Qo zCSc~jCkM>@_vC?v|NX#&jJE;{|1Sd;{=*&(3;(YG7XEJo7XEJs7XHId4GaHan}!RF zVVj19|FB2H!vCv*h5xWk!@~cM0So_k0So`H0~Y?nHVqdUe-c>uzXw?O4?8t1{D++y z7XHId4GaHan}&t|uua3l|675_7=I2}_$b*y^p~H(T7hdcUiYymi=<_1Wg%|p~$a3Lb0L*gXg&r=lTzKJo7g;X6(82&x$v$4X1VY}Zx>lEyzsq?EEitr@FL5F7dm`IF@|3~!gAq-4j*B=;Drt! zVg7re!$+9^-nGEYfA4#Mng3qs_7Ud47rK4K&-lH-%zrO*`v~*j3*A1#{P$i0%>4I4 zw~sLYz0mC=%ztkbnECJR0=5`KpN}yAz1_gffA0oh=D!!ZeT4b%g>D~V{(Cn9GylEN z^CQfEZw5HR7&?DM_z&GaBK+SBEd1XBEc}O_9})gT&yNWIq31`0|IqUzgNz4(h5yj` zBf@{|K}LlC(Cs6_f9yL(g#Xa(Bf@{|HAaO0*8&$9L(h*0|Doqcg#Xa)Yc#?b zwrN!O|0`hOKkU?~@c%!6h5xWqqr!jKsZrrS_8p_bf9yNx7NN$lU!%hRmw|=zX~>Ml=)u;n>EV(uY%1QW&T&e zPK`4Et6--_?^jFny?sk#v3PTPcPP-5Q%y}vOaIb|EvaPJlIEu7mZrc`zzwNPF1Iw- z7tO}(R3ejJn##m7*@WG@Ip1`lRJA@FJ$K;!Z@Q{jHXoo$dNRFKvPRwS6PKiy84r;xT$SPBGo-%18=fFed#`Wa@o!$d;3y} zrkFw(f_5y^+m}ow;!P@<&M(V11{OD;vOKH5I+p~SL+zn(OIs-1S%U4ID%KOt>Y_nY zG)s^ zH*#@VN83(WZspoSomq`L1I?8W^K(7z6Mftjj_XpptLFA`{c1i+g}I(gHeaeEOm#H3 z={mxg%a&k!Tey?{FBKivZinld4qBbI*4CC*6gS063)mc>f?-__xN}K!Fl<(`RHak4 z*;TfgDh;-x%I;Jq%ESqlm=i*-if8(}QVEmQQpyTbmYywleyBX3SeZ%;l*ZGHwataI ziD+t>F0~l63U(%YqZ>Hh5~Kv@LRYV_x)-#RSL<%MU1wviT>0a=7j_leoJqz_DrVVy zDcdH2%_r0L=BS-Y=1kK;%^deoXT&p)rlJ}0|rWj>p-FGy_2+2=<4(4%IOc>Ism%VGJU3^ph9G>2rG z`x5CmCzyFoc4xA&1ShqHbW$vp08va*M;j%jGx`2pA|42EDk^s;H%oF`z?~eF_ zxrLL1!H_GtS?Uh9x|?j4x`SbNlg+`>DBMjpOWiH4?k0m$cT3paWKil3HM^S(O5LH5 zyUC!`9SZ9v=^WBBOg7{pn#H%~ee<7Fc%)uiJ5df|u)@^W+8m?+%G1IITkJE|uDIxo z3)YpdY@1%$c3RoCcr+h%FKaFzMHkD~H3n*wt!ge7O(n`#wUe22cHg>WZz6kUD$!fs zW>~k`q1)UXEn`wP6@UHq`qMONuh(7$a|60DQcbz$P>8x)B4I!V5Y5`z1oS~g+nIEC za>Ji%Jwb~_iY+S3)Y(o8K?-e!9;~Kyb08Qh_4J(c*PdUw5TxMfi}YA9l+08vMlzG> z&zH+sCZ5cei&%D(p^vM7NbAd_$^{H*iTH*@xp;Ld(gU_R&}QeOq}tX|k3f-Jdl2dA ztXsFz0XseRcK6r~3rQWGTIwsYFq(qn)RoNV^d%kcO9Gut*ih(b{h$d7@=CUyVhTk2 zx^k(_bIFkPQ;AD)YTU^;Oa!=cJ)4UIdg7ewnc1D=DxmsXjQv7A|1ZpGin`F(2a9R| z^~CN0_trHA$&y06(}@9$BuEzZRGnyMt1p|_Y?4I<^`PBsBF%|L$}?Niq;Z2}BG`Fg zS*M2df*A))PfECRvpzsuN^5CD8c&XP{-An75G$RQ?#`H+%e4XqK})8yX%r#t3GnPU z>+VxKrADY(Hy6xkT)L?(R9<E)a$+&wE&H|F%DO$m&zJuql-ySG1|7(j~>@5^TLnOG*J>DaEfI+}fwzo|dbPj;xC z_doefJ$838OOo1dRB$`#!+{)Mu*}ecilw5aRI4e~A_SqlbhI}?d2L3C2OS|RYnXdQ z#J$tgzB3ownMh9%Z#-{7#LZf)&T^saHn64ueAI@(| z*v2%rYlU^H9+%8#!Z!A?UF)4wO&Jk6t)|;TRHrkuvN6MYElPk0c=@saxnEGfwpOq4=x`cL@n}hB-4NN?JEx`$9Pe@?fB#<_(p02-56I1u2 zEH9g&_iiLNC%9D5DYfSOmG8FK=~RqZ*T9JvoVoI%3obn8;xjorq_aUQJJa2*D{5sq zXfbJRAx;hIRQP~)j!X%swusCu?ayVG#_9GzNrLm4Oe)qBO{Q~>oR*99(ynBhZcvis zLf&2Ctc$sHV?3VdhU9KZrt`Yxu&bB7U9?@59?^(ewI>m_Z8w?qTG%$Wog^l$B!2xN z+ujoES*EL#0!Zkh{PuB^zmejr7U0SDBy}P9;Rdy0y^kz=&&_<3rYG1S_0}kXH zL)`mTy7!aZKzFj%Au*^uM3#e)(J&z+&eXGwW$Ymd+Y%R|8S>b4Uyf6ZuV6bxSmf;i zsykG%4GXz608udCt9wM#*wRK(JC}%+PbAWMlj-t4QDRS~KU>}_T{IruTHZ6Ann_pm zj#9Vs-6E$;I(dsz1uG^~+DT@$q?41mcutm{6%z)QN!y8mWZs6E$mtQ1%mzX7?zB!q zO8L4scN(WSVD|BLJeRS1qUks`Xu7OU=DhB-Hk`}MY|>s(_a>RMV*}ArYFH*2oJCi3 zFUXk;1p=j|?=VXrmdQ?n@S5gb2}VX>>~=-g1-(AP%ML4y)bWm&s|`hm2A*0&3^ZI%mz9rdB=QfsozD zm2zd-^5JbMCs0YHhBbTOL_@Eq5}bmr>!hykWv1VnOt1)cs;k@8OCe1xli8R|@McFS zqwP0c-p;cZ7H3r0V{geO^JXr1dB~5HGRCe!N)j8XNRSsHs24%chTK`SW2uap)1XLr zs8kQ%X0-deWGrOJXe|Au8RNT%c1g_m{vj^v*Hb`u4Jvjsv}|-+kT{T*Vr}E@#pq&s zn~1rS9?;zx>Oog(qiZ(X0;U(R5xGRZv|gqs<`z~+-#XAE43nE=YwvW~;Wz=kF35}ac?UjTuLB0K{JeNUSCq?6N-s%~aQssKc>v#@w*nHB^rQ51YWj;ke+H7U$wg%(ZpCbAn6>DX3XvYZYf-UE|r z4F&?>V}CY_PTDajqz##@C{yvEBwKG7HE&zmc*@(&1}j*);SEubC*$;|M4={g)uulI zqz#8#!hCs$qo9Ps*+fpJ)ezQ6EZIN4TWI&S=A>Y|X}ue>ZTw1DxB$1}P&KwWpGu@F zsER}_587)KW@0y?>j1a9SGazez4|_drOD~%H}g0Oa6abX*r|0SU%aC zuvz#*Wv*zjwX?JnK<%AovfbrdjgCR+v^PYt@z%B;NG64+fI7soL4Q`%!zAI&g5ieX zTGmM2!*RlN*xGqorah;{VRV*C_jctoTVmx|ARA?EiDAdxRhHG!X4*)#g`%bLg(~ig z8_tojq@vXMXsT4WoS`kH(ikzcHb$Jt$H~Rh+!v;s3GeO7R*s^%rCElN9XF2VmUcam zOSI#t^K<0|LOf+#V%c#+ZEg*OI5VenE3R#A)0U@`{Dn5Hw)yV{7^F6RA!Fptu*>f{ zb##_YB4!jM?A3RYb;)pL$$(5e71hmk1PSQHB`EHN_9md~+0L2Nz%t`q1lzQ2BQ1ax z(f4L_b8O&RS%zAh9Z78sw~DB1oy@AYHH@{wrW47AufYn&V@2Zuy5gqIf z!*k{b5tf~0T9d~t0`J+nwmVjO%%XH}K<^sNUu(?fVQH$XIoB6!ispLd+I1IiP4y&j zEyv&8+;;xC6jx`jT)E8Oc=mZ0o#NNEy_ND-%3CRKrM#8$-<{Hw+uECtcHtZDk^b%x z1bdWMO|)T9Ok zrXoJ6B0jkyURx2LQW39n_q$rX_FH_NRuSJM@5hJ@{8(Jyr!Dma)!{SaqjN$}47lR=Sn7wgE(b5 ztmW(fV5x)j+exVSw!v+^W813t}^r!y%x(lhFfrhf0q<@4da zK+b2YiSunaOU(HhISa+{%j6s=$3HCRW;uR?oQ381ZE_BaD_6Wu&K+{xCuit5eyp6| zSb>g%hBlo)Eb#lH#mDXd_a>b98a}uhw9;2@JrqOzs^AD=D9-}UP(R!Hk2&%Lm zqb~keS(e)Gj$cp_??K!(e^no>i0`)4gX>-KTM>83PZj3>K^LE^9nq~W58ra}vpQH2Kf_W7T;r==gZN@s{365)t~m6?0T&;u zlZd<4uX+pOF8)>TLcHjT-)^aYbLpe%FIwu6L$3IUrM|P)703L1$2A|-KS12Y_iE_V z@3`cv2J`V<*L>Ds{l9Cu;>#-Hs}XmtSIq}3^_XismG-nI0eg9nGpT%*-jVH!Ur}yP zYpyM~r#1hCe63H6zOI4&dHily{9h~D`(Al`lE+fV(fZvxOP8N?qKwCH;!7-b1IgDK z&R-_i8zGsr(o#Pn*jR7!*IDYDbnYd<<)fCmn)o@$@k^1f?J37|mU{LTt`A+F^g-bh zw-0@^{{_yc_${!f)voe)V7z0le8|JYboMH+z{J02skyWsVQ%kW#rU4J)OjS&YdIhO z$!DnkbsUGjNuj7pnfPS*CzlN(-pBFju-CLc5ssf=seh*RJBj1-Ep!G~v8JL8}HF-!eYxys)n`i1NNilsgT z{pnfE*MAe^x!u*?18AT0?d=@@H_TtrnZL=uKzlE`+JnFLcmz@D5B!Tq2A%S?bJ3q# zr$4ptwA9C8|2@oy+JL35!FatVavbvW4O+j`I1WBNA8=id`8k)?pZi}6e*JP6b%pc) z7W^dt<$BJKqko4TKGZ^!9{e4x%%_M zU`d~mKAiHBrM~~TbA283;|JkydRV^eFu&it#L-`MnBOtt$28NQI@rg@*1N99eBKZL z!Ly6Yudq}S_SDnEaq#=wc}Jhrk^DC}^HB%??71VZ_-@%>n*P^)3gttteAvU$F^3Oz zpGW=cUGY)u4~kr#;+U^bKwhg4b3XjDkI?uY<@m3#{={F_?{zPuy~R#@Q)gRh7ujzf z&s6BY@9uK+;nY)6zR^|wZ1i8+NB^f@i1IFZo!X844e2*OU!O;LeP)y6n2#?%?C@ji zHt`n>pQn<2oa1Wm3z$FU%-7VfVf}Euhv#GJe&kPc_2*$r%?UaBYAW>KJ?kBPF%|y7 zO?w?aO+76B2Dkr5@lQ;A+6+rQK>qT8DL<`2{3*_deHf+vUjygAL*Dgk`a2E$dG3HS zo@wv0)W1-B*KqmuknaPIJWY!-ovD7Jhs| zdQ7|5QXhqX;bDC+4f6NxXPo(&2K^@TqvMa2+n;H_l(@;C?h$|1XBz9W5fImfa8-vs`9cW@l~>O9yF59^2N9}s_z+usa* zbcr)R(?5#&-tWx!^aAAjPKO`Uzbfx5<^FxMd_Jca%k|y#16bcz9Qm03i1?d){Zp2@ zh~$;!Z#wkP`A3}foDO~eOXBCC>CX)4`^O)3uAc!uJ@+unC*?Pl+rJs`NAu8!)y&r! zkhd?RelO3*jK3?_*E4!5t{=42*I#k?KI6mUA8`CuvHu*0etFh4{u$VRJlEigKaKUK z^opVp>&~#l zrEz1qsycdBn?xxY5^1LgBI6ZY;Oce<`m z!#>{R@NZ^L_H%swRk;2|SAQXYyGj2`dH8R~(*A?>@60b*>X>PczMA=U_@^#?K9l(7 z=l;@o;Jm!>y-Tx*AM;n8Jds1T>d@aW23`I zANGsS`<(gnfuFy;#ubM@{G`4=!Pmoo`<6?e`RrPe{dJO}IF;+zkA@LbWA{~PEd@^{%@`7mGi(EUrc7rsA9zR@rB;P2Oo&+I?c!#?aL|Csw* zKU?1OWBOZvJp7MZr@s1y^1dI=$9{C~E=NA=A^*?&o&MFYF6Uo8bqa+P~h_U�Vb*}nf8B|I+ ze3&%}{@3MB`B}4Me{b5K1%CZ%m!l77Ex`VYP6_ z|LYOIGk>$-Puxs=W`AK8{H?LOo%NbsZ>g=s=P{E%8~*%tR5kN+_Q~k)iB5lKhoEmC zcg8>aY^yZiI)1LDzIVSXo`Anh^2qvNcBb6oX5F7J2c{=k3#R>T!QEc0d7tD&ykUunSne2S+2CR2X{ z_M>Z|KdSluLj%8qSFaB~4IP$x8~8q#?Q_GKmiimW-%QrO4HrP){lu}C4VP40kNwSg zMMoYQE)#j+{z3nYl7GYdr3U!x9s6D7;je$}ddD6%KtEkh^|AhL_%h~y&^12z8y}wL zx_$)y59wFqpZyo!1@afY`{S}iHlzRE`RAT!(f`wxOJYe}hs$&M{_gIkn6mAa>(0Nx zUUSZc>uejbRb{a=SKDV@aK^c3+AGdH`<(N1(z{lc^81*WPd`?wa&X;jTVfjZr!_`T`muESFU~1?PG7&XB$vpelzHOHoUbqgRDFR~YNb2X zpX+&3k015+r)>QSjxEuxiXJcCYUeX{Jh?d;PpA!cT)S) z@yddwBrd7voHKKkaZ@Il-DEgdRVnarmr*5YNX zqkW`4baFnK-kMLOu_Wf1XZ`FtCMFr6mjYmA>5zb(Ro&5CUX!tmM-zw*{%cnBh6ie+ zLd)m!cEzE!>{hMj%x?>;^2L!yTC;Q|b%VYQrLbb=32&3x-3tQij`ycAFIr>kD$NY# z=rL0X==$OY5W+pTQZIWNij6Tjo;%t~3i{@iJSg<_k(BGGzkpE@$Dvgqk z%u-(yC`HapBE318&7@UNB8uTd4{61r^pQ%G8P^bNLiTU8;?jNvswM%;u=?S3f`6fx zYC`$s#p{ic%Fz-|DFlvkfioCAU#7e6Im6AyMYZGgX6)kE?RanJ|=S*Kf;-U|B z()ePjXtLLw&wxLh&Sk)eiBx%#*%Jq2lO&rZSx^<7A?@m3aVK${hiPqB1JgPCFEb zri9nI1;Zr?)qS!>!ob-CG%D04REcqssc%P9KIoVx9y~mfNBssZu@u?_^<}oSk`8jK zC#9#_ygz1~!Yp^cN~s`oK9|^}#(7)0(o)4X^(UeC68ce1(n&pJ6HCeg-OHhyv0jXw zPTZL-f+ICg!sJKlz0!2|?G>0@S7^U9ix;Ha@SY2TX9IZFemAe0;MkZ2-tPNk^OpyuA z^(9j&qX%-1!lQG#&1OZNF-13P_d(BBra#{Wmjzonij~>BOs-;Iq-X(D79N3C3|hGi z&`G6cWYNDNhOBLobd1y1O3HwuhWkOAqGdn|!Ku?^yG}+yqOyumg zkTM#Xr=Mou@#(RBjZ#8yNi9y`*5~@WdbRi7y(OC3sN^t|b6Gx1DhDM=GdEYbyrgDG zZR(eU(7`3c)uU-Nk@IxM)*J-k6SUZ5?;XulE}PD#0>+p1>I6Dj%xF$r!L`wR&l)XO za`@Qj#BRkgbHtT~))kDyC!jrb$uCq*I%+(diP|$Pop>+jHcE0TYhtb&`F8}^wMT*K zPHRg&{wl}*ls5Xt#2iiE(Kn=C)82L*f*!{qC~dabi7R)2jT)G6E2SJC#JGvkc>HK; z-n5X_?|c&t!H&_Zy>5*c z1c5R8PG?xi%@n=P%xINhbYpjtIK)RD!Pj?frdRiAE3z^b#SSV*PPF4DmwbPUn2nQ8 qp2+a?UTmVC2%C)}lLlz#*puwelbXi5B@An@?a^^ + + + + + diff --git a/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr.depend b/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr.depend new file mode 100644 --- /dev/null +++ b/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr.depend @@ -0,0 +1,25 @@ +# depslib dependency file v1.0 +1290187550 source:/home/alexis/Prog/Leon3/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/main.c + "stdio.h" + "lpp_apb_functions.h" + "apb_lcd_driver.h" + +1290183144 /home/alexis/Prog/Leon3/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/apb_lcd_driver.h + +1290183058 source:/home/alexis/Prog/Leon3/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/apb_lcd_driver.c + "apb_lcd_driver.h" + "lpp_apb_functions.h" + "lpp_apb_functions.h" + + +1290413299 /home/alexis/Prog/Leon3/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/lpp_apb_functions.h + +1290416373 source:/home/alexis/Prog/Leon3/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/lpp_apb_functions.c + "lpp_apb_functions.h" + + +1291013871 source:/home/alexis/Prog/Leon3/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/main.c + "stdio.h" + "lpp_apb_functions.h" + "apb_lcd_driver.h" + diff --git a/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr.layout b/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr.layout new file mode 100644 --- /dev/null +++ b/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr.layout @@ -0,0 +1,7 @@ + + + + + + + diff --git a/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/Doxyfile b/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/Doxyfile deleted file mode 100644 --- a/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/Doxyfile +++ /dev/null @@ -1,1661 +0,0 @@ -# Doxyfile 1.7.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 = "apb lcd driver" - -# 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 = 0.1 - -# 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 = NO - -# 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 = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# 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 = NO - -# 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 = YES - -# 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 = YES - -# 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 = NO - -# 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 = NO - -# 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 = NO - -# 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 = 8 - -# 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 = YES - -# 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, CSharp, 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 = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# 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 = YES - -# 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 = YES - -# 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 FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# 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 , where is the value of -# the FILE_VERSION_FILTER tag, and 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 = NO - -# 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 = NO - -# 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 = ./ - -# 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 = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.f90 \ - *.f \ - *.vhd \ - *.vhdl - -# 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 = NO - -# 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 = - -# 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 = - -# 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 , where -# is the value of the INPUT_FILTER tag, and 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 = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = YES - -# 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 = NO - -# 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 = NO - -# 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 = YES - -#--------------------------------------------------------------------------- -# 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 = YES - -# 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 = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the stylesheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# 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 = YES - -# 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 - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# 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 = org.doxygen.Project - -# 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 -# -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# -# Qt Help Project / Filter Attributes. - -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 = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# 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 = NO - -# 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 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# 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 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# When the SEARCHENGINE tag is enabled 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), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvances is that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = 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 = YES - -# 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. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -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 = - -# 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 = NO - -# 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 = NO - -# 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 = NO - -# 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 = YES - -# 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 = - -# 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 = NO - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# 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.ttf - -# 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/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/Makefile b/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/Makefile deleted file mode 100644 --- a/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -#------------------------------------------------------------------------------ -#-- This file is a part of the LPP VHDL IP LIBRARY -#-- Copyright (C) 2010, Laboratory of Plasmas Physic - CNRS -#-- -#-- This program is free software; you can redistribute it and/or modify -#-- it under the terms of the GNU General Public License as published by -#-- the Free Software Foundation; either version 3 of the License, or -#-- (at your option) any later version. -#-- -#-- This program is distributed in the hope that it will be useful, -#-- but WITHOUT ANY WARRANTY; without even the implied warranty of -#-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#-- GNU General Public License for more details. -#-- -#-- You should have received a copy of the GNU General Public License -#-- along with this program; if not, write to the Free Software -#-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -#------------------------------------------------------------------------------ - -include ../../../rules.mk -LIBDIR = ../../../lib -INCPATH = ../../../includes -SCRIPTDIR=../../../scripts/ -LIBS=-lapb_lcd_driver -llpp_apb_functions -INPUTFILE=main.c -EXEC=main.bin -OUTBINDIR=bin/ - - -.PHONY:bin - -all:bin - @echo $(EXEC)" file created" - -clean: - rm -f *.{o,a} - - - -help:ruleshelp - @echo " all : makes an executable file called "$(EXEC) - @echo " in "$(OUTBINDIR) - @echo " clean : removes temporary files" - diff --git a/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/bin/Debug/driver_APB_lcd_ctrlr b/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/bin/Debug/driver_APB_lcd_ctrlr deleted file mode 100644 index 032df9b76fea8a1279985e6135ef45ddb4344f0c..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 GIT binary patch literal 0 Hc$@ - - - - - diff --git a/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/driver_APB_lcd_ctrlr.depend b/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/driver_APB_lcd_ctrlr.depend deleted file mode 100644 --- a/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/driver_APB_lcd_ctrlr.depend +++ /dev/null @@ -1,25 +0,0 @@ -# depslib dependency file v1.0 -1290187550 source:/home/alexis/Prog/Leon3/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/main.c - "stdio.h" - "lpp_apb_functions.h" - "apb_lcd_driver.h" - -1290183144 /home/alexis/Prog/Leon3/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/apb_lcd_driver.h - -1290183058 source:/home/alexis/Prog/Leon3/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/apb_lcd_driver.c - "apb_lcd_driver.h" - "lpp_apb_functions.h" - "lpp_apb_functions.h" - - -1290413299 /home/alexis/Prog/Leon3/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/lpp_apb_functions.h - -1290416373 source:/home/alexis/Prog/Leon3/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/lpp_apb_functions.c - "lpp_apb_functions.h" - - -1291013871 source:/home/alexis/Prog/Leon3/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/main.c - "stdio.h" - "lpp_apb_functions.h" - "apb_lcd_driver.h" - diff --git a/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/driver_APB_lcd_ctrlr.layout b/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/driver_APB_lcd_ctrlr.layout deleted file mode 100644 --- a/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/driver_APB_lcd_ctrlr.layout +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/main.c b/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/main.c deleted file mode 100644 --- a/LPP_drivers/exemples/APB_lcd_ctrlr/driver_APB_lcd_ctrlr/main.c +++ /dev/null @@ -1,59 +0,0 @@ -#include "stdio.h" -#include "lpp_apb_functions.h" -#include "apb_lcd_driver.h" - - - -int main() -{ - lcd_device* lcd0; - struct apbdevinfo lcd0info; - lcd0 = lcdopen(0); - char message[lcdCharCnt+1]; - if(lcd0!= NULL) - { - apbgetdeviceinfofromid(LPP_LCD_CTRLR,VENDOR_LPP,0,&lcd0info); - printf("find lcd device @ %8x\n",(int)lcd0); - apbprintdeviceinfo(lcd0info); - } - - printf("hello\n"); - lcdclear(lcd0); - int d=0; - while(d!=10) - { - scanf("%d",&d); - switch(d) - { - case 0: - lcdsendcmd(lcd0,CursorOFF&lcd_100us); - printf("cursor OFF \n"); - sprintf(message,"cursor OFF %d",d); - lcdprint(lcd0,0,message); - break; - case 1: - lcdsendcmd(lcd0,CursorON&lcd_100us); - printf("cursor ON \n"); - sprintf(message,"cursor ON %d ",d); - lcdprint(lcd0,0,message); - break; - case 2: - sprintf(message,"Test line 2_%d\nline2",d); - lcdprint(lcd0,0,message); - break; - case 3: - apbprintdeviceslist(); - break; - case 10: - sprintf(message,"QUIT %d ",d); - lcdprint(lcd0,0,message); - return 0; - break; - default: - sprintf(message,"Not a CMD %d ",d); - lcdprint(lcd0,0,message); - break; - } - } - return 0; -} diff --git a/LPP_drivers/exemples/APB_lcd_ctrlr/main.c b/LPP_drivers/exemples/APB_lcd_ctrlr/main.c new file mode 100644 --- /dev/null +++ b/LPP_drivers/exemples/APB_lcd_ctrlr/main.c @@ -0,0 +1,59 @@ +#include "stdio.h" +#include "lpp_apb_functions.h" +#include "apb_lcd_driver.h" + + + +int main() +{ + lcd_device* lcd0; + struct apbdevinfo lcd0info; + lcd0 = lcdopen(0); + char message[lcdCharCnt+1]; + if(lcd0!= NULL) + { + apbgetdeviceinfofromid(LPP_LCD_CTRLR,VENDOR_LPP,0,&lcd0info); + printf("find lcd device @ %8x\n",(int)lcd0); + apbprintdeviceinfo(lcd0info); + } + + printf("hello\n"); + lcdclear(lcd0); + int d=0; + while(d!=10) + { + scanf("%d",&d); + switch(d) + { + case 0: + lcdsendcmd(lcd0,CursorOFF&lcd_100us); + printf("cursor OFF \n"); + sprintf(message,"cursor OFF %d",d); + lcdprint(lcd0,0,message); + break; + case 1: + lcdsendcmd(lcd0,CursorON&lcd_100us); + printf("cursor ON \n"); + sprintf(message,"cursor ON %d ",d); + lcdprint(lcd0,0,message); + break; + case 2: + sprintf(message,"Test line 2_%d\nline2",d); + lcdprint(lcd0,0,message); + break; + case 3: + apbprintdeviceslist(); + break; + case 10: + sprintf(message,"QUIT %d ",d); + lcdprint(lcd0,0,message); + return 0; + break; + default: + sprintf(message,"Not a CMD %d ",d); + lcdprint(lcd0,0,message); + break; + } + } + return 0; +} diff --git a/LPP_drivers/exemples/Makefile b/LPP_drivers/exemples/Makefile new file mode 100644 --- /dev/null +++ b/LPP_drivers/exemples/Makefile @@ -0,0 +1,25 @@ +#------------------------------------------------------------------------------ +#-- This file is a part of the LPP VHDL IP LIBRARY +#-- Copyright (C) 2010, Laboratory of Plasmas Physic - CNRS +#-- +#-- This program is free software; you can redistribute it and/or modify +#-- it under the terms of the GNU General Public License as published by +#-- the Free Software Foundation; either version 3 of the License, or +#-- (at your option) any later version. +#-- +#-- This program is distributed in the hope that it will be useful, +#-- but WITHOUT ANY WARRANTY; without even the implied warranty of +#-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#-- GNU General Public License for more details. +#-- +#-- You should have received a copy of the GNU General Public License +#-- along with this program; if not, write to the Free Software +#-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +#------------------------------------------------------------------------------ + + + +all: + make all -C ScanAPB + make all -C APB_lcd_ctrlr + diff --git a/LPP_drivers/exemples/ScanAPB/Makefile b/LPP_drivers/exemples/ScanAPB/Makefile --- a/LPP_drivers/exemples/ScanAPB/Makefile +++ b/LPP_drivers/exemples/ScanAPB/Makefile @@ -23,8 +23,8 @@ INCPATH = ../../includes SCRIPTDIR=../../scripts/ LIBS=-llpp_apb_functions INPUTFILE=main.c -EXEC=exec.bin -OUTBINDIR=bin/debug/ +EXEC=ScanAPB.bin +OUTBINDIR=bin/ .PHONY:bin diff --git a/LPP_drivers/exemples/ScanAPB/bin/ScanAPB.bin b/LPP_drivers/exemples/ScanAPB/bin/ScanAPB.bin new file mode 100755 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3ce34c86e9a55cc59b4d32a2094e9cf4e73ea4de GIT binary patch literal 153403 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

Y7Vfj3;Z&57Hk*?w|C?Z^nc=<=qtM=QgWk73R0F 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 OXRKS&um(FB9sj?sk2jJ4 diff --git a/LPP_drivers/lib/libapb_lcd_driver.a b/LPP_drivers/lib/libapb_lcd_driver.a index 71c8f72272ccb1d3dacab9ec7abb34b2cd43de92..50eca0d0964aab16fb6e58951b653f43ccb3fe25 GIT binary patch literal 1758 zc$}40L2DCH5T4y6yJ=8ZL&4ZuSOt?5WRqy9X%SgyYI6wnBp#b&v)Dq?mSim!3a07B zgNGs>ya;>n2NV&JUQ!l8k3~H7R1hSG9HN$jz39BRZ_~|^YJFs8-pu=E-Zzuo(YUn*LQn)E-sx@xO9+9 z$Ke9A)6-LOe0J{sxO`JdEBLr7^|h)|ETJ`Owq0;`HN8?)4E?bIO1WqhK`GViplHk0 zs*bPee=M0jo&xjnTKe=J{!k>^4#aVm)B8(XTYVP z?_H+2@BrL}lUfwFk7{ZFj#%E+-a4v1#zkO#NGL=7^#XZR4+hlpu3p>^zrVW=e4ZR% zUw!KMJ$?XAdX0qb{1LF{o@D-22QS$sfs#X6XXj)FA5h}VpF!#1_A>M5a2%xfXVmxn iG;84fe?Y)P-6-p;i<*AsKMS((`wohXY6VA4_kREyABP$M diff --git a/LPP_drivers/lib/liblpp_apb_functions.a b/LPP_drivers/lib/liblpp_apb_functions.a index 339d5d25ca2919068c851bab173b7c4f46a99c22..2e708aedea990bb1bffc905fd57c31a6b5a521f2 GIT binary patch literal 2780 zc$}?PL5Le=6n@D}oar>^xTZ9qWk+#Ml#Ww#~d1Z1eES_6<4gU%SMalaJI}`sIs;LqHBmiQm=u>H~Ue_H> z|F~Y&fi>zz&8%5w1FfcGO?A~Z0ynL?!8jt2y;ip!n2(lz#8_MmHC0+`Hm_mMYqfQw z>eNlc&YAO)G@qZ0V9#P9pU*S%8GxJRz6ik*x%=m_oQyID1fvb331)9%S)4Do(P@CN4oMmr zijADZh|8V>_E|cj&)*Y2+uybfX%4Y1S%sf@z>L8qA7ctX1(T;>$thTB3MPhFq?Qjz zudvP@-oq}|-6Q*>XZ$4XM;Gm3YP3(UNB7nvKGaD+ySUE>p`V-`VtY*ND`Q`fANzfR zV6Ncp?;`%W46$h4q1~PJ_PZCoZIt&>-b2|(`6I?|Z!vL^+Iqi|Is|X8^|gP8c*4Pc z3E{q&+J9ls<*IIIrlnk2R+g0f#@vQP-#%r_)YhxcV~%D2jjB{M&C+dq?4$S<>m$VG zv@lJGH!Ajr6NxB(Rkv(>pN?ZBX(#d% zxk3(KlR5j-hErKZ=~#ih5o(scR>?W~h66dR;#45FYTJmKfl)OZ4c&0yUkrt|;R$Nv z^89;@pQrL!M#mv;1m8RmX*}^I@p*~44g|g(Sugx9oTjly@fN5aXL#ETPo(l3On!5U zIL%DS_w;y8pZ6|KZ%*McYmy2KVHrU(GM8T zfO1NxKct*e(3+6LiIk(Fo}?V2rx?z2l!O02