# HG changeset patch # User galaxyp # Date 1669922216 0 # Node ID 0c27444604dd1271b971da5c983bc679a19f9c90 # Parent 2d655933d65f2bb24b333b3aaa88cbd2e3b85c42 planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 3d1e5f37fd16524a415f707772eeb7ead848c5e3 diff -r 2d655933d65f -r 0c27444604dd SiriusAdapter.xml --- a/SiriusAdapter.xml Mon Dec 14 16:53:26 2020 +0000 +++ b/SiriusAdapter.xml Thu Dec 01 19:16:56 2022 +0000 @@ -1,13 +1,11 @@ - + Tool for metabolite identification using single and tandem mass spectrometry SiriusAdapter macros.xml - macros_autotest.xml - macros_test.xml @@ -16,6 +14,10 @@ #import re ## Preprocessing +#if $sirius_executable: + mkdir sirius_executable && + ln -s '$sirius_executable' 'sirius_executable/${re.sub("[^\w\-_]", "_", $sirius_executable.element_identifier)}.$gxy2omsext($sirius_executable.ext)' && +#end if mkdir in && ln -s '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' && #if $in_featureinfo: @@ -38,6 +40,10 @@ @EXECUTABLE@ -write_ctd ./ && python3 '$__tool_directory__/fill_ctd.py' '@EXECUTABLE@.ctd' '$args_json' '$hardcoded_json' && @EXECUTABLE@ -ini @EXECUTABLE@.ctd +#if $sirius_executable: + -sirius_executable + 'sirius_executable/${re.sub("[^\w\-_]", "_", $sirius_executable.element_identifier)}.$gxy2omsext($sirius_executable.ext)' +#end if -in 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' #if $in_featureinfo: @@ -75,81 +81,84 @@ #end if]]> - + - - -
- - - - - - + + + + + + +
+ + + + + + - +
-
- +
+ + + +
+
+ + + + + + + - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - + + - - +
+
+ + + - - - - - - -
- - - - + + + + - + @@ -172,13 +181,496 @@ OPTIONAL_OUTPUTS is not None and "ctd_out_FLAG" in OPTIONAL_OUTPUTS - - - + + +
+ + + +
+ + + +
+ + + + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + +
+ + +
+ + + +
+ + + + +
+ + + + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + +
+ + +
+ + + +
+ + + + +
+ + + + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + +
+ + +
+ + + +
+ + + + +
+ + + + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + +
+ + +
+ + + +
+ + + + +
+ + + + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + +
+ + +
+ + + +
+ + + + +
+ + + + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + +
+ + +
+ + + +
+ + + + +
+ + + + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + +
+ + +
+ + + +
+ + + + +
+ + + + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + +
+ + +
+ + + +
+ + + + + +
+ + + + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + +
+For more information, visit http://www.openms.de/doxygen/release/2.8.0/html/UTILS_SiriusAdapter.html]]> diff -r 2d655933d65f -r 0c27444604dd fill_ctd.py --- a/fill_ctd.py Mon Dec 14 16:53:26 2020 +0000 +++ b/fill_ctd.py Thu Dec 01 19:16:56 2022 +0000 @@ -32,7 +32,7 @@ for k, v in e.items(): if (k in d and isinstance(d[k], dict) and isinstance(e[k], collections.abc.Mapping)): mergeDicts(d[k], e[k]) - elif k not in d and not isinstance(e[k], collections.abc.Mapping): + elif k not in d: d[k] = e[k] else: sys.stderr.write("fill_ctd.py: could not merge key %s for %s in %s" % (k, d, e)) @@ -135,9 +135,10 @@ # insert the hc_args into the args mergeDicts(args, hc_args) -if "adv_opts_cond" in args: - args.update(args["adv_opts_cond"]) - del args["adv_opts_cond"] +# put the contents of the advanced options section into the main dict +if "adv_opts" in args: + args.update(args["adv_opts"]) + del args["adv_opts"] # IDMapper has in and spectra:in params, in is used in out as format_source", # which does not work in Galaxy: https://github.com/galaxyproject/galaxy/pull/9493" diff -r 2d655933d65f -r 0c27444604dd fill_ctd_clargs.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fill_ctd_clargs.py Thu Dec 01 19:16:56 2022 +0000 @@ -0,0 +1,70 @@ +#!/usr/bin/env python3 + +import operator +from argparse import ArgumentParser +from functools import reduce # forward compatibility for Python 3 +from io import StringIO + +from CTDopts.CTDopts import ( + _Null, + CTDModel, + ModelTypeError, + Parameters +) + + +def getFromDict(dataDict, mapList): + return reduce(operator.getitem, mapList, dataDict) + + +def setInDict(dataDict, mapList, value): + getFromDict(dataDict, mapList[:-1])[mapList[-1]] = value + + +if __name__ == "__main__": + # note add_help=False since otherwise arguments starting with -h will + # trigger an error (despite allow_abbreviate) + parser = ArgumentParser(prog="fill_ctd_clargs", + description="fill command line arguments" + "into a CTD file and write the CTD file to stdout", + add_help=False, allow_abbrev=False) + parser.add_argument("--ini_file", dest="ini_file", help="input ini file", + metavar='INI', default=None, required=True) + parser.add_argument("--ctd_file", dest="ctd_file", help="input ctd file" + "if given then optional parameters from the ini file" + "will be filled with the defaults from this CTD file", + metavar='CTD', default=None, required=False) + args, cliargs = parser.parse_known_args() + + # load CTDModel + ini_model = None + try: + ini_model = CTDModel(from_file=args.ini_file) + except ModelTypeError: + pass + try: + ini_model = Parameters(from_file=args.ini_file) + except ModelTypeError: + pass + assert ini_model is not None, "Could not parse %s, seems to be no CTD/PARAMS" % (args.ini_file) + + # get a dictionary of the ctd arguments where the values of the parameters + # given on the command line are overwritten + ini_values = ini_model.parse_cl_args(cl_args=cliargs, ignore_required=True) + + if args.ctd_file: + ctd_model = CTDModel(from_file=args.ctd_file) + ctd_values = ctd_model.get_defaults() + for param in ini_model.get_parameters(): + if not param.required and (param.default is None or type(param.default) is _Null): + lineage = param.get_lineage(name_only=True) + try: + default = getFromDict(ctd_values, lineage) + except KeyError: + continue + setInDict(ini_values, lineage, default) + + # write the ctd with the values taken from the dictionary + out = StringIO() + ctd_tree = ini_model.write_ctd(out, ini_values) + print(out.getvalue()) diff -r 2d655933d65f -r 0c27444604dd generate-foo.sh --- a/generate-foo.sh Mon Dec 14 16:53:26 2020 +0000 +++ b/generate-foo.sh Thu Dec 01 19:16:56 2022 +0000 @@ -8,17 +8,15 @@ # get the tests from the CMakeLists.txt # 1st remove some tests - # - OpenSwathMzMLFileCacher with -convert_back argumen https://github.com/OpenMS/OpenMS/issues/4399 + # - OpenSwathMzMLFileCacher with -convert_back argument https://github.com/OpenMS/OpenMS/issues/4399 # - IDRipper PATH gets empty causing problems. TODO But overall the option needs to be handled differentlt # - several tools with duplicated input (leads to conflict when linking) - # - TOFCalibration inputs we extension (also in prepare_test_data) https://github.com/OpenMS/OpenMS/pull/4525 # - MaRaCluster with -consensus_out (parameter blacklister: https://github.com/OpenMS/OpenMS/issues/4456) # - FileMerger with mixed dta dta2d input (ftype can not be specified in the test, dta can not be sniffed) # - some input files are originally in a subdir (degenerated cases/), but not in test-data - # - SeedListGenerator: https://github.com/OpenMS/OpenMS/issues/4404 # - OpenSwathAnalyzer 9/10: cachedMzML (not supported yet) - # - FeatureFinderIdentification name clash of two tests https://github.com/OpenMS/OpenMS/pull/5002 - # - TODO SiriusAdapter https://github.com/OpenMS/OpenMS/pull/5010 + # - SiriusAdapter_4 depends on online service which may timeout .. so keep disabled https://github.com/OpenMS/OpenMS/pull/5010 + # - SiriusAdapter_10 should work in >2.8 https://github.com/OpenMS/OpenMS/issues/5869 CMAKE=$(cat $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake | sed 's@${DATA_DIR_SHARE}/@@g' | grep -v 'OpenSwathMzMLFileCacher .*-convert_back' | @@ -26,19 +24,9 @@ grep -v "MaRaClusterAdapter.*-consensus_out"| grep -v "FileMerger_1_input1.dta2d.*FileMerger_1_input2.dta " | sed 's@degenerate_cases/@@g' | - grep -v 'TOPP_SeedListGenerator_3"' | egrep -v 'TOPP_OpenSwathAnalyzer_test_3"|TOPP_OpenSwathAnalyzer_test_4"' | - egrep -v '"TOPP_FeatureFinderIdentification_4"' | - sed 's/\("TOPP_SiriusAdapter_4".*\)-sirius:database all\(.*\)/\1-sirius:database pubchem\2/') - - -# grep -v 'FileFilter.*-spectra:select_polarity ""' | -# grep -v 'MassTraceExtractor_2.ini ' | -# grep -v "FileMerger_6_input2.mzML.*FileMerger_6_input2.mzML" | -# grep -v "IDMerger_1_input1.idXML.*IDMerger_1_input1.idXML" | -# grep -v "degenerated_empty.idXML.*degenerated_empty.idXML" | -# grep -v "FeatureLinkerUnlabeledKD_1_output.consensusXML.*FeatureLinkerUnlabeledKD_1_output.consensusXML" | -# grep -v "FeatureLinkerUnlabeledQT_1_output.consensusXML.*FeatureLinkerUnlabeledQT_1_output.consensusXML" | + sed 's/\("TOPP_SiriusAdapter_4".*\)-sirius:database all\(.*\)/\1-sirius:database pubchem\2/' | + grep -v '"TOPP_SiriusAdapter_10"') # 1st part is a dirty hack to join lines containing a single function call, e.g. # addtest(.... @@ -50,6 +38,7 @@ # >&2 echo $line test_id=$(echo "$line" | cut -d" " -f 1) tool_id=$(echo "$line" | cut -d" " -f 2) + # >&2 echo "test_id $test_id" if [[ $test_id =~ _out_?[0-9]? ]]; then >&2 echo " skip $test_id $line" continue @@ -67,7 +56,7 @@ tes=" \n" line=$(fix_tmp_files "$line") line=$(unique_files "$line") - # >&2 echo $line + # >&2 echo LINE $line #if there is an ini file then we use this to generate the test #otherwise the ctd file is used #other command line parameters are inserted later into this xml @@ -77,19 +66,23 @@ else ini="ctd/$tool_id.ctd" fi + # >&2 echo "========================================================" + # >&2 echo "USING ini $ini" cli=$(echo $line |cut -d" " -f3- | sed 's/-ini [^ ]\+//') ctdtmp=$(mktemp) - #echo python3 fill_ctd_clargs.py --ctd $ini $cli # using eval: otherwise for some reason quoted values are not used properly ('A B' -> ["'A", "B'"]) - # >&2 echo "python3 fill_ctd_clargs.py --ctd $ini $cli" - eval "python3 fill_ctd_clargs.py --ctd $ini $cli" > "$ctdtmp" - # echo $ctdtmp + # >&2 echo "python3 fill_ctd_clargs.py --ini_file $ini $cli" + eval "python3 fill_ctd_clargs.py --ini_file $ini $cli" > "$ctdtmp" + # >&2 echo $ctdtmp # >&2 cat $ctdtmp testtmp=$(mktemp) - python3 $CTDCONVERTER/convert.py galaxy -i $ctdtmp -o $testtmp -s tools_blacklist.txt -f "$FILETYPES" -m macros.xml -t tool.conf -p hardcoded_params.json --tool-version $VERSION --test-only --test-unsniffable csv tsv txt dta dta2d edta mrm splib > /dev/null + # >&2 echo CTDConverter galaxy -i $ctdtmp -o $testtmp -s aux/tools_blacklist.txt -f "$FILETYPES" -m macros.xml -t tool.conf -p aux/hardcoded_params.json --tool-version $VERSION --test-only --test-unsniffable csv tsv txt dta dta2d edta mrm splib --test-condition "compare=sim_size" "delta_frac=0.7" + CTDConverter galaxy -i $ctdtmp -o $testtmp -s aux/tools_blacklist.txt -f "$FILETYPES" -m macros.xml -t tool.conf -p aux/hardcoded_params.json --tool-version $VERSION --test-only --test-unsniffable csv tsv txt dta dta2d edta mrm splib --test-condition "compare=sim_size" "delta_frac=0.7" > /dev/null + echo "" cat $testtmp | grep -v ' /dev/null @@ -130,23 +123,23 @@ #(e.g. for prepare_test_data, e.g. CLI expects csv but test file is txt) #this function replaces the tmp file by the expected file. function fix_tmp_files { -# >&2 echo "FIX $line" + # >&2 echo "FIX $line" ret="" for a in $@; do - if [[ ! $a =~ .tmp$ ]]; then + # >&2 echo " a "$a + if [[ ! $a =~ .tmp$ ]] && [[ ! $a =~ _tmp_ ]]; then ret="$ret $a" continue fi -# >&2 echo " a "$a - g=$(cat $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake | awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | grep '\${DIFF}.*'"$a") -# >&2 echo " g "$g - in1=$(sed 's/.*-in1 \([^ ]\+\).*/\1/' <<<$g) + diff_line=$(cat $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake | awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | grep '\${DIFF}.*'"$a") + # >&2 echo " diff_line "$diff_line + in1=$(sed 's/.*-in1 \([^ ]\+\).*/\1/' <<<$diff_line) # >&2 echo " in1 "$in1 if [[ "$a" != "$in1" ]]; then ret="$ret $a" continue fi - in2=$(sed 's/.*-in2 \([^ ]\+\).*/\1/' <<<$g) + in2=$(sed 's/.*-in2 \([^ ]\+\).*/\1/' <<<$diff_line) in2=$(basename $in2 | sed 's/)$//') # >&2 echo " in2 "$in2 if [[ -f "test-data/$in2" ]]; then @@ -176,11 +169,11 @@ fi ln -f -s $in1 test-data/$in2 done - for i in test-data/*.tmp - do + + find test-data/ -name "*.tmp" -print0 | + while IFS= read -r -d '' i; do if [ ! -e test-data/$(basename $i .tmp) ]; then ln -s $(basename $i) test-data/$(basename $i .tmp) - #ln -s $(basename $i) test-data/$(basename $i .tmp) else ln -fs $(basename $i) test-data/$(basename $i .tmp) fi @@ -194,14 +187,14 @@ # id=$1 # | egrep -i "$id\_.*[0-9]+(_prepare\"|_convert)?" -# TODO SiriusAdapter https://github.com/OpenMS/OpenMS/pull/5010 + # TODO SiriusAdapter depends on online service which may timeout .. so keep disabled https://github.com/OpenMS/OpenMS/pull/5010 cat $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake | sed 's/#.*$//'| sed 's/^\s*//; s/\s*$//' | grep -v "^$" | awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | sed 's/degenerate_cases\///' | egrep -v "WRITEINI|WRITECTD|INVALIDVALUE|DIFF" | grep add_test | egrep "TOPP|UTILS" | sed 's@${DATA_DIR_SHARE}/@@g;'| - sed 's@${TMP_RIP_PATH}@dummy2.tmp@g'| + sed 's@${TMP_RIP_PATH}@./@g'| sed 's@TOFCalibration_ref_masses @TOFCalibration_ref_masses.txt @g; s@TOFCalibration_const @TOFCalibration_const.csv @'| sed 's/\("TOPP_SiriusAdapter_4".*\)-sirius:database all\(.*\)/\1-sirius:database pubchem\2/' | while read line diff -r 2d655933d65f -r 0c27444604dd macros.xml --- a/macros.xml Mon Dec 14 16:53:26 2020 +0000 +++ b/macros.xml Thu Dec 01 19:16:56 2022 +0000 @@ -3,14 +3,15 @@ You can edit this file to add your own macros, if you so desire, or you can add additional macro files using the m/macros parameter --> - 2.6 - 0 + 2.8 + 0 openms openms-thirdparty - - blast + + omssa + blast @@ -33,23 +34,15 @@ - - - - - - - - - - +
+ +
- - ^[^$] - - ^ *((?:\"[^\"]*\" +)|(?:[^ \"]+ +))*((?:\"[^\"]*\")|(?:[^ \"]+)) *$ + + ^[^$] + ^ *((?:\"[^\"]*\" +)|(?:[^ \"]+ +))*((?:\"[^\"]*\")|(?:[^ \"]+)) *$ @@ -65,8 +58,8 @@ - - ^ *[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?( *[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)* *$ + + ^ *[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?( *[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)* *$ @@ -79,8 +72,8 @@ - - ^ *[+-]?[0-9]+( *[+-]?[0-9]+)* *$ + + ^ *[+-]?[0-9]+( *[+-]?[0-9]+)* *$ @@ -120,11 +113,11 @@
diff -r 2d655933d65f -r 0c27444604dd macros_autotest.xml --- a/macros_autotest.xml Mon Dec 14 16:53:26 2020 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27189 +0,0 @@ - - - - - - - - - - - - - -
- - -
-
- - - - - - -
- -
-
- - - - - - -
- - - - - - - - - - - -
- - -
-
- - - - - - -
- -
-
- - - - - - -
- - - - - - - - - - - -
- - -
-
- - - - - - -
- -
-
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - -
- - - - - - -
-
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - -
- - - - - - -
-
- - - - - - - - - - - - - -
- - - - -
-
- - -
-
- - -
- - - - - - -
- - - - - - - - - - - - -
- - - - -
-
- - -
-
- - -
- - - - - - -
- - - - - - - - - - - - -
- - - - -
-
- - -
-
- - -
- - - - - - -
- - - - - - - - - - - - -
- - - - -
-
- - -
-
- - -
- - - - - - -
- - - - - - - - - - - - -
- - - - -
-
- - -
-
- - -
- - - - - - -
- - - - - - - - - - - - -
- - - - -
-
- - -
-
- - -
- - - - - - -
- - - - - - - - - - - - -
- - - - -
-
- - -
-
- - -
- - - - - - -
- - - - - - - - - - - - -
- - - - -
-
- - -
-
- - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
-
- - - - - - - - - - - -
-
- - - - - - - - - - - - - - - -
-
- - - - - - -
-
- - - - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
- - - - - - -
-
- - - - - -
-
- - - -
-
- - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - -
- - - - - - -
-
- - - - - -
-
- - - -
-
- - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - -
- - - - - - -
-
- - - - - -
-
- - - -
-
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - -
-
-
- - - - - - - -
- - - - - - -
- - - - - - - - - - -
- - -
- - - -
-
-
- - - - - - - -
- - - - - - -
- - - - - - - - - - -
- - -
- - - -
-
-
- - - - - - - -
- - - - - - -
- - - - - - - - - - -
- - -
- - - -
-
-
- - - - - - - -
- - - - - - -
- - - - - - - - - - -
- - -
- - - -
-
-
- - - - - - - -
- - - - - - -
- - - - - - - - - - -
- - -
- - - -
-
-
- - - - - - - -
- - - - - - -
- - - - - - - - - - -
- - -
- - - -
-
-
- - - - - - - -
- - - - - - -
-
- - - - - - - - - - -
-
- -
-
- - - - -
-
- - - - - - - - - -
-
- -
-
- -
-
- - - - - - - - -
-
- - - -
-
- - - - - - -
-
- - - - - - - - - - -
- - - - - - -
-
- - - - -
-
- - - - - - - - - - - -
-
- - - - - -
- - - - -
-
- - - - - - -
- - - - - - - - - -
- - - - - - -
-
- - - - -
-
- - - - - - - - - - - -
-
- - - - - -
- - - - -
-
- - - - - - -
-
- - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - - - -
- - - - -
-
- - - - - - -
-
- - - - - - - - - -
-
- - - -
-
- - - - - - - - -
-
- - - - - -
-
- - - - - - - - - - - - - -
-
- - - - - - -
- - - - - - - - -
-
- - - -
-
- - - - - - - - -
-
- - - - - -
-
- - - - - - - - - - - - - -
-
- - - - - - -
- - - - - - - - - -
-
- - - -
-
- - - - - - - - -
-
- - - - - -
-
- - - - - - - - - - - - - -
-
- - - - - - -
- - - - - - - - - -
-
- - - -
-
- - - - - - - - -
-
- - - - - -
-
- - - - - - - - - - - - - -
-
- - - - - - -
- - - - - - - - -
-
- - - -
-
- - - - - - - - -
-
- - - - - -
-
- - - - - - - - - - - - - -
-
- - - - - - -
-
- - - - - - - - - -
- - - - - - -
- - - - - - -
-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - -
- - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
-
- - - - - - - - - -
-
- - - - - - -
-
- - - - - - - - - - -
-
- - - - - - -
-
- - - - - - -
-
- - - - - - -
- - - - - - - - -
-
- - - - - - -
-
- - - - - - - - - - -
-
- - - - - - -
-
- - - - - - -
-
- - - - - - -
-
- - - - - - - - - -
- - - - - - - -
- - - - - - -
- - - - - - - - -
- - - - - - - -
- - - - - - -
-
- - - - - - - - - - -
- - -
- - - - - - -
-
- - - - -
-
- - -
-
- - -
-
- - - -
-
- - - - - -
-
- - - - - - -
- - - - - - - - - -
- - -
- - - - - - -
-
- - - - -
-
- - -
-
- - -
-
- - - -
-
- - - - - -
-
- - - - - - -
- - - - - - - - - -
- - -
- - - - - - -
-
- - - - -
-
- - -
-
- - -
-
- - - -
-
- - - - - -
-
- - - - - - -
- - - - - - - - - -
- - -
- - - - - - -
-
- - - - -
-
- - -
-
- - -
-
- - - -
-
- - - - - -
-
- - - - - - -
- - - - - - - - - -
- - -
- - - - - - -
-
- - - - -
-
- - -
-
- - -
-
- - - -
-
- - - - - -
-
- - - - - - -
- - - - - - - - - -
- - -
- - - - - - -
-
- - - - -
-
- - -
-
- - -
-
- - - -
-
- - - - - -
-
- - - - - - -
- - - - - - - - - -
- - -
- - - - - - -
-
- - - - -
-
- - -
-
- - -
-
- - - -
-
- - - - - -
-
- - - - - - -
-
- - - - - - - - - - -
- - - - -
- - - -
-
- - - - -
-
- - - -
-
- - - - - - -
- - - - - - - - - -
- - - - -
- - - -
-
- - - - -
-
- - - -
-
- - - - - - -
- - - - - - - - - -
- - - - -
- - - -
-
- - - - -
-
- - - -
-
- - - - - - -
- - - - - - - - - -
- - - - -
- - - -
-
- - - - -
-
- - - -
-
- - - - - - -
- - - - - - - - - -
- - - - -
- - - -
-
- - - - -
-
- - - -
-
- - - - - - -
- - - - - - - - - -
- - - - -
- - - -
-
- - - - -
-
- - - -
-
- - - - - - -
-
- - - - - - - - - - -
- - - - -
- - - -
-
- - - - -
-
- - - -
-
- - - - - - -
- - - - - - - - - -
- - - - -
- - - -
-
- - - - -
-
- - - -
-
- - - - - - -
- - - - - - - - - -
- - - - -
- - - -
-
- - - - -
-
- - - -
-
- - - - - - -
- - - - - - - - - -
- - - - -
- - - -
-
- - - - -
-
- - - -
-
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - -
-
-
- - - - - - - - - - - -
- - - - - -
-
-
- -
-
- - -
- - - - - -
-
-
- - - -
-
- - - - - - - - - - - -
-
-
- - - - - - - - - -
-
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - -
- - - - - - -
- - - - - - - - - - - -
- -
-
- - - - -
- - - - - - -
- - - - - - - - - - - -
- -
-
- - - - -
- - - - - - -
- - - - - - - - - - - -
- -
-
- - - - -
- - - - - - -
- - - - - - - - - - - -
- -
-
- - - - -
- - - - - - -
- - - - - - - - - - - -
- -
-
- - - - -
- - - - - - -
- - - - - - - - - - - -
- -
-
- - - - -
- - - - - - -
- - - - - - - - - - - -
- -
-
- - - - -
- - - - - - -
- - - - - - - - - - - -
- -
- -
- - - - -
- - - - - - -
- - - - - - - - - - - -
- -
-
- - - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - -
- - - - - - - - - - - - -
- -
- - - - - - -
- - - - - - - - - - - - -
- -
- - - - - - -
- - - - - - - - - - - - -
- -
- - - - - - -
-
- - - - - - - - - -
- - - - - - - - -
-
- - -
-
- - -
- - - - - - -
- - - - - - - - -
- - - - - - - - -
-
- - -
-
- - -
- - - - - - -
- - - - - - - - -
- - - - - - - - -
-
- - -
-
- - -
- - - - - - -
- - - - - - - - -
- - - - - - - - -
-
- - -
-
- - -
- - - - - - -
- - - - - - - - -
- - - - - - - - -
-
- - -
-
- - -
- - - - - - -
- - - - - - - - -
- - - - - - - -
-
- - -
-
- - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - -
-
- - -
-
- - -
-
- - -
-
- - - - -
- - - - - - -
-
- - - - - - - - - - - - - - - -
- - -
-
- - -
-
- - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
-
- - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
-
- - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
-
- -
- - - - - - -
- - - - - - - - - - - - - - -
- - -
-
- - -
-
- -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
- - - - - - -
- - - - - - - - - - - - - -
- - - - - -
- - - - - - -
- - - - - - - - - - - - - -
- - - - - -
- - - - - - -
- - - - - - - - - - - - - -
- - - - - -
- - - - - - -
- - - - - - - - - - - - - -
- - - - - -
- - - - - - -
- - - - - - - - - - - - - -
- - - - - -
- - - - - - -
- - - - - - - - - - - - - -
- - - - - -
- - - - - - -
- - - - - - - - - - - - - -
- - - - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
-
- - - - -
-
- - -
-
- - - - - - - - - - - - - - - - - - - - -
- - - - -
-
- - - - -
-
- - -
-
- - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - - - - -
-
- - - - - - - - - - -
-
- - -
-
- - - - - - - - - - - - -
-
- - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
- - - - - - -
- - - - - - - - - -
- - - - - - - - - -
-
- - - - - - -
-
- - - - - - - - - - -
-
- - -
-
- - - - - - - - - - - - -
-
- - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
- - - - - - -
- - - - - - - - - -
- - - - - - - - - -
-
- - - - - - -
-
- - - - - - - - - - -
-
- - -
-
- - - - - - - - - - - - -
-
- - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
- - - - - - -
- - - - - - - - - -
- - - - - - - - - -
-
- - - - - - -
-
- - - - - - - - - - -
-
- - -
-
- - - - - - - - - - - - -
-
- - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - - - -
-
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
- - - - - - -
- - - - - - - - -
- - -
-
- - - - - - -
-
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
- - - - - - -
- - - - - - - - -
- -
-
- - - - - - -
-
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
- - - - - - -
- - - - - - - - -
- -
-
- - - - - - -
-
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
- - - - - - -
- - - - - - - - -
- -
-
- - - - - - -
-
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
- - - - - - -
- - - - - - - - -
- - -
-
- - - - - - -
-
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
- - - - - - -
- - - - - - - - - -
- - -
-
- - - - - - -
-
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
- - - - - - -
-
- - - - - - - - - - -
- -
-
- -
- - - - - - - - - -
-
- - - - -
- - - -
-
- - - - -
-
- - - -
-
-
- - - - - - -
- - - - - - - - -
- -
-
- -
- - - - - - - - - -
-
- - - - -
- - - -
-
- - - - -
-
- - - -
-
-
- - - - - - -
- - - - - - - - -
- - -
-
- -
- - - - - - - - - -
-
- - - - -
- - - -
-
- - - - -
-
- - - -
-
-
- - - - - - -
- - - - - - - - -
- -
-
- -
- - - - - - - - - -
-
- - - - -
- - - -
-
- - - - -
-
- - - -
-
-
- - - - - - -
-
- - - - - - - - - -
- - - - - - - -
-
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
- - - - - - -
-
- - - - - - - - - -
- -
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
-
- - - - - - -
-
- - - - - - -
- - - - - - - - -
- -
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
-
- - - - - - -
-
- - - - - - -
- - - - - - - - -
- -
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
-
- - - - - - -
-
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
- - - - - - -
- - - - - - - - - - - -
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
- - - - - - -
- - - - - - - - - - -
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
- - - - - - -
- - - - - - - - - - - -
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
- - - - - - -
- - - - - - - - - - - -
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
- - - - - - -
- - - - - - - - - - - -
- -
- - - - - - - -
-
- - - - -
-
- - - - - -
-
- - -
-
- - - - - - -
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - -
-
- - - - - - - - -
-
- - - - - -
-
- - - - - - -
- - - - - - - - - -
-
- - - -
-
- - - - - - - - -
-
- - - - - -
-
- - - - - - -
-
- - - - - - - - - -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - -
- - - - - - - - - -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - - -
- - - - - - - - - -
- - - - -
- - - - - - -
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
- - - -
-
- - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
- - - -
-
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - -
- - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - -
- - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - -
- - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - -
- - - -
- - - - - - -
-
- - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - -
- - -
- - - - - - -
-
- - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
- - - -
-
- - - - -
-
- -
-
- - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - - -
-
- - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - - - - - -
- - - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - - -
-
- - - - -
-
- - - - - - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - -
- - - - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - - - - -
-
- - -
-
- - - - - - - -
- - - - - - -
-
- - - - - - - - - - - - - -
- - -
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- - - -
- - -
-
-
- - - - - - - - - - - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - -
- - -
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- - - -
- - -
-
-
- - - - - - - - - - - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - -
- - -
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- - - -
- - -
-
-
- - - - - - - - - - - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - -
- - -
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- - - -
- - -
-
-
- - - - - - - - - - - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - -
- - -
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- - - -
- - -
-
-
- - - - - - - - - - - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - -
- - -
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- - - -
- - -
-
-
- - - - - - - - - - - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - -
- - -
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- - - -
- - -
-
-
- - - - - - - - - - - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - -
- - -
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- - - -
- - -
-
-
- - - - - - - - - - - - - - - - - - -
-
- - - - - - -
- - - - - - - - - - - - -
- - -
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- - - -
- - -
-
-
- - - - - - - - - - - - - - - - - - -
-
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
-
- - - - - - - - - - - - - -
- - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- - - -
- - -
-
-
- - - - - - - - - - - - - - - - - - -
-
-
- - - - - -
- - - - - - -
- - - - - - - - - - - - -
- - - - - -
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- - - -
- - -
-
-
- - - - - - - - - - - - - - - - - - -
-
-
- - - - - -
- - - - - - -
- - - - - - - - - - - - -
- - - - - -
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- - - -
- - -
-
-
- - - - - - - - - - - - - - - - - - -
-
-
- - - - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
-
- - - -
-
- - - - - - - - - - - - -
- -
-
- -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - - -
-
- -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - -
- - - - - - - -
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - -
- - - - - - - -
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - -
- - - - - - - -
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - -
- - - - - - - -
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - -
- - - - - - - -
- - - - - - - - - -
-
- - - - - - -
-
- - - - - - - - - -
- - - - - - - - - -
- - - - - - -
- - - - - - - - -
- - - - - - - - - -
- - - - - - -
-
- - - - - - - - - - -
- - - - - - -
- -
- - - - -
-
- - -
-
-
- - - - - -
-
- -
-
- - - - - -
- - - - -
- - - - -
-
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - -
- - - - - - -
- -
- - - - -
-
- - -
-
-
- - - - - -
-
- -
-
- - - - - -
- - - - -
- - - - -
-
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - -
- - - - - - -
- -
- - - - -
-
- - -
-
-
- - - - - -
-
- -
-
- - - - - -
- - - - -
- - - - -
-
-
-
- - - - - - - - - -
-
- - - - - - -
- - - - - - - - - -
- - - - - - -
- -
- - - - -
-
- - -
-
-
- - - - - -
-
- -
-
- - - - - -
- - - - -
- - - - -
-
-
-
- - - - - - - - - -
-
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - -
-
- - - - - - - - - - -
-
- - - - -
-
- - -
-
-
- - - - - - - - - -
- - - - - -
-
-
- - - - - - -
- - - - - - - - - - - - - - - - -
- - - - - - -
-
- - - - - - - - - - -
-
- - - - -
-
- - -
-
-
- - - - - - - - - -
- - - - - -
-
-
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - - - - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - -
- - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - - - - - -
- - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - - - - - -
- - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - - - - - -
- - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - - - - -
- - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - - - - - -
- - -
-
- - - -
- - - - - - -
-
- - - - - - - - - - - - - -
- - - -
-
- - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
-
- -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
-
- - -
-
- - - -
-
- - - - -
-
- -
-
- - - - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - -
- - - - - -
-
- - -
-
- - - -
-
- - - - -
-
- -
-
- - - - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - -
- - - - - -
-
- - -
-
- - - -
-
- - - - -
-
- -
-
- - - - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - -
- - - - - -
-
- - -
-
- - - -
-
- - - - -
-
- -
-
- - - - - - - - - - - - - - - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - - - -
-
- - -
-
- - - -
-
- -
-
- - - - -
-
- -
-
- - - - - - -
-
- - - - - - - - - - -
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - -
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - -
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - -
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - -
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - -
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
- - - - - - - - - - - -
- - - - - - - -
-
- - - - - - - - - - - - - - -
- - - - - - -
-
- - - - - - - - - - - - - -
- - - - - -
-
- -
-
- -
-
- - - - -
-
- - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - -
- - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
- - - - - - - - - - -
- - - -
- - - - - - -
-
- - - - - - - - - - - - - -
- - -
-
- - - - - - - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - -
- - -
-
- - - - - - - -
-
- - - -
- - - - - - - - - -
- - - - - - - - - - - - -
- - -
-
- - - - - - - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - -
- - -
-
- - - - - - - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - -
- - -
-
- - - - - - - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - -
- - -
-
- - - - - - - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - -
- - -
-
- - - - - - - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - -
- - -
-
- - - - - - - -
-
- - - -
- - - - - - -
- - - - - - - - - - - - -
- - -
-
- - - - - - - -
-
- - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - - - -
- -
- - - - -
-
- - -
-
-
- - - - - -
-
- -
-
- - - - - -
- - - - -
- - - - -
-
-
-
- - - - - - - - - -
-
-
- - - - - - -
- - - - - - - - - - - - -
-
- - - - - - -
- -
- - - - -
-
- - -
-
-
- - - - - -
-
- -
-
- - - - - -
- - - - -
- - - - -
-
-
-
- - - - - - - - - -
-
-
- - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 2d655933d65f -r 0c27444604dd macros_test.xml --- a/macros_test.xml Mon Dec 14 16:53:26 2020 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,553 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 2d655933d65f -r 0c27444604dd readme.md --- a/readme.md Mon Dec 14 16:53:26 2020 +0000 +++ b/readme.md Thu Dec 01 19:16:56 2022 +0000 @@ -74,10 +74,15 @@ Preprocessing: -- For each input / output data set parameter a directory is crated (named by - the parameter) - For input data set parameters the links to the actual location of the data - sets are created + sets are created, the link names are `element_identifier`.`EXT`, where `EXT` + is an extension that is known by OpenMS +- In order to avoid name collisions for the created links each is placed in a + unique directory: `PARAM_NAME/DATASET_ID`, where `PARAM_NAME` is the name + of the parameter and `DATASET_ID` is the id of the Galaxy dataset +- the same happens for output parameters that are in 1:1 correspondence with + an input parameter + Main: diff -r 2d655933d65f -r 0c27444604dd test-data.sh --- a/test-data.sh Mon Dec 14 16:53:26 2020 +0000 +++ b/test-data.sh Thu Dec 01 19:16:56 2022 +0000 @@ -1,22 +1,25 @@ #!/usr/bin/env bash -VERSION=2.6 -FILETYPES="filetypes.txt" -CONDAPKG="https://anaconda.org/bioconda/openms/2.6.0/download/linux-64/openms-2.6.0-h4afb90d_0.tar.bz2" +VERSION=2.8 +FILETYPES="aux/filetypes.txt" +CONDAPKG="https://anaconda.org/bioconda/openms/2.8.0/download/linux-64/openms-2.8.0-h7ca0330_0.tar.bz2" # import the magic . ./generate-foo.sh # install conda if [ -z "$tmp" ]; then - tmp=$(mktemp -d) - created="yes" + tmp=$(mktemp -d) + created="yes" fi export OPENMSGIT="$tmp/OpenMS$VERSION.0-git" export OPENMSPKG="$tmp/OpenMS$VERSION-pkg/" -export OPENMSENV="$tmp/OpenMS$VERSION-env" -export CTDCONVERTER="$tmp/CTDConverter" +export OPENMSENV="OpenMS$VERSION-env" + +if [ -z "$CTDCONVERTER" ]; then + export CTDCONVERTER="$tmp/CTDConverter" +fi if [[ -z "$1" ]]; then autotests="/dev/null" @@ -25,11 +28,11 @@ fi if type conda > /dev/null; then - true + true else - wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh - bash Miniconda3-latest-Linux-x86_64.sh -b -p "$tmp/miniconda" - source "$tmp/miniconda/bin/activate" + wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh + bash Miniconda3-latest-Linux-x86_64.sh -b -p "$tmp/miniconda" + source "$tmp/miniconda/bin/activate" fi eval "$(conda shell.bash hook)" @@ -42,24 +45,27 @@ echo "Clone OpenMS $VERSION sources" if [[ ! -d $OPENMSGIT ]]; then - git clone -b release/$VERSION.0 https://github.com/OpenMS/OpenMS.git $OPENMSGIT - cd $OPENMSGIT - git submodule init - git submodule update - cd - + # TODO >2.8 reenable original release branch .. also in else branch + # the plus branch contains commits from https://github.com/OpenMS/OpenMS/pull/5920 and https://github.com/OpenMS/OpenMS/pull/5917 + # git clone -b release/$VERSION.0 https://github.com/OpenMS/OpenMS.git $OPENMSGIT + git clone -b release/$VERSION.0-plus https://github.com/bernt-matthias/OpenMS.git $OPENMSGIT + cd $OPENMSGIT + git submodule init + git submodule update + cd - else - cd $OPENMSGIT - git pull origin release/$VERSION.0 - cd - + cd $OPENMSGIT + git pull origin release/$VERSION.0-plus + cd - fi echo "Create OpenMS $VERSION conda env" # TODO currently add lxml (needed by CTDConverter) # TODO for some reason a to recent openjdk is used if conda env list | grep "$OPENMSENV"; then - true + true else - conda create -y --quiet --override-channels --channel iuc --channel conda-forge --channel bioconda --channel defaults -p $OPENMSENV openms=$VERSION openms-thirdparty=$VERSION ctdopts=1.4 lxml + conda create -y --quiet --override-channels --channel iuc --channel conda-forge --channel bioconda --channel defaults -n $OPENMSENV openms=$VERSION openms-thirdparty=$VERSION omssa=2.1.9 ctdopts=1.5 lxml # chmod -R u-w $OPENMSENV fi ############################################################################### @@ -69,10 +75,10 @@ echo "Download OpenMS $VERSION package $CONDAPKG" if [[ ! -d $OPENMSPKG ]]; then - mkdir $OPENMSPKG - wget -q -P $OPENMSPKG/ "$CONDAPKG" - tar -xf $OPENMSPKG/"$(basename $CONDAPKG)" -C $OPENMSPKG/ - rm $OPENMSPKG/"$(basename $CONDAPKG)" + mkdir $OPENMSPKG + wget -q -P $OPENMSPKG/ "$CONDAPKG" + tar -xf $OPENMSPKG/"$(basename $CONDAPKG)" -C $OPENMSPKG/ + rm $OPENMSPKG/"$(basename $CONDAPKG)" fi ############################################################################### @@ -81,40 +87,46 @@ ############################################################################### echo "Clone CTDConverter" if [[ ! -d $CTDCONVERTER ]]; then - #git clone https://github.com/WorkflowConversion/CTDConverter.git CTDConverter - git clone -b topic/cdata https://github.com/bernt-matthias/CTDConverter.git $CTDCONVERTER + #git clone https://github.com/WorkflowConversion/CTDConverter.git CTDConverter + git clone -b topic/fix-selects2 https://github.com/bernt-matthias/CTDConverter.git $CTDCONVERTER else - cd $CTDCONVERTER - git pull origin topic/cdata - cd - + cd $CTDCONVERTER + git pull origin topic/fix-selects2 + cd - fi +conda activate $OPENMSENV +cd $CTDCONVERTER +python -m pip install . --no-deps +cd - +conda deactivate -############################################################################### -## copy all the test data files to test-data -## most of it (outputs) will be overwritten later, but its needed for -## prepare_test_data -############################################################################### + +# ############################################################################### +# ## copy all the test data files to test-data +# ## most of it (outputs) will be overwritten later, but its needed for +# ## prepare_test_data +# ############################################################################### echo "Get test data" -find test-data -type f,l,d ! -name "*fa" ! -name "*loc" -delete +find test-data -type f,l,d ! -name "*fa" ! -name "*loc" ! -name "test-data" -delete cp $(find $OPENMSGIT/src/tests/topp/ -type f | grep -Ev "third_party_tests.cmake|CMakeLists.txt|check_ini") test-data/ cp -r $OPENMSGIT/share/OpenMS/MAPPING/ test-data/ cp -r $OPENMSGIT/share/OpenMS/CHEMISTRY test-data/ cp -r $OPENMSGIT/share/OpenMS/examples/ test-data/ -if [[ ! -f test-data/MetaboliteSpectralDB.mzML ]]; then - wget -nc https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Tutorials/Data/latest/Example_Data/Metabolomics/databases/MetaboliteSpectralDB.mzML - mv MetaboliteSpectralDB.mzML test-data/ +if [ ! -f test-data/MetaboliteSpectralDB.mzML ]; then + wget -nc https://abibuilder.cs.uni-tuebingen.de/archive/openms/Tutorials/Data/latest/Example_Data/Metabolomics/databases/MetaboliteSpectralDB.mzML + mv MetaboliteSpectralDB.mzML test-data/ fi ln -fs TOFCalibration_ref_masses test-data/TOFCalibration_ref_masses.txt ln -fs TOFCalibration_const test-data/TOFCalibration_const.csv if [ ! -d test-data/pepnovo_models/ ]; then - mkdir -p /tmp/pepnovo - wget -nc http://proteomics.ucsd.edu/Software/PepNovo/PepNovo.20120423.zip - unzip PepNovo.20120423.zip -d /tmp/pepnovo/ - mv /tmp/pepnovo/Models test-data/pepnovo_models/ - rm PepNovo.20120423.zip - rm -rf /tmp/pepnovo + mkdir -p /tmp/pepnovo + wget -nc http://proteomics.ucsd.edu/Software/PepNovo/PepNovo.20120423.zip + unzip PepNovo.20120423.zip -d /tmp/pepnovo/ + mv /tmp/pepnovo/Models test-data/pepnovo_models/ + rm PepNovo.20120423.zip + rm -rf /tmp/pepnovo fi ############################################################################### ## generate ctd files using the binaries in the conda package @@ -124,17 +136,13 @@ rm -rf ctd mkdir -p ctd -# TODO because of https://github.com/OpenMS/OpenMS/issues/4641 -# this needs to be done from within test-data -cd test-data for i in $OPENMSPKG/bin/* do - b=$(basename $i) - echo $b - $b -write_ctd ../ctd/ - sed -i -e 's/²/^2/' ../ctd/$b.ctd + b=$(basename $i) + echo $b + $b -write_ctd ctd/ + sed -i -e 's/²/^2/' ctd/$b.ctd done -cd - ############################################################################### ## fix ini files: OpenMS test data contains ini files with outdated ini files. ## e.g. variables might be in different nodes, outdated variables present, new @@ -146,17 +154,17 @@ echo "Update test INI files" for ini in test-data/*ini do - tool=$(cat $ini | grep 'NODE name="' | head -n 1 | sed 's/.*name="\([^"]\+\)".*/\1/') - bin=$(which $tool) - if [[ -z $bin ]]; then + tool=$(cat $ini | grep 'NODE name="' | head -n 1 | sed 's/.*name="\([^"]\+\)".*/\1/') + bin=$(which $tool) + if [[ -z $bin ]]; then >&2 echo "missing binary to convert $ini" - continue - fi - cp $ini $ini.backup - $bin -ini $ini -write_ini $ini > $ini.stdout 2> $ini.stderr - if [[ "$?" -ne "0" ]]; then - >&2 echo "could not convert $ini" - fi + continue + fi + cp $ini $ini.backup + $bin -ini $ini -write_ini $ini > $ini.stdout 2> $ini.stderr + if [[ "$?" -ne "0" ]]; then + >&2 echo "could not convert $ini" + fi done ############################################################################### @@ -185,17 +193,17 @@ prepare_test_data >> prepare_test_data.sh #tmp_test_data.sh -# prepare_test_data > tmp_test_data.sh -# # remove calls not needed for the tools listed in any .list file -# echo LIST $LIST -# if [ ! -z "$LIST" ]; then -# REX=$(echo $LIST | sed 's/ /\n/g' | sed 's@.*/\([^/]\+\).xml$@\1@' | tr '\n' '|' | sed 's/|$//') -# else -# REX=".*" -# fi -# echo REX $REX -# cat tmp_test_data.sh | egrep "($REX)" >> prepare_test_data.sh -# rm tmp_test_data.sh +## prepare_test_data > tmp_test_data.sh +## # remove calls not needed for the tools listed in any .list file +## echo LIST $LIST +## if [ ! -z "$LIST" ]; then +## REX=$(echo $LIST | sed 's/ /\n/g' | sed 's@.*/\([^/]\+\).xml$@\1@' | tr '\n' '|' | sed 's/|$//') +## else +## REX=".*" +## fi +## echo REX $REX +## cat tmp_test_data.sh | egrep "($REX)" >> prepare_test_data.sh +## rm tmp_test_data.sh echo "Execute test shell script" chmod u+x prepare_test_data.sh @@ -204,14 +212,13 @@ cd - || exit -############################################################################### -## create/update test data for the manually generated tests -## - run convert once with the manual tests only and -## - update test-data (needs to run 2x) -############################################################################### +# ############################################################################### +# ## create/update test data for the manually generated tests +# ## - run convert once with the manual tests only and +# ## - update test-data (needs to run 2x) +# ############################################################################### echo "Execute test shell script for manually curated tests" chmod u+x prepare_test_data_manual.sh - cd ./test-data || exit ../prepare_test_data_manual.sh cd - || exit @@ -220,22 +227,28 @@ ############################################################################### ## auto generate tests ############################################################################### + echo "Write test macros to $autotests" echo "" > "$autotests" -for i in $(ls *xml |grep -v macros) + +for i in $(ls ctd/*ctd) do - b=$(basename "$i" .xml) - get_tests2 "$b" >> "$autotests" + b=$(basename "$i" .ctd) + get_tests2 "$b" >> "$autotests" done echo "" >> "$autotests" -echo "Create test data links" -link_tmp_files +# echo "Create test data links" +# Breaks DecoyDatabase +# link_tmp_files # tests for tools using output_prefix parameters can not be auto generated # hence we output the tests for manual curation in macros_test.xml # and remove them from the autotests -# -> OpenSwathFileSplitter IDRipper MzMLSplitter +# -> OpenSwathFileSplitter IDRipper MzMLSplitter SeedListGenerator +# TODO reevaluate in >2.8 +# - https://github.com/OpenMS/OpenMS/pull/5873 +# - https://github.com/OpenMS/OpenMS/pull/5912 # # Furthermore we remove tests for tools without binaries in conda # -> MSFragger MaRaClusterAdapter NovorAdapter @@ -243,23 +256,23 @@ # not able to specify composite test data # -> SpectraSTSearchAdapter if [[ ! -z "$1" ]]; then - echo "" > macros_discarded_auto.xml - for i in OpenSwathFileSplitter IDRipper MzMLSplitter MSFraggerAdapter MaRaClusterAdapter NovorAdapter SpectraSTSearchAdapter - do - echo "" >> macros_discarded_auto.xml - xmlstarlet sel -t -c "/macros/xml[@name='autotest_$i']/test" macros_autotest.xml >> macros_discarded_auto.xml - echo "" >> macros_discarded_auto.xml - xmlstarlet ed -d "/macros/xml[@name='autotest_$i']/test" macros_autotest.xml > tmp - mv tmp macros_autotest.xml - done - >&2 echo "discarded autogenerated macros for curation in macros_discarded_auto.xml" + echo "" > macros_discarded_auto.xml + for i in OpenSwathFileSplitter IDRipper MzMLSplitter SeedListGenerator MSFraggerAdapter MaRaClusterAdapter NovorAdapter SpectraSTSearchAdapter + do + echo "" >> macros_discarded_auto.xml + xmlstarlet sel -t -c "/macros/xml[@name='autotest_$i']/test" macros_autotest.xml >> macros_discarded_auto.xml + echo "" >> macros_discarded_auto.xml + xmlstarlet ed -d "/macros/xml[@name='autotest_$i']/test" macros_autotest.xml > tmp + mv tmp macros_autotest.xml + done + >&2 echo "discarded autogenerated macros for curation in macros_discarded_auto.xml" fi conda deactivate ## remove broken symlinks in test-data find test-data/ -xtype l -delete -# if [ ! -z "$created" ]; then -# echo "Removing temporary directory" -# rm -rf "$tmp" -# fi +if [ ! -z "$created" ]; then + echo "Removing temporary directory" + rm -rf "$tmp" +fi diff -r 2d655933d65f -r 0c27444604dd test-data/spectrast.log --- a/test-data/spectrast.log Mon Dec 14 16:53:26 2020 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -START: (Sun Dec 13 17:22:43 2020) /tmp/openms-stuff//OpenMS2.6.0-git/THIRDPARTY/Linux/64bit/SpectraST/spectrast -s -sM3 -sLtestLib.splib -sP! -sA! -sz! -sEpepXML -sO/tmp SpectrastAdapter_1_hack.mzML -GENERAL: File offset size is 8 bytes. Big library supported. -GENERAL: Pointer size is 8 bytes. -MZXML SEARCH: Sorted query spectra in "SpectrastAdapter_1_hack.mzML" by precursor m/z -MZXML SEARCH: Searched "SpectrastAdapter_1_hack.mzML" (Max 3 scans; 3 searched, 0 likely good; 0 failed filter; 0 missing; 0 MS1) -MZXML SEARCH: Searched 1 files total (Max 3 scans; 3 searched, 0 likely good; 0 failed filter; 0 missing; 0 MS1) -SEARCH STATS: Breakdown: +1 = 0 ; +2 = 0 ; +3 = 0 ; +4 = 0 ; +5 = 0 ; -PERFORMANCE: Total Run Time = 0 seconds. Total Number of Searches Performed = 3. Run Time per Search = 0 seconds.. - -END: (Sun Dec 13 17:22:43 2020) /tmp/openms-stuff//OpenMS2.6.0-git/THIRDPARTY/Linux/64bit/SpectraST/spectrast -s -sM3 -sLtestLib.splib -sP! -sA! -sz! -sEpepXML -sO/tmp SpectrastAdapter_1_hack.mzML -========== -START: (Sun Dec 13 17:22:43 2020) /tmp/openms-stuff//OpenMS2.6.0-git/THIRDPARTY/Linux/64bit/SpectraST/spectrast -s -sM3 -sLtestLib.splib -sP! -sA! -sz! -sEtsv -sO/tmp SpectrastAdapter_1_hack.mzML -GENERAL: File offset size is 8 bytes. Big library supported. -GENERAL: Pointer size is 8 bytes. -MZXML SEARCH: Sorted query spectra in "SpectrastAdapter_1_hack.mzML" by precursor m/z -MZXML SEARCH: Searched "SpectrastAdapter_1_hack.mzML" (Max 3 scans; 3 searched, 0 likely good; 0 failed filter; 0 missing; 0 MS1) -MZXML SEARCH: Searched 1 files total (Max 3 scans; 3 searched, 0 likely good; 0 failed filter; 0 missing; 0 MS1) -SEARCH STATS: Breakdown: +1 = 0 ; +2 = 0 ; +3 = 0 ; +4 = 0 ; +5 = 0 ; -PERFORMANCE: Total Run Time = 1 seconds. Total Number of Searches Performed = 3. Run Time per Search = 0.333333 seconds.. - -END: (Sun Dec 13 17:22:44 2020) /tmp/openms-stuff//OpenMS2.6.0-git/THIRDPARTY/Linux/64bit/SpectraST/spectrast -s -sM3 -sLtestLib.splib -sP! -sA! -sz! -sEtsv -sO/tmp SpectrastAdapter_1_hack.mzML -==========