From e992402001fc258be9d43bc039be3de5c513769a Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Fri, 31 Jan 2025 16:32:26 -0500 Subject: [PATCH 01/41] [AN-142] Adding cost centaur test --- .../lmtest/SmartSeq2SingleSample.test | 23 ++ .../src/main/resources/lmtest/hca/HISAT2.wdl | 296 ++++++++++++++++++ .../src/main/resources/lmtest/hca/Picard.wdl | 192 ++++++++++++ .../src/main/resources/lmtest/hca/RSEM.wdl | 61 ++++ .../SmartSeq2SingleSample.inputs.json | 17 + .../SmartSeq2SingleSample.labels.json | 5 + .../SmartSeq2SingleSample.wdl | 138 ++++++++ .../sub_workflow_hello_world.wdl | 8 + .../sub_workflow_hello_world_import.wdl | 22 ++ .../lmtest/sub_workflow_hello_world_cost.test | 16 + centaur/src/main/resources/reference.conf | 2 +- .../sub_workflow_hello_world.test | 5 +- .../centaur/api/CentaurCromwellClient.scala | 3 + .../src/main/scala/centaur/test/Test.scala | 35 +++ .../centaur/test/formulas/TestFormulas.scala | 9 + .../test/standard/CentaurTestCase.scala | 1 + .../test/standard/CentaurTestFormat.scala | 3 + .../centaur/test/workflow/Workflow.scala | 7 +- .../scala/cromwell/api/CromwellClient.scala | 23 +- .../cromwell/api/model/WorkflowCost.scala | 9 + docs/developers/Centaur.md | 6 + gsutil_output.txt | 89 ++++++ 22 files changed, 957 insertions(+), 13 deletions(-) create mode 100644 centaur/src/main/resources/lmtest/SmartSeq2SingleSample.test create mode 100644 centaur/src/main/resources/lmtest/hca/HISAT2.wdl create mode 100644 centaur/src/main/resources/lmtest/hca/Picard.wdl create mode 100644 centaur/src/main/resources/lmtest/hca/RSEM.wdl create mode 100644 centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.inputs.json create mode 100644 centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.labels.json create mode 100644 centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.wdl create mode 100644 centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world.wdl create mode 100644 centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world_import.wdl create mode 100644 centaur/src/main/resources/lmtest/sub_workflow_hello_world_cost.test create mode 100644 cromwellApiClient/src/main/scala/cromwell/api/model/WorkflowCost.scala create mode 100644 gsutil_output.txt diff --git a/centaur/src/main/resources/lmtest/SmartSeq2SingleSample.test b/centaur/src/main/resources/lmtest/SmartSeq2SingleSample.test new file mode 100644 index 00000000000..3710ac65f79 --- /dev/null +++ b/centaur/src/main/resources/lmtest/SmartSeq2SingleSample.test @@ -0,0 +1,23 @@ +name: SmartSeq2SingleSample +testFormat: workflowsuccessandverifycost + +files { + workflow: hca/SmartSeq2SingleSample/SmartSeq2SingleSample.wdl + inputs: hca/SmartSeq2SingleSample/SmartSeq2SingleSample.inputs.json + labels: hca/SmartSeq2SingleSample/SmartSeq2SingleSample.labels.json + imports: [ + hca/HISAT2.wdl, + hca/Picard.wdl, + hca/RSEM.wdl + ] +} + +metadata { + workflowName: SmartSeq2SingleCell + status: Succeeded + "labels.project": "mint-pipeline-dev" + "labels.pipeline": "ss2" + "labels.name": "pipeline" +} + +cost: 0.011111 \ No newline at end of file diff --git a/centaur/src/main/resources/lmtest/hca/HISAT2.wdl b/centaur/src/main/resources/lmtest/hca/HISAT2.wdl new file mode 100644 index 00000000000..72cca225c3d --- /dev/null +++ b/centaur/src/main/resources/lmtest/hca/HISAT2.wdl @@ -0,0 +1,296 @@ +task HISAT2PairedEnd { + File hisat2_ref + File fastq1 + File fastq2 + String ref_name + String output_basename + String sample_name + + # runtime values + String docker = "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0" + Int machine_mem_mb = 15000 + Int cpu = 4 + # use provided disk number or dynamically size on our own, 10 is our zipped fastq -> bam conversion with 50GB of additional disk + Int disk = ceil((size(fastq1, "GB") + size(fastq2, "GB") * 10) + size(hisat2_ref, "GB") + 50) + Int preemptible = 5 + + meta { + description: "HISAT2 alignment task will align paired-end fastq reads to reference genome." + } + + parameter_meta { + hisat2_ref: "HISAT2 reference" + fastq1: "gz forward fastq file" + fastq2: "gz reverse fastq file" + ref_name: "the basename of the index for the reference genome" + output_basename: "basename used for output files" + sample_name: "sample name of input" + docker: "(optional) the docker image containing the runtime environment for this task" + machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" + cpu: "(optional) the number of cpus to provision for this task" + disk: "(optional) the amount of disk space (GB) to provision for this task" + preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" + } + + command { + # Note that files MUST be gzipped or the module will not function properly + # This will be addressed in the future either by a change in how Hisat2 functions or a more + # robust test for compression type. + + set -e + + # fix names if necessary. + if [ "${fastq1}" != *.fastq.gz ]; then + FQ1=${fastq1}.fastq.gz + mv ${fastq1} ${fastq1}.fastq.gz + else + FQ1=${fastq1} + fi + if [ "${fastq2}" != *.fastq.gz ]; then + FQ2=${fastq2}.fastq.gz + mv ${fastq2} ${fastq2}.fastq.gz + else + FQ2=${fastq2} + fi + + tar --no-same-owner -xvf "${hisat2_ref}" + + # run HISAT2 to genome reference with dedault parameters + # --seed to fix pseudo-random number and in order to produce deterministics results + # -k --secondary to output multiple mapping reads. --keep 10 will output up to 10 multiple mapping reads, which is default in HISAT2 + hisat2 -t \ + -x ${ref_name}/${ref_name} \ + -1 $FQ1 \ + -2 $FQ2 \ + --rg-id=${sample_name} --rg SM:${sample_name} --rg LB:${sample_name} \ + --rg PL:ILLUMINA --rg PU:${sample_name} \ + --new-summary --summary-file ${output_basename}.log \ + --met-file ${output_basename}.hisat2.met.txt --met 5 \ + --seed 12345 \ + -k 10 \ + --secondary \ + -p ${cpu} -S ${output_basename}.sam + samtools sort -@ ${cpu} -O bam -o "${output_basename}.bam" "${output_basename}.sam" + } + + runtime { + docker: docker + memory: "${machine_mem_mb} MB" + disks: "local-disk ${disk} HDD" + cpu: cpu + preemptible: preemptible + } + + output { + File log_file = "${output_basename}.log" + File met_file = "${output_basename}.hisat2.met.txt" + File output_bam = "${output_basename}.bam" + } +} + +task HISAT2RSEM { + File hisat2_ref + File fastq1 + File fastq2 + String ref_name + String output_basename + String sample_name + + # runtime values + String docker = "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0" + Int machine_mem_mb = 15000 + Int cpu = 4 + # use provided disk number or dynamically size on our own, 10 is our zipped fastq -> bam conversion with 50GB of additional disk + Int disk = ceil((size(fastq1, "GB") + size(fastq2, "GB") * 10) + size(hisat2_ref, "GB") + 50) + Int preemptible = 5 + + meta { + description: "This HISAT2 alignment task will align paired-end fastq reads to transcriptome only. " + } + + parameter_meta { + hisat2_ref: "HISAT2 reference" + fastq1: "gz forward fastq file" + fastq2: "gz reverse fastq file" + ref_name: "the basename of the index for the reference genome" + output_basename: "basename used for output files" + sample_name: "sample name of input" + docker: "(optional) the docker image containing the runtime environment for this task" + machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" + cpu: "(optional) the number of cpus to provision for this task" + disk: "(optional) the amount of disk space (GB) to provision for this task" + preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" + } + + command { + set -e + + # fix names if necessary. + if [ "${fastq1}" != *.fastq.gz ]; then + FQ1=${fastq1}.fastq.gz + mv ${fastq1} ${fastq1}.fastq.gz + else + FQ1=${fastq1} + fi + + if [ "${fastq2}" != *.fastq.gz ]; then + FQ2=${fastq2}.fastq.gz + mv ${fastq2} ${fastq2}.fastq.gz + else + FQ2=${fastq2} + fi + + tar --no-same-owner -xvf "${hisat2_ref}" + + # increase gap alignment penalty to avoid gap alignment + # --mp 1,1 --np 1 --score-min L,0,-0.1 is default paramesters when rsem runs alignment by using bowtie2/Bowtie + # --mp 1,1 and --np 1 will reduce mismatching penalty to 1 for all. + # with no-splice-alignment no-softclip no-mixed options on, HISAT2 will only output concordant alignment without soft-cliping + # --rdg 99999999,99999999 and --rfg 99999999,99999999 will give an infinity penalty to alignment with indel.As results + # no indel/gaps in alignments + hisat2 -t \ + -x ${ref_name}/${ref_name} \ + -1 $FQ1 \ + -2 $FQ2 \ + --rg-id=${sample_name} --rg SM:${sample_name} --rg LB:${sample_name} \ + --rg PL:ILLUMINA --rg PU:${sample_name} \ + --new-summary --summary-file ${output_basename}.log \ + --met-file ${output_basename}.hisat2.met.txt --met 5 \ + -k 10 \ + --mp 1,1 \ + --np 1 \ + --score-min L,0,-0.1 \ + --secondary \ + --no-mixed \ + --no-softclip \ + --no-discordant \ + --rdg 99999999,99999999 \ + --rfg 99999999,99999999 \ + --no-spliced-alignment \ + --seed 12345 \ + -p ${cpu} -S ${output_basename}.sam + samtools view -bS "${output_basename}.sam" > "${output_basename}.bam" + } + + runtime { + docker: docker + memory: "${machine_mem_mb} MB" + disks: "local-disk ${disk} HDD" + cpu: cpu + preemptible: preemptible + } + + output { + File log_file = "${output_basename}.log" + File met_file = "${output_basename}.hisat2.met.txt" + File output_bam = "${output_basename}.bam" + } +} + +task HISAT2SingleEnd { + File hisat2_ref + File fastq + String ref_name + String output_basename + String sample_name + + # runtime values + String docker = "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0" + Int machine_mem_mb = 15000 + Int cpu = 4 + # use provided disk number or dynamically size on our own, 10 is our zipped fastq -> bam conversion with 50GB of additional disk + Int disk = ceil((size(fastq, "GB") * 10) + size(hisat2_ref, "GB") + 50) + Int preemptible = 5 + + meta { + description: "This HISAT2 alignment task will align single-end fastq reads to reference genome." + } + + parameter_meta { + hisat2_ref: "HISAT2 reference" + fastq: "input fastq from single ended data" + ref_name: "the basename of the index for the reference genome" + output_basename: "basename used for output files" + sample_name: "sample name of input" + docker: "(optional) the docker image containing the runtime environment for this task" + machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" + cpu: "(optional) the number of cpus to provision for this task" + disk: "(optional) the amount of disk space (GB) to provision for this task" + preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" + } + + command { + set -e + tar --no-same-owner -xvf "${hisat2_ref}" + hisat2 -t \ + -x ${ref_name}/${ref_name} \ + -U ${fastq} \ + --rg-id=${sample_name} --rg SM:${sample_name} --rg LB:${sample_name} \ + --rg PL:ILLUMINA --rg PU:${sample_name} \ + --new-summary --summary-file "${output_basename}.log" \ + --met-file ${output_basename}.hisat2.met.txt --met 5 \ + --seed 12345 \ + -p ${cpu} -S ${output_basename}.sam + samtools sort -@ ${cpu} -O bam -o "${output_basename}.bam" "${output_basename}.sam" + } + + runtime { + docker: docker + memory: "${machine_mem_mb} MB" + disks: "local-disk ${disk} HDD" + cpu: cpu + preemptible: preemptible + } + + output { + File log_file ="${output_basename}.log" + File met_file ="${output_basename}.hisat2.met.txt" + File output_bam = "${output_basename}.bam" + } +} + +task HISAT2InspectIndex { + File hisat2_ref + String ref_name + + # runtime values + String docker = "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0" + Int machine_mem_mb = 3500 + Int cpu = 1 + # use provided disk number or dynamically size on our own, with 10GB of additional disk + Int disk = ceil(size(hisat2_ref, "GB") + 10) + Int preemptible = 5 + + meta { + description: "This task will test reference indexing files built for HISAT2 aligner." + } + + parameter_meta { + hisat2_ref: "HISAT2 reference" + ref_name: "the basename of the index for the reference genome" + docker: "(optional) the docker image containing the runtime environment for this task" + machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" + cpu: "(optional) the number of cpus to provision for this task" + disk: "(optional) the amount of disk space (GB) to provision for this task" + preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" + } + + command { + set -e + tar --no-same-owner -xvf "${hisat2_ref}" + hisat2-inspect --ss --snp \ + -s ${ref_name}/${ref_name} > hisat2_inspect.log + } + + runtime { + docker: docker + memory: "${machine_mem_mb} MB" + disks: "local-disk ${disk} HDD" + cpu: cpu + preemptible: preemptible + } + + output { + File log_file ="hisat2_inspect.log" + } +} diff --git a/centaur/src/main/resources/lmtest/hca/Picard.wdl b/centaur/src/main/resources/lmtest/hca/Picard.wdl new file mode 100644 index 00000000000..b5a32222b6b --- /dev/null +++ b/centaur/src/main/resources/lmtest/hca/Picard.wdl @@ -0,0 +1,192 @@ +task CollectMultipleMetrics { + File aligned_bam + File genome_ref_fasta + String output_basename + + # runtime values + String docker ="quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10" + Int machine_mem_mb = 7500 + # give the command 1 GB of overhead + Int command_mem_mb = machine_mem_mb - 1000 + Int cpu = 1 + # use provided disk number or dynamically size on our own, with 10GB of additional disk + Int disk = ceil(size(aligned_bam, "GB") + size(genome_ref_fasta, "GB") + 10) + Int preemptible = 5 + + meta { + description: "This Picard task will collect multiple QC metrics, such as CollectAlignmentSummaryMetrics and CollectInsertSizeMetrics." + } + + parameter_meta { + aligned_bam: "input aligned bam" + genome_ref_fasta: "genome reference fasta" + output_basename: "basename used for output files" + docker: "(optional) the docker image containing the runtime environment for this task" + machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" + cpu: "(optional) the number of cpus to provision for this task" + disk: "(optional) the amount of disk space (GB) to provision for this task" + preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" + } + + command { + java -Xmx${command_mem_mb}m -jar /usr/picard/picard.jar CollectMultipleMetrics \ + VALIDATION_STRINGENCY=SILENT \ + METRIC_ACCUMULATION_LEVEL=ALL_READS \ + INPUT="${aligned_bam}" \ + OUTPUT="${output_basename}" \ + FILE_EXTENSION=".txt" \ + PROGRAM=null \ + PROGRAM=CollectAlignmentSummaryMetrics \ + PROGRAM=CollectInsertSizeMetrics \ + PROGRAM=CollectGcBiasMetrics \ + PROGRAM=CollectBaseDistributionByCycle \ + PROGRAM=QualityScoreDistribution \ + PROGRAM=MeanQualityByCycle \ + PROGRAM=CollectSequencingArtifactMetrics \ + PROGRAM=CollectQualityYieldMetrics \ + REFERENCE_SEQUENCE="${genome_ref_fasta}" \ + ASSUME_SORTED=true + } + + runtime { + docker: docker + memory: "${machine_mem_mb} MB" + disks: "local-disk ${disk} HDD" + cpu: cpu + preemptible: preemptible + } + + output { + File alignment_summary_metrics = "${output_basename}.alignment_summary_metrics.txt" + File base_call_dist_metrics = "${output_basename}.base_distribution_by_cycle_metrics.txt" + File base_call_pdf = "${output_basename}.base_distribution_by_cycle.pdf" + File gc_bias_detail_metrics = "${output_basename}.gc_bias.detail_metrics.txt" + File gc_bias_dist_pdf = "${output_basename}.gc_bias.pdf" + File gc_bias_summary_metrics = "${output_basename}.gc_bias.summary_metrics.txt" + File insert_size_hist = "${output_basename}.insert_size_histogram.pdf" + File insert_size_metrics = "${output_basename}.insert_size_metrics.txt" + File quality_distribution_metrics = "${output_basename}.quality_distribution_metrics.txt" + File quality_distribution_dist_pdf = "${output_basename}.quality_distribution.pdf" + File quality_by_cycle_metrics = "${output_basename}.quality_by_cycle_metrics.txt" + File quality_by_cycle_pdf = "${output_basename}.quality_by_cycle.pdf" + File pre_adapter_details_metrics = "${output_basename}.pre_adapter_detail_metrics.txt" + File pre_adapter_summary_metrics = "${output_basename}.pre_adapter_summary_metrics.txt" + File bait_bias_detail_metrics = "${output_basename}.bait_bias_detail_metrics.txt" + File bait_bias_summary_metrics = "${output_basename}.bait_bias_summary_metrics.txt" + File error_summary_metrics = "${output_basename}.error_summary_metrics.txt" + } +} + +task CollectRnaMetrics { + File aligned_bam + File ref_flat + File rrna_intervals + String output_basename + String stranded + + # runtime values + String docker = "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10" + Int machine_mem_mb = 3500 + # give the command 500 MB of overhead + Int command_mem_mb = machine_mem_mb - 500 + Int cpu = 1 + # use provided disk number or dynamically size on our own, with 10GB of additional disk + Int disk = ceil(size(aligned_bam, "GB") + size(ref_flat, "GB") + size(rrna_intervals, "GB") + 10) + Int preemptible = 5 + + meta { + description: "This Picard task will collect RnaSeqMetrics." + } + + parameter_meta { + aligned_bam: "input aligned file" + ref_flat: "reference flat file" + rrna_intervals: "ribosomal intervals" + output_basename: "basename used for output files" + stranded: "whether or not to use strand specificity" + docker: "(optional) the docker image containing the runtime environment for this task" + machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" + cpu: "(optional) the number of cpus to provision for this task" + disk: "(optional) the amount of disk space (GB) to provision for this task" + preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" + } + + command { + set -e + java -Xmx${command_mem_mb}m -jar /usr/picard/picard.jar CollectRnaSeqMetrics \ + VALIDATION_STRINGENCY=SILENT \ + METRIC_ACCUMULATION_LEVEL=ALL_READS \ + INPUT="${aligned_bam}" \ + OUTPUT="${output_basename}.rna_metrics.txt" \ + REF_FLAT="${ref_flat}" \ + RIBOSOMAL_INTERVALS="${rrna_intervals}" \ + STRAND_SPECIFICITY=${stranded} \ + CHART_OUTPUT="${output_basename}.rna.coverage.pdf" + touch "${output_basename}.rna.coverage.pdf" + } + + runtime { + docker: docker + memory: "${machine_mem_mb} MB" + disks: "local-disk ${disk} HDD" + cpu: cpu + preemptible: preemptible + } + + output { + File rna_metrics = "${output_basename}.rna_metrics.txt" + File rna_coverage_pdf = "${output_basename}.rna.coverage.pdf" + } +} + +# Here we use "-XX:ParallelGCThreads=2" to run MarkDuplication on multiple threads +task CollectDuplicationMetrics { + File aligned_bam + String output_basename + + # runtime values + String docker = "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10" + Int machine_mem_mb = 7500 + # give the command 1 GB of overhead + Int command_mem_mb = machine_mem_mb - 1000 + Int cpu = 2 + # use provided disk number or dynamically size on our own, with 10GB of additional disk + Int disk = ceil(size(aligned_bam, "GB") + 10) + Int preemptible = 5 + + meta { + description: "This Picard task will collect alignment DuplicationMetrics." + } + + parameter_meta { + aligned_bam: "input aligned bam" + output_basename: "basename used for output files" + docker: "(optional) the docker image containing the runtime environment for this task" + machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" + cpu: "(optional) the number of cpus to provision for this task" + disk: "(optional) the amount of disk space (GB) to provision for this task" + preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" + } + + command { + java -Xmx${command_mem_mb}m -XX:ParallelGCThreads=${cpu} -jar /usr/picard/picard.jar MarkDuplicates \ + VALIDATION_STRINGENCY=SILENT \ + INPUT=${aligned_bam} \ + OUTPUT="${output_basename}.MarkDuplicated.bam" \ + ASSUME_SORTED=true \ + METRICS_FILE="${output_basename}.duplicate_metrics.txt" \ + REMOVE_DUPLICATES=false + } + + runtime { + docker: docker + memory: "${machine_mem_mb} MB" + disks: "local-disk ${disk} HDD" + cpu: cpu + preemptible: preemptible + } + + output { + File dedup_metrics = "${output_basename}.duplicate_metrics.txt" + } +} diff --git a/centaur/src/main/resources/lmtest/hca/RSEM.wdl b/centaur/src/main/resources/lmtest/hca/RSEM.wdl new file mode 100644 index 00000000000..44b4e5f2a6b --- /dev/null +++ b/centaur/src/main/resources/lmtest/hca/RSEM.wdl @@ -0,0 +1,61 @@ +task RSEMExpression { + File trans_aligned_bam + File rsem_genome + String output_basename + + # runtime values + String docker = "quay.io/humancellatlas/secondary-analysis-rsem:v0.2.2-1.3.0" + Int machine_mem_mb = 3500 + Int cpu = 4 + # use provided disk number or dynamically size on our own, with 20GB of additional disk + Int disk = ceil(size(trans_aligned_bam, "GB") + size(rsem_genome, "GB") + 20) + Int preemptible = 5 + + meta { + description: "This task will quantify gene expression matrix by using RSEM. The output include gene-level and isoform-level results." + } + + parameter_meta { + trans_aligned_bam: "input transcriptome aligned bam" + rsem_genome: "tar'd RSEM genome" + output_basename: "basename used for output files" + docker: "(optional) the docker image containing the runtime environment for this task" + machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" + cpu: "(optional) the number of cpus to provision for this task" + disk: "(optional) the amount of disk space (GB) to provision for this task" + preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" + } + + command { + set -e + + tar --no-same-owner -xvf ${rsem_genome} + rsem-calculate-expression \ + --bam \ + --paired-end \ + -p ${cpu} \ + --time --seed 555 \ + --calc-pme \ + --single-cell-prior \ + ${trans_aligned_bam} \ + rsem/rsem_trans_index \ + "${output_basename}" + } + + runtime { + docker: docker + memory: "${machine_mem_mb} MB" + disks: "local-disk ${disk} HDD" + cpu: cpu + preemptible: preemptible + } + + output { + File rsem_gene = "${output_basename}.genes.results" + File rsem_isoform = "${output_basename}.isoforms.results" + File rsem_time = "${output_basename}.time" + File rsem_cnt = "${output_basename}.stat/${output_basename}.cnt" + File rsem_model = "${output_basename}.stat/${output_basename}.model" + File rsem_theta = "${output_basename}.stat/${output_basename}.theta" + } +} diff --git a/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.inputs.json b/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.inputs.json new file mode 100644 index 00000000000..bdcce3dc11a --- /dev/null +++ b/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.inputs.json @@ -0,0 +1,17 @@ +{ + "SmartSeq2SingleCell.gtf_file": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode.v27.primary_assembly.annotation.gtf", + "SmartSeq2SingleCell.hisat2_ref_trans_name": "gencode_v27_trans_rsem", + "SmartSeq2SingleCell.rrna_intervals": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode.v27.rRNA.interval_list", + "SmartSeq2SingleCell.star_ref_index": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38_GencodeV27_Primary.tar", + "SmartSeq2SingleCell.hisat2_ref_index": "gs://hca-dcp-mint-test-data/reference/HISAT2/genome_snp_tran.tar.gz", + "SmartSeq2SingleCell.genome_ref_fasta": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38.primary_assembly.genome.fa", + "SmartSeq2SingleCell.hisat2_ref_trans_index": "gs://hca-dcp-mint-test-data/reference/HISAT2/gencode_v27_trans_rsem.tar.gz", + "SmartSeq2SingleCell.rsem_ref_index": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode_v27_primary.tar", + "SmartSeq2SingleCell.gene_ref_flat": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38_gencode.v27.refFlat.txt", + "SmartSeq2SingleCell.hisat2_ref_name": "genome_snp_tran", + "SmartSeq2SingleCell.stranded":"NONE", + "SmartSeq2SingleCell.fastq1":"gs://hca-dcp-mint-test-data/smartseq2_single_sample/patel_ap/SRR1294925_1.fastq.gz", + "SmartSeq2SingleCell.fastq2":"gs://hca-dcp-mint-test-data/smartseq2_single_sample/patel_ap/SRR1294925_2.fastq.gz", + "SmartSeq2SingleCell.sample_name":"SRR1294925", + "SmartSeq2SingleCell.output_name":"SRR1294925" +} diff --git a/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.labels.json b/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.labels.json new file mode 100644 index 00000000000..40a3a0206e7 --- /dev/null +++ b/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.labels.json @@ -0,0 +1,5 @@ +{ + "project":"mint-pipeline-dev", + "pipeline":"ss2", + "name":"pipeline" +} diff --git a/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.wdl b/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.wdl new file mode 100644 index 00000000000..5f7c7033a61 --- /dev/null +++ b/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.wdl @@ -0,0 +1,138 @@ +import "HISAT2.wdl" as HISAT2 +import "Picard.wdl" as Picard +import "RSEM.wdl" as RSEM + +workflow SmartSeq2SingleCell { + meta { + description: "Process SmartSeq2 scRNA-Seq data, include reads alignment, QC metrics collection, and gene expression quantitication" + } + + # load annotation + File gtf_file + File genome_ref_fasta + File rrna_intervals + File gene_ref_flat + + # load index + File hisat2_ref_index + File hisat2_ref_trans_index + File rsem_ref_index + + # ref index name + String hisat2_ref_name + String hisat2_ref_trans_name + + # samples + String stranded + String sample_name + String output_name + File fastq1 + File fastq2 + + parameter_meta { + gtf_file: "Gene annotation file in gtf format" + genome_ref_fasta: "Genome reference in fasta format" + rrna_intervals: "rRNA interval file required by Picard" + gene_ref_flat: "Gene refflat file required by Picard" + hisat2_ref_index: "HISAT2 reference index file in tarball" + hisat2_ref_trans_index: "HISAT2 transcriptome index file in tarball" + rsem_ref_index: "RSEM reference index file in tarball" + hisat2_ref_name: "HISAT2 reference index name" + hisat2_ref_trans_name: "HISAT2 transcriptome index file name" + stranded: "Library strand information example values: FR RF NONE" + sample_name: "Sample name or Cell ID" + output_name: "Output name, can include path" + fastq1: "R1 in paired end reads" + fastq2: "R2 in paired end reads" + } + + String quality_control_output_basename = output_name + "_qc" + + call HISAT2.HISAT2PairedEnd { + input: + hisat2_ref = hisat2_ref_index, + fastq1 = fastq1, + fastq2 = fastq2, + ref_name = hisat2_ref_name, + sample_name = sample_name, + output_basename = quality_control_output_basename + } + + call Picard.CollectMultipleMetrics { + input: + aligned_bam = HISAT2PairedEnd.output_bam, + genome_ref_fasta = genome_ref_fasta, + output_basename = quality_control_output_basename + } + + call Picard.CollectRnaMetrics { + input: + aligned_bam = HISAT2PairedEnd.output_bam, + ref_flat = gene_ref_flat, + rrna_intervals = rrna_intervals, + output_basename = quality_control_output_basename, + stranded = stranded, + } + + call Picard.CollectDuplicationMetrics { + input: + aligned_bam = HISAT2PairedEnd.output_bam, + output_basename = quality_control_output_basename + } + + String data_output_basename = output_name + "_rsem" + + call HISAT2.HISAT2RSEM as HISAT2Transcriptome { + input: + hisat2_ref = hisat2_ref_trans_index, + fastq1 = fastq1, + fastq2 = fastq2, + ref_name = hisat2_ref_trans_name, + sample_name = sample_name, + output_basename = data_output_basename, + } + + call RSEM.RSEMExpression { + input: + trans_aligned_bam = HISAT2Transcriptome.output_bam, + rsem_genome = rsem_ref_index, + output_basename = data_output_basename, + } + + output { + # quality control outputs + File aligned_bam = HISAT2PairedEnd.output_bam + File hisat2_met_file = HISAT2PairedEnd.met_file + File hisat2_log_file = HISAT2PairedEnd.log_file + File alignment_summary_metrics = CollectMultipleMetrics.alignment_summary_metrics + File base_call_dist_metrics = CollectMultipleMetrics.base_call_dist_metrics + File base_call_pdf = CollectMultipleMetrics.base_call_pdf + File gc_bias_detail_metrics = CollectMultipleMetrics.gc_bias_detail_metrics + File gc_bias_dist_pdf = CollectMultipleMetrics.gc_bias_dist_pdf + File gc_bias_summary_metrics = CollectMultipleMetrics.gc_bias_summary_metrics + File insert_size_hist = CollectMultipleMetrics.insert_size_hist + File insert_size_metrics = CollectMultipleMetrics.insert_size_metrics + File quality_distribution_metrics = CollectMultipleMetrics.quality_distribution_metrics + File quality_distribution_dist_pdf = CollectMultipleMetrics.quality_distribution_dist_pdf + File quality_by_cycle_metrics = CollectMultipleMetrics.quality_by_cycle_metrics + File quality_by_cycle_pdf = CollectMultipleMetrics.quality_by_cycle_pdf + File pre_adapter_details_metrics = CollectMultipleMetrics.pre_adapter_details_metrics + File bait_bias_detail_metrics = CollectMultipleMetrics.bait_bias_detail_metrics + File bait_bias_summary_metrics = CollectMultipleMetrics.bait_bias_summary_metrics + File error_summary_metrics = CollectMultipleMetrics.error_summary_metrics + File rna_metrics = CollectRnaMetrics.rna_metrics + File rna_coverage = CollectRnaMetrics.rna_coverage_pdf + File dedup_metrics = CollectDuplicationMetrics.dedup_metrics + + # data outputs + File aligned_transcriptome_bam = HISAT2Transcriptome.output_bam + File hisat2_transcriptome_met_file = HISAT2Transcriptome.met_file + File hisat2_transcriptome_log_file = HISAT2Transcriptome.log_file + File rsem_gene_results = RSEMExpression.rsem_gene + File rsem_isoform_results = RSEMExpression.rsem_isoform + File rsem_time_log = RSEMExpression.rsem_time + File rsem_cnt_log = RSEMExpression.rsem_cnt + File rsem_model_log = RSEMExpression.rsem_model + File rsem_theta_log = RSEMExpression.rsem_theta + } +} diff --git a/centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world.wdl b/centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world.wdl new file mode 100644 index 00000000000..ad33589c443 --- /dev/null +++ b/centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world.wdl @@ -0,0 +1,8 @@ +import "sub_workflow_hello_world_import.wdl" as sub + +workflow main_workflow { + call sub.wf_hello { input: wf_hello_input = "sub world" } + output { + String main_output = wf_hello.salutation + } +} \ No newline at end of file diff --git a/centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world_import.wdl b/centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world_import.wdl new file mode 100644 index 00000000000..9fdfc8d2484 --- /dev/null +++ b/centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world_import.wdl @@ -0,0 +1,22 @@ +task hello { + String addressee + command { + echo "Hello ${addressee}!" + } + runtime { + docker: "ubuntu:latest" + } + output { + String salutation = read_string(stdout()) + } +} + +workflow wf_hello { + String wf_hello_input = "world" + + call hello { input: addressee = wf_hello_input } + + output { + String salutation = hello.salutation + } +} diff --git a/centaur/src/main/resources/lmtest/sub_workflow_hello_world_cost.test b/centaur/src/main/resources/lmtest/sub_workflow_hello_world_cost.test new file mode 100644 index 00000000000..cc18f753e42 --- /dev/null +++ b/centaur/src/main/resources/lmtest/sub_workflow_hello_world_cost.test @@ -0,0 +1,16 @@ +name: sub_workflow_hello_world +testFormat: workflowsuccess +tags: [subworkflow] + +files { + workflow: sub_workflow_hello_world/sub_workflow_hello_world.wdl + imports: [ + sub_workflow_hello_world/sub_workflow_hello_world_import.wdl + ] +} + +metadata { + workflowName: main_workflow + status: Succeeded + "outputs.main_workflow.main_output": "Hello sub world!" +} diff --git a/centaur/src/main/resources/reference.conf b/centaur/src/main/resources/reference.conf index df51bc0300e..c657d3790fe 100644 --- a/centaur/src/main/resources/reference.conf +++ b/centaur/src/main/resources/reference.conf @@ -44,7 +44,7 @@ centaur { # Path (absolute or relative) where Centaur will look for test cases. The expectation is that each test # case will be in a subdirectory named FOO with workflow, inputs, and options files. - standardTestCasePath: "centaur/src/main/resources/standardTestCases" + standardTestCasePath: "centaur/src/main/resources/lmtest" # optionalTestPath: "/some/path/to/tests" # A mixture of syntaxes used by diff --git a/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test b/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test index cc18f753e42..dca17c05d84 100644 --- a/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test +++ b/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test @@ -1,4 +1,5 @@ -name: sub_workflow_hello_world +name: sub_ +workflow_hello_world testFormat: workflowsuccess tags: [subworkflow] @@ -14,3 +15,5 @@ metadata { status: Succeeded "outputs.main_workflow.main_output": "Hello sub world!" } + +cost: 0.011111 diff --git a/centaur/src/main/scala/centaur/api/CentaurCromwellClient.scala b/centaur/src/main/scala/centaur/api/CentaurCromwellClient.scala index defc30bc108..c5ed01384ab 100644 --- a/centaur/src/main/scala/centaur/api/CentaurCromwellClient.scala +++ b/centaur/src/main/scala/centaur/api/CentaurCromwellClient.scala @@ -122,6 +122,9 @@ object CentaurCromwellClient extends StrictLogging { ): IO[WorkflowMetadata] = sendReceiveFutureCompletion(() => cromwellClient.metadata(id, args)) + def cost(workflow: SubmittedWorkflow): IO[WorkflowCost] = + sendReceiveFutureCompletion(() => cromwellClient.cost(workflow.id)) + def archiveStatus(id: WorkflowId): IO[String] = sendReceiveFutureCompletion(() => cromwellClient.query(id)).map(_.results.head.metadataArchiveStatus) diff --git a/centaur/src/main/scala/centaur/test/Test.scala b/centaur/src/main/scala/centaur/test/Test.scala index d5084a98902..4e1f2df2fc8 100644 --- a/centaur/src/main/scala/centaur/test/Test.scala +++ b/centaur/src/main/scala/centaur/test/Test.scala @@ -1060,4 +1060,39 @@ object Operations extends StrictLogging { IO.raiseError(CentaurTestException(message, workflow)) } } + + def getExpectedCost(workflowCost: Option[BigDecimal]): IO[BigDecimal] = + workflowCost match { + case Some(cost) if cost == 0 => IO.raiseError(new Exception("Expected cost is cannot be 0")) + case Some(cost) => IO.pure(cost) + case None => + IO.raiseError(new Exception("Expected 'cost' is required in the test config to validate the workflow cost")) + } + + /** + * Validate that the actual cost is within 20% of the expected cost + */ + def validateCost(actualCost: BigDecimal, expectedCost: BigDecimal): IO[Unit] = { + val costDiff = (actualCost - expectedCost).abs / expectedCost + if (costDiff > 0.2) { + println(s"costDiff: $costDiff is greater than 20%!") + IO.raiseError( + new Exception(s"Expected cost $expectedCost but got $actualCost, which is outside the 20% threshold") + ) + } else { + IO.unit + } + } + + def fetchAndValidateCost(workflowSpec: Workflow, submittedWorkflow: SubmittedWorkflow): Test[Unit] = + new Test[Unit] { + + override def run: IO[Unit] = + for { + actualCost <- CentaurCromwellClient.cost(submittedWorkflow) + expectedCost <- getExpectedCost(workflowSpec.cost) + _ <- validateCost(actualCost.cost, expectedCost) + } yield () + } + } diff --git a/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala b/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala index 6c006283894..4285da61b47 100644 --- a/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala +++ b/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala @@ -337,6 +337,15 @@ object TestFormulas extends StrictLogging { case _ => Test.invalidTestDefinition("Configuration not supported by PapiUpgradeTest", workflowDefinition) } + def runSuccessfulWorkflowAndVerifyCost( + workflowSpec: Workflow + ): Test[SubmitResponse] = for { + _ <- checkDescription(workflowSpec, validityExpectation = Option(true)) + _ <- timingVerificationNotSupported(workflowSpec.maximumAllowedTime) + submittedWorkflow <- runSuccessfulWorkflow(workflowSpec) + _ <- fetchAndValidateCost(workflowSpec, submittedWorkflow) + } yield SubmitResponse(submittedWorkflow) + implicit class EnhancedCromwellTracker(val tracker: Option[CromwellTracker]) extends AnyVal { def track(metadata: WorkflowMetadata): Unit = tracker foreach { _.track(metadata) } } diff --git a/centaur/src/main/scala/centaur/test/standard/CentaurTestCase.scala b/centaur/src/main/scala/centaur/test/standard/CentaurTestCase.scala index f3c0d87b044..48d9d83be94 100644 --- a/centaur/src/main/scala/centaur/test/standard/CentaurTestCase.scala +++ b/centaur/src/main/scala/centaur/test/standard/CentaurTestCase.scala @@ -25,6 +25,7 @@ case class CentaurTestCase(workflow: Workflow, def testFunction: Test[SubmitResponse] = this.testFormat match { case WorkflowSuccessTest => TestFormulas.runSuccessfulWorkflowAndVerifyMetadata(workflow) case WorkflowSuccessAndTimedOutputsTest => TestFormulas.runSuccessfulWorkflowAndVerifyTimeAndOutputs(workflow) + case WorkflowSuccessAndVerifyCostTest => TestFormulas.runSuccessfulWorkflowAndVerifyCost(workflow) case WorkflowFailureTest => TestFormulas.runFailingWorkflowAndVerifyMetadata(workflow) case RunTwiceExpectingCallCachingTest => TestFormulas.runWorkflowTwiceExpectingCaching(workflow) case RunThriceExpectingCallCachingTest => TestFormulas.runWorkflowThriceExpectingCaching(workflow) diff --git a/centaur/src/main/scala/centaur/test/standard/CentaurTestFormat.scala b/centaur/src/main/scala/centaur/test/standard/CentaurTestFormat.scala index eae961d6e5f..822b6a5f5fa 100644 --- a/centaur/src/main/scala/centaur/test/standard/CentaurTestFormat.scala +++ b/centaur/src/main/scala/centaur/test/standard/CentaurTestFormat.scala @@ -13,6 +13,7 @@ sealed abstract class CentaurTestFormat(val name: String) { def testSpecString: String = this match { case WorkflowSuccessTest => "successfully run" case WorkflowSuccessAndTimedOutputsTest => "successfully run" + case WorkflowSuccessAndVerifyCostTest => "successfully run and verify cost" case WorkflowFailureTest => "fail during execution" case RunTwiceExpectingCallCachingTest => "call cache the second run of" case RunThriceExpectingCallCachingTest => "call cache the third run of" @@ -49,6 +50,7 @@ object CentaurTestFormat { case object WorkflowSuccessTest extends CentaurTestFormat("WorkflowSuccess") case object WorkflowSuccessAndTimedOutputsTest extends CentaurTestFormat("WorkflowSuccessAndTimedOutputs") + case object WorkflowSuccessAndVerifyCostTest extends CentaurTestFormat("WorkflowSuccessAndVerifyCost") case object WorkflowFailureTest extends CentaurTestFormat("WorkflowFailure") case object RunTwiceExpectingCallCachingTest extends CentaurTestFormat("RunTwiceExpectingCallCaching") case object RunThriceExpectingCallCachingTest extends CentaurTestFormat(name = "RunThriceExpectingCallCaching") @@ -127,6 +129,7 @@ object CentaurTestFormat { List( WorkflowSuccessTest, WorkflowSuccessAndTimedOutputsTest, + WorkflowSuccessAndVerifyCostTest, WorkflowFailureTest, RunTwiceExpectingCallCachingTest, RunThriceExpectingCallCachingTest, diff --git a/centaur/src/main/scala/centaur/test/workflow/Workflow.scala b/centaur/src/main/scala/centaur/test/workflow/Workflow.scala index 154cb5c4e19..837f1c88925 100644 --- a/centaur/src/main/scala/centaur/test/workflow/Workflow.scala +++ b/centaur/src/main/scala/centaur/test/workflow/Workflow.scala @@ -25,7 +25,8 @@ final case class Workflow private (testName: String, allowOtherOutputs: Boolean, skipDescribeEndpointValidation: Boolean, submittedWorkflowTracker: SubmittedWorkflowTracker, - maximumAllowedTime: Option[FiniteDuration] + maximumAllowedTime: Option[FiniteDuration], + cost: Option[BigDecimal] = None ) { def toWorkflowSubmission: WorkflowSingleSubmission = WorkflowSingleSubmission( @@ -94,6 +95,7 @@ object Workflow { val validateDescription: Boolean = conf.get[Boolean]("skipDescribeEndpointValidation").valueOrElse(false) val maximumTime: Option[FiniteDuration] = conf.get[Option[FiniteDuration]]("maximumTime").value + val cost: Option[BigDecimal] = conf.get[Option[BigDecimal]]("cost").value (files, directoryContentCheckValidation, metadata, retryTestFailuresErrorOr) mapN { (f, d, m, retryTestFailures) => @@ -107,7 +109,8 @@ object Workflow { allowOtherOutputs, validateDescription, submittedWorkflowTracker, - maximumTime + maximumTime, + cost ) } diff --git a/cromwellApiClient/src/main/scala/cromwell/api/CromwellClient.scala b/cromwellApiClient/src/main/scala/cromwell/api/CromwellClient.scala index 18df2ff5244..183ef113f03 100644 --- a/cromwellApiClient/src/main/scala/cromwell/api/CromwellClient.scala +++ b/cromwellApiClient/src/main/scala/cromwell/api/CromwellClient.scala @@ -18,6 +18,16 @@ import spray.json._ import scala.concurrent.ExecutionContext +import model.CallCacheDiffJsonSupport._ +import model.CromwellBackendsJsonSupport._ +import model.CromwellStatusJsonSupport._ +import model.CromwellVersionJsonSupport._ +import model.WorkflowLabelsJsonSupport._ +import model.WorkflowOutputsJsonSupport._ +import model.WorkflowDescriptionJsonSupport._ +import model.CromwellQueryResultJsonSupport._ +import model.WorkflowCostJsonSupport._ + class CromwellClient(val cromwellUrl: URL, val apiVersion: String, val defaultCredentials: Option[HttpCredentials] = None @@ -49,6 +59,7 @@ class CromwellClient(val cromwellUrl: URL, def abortEndpoint(workflowId: WorkflowId): Uri = workflowSpecificGetEndpoint(workflowsEndpoint, workflowId, "abort") def statusEndpoint(workflowId: WorkflowId): Uri = workflowSpecificGetEndpoint(workflowsEndpoint, workflowId, "status") + def costEndpoint(workflowId: WorkflowId): Uri = workflowSpecificGetEndpoint(workflowsEndpoint, workflowId, "cost") def metadataEndpoint(workflowId: WorkflowId, args: Option[Map[String, List[String]]] = None): Uri = workflowSpecificGetEndpoint(workflowsEndpoint, workflowId, "metadata", args) def outputsEndpoint(workflowId: WorkflowId, args: Option[Map[String, List[String]]] = None): Uri = @@ -69,15 +80,6 @@ class CromwellClient(val cromwellUrl: URL, lazy val backendsEndpoint = s"$workflowsEndpoint/backends" lazy val versionEndpoint = s"$engineEndpoint/version" - import model.CallCacheDiffJsonSupport._ - import model.CromwellBackendsJsonSupport._ - import model.CromwellStatusJsonSupport._ - import model.CromwellVersionJsonSupport._ - import model.WorkflowLabelsJsonSupport._ - import model.WorkflowOutputsJsonSupport._ - import model.WorkflowDescriptionJsonSupport._ - import model.CromwellQueryResultJsonSupport._ - def submit(workflow: WorkflowSubmission)(implicit ec: ExecutionContext): FailureResponseOrT[SubmittedWorkflow] = { val requestEntity = requestEntityForSubmit(workflow) @@ -133,6 +135,9 @@ class CromwellClient(val cromwellUrl: URL, def status(workflowId: WorkflowId)(implicit ec: ExecutionContext): FailureResponseOrT[WorkflowStatus] = simpleRequest[CromwellStatus](statusEndpoint(workflowId)) map WorkflowStatus.apply + def cost(workflowId: WorkflowId)(implicit ec: ExecutionContext): FailureResponseOrT[WorkflowCost] = + simpleRequest[WorkflowCost](costEndpoint(workflowId)) + def metadata(workflowId: WorkflowId, args: Option[Map[String, List[String]]] = None, headers: List[HttpHeader] = defaultHeaders diff --git a/cromwellApiClient/src/main/scala/cromwell/api/model/WorkflowCost.scala b/cromwellApiClient/src/main/scala/cromwell/api/model/WorkflowCost.scala new file mode 100644 index 00000000000..bad5f20a0dd --- /dev/null +++ b/cromwellApiClient/src/main/scala/cromwell/api/model/WorkflowCost.scala @@ -0,0 +1,9 @@ +package cromwell.api.model + +import spray.json.DefaultJsonProtocol + +object WorkflowCostJsonSupport extends DefaultJsonProtocol { + implicit val WorkflowCostJsonFormat = jsonFormat5(WorkflowCost) +} + +final case class WorkflowCost(errors: List[String], id: String, cost: BigDecimal, status: String, currency: String) diff --git a/docs/developers/Centaur.md b/docs/developers/Centaur.md index e5ba6a4e83b..46a39af0598 100644 --- a/docs/developers/Centaur.md +++ b/docs/developers/Centaur.md @@ -77,6 +77,9 @@ metadata { "failures.0.causedBy": "BetweenKeyboardAndChairException" } +// Optional, the expected cost of running the workflow +cost: 0.0000 + filesystemcheck: "local" // possible values: "local", "gcs". Used in conjunction with outputExpectations to define files we expect to exist after running this workflow. outputExpectations: { "/path/to/my/output/file1": 1 @@ -107,6 +110,9 @@ In case the absolute path the cromwell root is used (for example: `/home/my_user In case testing of the caching is required `<>` can be used. The testFormat should be `runtwiceexpectingcallcaching`. +The cost is optional. If supplied, Centaur will retrieve the cost of the successfully completed workflow and compare it to the cost supplied. +The expected range is within 20% of the estimated cost. + ## Centaur Test Types Both Cromwell and Centaur require configuration files in order to correctly build and test various parts of the system. Because of this, we divide diff --git a/gsutil_output.txt b/gsutil_output.txt new file mode 100644 index 00000000000..68959c0c199 --- /dev/null +++ b/gsutil_output.txt @@ -0,0 +1,89 @@ +Reauthentication required. +Traceback (most recent call last): + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gsutil", line 21, in + gsutil.RunMain() + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gsutil.py", line 158, in RunMain + sys.exit(gslib.__main__.main()) + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 436, in main + return _RunNamedCommandAndHandleExceptions( + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 786, in _RunNamedCommandAndHandleExceptions + _HandleUnknownFailure(e) + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 633, in _RunNamedCommandAndHandleExceptions + return command_runner.RunNamedCommand(command_name, + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/command_runner.py", line 421, in RunNamedCommand + return_code = command_inst.RunCommand() + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/commands/cp.py", line 1131, in RunCommand + self.Apply(_CopyFuncWrapper, + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/command.py", line 1575, in Apply + self._SequentialApply(func, args_iterator, exception_handler, caller_id, + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/command.py", line 1627, in _SequentialApply + args = next(args_iterator) + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/name_expansion.py", line 687, in __next__ + name_expansion_result = next(self.current_expansion_iter) + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 96, in __next__ + raise six.reraise(item_tuple[1].__class__, item_tuple[1], item_tuple[2]) + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/six/six.py", line 719, in reraise + raise value + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 70, in _PopulateHead + e = next(self.base_iterator) + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/name_expansion.py", line 291, in __iter__ + for (names_container, blr) in post_step3_iter: + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 96, in __next__ + raise six.reraise(item_tuple[1].__class__, item_tuple[1], item_tuple[2]) + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/six/six.py", line 719, in reraise + raise value + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 70, in _PopulateHead + e = next(self.base_iterator) + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/name_expansion.py", line 533, in __iter__ + for (names_container, blr) in self.tuple_iter: + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 96, in __next__ + raise six.reraise(item_tuple[1].__class__, item_tuple[1], item_tuple[2]) + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/six/six.py", line 719, in reraise + raise value + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 70, in _PopulateHead + e = next(self.base_iterator) + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/name_expansion.py", line 497, in __iter__ + for blr in self.blr_iter: + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 96, in __next__ + raise six.reraise(item_tuple[1].__class__, item_tuple[1], item_tuple[2]) + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/six/six.py", line 719, in reraise + raise value + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 70, in _PopulateHead + e = next(self.base_iterator) + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/wildcard_iterator.py", line 538, in IterAll + for blr in self.__iter__(bucket_listing_fields=bucket_listing_fields, + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/wildcard_iterator.py", line 189, in __iter__ + get_object = self.gsutil_api.GetObjectMetadata( + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/cloud_api_delegator.py", line 314, in GetObjectMetadata + return self._GetApi(provider).GetObjectMetadata(bucket_name, + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/gcs_json_api.py", line 1047, in GetObjectMetadata + object_metadata = self._GetObjectMetadataHelper(bucket_name, + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/gcs_json_api.py", line 1004, in _GetObjectMetadataHelper + return self.api_client.objects.Get(apitools_request, + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/third_party/storage_apitools/storage_v1_client.py", line 1124, in Get + return self._RunMethod( + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/apitools/apitools/base/py/base_api.py", line 734, in _RunMethod + http_response = http_wrapper.MakeRequest( + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/apitools/apitools/base/py/http_wrapper.py", line 359, in MakeRequest + retry_func(ExceptionRetryArgs(http, http_request, e, retry, + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/utils/retry_util.py", line 65, in WarnAfterManyRetriesHandler + http_wrapper.HandleExceptionsAndRebuildHttpConnections(retry_args) + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/apitools/apitools/base/py/http_wrapper.py", line 304, in HandleExceptionsAndRebuildHttpConnections + raise retry_args.exc + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/apitools/apitools/base/py/http_wrapper.py", line 348, in MakeRequest + return _MakeRequestNoRetry( + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/apitools/apitools/base/py/http_wrapper.py", line 397, in _MakeRequestNoRetry + info, content = http.request( + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/vendored/oauth2client/oauth2client/transport.py", line 159, in new_request + credentials._refresh(orig_request_method) + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/vendored/oauth2client/oauth2client/client.py", line 761, in _refresh + self._do_refresh_request(http) + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/google-reauth-python/google_reauth/reauth_creds.py", line 112, in _do_refresh_request + self._update(*reauth.refresh_access_token( + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/google-reauth-python/google_reauth/reauth.py", line 283, in refresh_access_token + rapt = get_rapt_token( + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/google-reauth-python/google_reauth/reauth.py", line 194, in get_rapt_token + rapt_token = _obtain_rapt( + File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/google-reauth-python/google_reauth/reauth.py", line 142, in _obtain_rapt + raise errors.ReauthUnattendedError() +google_reauth.errors.ReauthUnattendedError: Reauthentication challenge could not be answered because you are not in an interactive session. From a476d0529995dcadbdda3fc1924f2e6aa8eac505 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Fri, 31 Jan 2025 16:34:37 -0500 Subject: [PATCH 02/41] formatting ... --- centaur/src/main/scala/centaur/test/Test.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/centaur/src/main/scala/centaur/test/Test.scala b/centaur/src/main/scala/centaur/test/Test.scala index 4e1f2df2fc8..55fa194d51b 100644 --- a/centaur/src/main/scala/centaur/test/Test.scala +++ b/centaur/src/main/scala/centaur/test/Test.scala @@ -1063,7 +1063,7 @@ object Operations extends StrictLogging { def getExpectedCost(workflowCost: Option[BigDecimal]): IO[BigDecimal] = workflowCost match { - case Some(cost) if cost == 0 => IO.raiseError(new Exception("Expected cost is cannot be 0")) + case Some(cost) if cost == 0 => IO.raiseError(new Exception("Expected cost is cannot be 0")) case Some(cost) => IO.pure(cost) case None => IO.raiseError(new Exception("Expected 'cost' is required in the test config to validate the workflow cost")) @@ -1091,7 +1091,7 @@ object Operations extends StrictLogging { for { actualCost <- CentaurCromwellClient.cost(submittedWorkflow) expectedCost <- getExpectedCost(workflowSpec.cost) - _ <- validateCost(actualCost.cost, expectedCost) + _ <- validateCost(actualCost.cost, expectedCost) } yield () } From 1a9db979cfa9b0579b0f665f0cfce4e3f489b803 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Fri, 31 Jan 2025 16:50:15 -0500 Subject: [PATCH 03/41] remove test files --- .../sub_workflow_hello_world.wdl | 8 ------- .../sub_workflow_hello_world_import.wdl | 22 ------------------- .../lmtest/sub_workflow_hello_world_cost.test | 16 -------------- 3 files changed, 46 deletions(-) delete mode 100644 centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world.wdl delete mode 100644 centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world_import.wdl delete mode 100644 centaur/src/main/resources/lmtest/sub_workflow_hello_world_cost.test diff --git a/centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world.wdl b/centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world.wdl deleted file mode 100644 index ad33589c443..00000000000 --- a/centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world.wdl +++ /dev/null @@ -1,8 +0,0 @@ -import "sub_workflow_hello_world_import.wdl" as sub - -workflow main_workflow { - call sub.wf_hello { input: wf_hello_input = "sub world" } - output { - String main_output = wf_hello.salutation - } -} \ No newline at end of file diff --git a/centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world_import.wdl b/centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world_import.wdl deleted file mode 100644 index 9fdfc8d2484..00000000000 --- a/centaur/src/main/resources/lmtest/sub_workflow_hello_world/sub_workflow_hello_world_import.wdl +++ /dev/null @@ -1,22 +0,0 @@ -task hello { - String addressee - command { - echo "Hello ${addressee}!" - } - runtime { - docker: "ubuntu:latest" - } - output { - String salutation = read_string(stdout()) - } -} - -workflow wf_hello { - String wf_hello_input = "world" - - call hello { input: addressee = wf_hello_input } - - output { - String salutation = hello.salutation - } -} diff --git a/centaur/src/main/resources/lmtest/sub_workflow_hello_world_cost.test b/centaur/src/main/resources/lmtest/sub_workflow_hello_world_cost.test deleted file mode 100644 index cc18f753e42..00000000000 --- a/centaur/src/main/resources/lmtest/sub_workflow_hello_world_cost.test +++ /dev/null @@ -1,16 +0,0 @@ -name: sub_workflow_hello_world -testFormat: workflowsuccess -tags: [subworkflow] - -files { - workflow: sub_workflow_hello_world/sub_workflow_hello_world.wdl - imports: [ - sub_workflow_hello_world/sub_workflow_hello_world_import.wdl - ] -} - -metadata { - workflowName: main_workflow - status: Succeeded - "outputs.main_workflow.main_output": "Hello sub world!" -} From 4c5285171ee0e53fa31090a68876c9e12c427ead Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Fri, 31 Jan 2025 17:02:42 -0500 Subject: [PATCH 04/41] extra line breaks --- .../resources/standardTestCases/sub_workflow_hello_world.test | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test b/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test index dca17c05d84..d8295e4d0e2 100644 --- a/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test +++ b/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test @@ -1,5 +1,4 @@ -name: sub_ -workflow_hello_world +name: sub_workflow_hello_world testFormat: workflowsuccess tags: [subworkflow] From e314da6e3be762d54c417266444a83dafa00bed2 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Mon, 3 Feb 2025 10:43:38 -0500 Subject: [PATCH 05/41] cleanup --- .../lmtest/SmartSeq2SingleSample.test | 23 -- .../src/main/resources/lmtest/hca/HISAT2.wdl | 296 ------------------ .../src/main/resources/lmtest/hca/Picard.wdl | 192 ------------ .../src/main/resources/lmtest/hca/RSEM.wdl | 61 ---- .../SmartSeq2SingleSample.inputs.json | 17 - .../SmartSeq2SingleSample.labels.json | 5 - .../SmartSeq2SingleSample.wdl | 138 -------- .../recursive_imports_cost.test | 20 ++ .../sub_workflow_hello_world.test | 1 - .../src/main/scala/centaur/test/Test.scala | 7 +- docs/developers/Centaur.md | 2 +- gsutil_output.txt | 89 ------ 12 files changed, 24 insertions(+), 827 deletions(-) delete mode 100644 centaur/src/main/resources/lmtest/SmartSeq2SingleSample.test delete mode 100644 centaur/src/main/resources/lmtest/hca/HISAT2.wdl delete mode 100644 centaur/src/main/resources/lmtest/hca/Picard.wdl delete mode 100644 centaur/src/main/resources/lmtest/hca/RSEM.wdl delete mode 100644 centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.inputs.json delete mode 100644 centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.labels.json delete mode 100644 centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.wdl create mode 100644 centaur/src/main/resources/standardTestCases/recursive_imports_cost.test delete mode 100644 gsutil_output.txt diff --git a/centaur/src/main/resources/lmtest/SmartSeq2SingleSample.test b/centaur/src/main/resources/lmtest/SmartSeq2SingleSample.test deleted file mode 100644 index 3710ac65f79..00000000000 --- a/centaur/src/main/resources/lmtest/SmartSeq2SingleSample.test +++ /dev/null @@ -1,23 +0,0 @@ -name: SmartSeq2SingleSample -testFormat: workflowsuccessandverifycost - -files { - workflow: hca/SmartSeq2SingleSample/SmartSeq2SingleSample.wdl - inputs: hca/SmartSeq2SingleSample/SmartSeq2SingleSample.inputs.json - labels: hca/SmartSeq2SingleSample/SmartSeq2SingleSample.labels.json - imports: [ - hca/HISAT2.wdl, - hca/Picard.wdl, - hca/RSEM.wdl - ] -} - -metadata { - workflowName: SmartSeq2SingleCell - status: Succeeded - "labels.project": "mint-pipeline-dev" - "labels.pipeline": "ss2" - "labels.name": "pipeline" -} - -cost: 0.011111 \ No newline at end of file diff --git a/centaur/src/main/resources/lmtest/hca/HISAT2.wdl b/centaur/src/main/resources/lmtest/hca/HISAT2.wdl deleted file mode 100644 index 72cca225c3d..00000000000 --- a/centaur/src/main/resources/lmtest/hca/HISAT2.wdl +++ /dev/null @@ -1,296 +0,0 @@ -task HISAT2PairedEnd { - File hisat2_ref - File fastq1 - File fastq2 - String ref_name - String output_basename - String sample_name - - # runtime values - String docker = "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0" - Int machine_mem_mb = 15000 - Int cpu = 4 - # use provided disk number or dynamically size on our own, 10 is our zipped fastq -> bam conversion with 50GB of additional disk - Int disk = ceil((size(fastq1, "GB") + size(fastq2, "GB") * 10) + size(hisat2_ref, "GB") + 50) - Int preemptible = 5 - - meta { - description: "HISAT2 alignment task will align paired-end fastq reads to reference genome." - } - - parameter_meta { - hisat2_ref: "HISAT2 reference" - fastq1: "gz forward fastq file" - fastq2: "gz reverse fastq file" - ref_name: "the basename of the index for the reference genome" - output_basename: "basename used for output files" - sample_name: "sample name of input" - docker: "(optional) the docker image containing the runtime environment for this task" - machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" - cpu: "(optional) the number of cpus to provision for this task" - disk: "(optional) the amount of disk space (GB) to provision for this task" - preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" - } - - command { - # Note that files MUST be gzipped or the module will not function properly - # This will be addressed in the future either by a change in how Hisat2 functions or a more - # robust test for compression type. - - set -e - - # fix names if necessary. - if [ "${fastq1}" != *.fastq.gz ]; then - FQ1=${fastq1}.fastq.gz - mv ${fastq1} ${fastq1}.fastq.gz - else - FQ1=${fastq1} - fi - if [ "${fastq2}" != *.fastq.gz ]; then - FQ2=${fastq2}.fastq.gz - mv ${fastq2} ${fastq2}.fastq.gz - else - FQ2=${fastq2} - fi - - tar --no-same-owner -xvf "${hisat2_ref}" - - # run HISAT2 to genome reference with dedault parameters - # --seed to fix pseudo-random number and in order to produce deterministics results - # -k --secondary to output multiple mapping reads. --keep 10 will output up to 10 multiple mapping reads, which is default in HISAT2 - hisat2 -t \ - -x ${ref_name}/${ref_name} \ - -1 $FQ1 \ - -2 $FQ2 \ - --rg-id=${sample_name} --rg SM:${sample_name} --rg LB:${sample_name} \ - --rg PL:ILLUMINA --rg PU:${sample_name} \ - --new-summary --summary-file ${output_basename}.log \ - --met-file ${output_basename}.hisat2.met.txt --met 5 \ - --seed 12345 \ - -k 10 \ - --secondary \ - -p ${cpu} -S ${output_basename}.sam - samtools sort -@ ${cpu} -O bam -o "${output_basename}.bam" "${output_basename}.sam" - } - - runtime { - docker: docker - memory: "${machine_mem_mb} MB" - disks: "local-disk ${disk} HDD" - cpu: cpu - preemptible: preemptible - } - - output { - File log_file = "${output_basename}.log" - File met_file = "${output_basename}.hisat2.met.txt" - File output_bam = "${output_basename}.bam" - } -} - -task HISAT2RSEM { - File hisat2_ref - File fastq1 - File fastq2 - String ref_name - String output_basename - String sample_name - - # runtime values - String docker = "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0" - Int machine_mem_mb = 15000 - Int cpu = 4 - # use provided disk number or dynamically size on our own, 10 is our zipped fastq -> bam conversion with 50GB of additional disk - Int disk = ceil((size(fastq1, "GB") + size(fastq2, "GB") * 10) + size(hisat2_ref, "GB") + 50) - Int preemptible = 5 - - meta { - description: "This HISAT2 alignment task will align paired-end fastq reads to transcriptome only. " - } - - parameter_meta { - hisat2_ref: "HISAT2 reference" - fastq1: "gz forward fastq file" - fastq2: "gz reverse fastq file" - ref_name: "the basename of the index for the reference genome" - output_basename: "basename used for output files" - sample_name: "sample name of input" - docker: "(optional) the docker image containing the runtime environment for this task" - machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" - cpu: "(optional) the number of cpus to provision for this task" - disk: "(optional) the amount of disk space (GB) to provision for this task" - preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" - } - - command { - set -e - - # fix names if necessary. - if [ "${fastq1}" != *.fastq.gz ]; then - FQ1=${fastq1}.fastq.gz - mv ${fastq1} ${fastq1}.fastq.gz - else - FQ1=${fastq1} - fi - - if [ "${fastq2}" != *.fastq.gz ]; then - FQ2=${fastq2}.fastq.gz - mv ${fastq2} ${fastq2}.fastq.gz - else - FQ2=${fastq2} - fi - - tar --no-same-owner -xvf "${hisat2_ref}" - - # increase gap alignment penalty to avoid gap alignment - # --mp 1,1 --np 1 --score-min L,0,-0.1 is default paramesters when rsem runs alignment by using bowtie2/Bowtie - # --mp 1,1 and --np 1 will reduce mismatching penalty to 1 for all. - # with no-splice-alignment no-softclip no-mixed options on, HISAT2 will only output concordant alignment without soft-cliping - # --rdg 99999999,99999999 and --rfg 99999999,99999999 will give an infinity penalty to alignment with indel.As results - # no indel/gaps in alignments - hisat2 -t \ - -x ${ref_name}/${ref_name} \ - -1 $FQ1 \ - -2 $FQ2 \ - --rg-id=${sample_name} --rg SM:${sample_name} --rg LB:${sample_name} \ - --rg PL:ILLUMINA --rg PU:${sample_name} \ - --new-summary --summary-file ${output_basename}.log \ - --met-file ${output_basename}.hisat2.met.txt --met 5 \ - -k 10 \ - --mp 1,1 \ - --np 1 \ - --score-min L,0,-0.1 \ - --secondary \ - --no-mixed \ - --no-softclip \ - --no-discordant \ - --rdg 99999999,99999999 \ - --rfg 99999999,99999999 \ - --no-spliced-alignment \ - --seed 12345 \ - -p ${cpu} -S ${output_basename}.sam - samtools view -bS "${output_basename}.sam" > "${output_basename}.bam" - } - - runtime { - docker: docker - memory: "${machine_mem_mb} MB" - disks: "local-disk ${disk} HDD" - cpu: cpu - preemptible: preemptible - } - - output { - File log_file = "${output_basename}.log" - File met_file = "${output_basename}.hisat2.met.txt" - File output_bam = "${output_basename}.bam" - } -} - -task HISAT2SingleEnd { - File hisat2_ref - File fastq - String ref_name - String output_basename - String sample_name - - # runtime values - String docker = "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0" - Int machine_mem_mb = 15000 - Int cpu = 4 - # use provided disk number or dynamically size on our own, 10 is our zipped fastq -> bam conversion with 50GB of additional disk - Int disk = ceil((size(fastq, "GB") * 10) + size(hisat2_ref, "GB") + 50) - Int preemptible = 5 - - meta { - description: "This HISAT2 alignment task will align single-end fastq reads to reference genome." - } - - parameter_meta { - hisat2_ref: "HISAT2 reference" - fastq: "input fastq from single ended data" - ref_name: "the basename of the index for the reference genome" - output_basename: "basename used for output files" - sample_name: "sample name of input" - docker: "(optional) the docker image containing the runtime environment for this task" - machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" - cpu: "(optional) the number of cpus to provision for this task" - disk: "(optional) the amount of disk space (GB) to provision for this task" - preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" - } - - command { - set -e - tar --no-same-owner -xvf "${hisat2_ref}" - hisat2 -t \ - -x ${ref_name}/${ref_name} \ - -U ${fastq} \ - --rg-id=${sample_name} --rg SM:${sample_name} --rg LB:${sample_name} \ - --rg PL:ILLUMINA --rg PU:${sample_name} \ - --new-summary --summary-file "${output_basename}.log" \ - --met-file ${output_basename}.hisat2.met.txt --met 5 \ - --seed 12345 \ - -p ${cpu} -S ${output_basename}.sam - samtools sort -@ ${cpu} -O bam -o "${output_basename}.bam" "${output_basename}.sam" - } - - runtime { - docker: docker - memory: "${machine_mem_mb} MB" - disks: "local-disk ${disk} HDD" - cpu: cpu - preemptible: preemptible - } - - output { - File log_file ="${output_basename}.log" - File met_file ="${output_basename}.hisat2.met.txt" - File output_bam = "${output_basename}.bam" - } -} - -task HISAT2InspectIndex { - File hisat2_ref - String ref_name - - # runtime values - String docker = "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0" - Int machine_mem_mb = 3500 - Int cpu = 1 - # use provided disk number or dynamically size on our own, with 10GB of additional disk - Int disk = ceil(size(hisat2_ref, "GB") + 10) - Int preemptible = 5 - - meta { - description: "This task will test reference indexing files built for HISAT2 aligner." - } - - parameter_meta { - hisat2_ref: "HISAT2 reference" - ref_name: "the basename of the index for the reference genome" - docker: "(optional) the docker image containing the runtime environment for this task" - machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" - cpu: "(optional) the number of cpus to provision for this task" - disk: "(optional) the amount of disk space (GB) to provision for this task" - preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" - } - - command { - set -e - tar --no-same-owner -xvf "${hisat2_ref}" - hisat2-inspect --ss --snp \ - -s ${ref_name}/${ref_name} > hisat2_inspect.log - } - - runtime { - docker: docker - memory: "${machine_mem_mb} MB" - disks: "local-disk ${disk} HDD" - cpu: cpu - preemptible: preemptible - } - - output { - File log_file ="hisat2_inspect.log" - } -} diff --git a/centaur/src/main/resources/lmtest/hca/Picard.wdl b/centaur/src/main/resources/lmtest/hca/Picard.wdl deleted file mode 100644 index b5a32222b6b..00000000000 --- a/centaur/src/main/resources/lmtest/hca/Picard.wdl +++ /dev/null @@ -1,192 +0,0 @@ -task CollectMultipleMetrics { - File aligned_bam - File genome_ref_fasta - String output_basename - - # runtime values - String docker ="quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10" - Int machine_mem_mb = 7500 - # give the command 1 GB of overhead - Int command_mem_mb = machine_mem_mb - 1000 - Int cpu = 1 - # use provided disk number or dynamically size on our own, with 10GB of additional disk - Int disk = ceil(size(aligned_bam, "GB") + size(genome_ref_fasta, "GB") + 10) - Int preemptible = 5 - - meta { - description: "This Picard task will collect multiple QC metrics, such as CollectAlignmentSummaryMetrics and CollectInsertSizeMetrics." - } - - parameter_meta { - aligned_bam: "input aligned bam" - genome_ref_fasta: "genome reference fasta" - output_basename: "basename used for output files" - docker: "(optional) the docker image containing the runtime environment for this task" - machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" - cpu: "(optional) the number of cpus to provision for this task" - disk: "(optional) the amount of disk space (GB) to provision for this task" - preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" - } - - command { - java -Xmx${command_mem_mb}m -jar /usr/picard/picard.jar CollectMultipleMetrics \ - VALIDATION_STRINGENCY=SILENT \ - METRIC_ACCUMULATION_LEVEL=ALL_READS \ - INPUT="${aligned_bam}" \ - OUTPUT="${output_basename}" \ - FILE_EXTENSION=".txt" \ - PROGRAM=null \ - PROGRAM=CollectAlignmentSummaryMetrics \ - PROGRAM=CollectInsertSizeMetrics \ - PROGRAM=CollectGcBiasMetrics \ - PROGRAM=CollectBaseDistributionByCycle \ - PROGRAM=QualityScoreDistribution \ - PROGRAM=MeanQualityByCycle \ - PROGRAM=CollectSequencingArtifactMetrics \ - PROGRAM=CollectQualityYieldMetrics \ - REFERENCE_SEQUENCE="${genome_ref_fasta}" \ - ASSUME_SORTED=true - } - - runtime { - docker: docker - memory: "${machine_mem_mb} MB" - disks: "local-disk ${disk} HDD" - cpu: cpu - preemptible: preemptible - } - - output { - File alignment_summary_metrics = "${output_basename}.alignment_summary_metrics.txt" - File base_call_dist_metrics = "${output_basename}.base_distribution_by_cycle_metrics.txt" - File base_call_pdf = "${output_basename}.base_distribution_by_cycle.pdf" - File gc_bias_detail_metrics = "${output_basename}.gc_bias.detail_metrics.txt" - File gc_bias_dist_pdf = "${output_basename}.gc_bias.pdf" - File gc_bias_summary_metrics = "${output_basename}.gc_bias.summary_metrics.txt" - File insert_size_hist = "${output_basename}.insert_size_histogram.pdf" - File insert_size_metrics = "${output_basename}.insert_size_metrics.txt" - File quality_distribution_metrics = "${output_basename}.quality_distribution_metrics.txt" - File quality_distribution_dist_pdf = "${output_basename}.quality_distribution.pdf" - File quality_by_cycle_metrics = "${output_basename}.quality_by_cycle_metrics.txt" - File quality_by_cycle_pdf = "${output_basename}.quality_by_cycle.pdf" - File pre_adapter_details_metrics = "${output_basename}.pre_adapter_detail_metrics.txt" - File pre_adapter_summary_metrics = "${output_basename}.pre_adapter_summary_metrics.txt" - File bait_bias_detail_metrics = "${output_basename}.bait_bias_detail_metrics.txt" - File bait_bias_summary_metrics = "${output_basename}.bait_bias_summary_metrics.txt" - File error_summary_metrics = "${output_basename}.error_summary_metrics.txt" - } -} - -task CollectRnaMetrics { - File aligned_bam - File ref_flat - File rrna_intervals - String output_basename - String stranded - - # runtime values - String docker = "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10" - Int machine_mem_mb = 3500 - # give the command 500 MB of overhead - Int command_mem_mb = machine_mem_mb - 500 - Int cpu = 1 - # use provided disk number or dynamically size on our own, with 10GB of additional disk - Int disk = ceil(size(aligned_bam, "GB") + size(ref_flat, "GB") + size(rrna_intervals, "GB") + 10) - Int preemptible = 5 - - meta { - description: "This Picard task will collect RnaSeqMetrics." - } - - parameter_meta { - aligned_bam: "input aligned file" - ref_flat: "reference flat file" - rrna_intervals: "ribosomal intervals" - output_basename: "basename used for output files" - stranded: "whether or not to use strand specificity" - docker: "(optional) the docker image containing the runtime environment for this task" - machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" - cpu: "(optional) the number of cpus to provision for this task" - disk: "(optional) the amount of disk space (GB) to provision for this task" - preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" - } - - command { - set -e - java -Xmx${command_mem_mb}m -jar /usr/picard/picard.jar CollectRnaSeqMetrics \ - VALIDATION_STRINGENCY=SILENT \ - METRIC_ACCUMULATION_LEVEL=ALL_READS \ - INPUT="${aligned_bam}" \ - OUTPUT="${output_basename}.rna_metrics.txt" \ - REF_FLAT="${ref_flat}" \ - RIBOSOMAL_INTERVALS="${rrna_intervals}" \ - STRAND_SPECIFICITY=${stranded} \ - CHART_OUTPUT="${output_basename}.rna.coverage.pdf" - touch "${output_basename}.rna.coverage.pdf" - } - - runtime { - docker: docker - memory: "${machine_mem_mb} MB" - disks: "local-disk ${disk} HDD" - cpu: cpu - preemptible: preemptible - } - - output { - File rna_metrics = "${output_basename}.rna_metrics.txt" - File rna_coverage_pdf = "${output_basename}.rna.coverage.pdf" - } -} - -# Here we use "-XX:ParallelGCThreads=2" to run MarkDuplication on multiple threads -task CollectDuplicationMetrics { - File aligned_bam - String output_basename - - # runtime values - String docker = "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10" - Int machine_mem_mb = 7500 - # give the command 1 GB of overhead - Int command_mem_mb = machine_mem_mb - 1000 - Int cpu = 2 - # use provided disk number or dynamically size on our own, with 10GB of additional disk - Int disk = ceil(size(aligned_bam, "GB") + 10) - Int preemptible = 5 - - meta { - description: "This Picard task will collect alignment DuplicationMetrics." - } - - parameter_meta { - aligned_bam: "input aligned bam" - output_basename: "basename used for output files" - docker: "(optional) the docker image containing the runtime environment for this task" - machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" - cpu: "(optional) the number of cpus to provision for this task" - disk: "(optional) the amount of disk space (GB) to provision for this task" - preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" - } - - command { - java -Xmx${command_mem_mb}m -XX:ParallelGCThreads=${cpu} -jar /usr/picard/picard.jar MarkDuplicates \ - VALIDATION_STRINGENCY=SILENT \ - INPUT=${aligned_bam} \ - OUTPUT="${output_basename}.MarkDuplicated.bam" \ - ASSUME_SORTED=true \ - METRICS_FILE="${output_basename}.duplicate_metrics.txt" \ - REMOVE_DUPLICATES=false - } - - runtime { - docker: docker - memory: "${machine_mem_mb} MB" - disks: "local-disk ${disk} HDD" - cpu: cpu - preemptible: preemptible - } - - output { - File dedup_metrics = "${output_basename}.duplicate_metrics.txt" - } -} diff --git a/centaur/src/main/resources/lmtest/hca/RSEM.wdl b/centaur/src/main/resources/lmtest/hca/RSEM.wdl deleted file mode 100644 index 44b4e5f2a6b..00000000000 --- a/centaur/src/main/resources/lmtest/hca/RSEM.wdl +++ /dev/null @@ -1,61 +0,0 @@ -task RSEMExpression { - File trans_aligned_bam - File rsem_genome - String output_basename - - # runtime values - String docker = "quay.io/humancellatlas/secondary-analysis-rsem:v0.2.2-1.3.0" - Int machine_mem_mb = 3500 - Int cpu = 4 - # use provided disk number or dynamically size on our own, with 20GB of additional disk - Int disk = ceil(size(trans_aligned_bam, "GB") + size(rsem_genome, "GB") + 20) - Int preemptible = 5 - - meta { - description: "This task will quantify gene expression matrix by using RSEM. The output include gene-level and isoform-level results." - } - - parameter_meta { - trans_aligned_bam: "input transcriptome aligned bam" - rsem_genome: "tar'd RSEM genome" - output_basename: "basename used for output files" - docker: "(optional) the docker image containing the runtime environment for this task" - machine_mem_mb: "(optional) the amount of memory (MB) to provision for this task" - cpu: "(optional) the number of cpus to provision for this task" - disk: "(optional) the amount of disk space (GB) to provision for this task" - preemptible: "(optional) if non-zero, request a pre-emptible instance and allow for this number of preemptions before running the task on a non preemptible machine" - } - - command { - set -e - - tar --no-same-owner -xvf ${rsem_genome} - rsem-calculate-expression \ - --bam \ - --paired-end \ - -p ${cpu} \ - --time --seed 555 \ - --calc-pme \ - --single-cell-prior \ - ${trans_aligned_bam} \ - rsem/rsem_trans_index \ - "${output_basename}" - } - - runtime { - docker: docker - memory: "${machine_mem_mb} MB" - disks: "local-disk ${disk} HDD" - cpu: cpu - preemptible: preemptible - } - - output { - File rsem_gene = "${output_basename}.genes.results" - File rsem_isoform = "${output_basename}.isoforms.results" - File rsem_time = "${output_basename}.time" - File rsem_cnt = "${output_basename}.stat/${output_basename}.cnt" - File rsem_model = "${output_basename}.stat/${output_basename}.model" - File rsem_theta = "${output_basename}.stat/${output_basename}.theta" - } -} diff --git a/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.inputs.json b/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.inputs.json deleted file mode 100644 index bdcce3dc11a..00000000000 --- a/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.inputs.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "SmartSeq2SingleCell.gtf_file": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode.v27.primary_assembly.annotation.gtf", - "SmartSeq2SingleCell.hisat2_ref_trans_name": "gencode_v27_trans_rsem", - "SmartSeq2SingleCell.rrna_intervals": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode.v27.rRNA.interval_list", - "SmartSeq2SingleCell.star_ref_index": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38_GencodeV27_Primary.tar", - "SmartSeq2SingleCell.hisat2_ref_index": "gs://hca-dcp-mint-test-data/reference/HISAT2/genome_snp_tran.tar.gz", - "SmartSeq2SingleCell.genome_ref_fasta": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38.primary_assembly.genome.fa", - "SmartSeq2SingleCell.hisat2_ref_trans_index": "gs://hca-dcp-mint-test-data/reference/HISAT2/gencode_v27_trans_rsem.tar.gz", - "SmartSeq2SingleCell.rsem_ref_index": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode_v27_primary.tar", - "SmartSeq2SingleCell.gene_ref_flat": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38_gencode.v27.refFlat.txt", - "SmartSeq2SingleCell.hisat2_ref_name": "genome_snp_tran", - "SmartSeq2SingleCell.stranded":"NONE", - "SmartSeq2SingleCell.fastq1":"gs://hca-dcp-mint-test-data/smartseq2_single_sample/patel_ap/SRR1294925_1.fastq.gz", - "SmartSeq2SingleCell.fastq2":"gs://hca-dcp-mint-test-data/smartseq2_single_sample/patel_ap/SRR1294925_2.fastq.gz", - "SmartSeq2SingleCell.sample_name":"SRR1294925", - "SmartSeq2SingleCell.output_name":"SRR1294925" -} diff --git a/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.labels.json b/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.labels.json deleted file mode 100644 index 40a3a0206e7..00000000000 --- a/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.labels.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "project":"mint-pipeline-dev", - "pipeline":"ss2", - "name":"pipeline" -} diff --git a/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.wdl b/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.wdl deleted file mode 100644 index 5f7c7033a61..00000000000 --- a/centaur/src/main/resources/lmtest/hca/SmartSeq2SingleSample/SmartSeq2SingleSample.wdl +++ /dev/null @@ -1,138 +0,0 @@ -import "HISAT2.wdl" as HISAT2 -import "Picard.wdl" as Picard -import "RSEM.wdl" as RSEM - -workflow SmartSeq2SingleCell { - meta { - description: "Process SmartSeq2 scRNA-Seq data, include reads alignment, QC metrics collection, and gene expression quantitication" - } - - # load annotation - File gtf_file - File genome_ref_fasta - File rrna_intervals - File gene_ref_flat - - # load index - File hisat2_ref_index - File hisat2_ref_trans_index - File rsem_ref_index - - # ref index name - String hisat2_ref_name - String hisat2_ref_trans_name - - # samples - String stranded - String sample_name - String output_name - File fastq1 - File fastq2 - - parameter_meta { - gtf_file: "Gene annotation file in gtf format" - genome_ref_fasta: "Genome reference in fasta format" - rrna_intervals: "rRNA interval file required by Picard" - gene_ref_flat: "Gene refflat file required by Picard" - hisat2_ref_index: "HISAT2 reference index file in tarball" - hisat2_ref_trans_index: "HISAT2 transcriptome index file in tarball" - rsem_ref_index: "RSEM reference index file in tarball" - hisat2_ref_name: "HISAT2 reference index name" - hisat2_ref_trans_name: "HISAT2 transcriptome index file name" - stranded: "Library strand information example values: FR RF NONE" - sample_name: "Sample name or Cell ID" - output_name: "Output name, can include path" - fastq1: "R1 in paired end reads" - fastq2: "R2 in paired end reads" - } - - String quality_control_output_basename = output_name + "_qc" - - call HISAT2.HISAT2PairedEnd { - input: - hisat2_ref = hisat2_ref_index, - fastq1 = fastq1, - fastq2 = fastq2, - ref_name = hisat2_ref_name, - sample_name = sample_name, - output_basename = quality_control_output_basename - } - - call Picard.CollectMultipleMetrics { - input: - aligned_bam = HISAT2PairedEnd.output_bam, - genome_ref_fasta = genome_ref_fasta, - output_basename = quality_control_output_basename - } - - call Picard.CollectRnaMetrics { - input: - aligned_bam = HISAT2PairedEnd.output_bam, - ref_flat = gene_ref_flat, - rrna_intervals = rrna_intervals, - output_basename = quality_control_output_basename, - stranded = stranded, - } - - call Picard.CollectDuplicationMetrics { - input: - aligned_bam = HISAT2PairedEnd.output_bam, - output_basename = quality_control_output_basename - } - - String data_output_basename = output_name + "_rsem" - - call HISAT2.HISAT2RSEM as HISAT2Transcriptome { - input: - hisat2_ref = hisat2_ref_trans_index, - fastq1 = fastq1, - fastq2 = fastq2, - ref_name = hisat2_ref_trans_name, - sample_name = sample_name, - output_basename = data_output_basename, - } - - call RSEM.RSEMExpression { - input: - trans_aligned_bam = HISAT2Transcriptome.output_bam, - rsem_genome = rsem_ref_index, - output_basename = data_output_basename, - } - - output { - # quality control outputs - File aligned_bam = HISAT2PairedEnd.output_bam - File hisat2_met_file = HISAT2PairedEnd.met_file - File hisat2_log_file = HISAT2PairedEnd.log_file - File alignment_summary_metrics = CollectMultipleMetrics.alignment_summary_metrics - File base_call_dist_metrics = CollectMultipleMetrics.base_call_dist_metrics - File base_call_pdf = CollectMultipleMetrics.base_call_pdf - File gc_bias_detail_metrics = CollectMultipleMetrics.gc_bias_detail_metrics - File gc_bias_dist_pdf = CollectMultipleMetrics.gc_bias_dist_pdf - File gc_bias_summary_metrics = CollectMultipleMetrics.gc_bias_summary_metrics - File insert_size_hist = CollectMultipleMetrics.insert_size_hist - File insert_size_metrics = CollectMultipleMetrics.insert_size_metrics - File quality_distribution_metrics = CollectMultipleMetrics.quality_distribution_metrics - File quality_distribution_dist_pdf = CollectMultipleMetrics.quality_distribution_dist_pdf - File quality_by_cycle_metrics = CollectMultipleMetrics.quality_by_cycle_metrics - File quality_by_cycle_pdf = CollectMultipleMetrics.quality_by_cycle_pdf - File pre_adapter_details_metrics = CollectMultipleMetrics.pre_adapter_details_metrics - File bait_bias_detail_metrics = CollectMultipleMetrics.bait_bias_detail_metrics - File bait_bias_summary_metrics = CollectMultipleMetrics.bait_bias_summary_metrics - File error_summary_metrics = CollectMultipleMetrics.error_summary_metrics - File rna_metrics = CollectRnaMetrics.rna_metrics - File rna_coverage = CollectRnaMetrics.rna_coverage_pdf - File dedup_metrics = CollectDuplicationMetrics.dedup_metrics - - # data outputs - File aligned_transcriptome_bam = HISAT2Transcriptome.output_bam - File hisat2_transcriptome_met_file = HISAT2Transcriptome.met_file - File hisat2_transcriptome_log_file = HISAT2Transcriptome.log_file - File rsem_gene_results = RSEMExpression.rsem_gene - File rsem_isoform_results = RSEMExpression.rsem_isoform - File rsem_time_log = RSEMExpression.rsem_time - File rsem_cnt_log = RSEMExpression.rsem_cnt - File rsem_model_log = RSEMExpression.rsem_model - File rsem_theta_log = RSEMExpression.rsem_theta - } -} diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test new file mode 100644 index 00000000000..f17b6cb539d --- /dev/null +++ b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test @@ -0,0 +1,20 @@ +name: recursive_imports +testFormat: workflowsuccessandverifycost + +files { + workflow: recursive_imports/recursive_imports.wdl + imports: [ + forkjoin/forkjoin.wdl, + sub_workflow_hello_world/sub_workflow_hello_world.wdl, + sub_workflow_hello_world/sub_workflow_hello_world_import.wdl, + sub_workflow_interactions/sub_workflow_interactions_import.wdl, + sub_workflow_interactions/sub_workflow_interactions.wdl + ] +} + +metadata { + workflowName: recursive_imports + status: Succeeded +} + +cost: 0.011111 diff --git a/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test b/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test index d8295e4d0e2..e9647513d37 100644 --- a/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test +++ b/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test @@ -15,4 +15,3 @@ metadata { "outputs.main_workflow.main_output": "Hello sub world!" } -cost: 0.011111 diff --git a/centaur/src/main/scala/centaur/test/Test.scala b/centaur/src/main/scala/centaur/test/Test.scala index 55fa194d51b..1158448c652 100644 --- a/centaur/src/main/scala/centaur/test/Test.scala +++ b/centaur/src/main/scala/centaur/test/Test.scala @@ -1063,7 +1063,7 @@ object Operations extends StrictLogging { def getExpectedCost(workflowCost: Option[BigDecimal]): IO[BigDecimal] = workflowCost match { - case Some(cost) if cost == 0 => IO.raiseError(new Exception("Expected cost is cannot be 0")) + case Some(cost) if cost == 0 => IO.raiseError(new Exception("Expected cost cannot be 0")) case Some(cost) => IO.pure(cost) case None => IO.raiseError(new Exception("Expected 'cost' is required in the test config to validate the workflow cost")) @@ -1074,10 +1074,9 @@ object Operations extends StrictLogging { */ def validateCost(actualCost: BigDecimal, expectedCost: BigDecimal): IO[Unit] = { val costDiff = (actualCost - expectedCost).abs / expectedCost - if (costDiff > 0.2) { - println(s"costDiff: $costDiff is greater than 20%!") + if (costDiff > 0.1) { IO.raiseError( - new Exception(s"Expected cost $expectedCost but got $actualCost, which is outside the 20% threshold") + new Exception(s"Expected cost $expectedCost but got $actualCost, which is outside the 10% threshold") ) } else { IO.unit diff --git a/docs/developers/Centaur.md b/docs/developers/Centaur.md index 46a39af0598..43133026918 100644 --- a/docs/developers/Centaur.md +++ b/docs/developers/Centaur.md @@ -111,7 +111,7 @@ In case testing of the caching is required `<>` can be used. The testFormat should be `runtwiceexpectingcallcaching`. The cost is optional. If supplied, Centaur will retrieve the cost of the successfully completed workflow and compare it to the cost supplied. -The expected range is within 20% of the estimated cost. +The expected range is within 10% of the estimated cost. ## Centaur Test Types diff --git a/gsutil_output.txt b/gsutil_output.txt deleted file mode 100644 index 68959c0c199..00000000000 --- a/gsutil_output.txt +++ /dev/null @@ -1,89 +0,0 @@ -Reauthentication required. -Traceback (most recent call last): - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gsutil", line 21, in - gsutil.RunMain() - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gsutil.py", line 158, in RunMain - sys.exit(gslib.__main__.main()) - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 436, in main - return _RunNamedCommandAndHandleExceptions( - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 786, in _RunNamedCommandAndHandleExceptions - _HandleUnknownFailure(e) - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 633, in _RunNamedCommandAndHandleExceptions - return command_runner.RunNamedCommand(command_name, - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/command_runner.py", line 421, in RunNamedCommand - return_code = command_inst.RunCommand() - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/commands/cp.py", line 1131, in RunCommand - self.Apply(_CopyFuncWrapper, - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/command.py", line 1575, in Apply - self._SequentialApply(func, args_iterator, exception_handler, caller_id, - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/command.py", line 1627, in _SequentialApply - args = next(args_iterator) - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/name_expansion.py", line 687, in __next__ - name_expansion_result = next(self.current_expansion_iter) - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 96, in __next__ - raise six.reraise(item_tuple[1].__class__, item_tuple[1], item_tuple[2]) - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/six/six.py", line 719, in reraise - raise value - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 70, in _PopulateHead - e = next(self.base_iterator) - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/name_expansion.py", line 291, in __iter__ - for (names_container, blr) in post_step3_iter: - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 96, in __next__ - raise six.reraise(item_tuple[1].__class__, item_tuple[1], item_tuple[2]) - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/six/six.py", line 719, in reraise - raise value - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 70, in _PopulateHead - e = next(self.base_iterator) - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/name_expansion.py", line 533, in __iter__ - for (names_container, blr) in self.tuple_iter: - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 96, in __next__ - raise six.reraise(item_tuple[1].__class__, item_tuple[1], item_tuple[2]) - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/six/six.py", line 719, in reraise - raise value - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 70, in _PopulateHead - e = next(self.base_iterator) - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/name_expansion.py", line 497, in __iter__ - for blr in self.blr_iter: - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 96, in __next__ - raise six.reraise(item_tuple[1].__class__, item_tuple[1], item_tuple[2]) - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/six/six.py", line 719, in reraise - raise value - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/plurality_checkable_iterator.py", line 70, in _PopulateHead - e = next(self.base_iterator) - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/wildcard_iterator.py", line 538, in IterAll - for blr in self.__iter__(bucket_listing_fields=bucket_listing_fields, - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/wildcard_iterator.py", line 189, in __iter__ - get_object = self.gsutil_api.GetObjectMetadata( - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/cloud_api_delegator.py", line 314, in GetObjectMetadata - return self._GetApi(provider).GetObjectMetadata(bucket_name, - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/gcs_json_api.py", line 1047, in GetObjectMetadata - object_metadata = self._GetObjectMetadataHelper(bucket_name, - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/gcs_json_api.py", line 1004, in _GetObjectMetadataHelper - return self.api_client.objects.Get(apitools_request, - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/third_party/storage_apitools/storage_v1_client.py", line 1124, in Get - return self._RunMethod( - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/apitools/apitools/base/py/base_api.py", line 734, in _RunMethod - http_response = http_wrapper.MakeRequest( - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/apitools/apitools/base/py/http_wrapper.py", line 359, in MakeRequest - retry_func(ExceptionRetryArgs(http, http_request, e, retry, - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/utils/retry_util.py", line 65, in WarnAfterManyRetriesHandler - http_wrapper.HandleExceptionsAndRebuildHttpConnections(retry_args) - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/apitools/apitools/base/py/http_wrapper.py", line 304, in HandleExceptionsAndRebuildHttpConnections - raise retry_args.exc - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/apitools/apitools/base/py/http_wrapper.py", line 348, in MakeRequest - return _MakeRequestNoRetry( - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/apitools/apitools/base/py/http_wrapper.py", line 397, in _MakeRequestNoRetry - info, content = http.request( - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/vendored/oauth2client/oauth2client/transport.py", line 159, in new_request - credentials._refresh(orig_request_method) - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/gslib/vendored/oauth2client/oauth2client/client.py", line 761, in _refresh - self._do_refresh_request(http) - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/google-reauth-python/google_reauth/reauth_creds.py", line 112, in _do_refresh_request - self._update(*reauth.refresh_access_token( - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/google-reauth-python/google_reauth/reauth.py", line 283, in refresh_access_token - rapt = get_rapt_token( - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/google-reauth-python/google_reauth/reauth.py", line 194, in get_rapt_token - rapt_token = _obtain_rapt( - File "/Users/mcnatt/google-cloud-sdk/platform/gsutil/third_party/google-reauth-python/google_reauth/reauth.py", line 142, in _obtain_rapt - raise errors.ReauthUnattendedError() -google_reauth.errors.ReauthUnattendedError: Reauthentication challenge could not be answered because you are not in an interactive session. From 60bc2ba727dfb098c3dfca681487032da561e069 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Mon, 3 Feb 2025 11:05:16 -0500 Subject: [PATCH 06/41] edit name --- .../resources/standardTestCases/recursive_imports_cost.test | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test index f17b6cb539d..44eb31f40e5 100644 --- a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test +++ b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test @@ -1,4 +1,4 @@ -name: recursive_imports +name: recursive_imports_cost testFormat: workflowsuccessandverifycost files { @@ -13,7 +13,7 @@ files { } metadata { - workflowName: recursive_imports + workflowName: recursive_imports_cost status: Succeeded } From 3edb81c681ba4f4a05eb7b3d827ecc1fb7a772c8 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Tue, 4 Feb 2025 16:48:41 -0500 Subject: [PATCH 07/41] disable call-caching --- centaur/src/main/resources/reference.conf | 2 +- .../recursive_imports/recursive_imports_cost.options | 3 +++ .../resources/standardTestCases/recursive_imports_cost.test | 4 +++- 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 centaur/src/main/resources/standardTestCases/recursive_imports/recursive_imports_cost.options diff --git a/centaur/src/main/resources/reference.conf b/centaur/src/main/resources/reference.conf index c657d3790fe..df51bc0300e 100644 --- a/centaur/src/main/resources/reference.conf +++ b/centaur/src/main/resources/reference.conf @@ -44,7 +44,7 @@ centaur { # Path (absolute or relative) where Centaur will look for test cases. The expectation is that each test # case will be in a subdirectory named FOO with workflow, inputs, and options files. - standardTestCasePath: "centaur/src/main/resources/lmtest" + standardTestCasePath: "centaur/src/main/resources/standardTestCases" # optionalTestPath: "/some/path/to/tests" # A mixture of syntaxes used by diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports/recursive_imports_cost.options b/centaur/src/main/resources/standardTestCases/recursive_imports/recursive_imports_cost.options new file mode 100644 index 00000000000..cdf39810203 --- /dev/null +++ b/centaur/src/main/resources/standardTestCases/recursive_imports/recursive_imports_cost.options @@ -0,0 +1,3 @@ +{ + "read_from_cache":false +} \ No newline at end of file diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test index 44eb31f40e5..5e07f18b1ab 100644 --- a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test +++ b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test @@ -10,6 +10,8 @@ files { sub_workflow_interactions/sub_workflow_interactions_import.wdl, sub_workflow_interactions/sub_workflow_interactions.wdl ] + # Adds option to disable call-caching + options: recursive_imports/recursive_imports_cost.options } metadata { @@ -17,4 +19,4 @@ metadata { status: Succeeded } -cost: 0.011111 +cost: 0.0016 \ No newline at end of file From 5e6f36d0128d1e0aea15ce1382eeaec1eeea8140 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Tue, 4 Feb 2025 17:41:16 -0500 Subject: [PATCH 08/41] documentation updates --- docs/developers/Centaur.md | 3 ++- docs/developers/Running.md | 17 +++++++++++++++++ docs/developers/edit-run-config.png | Bin 0 -> 404263 bytes docs/developers/select-run-config.png | Bin 0 -> 234673 bytes 4 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 docs/developers/Running.md create mode 100644 docs/developers/edit-run-config.png create mode 100644 docs/developers/select-run-config.png diff --git a/docs/developers/Centaur.md b/docs/developers/Centaur.md index 43133026918..17ac8653292 100644 --- a/docs/developers/Centaur.md +++ b/docs/developers/Centaur.md @@ -14,7 +14,8 @@ You can now run the tests from another terminal. There are two ways to invoke the integration tests: -* `sbt "centaur / IntegrationTest / test"` - compiles Centaur and runs all tests via sbt directly. Tests are expected to be in the `centaur/src/main/standardTestCases` directory. This can be changed by modifying `reference.conf`. +* `sbt "centaur / IntegrationTest / test"` - compiles Centaur and runs all tests via sbt directly. +Tests are expected to be in the `centaur/src/main/standardTestCases` directory. In order to run a set of specific tests, you can create a new subdirectory that contains the tests you would like to run, then change the path by modifying the centaur `reference.conf`. * `src/ci/bin/testCentaurLocal.sh` - runs the same tests using the continuous integration pipeline configuration. diff --git a/docs/developers/Running.md b/docs/developers/Running.md new file mode 100644 index 00000000000..16fcedf6a30 --- /dev/null +++ b/docs/developers/Running.md @@ -0,0 +1,17 @@ +In order to run a Cromwell instance locally, there are the prerequisites: +- Have docker and IntelliJ installed +- Start a local mysql instance by running the `start_publish_mysql_docker.sh` script + +To run the backend locally, set up your preferred run configuration. +More information on backends can be found here: [Backends](Backends.md) +![](select-run-config.png) + +If you've created a new config, you may need to edit your run configuration to point to the correct config file or have the correct environment variables. +Example for batch: +![](edit-run-config.png) + + +Upon startup, the Cromwell swagger will be available at `http://localhost:8000`. +(You can change the port and other configurations by following [these instructions](../Configuring.md) + +**Note**: To verify that workflows are being submitted to the correct backend, look for logs with `Call-to-Backend assignments` and check that the tasks are being directed to `-> GCPBATCH` or `-> PAPI` etc. \ No newline at end of file diff --git a/docs/developers/edit-run-config.png b/docs/developers/edit-run-config.png new file mode 100644 index 0000000000000000000000000000000000000000..2d8d16ab21b407ed9a9482fa435b302c15c70947 GIT binary patch literal 404263 zcmb5VbzB_HvM`JW4o8R3m;U?LzO;K<2Jsv#ht`5+*mYM{S(ZV}wF z>O?@m7PXR)P?3|6pi*(Nx3KzVj({K=mZ*&eP#+}B(2I}#^c4{$H)st7@jYU0(1bV` zomc!dRl-|jvEFDFrba>y$&Mf8;qTl&orId2sGj&%W&J6QKyA5XKy_Kw2DyXm&z``d zmN4hNl_qlp6~WF|VNNQp2u{IwTMNd(`^KF&0!2hr2*_VH5M20IgkF6R5FqC^UFIkn2{;ZqI=G~yu86TFm3L;QY3KQN8eNUS1JM`1oJqgNJJ!-zvOSl5Wz-a~2xg7_tA5}hVTAKfuPF9_@!mebDZ*-i*Yo3TIi5>1RVF!Z6%;a>s{Bvi45?%zg8&4kA+0Bk9KquYT?$$|u`z(x%%kgM zTL2Kpf>C)4L2g8#DFH06$y4I0m)8PwAr7;ZUG#&9q##Sicof^8sG;~YA_Jrp`|QWNfk*>Da*JIV?^w2D*4U_l7s^y)s3ufshVox>g1RSP zcbW~L!(OE$lM?NvBB$2E*RLc_+<##FazLde4wuy?y`+2b8ab4@hw2YbdCbFxp~pv| z`_8?{4-PTeo<0ypA!?Ub6tBx)HDfd|V1@UHniC^7XZyweA+!>mLuv^6UEU~qhBKSZ zRUUYZ?7f28XR-z2sAm466W*GqnGMfUnNPoOeKO{le*VpwZl zr52zgvZx|+9^)b5uBAID)bG`A*w20m@`1S=3X)XjhgyW9692k$VR)oDKm0~LZ}Mh! zadMFW;SeGPyZ6GUeXyevAYX4n1tM(t`Zze8pS!bNe?;(J-P{Hq2wIMQ&wOc)Fh;TU zxd+whWikc&IcxTdOm1Ogl#%Z|X)zxhkPSOJCxWf`fOctFWo7yXs)6{=~ zdJG-;LJTR+fsRm4S}hJ+GE_EJX8Lo{LYmG2&jyaORW^3a$e zMYyj60C)SYxSQm0vNP1WuU0o} zQWQpL#^~6n%W2OTGN{~MQNBWxrHiK+jNVZUr*V|M%Y8kiJEb(`IAyMedl(pB9bXk+ zqZX?c93su#0;g^#OfG#N?^0xMx%NmgdodaWd_Uvq3_N@aewinc_jlBb7Dvr95{ zEv_8o^5peO(PLccz5?^EB2gSM`v?w`44h298pDJ8_enn6sJquCha7X6urWCS&wLKY=dXRF>PEU7Sj1WJI5QblstX*UPr}HEA#(CkF;+T*^1D zL+-n8*5<#Bb-y$(UuO{aMw%qq)en` ze^sERTs26QA}1)vT4uFUyUKEjXkmU?)M3IA-Tj@@S0@ktB_Efe1A?4o8KAR^>xkpZ zmPfzb^!u5jfui2Sx|*^N^G!>4M{kc(vN)alxnn$cP4~Opb-+&3iF+iQ%@cLAHzlbp zsS9PDW%H{m!n19CPcI}QUX22}J|2smpF>iP9ecKO3Q{dW`y%7*ttV~OZEhaIq&7TB zqHeD({YN<~`5R|QyUb3U?xPaPCn8B0LTxA5Z|TTApR zAie->1kbIzpnq?DsX$Rr}e zqKl$EUmw2_WUd#ECgkI{lUZr;fJ4nM++UaC(_xf_S%=}jK7PHU=G9;+vPLU$Yp>Uc~;`1~+rFZn7n-@72WKy>(g4Df3*^)OW@ZjsR# zqZp;4TD+R~OWSz#&{~pk%Fl!vLGAZ^Jdjuw^%T}`sixfK_X%uq>4lOr!n4jtM@3It z92av!boQo(&LG0aIB+aL-Y-t*-TC`MHYf+H;}YzUWIA|S&|+Z>Ahc~|qOxiK;o{fI zud*5ii_y#*V_xUmeExy7TK+QU(LKWP(_chF_76Tok0*ESMErz_L~RDKwOM%!l^%u{ zIYt4%B6d~QSIH}YgF1(98lO00)%`8bh(H=lc_0}B2eeljG-LLG?)xqk1 zYRuejc#fTsjfkxs)aBlL>lAg_bt%J4tHoRXr-I4g#_eWjcArU~iMKSnG_Lfp9J}J1 zp$*9GZi!vz64unt!m}PUjBw+R9#XXL26hk z7O&`Hd}H1dU!T3J-c3W2?NhU2W0|-2$!)y=q`8^=g<#Tb&Q1LNS~|X);Sxb*NmD1t zWZEu$)!e&-VlZRhTODG!PE=pvDryGoMvOq_L9;@WCynbPj(Sr3rMNmeIBF0gj$2pn zQAZ|p;^49T>L=~2OkE6{pftah&$n}r%?p40Klr|kACyF_(^tIqXBySDmra)hlta=* zycrHgirg$7E^5{+W74jK+z*7deWp5O!x z;;DNtW_8tWRfZBp=)mJGlbejKn=*8dqi?9wM}^y+Gh0Mj%Xr{l$Eb5~VjHs^1$B1+0UGK9+5pE8Uvrtq-V0wnp z5l|3G5Kx~X#OES{NcumpG~zo1*wN;h4kN}(R{Ly{~JctcrJvU%D$m%#FAQ003 zRS@OW=+2+#U$D{uxBwIt1kCJh*-XCJo0_wE*gE_*4}y?~z%yuT?qWjaVf)R_S-?Y> z<{u*jp5ecm*=eZ$F~r42m+$Qu?3h&sV}U zUtL@r1lZZ#-QC&TKd{+5S+aBT^YgQFaItf7u|AJrb@sG#G4WuvbEf^TN&b5tNpoj2 zCo2aRD|psmrtp0Z;JLi8s*7F0h|JB3J$;QF{KXX5$ z3jNh8pkn1={!K^H%J!LN&ufTqe&FR6`Uk@Q>H6O#|Aq?q8!A61@841X*7fhGn$G4< z685&wi@J#X?+g1U^4~lEi73SW*R%hP7XL-)f3!YRS_D&w{eRw?2xi>dw)N*1NoFOf z{MXia-e!LtNX5@T@BXWPhLN4q%!!oC5D-2g$VrN6cp#p%xjT@{B%OI~;FzGlzBZ&o z^s=Y>{D&_5(%QA5)&6zvwS}bxpBtlLYf5NTRM?$8B-69%VK2&Ra-gdh*FWR0KPblkj4xv?87Ha1EW=s;Du@w=p;!-IlD>-CSB(MN(_Gr3l*8YJ zyvjbVFA2PMt@I5RhuyNgAcbIG-fcr-fIujO2uLb12onu7d!j^#!@J?|t#qU?Fr^QC z>!HAVeeZ#9pE3>D1m|qzXWY+B171PUV6XswdOs_i;HuWM48zQ6NZMcii@;l7k_iX9IYidl0w^~PPph}8VfHTRneV-P#QoVf6q>Da-VX4Ew@RZL z!2=0~0O8H({Ac3$ayLgcmSdmqnrfDcxQGQUN=MT8)%%pw-i7IwD^--0l+=j=aBf`B z)NLxCWEJhuD%!Oy70|lYU4cK#a1WA`Y<-}PT30LW<;kG(0mgC-e}T8^-#d!U9(Km} z$9)S8io;OO_y5uqFPR^LZ|n^FQH7YVK_TbRL*M*Pi~y#-QnV$E@5%W6Z?c0 zELyN2VC4lVSp|gOW+g8-anJ>6ViWlI^^Mh|7e3$_L7cM zHCRtrNzI>##@^|3xTo}(D*GTm|6=^_-wf}IikvpZ6TdA$f1ND0$#ZEyPm}q?AW|^0j^~nx&XTfiz`kpa{a$b78 zsQvKDqL=jjIQeTT#Q*H{C&Zv*WR%y^5*-{JOzaFqlNViu8?Q1}w?MytDLh!V??89H zhz$QDX+#jExE)N+VG2EpV}2#ulaGB&Fd*W4ln~y$%VobN^o!H%2brLs_*fAXt6{9} zsQMRS8|xY);eUK13>Y2DPHJk^*l#&HSo}g>64U6ppCna)7HNu}X71-DjY1o|_%YEi z*fQgOIgHXoZARc1pEYwS;Yc@qU^=3)00#tPnGYqrciI_HbzWB}S^G{SD*GMfKRUDU z(W&O_wX~9SANB@9<7mwv#)L0>=Tlkp?WM=E3JLXnjMUxfH?7e@zc;29OI=5o_{9F& z&5Y5MKTG;zlBMPiZA|U0tioR4fZja|T2+F}|8V8!VOeG(ll2b~^fkp)2-B zv3uN1mS?fS7F|Jd&Ok@^yR8BPRCy4L6p4bhMjL`Vc)r=q>h?_1Uuhp5#jQ1<<~0A| zjz)Za;Dt0eILP&FfrG%;c~?Ga_hEW-I-ajpg;dLcXvz++m~WFLYIE6miCrKu%Pw_z zw;x$_0Gy%Epvg1qbh-1M-~FsKQ3iwIKjWb1+ww1Gj4dDp-37jo`)vJN=;5S>%lMi_ zZun$*)N_g>13l|ECfv_LKXo@0(}e5k0vaj6rE1H5o`nU>Yx?QkgNrg@kh(z=8qtT<8!cQfKlc_`Faj>oU0 z=`Xee+fSe{@3H>W?6g8rr;!v+155^`gb$Wu1ADA`dAYf{znDG3|6Nv;>myZOlJh&| zezEv6unhKn7tgOSb&rFGwOrEeL^sR!dza>P<*HCp!4WN$8X ziv-k|iTsM=BG8DPn?5wvu>Eb<`hz5>1exV2JT?%$$NR{N9v?kD?{>Al-h6L4YgYg9 zlH!l^N6CG;SbGpm+U<00HRpa|G2Q>uQacdX`6M^ZuU9uV%*4dBQ~QIuxTFGnve%po zI-JfQY;-i6#hFJqoM*>ZHz_JDO|Wz|=bg%l5n}Nakp8&cC3O9SE0TaL3JXy*?w~8mZ_+!`QUW?Qh2Dqonju zipO2cUmPX@ZwQs*@fno{i0h!Ik=%Jkzgfmc6ONs@=$YSho-^3CD=#R_DSzeMESng- zC)y?YVx|*(QeJu#xu;i3%gUcnTX4BSwqU(5Klyu-ejY@h+2!%6k3hKPx@+V zOuY}ci**K^`5_cODwkJiD834@_U%tvytZpA1d0Z?0?y9P=5r&&YAPyOSkCI-MtEtb zaQ0#}HJcrvAy1dH+D7tO$C)D8jVx8%;vOa>aQUNkC01v78KvkU0Kbhxuer z_nrT8B3t6i{@GKt_quXCpK0+}7zgPT|71W35zhv~5g6v%%LRlX5er*HHam;Z?BDc< zN9PM(R_~no>u?FN&T0*|@Em+4^M;zB+e{feq%3rq5*#{cmbI#@v4Im^TXD5a(iGeM zp6KM^@=E^ltZ2Oib-(J*nqk}-&UbZnJVOOtT8aHd&Fa<86-vn~QpEAUV?c*MXrZ>! zy%oy^abep>f{BEqX;-Jc;RvT&n?B>S1k%pWfB*QiQ6qpqGAFS&K-Az&w&2`O=2~w{ zoV8pY+{Jaj2ZIw#xREr@?!NFUpLUyMpZi10J&eMycU<1M4X+L#2S>3v0w;yv z%)Oxy-P1Up1Af7hUR@kp6uFMY1X!mug_Sf~YtGIASfR3lwoXA7kuE_-o16br)tv2jEp?oySy!YAg ze;EC}oS^@t<$Hg(e<^{D1%R$OT}=%@zzU1RciWk;m4c6smH);@z7e02yxK@OO@kh< zhfVH|Qb)O<#h&@#0P!wy0-w_mr1WoRQ*Xr@R=iTN$v&#Qq!4-s$X<(cS6YC5J5WGbis)K)GT-(r(pTwILLfj1f9 z=!=r1h6&pVZ9_<0ICgjUZ`z$QXNxjD`MwNv?G#JJY%vPkv=<^4pXF4-w5vgC zLn2LhaIOsMzcCY)zuRkcEKsLj;q1;DWR0JqAz5P zSt10xUi$p=)1(aPh%S*CPbU#A=LZGy7(xemt-uRZ1FRTIHg6-~Hck}h693xIi69IR za(XcP68wJI{>#-KtJrbdwpk>bIOuq6*_C6XjIxpVH^-XCBQv{xtoxd;vVb6WoK4fy zvPt)k!M650*PXk5fZOR3YYXHg&Ut@KN=OEWm`ieR>=$j3H9rtQg!OH)xo*7g+(5Nf zeZoz&w&xzujiBh; zqBy$@G}#^dkzClyWa4NI+8pWe z4J4uMW(^e3)rlW7$ndhx0|hdADXPNG`$ZQY{5(qMqCo-k8uJT6RPW!*8C>o)61nag zS2>G=PaQ0uj*N_sxi4O_rK1(gTaF+hT&Ggl@vP20JezY&F+z{Ao~BOY5jfL*-dd#?<(sd9Z)V8$AbzePs9%+g&F zYfEx}NXgWryb)RvgfCaAEgDSnb2?Y4H3H%K{x+=hm6_5?zLgrOJG_wo#i(UvV!(d|QRJn9)luuX%mv zx?aS-1O(S_YqdJYWrz6sn}4u_H05>C=VJUOcVjyP^Rg;Cl(M6p_lL~;qsh7ax;%)V z)g^3olS-|9-aHaLA~q-B-7b-~@(3Ye5@a2scZ^J^-L*aWyKY?fJ*my)r8KoFscyp= z?IL9)4=t_14;)f9bw=eR)f|~c9y_7t*&&fhKxvCRILu0Qq-84M{ZI2OrvMv{`|Ll?*bnzMjX{^Cz4pBMjXjspMf<_f$&yXe9~`=lNfTr{L?e8mpL*q zZm6zU!^>M+zH!?gg3sI^S3<;6`LHqkiOlz^tYHUwfiEKe0%s^$5Zoxybn}5wjBhv4 z^?2q9>@UlIVoauOz@r3j8PZ2J)8yW>H-3unYFKKAqZMf}PcCo+VL}8H)8ur*P0ssl z%mK~P#iXnrQ2~i(as)RGcB_OujFNh^(%8wJfiEyJSm}h|Hv;grBA?i?;$6tgo7!M* z`!oH)fssnzZ*IqJ%rw5=YRf!1ieBk!NJQ#AQQzG6f( zJQUgQ5$ed??EBzG>h9+UQpgY*G_r%dhEVZtuEorIbK0!{2Il~S#D|TLSzVAmobaG+ zz8%96?Ca6$1@^aJ`Pc@@kzRt-35~VkLQHlBUUB(A9Uh{$9|A0iAq3dx4TZI}Ec$5= zf8XAJ!Fb6CE{Y@eOzawi!|d%WwE1hf=A7!2tk15C3PRprOCZ|_p~v%_0D@WaS3Yp* z-nC^Ow+hx`X~E{7v3P*{C6*Q5ImB-&FY%3*8*D4@*SS=+b|jvyNU)5cB~6eVBa2U} zQh8gSGcSTLw!l}$t|#{gXx01Mkc2*grFy;tKAkBbsNCXZlqgrp%Q|~P&>0`e{C79{ z*zaWxuV7y8aoXM072XOXHI_Zb#X?o<(n{h6# zenydw+8&4h+1=c_oS!$02^IY4Pf$vTJllSHRC0H0-};wTRCjDKn)W_|&;Y*(8HsF6 zG2@RZ-ddbQ#pPFEOL(V|&xLtz>$=#9Vb6J8?)>BBm6+?R$8vH3M?F-dr~dg6XzRl* zPx$gX^vNS__jPkqV-M9mlhbk1rG1CroW9Na?glvzdFTAC6WS%H7oWVb-X|&{YiWJ_8igX=sWJ_Gm>4CX5g_zhsPrO`OKfmZ_QW3b|()WlBFTz~`8hsq@ z*^44^Ut|;lwyP!&-T9M#+u5eLcie=wj_n(IpYmWW2AXA_uWa5)baAbW9`SnIUt0-S zDj|B6p^zpUSHbr5?29MPP~0jJY2mF|3HH+sxRc<#WTPs~bMj7S3%Li#^QTo3qdZu5 zepI)hf_+7#=jpY<1cw+AKh@!`)A_l{?o&Ov5pdO&%j`#Zp%@VNxQQ>&S?d$u{E_?D ze7|HCD^!^nvJdV%uvW{><@LPv&B31xR=|nh^6S10a-ikf!Apzr4En46(dpp1PH`O8 zt!2ozjQ&~-ug^Cu@~P@cV2a{KoZ~M86bfr3kF7inLfpC|$oZ zo&_que?NE++0oU*+q^Pe?nlCXWWB^f@ZtB1|2JplCv}v{EP|_(h-TwE<)gT7JGFUs ze{!7P;rop4rWiJvUom(-hB4CXFfu?l{|MVvVsfePX7*vnD?DX)EB14+)->sk6b#!6 zm8draNge}wG&u#nwySZ=O8K@uUUjNhS6ohM&MV>w7*h0nQ@DLy3uH6-O?YO~%DkQE ze225tJ}sbQZ*A_-N|HLHOqs~ioxCe+%5XpP(a+@-Ql&F;zAY2;_VJ^zj5J=+^upq} zDz995n+kjXT+(o_gbOL5NzdOspZ+gjadb9(CB_CQLb^y#nq$}q#3l#AX`%*;0;0n{ zdOhY~^5WT14V2C}%X-}OKfp_vT0Lz)E$SF+^u(CAUa}G=~=zQ~9{U`=XsRLPaR#oCNRaQ z_U7i#hMv3ZNbUo&#?cR(_)8%Jek_$)k|4`y#BHHH8obQ50TDo1F|dTjIzHT!wJwG< zK%fhWZs{vir!HiWF~gytRQ;4|pYJa@{l27%)meE?Uvq2@o>qq^u#|wfUOi-oB z4FtZeOoF{@Ur@j0w_hssk3vb-KrGwCpU47AGxL9M|msB=UKx z^6jgImxZ_C`BI0oYjMtr!uwWu%bz&Y|VN)u^!5e!|@2YQ6Llrc7{$r-w<{o z@xz{E_-ESv0{bxSgKq?fKKz?Gdu@OOaM0s${4-O;aJN!3K2&(vAn-ONm8J2Xgl~5` zY-Ue!edzK}qT6e`g(X_(T5=|-lN^l zf_YYwXxc~SiVQbVwG9_!9u>!+k}I7wkHOK&`%Nk|!g5~v4nPc`UuVBIDhqEVJ4*XAM7$h-Q-ggSyPCt5OTKBe2Z|d@UWa{cAE-Sh$ zHc0`g;<*8?G)sJ{1D~avcU@^)cs&Gp-Rmn!a0(bRJyup~m%Qr;gL)}?r0MV*W|5{F zVlsRh{d{}!oEs@lx?el1nTYMwkyY#i{SM7t*LAJ8cI^FpWBM{Rhh@B7?K$`=WMU}P z=exs>NOV`XmymR|ZJKm(LC`HqT55N^ZlVYPxg#sSOJmc;v#0E{;oWeFmPyV)c@)|y zU+?4L_a>sxZ3EFD;XCMd{384G1$te@ML?}!bo~B-sN#2@Wu3Im)uz_YO4;0;*-USJ1umrB5O=Kjdq(O{n}E7Z$e($KI;;r2OiP*q-K(X* zqW#r@6&EZtH!>2@jP`vEm!4LKzpOLIE)?(l4l?sek#eT@j#|r=Yq#SjaUw<@V?ylg zP!fAz-VYy;*Tl#h;Q)^`^jCoXH{Nhua=Y3>UMwR56W@oBo0U95P{d4^yL7IvP)tS1 z0Qe_S`)buges45fuT2?1ck%2b0=%W)E)TZ0wjK@suoBbBM0%DPmEqUX%SkA)(NqNv zj<%#Cv_iw#zAMop8rj|5O}eUTmI?88KnL;Z1KYH6P;0X<-(nd7mbw+|_QUSabI|ur zo0|CVpXBS=px#kni<35Go+=}Dmkk=o1U#=w4~;U3u~GmmqJLd=f$_YI9&Yxk2U%RksWIKr^ajc1D98yt(T!C1Ju2<%Z3B324gB| zbe+FbTe;TV^-wgL;vH7agVm~?bP%h+ce%(iAJ@|*9X=_Sq+(vNS*Le_(ZP%*ykcr) z(A2BMOCTkSnEi4(hhq<2GbbtzuLXD2exE71%~t7nb0H_FQoM!MY9U7_o=0(&pBbee z?eXLmaAkK>X%X~UGO9y~$I!+XgQ;*qhqWJez%WRDNLxYwcLxF@-aq8M;V$jr6+5WX zqtJtObZn5bvn0#dG$A&4UcINimu5P2qr`JfjSVDkIgkDOYKzvXHMm0XxZZ;u_>k_- zn$J{fW#7EnXIxd}-7b=EO2}gAD?X5Ht}J45^=8KeR_!&q6e?97rHRTfSU?)dp272B zs6+VL^@xJRlwc^}mFWb9h>s+zw|zZ96HFK+jmjQL%&8uS7qef#Y!@|>qtb~62EIe{ zdz>8W?wZE{*|8KpTpzx^lVlZtMM>bOPyLaxB#X=rc=MZwu!UQ=^8Ds>yGE{4yR29d zy9SY)OQv-*gwksQaMy%cYHFex0jPg^*dHouSfL5z?z3)uszk6twlWQDY-l)MhUqslRG^8CM+KuGBkoV!^hQ3hey!K>5a0Nz|E`qO^s4+dRyoX0i zKnm7;-+3`=!?x0l>v|qU6v|;*7n1^VUvW$I_6zV@Q`wV2+WT$Jw(-hxQ52Zzd*8(N zdNE8r4kdXkf~Y%u!91ANr*o%Dh9b-h=0Fiafk#A|)Y1sKjofk~$2)_QcDldOc@?o| zTnUBlsJB6mhDg>CR~}SJhUXh%Y#!Shg0b3XJvIupuT=M>TpM0g5o3&Fvt$JpqXLnQ zgUA0*gp2jnr$)+L9viKaVD>#NB~^u#ihv5mS(g^iX?L~SE*&T#czIqeT`>bbf6@Kr zi&wSc+T#i8&$o28UDcJ-Sv5r{s#k`>pZv^pSj%d%UkIa?Xb6^|a=aJT*Q5o)yB!nk z+)22;RMIgvCANy$i@QpBz1``hpcUk;xM-};msUFXyd9m(36EubkL-H>gCPZGg?}sY z+2P=*-@kant82v&?WuTPSw>SiWcb)`bWq@Kx1Fy!;8<4Fll5PMKA%v6Wz8$nJ6jk< zV$YKzzksVc5mAI%k7*5$uz((_N3%<8EYN%H(|MRzk@seSb}{trO!#h8rO@@o7sc~7 zEi>p=+aeD$@bOAs^@1DR4mR}9s~Y90Rk*uz^4tt23Y?gg-P%U>YvBR;^cd2 z*2}phV@BAmEp?nfwNPcYGbVTzN&OT#7l3Dbd51GrQS)&Jjw&ph`OKJ?12t zB^hBw43M&Lp4RL^4o*XyXEtVveDca0E6M_+X(&iW;=*@R=WtSnLd!&P|A&~2p3`U~ zNI64DE@{OhXBDkQfv?I}qG^r}f3-q=Qur(7IAxHOeO;8m<>lqblbeHl*{bbw{cy68 zpSfa+W{D28x#`d!8Eq#JcV6l@rLb4+<59Vw;=&aKpVP`@@K8Nl*K55MrOG`q!ENsk zCJ3N_m#T0+s)A*7tsP;9ZVKJH&y%;CJ6ip8{@9j34oq>czw|?C)pU^(AN<-0(T&;^ z>|W|`>Xy+s_x-T6M1r(es`G*Nl+r)g{;O&b(Wj>?qd$(nsWZC88(1;ORESVay=$+x z0FVRbaB;Scx`_fsbkH;v)N4{>I8B>#y~QPiQ)1i9=5Ym~$(8+ERZL_n>?!J3I<`Qy zt@m{sU-Fn6o0uO|72Jk7FS5C|UIr2QXgk4&0$CH)-n=zQjD&6it`R4Hh5d_8^6X?^ zlF0gmYBVCDRbfbAkd(F?rU`^E2lV>??QOUP%OaNhfRva zUai@~M-wdv=1D*xmzGktHw=dd z$7v&T$N}+R!=5fF-*wsuS>3^@Vz!3Z)e^q!b=tO!VH-Cyk^sO%Vqz0SEi@+XEy#<) zbfSdBh>!ONc-kKtTFg;U=~3<9fzDSu&!+o^`xliaNev;JX}8s804kUJS(>cY0tw!) zi1H@g-g2Eek+n=nAu6MO|NR#;0}x9}eIwBsAZ{qRml37lxT1yE`Vmh`xd@e|hi!at zPZS{sgYs>ATf5%NX!7n%AWUb?7wkJ6T*ruFM3(^HO*R_&y~q`SQ_7O5tMg_S);BJq zzUh&S0b-5_ul>RSpZbv+xf$X2;&l7!W`3PJj$E9iFC^%;#JGy2n{?k;3j)BMNQ6;t~5KD;C=X%I8slx}#Z2 ziSt=66AFQi!cz{EK7g7 zLW6)6^`M57hxSlG93n7Y#nXD`{k_0ljK!I-z)NcrF-nNYY~L{`#K>pz@!58OWtae^ z;+kEQ)Dex~RaG<}WDl5GeqWS|r9eiWJpZpnEQADj6Itt(i0>14Sd8z(+4M=;veD(o zMru;%5=UO=Odm!ITR)EtzLho=0Hf?K>~{&g*~zZjJkc1r3IN1tDtz+saPLQ1f5ilC zmiCd4(-Ieqqxf-Y>Snw5w!HghU5~gY!R}@g`srMAc@-TiQuI&I1O8W%RqQ;6q~(}B zBcmMr1>jN2@S%$H%HOq}gKd;n^rQ6*Gec$Cid7|-SI!X3hI|L3BYc!B0;%EEVS5!Z zq2w_bDse@>NyJp&TTr}_ruQRG`Qk-ep9Jg?OPiyXRrgkKa3DxeUz@TNOBB8(kH6X>wBlDv zz$(cPc((Z_alq0K^?LSk7u)?Z^7B46)A{=CprmMzW3RuP_0v6$ z*EnSJU3|xDyXwHapj_3VN_I| zFcX3jMSOxEB*|VWV+ytIP0{OayUk-uuTVAd%r}U>jUf}XrfIJj@3AL%mcsDoNEF?g zxML%Wq1V;x!ve>Qr>hXJM+k2F>!8f`gnfdQ-6Mck3@ zT?=J&(}tCn-+puH_U zDGgAN4Yj~oFo6}K9gmhM%@1}0v*q`ti&tp>rnn!VBjSrCv)9a zqH)?e&ziF^7``)HSEA;$bs{hgWTMFo^(9f#AyI$pTUJ;&V;hK}ikB8k;U|l_ zj)+Wa=6`^F!JpOvKPC3BlKD*aBqyrV0d{$9Rp)Xu}jzfriR^O?NGg`dIKEC#}PN#5D z=ARz~XX^N3fYFfGK>8`}lIKz(+`YPB8eGD|=>lckcSnzUtOrKgB`%o?=d(>NJ9qZt z2vUn=QL9gHO&Pn7_&s2gjFDKG4v0AO)0?gGDC@ia^84SPIf2EeLc5cQAke$XFC+s9 zL$wv#`O)hIE>MiB1#WIh>D1in2okLY5h-uL`qv&3K5g{zDE6N8wL!YL{kEYVfi*+7 zwp6(@*H+V`=B<<;#ykmO`0K#X+1l%y9jM&DW=-M6d=l%FOjoBXl(+0TZUUfdJyHz$5HUE7a-mi*mZlaVwx^qq&m^#(O8ckEvd`^td8W``T7~nRd4C5fE z_D%2fbuCweWd@ShsPumJcm&|jzPe_P_ZfzLaQf4m9w89M^8OG2{~?k=tD~MqW!oBX zVfG>dqi`6@UCKE&>?bD%-%6YdBa@rvU=`7Lf5H~^zi8mKF`ob^QaB!PeaPf}=% z_35)2npn~o6@hM6cx6oGw)MFFm|QS>r2J5<(y@#0O5UbtAltwzoNMX?Luhny13y^K zbP*!C0$516-x*OM=pyUBK5Z>v%Lb~=PxSfpUdldX-R{mCrOFn!BndeScJ%5VM9rtm z?>h?A3(h)CHpFmc`W2u3aX;-Ur}xlm-p??SqXAfn6PQG(4@cH`?rete)R%|vo~gCG zty0H*gl^MoQ)!*!GvNi6w8I~`%el@*A3dGTJ0I`daF%3($3-Be8d|)4%2M#ZV#s0F zpe6$^b_eCy)`2k4#$)qGLXh#%@_Lpyt3Kz$Gb3nANL;a{-|#zkxdt}BaVLCE(1`je zc-A<&)WDy8>$%;h%)a?#vy1ccU8vJ!0DF(VD;BvBUg!h%1*v1LulUMAm6^26QVc<` zFqVx3DS$}k9H)O=%Gns6C}PxJ=n!K`fMHkJhJaa4S#HGs0D&9tS8`tHZ4>KFVH$VB z+H|W!@L7Bm&vCe@e~S>IgWSNbCgL3W4<5IR`?*|i1c|VOO&=Tw+n(dkY;#J#-;tY5 zw*QeuHEM&%Ho_~KQZ0aYFIeV%Q$dlT;LvZW7I$vz}?+;fzN-1TEoU(5+{>#RC zcI0r&b?8CMb?S7bmGp{#VvaCfn}Kwp;%|C_9F~(5tv4SMo>cITiwg&JQwN^^y)BdR zHr~dPMyvH}i6I{ztLr=icW1QXNS)(C;TE>mUbEA?iid*~H?1hZZtzdb-Pvh!XXhY- zZGa7qLQtAlH8n%Uf*Vb&+lK8q@5kUI7)SJ35 zcy*Nq{v5LjV@ZgtF7LG|pK}DTVwvn7Pfz9X$#+VY8oOfHubVI%*POTAlGsqv|8`o( z9F_ubyr>vZ4FGf3q3HXxg?EZQ;0>9st}X#gMoTeHbI!d8im2FVI*Z*a!}--2l(iz1 zTgZjG5iHNXO_F(wwIaTGZQg_x&bdLyj{wE1z$i5)CWQN; zy*I^-EJ|Kh*g3RRS>z%p{pwWWN=Q0IuPF|%m|)gAswy&f@c)*l`B9EPUll1}UHvS_5aJv@5OiGFr) zo^dq7O(31mst%$M^Km)-GhGmz77Efz*_*Sny8N5$Uh+8cX6F_*kGH^Ck5%V!B`dk2$GhERTB*Kh za%T56&lcAnNWpt7BR&dkG+6$Iz5K^bZ!CF3y^eB%#ALo^7im)WRmYa7*#<;*3rbt` zb?>NS;etsg5(kmhg+>QzuU6JZmpL0pc$>T>OUhe*Q_0+x#Kc6^aUA_W-I@(xQp`TR z8N8w(!G8}GXQ8nCs2CHSD+~t90-!JC3j-oLDm8hrZt3RGWRZV0>Euv*mCnFW-R zdqXENM12;DzoZ)0{dqmIGC?eVPE@doqm;Bc>_o4+e*_}X z2%-d$u<&v%m~a(YmdU3eFdhtfCXVoomx~dpYTdPPHG5ZyMT>YVu~B@BOr9%$c}epx zxhm-B9I=(MT?DGX+^# zd>JZ?qy4k@^6P07-)tA3gBY3PA=x!;Mljg4=Rs12``O8syjB|EBqo;o1pXaL98pDB zl&ZtmG6}KseJ=_GsrByGFjRK^#0%2eHpVAz&1;z|P)g^jn$p`C`^}?X-ewUe7$N@K z?`}8tL=9_k2rH4x?&RaIGV|B9A}(*GK=;yR84Vvx_CqK%u-1L*&U@3SdazBIyGC~Q z_An*I-RD+Q0VU>O*gR%7VHuX0`W2QXH!si6ZN~VyB0)JoO*1tWVD|@LAD#lv$8qBRo0qb^9Jq+1@t3i z$H&JzjIKroe&zZM${BQ40@^Q?^d4lm?YLPEeXZZL8$2lL2FapjOkHm__XX2@^t-(1r)Op)<@(nvYxh1ZND6|4 zbf?mYfHV>UQlfN9OQV3)0MaEX-6BXc(mhCbNcVtr3^Vl5zs>QS=RL>g`<~D9-v&N= zbMJMpxYoMYx^`#S*p^AiZA|aVbNm)++|=-;ZFo~fV|Bugc-y6riHd32hq`mTnXb#O zG#btCj@KVoy0*Je$|T+!i|%^W-sL_vC1~NVPr4;~d8B>McWN-iSlmdAwm+qSWb)}b zPo?+n>H7E?71vzy-&-nguIa>4&M&3b35#yy7%8FHWjt|!+<|y}2+h<%7A}S>DD23v zc#kJ$oTe_hzwfxa>k%r7MdWOT!vkkc|}J{qzRKB=C7DvN9I12Q?(Lamx6P#dhlOn5qN<=7SZFLM)4=n~{2an`(WDxE z(Q}$oFu1`!UY9OH?{{hqJV%uUdsh@b>5E-mY8jdG%7r#!ZbvpvW5An@_kLhQ!i&8c zr831l2W2FRc&7S41j3IdpBZNK4GHSr7QdSMLclHQhUv2nb5)ANGm0uJeV}VGX^M4R zT1t%@^u^0*S?(MHt)=-%AXDKe`Z`3-F;m3)P@eMBIDvYAM^i^O7}MoK&6L)YV5B2W z0|%;E>EJc)-5wS#IPd1Kl<}xe1Ex3WtnbkH;{noy9_Dp&rD?#uZk+TMI8~M-hfh$P zbLL_bv2+7TwB1f-HTYVfuelVWSyC$4jgN^ZQ+QLW)ID9WFZ)QzUSVA`mWq%-av(Tt?&`{6 z*rU<&^$=x3?S{2YMl&!_*pqt3!Dx)~9i9OaC9}QQ3(l0NKtvFLngY3dlNFur8<~zy zl?~RDoK9#N-MSUCByl)pSponcy}soOu(wMMr!Zn&%t!xv_k1hmA}>=Jam1CrcgZec zWdGLjt=I@z(}^q6GwP$fxpEX#Z$10L%eX1=DPiQ;nlEsHHL(0&iA z?GKccsxhVWE@y%^8~TYW!v8MtaQME#f#%xd6%b_v)ZGL5qv1faJe4Dw5?aJNCs08k z_w&IFF+~!C60XD}+G{S)pGa)?qpHbb29D0gYlx>t+!m>Oa|gB&g{DJtazCT)1NFF~i-_UbeDn2q{J|JixReLt`RtvN3VEGKud4QLV5 zK8AqHESH`M3DA2#G?`;4WsM!rrM&iz68+d*UERrHqnck;p}ICgZWyjlFO+x0=&Wp8 zevnej zZRxDb$R&R6&PkncPdh(E;=wYr=Zep92Wh#foO9aLw~b(-LL#AbN(cR@%ItjJNcKq6 zKxv?TwXAwr#R*Wcw9mM)uA4iN6z;QpUjmEM@GvI8v(H9qg!gD`F@&UYB{xi(%(iQU=SyD&8n zj-nBJUXlXeSFRJcNkw`$k`jW9tD*t~S~brT3MhTxL`#Lb*DX^ZpBJ4q*L9s(3j{=r zQ{k6aDQ>_Bj33pJdkg7#hw3xcn#_KFEdh_R`eNr{&IX`&P9h6RlKEg%v?4FUBq&{Xfg{tvx+h9rrP|9-m>|cx%0B<^P|zV?+?5<>ECUFHW^BsT+k}zJe>xPTCh00Fz@y! zqTNS=gh9vGh?(0qGgB*__5C_wTMF0jcNhBS^_PBj;H<6HbxcM4g@0V_hiYc^x+FgR@J&+1ODF;0K>aj*K_ z$q13dp(n*2P2Ad|m~Qf{0UaF)k{par!Xz;9$g-5|V=tbbdf*%D>IHNcx#B`z;2s88>jEHbFT^VPnfNjXIv6NOhp-A@d>67WLL zRiI{*U*z^64W?E22V+$iuOmXKug?AVmf^SB-#IA2W;^pD1lu28HFb&Ij!}erLF&If z+i?`_>S22qJPSbA)=pnI(DeU%lTfsz4Hhv8$rLe~9~|pG$m{tBMax$p7fq}dS8|{l zycMEoX>@vd3QWZ;>W3E3j|@GY!UdWrA)}b^YrBoR9G^c` ziHEEu<&7~ud4q%PC)&Eev}y7xB!-h$Zkm#WdqVf}g6Zipjsx$~xL}~S=*6)AR_|=M z7ej+OXrY#OW@IYSVUx&&=_iw=r6qZy%>8S27ohVN&r@rXbKLh}BXJx>^?C1RZW+6D=dNJ#T^wxV*p?zGfm?yuX+ksPxHYjIQz zPPlv8WURX_BTi@xD-r2!uDI7Oa#GiO)Pj@89@lg#HHosWhlzH-wX+=RqZ%R%O8nsY zR$C+F6*3!z1T9+U5W8&)9U3f1S((+0$YbrZ1u-7IpuCm|!TnDkG=fcuwDzQ*Wxwya zAh9W>p)DzluTkt<6^odkjmJ)aAcyL{wmu#^>OC5RpVJ@@?r!OpOn8%R*!CGhW3K~p z9d@&w75ZE?i6X>?A<3&?q91RiFNHMvbJv_p(oVM+I6cMW|A|B-iO{^ghQuD3v?IEc zBQm{N8s5XgsGQbcqTcI!J)ZLUX90G!FhM~}EckT+gpf39!$9f?cIE z8!%DSVE+a4em&~tK}CG|o>J~k>Bq>_!1{WI+}zycbGBj%RouEL8(T#YE95ZLL+>qq zqSbsA11Yapg+=c3iI0yJ`sLN_=0Y3FE^iOj7kWH|s&TH@XxQ{Gq;xX;Kw?vR3pHdZd<6}f zOYoWB7!S=TUBINg)+JmQS*mT!?iU_@;&S%w4&N(tU5k39e))Jc>%G*>lwwYskJDSa zLh2ff68iZu>G7nwwfp<+U|&V{kY?@BjI=log{>J}?1@Ilx2py(3`&v0n_oULo9h2D z+&R{w5IX{mdsiT)$34!vweoXGw+`_tLSHoB*Yo$pD~0(MX$!u@;Ro!52imV*F&1fp ze=JK@*&c5}ya>5!*5Bx>*S2+v6Xqu)Y&;XpiH6_;4hhPs0-tO?BP|3 zv-zvqyff+W8vT2>*_DcTW%F|fH)9EN5~x*!Jv4$u*ri5Bl~ z?Um7z4$L2tGHzx^!s58nf%GV#d_j1jlx*??%5AgOfW1dABo6lXZ9m%@7&OHtBqZe? z{`k_ha=1Ba@WVN?*y(0^;fZnfBA@DYQBjH3T2*gDT;ur)QOna$|7=x0?qMFbF8YnH+C*g>a&EG91HZtK|uRhJS7v0|22+W;r$fUi$g}Ba|2>N25bZ zO&NUQ1<5JtWP5-Q>dpPY9r`b0T+b&s%Zud=gtsNq$=ho9Fun`_o(=!4ng1Vu$^sKQ zl0YchT*s{|5Oyz4N$c%f^&^&WG6!Gyy8^|h{rf<|fk_NH-}=(}_P00v&6)k@$HT{{ zEJ*7-O-vF<;gN8Q>+ziX-51{UNPB3#PMD@Ou933yrY%|RKSu2ScIfu^MB?V!w@)SO zN2`{Bunn%!o5pV|%1L~#;-bQ{DEh*wi;6f#jIDS7%Xj>9Oa8x=p`iu_qOTQ9bAU7u z{NaYcc^u-1dalf_h=coO;$X_g$n>lKu3P`-_TMh_4N=k2(Je+BEROj6yfV`Q9bPXt z7@z}5+Q+5sCB&!SE%zUS|J#OmprXJ>+y@HDT1ZJC!=6h^?&kt7n~hSYNEW6yxX_;& z!w$#3|LeofL{W%9@u(ai%fSqyT4zlw;9PlkN+og7>q>$C)<4P(zYF?5d*DkW_q_`d zxF}*eVOzDN@yU?vcrb;phW;tc(|8T1C6NRow!2U!{XZ(MSDK`;@n^y}_kej`UPVsO z=i|b`B0qQ|hK6Suw+PUF%azW5A3kfDIrp1<|K-PDqMz`s@(l!!dMYE*i~PXbb0;Fz zJwS&v%M}UfD@0Rc&Bv1eQDdV&Fuvvmjfc3xwlp5ubt5Aa)M06SlDZhq7y_w8@N@mo8zC9Ru&6K0+MS}&4D@L6!1-HT*LH*kKUd70 z?w)xEJ8dfAKxteKrpW)dMfpOMZ%&8|DxQBGNWu;`)BtJh^S4a8J14+h(SWluDpTY! z3^V8p>mQoBLFOB_U!nQ5d1o$CqrK?w^Gg4RrAcBFzri(X-{DUjq-dKYECx|>f@BSZ zUm;w~YX9tB@r@+NTAbzeZv3y9`;X_*r2zWuYhJ8#^ic=NlJCM@3>>4`y>K0r|GQiB z#Ulb9W*kubH$(r&V}AXfPUd?DLIY^l2IUn6I{06i@`5b;Q>dRf2L;04>p*@!to29$ zM*Kea)hYg!nGTbn5`$)?!p;BvjddAbyx{qPw!mLR(B>KhTTc1P2?Rz{WOYE?`k!|K zCDJ>Py=esQzxq$fS?tFExQHzn%_}0{W;l~Vr1Q&(3AZiQwCD?ymVk5}8y#plL9>y` zT7O#X2S&-3L{-#(f2t+nH!{dpgZqFr&`jv{m944tH~>gr#Oe;tVJ~yI(w9c-YHMrx zW-Sf=^fSYGST7K;S2d~rfA2Q>-HG{fvA%fm;`L{D;H|d~zvotjL9qEO>d7GAw&tsx zg0Uf3TZ%YPu4Y!-UmK7`db3aA4qU;{{u1#26@U|cC5r>OMV~M-D`g7x!8Th;;Ti~o z0uo3{Sor41w4~!-g##F!WJ?Y8up9Qjzr8*H;&6;zOX{5?s{wh=0v(sn??B$3?xFp8 zUuEbmbg00RiSfUhjxPyT04InZ$w2=RT<07lV#x$_(L|C#ZXy}aVakBSMVo|kulCid z(N*rNEo0^zQ4Y^y19F79CN2NH)#bnBxXbJqx>!W$ASKnB>*t_G2lNnsQC#0`k~NqG zW^77V`(|#mh%NzGrZ$5p%YTB$|8=o}<%{aFi5tGazcu3CTe-<{oDBi`zN}XpY}QXG z+D@zp=JOV33FgG$x_2OA@QlZkU(^_bWYfi+SG338B5&rd%PT6F7&$d!V?V*d@ro|D zQYeJ94CzU^4RJ}=#j&F$1#fIuIcxe~b@`Cs20Np*03qiyW^y3>ki5cK3;&RIeZ)OC z{Q=k4KnDj8fd@!K9oGswKZk5wT4AQ$TdMJKg&TVJPefG#^>)4sn2bSNeAVv*YJW!@ zl19w;-f!BHKrAq(WN?j~Hj5z{;o;#80UE`K?xb%9ey6d|Jt;c6yX1JTK%d!Uu6(5XLm ze!~RtNDX8>MZX;L@2d1mBYef5-SXpho|h;#;2eUwr{=IQZ^fLw6-XS625HdERM_Nk zuU5uG$&IR$H!kA;HEa`O_p#&clf;PtVnU+djmZ*sEk2fO!~O$ zBR)Q~JrF^0Lv^)gbkucpN;rxw`VF?+a0V77Lj92a@4P6#FU?n6`MVA>tg+UjO4J3$ zFs=9YX(8p71|q$H7qF_W8nKy$&jtzGGYm+)URt_ME2|0BT8H;04zX*wx}x@JS&N=J_KcLUWwZy# z<2}p|ZT~7P6_(e2;EB_nElabJF{}DKi^i>Ee&d6!%WcAqo5-_;~o(H+)_9zSoeJ`pjEh>q3_Z zKL<-F{e&DU=S^&S#F+5A+WviiPzc|M`GzR2j~AJZtP~Kaf&s1l(5$x+2#~6fIr_W06ROIaaO~;B3yQp%<1EB zw+Po0HI=?{^;uE(2H8b#cly-*d+uABcZQ)<6vuc7&nF{9t20(|@OGrl?fW*ZQ{Pm|7 zK&n=fI!O2v)R3qbz0J8CN*%mT!3{l#I+(Rsw7eX#)>?^d?j15T?piU=Z zA3IWS;jEw3x>6I}Ejxu#Te(8J26tU;z2?O-w0G?YKmcJA6Kj!??R~Yb;7F=);WZQ> zj7;8W*U`u6e+6oX%&5R{jElZDQYGb)1|i|09AyXGwh@3UVF)FG`R#qjN zNZGUo3*V3OyzxZy^QcyqKt2Wmyby=$9Y~psn-Z!P4Pfb73u2~G{{~&NScw3(olhDF zjgHCsZ6H%$v>WybJK0HCm1T#ap+hr3BC`uMZhjVx7YVv={%+}RQuel9d%acF>A>7I zKrl78Q#?Tu#pYUl(U>Np#nscJ5E~aq<-!H_iOgYYXmrxuElw~6eBXxQjol{->isJq zT2KMv*W>xBBCVd4hof_j8VA7fH~HP8kfkCk_^!dr0AMP^k1L(}%R+es>zmF#2dg<) zQ)#Y;o~L;A<%A)rYIj5lw_)8x^=QI77=c&Q)U3M5?fo;w=6+le4Kwi66(0Yl8yluK30zm>GgD-1E+65XaIgtd07!9kkrc_|m7({AXGIQoiRFKE z9Usr0RFq7fZ_o7Q(s-#{6chSp^Mlpe#;(V#~&-+50xV12rBfN5+$Df?G= z6D_%oCBp%l1YAPTH-rXt_f1JB5Nvtz%RE&1f*iKL8*b*#uz@-$9bB=pm#SxH9iT(i zhHx;>$!GTCR3fibB2T_YkC=QUeYRgJ+m)n=x}=ymXwA`0D4^Qi!1%l0wB!D@?vf>o zicZm{1$)2T;0#RM(za>gyhPZ=Sb-l5YcBCEWHl(>1Nv}kppZONh~(y_dDkv{Z!OXFl#N*0(uG^A?D zJ=njm+A>~2ObT~mu7!=GnFJ0V;~l@l$$`OYnz<6BRmt#WjB)@<9xuVvi=4$-CK8L- z@8+z4|1XE4zW>)W+2g*ipI_+K9)C;Sjht~+oxZ9}0@>sKeJcmSTIcGZT6$laXIZR3 z@_MY6NGRs4O9H5-xqnxlo}OrYX)j1+9r9fea9? z_87_nstB%6r^3ZP!~!1a*>3lm_3r`V_v@_5dq7%i-PK@G1<0wh$zl(HD5gmsgk0(2 zW4U}FVNz1klav-Gy1$az`5UPV?m?yvm)iHdoEEA0f8X=USjoMs+a(-5CV$;?@JCR1 z1MsB;26E4du;!Oi5`Y+QHl?+Nj}zp1rEHG>>%~2|0FNtnvT*n{1Ax@ZuAfYQgEkv? zZfxFY4{uF*WUx>sdQz0#i&9A-W1x$)%BGU2Qh$_*I#ht4JPnx z*oRKV86}|7g&9R(Xchs0-nEAQvKx#i31$312D$fs5`eH3h(H(a zt7KujAc~U-N`gBOFL=vh$gjoM2LZWd=~A!m7a(DcSZiVY-5nwT*?AEDNqo4WjMhp5 z8O*JS#LI?{S&dR|jn8SBo}~oB-?bygWfBL2eE+j@(wmjHc81T$1KUgKTlVCiGMCJx z2dsZ+&KmCz^FJf@{kAA#wXa@vY!}@wj|&uQjIZ=?69;`4^%|qN($B|;T3deQg8=Q= z9Y}iEr}z%w34(ZJ7QYoB58VNApI6bRm`wb8sZ1R8a1o;C99Xe17f-h*hpUeRk51ZpcbKp;FG zWcB^>E4TR*+B;=B1o$~*`k-O`rl@pyz#`s$cYZ6-zJR?9j$O&g;j$~JE>-bbAD~_W z%#it4rEs~|SKjQs@1C}OE$i=3PnXe(~Ue)UyZ%VF>stb4Q@BliIL zY|%0J&)_Be98erN?ESMf0Q1^K;tl)y_bY;bi zT*4zRw5Q>O=dpRBq(v^%up$=F{3`#&@d1>$lFv0ZHrBiMDKC4!G{;{X$0(%fDXvi!Lc?K5&5!%% z>F%s6b3~NaU!`N3n?Mm&Pu*0_2Sf>2$?Et2?C-A&;6%>P0TZSAV4qzXK`rvWI81$% zS;8j^mx@PnWOOvQu~ArmrX+nmA``;NLDEzG49y z{;wvEp`O>bPwhu7W}D|y3EF~WOyK8q9q)&l+w2}7vZxtMv7KM)P!q#d8&vNOg7f-me2C=by9c&gv~?3`Tnc_Ox{LS(N6Q&(3Vb zzZm!@|5;Z%l=?#>m78MGpr;4xJtNG51xH5D^|kX9pRXJVE?AG~?ge#BDjFJQs29>* zECp}>oM<6x`t&`TURnvEtgh8EE*y0+NkfMm9PYr;ig22M102!XgX!!Jd>5WTD`$Vo zCWp)RV~mp@rd=y>oy*<;#YRbK^Z9IZSqH%rx66SVv#v-uXEOjP?k&sV(OO@I&r^we z%oUrM9)JUu{rpfBh9iRvgug%mB&4Ni#Cl2s*SM+697O|Owbjm?_Lr4=u=!@NAs4(R z(_=rSb83u_?|&_AwNaQ#67x(@;^KJR5BEa&#>J;^7IdGRHP5gk7vA@A#>U5wGgZ`| z2@93jyGK%sur)gy_vf-uT3XZ)CFK-J`M69POzfWBrR|%ro2_rcPb_+Rk?*gt!*ofR zSk%g(xzCuOs$*4mRzkx@GF%P*b-K-;<-|Ju%KTH!t^qRg_5m(Dy1S z%nByatv3smyd`%Q1(jf2ZTfDV6`XBR^GkC*$ZrC}dXV8mKlsmW@F$>wjmkHm1I#+! zVIylE2vjRSsZo&fu@_~gH*0G!7fp(?GYhL?<>hITOpDmKpSqvIui@9E;vJXbQm>c% zPT$4XJ12PZFebxAZZ^~Jv2 zy?B2Za}~Kbx=IM5-&!-XoNmRbwSFdL*zBDg`vtlL6jGoa`Klq)>w{WT45r|i)+48{ z^%dfIP^(N*7d3pL5SPuJhE)zw`U1NrP_{?GF$z@E?|;2cLn!g5GtMeO^C(v260gmr#Yk_^H=Ge<0U6Xbr|pnNWNDdicMX&;qNbC z(ms#B`rbBnik9MeRr13W|ZK*xc$cuAZdhdD6dLZu|NLI@j z5f(5Peh$6bmYDL}kgmr9wtlF_LpxCsF)$8i1IG9{2A>$ceOg}eh?$eWO2aEy4PeZ8 z-m{fRzqxe^G+V)^-)qa&6t<{5FaxTRqm_Z&N*=(O?L4EbEc?7T;MXz#wBMXd+u~m<6;+i7!Tkn zj*N{F`|2&y`(w&!qAZK-ugy9bl^53CeWLvs@5b{0&bG;X^JQ}G?r5~3+g{YW3z_u} z|LjG|brchUKT%($B;cBHKGbg<#?v89J}NN{ z#nNsTSnVnOa#B!mwZ4^o4txMZ2cS3>9ye=HHV76C=Po%=Z;utvcbZ&#X^927MnbQO z#16jcdarVW1t#^!>VU~CfMfe?w(lO!lE2%un}F`VB-!|jja$$GdVh?dcft+;#vm-v zIzLezytMOu@an}t;;GszxCkPJS?SKF4WG9R$+p)lMt!fL<0gd-Ev zXL`{-6tGyogUy3&q^fOVVOkl$jZvJbtg>Aa>MP$MP@+*)sBu)4A?&5AoGc(_Q7TeF zLDps zt1iq2+{7<(blTU9OP-WQgpiuDMM45P)SLDA%HN|~qQurE*Ak$?f>Ojz zRN0jjY8GTit4@%ufdB&bV$I9S8QVMOlsRv^@L(EJQZDhTA!ep;hOCkqk!!Q?${g^t zy^kq}MuVnu1ZBtrG6wD_DxqwMUZu7{tz!!pjkEho5hL;113VhxVo0KB5A{sVxYPZw zhKt@v1VJFNti4A4&yMh-#GrFjDlJ8{lgxdiOH5klPIq>hWXq1Q_`%arr_5)KhuLhp zl_A0&JGBs174rfdewzvPDA75oc!JnzfhQqXl^zi@RW>zE(++j!eI&ZVb>GGvhVgk5 z{Y_7>=xvIJ4w}@*3pFmzn2wXZh2CETWZ~Va9cs$(dZuOhttv|5-C=%;sCmi)^oysU z2H4)M@H?^5%I=ku#&G!Z8`T3%(foE2C``s^5?2)AdIj0|)VG<=!{iN5KHOIL~aR98ja z_X`0Y!#w(-#>ldoC4I7sIiG8aO4s+4p zmOoT}qWt1q^Bk5UXTvPpOsBB7nR01 z^m=;cLL(-`Yv0=bp&5lL;9YGd*&&Unb9X_PVMukeg+*rBEcw7YrsnY1m)wll(AGel zqMsdMo6WRHv4C?CS=t8=FKLGEuQ=gY#5_ZyvL0eyz}oomPr;}?sS9x2qV$jhHP+h`cHRvhVkgCg^h{J(;*H!Uwr~1bK=fkss-2v&%gr6P4s+?R%2e!j?Qs%~^%+}f){MgtpkZeT+ z*=$k;L-xx%H>dWNt$$j68Ynn&UG0t60Iz4L)vcz__jxzCzZysplcRp($TMIcJp`Mn zR;ZY_{VqBX7GIQh9=1pH4jc2)M@#Q7SoBW^j6?RI$?$F}$6y*wn7 zs7gsXeJ(FQY?u6GK^Do-I+?e@K>&$%o)7{BB9xWFk~=MBq~(zoXko>F8bGTo-2^t2 zk3lVk&k`UPA)Y)Oa19^(s+>BiZ}_0K#yortU>pxte@dU&uXr$!S|dYoRICdziEmV$ zI~I^xwTC}$bwgKm`m3&CpA$R9~Y+SFA8abgVnZutRdA7}q)a)xlzmwAD=b z-OZzn068iwxyIL>;pQw$IJh%4HhC2M`QRl<+UcrU=m9a>A|t*;FHVMia=F+R*{(HNbjUIIU8s5s2 z5ZoP7?$eeiQNTzK59upWPMXr5Bs0P0w_UwQA(GG`(aSigLoVC#t??1L$?a81TG(t= zJXG>_6Xl6z`k`Wymqc@tkfO`xn8N);=e!EH}2;dGeca5Z%s)5lq_c$$h#cCy^JIq54@>!`Zv&YomM6;=(k+3f-I8 zFh8k?t?{a{jE7O){%46?Mj1gDRoGD8<<6ps{ThNn^sipEDpcW?QHcj3LYU2eIfFSn ztY}0NpQ|VhmJuDFb2lC9)_!k1`xYs^evKXUGhGd3Z*KzUmvwa-_=rNMl6aR?PQTyM ze7{VJ_*nkut&zGgm>F5yB8<TA6yIdG@@QU@pyilsnBa)a!luv{GUQ`oH+HZF+ zWG%hBi~7@NzWOK%F$IHVkPNrF`l(m*4QduLeR}a1LJ`z#1Q0?*9~QLR{yuYh)1IFt z7L63rlsHNS4Y_>c2MY*}t6cgYlDam$k}aw7NH!K0mX)j%wH`usz5uorjxLN%;LVeI13o6V!0 z3gLQzdpw2#6z}qW&foG+SbpSK{IV`~eMvC)dQsd>)~Nc;g1#8T$TMGDf1OI#VBE0Q zGA$$Tp0{j{iI`=lJyUPJQ$4%+)e~*7%+B$sA3H-0x(T5_1pk>2*&{Z>0A2KCnGeQUAA8V~oFvR2 zVP>p!pW5^*Bfr)(3$J&77x%Zpe270n;9f@xTD>lA%aP(t=J8!x@D?}yTE}rYui1Uw z`N#@ARn#uUXw1gLo3!Q32mt44D3UKyeZlsXM|%Df67`(0MTOB&~vO&)NCJNpx#wk%L~w#mDvz*x5UkH z4m6coMR+Z{gsQ}!@lK?2FY85DRzEGT@qd!sintOp{>jwz5kD0n#__V7&vHOvG=b!2 zfCKTz-NW!d}Rhf3e`z4D5eI#mq}W zaruK)MMJEkr8=_vs8yVtZ!oI8-EAj1Lv^#Ugw)*jzCBZ(GIFa@{nOVCAr7aPGK}~X z!%+9&Oja0r8D7PD77s?d=f(TvgSUE*PafU_0-p`GAgUf$OfCCrrk$OvA0-~*8&HcV z1Q>wT49-}fx%F=xwwMSOS7gQlV^%? z!c+}=dhREeYJ*h%x1UD`p6~V*g%PuD2sM*&;B$9&8J_z52&(w`_$_Sah|aR9qQSOx zQhJ1(3Z4mY4M$Oky5-wjy=MgR;dm1XfocdLZt}~)#yd7Kncrn@7rP%=cUy_(HV)437iED#1AW?1#S1Q?6FnI%Mlg+S| z+iq>Q$%S0$1_I7s%fH5D13Ge7Sx0f@IB-Lj9(-t7=i1wmrJ<|DHtgK+L=2-De{7la zrZo`67)4p`uwPg)Y_|Ao|!g{bE7$>hROULMJH~&x^NBk!f;z-lrYY!BmoK zG^Vz<9QOJW)huQA9+d7zUn(YohuuFrzOL1NHX2N4H=eD-mzO>&e%%T%gNf+l2xvyj zq&~4KFOoqP?Ve*3(nhj%vQyHme|vLQbWTM+Zi(0liX%VkO4_?35^oE}eV@IyRC)WM zs|efNA+~%CqZCxz!-q6k0hw)=MCWUbCOW!gtEQGsbr0n=!-0=}wLUv)()PD>{d+>b zCq8qdkIbKML-XBfex7^?B_;DdcoF=DE@m-gCa~q<@)+_hl|clW>yHhb*qV&nl|X7{d2Uf_`8)iDY`pp{WcS&8WI=Z)Dz3Fp^W54 zGi2UU>@!n4zqO2AQl5!2*fIgRoh$B58vV2$m;A9LQQ56NmwLs|62PNp+eZdbUame13zHjoaNxaDiR zLnOuE=Y~!Y^fZ|_wOxw#`(nqvp0BuPALtk9@7~4MFy+2W`}H3A9n{rX+3?48#>Yzy z1@~x6I^Nz2^1a{v-H}s$L1$$KX^-+qrnHuP`0c3{*&l9dPnj~P>wKClZwhdsw;ZkuGTGgoxoB{a4BM0dKDo{{3L^xr~8y% zE0Oc)BdmJmNt$`Yb6;g719O{_yLeK*2UT#|ygySH1=U-%^_3?SPMp}4p9se$Kh&9LGRJ3sdk#qb~1L@tdHcoF`D7X5qg!? zy4iaWw_tBQEF11NZBkM6PM$?gh`a_{`FhrbLRRa^ek82=4g3?m9gGS>rh0t|_W6efhO7&oY_HS`PjM(p zNSRsZ8$H<)4*0IZpOWe^?oPO7^OCAg@ECTmxE;c zs4_&@CR zP|&BhCN{$p^^)_s2t9C}U@4pE{%#Hs)}M(UW12Y!<5A?#`k`dUc%TySDKXqL7FaT) z4L2uh3E8GJmrZKutDBULiMz|}H`HzCzWVr?R|L~pO%v|S>kvW}rJ15c*fvITc!Z>)Q+Ych#-z6RM*o?tY?$r3z6T`*u$7Z zo&};a&h0EWB|P;uei4M#t-$5?kT~H7kmsYLX_2d;-`cZl>}i^L;~?#=yUe>2`MtU? zu)-EPbZX>Xz{)$bb22l_d`c`0U1)M~N>t2g4T?xT+;3xG#k?O_!O(~Ch~P&t z;z6(}I_}n8)f0r!%9M=b<3GxDx~-Ei+iY%zqvalZ)h9n{O<9!=KM_^*)g{JUlbx0$ z1P@QN{^9}vz9`Mq0)vo-A*wR(?sl6v(X3DeS&DQ%l#8MsN1A3TBZ055I#EF)Dj$#C zU7+QkS?DnT%X(coQJFyS{*oxU*2xHBs=1ggv>$~@c^`at0$--swO|?Pso90C#8;)y z!-Q#K)itABH;V6d7=o0{zMqZr;*T*$Z${~AgjXd^C1QM}P-9+F7?)CD;UqwX;$|?jtELaA3UJRBFc#cn_JV)!XZ-`B5ed1A5Bx_5sleew1HP{t1L&-KySTLtjirY}8b3Pvp|mVs?v3s?*w*v15KM zAX*5DCJK5QiAmV;?FCZ;7ZWYZ&-+X)^5$d=2lXK*eEkUo6O_gHsiNsu9k?zGLen#p zZoI?_*hf*AfsX^0E`V>uDZSG1?in&$39>sibDBpQG_61FoO;yJ-4Jl0T)lJ>upvRl zl&mHQ<5nb=O4c-+cR7jE&<1n1( z0Y8|1af4f5rV{TZdX+?v;;o?2s&pJ*UM#jni8jH$z`(~skIIJ@&kU)A)#b9KStwM5 zz8MaQGoFU^71@crf0IjpXett0>i@HdES<{l>5xM4S3?-_`aRZXroR#L&L6KgR zPg*53dk;~jR;n-HyEdl~ccO!y=q{N`K(j5ax zcY`1;qLhGi58Vg?(lHF(44nhN!~1^Tdw=)d@4cUY{KLbXv(G+zt-aQ>p7m_9T*}}3 zAc@FrA*bJU`*God9!k{u4!iWsz59r$J@;_i_ZB|m+Lk_rblg>=Q!emUo;6MhuuH|qb93R>i zpYEG`_$eguoHF;jnih5B>*`mQ7zl;;CWTp=)}3-KkzJ(kcux@@hC9?UZ#=0Lnx!Z0YkI&4F*BqzyO9>-hSsKgrQc;r65PqxE_<_4yE(U0O;3nB-Zq7g}LhP?sX>qj}BHJnNzpT zQ3ciaCGmavQD7ee&Ulv2zw*rIV>B8;Tg?I8A1)CR0E*h1 zKRKSLuu<$ks8$pLhWQYy}?@&BQ>9Y8s-W!zmCSvYTFf=6}QVqco2r zK$dK04mh;`hrPW{N8`I!M z=di`C-&D}7!rRe?_z@LeX4IHv0r_F09LE?*JDU0;(WNHbV6M(V8GcMl%99fkMo2{fqPE8e# zamL6OOk2PXT0ev@CpO1?VG?IA#wl_Ibg8Wg zh2z`2XVKC<3!6*~C**f!Qkr1kKfuSWvgOx*5QvG%rW?)F&-rS_+uGWjAigAsU1iU( z{@H@1Il9m6DV_SBq_B|$j>yaC8n&zZstDIK*)#-K9k+!3G<;3rIX|0*BcUvAMPPK#w z@qn`)Q1JW+$C!)!!3h0&kQEhtldvEtuX^qUa+S#TdQJ+p8uMbh(G6QEwq*=agz?L+ zcelBD40}->8ZPaNp4u-|bcK@$vgmNMpW!k=KVY#!EeFIRUV6>>`1-ZGesXx7b z$YJ}agb8*vK2=_%ae_$QxI|?Q`a?y{3f1I=eb2%Oe=<*M$N*uQ9wQV%jNU_>n#o18 zeQr>2TZ79Z~ zxqdwvQP93~u3ezJ#-RBNpkZg28N0n#e&*fnx`0KY&y}6hcj|Tu=Z*cQGk?g#U_1(v zC6}Ou5RoOU!l72*U^8>+Ti6@A0kxg9qlVhq9%kFOwx5@=sjh~+_r>a6cKPFZn7hJM zf-7|n3DfyXjD{mSLW>euq5Ivye&tNN)&WUaUNj@TdKEDL#E-ro9}(%4t=8TAeEU4w z)02a|Eyto--U;5`&IJA1{L(mxcPQFBw&5jkILUI?XGz13Db&fN@yPPTyf+E!!&Sp! zx%hqZWw$|zDUDe{1Pu=F@Pm@*+l$ziO_65l^}Dj@8-Ic$(OcB8pNP_ovoj8uZ!<9M z*@s7*MbPD!wPQif4x;45KVH?nLQ8&0hK)hxky5#2VsiK*-6?E_7kt(u-B@5szxcKqjZjrHwC~7xQES28EGB5r&!>cV+}M(Fp~o_C(WXZjF6IC z=l$X-qcU%asq#G^HM1ze8M=f=oEs z(bZigNFrZ7vZ-KpaW{b0lks~qewOSJIdqeyp-iVFP1!+wUHi{;2rgwJ<9sG$n(O5~ zdVGm&-#6<|1*9J3^Xs<;nkD!0l*ZGd)ganXA@c4t9UYEyLBnS4JD%L-Z)=vX)_xg? zwjlborKZ#CUtoqwM==w}2JtdhXZwU9XWUI%-p>`pD*};?QqxnzmON93pk5B~WyFQ` zU@1En4&17VT`hh2KuiD!66X;X(4a+E4ohZOKqr;|L*0Hzp%#6>1QHuAxp}PeM4EP%m zcXWaE)XOENYv=cmlBI(T08R>-?9XN%qR(fmvSIbOZutyhE2EZ)`5P5$%w(U2$~QOU z)@U~`YQE*g(@^I@pJ0F@9PxHm`plA(9*L1}`Q}2aP|yB|_$E4G4%Eq(t_-k)QJ}Kiu3@)h?BOEjdCY8@afXePaU?fuMV^EnC zy?!-0z2OuYLV3Gm5fQKZ?l)HD`wGWyjolc@#3qGjf|ThM;@W?yuEYoLEL+9OD4vWu1E^=fruJ8_YmF>}oW`j*agXPY14gacL%o=!v zZM7@4ekwEkrqeGq+sbte%6}y<5vWJYj_R3GW`ZK1k@eVl;2E%ItZn63g>CX;HE+wC zjhz~25~YO7=|X98{xqaQ(iu=nIN@xamM)^+473TXy7)>|`zPI(Tq)4?kTSftRiRvl`u}a@1DCMtbpGnt((g>0cl%XTFz~b+~vE# z7fDpW1L`JIkNGZ$)kKb>QAoyF-qE-_Xlx0?--8wEZ}&2MtAnLw7I3S|i@L_X8s0Pk z_tI9tUJeb3zkPLz5g+yUNV{X6@P0(V0&lIwx=$4KFM`#*q36LDC?kkZHSgn`i z2Y+KKe`OaP7gH>;5{|TcqIG{Lj7{9_x{fXN6+H&MJY72=H(3Hh*~J^X`B838ORp3) zHt7qou!b2Lrp(fltYar`Q=`0IzRPV?Zgq8@_n%2JJ{%fCM7n=Jkd5-3kFBwt2|H4h zn}>Pgkr$u}_q7FOEY@E=OK1_kN9b}zM2l<`lpl}c1Sy4Mp0$GfBbzW-~0G?jE`Qeb8|>THV1>PAAxJk@hMdmfd!7XGL#~P@7^CL zof2bi{$7~>GcXpw3DBpdwCCsz79tIOUGU&7^qm2)xk{sk?I2#bkS2pby%YYi+n>YA z-9qoDUWp~XOQ$=DbT!4eI&&tA3IM_EG--Q;$XpqSYk#ihW|%b1pM?A&S`qqi{acRT zZupD#r@{T0pt5L^lz-?7L9qa0i7fB$O*oJ~U-Ba83pFn=TcSg*6uuS>wc>OPD%JZE zKrfbhacabWKNC={iV(8^2bZHAG0)c8ryPvvyXw($zGWU|B`7wF6`p!zPi*$9VEHBTeo3}EyqG4_?ii)= zocr}3ltlx7D?AyyB%slHH){O3qvd5{HRa2lT``#xn@kPJt7b+D><-okvSa0(#^KDSn!7>r^{@;oT*fiIx_M(kFfx?fuhd zoiO|{yzJ_MX8CxT?#m--2Nr4KY0k~s?l(17rJ`YA27FWFKR$;moUR+czx)gzh+>0| ze4?LkRPiedRiG39X*y{){~d_=t+aKHwT}#1Q%P-!dLk&e!G}AD_*%pt%anQ^7RQL| zEYlGZ`9AXH?y7{L)%PgQQuKyjBP+;iUQx;~G&b2rN>u}P;2OOin1;5eMfg72O6g=X z{hrDbnZONFQgLHZnZ)tqw}i5+9xs~=SpNL)<-;!0$LXZ_?e=J}4_WI}A7bnAcpCSuyA zr*@<-R7vN|Za&ZV^GDT_bH3F@jezX76PigndulOJg4H~ z&sa5;QqXC{u6?o;BeCjttUJw($xG6G3Thz0KJb?oCxtOOh2YZ{^gW=ll{;Ueiot=1 zug?uDCh;20P%u5ju_o)lDXce|yVb>vu;C#RgU z#;dz9jcOw0>80#4d6hf3UX zdq7H`>CLEM`o}{sRPN4Y$cimKG}h6K+llv=Jk$>U;DNn;E6X6U(aq;=P6CdrqGscd z>!2JK722fS@=ZIHAA`tcG6PU(9Nc4p3j2lp``fff#UbG(px$jRcuMd_mwq-u&PXffDQEN46#Ss3eN+f;MB6xOd;JnPcmVHN! z1P!Xv4B$nU2E{tD{dMg^imrlh@F-`&5l1PInl}c?{LaHbz~p#ul;kv-kC0X!V|sN! zmt{$(`$QHq)Ku}&Oz~rI=F8_v4kAnj00eHJ4Gss15P)Y=(=A)iF^=RH<=Xk=&a>i@ zLWx$qr9Ck0t6vW8cOb@Ms0mY$3Sy()+2|lx0ck~}N6&CF7rTxG!P&|Yl>psPH(ABk zmS2KbG$@Plt!M9p3-+dUnmqWPc`(v$pf0e48$u%X1W(NFBO*O(C5O*OH|2kM&cRd5 zK7Oqh%bhkFGVW07^-Yz+$LacaN8eHUf?{3xlpZrQo*Crn6iuaeF4ZtN68HwLHXp!Zp)m&ES@WXRb4qHLY*IImu@z@!=px4E>VO;#uac{`2MVE1nZ zWR8&E)cf(GLNCd2Iq&iue0mdxz7-a6v7(3-mzN{qLLs&u9BF-?9zR{!E;e6?ha-b}*D^F!nN>gVRoG=Za3{2alx)qKQ7j8aJc$d-9VFcE{u4+$AAoq~cmf%^|0 z^$Im2x9vyezo&UM!Mw$%f5jV$vIX*Z04EB#PrU4(>YZEiAU0*p0Ql)e*sryVwY1M^ z?1o}D+?hjd0V+Q(qzZ4}8A%HS!&k~=?%@hbHl+FbUAdvM<#d_yM z!ox@ptPUEgGx0B8uGs85Xa9HzxUBD6%8Z-tm~7&jeEt};c)W@+%G}=CaCXTBXFk0k zAwL4o`|V%hsbXM(Kd7fY3jgvE6qBLrP2~`UH1Ay1aP6eh;b(uVFI z-`r&Ze?9{Y$!<#Ijg-sAPhpWcB#J($?pJ!xIvQcPzzSt3;sQg(QrzH4=?u&4*?=>F zDfYGP2S)z&)4E;&;vHf;pJ(=BW?iik&yEpAjj`Dw9#YZhi0B!-0&GK^SrwdtA+wGtazb!dc_-sg2P>~^bp zm~yZ^z)Lum{;^Hd^OneBv;HMeAj!ZxL~y4Ir8s`)eK4KDV0bSnX+pU*n_I*7beYBn z@41m1l3H`9m6Mz{#sEA=i)Z&OoCDjRh9A|Y>NJ<+?ng6(eZ=j&HsrjoBjF`p2%Pe2 zdy#$XGcZl0j;y!Ln%H*u4QEkD*1V<9an6r{{|uL`4zhZ1u9ogR16Q_m+dR~EDiP@n z8qy-uZZ)L0u(zkj7kn1-Ia_%;L8gEc!2lmFJnu8t9Q{90iAbp<)if^eV$XfI^! zF}f^aeb}4BU)J^+uJX=`RR9-)zja^bX&TiW_w^c$#H*(%u^c9G3g_wMy-z-Vz8%-~ zHO?apXXX79_poTgNnOAdu}=>UB%&8J6BL1O_z~42LB~UiAJAgny<(k)b)?kx%sg}{ z2War3hr>KUz1=Taa)&4{#WO~qv=W#hpJVaWa6hvr?iZQl4vf`c_~yF!oY&J*RaEXf zRSQ9SQpGF|3FVMq4HkHgc$282tbka8oqn9h+hWuX=#9i88|6@)HKAk^A(HCZ$Y6xc+hBJpk7U^Z(sv)%_aB%&3?B_Z{t(F; z-#$zheaSRAGl;RL(ylGU-cryue;jT#X4FXfYpnnlA4$>4+1+Z{RZqc^D>iKPleE>J zc(?spM03`IDj?{EJl`K-nH-BenPhBG)*|_$iO2H=$N@b=bQ@ERNgMi`2w}}pN@rG4rFK%W)cb{T$ybVoYM9ATn=nAS1;eA4QKZi6fvm= zP{jn7w60^{Id2n^($A+KTa{Wmg`d%O)X}qW#bEe>xb73;`(VUuo;Ndkw65iWZP~k_ zjL@>@Mnd+NKig`c7kj!`E42P=%1^o*IhJR+bW7h4k*q5`68U*48gs1a$fHhv#5SA8`~}gjilyN|0|CwW z8JxE}*Az(FjW>|r9n%kLp3EXf1XM}BcgzLx9=g`EdoHd9g%(L@9QIMJJUmrdr?Mw{ zeVd@Ppt1MvLj@R!>rPNWQq0eBv*@PJNDOT#o&19u%KVeUi(Pu zfITrbvFQ5n(I`eJlhmt{H`>k*`b^{UEQSsd?**6Iu%I^lm?B8Gu-X<11l}lvUsyCE zR8$_^7LBL{+B>hZEt25?xZ5d=UjFykqor&i4K3L6*9r-Q<}OQ zQ92g*b)DHd@Gxr~DHs$*w4T~6>u=o zsa;UHKEOp5GY54>I8uFey8HUWBv1>(yTQ;)@1zzw5D>X}n<*fgax7#Dka&5g>p!GS zC#}&Ww4NwXb*Tw6Z;|iQ8q{7~8m3{$*+?hR=NT}yJUHstk7yGB=N#~uctvCj$qMtE0==|w=R z|GU0esqY$3WvWW!89RLQ+Mk5TxTL6Ok{yB(&E1q>m~QE%3i#vf_PSh-FB##d%}qIE zL};zIjH4hDT&^Z2=QCNPFW0m~Q^e1&u_$PAT6{de%B6d*;F0e1WiOx85;pc%T+r;( zU4;u@I}2OorQjh;aAY8-t27U5&O%d{(N`Y6E2?35MtBFppN@_OneJWM&0iW-TP+Oo zCZI2WpU-`CFCV|Gk5^cL=@Gr@eNzv%l8Xz=_!2JOc-YBtDtQnuo4SphnQ-nh=$A=W zxSglR^(O#@qKfXLFb%uuvES@5A21VN<$Z0(#RC<$`0>@oET+r7hmbC#rmYZjQib^+ za&+xoDPZXM#kH{FoHh5lW~++D^17Vamw0tMcrH6ZH5X-=g*g z@N&IIr-j7jb{|+t4{YDmItk8_+@-ZKtxkk-!9sA4`FONWH}56M=AeB)R1X|g>Nv9w zDZn5}CMj(TTt6tylwjYOa|JSpy9)Hd9`AC-`;r$sJmjM@wq-4+5uZW@W>b`_MutC3 zegnWpwL|#rbqeSA7QVhqAts5ac;qu>WI9eK_MJ^x-1kCG$Uj2!=*)~0FEb|H`0Tjw z%2jboBD~M13FrP{CxI(WtX!%&$X>Dbq4C!+yTIj#hpUUtEU%=VU?y_g;;#qrCtOXh z2SfRCGk!4UE!sX7bkj;JntP+oV=@#pyAXyzE0j(u1T{5NWbBf7Z9e z2GxB)g^$7cVE=6s_7@|6mfW3f+$#K~2YLI=XKQ5Ww^1bp~qIE8($e!+2h1%~??D(U?J1`Ws&&-$Hk z0d+8g@?%~D7Vg7hiQ_mJ7fI7jH7%_7mIa+kG9cavx2@c__bi=0Ancc zQY?E6L$M(U#-p` z_$JS&u_gweCPspX^njF2eRRAI7rr0-Q(it|_U52g2-P%fIhot_|Wf z+P6A)tMU-+qH#tP_tC1^eJ z#}lB@qhZ*eAF1PMeg5jP=qYSPHHbp=F<^EyWi4zCTNjz4DG_G_FPE@PX}}Ul&5u@G z7Z9Z#X~B{)Q#$R+?`j#j>qD8k=`}VQ-Ur z>)^scyv-bkUJ9t3`T7A0?hp1q^qJduKObYM6rt`2iC|zB#p0ZIx%v{VerSGsJ~M_H z{ykbo=iVXu6X1>+PQ6qq8PHKO-C?})&nBSsUemLMtFIX-07kev+ulyGq^M^BdD;v} zHGH)KbWUha26zp|UxmljIG0d;HXADlA)qO+i*h|hW}JvTw7E@<Ix|<@ ztAV#^IcqVP#vMQDeZmGXFT~t-7rp{agCg9n2G^~EYaZ0Wu;rj85HpOq)&b-sabA%k zx1G6fM@`y4^fXw*#QklRVraD!zrS!5{FZ{WovsMp`dwP`nuy$C!F79bd(N6*OR6AE z(0XSFn+nyoLF9^g^zp_=yX(Qj3?J;E0;~}N@WU*EmoB^D`r|{9t9cNtm-IaQ_B=h? z?h3)I^amhHu3YkNTqgWugd+9KnWB;vb=cX0cc$AS zZDRiUB?uRSP0mB?ZxadN`!?PmOt;#X;sMISIaBZ%?Mj0YOCh1v2vZ#7aH!^?($lGh zX7BMmiEyva4F56De<6E|c0i$Te|`bO19f-7znA!@3S5uX+fktxfro)GP}huo1A@t( zgB#0!x234F6t>BQZvBRL$}66~@6?py4?ynDR9D`WUtjNjQ%(8f%@E}_F^^{_>oyxh z_r5Kl%%vP)+cpw<`((3}-(E*j4Y9eShGOpFF{%TsbFQER-+XzX@DW$)<8_w60gq5O zY9lAcl5k&u8g*u-P||>?qQaM(JdeH?cB`G|w)W~O703oZ_{NF%?gB{iifgffVp-1k z*VqC<*{u-M6kdo1WH94fpGgusf`;(@V>!$vnmZ%)xn25pa-e+PjaOrH$NTs%lW-6X zOyN1q&qm_z%Az{sy-^B_(X@qd!64Cm?oGoQ8-4Z?E5es5mMW=fsg&>$v=RBG`xpXg zUP`dbh`1=M%q`G}sQnGP<$N|F8RU% z-~T#WEe+gosGG41SZ>f^pzF5i)jXcmW25gAKQ5;2oq_q#LU%e1mK-jwFz-Jf-!zud zI%vYe%V5wuSn8_Ms-}1wY5Foe%TJ|G!e%fMX*<8A5$tCd8HDUAx0|+b_t9%{+f7Ro z@s4SCrDR5Yh+7l_^}>Lz)nBkP!B3@8LH3X532K6YZ4_`~|FNg~>&brnFIV^xuA2&VinpEuf#uP21Y(d?-r{qAJb2Z*y}k z$$OvHVRcKp+VhA!_`1dJst3Ms99e`i8`Miqa8ji3u9zi#Fgn;RXgBlYuJWfp4krr3 zf4i<8tCC(^Fjwy^cJ+HNk_4?8lAGWdl{rfh96`qUqe0@JZfG@~OP9xowjbzKW}j?$ z5$$1Jw><7}w5E14?AN^e$Ce!6WE5>h96R+Tu)4O}u~fqzi$uWHere3*$oQP(Wpqs8 z#=obRLI_lDL77KuWl)#CW|D5X5U73=Pn`&EcYg_GY)kvx z?)%+LiiF?+ORZB7*iTHaZp>09;*r02+!H2c{&U{{`UujBKvXRB6=d%7_sS&3!}*8| zb~utBriCevis-XshKA);UZ)s2om-HfLx$_Qqcil^adgTk5Mn^5pbrk%5@_0D&9f(T zT^pog=btdj76aDS{@#3}YdIj7@d2GwvlBR5__&vxfs`@Kv%bW9m!~DoQgeV1gp(?4K4YsWZg#V}!hE0r5L4jl)&80_mjBvC zedTzfXZeokXb%Kq-DjxCl!-)Sbc$HlU1#0@Z(*T<pp1WV{} z&)^L$6Ir)au_Q%^y#Pal@3A31Fdp8-n72I16$MCUfpoh^Sd9k z&WC)YLu~gW3{(q@;kPOBqn^rw;mBWmLa9OaZY>>6ckjDIcjth7v6sK1SfI#`mg3SB3e~@t=roOgP!MLa9M6c{s6H6V>c_jW z2zUW1M0)cTT3O8BBd)*!-ccX(*vOZf1m^CEy}0@h9`w(xiAjLJU}AdruP25vV@Bm2 zbsj8hedagUilNQ%OHROn$ell8f|9bf>pGqH4|R5S3O9%gCjZM#N!u_17E-f^Z6NpG zZ0BDh9shi*Fn7$S2rdc))8-vB%594lCdaW!yDyZ!%l_AE`itFF#KruGrqKWU+y93z z{A-lbZnCXI2m`?Ti~R-T^ol}WsB6jrZ=Sg)R`xIVxkn64>OL`2ocnI?_$P$46U?gSTz5ef+Gzq`*tC` zwzb0lI;#J1Yj-qsTwL7CN9-|YKxsB182RjOzs@3Sr$`u*y`hQIfF&}yxF62p*?4_}2{Uil~YaH+wl&193|GH7D48S?Uz@qp!FD%c9L3|Iv z72ouJ>D&9Z^&cqH`;yax<;sFq7%nM+ysE-sx-|3JY?@a;P@5@+&@qL z6*2$s3$a%e^F`2pC+_l7#8p1Bu@D5K4=SsQ1i?OgJ7;;UT_DvNg^EV9=8Jxh52#-x z21gXkYZnzs1us5x8)j%JzEn{uLME$PB+dYN^5xQ?wPohr_6AIKoa>#37yaSM_V3>L zqjbOu5=+bqAdj84YqDmVt0u9E2p7_t=t(Y!;8N?oxZ)mX;db}=x1ryWyyT~RhpNT{Vr$@pQw~SXJZoyu8TXsk$--k zi)Ea*|I6FC(69yWLXA`5ZdtvxRa{@0VQcvJ_w)Y&MCSGrrb7b%(@p=EF;oZu4q#ki zR78nU#gbv!dlQp2)3lj%rFotH#Hnz!2%05so%VogT_Cnb({H6t$w$IcF%2~*jcJ34 zd{yuY)^vKNR}Y9DdLGp*e>CE09{2CAjQZ;IH<8FjJD&vj3ThLt}k6ixmIqCEPQ-3iOltQ!x3QHFuAI3<(We;8(jAC(w_P%Ll&>T zDi%jl@S4LTU5)gC3`FZ|2!Zy&yDlvl^lTe@ss3nPJL33uWhL=FDkOUA@?^X8>yq~~ z2n@OfbeL_J?OhSkYi&=I5P8XTMN;U}&DOpK#J;ru)%g6>%JUB#)n_Lv(aLZrv@%de zt|*_IZuy$fv$VvhR%RF8BDHa`^p+hL?op>|!wmZ0?G3oX=u7+?P%)awe6o<-QLD4t zAlgLHFr?z`R@^2R!f7SS&c@a~Jl-XvI>wCHan(P=;WU8sp113cCOF?2KgFABZNGjL zp8PrNv>!*i&Vi|{2vuWL@1*c6^Y$B?FUrkqEP0}Y{-NQ6;$o83dXIwy8?WS>lw_(P z`@5}mj4k>k{4SXVa`JV*QL!esThv)`*2}Y3$z0kGW=Mo32O-FBqOMymznu=MDwX5g zx5h!d+idppHAbWrZ8NueJ%mM`mERkBOW=OG`^{31IQ&0M#s>NVZSp0?&1_Sg89sM( z|2u-(M2pdJ^Guy%VkLbU9uVuC43*FSn-w!9&&b3ilfR}w2x-BAgd!ER>~mw0SQvvi z@Tlf^Dw%V@^lSHi6*^y~O=LaRlHV=W)aK3*8?!mQ5)9f0be&kzCbI_{c=vsZ0A}O^ zl3JiJWoM(vGwO zK@4LIb&M+SlDaOKC^fRw8H3KAn67V*ac+&3FOMc2%^;JGKYNY3|AXoN@2=_ZE3LMe zJAXxc*5ekvqU#0Pjq2}%%Ho>B{?eU!=Z?|mPLnkViTH#(0eioGK&IvWNL%CNjI9uT zvQ(G?ZS-uHo5s~n$I^5wfC>6qbEx2Dca-bCPVj?=nwj+51@D!8b@c$%pZ9a;;nw}; zwFE3s0U)jTgbN?aWO%JcbCnwlDu2+2$Rr82p;1=tB}qvMWxcbTWh z0R(^9?)u>)Nly=FZlKxnE{lEl*NdlTW)G)wYAm#U`wVhL&2aG+i|ZIW0cAm%|0oOo z?lereuLaE<^jeAdDITJvd;J>%bgF_!jh0|(x}?W?oO-Hv%U zG{zdBTX`|D3P|l~9N%Rw9iapotSq7H`?68ZH1hoq&D6q4ShbA9BgEbJY&uEmgehc) z;+0MYKMNf0>lRnHQ2@?^4HTx37wuO7@snU)mtwg7$mk7dmEe&-=9n}xT=!L2m{cA% z%8^FX{{F(cZ98ebypCtl>+;yz6`&F_a=&aWHtQpyP633FpC50job)jG<#DqZv_~VG z_hDDZ5`a7XzTz%P{Zlf7MH3K~TM4Vfx?@U@dMt`l*>*)dOqP_;T5UQrHae+z$OU*G zDJ*e7q9pJbCF9R)F{J5zc0c8Nsphwe{!Fo2C<~;hGq1~06Zm93A0PgetG^5^P{OBrPiC$-S zrs{MS=zt|6Ed6)O@*e0n&J+lClQ6^xy(ND0Bs3OD7eottm*g_>#B3@Q=!;#QAaKh~ zQBBqu-#_Xb%$3m`M61CVP*Fw3Vs50+S~t&c3K`{nx2rY*gS(w>q0sotI(4`uMloq5nV z1}I8B0+5w8hh%UbZ_IqTX@2FeW@K*%w>Gc=xIC?BCK^fI7P8Sw7qTxG!Zz|fijJ2R zTp#N!;l#nlnZjzb|FaQ0Xn``Sv`{+%ex>z!^c$)sn{4Tny-&B{!=zoyt{&CJ77kXx zc}^VQ=Sp7F%~Zc;WR!91NJxBHv=4*)h*7~@4J4X)T|)2K`SST$Zj~tj<65t{7*tvD zxK@w5zPP%^QzNdmSuk7$xGxJKL@VzWI6Qt32aMUCO8EL|&EUX4Y5Fa96BP!?cFPjp zyU&TNl-=Qll=t%vyL0vV&jA(F45u~2`>HF>MwM%pmHN3N&c!iwq6L6lWnt5&ukFz^ zErk*ZQqYkzIM?Gw0-tX{i$$6q77v2j>FF}VW9xlDa&K)XCv>7nTUBEAh!b+b!YMVN zyTEWnRdgU1t+o36VRZ+_13y8}BDSvbs1MK|rb^nC76eLc)Uz_J3?g1HN(`%?L$GV6 zKk47CE`S`?dJYsD9ucD$f9fiWVIOZ7r=M3Ui}Hf3EqN=qL%;Sm%a#T<-EJiEJ(_Cv z+U$BeQ;%7f3daN*2!rYY2FG9N)c;6a{@EJ#+%N%QAIK;Wzk@trK+ydhh?7|7cT>$b zPH5f<0uo<=P@)1~l3m>XUu@nZ(v1sEvWz#DzeL|GTnP24h$@D41`3s487b8T?VHkx z6|DVA+cJ&saT)jo$?%F>uZ6%Vv^2tH3CvW37ctP@8vuHTaqo3<1D_*B*#=n}RN#6sQ7rrUGKb9z&O)!|nrRh7j+R$ese zJX|nGF0;Fn6b#Rsue2D}z$QGey#nTGbFP;$m?6&lq7~y}r{kD^s9G~@uQXHa8Nylr3% zqb${%6t+Q4_N?(~{)6)jADPXt(e)D)DrU@I80#O$<7TT(fPSCeNDp9OAL~BszcNb$ zP{w?>{RPs3f=W6fwYX10c`bWzKWY0~J}H;;up+JUfYD&_v6>6vs{eJ zOrH4d@S4FbUO^@rK&7leL+-?5lBYps!+E=F+N5)Ux9FWhWD$gQ=K5=_RCW6HYJ&*7| zJXuB3@o@P)B7ymyD>T0&tt|MVrv&LVtb3^2oSM63ENRC-`HvRBjW+k=%pCKK;m4o9 z6S+>#E*DyAHTzussmhbE?lq<*=0S)#NJ}yG_HR4i^_l_ax@+;uWz|67lIk&IC|Nr& z_~`lqFYQ`(g&T|^^NJ^qw$LrFlnLspaOkL^tiJL}g0a&szCHMvh=sC={DYTSqT?_3 zDCNnNpUb0xpHsRr2zw}lgPflynX{^StHK{ay-T~M^<$|Z8mh(~= zN{LQ15C)YeJ6!O&dWL)L5J?U`Gr(`G`T|oks8J3=8LJ8A8p}mB9C6OBFcT^s@5W?` zjo)BkyBPfDQGP7fO}U;aVDAsnvI8Xg^jyir%pdQeRlZiz8edZNq)Ls%5*q zfF{*#CkJ#6!@98J$ciGPN4U+t%Zf}oq$f9(mVOWWEV85coaBW*%*fk^iX#D)y+4j^ z^>?kVqEn0hM?49=mZlH6bdr?EC$M<7GlE!;|WGZCf& z6)jUiHc#4X_wjtRfM(-A_ARLIl5sfhhOxW%_)(EmglI8>)Ro&19?)u7Cl6=LBcS$| z=zAE>xpsz{s~p}a@VlN^<386sNpPjag-E5=$^PF65)iCNGn)uA6T@!qpp*bi|92mj zvgY6aj{A}}sPe)LD7l}~3GvZzBDU>R8QUj)=+7L1{=&FI+u)zxdMnVkz#$v28GNDX zKm7A-dro(cVLq~Nz_KHP@(QQWqR_Ykk#WvGDKU#356fD$^MDua2Dtws_l0BO<;8mSkYq1!%i*D_=q;CEX}ph= zGS#ec(p+WlKqSsm?SiioMC!D$uV+8yItPf5?HP*blfyP@3PB@bEObI|b1S6)?YF|+ zEm`HI`j0iVWSa9eKz&*)=r)vO*Lt0j@UA4t2i+iMc>9=T9S~a@2Uu1aTR?D>cd2?T z%<>cQ^yBpiBO0M*RCXM_{!(l~(aajV(AmvhPeeLsBW#%|ffuFs?bs!zj>n28(B; zrSi=?%2Mm8IGIbBEop!+P=LxfO~Y#RC5E*Opaei0&g;C&N8Sp??~Z+hZ5Su_?>iE= zHirVti-JQy&*J~ysKS6K-A2W-g%(!5{bwwQ_Z?K`oG>J>@@GppNwvy=Fy@^6P9`Aj zTWmw>88#))GY$riMOmp);QoUTS!fxZvydfV?LImI=PKld#=RIqQ_97kN9wT0WG&K8-2R%AF` zLA?*qws(|1=GvUGHx^zd%u)cXmyP^j<)syCv$nB1~G+ z>sar1)6dJrKSZ=g5ZUwg7&@s^wg@s8uV3BJlDO^2U^91vM7C({6!qB6UvTJE=1P@% z`fF+pB%_XNmSKEI7C7%``QQ6d7&6#U)NJhSp7#e|X5CexTbOd@@|kVAk(BRj*l$J2 zch{dlu9B!DDmTaRQX_+tFk$Of;%8A-KzF7uvEzTQb^Xup{E^`f02FSK0ULB$OAmpHeXyJcTu4 zJ4o!&6N5V~%*j1HrJI-QPmwDF_uR*DPCc481{bMyo}@aG{^9Jy!msS>G4a%Fbldzv zE%is40Rv1O^z<=pJ4O7=D(e~dAuXJ}(}?~;_nQ-|cD*L6)|VsJba9v-k-|B^a&jF1 zDFd|1oPpvS?6^4Mvtz%nVf-cf1SHgZU{Kku-|Y#5==+mNh@Uot4?o+|@-H;OHGt2e z?ajhJZad%5_iWCmRO`JDhN?Xkp%sa1nPGFa<)6x& zq?xpwBx zLb$OA6x3Jf#L3y{umn68O;wY6op;P3HPOiM; zF78L4xUFW7gWP6=^&wPj%dIwxp7Vt*QO)6U#p?T$t!E8kfMDFsN8%GOAXL6SCcz?G zS0i~}CD&%1wgofnCuhkG&T) zC$m?ZevYSbo@QlQ=H_Lq3Wz>gMA$f0olXkDUtI)M!GdAz@o>R-DwTPlADts*H%FC)=M<2!D}Alg7NdcH_<00RE81dJ(SRpX$2v%V{@a|f$- z_X8rSqUsNm_37*N^ijwX?!!OBVK1u7r6-N5tTceg?w2t|uKiFGmO6`_1;|72A~imU z7w6rIbvG)cjR}(<))M|g&ra#T z#!UIqdj0#VqJd2}1KVYr99@tayVnqvg&F0?K#x6=_5Wk+tD~Z7ySJsJq!FY`BqRi+ z2I&TAkp=|;=^S$CRHRfuV(9KhYG^^a8;0%}dg$-?Jn!@V*8Bdx^{wwu)-2}Cxz9fP z-uHD~``S>4K10mU2%4i&M?g2jqjJiqNfMi?6Vf9vsjkpwFNNRE$P9_>>DJK|Mt=JzsjQK=>O022`b||z$R!D5r<{+-tBbUca-+`GGGDiPcK)+1lWHY z!nH&jioC$PTgnSu#BC?C?9;WDUSc`cQ-wLqPC!QXp-HqnB&f9|fjtj?q|cBYGY6Pz z=NWrm%Esw9chSaf4JvBo?l1zil4eX+sNEb)`j4-3^WNQ);g+&OpfR_BE0{mqyQAj4 zG-lCgjuJ+HmQ8l~UxpMczGU__4Tf(CVL-pK`j~jy@(dTr`%hc*_ddIDRSNF*I)zw9 zNuF6Cm|+@C%wOV;4?-JX*Cbv+W7LgA@8_$o zsAGulA-`UKA{Hk`q(m#=FT2_4@7@~t5@{aW(6LeAFV9t5kxX1xL|sigJRPbrprjCq zA-@7p<824QisZi_gN5KS&I((TG8on_+8_avbFDXS?02(`8*pF*3`$R?OuV(f{g#iS z)n;MFa(p0N-kta%{*-%r_ObHBQ5N9qxcv#y)kbd@NQuAKfhaEVPzJaHGI;Xs)apK zw0%t9EAfNETRPJgcWtPQ`TZs?pytN~=#LCgwM|h3ow$>f3L!6>A)lv?hVLHo)6SZr zN%Fu^bDE#3cG-r_l=CNBL!fBy`^HkYGj{E%T`qybx%*0W=S938da8=piXmLtcM)80 z={Znux5BGe`rAGMkm9qM%OC?0-~@RnAh*(NUZ)K}2GwK3^=qsPExpA`E*yyL3&1QTd_ zQ&mZM*~QoX6X+-0DL7adzx{ebewjU5ic5>F?a0w*VTAzChJL90bCvzk!_4AK^!$X9ASnrxJK}FYp;JqtG9hh4X`jO=>FZwr5L(GYvl1Zs3inD%H|=9*U<2 zXT{G7CG-Pch&=TS2ELC)_q)0ZrFeEusS~Y1F4=CP>=IC=4+ibZou2r%kpy!pTzIw0 zICBO4lu3mzG+w0V1NLF$B614BU>*kF_u=RB&6d$?`pu=-^&7+)$!g*1fL6KgXOB+{ zMcvo^0Y*F-+c!F-xVw?9?Pr*D$9+R}_pBVjS(Po_?` zr=6mTg%kiE93R;QZXd$XJ0cDx9r8*sdb{D4LtGH(aq0J$HI2g`A-K!3`$p#*z@FMa4&p17&@92AV*C?5V5 zMm9j_c&$9_{Btk#dBVX^Oa{IMl16MXr;5u|#C-a!5!=M@Lb)T%y52+ULWh|DHsX}q z>?s6~7|=Up5V5|k4rgb_*Z-GyYmXS#4f`t27x8}u)_+xzfei1SLIJrq%eF?}M=`8* zmvLgiqKk|}15jSkx9jv|c6Q1%N77LQ`6nYHt0z&oBVW6OC-2$Kcms1- zY|611NMs^P!Mv$8%h4{9*QUB8?^$BLuaUu+lhI7CJU_qs>Qd9VW?X|;Z}1oXi2eRp z?P6=0Fmw>#2BlMQEl^T{s*eM8=oy_mcC3LxrVZK*Z|smUGw&?WPX;jn+zWsyO{+1f z=RCS%PgNh#Z@vR`hjTG$kDvauQ%>O2>EU~XmN>h4XGQATmoA^21&I*3uPx5VlVfVIP38~r_vg09%I3;7eC}^e$4G}92oKAmAu95Z zf#$`Y>w*@dMqfa({P_y-fe;EZY+~(>Y`C3k_a%l&1jwOFG5Pl_I)B}yb=#ff1Yh-+ zeYLzza@)i9d8z#O$z6hj!4YUt2uD*R($=N6eBb@l=Mj^S**1O!=RaWcznSxZX=w=( z*l00e!cZU#8CmP>6tzYyWi*`q&27lbk-&^UIN&pkTByl^L z%Qbd}qgq9DJNls4P5@gmN;nu!7Lr||GdL~*o|$97j=bq&Rz~(HCHM2L$Lv;{pKKJq zVKWJ?n!(>*G|3*YnY`JPKR3PKB^K3F?{RXkt``0y5si?se;ks(aUu4^TtEa)Z$hUS zCv^9rUnrLRe0k>?9TE7CkwL7%;3l=VwnEo{R8pWLIGN`6?ZI`{IPh$tjChpeI)EpF z%wxh&)-t#qr8u9OjS;dR_Qt;MQk<{1mrcC=v{F;zx;={Xl##Jn62EG z=rz8Tzn{G>xBZrtksa-{52f{ftt`0e6}e0;|1@F$bDa2gk44o2#PY2l+nf9t%F9A- zf^%-?A=p=M%w6~)hIT<_bgR7T0tsUnZSP(<5}?XPM^4@TSjMZ11Cz(flJvh`U+euw z!8dr$yAY9ZvsBk26>@C-?%vnSAbq~u7qhbskT#IJK0jF}*rO)FOlW)d>j~<5U)+ci zCcQVo?~~&T_1~H@45EuW4Ek`+|MZ1q6AX+Tq(%*CI{6Jqx4i004jCtQlbTcH_I3=b( zuyS8+#{fF(t)OO8MNKM5*x9*A16H>82*b(7K$c7W3evG8n6N4)HuRSL*pfbiuU%p= z(N$HF#oT;w*{5*1RD&f{V#<*$dW=yU`Xj=U2n964 zfbewuDG85_z6*cfY4ip``fJHILD>%%d!UfjUk;LL0oOq=vJwWy$36tHJ0A48;T;c- zdr|AYyfkFGvc9_^2zNboz=^`%W+>#VR4IOL1DGl%^9#Z4EDMZlD&49d%^VSXs{F545s(i_0{R>cY3nPkKkjA>G;ByCN9w3- zK2s$9_Nymf2X$4IM&UO-PtbWkBW~|!yh&PF3yW{BgK4CCq}s{ofsx(qr9E89wm7Wx z><5+MyZNgegN=~;i|e~X-oyOWKwObP|4e^+EJpT92gV*%U@SE~2T(2$0yX2w{2-^j zd&4)?QK;)z7mK~p(gtntuFgbUZYnT`CuTY#HNJMqfD|-{4$my+w%f=4NetOH_|3vV zkKX&)9}8wK3o|{e16Olu-&ACiFjEd|Rj~aY!AAM>IUS0RA22Ge_y%n3#ep8|Pe_O= zC4q(Y=d-{5$dRKD<;!EV7^=pGd3En0)+u4d=uE`bOMN>IukzO85HzR_p@#*lpQ^#P zL*vdQojjY@OUN`_SXeJs{t46vShKr`S%U} zbGPgyC<%cM9JsKa!+yn7HU@^&U(sp#Kf{-H4HClGkYqWQE_te4N-kx!`yS%j8@qB{zOJ8ygXJ@OY3>Z`#v6=0B337M>x9__G-(^60+*#DTAK> zSyabl|9SX=95Y_X|61+1qzC9GAMEdJCtrUK4^N+;H#|$z?jSE+3`RCl!oH5qY;wha zrbk{;zuAuY^Q2lM&}9I*#k^9J6%ji7(eDIla#X2wDUz6L?+~$OXUBhT?th+ZG?6;K z$>MCvki`fvW13AwBpFcM$SWa2rg8bF3zz%wx|Vl&&MO)Ie*XEv!1n|8mCdC1dguX~ z{v3^eJ*n>~DD^D~D6TU({~az;>D0vKIj-ksVTX?>`K?JWFE2+*jT&_kkv5j!ykkd& z?_NZvwemx{mJRULDqQvcjx@+8AWC7b0_>_LGKBd;o0?HFe?E9e9CO{MD4qMi*Ga1N zG0HvyDq>mdjLbALHO*8(gfx=h*J*-Iq@0iqQfw#x{12%r@C@216eBW8SUDvhFri(a z?dE}g+An|_2GG!$|6Z6@Z*-;IyMtz?7*5>(6&S%1R)pcpl(4njcAV;7B;Bz>YE<1zrQG*mk@|R-jwxG@n55a=!H6EsvV(tS!A60`DmS3ZGS9j z29gDp@BPiA|2&!iC8_k62ZwR!In=rTdnKhvJ}!XdXy7R`Rrvs217shjvw5zvP;PIC zN?2L8Yw0j~5OvDm|L2hgtl*-hA;ra#on*TGLWAM8+0&2^{_>9GB(KzXE+aWTJw3OR z^&oHbtBXTrK+BNxozHS>sZIKzu1H6%0qUI$ zbThnuQo+uE&d!M90Ea(kisd`Xx;eOI*HhY#1|V*`PbX6qcvc970^@Y=Uu z#e^W;PIxAREAmH2*m1GnsH^_D)o4P5cAGo095dfo!hg)HDb71$FfUir`Pd5Ndn2^I zwkBl9!q*q&FNlE>-o&K0hxcw|O3%=u!kr=lM(8K{_{!^bi|Z$t$!$=cz^=>OWu2dA zMB&>KB>-(mcZm1hb-6up3tL$+wd&u}uoe^=YB{(W*f$b;<@K~CGD2(L{T>$f7E(95 z56;OTWK~0N0{c0*4#^ZA(EVa-cHUlTTmKH-xl8{RGkNjNkBPQ;Sto=mZBaHM>dpMM zt7pU8?6QB~{=Z)2H}QiGio`m_VYh^09{vz^?1Iduan)JlYpgxQLP6Vq`PV< zB8CzccO4j;1-z|)!r&_run-pnWlgW!+9X40=Ycr+h>fd7=*tWV^RGh>$j>Kx2|>P) z0&NDOT0vXP+Bn(RD$*_NxyPo=tamVyc2-LmMt2^A!`zgk= z6-j{8`D6Z%!}LI~;=&3;9d6!JiaUL^14&ZDa@@T>sQtZg>LXalh9&P43;agUeP~jR z%|x!(8EQU&6YRJeHu^$gMlh*LU*vGtHlAd<%jV!XFo!t-_DCYJEJ-P*fT< zWm;MaxN>jKDROA^m-`mt{@zjkC$pw8rduN`qunR_w@GPfRnK;(@&xQ=%a^F8RA;>P zj+wJv-{PALZd23I9cp2!&xnv1G~$C#FY?N`vX2v;X(le`MF-d@bWD`;zEcSr3Vvt) zdy$s3QDI!j2In^qF)&7A+Jf@=^Bzj32z$p{^r!4=zpZq-!1mB2M6ALe5qdEo$yn%- zQpkx!)6Z3SM34ySlA97O;2Cqw(UpEWOA+8Lb@ewqsp z?Mf^dk@~E!Kn#K0u~;zL=Ijq<{}J7B{t~ZWe_-47XyZXQakF{aIfrh7 z^%;8wahBMJYI=wajm&4Cdb`+lc0yLp)R(x0TX7L07g-=%qW>M5telprNHj8KIhg4R zWcYwyx%4I+n2?%w;hPM_A+_{}@87!u=O(Yipx>@%JKAN?cA&9SQ(c`ND(n)^%g3kO zM0eAJy$Ul+)+sa20+?HMvin;OC1BEL5F;bwxKo-KRI2{QeS*AQEAWA)AOV%Y7kvOx z&+Jfo{W=?Xsfaa2$yr`8Bik`3iHX~%o=@dBc?67(an~2OFOHsiQ? zJ7B8ev(u+;gpGa#lOm-wpE1d_x2?Sx7Y6G~Ey3y|9z?D_eCe8taj-_9sD#G}=M~ zM)G9aL1l)MRa;YidZ+6c*RIe>sl69vVl zM|PnI0eX5Vbg8wqwP6?<=2l+XB?_@a@ER2d6%Q#we^#N-yP2U*a)fF! z>;y6f4X%2zvf#bO>_CS@W6|x>L8$J0U74~^Y6y&`xfD~N60{$!+F$fO2G57IPz7+{OFfmNm-W*3qAW3J8QHEepl-W}mv6B7Oeauhzgg<5!C4ZEbNKf z(Z%6h!cNtaeu=dRo>I^X^e|b%r=d! zM*~r!6~;H^`q2R@xJM4Z9RTL*t&aF~ikzRc-bzmt%PPko*Af(2J=*bb8kOO1_UwDx z`+;`hU^_F|Z-73T!gi)1vKHZN8Q}dZJpc{+wg_m6pFq#Ne?RC}eHBJGPy66q2?xn~ zszd_U1%ltHdqzJ64dj7%us?rk6Z`h8^LAkdzh)`Ibx^x-Qe8#0_#V?pb@8CMK56Rb z9PS%&FRXi-?sqKW;4+tIKti;gH-8lo?)0Waj>g7Yu+lSKyO$Ppvg_L5)8{Lp?r|u{ z%9<&-(2y#N-Di@4NcE%lD>kVr)u+4e2Q?;Wy7i|gCk*M%jgt^^Qn~qtq9$J~UA4O( z+zL-|R}ubDV4KSu9^lx#e~7=FRFUDtlrIN;(Jb8VRe%|<`RkL)xYybn{`(u4tg6v4 zLrIv%?ey}SDtl?0Tf;kdkI6(MSGTEG4Y5wWNhZTGDr8&+qKGK#K-WQ#ZPO<%==AG6 z!R9hcEk$8EgIgWz*;F07{Z)bVN-KATTrA!b2aSliN97%Ujwg+up^a`Mh1x|YoS{8p^oQOl4h%#7A7Owq zHuKHSdhSxP;~J}Wf$wb}QxEDWEf(!y*B`(ZjgnP1g+{9{ka*4S%QOGXLm zRc~1t85iZBZ}}nFC}|=u}omw4YXT7Fwfn~{AP3Cx6MxY#vnS$zNUy|^mE}v zVM1A`15|Fmz%#9-e0cZjP;s*U*7a+b`54OF>7sbW(p-e|G>!M!3K7o7`4KB|d*fyW z`S=#OdciXNz9MIM*28;(37kiD8^Wsd@1_nuncNMkuCBU81e%4adrXnD zv+qk0czHQFV_cxMl5%5gyrX5e;WS<_o@5( z^(*nhqN@{z$xkr`RH^b{G`IUZwC_J$Q=&^KWo6|wuifn8q^W!Y6+D7vZ7Ac7`Y7xct+0K`DBJfA^R5QMj3BQ92eZQZUY`%A9x=c zsA~K9`FUODkblRe?Q^7NQB7T|)y{uR=Vxe3CDmZv$)c58Fy7NZ00n`wmkH*}ewwuS z8VSRrX_Pa81H^Gd?IFczNYHNoOqyQMbD-j#lcMvx-4_J4!AAgK;+X#H;N;QL_4RMk zo`GwOM%+O4R)L z+@*3Xp9}YAKtkIz8q+(MY6w#>1)&C3A@nFO0l7E<$2F>ca|}4IB=HhYIWNRoLk2+=%1A4IR)&j7u+kFgy0FgJ#MLn)`hUFE>}V)jh>$As zq4$UzX>8cdc2tL;8X_`*5@y`Y^_d-+$u}qiPriws+>uM-2ye#JmmNE1Hu0{xuXOsm zre*yh;rSRcA$@Rnn@^rsA}jIz7CFW?+2*B$80c?$ebRyq+}$;%PF#v^#1TYJReDM!swCl`Loi+R3D|Bz^LXfGW4(#BH} z11_Dy=m|LVO`gBtacUQeTcH^1R!jMCaY^pRI2KOSk?$g(?1Imw4RwAMkFntGebH{M zB(d1b7CrE!U+UwT+y)MX2vM`Z zE3xd8rRbqe&h$sB<|Rx*LgA^NJBo2TG`EshS9^Q5&AN-vu>$}oVr+>)dZLxV9iM`2 zVCtqksqewOYn~@epsTrMb1tUikrqO1Fc5|q>Lif~7W6eHd(Jwp6P~>7Vk^|Jm7G3iq{GsoJO$DE4t`et@ zC|}4zTbcf@EdJHKZi;=GSlWBREm^WB1Nj|NP9N_5YBY^Sa9|@$;@XU^_JjPO!P^0g z_fuasn(UhqT-KAHA`eH`UmcCwu39&wQ^IIh`%RC3gYT2e1f2Dp*@{CQY8u{;UuCfE z=r?z6*Q(h;hVb7@oTR3tUQ5o^G&%4XiPd!2*F*jbi+`Lb@hJK64f25{1sl|<$*`l2 zX3l$Nr2W2X0s%$$#+|zPN(oz9vC)W-Pi`5{=i%qu`LZp>7n;6HrmX=-b0 z0=oLC2tydW11xg5Iolo{R|Lz0r;OW$m=T%sE;2;<3}%+&bDA>H9L^oW@~qEy%stAw z&iwC>^TgSmuv(&FS6&tMKVm=__}ylE#Aj|E`h*@Q1A@xq>lceveh&=BBOl8nLY{=3 z5n|+w_?{=`v1WR@tRFydz*`Jz&0X>q5(@xG z;d@~GL`*7`RW6YUr@rZgl$$&POnNpUhs20l!3?+i-3><^_%&93={Ng!vnxL#9?Rsy)~pNj5G`S~&6*){hnI+}Zj zMjxl0ryC8cYA}pioKvGXd`9%^%CW~W@uT*#d|Rk*j(K*cXTMy2k=>ODd@f{l)*`g< zx}z~Q<3%ZV#0w0#wIR#Tvn{i46a>We}klrQ!sZHFqRn zn7kTZ-)tf+(*&tiiw>`a0T!}~>BcpMr)A3n1#*u+B5Qk=!p84i*b_rv-TX*eRzk=c z$?DW#J2+XFofH&&Pk|&w(TS%X2GlJkH0eA-RS5ZnnHo;;%umK~PCLFeXtQy8pNx!B z>FzFNF4e)`5t)5_7CoB^xQKnlbc+iybBcCpM{d6PEYn>L&82^E!Hh2Hj;ab%AOoj# z;nDUy=w=zcI1qPi<$~r_ou@X*Uo|Z4?jZ*}74#w+5~3Kt=AoO&OTIpA^t*?-I&ddn zJ90H1#2nX@zkq&mWa^09AQLHC-7Rje z+wjyUWQ`7V0J!X1!aRiB4PsTT+NaS)Cz>sMaOHFiq0O<9N%lCi3r@QG z=6$(3(7C9szctH&HL-TDFC(k@=0o;us@?@9pAsVgWHxp<6+;`UHX*8j*^lP+B)5Xv z?b@o@ME4)00%(dHiP&50=tySO5e?=%qa(N(p5r&#&Gl&5$V=OQxHoM#{2TM+4(7Z1 zOuxlf8um6l!N z11rvm4dS?O5)Uj%e%{|ogAWvzXKRX1fu8d>6c4)1WiR)DU|+1uS~B3S6y!g& zquTq{w9cgZ&3khe|L_ciA%B)LpR!BZvL{W+IeUKL{H)|Qp zhJ5()P?E^7=t=BgapmBi##j{hfLC*d1%vF_@0$DVpVRA`nOLx{mHy4+B^|Y6R+wR< z*mwSfc61Zh+6e?f!P}UUrk=<>Tz2NO#~W#2HwUr0%7wPynEwsyVgF!*g7HkKD@_dN z&H=Wtn>_H)Biq&Dh)GNg7Rbc5(D7Uq$I?=?xc&acLC-m$!yyas^z z^jD-xq+EU;rwY3PO+|z6mpVqx;SK8?t~Gdxhe`f<7;qkfXw4cvqr;I}bb?cjJQqCi zc|k4rq+QP)TI}xah8poAm1|7&q(;^gE1xfpRZ^~kXi;*H{9Admvj_V7Uy>JDsbRx# zVTN1dM7UveDZW_l7;x-W4?>iPw~jk4Cqow#4THvVQIHt*WRmxj&n5!PvQDPve~5o~G+}t!+jvH71T}-uGM8(xBaMCAOl85^h}5 z-cu9YEt$Csu8>5PSNX*@4&)eNJXKHIZ6lz4_0j~-^`=(0%A&@oWOs$u*9sffIg@TG zr;TC}DxM{|ue)|f8qwB1Zxh`7 z^%!(>Hl{jd^Q+y49=9A&AEduUEAZXTc*FNXD#ypI0VTBn1MVN5O6qi&rd`FC(tgF5 zSLsGJfks(K+OBJX1H%J}%i_&Oxz&Ci^As%2X5XwH3sJQodxrFiaM5#dl1G$u6?8FO z-BW2>Ce%>mZ%26jrck6B_uJr2B>RgwL-{98;{yDhk;i=VdVIMB{Xrh75k1P={n$|9 zG8?HTGRVySb9|F%WAao&2=r64uy#?wEUcl*GDvDmJtDr^^tX;z{6eGeFhO0<<(uo5 zi8Y?%Ud>)8=uyAhX)%Ok%cFl2g;tV$fQ6ANg(Qw*7DZL0wvoc zJOs~QB~KqU#6!yt9zJw_)ZpNMCW1}j>^QKn1XmWcpI1lg26)O00ZW|tAIr*t4gj=7 zDQf)`W4y$M22`nU*!Zj4>Et2Z5T5cQU@K=xk!qmglMqtov9s&{9bASDyE-In@QU3n zZNLeK==!dFsGKWkHnLORNbp0Aq!P@yKA_6yMPK@;4!_(?^IO?_k;*2iVI9bQ(JYzA zk}uiF!+v%&qV1QtyWL$N7LgRGH!t(ld12nRG%dpM88Wlhw$tZ6>_*z4NWeqVXD)e) zkL}`@b}CHi?!DbOuNn?4vO!EOgXaQ1V`+~+bu_SaU%5?oPC;qLITq*ua3`NP8oI)9 z!*raLHuT<7xny!pEy>cD0LfFJX;)A6%=Y?XV4%pVsf@#g-=^U$VFF=~P#5DFGw5#h zzG8!1KqF>pS7p$Apo^xBeD4JzL%ytEA^C`O&Sk0Qgl~BqWlDKsRjrWF58PF*zJFu~ zf5WR1p3fe%k*l>@iWDtJV7~1{bwtgpr4oFPs#e*NV3bXq%A~H@HkCM?tj`^TFJGG; zB~P5cIPv_gCBqf0$~zCVJlWrb&1oUzJskZ^Qd06|@NQhq##L!JpXJafU`9USD(ef7 zmV9hbA3X#=Mqr9T-T1puv^^;Sw5Yr=TI#l_yj*L66qr`tz>DObYD}!xPY!3k59W4| zpXtzyIY}d$cS{Gyp}Ra%59B0H0re+--g%ARN1ajcr#q4@N3%uN;_DiS5M{slDz)bU zH=qdJF@U){JymwITp)!Q<*0>zgV`CT=pP>5dvq%$%>EG!l=+GC!@uF1R2`HRiM`JY z$#EqMD+BTGbdA*SDm`(tb+^PlPf`96yh;oX{chio9WHJtbg zuI23azU)#ogbTdEe!45f%wsKU<`{#o!}h6SJ^>vbyO+7&YOjxOeYB$cdW6IZdVjSk zIN_{?*dNXija+Mq#j2t$P15Lz00I+f0FRBvynpzIQe;2#V+f;<2=Qkmd^{28bpg{+ zahR=+#f)b5`tlk`z!Nvp!UIPv=tp}ivHY$U*Ke%(O?fA9Y?Y$;-J#g9fRyukiabBL z4<@hEztiw-Q%>peXRVj}RZ5Vr^X9l{(7mipN^?z+M%HzZQ(s zuSTTb2v#pe5ZKY)rf7*ynaiJ`fM6T<8htb-)mTxNxl1;=tzz}tqP?$RznvzCeYg}5 zX9Am*Yb&KoHtlCc#u2+}?%C<_w`}RZjc)4Z1=MfHYuQ}4Kd$$Tnjgnl{gVd&#`2Y0 zHxSHjNYFT-y0Ix*#vRZRhOmf5?+r2{y^#8BpO$u&_C$x-lbnT_b!rTRNo#zb^RFh^ zfMOOsQA9j4j+2)MgS5wMl232YtqIBG>U5uU1ii@q?MkK)I|ocI)IQ-96)ovubFARb zo|C4T0C-r0U#SsU)HMMvZca=L;ei>Kcz#oi+IL4=li|%w99Td=0A#*)JTL!xhc%qE znwz7j8@!zK(yG5{P}qpP8>4h{C~Z^!`#GBq?wlJSm?2I0^5wN#S*rE{n&s}#T|`%h zQwmddv9hYFTfOLBR(>G&{F*`pHZ9PX^Y&Faotpf|k3O(m7R{Ph37gzEj^0dDgszWC zx}&u=G5cC>c5Fb-op&hlt6rS?GDL<(3eR^~1y-JPAR9?ZNqgW~Haj49QVN>7O(eih zMy$d&Uj?y>oR$=EgOQ z-Ns~8uRIwrmvpN^v1OS4@CB-T|xIQ6in$cLDiY=UA94eoGX{qvHO z)082x6H-}6ABXPmJ!MUufe%CkH5z?-$G6!->X}f+u_s%CmQa7e&5OfGg;~C-jil74 ziIhrNa9WwTAz@d&%B1b)9EgjZEVbOV>&P&(DgLi2ZRCCt#`hi1KeuIc92wqwD2hG& z5pdOlgyrPq8SuCIs37(yOP=FVyi`B)`#oyDCiI|xJK**6Vq( zBGG5+CUs{WRk|@n2Rv=$1u4mHetP@eq#p)o>O7Wc3OlU)iE@{y_}5xyoT!U7(oCJM zi6iDM#tZ3GG|=u%;sz;C2KJ??9r$|ViJ0TYB-2)_hf^OZBSg=hGnZXAF61^3)N|AW zP+Q`{$<|6hj$60!G^W-gH8p*;yyfG#|3W+Bg8hjhm%5hg?#Np0Bzof&0-9{>AvH~f zr;!DgWsf+K4TU8J!;8k&3xsjN76z+<4b&(U#sjq7_Q2vVVgjf6{JZC36ai8ZFD^J~a z3=~>=jP@(~5{1cn2)q*Z*|Bq5!F+_AfAYMlXNldbN_r3AjlWaP*rEw;M47mca=Fd_ zq;h~AB`IALx}=ziu6t}=JlYVv%u?GEn8;P3+F2;VU{oK)WySdth zq_9u4q75gtS4Exx`l*TCDcb0s=kG7VMyV0u$#SAQgqmmeV{=+hX*0FymdofMSHico z=#u`i2PN+H?xaI?(aA!X4gE!PUEPH0p>owtB3-=0Or`eFvuqu?eTi2OO3fd=`8jCy zl)&W{F(G~<@x$$r;q!_LyYJ;Y#kKin-nSI|Nk?>y%RNN;NbNQ-($vgso2V4GXx3!` z7UBuM-b>`p=5mM2YQz#*x1!DZ3b>~dckx7;QNQ{~$l#N&N)magaF1E>4q)|ngkB6i zaxml$(!(0F63VMGqeH{%_g5GxkjCVRT8?&NTN9#{P63GU3D~E%{UeT`qma})ex^`9nOEmMPj-FPDFYo=e?@Lx zVy|ioI>M7rE+Hb_jAXBRecIvlon<0^T2nu+TDbwzlE)Eya1g}dxIcT_I0X$%B}1Qo z?7U!?m)LN9aNs`Z8`3Bk`j=E{rK|{4IZ9tW2z3~%Mb(w?A zLdE5$H{GV$R3aC^tb8#xYZDCj8(TWOcE4GG4@@;tH0$lrw6+`)ZZvH8bWGefi#A3n z7lm?HQoLTXCBb?$EB$##`PGBgN7?8t34Sh&wf1nyxl3_uh9wo$R9MR{OimohGf_Mh z%=@)Y>-frVYi14plSI}@-vXVwD*s!O%PnsgH&mw1rPN>_;7s-o@GKIzS2`Q+bNcf3 zTIeh&KL7$ed~5!240yu07&rA@losEdWd_btQp>>gO~~Px_8TgI98j*)D-#^&9rx?H z(#vxnDM_ArlK{=kushgXEi0Ssh+spmxa@{m=C3Pg``je7RJGdOJFF&24&=`?`!Tmz zPp~~VClJZad&ghLcyJW5S6wPOXnh~*o#>+Hd}Mi`fp%xa)8J~#2c1Q#i5UN3{uN$6 zJXzQ{sd$=J)nMWHG;haOt;B`lJwJ5eJ;^#x)o@wGyR7W9{gs{A_w zYqKr8Y++^IG}<;8nuI1}f|cCE>m&xJww`~>2mgHt5>sq-MYb2`ol&*ux*?CXsMgU{ zg!=g*ET223s4UfSs{pQAz}Z)ShHn})B;_;hUEp3`^hrcS_4+iR1`u)~59_mkpO z*$hpTZ_g%sPL=(uA4UWVGq?VZkdL20Eo$OtPbVzvB8vQ}9-`(`M2lX9D?P@`8(JK>>Wgn8oLm`>Cq>B{8;u6 zS8e?SwWcP9#on={#kl$hG0A=xFXvMU($c=oN_!(e7k>UoAG>!M*8v&Q#oT!_Slu;V z1JUtX5BvJZ^BtG1;W|kqOPmxjUE*K-fv;kEPYplNb)_ymE`!zz^SZCQo z)IW zV3XL%^JyM~2C;9#)Pb>k8!tOZAxEvR8nmCgR4lxdDc~ma?E=FGX9q5RouO)+kMLwo z_@?A6kJ}5roc={nJ#~ZpW|a0z^x}&bGFp<5u2P~f>nHqEB`IKvm6r-h(MMcRRP0<& zRG-utSyOT|H_Jqp`w#kN&!;W_dXN$+opg~}YTT2PV8BE;KC-tUka z+EU9@+YGz>wYzf%?LlMQ;6{$>yTbkN#v{69J1aV6^jm|THBtPNM|8%`rr^RK#HQP% zAd&$b^kMZkSg58ccgdePo+3rUU4n{nkiJajJh?{~rbmLx`@H<`hG(_ZzG$Pt%1eT7 z1ebe8ve?IDNF$ni-UhU(V)2=u_U$3?%$Lb4t}jGg!>zs zPSy5`yv1ku#ew$O-jVw;u+i10`bdMnc<{&?Kz_AWV}=oE1x>zqVFM4ibv@nU>7t|t z)jE_tJYIJ1`=XbohxP@c0{F{+fqXav_9@(!34Ft zxd4uj+akDzP8v@{?7hL(8b6a~vhypm*sLY0=}d9{{eVZ9O@}s#-`!mC%qxEU@cy>@ zP|&vT+BXK{{ha>-2^F04>$@kS&NvevP>5sQPAz*syuXv1)N5!nY#yMv=6KEpfGHZg zVPdl6QM2mb+IxZQMTS6q#R(__|J*Z0RR)QblePw>UEde0_VbQW8Wywh!^b zgrC%l6aR-URH{`6TcXiFA2-Zltm*jsR*{JcVja*r;{;&lNkQCSDe2wsl zvJnz+u(-w?PZ`=A0Y+9?`*|SFPPNo@2cyk6>{lf3bCfBRZURrptZoqL4l~D(-BgV@ zk%f3i%FiNF9M_gmI5lylsK*#zq_n$i4pe#nbQ7Ff3Rb`td~De6h{E!WW)m}F0*l}y zgU1f0OB8|onHUWmK%Wty39IQ_={H7V<0}T$o$;zT1fR5~9|ub)E#~Px4IBp)XK zrNSrwnX>#Q6d4-_maUhG+0Y9kBSuiLRW3`3wG+rQq+INb1l7?LCKvAC)_My{B7)xq z?_0kgAJO>mIePlRe4T;@ZX1e^WD8=L(&|eEybI1z<+9#D3}HBxLdY8aLi0E{1PnXb znRz->gxp$8uRRc#BP_Lk*{iyNLDI+uEXz%I@tOm`QcF)aQfJJ{iu_X2D?Ujs@*|cM zmSNcS`60{CvZdPX;ZkT9+O^TZpd}3v5m5^Jh2m|juU_3^!MAzqcdxfx{7*0hs}3SY zI!hGgHwf(*NV8LfvnIPegAnhyU*$MaB_q%?(wT$vJ|+|H^=oHef5!9L@oKwRQ6Xbk z&UGu+`?P!5r8rdN^4SLjS}x~$C`WJ3k6z8pkwUL@4E^x}=4yj1#HZqR3i=&d`AgX#QhRL|7?@`DmCkpPx8@`~n*6W9al@Ek)Aww@>P^@-|a+r~( zCehJ8U+&|lHHBBI%nX;kZ^%u!T!n`-g#r)1aZs=LMzq3f2)+bJMO|NXTB_lq9^lj; z)IQ(g**Q!R*=2V0x(!LOFu|-;KJDvUOy5jAM0(?q?;LUrfqll2+FWlDePY#)R{o%ru^2H2b?qp1pl`Kp@-&_bh2y}p&^rHvOA zx?2WvYYNEY->8+2*feg=l(f<0f{&2=X8Rzh@%z3whr6GLX?bW;8o`L$@ohK%*s#9jaq!w5JIxLv*apaJm0fTsV{6Qa;D z5|WTe`_899*q|C6f(dkkQb%!=utgEGsCHWo43qBEdSVF8#p=&g-|`*cRy)e>ZeCRB zEC$_FSG!*Q(OFo;jJgquZ^=`ej}YU_^1Y~BTGn8SLwH3kB#h&g-P2Uesa-QB~0bPYZ9ck{%z_p{&q zz3=h;IR^)D&wbUp);iDMVl|$w4Ub-;tDwww?7Z2B-0eUnjBg%2JYDx#(cxbk&XA|C zo6`1Y%+1M8g&i!IILfj))5R~YlEQyJf>wm3a4U-qNqfKJtBbe>3h9MFQCj4UuX?Bm zhD!Gp=6VXFp6s+h{1alS93eya=eUMhqNyelaT2Sy2g>rexwQhC-#F&iB}^A9`$(}yk3x;G~ZvR>(Z zbFD#W1@x?Y3-LRH@-_IA%|FwD*WQjA*F<^U%!4MavYG{YOlK?C3T5?JFRf4>*Eb*U zyImxouR#u80@vJ>vyV&5bc=6Zy^2OHnqByca0`c$^1Zn{Mxxpc;Oo?E38<^jKwbIC zEUmkYpzs>sJf*#KgdI35C`6{`_}RP>F~#X7nm5i3juYrv=ccRjS^9QCu7Bb5n)xS{ zrKNi}9*Fg}%httUc~nN=4T^U$dk@13X_yOq@K^v1wF0Pj^5c^oTW65+8Ag(6n;0{+ zI9U6j@>{Ok5)Ey~8t4F*C(}Q6o7-wKwxqOLS;l(<3qEwTYSJx^?6wbEquSM?Z-uX^ z+v^&)aSbtY37dVjXg4=X&1f{A=0&2v2&XDjT6|B*^b>230}z(g>)7RgI9KZtej89Z ztCQ5jB0~vlzRRa*k)rl+9<6e%S#;x&8>ETeLYSv);{00>?b_kO$-wa~4TD9d^ADz9{lN3hlkKWD!_ zW>BmQ(_0|>RH1MSDl)8eFwK(oW5Tze(bvB%^ZgTJYM?fXVQ69>#;0fIz>HY&<>pQC zV8&#T@~0%@{;n`wtBI{O#jN~8;?5@%Rat#L>XUDh`A=?c?m$azp`z5a@YBQ!x#QbA z>C?8xk<$SpY3<{(UDBbBuZ5Iz$;sy)A^s;1q-E4QO2HA&A5 zS|3F3Mzxt(eEAXX|56L$88qJD;YwWwZlepBEx_X5EgoLqoK>}uQp5e)eP92#O?QB& zUmxZ;K%(;L>OU z?*AYu)&2X9#QZI+l#Cee<8bSb0_wPz!E)vKuvjJzq~!>8IUc~?)}7n&Y5Oro7Cv=h zwQhyckg~Yrl9?$U1%Dp)<%=0kdduKN_NWT1A;_ZY}%U%z>v< z7|LH}lKMky+9D~GV*bggU3CK!;s}BsHAaeK+6aGW0)qLx9Z)g1!7#pMj*D4y7bzpo zZvFiV_gURw_`XjjnVAx(SvgCs_OwVdt?*M(=LXZ=fhbz5_3gSrnHnJHqWO2}%rYIa zz3R+0W7@G9A~WOgFwpcG5nR|0*nO%@hNc1kZ8%PWJ8WcTOF{m?f8#|ys=hjPW@J@R zhy@_~NUdF#DIzXo1f(I3dTxA_ueLAVeR^;Id!h?BjI=a2jaOsxp(oppTxQpfDKTOp z*asOTfOXTKahuQesQZ}M(V7=C+oibO;;@`Zv=)bXIgPJVe>L@5KdbZwhU6L`CR8Xh zZiaSS^6b^6a~Z^|;0_Z}>+ouoN1@I<8TVggLqi+I%f{bF150hphniph9I~+>hM6CE zSqHzDc&|@*p`;2Fq{EjRywYYV{aai*9_e?BEOxjZZzEahn+(oXOHeZ&)XD1b<3DTx zG|9Xyj#pK^*E^juGe)sqp9g~Q-9srYy3w2jN}rni^!Ln0@;dP4-&oX|#`Ht4>%=$r zyiBUGm@n1V@mjGTdP~c<6vN1e zjNABepmjB04^EY{bXIYxvjNC!aQif7f()P&)ngX>K3P<+Y~fR&s}b_l`g04C!F%7w zdfRP)+G5+mUg6mqRLkpvaC)G`vQ%~XWEfJMHJECQ`x6DkgF+j`M+me=gN@S7(ozI| zP@yAskORCAA9Wh-6_157Am5a2(-i<|i}4)9$4{^O6obG$>gbTI^jIzSjlTx-GA|$R z>Dezp2Y9`;1`H&W>1wJ}w^EnnAa~XNG?`ju?!y49)O}M#lvCK-DC@?Fm&@+_Q!kl5 z!Y3^acA;t3@!;{aQ;Ka&3q5V8AUY-{+Iw2W;8vH^!UoYS=DR~}jr%`#(jCFLJ)-U=UZzMl`F zQq-3OK!za}7I)#z=??MAywn@9qgzZz0k)dk;h+3mx6qNL9gSH_jk;K7 zui3_b9#St^kOVR$a~l9{gq`Dbt~Att(;TqquXajp2~aVnv86@+SX%4kKn9X04yx_v z!4(mTujRJBe+xMUjBRt20t@M0My(_cLin0LD$P5nBME?*xxwt>4CJKAq6a8uMztT+ zQBI4CyPx#t{eFoUT5BkKAxFf5FeAyDQ=nxdl>vpEgkRVWNA!YZt2cWUU^#L04AY(>#hzpp}VBeTOYn(R%Kvi zgr(^yb@i_eccBR7dyq?#-6U6QiJY%30gg&RSEHS+w+;? zK#Flc&mJ7Jt{LLN6AuU(4JT{efhv7rJS~-L@hV?GWN*$wZMfWSL+&k52*G#<-12lH zNax=-SY}tSguPMzV72^dZKn=w{SJxS4FdM4Bi4A*;C@lL_8m~CdPFKmIIR%<4vNmU zKl?>TakJG@{X^1L_6t0)2!T&54O`(#YU3hPmXdz!u4b z0(DJgr;xLoc!i2ucj%z=_020OxWfija6>v?pA~c{rz19j9#*G|enaVE& zH=SrJ`af3Kw{HMCgO7y*?8un5S{Go&B7E}xWvkOOO#gdW3CajlSLP87Vx|0jn7h>E zVaEyh2K5VL9tM{f|5hZydB%ZPOB)>9&c=Hj2>0%ljl=qx28gSx@z<=)KadIc_{39| zmucubKD!=(Z+`90uO$wUG%Rg$5*J4`OfQb$fYco9tI-Un*c_bZf!Z>a%*SjL5R?5} zj?J*3*x<|*uG9V<_@;ES3n;)65M(0SZ@t(rhz65Vy!;w9vTA5rr)PQh|1R?l2)TrM>Lx1=om)c#Ort#H&QI9?l*FXm^-%JojC+gipN2!RK!2L zA%A=TOSR-IllS|uYRg^QCsS{Cj{_|~RqiC z|2tg)abOPMddCj_IR`@T=fJL?l+*v5147add|27Jhtqk*CgGEdzswMAlPP!^YV8Rn zEzx5dbVmb?wa6glU5ha$AEjvdd>j%rcxRs&FSG4*)2|-9sr5n7=Xc-40IgrTg6U^A z4z?{GdJ10AJo!8YfLh@2JGP=k{f$`aUxu69LwyV|A~h-L!_^EdDKSx;c6T`}JiMl3 zsXw7Ab|y7GJ|OoM4YJT1`yc|kGFy*NJduPk(Vt3Yi4_&KQ+}l-2Pjk{QgZBn_b4`- z{XEEhfNHV>_PE-7I88EH?W2ge1ZuU4;UBRgXR4g2`8nhjG&T9EzKERL*K6f8bcH(} z=t*v3q|gy%G}A99t8`z~Oo0;o7@ss$AyP(-lU+A* zZW(xqhEC?3oZMj&P^jm8PAQC>yR>KmRZ%f&qQb*%%~c{xEO6Bna3dvt0wxtbBJ(Fu z@~RHPT_#O>gnatt*0aSXRLZ2n4Jdhy&I8kGjuwKo35{^wK;KTRO(;7xf|ibiOjg`& z4RYsmHG1RMEeT&5N(wt60JDR!<}=YE2;Cznqtt zCQG0Dup$#oY)`gPb&UHmsc(I2-z#{L@#9B}h~R4||Mr1r^_M6DpHoq0geaQ$tI7Nx zspg*joAp78OV>kv$0ho?!R|nzR3Bo~FFGjNZqSO?2q)rKAq155>)T@5Zj)FOmOz#< zqFAGZS9WJJijKK;MDz1U5ybn3&uC+OP4^RJ^&PS8>Wt3LD^J+TEIDsj&C^n3Xu4p- zYehVVuW6k&RLDPcq5+fO90YzXPVbYlBdRWzriWZ})iKkZFA?&xDtPfN^0vyZ>tgej zleuS=@!+R0Q^8e}rSs``ghsiX;(6yC*U@>auKgvO-J?mQ+G`;pRSs)U&9&2;YnRgL!M4V# zm-|j_DL!RYp2^3N0k?V8=5aGtL(}8H<-mWDE-Uj{{m|)~%PZ)eq=hO4IJvY5h~S8k z!|Bs#V$~x5lmvNyeUSbJQEYbM`vz(UWnC0)mn28?V* zaFJb}yAQ`grj+S!v2kIMMbdE;L4!wQ%|!XTN1XgIC{SFiRuYb=(rT0Q{d;(wok|=T z!f7A4G-D_0vywI62CBV`?6i@r{k7B*BOiJ%OS1mH$V8m@VrO=$ajPel-QsZ`NsWyI z5j8p2SHRBixMtsfJJm4D^lD#!bRsEc)SeM&iDB5+*H<~UGf_Zy+FZ*$xk@xi`qZb# z7~c)`*q?*Azy=>$iU>a|519__3L_^JH{fZ8^-1u2uga(Ax9_2GJn6DdNuJua)=lS0 zDqct!QsT@lwDskTiMUwK4KZ|^V9c80aDQ^%)`wWTD@9!=(o7mvL_(7RA3s2r{=<~dHg8I_!O!NoP&E-NNu^U~9VL{;H#oVbr>j=eH91yWPY`^oaBzDN%8X)iNKArNhvZ>V+o?sBw_fXSkjei2{ zRADb3Ik2_2iN<|Nh>Cg#7~|A%U#0E=Dh8puQr7X{Heh}so?o;L{o;Ac=_rsHEA&cJT z8wv^vW9@$2>)F^ghp0omzQu3LTL&Pu#V^`v#vllwg3b^6!{?)i|13!_lOvPCA$dL*=lqY=88V~~!{k1& z{?9{SwB-eQM|l(umtfkMM#|Y&#xxfsqR$_;cAM=sfT})C1xYijMQiQL4j^KZ&;ZTN z5n9tD=4zwwsa3I0knr96zq@xXl|j5H&E~Qz_@sis8?%fVX&x$*W@R&yERrwohb-S2 zd3m>lnjo`7mtwIXmO}tBa`A2ayVHrS_@58^*TDYyL4o4o%j%#+&UV%IX{|Dh|oBL6%UQ>Q^Yo812Z`SXkaAVp@$%^61-qImuvZnwXFPV=ya49wLE z?7_LJ%8;45nh{r(78rlHIU>{0L||I)p75v%mxzdt30E8s%6A7QSMV|>MjRag2Bg@~ z2(P>*0FZar>5WGtc03+pbxk77rM|kIdT=$DO~{GjpMbx*Pq+y(^^P}uIXNH#lQM0* z|MCu&iM6}0ViOu&D^!$pXik^-Jh%h z641(=%8K3g7vB$>8p`_0ZQKj^fg3-L1JF=4HaS`IDUMdSB3dl@!)J*26lHqKClCM2 zzx~%Z#9}_oZRZvcNR@5M-;^;d`hzBh4MnuS^;~(bB?v{fL0pa{m7w{Qu^z^P|A;M{ zWJQocR)q0;{{g%2yyGVqjrMs$B|AwOmS zej_s%pT=L~@Lv|gU$D6!*%U4njg+XVSyrx6i}dyc30)rd7weONYd&^Jj;D|5 z?+3EP$7`Kt{x~M}_ap!FI{dGPTzLMC42iTlh?vW>H*QTJ6oA?w*3rR-O6|3NJw^_He%1Ved;aBs2`Kyz z#K*tp%72u*X_s9dvZanaO<&RoXG}9#1!OPZew)i|2?Pr-FyOljdJ!0g{I$|u?!U3i zP&Gxt|NeA8-lF{oV14+P8+8IM@qNQNZpy> z><0z7cy%b5Eo>JVq$O>l(v?84QoY=72?7?&)YI6dKOa)0{uuy(t>@Dj)A)N1{m(!4 z$4`a{zb%JoHdm!h!X>0lJ|Sdz+!MQG6I)_-;j)pjLrVfh?cJfL>+4&MotVuH9FZmNiMTR$o-BT5@7bR8ht=gU5y5o zpl8_o!^yK20?eef9rq7b|1|de``Z3vGJ)kp(7_A68W)sc3)r>F85ALgYT9-jGf^QW zZQ|c*&I(vBuuHzG-w)6-AuwL2!Q(V(|5_-2&&a>W^pBr>A_X?2X>b55zkBdrvw{a9 zjvY4eUgP^dkhIo*deblW$8QL+V^vS@s=NUgu&b)4~?PQ!xiJ8$n;hc%3Ql{nvidAY*&%unA-cld~&^oI`>@p0Yg zz^S>a5hL_}?33;Z0A&#C!sh%a$NoJwRGSFCb|-@kf(m-?pB2CP7b|pdv9DQTLs^-T z_u?(3uxF~Rt!-*eOwtoyfISvCBFNN4E0lPRZ)B`nN{YJPrP$HgIi{1wudM#%<;B%B zt+24LGyo1&y0{d!TW8usIK0qlbQ}z0{t&Z*m-yzE7sG1Ik45(*V3GJ(&E8~R zx8*8NQeAa}iZcdKZ;ub^ur?+NlmqW0;LK-qn7b&Cg_v~CnA7;3z%7oI<<7{!O()#N znW(d~i+C;xAaH12?qTpb?y7rRWVoF@b%e|->80{{BpZ8i)wZ0`(zc##_p`2i~~qb45skzu2+*(0Ud8-Pq$IOkb6ETGnD37=KtR|^{(FT(S> z!pKI~0N&tjV9e`sKO1tvP3 z?eg|Drxh)L!w_WoIz{oCI5yS*^DJ)Vvi4i-m>)L^6!7cK)jQK3(G|S|R?p;UYyAy& z$c1DCABl&U*v@!JOnTlcmBRcpQanzJE+#&&rCU$aOj{y%`Hh^+^lMmPVG2d&eU1ZNQDXTl$lO6Zk}V$ctEK2XOPJsC z6DGKzfaFWxTdfAgDp>^uJnW|eL7H|RYRDZiPdQ9dWMBRMg$7OsV&i_FgOQ)U1?D6v zS3Db2%$$j^2aS<~->lC8)j+<6?oS~0%acpdc01cwo+ge5)_Y9!$Nyua z@Durf{>ySPncF7C*yclPZn2RFR6^6_bq)u+0A0>8U`_9`7wvR%D15}6L&DtQYVM@D zJb5*mL3ys0xEyk3T_fx2`H&M0GfRspv>CX;HuM#Qr=cv^VUxZ6p}G70qrCiUTMX@8 zOgcOT$LOq6j$$auU=DrCu3q2I5rm6?^PUS(6b2- z=56rKWKnnhBsoW!o!oS%jrVJ9e^XP_eF~q+T)pWT7ER<8YmFTrUxu}rl2;wU(br|Zov3vf3(I^Rrg7^LPI=7hAJj6tPinlCl12aBxDh&hhZZE)>wgd2a(Xx(!5Qpew}sHZL!4 zTr%UM%~vxIVt|iJOZY!#9nwFK++_)Xfy`#MQ)M!T3~GK2nc*pg^-I5b_6`$Ve5)Gp z7EC5;+C;+8L0pR)KJRe7Tc_iM3@SGG?kxk+k-IwEtDPqjZ$P@aQtBsWE}qEy5}D+Z zNYo2?|mZnr~p_^sKqYfgw1ZJ z*^PWo`bdLdVzz}ue$T}ZKtESU?as9gZm4rur?FT6QFuT@uETp{23bdIq#7Ut<$AvT zPL_Jrm#ptVl7=)79$xSP^iJ zm%JTK#Kk`}JYt+Hx5?te8Q^FqpYH$cxaZVgR3eZ@c@-|YaSwq~4#X)WKZdAFefaRf zIH5<|Yy0G>9~Khd_v5seuUpTl!09%Nbe@`5A&Z>BE_nMHt}8Yl#~8r6Hl;upl^h|j z3b=U!XMqGirlHhmR_27E46CfRRj zYwFzW7D`u5y7wAhBXFqRMm9L@6sk&6jxRQP)pGg&ZDb)SEK=`(NR6z(LFIOWANPu^ z+FQP28Q7s^>?%0112+JE;s#;b$Pe6*?>Coc6?1%YB0t`Fodd^sUC-8rFy!KKYtAmy zGS43gR0%~z#gmyVgZuzm1uaaMmB;5-I}#y`Y@@nNZmZS8`ExyZ{yUe`ISmdsgOd|) z&#Jxs_fgeD$5smevbFrO+pwD2)n#&rPD3&-n<7w-&a{Q6RYa^8cddm0#Y6W|{r6s( zoxQIqyu7^9*;CUJ!o&yFZ`O;OS5F^=H=ddIz)ia$PoE^*+#xmgtc;NBEq@9*vwk{&J5 zoMq+~774urN`J_$(0i{Oo)I-Ahvr^a(nx_$$(Lm&kHfl+bVburHnf%YUTUpH=6yh` zf(+6gudBgtM5LclLSGM%UX1uo{Pf_bKM|ejI^SO-0V()$oY`F-SjDq&q-c%bL#GWz z|Iac1t5jEJ3#-^niNuq?Kk^rWJ7|?jyJ8SF<;kaDN9%hVfk*cqpQqzOaHCII(xv^- z#_{IwUc+j}>^zUlf)~YPdEM#@essrUIau_btu7%%EqK!L%pkpu34rXeuM8Ll@_#1x zShhtjf2I#N#V3`60Y<&q9DXps!0k&zHDUV8GGG#D&FQG|{#7gCjW1~(P?7P^g-Hmv zwWlaloBd%Mm~kMNo}Hcj^`%#7QsV0idU^?2I{Jfgd7&YF3mu2A`QyQ!tBsEmI8yuY z%&IC&N16a9@gsJXl0XvXWj(S#>;twZi3Hwmr<<)?o?;bJC^hHv`-|5)0+}7}zp7zo zg`dXC9^$`l_h`IpK>}jX{7WBC+D`T{QUgc`M8kNa&w(D1oH=78Cm4F0E|iw3L{Mvp zYDm!tvMH7_xETdljGhK~BG%SuAQIT_^?u&^-b{Ur|D-c#TD)VFGS~bVY1VuD+S2p< z3+wOu^NEsgc`X?!;U&d4)`fuv z*7t<943tS?zXW?$Y=9QyW*({B*}`4`B2f5rLc{UD6fije>^iI!yE&$ zFKuapOu~LP-Lyw%LwbWQyxI9UqU<&IDGY(k`37lTa{1EDX6$%MxO_Xfj)a0H zsQzH%^bv8R4agb`-<>kJ$K;=<7tLRZlfSYeKr{+}jP&Jw&w_y4I+jYi+Ch6E3{%ZY z)Lj=FRP#_q+9a%p;~-qLxD3#*C|^~5o(>tmcs4dRwzVpMFi|QlJ^$_;TcJO^@(X%k z=2L44Apx^&f?$P5c5^35Q~Ch+&So`06Hu@>i~^Ni16Xa&WnGN2Sea(ECTk|Qu1Vfk zk#7XrQO0EY6;B1-&dQZ2_`jruo|QlIYJ)cu_B@Tvyry~~ZaL)B{3w%@D1`(lTKyBZSfe1@!K!@T z+$1SWaR6($0pM%pYE6_Fx@Yl)hGLl?18odWuo}Cg9+LY$RuCq8))cO$>#4}wPunnP zs5nM6qlt2vcV|toNj_v0u_w+=eu0u0oBr^Xv zGBF)zQpHMbv!Hg#PUyt%DZ6vI3YBQrPgl&jz>Letr%V+ZHdj|A2kyh3w&5}e7M&XH zl@`^o*D?Y+3;jaymPhOGD7y7H(EHc{Jn#INiV^~OguEysVAe$V*mS(eL|*KIMpC)j z(2q6yD-guWDj4nL-c^@}Bg!pz!T5 z>BCsN48-!Pab3q*rzZpQr77(g8~ygod(#{9;8k+tVRyN)gQdZ)j++Q8uNSV;0&U!` zqN&(w^cNeDfe@RFv{1MMaMX4NtjDj4-|(w_YEd7#Vb7*SHnce$jWs~n4&D*Bk=Vth zI7%jaX%Dn(Q^zdKR2U4<;R+inI|8*2)%;}$!*9-vx`5l9$Tl-h6_EDPUEc7W09oL< za>jL?O2KMnVkdD}4t3&-j?x-8q6z`Ki7pm=?KCdM6hGF!#p~-O0t45={GLYj#9+Pa zYfM(g-)G0l1dSvp{2k{J67@JgBYtk@9kj+gu&MJpg+gks7KPK{4x{jSDx`>Sk}Y)0 z_;57f&iwGde^gLL6W8Y3kivp)7#JXkiEx5Pnnk(x80Rd~T~zfEuKre28Dctg?lDjB z)WH4Xu=TFcwPaQgn1*7CV`YLEhQEehD~%$-`n(wA^7KyJ;IP4u)$*%O+pO%yac0}j zTuw-xB-rdpIt4jPX;=mxcfERI^dwcJu$})G@)v&O??a~zR+2fN$cQ6E`)-c8Z(A9B zS6tS%rTt4&xJpA)`s%s;XZ$x+l^-5#D%ucUg#@Lj3wCYfb*j8|{+WNhZzpVxJG(cV znXlT(`TU9DllAC`4jBeH%R~T!s?7mpRNT;>k%^MY_{05~c4#ZCg6$T>r4U_5)Nx-t z50;+mthG^SV2L%nutgYtG8wbpvxF ze;#eQ5G=c+>Im!aRn99RLBB*HCR@ZWBb0DEd*A$ZVlVm=s}s;oh~wt@b;|`NNhYme zVL~RPfe-DM6;!v)_*XoNcS2UkZDCA0q-OuwNQHsqq3!q>*aYwFdD5bcgKuXi5Y_7S z0=bBuw$GuRV5Xk-t8qOIoPhKa?9zOw28f3u24KZk0zJ@oT!yy-(IF|pj}>&5d$X5Wf7{r zk~)<3T6{kdE$T`}afXs0M<+3iSpS%fmZw6z!x}y(?sw4Q{b&&6anjx@L*VHYtU(X= zk(QGcL5I>D=5;I6x`XbRp#~7hg|z{2XrXtZrExNxNsIeKinM` zHJ1MRW#RyOyKkowz7zf;)o=XaD~NfhGE5{Z7;P^?L{ud7(doEEDmkIjMz>BulSjj)(=1f*xcl&N7Spl zBdR((vssdFYfh9j(5lq6g&K*UyPwW*LoQ?+x6nZn9bT#=NDR1=5fo382L`pc2mM15 zI{dFS$PENfo^#4n_lHlv3=6eT$_!{C2V{gG)r22i4PeL@Fy& zMBW?G5wp+TX@i2t2adZo$rWVdgHpb#LTmABC&S1%E4#<&-QzY_SDbllv6y&05mFUN zFS2bN_WD7W`myCQpS+?MyE_G*!Z3}Y1qOZxG4cYI0oarP%-cfdgO|SP-AV!^8d0-{ zrOqbu<8gQOWuDNX4Q5EuRGDSUh^qo221p-EY`>6kRA#^?Os2T|PoXd~KWnC}bZ+{*pl zHQ8O?sw2ZS;UlRUjvI{VDb~A)4@KpTwrk%hj~V2XTRwk@@5{EZX4C#EeLhtCQw%jF zJoAf?lKaH&Vk0ZVD$^y|Gb$3A&%`XcOdf^B7^jZYcy$R<&5e(huop>LxdF&cl^&JS zDW6hWv2&Y~qQmm>^wfig!Cl|U>U2uzd$l_eHkFCmU1va_kj`tzd^v{ofn+_E9lrox zZSAju9M3NYwbI-!%mx2>I&O16e1wWq{-EhZ^m%|46YMo>!%>+M?6sk_;%NG1n0mZS z26Nl_q?&$kfb;D2rb#Dft-64}6)9|9MY~w&W)@OYYGs99e|}5?D$FFfOkwqCmBULH zqRZ|+E?AQ|&i7-55;oX-zSrgpF=tgfa05p2lpmBP4PAWD(WVRox_|~pvUp*R1v)hT1Td&GrxpkeGGDr#~!PQjkU-=!N zcAg^8Y~F>dbmsubG}v#G#Qcf$*u;_Lh(bix3dYkXwIRI;YZp$D8<4M^7~?c~-bn(c znI3YbjfdMc!O73v52?Osoqh_7L%bYzQ1IJDuaa9aR@{T=Uc_}ou}qb*v82_0T{Kqd zplEVjix%uA1S{rWzvslaMu$$WlpsYsRkyTE-+Hdgr(X9h#PMtM$>Me!bRX`u@~nlw zTm2Bv=RB|$>H+ENC}XkJA05BZ_k(OcJ6!`BR6BZ$lxxeT5M-{XK4J3NxH#Yh+E2Ng zQ>{8XjdbGHjq5hqYc!2l)<6lt>F_~Kqdq0k-mdRVi@8%Vrjvzn&gV(`2UqL!2gbWM zy@NcuBUDlKXnp`Myo5O7HU5F@KCkEee}+(z%*fB!+$CVI{jARS7qfcTiHL9lcB%u~ z&P{`1{W66w+_OlHj8=7N+!;3m)7{&;4h_luN2ohh%FW4M$9xz)5IXm;+fm()$zXvs z8qV5QiT8B;!0+BF0^LTd5EpJo+6CzZ@S96jOrW*lt~`-4PtP!aUs!r$C(CyE{{%98)qXzryNyZ9rXp-r{j+<$2ZU zXVaD|g#`l~9rMTB7EAiK><6-qX&5km%LR3g^Pi}D7go}#=4i)1elpM*GiAKfuLaH^ z7mZ&#NV~_7f8h{A@H&O^^V{eu9SO_%TqzK?EIn#sewNJT&DwFlbQ?@_+`#M1vkoVA?SVM>DhKrKGjYLemPfbR zT4w4CS+8K!16Gwsww^T%hsyP8lhF zq=Kc$dDep(HeU1@aE)U$$}?=4*vif{FM4=fy`R`GAOLTz(>i;~;)9c>ra#|mfAyK~ z-B(P|=F3xNsZ9;O)H!cjcFaBRKWX^7m|;Km^mX*4_h;~l+cRyB)^G05$s^2t;6_xB z{8`U{h(Hce8q27<+*+qhZVB;Tf%a27VjK zF`IkU6;qW2B4BO1=B2wTtHzh`C)D4mhQwk0op>a5+!BLre*3Q>msX0ElwrC2DnaE* zPsB-ClxT;1&X5$n&SKCBcAd(=#PreHZ6tA6EH;b3c<)xdPT6+&!YqQ=(KxChB$c0SC! zDfP1M7j!s!e&sNkTx}e7t+umJU*&Kv`?c!k>U?KER%j8?O2VT3h7~voe`2fxs^(|_5QzJq(9nEn|v$8+TmP(g4A(C$YBN(3)--;v)@4&af4x%tRc9Y2rj_RSL>D}xU-J5O zS=YkM9=tX#Dh2cJw8?PE`DR#rOtlY}#6aKJ0x07W3x4BMgj&ah82;3Z+}&SlPI+m> z543chn^Qnj%Mp-pJMVW{GcK=_0Nbt=YP^OqPZSO)c9V5p%O^nvZB_g^AG0fDPaL=sbX7%T}N zO!LKn-q;jKFESZ7$-iJvfD2l~e{|-Q_)XIY|MKS;BR=crz?qUA`?}PW6na4r2=;K( za$K;_h>LtG89@mkGc(<@lZj75Tp!m=cnF;3kES!ok(%sK*;L|E3uOkf_n8B=s*l_* zwO?QCmAO={uXly*tdFhr8$)k>RklCySwz6;v)EOEZVO77N*gVPWS}zCXpXbrVKQIhg)W+zxh6}YhNAnKT9%lg?#ENH9TMEF@TCBJy_An0Ee-`D^Gr&Jn?(+!MGswNp_SRrPLF( zIgXGxQ>bjp+c-y$_6AAgfe1hKH;y){vv5VmejZ-CB{a0h0E+#>gm~~y8`$is*o7Tor-&AX4?JAS#(!*#-mB z{w!AvhEVdR{$fW@>iLcv>VIZLyj=so6~Xry>?9iU-w?E`c}5;*xyz4Q9uI6lNN1N; zb@)uG;wOk;JJHQLZYS*BA-MBjO{5XFhuSt09cH>%`g>}3H|C9l)I`A<7bh=D$ko9d zdgVYPr>jT7=uNN{_L>YlW71N^jJt~v#}wiFEBMN?1)={7!YB)g)_I86-OJg2WJbd( z{sL5d#O6Yv#oAgRfb&m8e7|=y-`~NF){`wZw9)Y(o_dZO8{;LzSdx?~CIR?kx|ha+r$HSG^f_VL=N`k-F2M<& z%GCA<_#VGguQ;4GNx}T<3x<5LON!t)3?%P&gT+cc}|FdjluT6x|@s@mV zhiAHA$cHj)0`oXN?PoEI6vM*@%&*FRIv)ANB)YquRtuM#4t5Gq!TN(swMj^>oIRq|In!Y>PfNbh%ompM4LM0d5 zl%QTGF&V0~>qX-X+ZZq{1%=Oxn#u@Dey3z%sog#Cv)?h)Z`%W~D)Q=Vssv#vXq;Y5 zDQMZEi1m&0cvrre=;XQ=s%|TXQtHSPH=z}!r%#UbdX`1`_e<34U%8@1VBrdk%n*o& zVvbP;Ee3ee419{`k9S6taoQxH>R*y2E@?)a|nI?dv4^Cx+7` zZB+w(;x>h_;5{JZnk|dej1mA?HIMKn@lqDZNoMM78E}(v>2YfMuh0)fBEveWyVsjf z8UV|!C zaD2%;X?YF2)3C8sLjZ27Er&-rWzz&SH69JElj#boi%3#-Etu1^sFiBQ5ZH89Z)HEB z70#XM^fvh|7;%*!7F|vQNOr3*1@pC}+p=T8xhOxmbejr)tDc}+>KL|?)sbMbm~H(M z49X2Y8cL!2$(-+$SQ8WGQ`OKv{2c0c^BF%RS%@UP*GNO4l^?|e_u!=WOAKq{EnYhAajKKlRfXVnUW{#0I zN)T4`1tI^BJ@J$TX=&Ezdsbmv?GJ0I&XY7CK?RRXn9R(~ybMvrjuntXz_-V$tAOOH=PwF?7B?Sx+|9B7pVmc_Kc^Asu!@~A8yHeu&)OOQjN>29^dUxs$~&A z+f{2zpx%2acjR_HHEtlJm~wqvJuTkqLSrlp$_>WUR2}K!@FW@{RDrLzWUDnDJKR}c zC|>(@=sIB2_X6oGMSGI4O~9BGN)RymXy`GaNPaqP_N3YO7Q6q4v9}D0t6R5)1A$;6 zxCIFA4grD(3)Y0-?(V@I0yNUN1$TFs#@#KrdvJFr-^xB`@4EY~`&HfFUA?M%t~nnW z&lqD4O2knW+HDdP=NiLs|2#+hivuDbrG zPkm@F4Qp=w^f6ajc$Z>emR%o_p?O{EnJoh8v$fzMfkLa|qKE8zJgDYF7AqH>3;i`{AYU3(DQQ$oyTe+p--#>s z0c*?O_^GSJPv)KQI}la{c~lZQM6=$eArwqHOsYXv#715IbJ~t3mOz5bcEO}o`Ao;Z zI_|L2iTymZSSFkeHDQdg%lEA_(}#@`FuLKQl>B2Bf538{5N%vlpd2GGj@V}-3m^89 z^q{V#qp`Vb4t@VF^;`D_k3W0O8HxeqGLgt-<{M<$v5&%&AV?w{{|gr*WW?dOS3xU! zes>URRS$o$-ewm=bOF|^RyXDK4Kd&EoQFw4&ojTPnn}j=X58#o^)|QdXJat)IAz5u1*Y z9e5UFENd*S*2peh`E7Lvtp7&?q4*3Ebywfwlh%8bV-7u`S=IDmba|gxu3JeH=>xkD zp^xb zQ=7~GQ3rR_F}{c=$@}}JR14pzqM)Gqgtn!ihC)*3b?Ygsor|;hiU8IB4qH? zn9Q@`h6VH|)6g%~4ESm6cpkRjM?9cidK_}Bqzh+qY6tE?9)R=BC4z0IMjyIxE z0d3+o*M@rT-i>yEc)hXl_QXrl!`LRPYHP|!-X-|lus20i0)_1v=U&nztXVIzmF=`F z(LF{g#j&5YuX{z|&2^agpPkYFMprVuDOmM7UOm18yxmzgw0K8O9}#VK*DsxXxW|WZKod z@zD-xv^k1ZHf{56BO_p1i0-4C|t7L~IAF;{5=0YiN@xn{?G167lpD-(81l$aV? zay6vzLzv~qA~xSHIBet^)`ZcFm)ycE;}{ZE3tCSngD(|w+gNyZv|4s6r6v8>yeH$7 z14A<i|OJ+evdToL8CXQ-j=a)o}|?rZqMQ-aTf1YZ&M?5yEe$F{x8PO2l| zLjgX!(cFzSZzfE`)WIokN?caw;~}cYg;MeDV$bI8Kj(->!9Qf~vfneYu+-3TnnhV6 zy^f1JXi}8IZB?c=3c_roRq`wM0?b^j0IHX^I8Ny;iuYz9M$CRLx^m~)Yn38y=de~d zSdbLJgzndzy9h%%I2N9ofqa|(#$d#b>p&Ab;~$(pPJ`0-9R;;>m-+0M)S)Ay?y4?n zls_EJt-h8hY6v?I5CTKDXCd#o%)MQ2V7q1YatS^MX>k% z5XQovREP{8wfKKP`@1F$bhE3-S9qh|suE+7KhH`Z_UT^sp2{mNy3TfKbtSBs66cPi zFdMA%<5r3|)|?r4cJ&@r$A_KeSurA#9`!hrr7Kpsf^GAy6&`O6=Zv4QPZc8b7BlCY2{gt77v_ zGzqsBN#xPC8aohAs?B@U471}0aW)yVKIv^Tk7#w>YOcMM3&7(^mVWLqro{TGl~K&L zUr>&kH|k7T{G**sX8;718eZ|9 zjf8~-UHz$&x_-hA5=wNs5U7o|u~4e+ur$%*!3C;iz5lHB>CD8y58nq8wkxV#QeM@S z*3{nx!z&tRO#7{aDdh`6Q3;dA#|Eqzke{iDk|~EAXS9m885XB}`9bbJ(%M1hZUw67 zUm!N3MsD@gX!0^x`Koc(NW__TBeefDBI2Ao#K0L$JE@>dC&+tCCL>)QA0S#3c3sGL zuH{=C5TGZln2^D!<)%4ZlE{~IRLpU$;Y352iaiECQ{JTBQ_(ohqtxa?(oOg={n+ye z*7BWC;qhuxu7}5aMVZ_aDRFnep+&{UBquW;k+~t5ScOwT;ciycc!Z-pG8)dJaSVT^@C7~EN*n{B2|x6@5MeEW|mxQ#(aTpJ&$ zrL?rPVB4>6nr|f1V~9@t5N}1SQ4qxRi_fW6woaV$&3)0T!rW-K@6R=T#huW9G2f?4 zJruW5yki|YR$`15WX0G>v1xOg%SAmWq|hNu7O)IdZdDCB+g>5YjCHx;&J%=NTOot9 zGasgbE2Mu@=T)#M5u~49D4Q#Dx4ELfb7fv%4z)>BrX#Sj)xXyV)PvTewgeB95BZsF zW2~#J%<|47#4^imbgtI(w+E{%X;lnIFXuP%r)N=F`e@(U5%B1Ov{TGV5&4AVi6sLq zvs?xDSV9?ti-@#>yIa+i_-#gLJv0-}X2f|<3@AoZA~;$ITc2(62=|P@6*?JXrT}GT zimS*_avneaYui)fKUgNWG_Z*Kzd7exo(w*3Xnt}He%gu0Z?pe})y8>y27uMnv)(q_|)1@*P@*xN&`f!*`_qk^)dyzBizsflpUNUS3)&WbRhcxl5&!*UMgslh<2} zE+(phL%#eg_UoG$Vn-9$4a4Uv5Oy6MV7g|nF{K1=6Lltj9#EX}w9!bhM@1?5Icr`ldZ)=L0*^)Wl=!9y zTp=Ubxa*4rMhLvf;4QFeTezn;Zhs!T2B(G%0O!gTo?frjtN=8Nm1Ck*Oia8!hor}^m)OV}y-kDJ<{eK+K}gIbCSd|*9;1qO7oO@o6sOlQ zd&S%C#Z2(4Wa)4n<~Xj*M}6YRvu)nE%AU6;c16%sEGolOjp8Nf`j2 zg)>JLem^X=xN)^`X$WhQMI>1EsEEDWab-Y$pQY0$Npz*TDZfrkkWp#WW5kMj>mj== z_c*(5Ky};JBsgH@5-O?Og`c1#OdTQ&O^It=^VQ)saEPF&FrlVx9tny zvh;t_*?b?-U=q&4o%R{QEH$F+LfGj)ON2Kdwa1-}FU2L!ruZ1HYvp`v;h9Hw4)h@#66MPQe}+ z9PzuGO^sha>K|kNEbmIF)$(7KXkF$O(hW}BiLaHUdNIoOD3H0M7yfdGfU5+}B8baH z#B7TbM&eoK-4aYr9IBmg5#KLI;aaW^w6=VIj-4Xy2W9qDx9Z6DcP(D8eC%0LO{;a> zcw@ZnCfdXZ0DFOPgOpxg-uef}uG<5-$8_@DeweuN(0H3RJEzAz3I~Qwt^PizSx2(| z{r+OnyZTtQeML$WUO2ujv8Y!$OgW`NKg3s1VdDS2ZSs6_Mx%rtg8hVF%T}ZdfOyBX zA2(TVkJrn`qw8B0HX{uO`!GEeQiV9}+JOR24L7dC1TbxSwfw2AaFc+g(h9xpU%lqe zu0&iV`h)8UViU#OE$l@FxI#0-sS~9?R^1x&?{2ur0Ct0lpwIGu_l@f>5_&(Nj(w5i zGQtUC@Bt!sA;R|n!NO-^=r#X_W&?eI%w2wLjjH!ex8v7}35TRqVV#KT-SGC2k_nHQ zpdN$)vDL~fQET~x0m^CMilPJ2DlY;7*xR?TK%6oCFe4B<0iZp|O$#+9iC;t_0*VZ$ z;VtHK8)9fU#qVIxupy_5UpJcrqYa=aeZ-X``=RWP{>oo59WWZ&(8Zxe#<268X|IAl zYt(z@3B*~kt5+Zu=dzP|J|Z>>DoHvs;%g?HH-1LsW|X`$dE_wziAoYvcW7fyIQbAn zo;m&Wt*~*2z6;UqOK&_Ch^5E_->S0eY@$W4t4Iv z{pBv_a8?H7q|8YWCt=J+aISn!?`!HO0*7{>*T;|3)_2mBf|tDW5*a{?#{YSai_}AT z;3?mQ$4Gk%Uvyc%Z`V*>#AmJ)%J>SY?{j|HN9)BN`k#%=(Z1Ny&$T zwC2!})z-)Ch7n4y@a7N?GszDFvUP8=yG(??0FG)S>8+0eSAxc9#*;U3XQ+yCCNZ{3 z7lqs1i|E(hi*Zu%%WwJ0w;hD87n+X~xq4s;zXLq;oN(V`ot%?9vZ*}|>}JOYvvPTt zqoR5U2vPTwk! zETApvWq*&xyP$@7s&iBUdF&-@?z+fw^1EPGZ{pv34X|j!VqLw7t)4&w?I@c= zIEo2LR&$gahpPzO*?(1JSQXF{W04G`+fY1XKX-K_zxT>C7TnlUAT3e2HK?5^wTDB` zwxJw{=RA5f5tcvaf{}fT)FrU4O5#0)lwZgLH!q8!3VpH`4rG5w8%Z~`F(WRkpNW?5 z0?Ix10b$1cT@@(PP`FD~xk#_cs#jX(X#s0HG6q(-E3beL#&X3Uns3)$M`ot0&QWf zJb}X3fkoLA?j?Is{xBl85p*E}6bjD;A;YF9&&_y^QK}v%-E29k@1J%bt_kD61?}a& z+f;DMWsL8*L0qUR@jC*XvGiQRr7j% zwRBw0v`+AN%RNH*sM+5GT}3%VjbjAuMCGe4-nvr%rLS2>@CG!zR?3`43nrp!<}mkw z;*d~{<12EOK9l>f4>q_flA<=CRwe3p-Bsl$tp_RtRl9q5fHa?0tFxD*o!C;nb-+hL z!;E3TdwTSM^YGJ(M$^CAU&Ss}B#Y64<^hRYss}Nc$WX%rWJ+=`WGHLj=P?CUQW(f- z@rieAI8~k3zhb4JBfp_{(7DnQ!75(gkO<Z-u^#>nFsHx}Hi z@2&4qc-5u@OyNbap(yZIsp~*VpK!@;9t-KKTyK4L`A61$2O`c|a4|*7oDNmk<%NW)cP@|0Ewe9-s}rQO7z;m1b0rbkPHNE%K>jo+P5YH+ z`FVc7VQjWs)jSoW30;8E{}EH!ijG{&Yak?sY-c6$mQW+$Z1l!q-FvFwD~7Ta0~eE> zOlcpk2&r)C3a(btIvQphpz{og*?D^RLsF~BvoXpf&kjjt97$|K|hmR^(jOv=ivET&`Oa51OOpjz9^wSm#m8ZT_a!kamORRyp(9S=VjLnn8yqi)I!g|=G&a>)Wz7 zUHM1%fYWDP22Z5_<%?$a0sX0MxUi-zmdVA33mBBXGv#l~kYmnlX&$aCA-8)<9fN`hVkV4E7wR=KlEeY!nJN#| zV#+vEYw-yLJE?S*VK}bX3SjUaf%!%2H4lenpQFbZ;pM7*Y}Jx|{3zJ;-r*8tdREv?hNPBpEeAR(en>vQfASv|=L8vy4^5pC> zpR9i8=aQBcXwu+`fk&8-o*X}jdgdpb2xsVf_F}*;bk3dZw@hcI@Qn_7Wp1|^&%AJt zLXg&!T7UV2Ql!5o{)S94RPUIA&4bhSVm{z^i;Z$SfWppFVtP|IH53cD94%Vk950c? zz7r!T?jWsFqP5O#K%bD#&E)D9=Y_Lads@wQ6{J5{V`4Kuhp$fN6>C(WDp?VWQzCng z-AqrcFV1CxW4DHxAs;6*n@0K$HtJ1dSD_Al6(OljOTS3yF3XDgoNl49n6CEyhm1NR z4JU3HD1&z)rdrs^u6W;4!&5=kBe<(cHf5HJn&}#j-MfN+iej<>o=HfkwZ8v)*W}vZmyhU^=&L)X9 zal-zeZL@gGv(@;BRG$t8Gvy_w_H(Apv6um}NH}0sfoltwbNs1RZ(~z0{^)k2+BLr+ zs(!lYb~S_Lnrl;-^y>E~zM_P}^QD1J{EIGfiWX^X5G23J_n-adynH>*$Z&M^MZG3#h^{e%oq#x&ljcjaN60N1l7^iyF& z7*iNR@epd;YvEPA0oOUe)6xykjPBVw_Zy?t0+Ux-le0@`$fnn?j+bh)lC;!P%z%G6|r4oZu?8^?u@2rim->xOFLT25{b$W=kneWVpjlZmWl#n0*REST|z5Q zdG3*p<2fJvG>f;L@hs3IdDTajl`dZUCZsHN6t61qWIQQw4-Lz6>r~8M4w-1^yNy$N zA@ZlAcxll0fT*n_n}Q`uU5yN>@2STzdd;oEE?BjSYsRTO6=iAC1bJ7uqAfmLwNx2? zNh;TFO5DN}@<{8MD31_7kmgu&Rv_>wc3>$lJAQ1u&$HcK5Is?KSRW06j^k4vR`-It@03WQf@p#Xowl`W~774V`udCR@qP;l^vmXSY9?{i>sI9cN=-b%T_o%q0=rL)R!=Ao?7+H|Of&;+C0`eYrNBay|C z0JILw;j4rt@#vAR_qflF2h$S~B~e}HEp*e0^PW}zcV|YvCL=5F*R!*=pL{EjLEkN+yPjj@D5Yf zzDHJ~E}e;hh#+y7xX6f?-JfN+Ai!+SWS@vr1;%{uEuPtFflgiT08Cp-i68S-UXNGx zL)K%0ZU?pMHO|@>D9;49A7P)Vc6jt(lismyo;Ou_BJEc?ue>SQiA>%2`qRqDsKS@zeycL^6R0ESu;w+Rvo&do@X0%{OTxXVfHrUI)1SRfC%`HR*m+X?74o>&2o4HFK6; zzE)cPxOPc;2m6nyhAUhQDeL$3SBFIe0so@6o9<#`BX2M`vLNfq+`TNhFT~)t>1+_f z58D3co21%s{2M9E1^`6U(Hj0a=L_mq-)&2S%#K3_5-f(Xts4k50Gd3X1D1vYw)88_ zOBv1W!PZm-BZm%0;cHF|iG~Yi@8SP$=mGTil=mix;c=mJ7ynJ0pDK(Kh>x zvmxND)%o=2ao^2GBW%=c{5NI#-@E<4&dCWDV4Zn6%+jXUi=IG>g(VnVMZBR$*4i@ILjLy88)IGzyS*sOb zX+}2>6>tAl^1BfJMc0mL)=y9WUzUmm?#)|#J(R19P>e2BnFPgewBQQ#miZ4SMz@4M~fmNZ`?LH8Lvy=h0YyAN`g8O$OwV$k${v83^Xhi7_#l4tHnK z@9C_8(xyk?tE!@w=X9!oNBNf%`87=IwYFA3H&@r_xL?iV^>8I1{{&bzB`+^)Ib80H zdXTs8n^e19n&j)Qwe36wpzI7pZ#uHv0x-b=F>D>%%d&0es?3(T{~J^gfS8Pi6LL?w zzfICfn3a7R{I4y`4-15LD7d1@5tn8h&`pqEj2cScN%f{aQ!ztdt&DHt#a=W-m- zo1$rNpc8Z-v0ARZw=t&J_xj6Df4JE<voqs@&$^yj(~;FebshnmRbivoZoPV&f%5X@ z(?52R??b>VFpGl#OZ%N)_(n-yWZ&6OLlZd+Hcv87!r-pCW=EB%le}>w@TsApwCpf- zgJ`G{bF-YTjb6w&7i*9lH>>gXb?mFR@VkP`JT6K_1am?npR*+V7R~NLkLyfRWyi!0H_{RJ;|=d6 zY{wn$_i_~;pGQ&MOuE~o*+01}4156;YhTM|w1Etx41FFwpi4rQHvYF40I*gY@3Ka` zB0lh$a9Nc$|IStMZA2TbDyDq?aN~Bo$XTO5h3g5Di(mMQG5Unvkh=NL(1N?hJZ>!zarvl6~GuZTjdWKJYH&G z+AraI_kq`{{&XH=O31{01zL4sGtpSX^L;OBq24-ZHG9aEk1U`7l&sgE#J$t1ybWFZ zN5uaogi(pCOZOmy*^QSlrWOG{r~|VYu~>c2lQFG0t3xzCkHoA}2eDJrDPJ9UU3rX1 zU2I#DK#dnes+p6tv22|x$}DJmY;CF)PeZp95fYN?M^6(E8^YXt97^eT+GzD8$t?WN zjwf&GqXvv`Y?dN_CqL61s63mKFK-6X#3c%*b>j)pf(lr+6X#U9KNhg`W&ECTcs6}N z?4d9_74Nz|ugYV`aFoDB{>XZG(}OvkekR*)bH~6ByHEa26YB(e0;X)m10k(t3wV@y z=v;(7AoeN%XcCA)9_5@OQ;WJX(wdu?Yb|7;KxLByt6Z&kBY_iVa6&nANJ$d2$1S-(<1P(R9|Et$)jd}viu#DvmY zPMTA|CtYIQhBWHf8KdHD9p_6=vrqPOB>z(;l_!88n*j)NH1O7hR8;$?q$YP=%+|)@ z;^ULknnOk)u{32(4dS7=CZGR!=cj-pJ7#T{vA0&prVfF$bErJN_Uk{X8VGA0UICwb z@*E<1&b$P<0&Rsiq7YXYY*uctk8uM|-)Md(>E>=8*M-a<-C^G}T`&o_OHPh9Z%d-zdI4xZJJ#ADV`^!!CoucQBL=FnUykd;R8p~|j z0hQjFey2fCK8D)Qg@5Xv!%k?rZvQ;a%T9gnS@($8PF!P-Jmv%b+7f4p_bQr;Kd1QE zXJmu@rWb3{aB>i_nd*D#82$cDfmT=Z{rjS?P*Z!`RtesW1@{j#QW8jOPJ~>^Tm2

?x;)fHnxMOca;v-M)noU2xTSD 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 z ztpP@ZDX9F~gjWBNCSIx4rWqJEYE53vMuEh@`zNawMC%kZ5s2*v{voX7cRHEw9?4g< z4aaCR9yL!A*u5fApo_|~z3*SNB^J)lK=n0^{_Bd`cbJC(jjiwgP8KU8Xpe32sBbak zWkOVyLx^)Q)WY+1OTdl~X65wPhY6|zJSwwt7%G~J%5AiL+++UmUIAEkjq5g*Fjwn! zZZY@yPr~l&pR5^Z8r#7Utq)SHDvIAYG=hfNP|X+|baMN_cJ?*1nDa@WslrVO6naU9 zd{=aWrlI67k1?jKzZ{>C%*7JircPbRF$SqB#QOe>hyik86gI_(NQCtpBn=V~$# zgNKJ7ky6grjgAq0F&%aE`AQW3xlP#m*KLBDjKS3r7!*=cYrah(|H@ejX&;IBze`-^ zTSXS_y26S=ondDK2Jad!Up(2Eusv|^$$g5<4g5Sp=Zq}v-2$;RTwP-J{T&W==PLGc_dU^gR3xN^k zs_nUA90}e*9E5a^aOGj@Xwe-=-uI>&BT+(nL3a+_Cb9$3d(~)^{I(yRk)+I@oMRL1 zp93F*`raB$ET`owJEY{P_u=tnT@{K%2ctCl0s5O71VT>C;>i;oOQJpsJjCT8(swpC z)^M;OuVyEB zEbxH!yyn)LZC?m%?DC{iJDkZr1EQ;|D}2jdAM^UN-84{@*7Dv@Q)xaj%EkjR6u_jg z5?K^3yBBY@=OPol`k^}8GZESYf}Po9E~0)#wo|5uk$hL?)Sbu_0t(Y3BP-1>%m`4M zS6d1j*6)qvDY%{cgatZ*PA3iro^U+SS;`)^LufG?#KbT<<2+^JAQuB}_%eIP{IQ^$#o zQa9FYmZ`9jO}8`bXNK?=g`dJ(l+8t#N(iteX4^LSWaGZMvDkKx7M$F!h>=1KMBlC# zAil|=<*Rx)jg*KTCP#DSi~mt|^bgU2I_ZIGz#Hn{0nFHOfcQ?Hq;rKxm(c3S`bVYk{2!%SKC!zCjV z0p0XbO|dI^t|Wql*$#RnANaDpg)s>i*cL>+mKepnQhFY1{kC>Vfr%}O*o%jRrtVUF zDNQ#cD(Z-jKE8_aj)*d~Cl_@1SZP%aCK4qIE`Rrq$a6 zN!mZ1F;HBwQdntMF^0IR9qq9#B$4(evn^r=(T|{daA(S@1R1^d>TQAo6PHwiW^2VY#C_YSObx$_Z*C8 zTA#cF*LOWHY1KRZfS<_&smn0V7v9`!I~6BrLIN?~fqx8iqunty|J4rPAt>u?7>s7Q zRBi4|v`lW6K}yIoA7?S(87=k&DU_AC+D+yr_i?N@p-?n>Aq7ciCNiBP>cSjxluJc_ zmN>lL%)5syuIH(nqVPB{EuTj}`v-I7|7&?5j-$IPk8wZ$ywXxKD0o zNLanP5?d{VUn%a4H*&9%j39X!e(4RQR#orWKAb+<5zlGV+K;hgBO~?UPFU|=Pcab6}WNxlSVfga=oCH$ZM&Je7 z)(w8MDH=SmPy9-faJP|~kg=G+7gahxTfZ_|d|774-hj<0x_BPr)6Q#7vaPUik&Rjc-Squ#d2zmXxA$Q*PkK)m4@kYVh-1rCpb1_(u^|MGQz|< zAOq*^!!C*8ehIQ5PP=>Qc?!|wU+@A1&)zP6l3&%D zEUe1V?_AjS#3ZVhyr{GqG-wUWP|czga8Ub^<@=m$5T53K;&!5kz#8VW83h6>*O6-P zL@o${>z1s>JX8i`x1D{VdUjJ^AA0Y?`ae{(8o4y6NSpiar^U3$W_(OAygO6hnG@cI zfl$6w?UKSTFNj)n41S@Zsio7Ba2Dn0Zep~Ep%8gibwr6Xc4A7vZYOipC<25pd{zUJ z4yj^psXdiwhx88{W3=zl~0?ixk`03BJ zd&g{tblXqD9>$4{(-%`)`4mb7^F$hYlnKE3NZE`BQ8oi&E*R5SeTU)aKC`Fj*!0Go zF}M2NlQ@d|Ayulqsl3__$kRdX<}3)S$*{>x8%j*{?awdzWhCNMC^L%Fn({7q!e~%b z_88}tBE7z~8|-(GTxH_^R)|HG|0DjpFA(C-w?BieLPI|g4w){8y5qcO7DhG z!azOkgHIX2^Cs%n5kr{={0B+tR1M?6Ql}6eQWPm9BTOm#XWQV{iutK#)>Ag{OHf1$ z8ma?V+zr>A_|NIRjbvOkpw~w(IDu&-aNs2mT;E;BYrIUs?GHt-ouO(F#7zxs^j*h1 zFCKmkgqZF+4Qgf7MPTG`RWA}A%-%o-?H1U-dGQUO%`NO&K*#_-j}oU=sNAIwvX0Eq z5p@XKb(ihPLa`QJyTZ9ef=zGL)44`HxAc#buK_;4){{|j&@1hrHAHF)sf z&`|O|8bh12ei!&!9=enw;ugkoTsA`kk3nza%{SMI7?`Vd-Fo|>&po|=S;>un+d+_7 zi=mQTbe})MD$J)@gfs#zvYOb7{t@FR-quK>_%gS-3^|V(1CKSPT+QycSX=(FmhA6m zBX~}vM8^c|X7bS_pp|ax<7z9Sa_)=q230TOa_$YZkfBd`bob`|SdydR=&Y`_?$s;T zluppfbB*izZl5XhWZ}eLn_e`6{?@{tx{4?bmU+#KK~uDJ@7mA@js&@E4asql^E6+en1pyKNL9FZTc8b2 zk;`&USsEim12OQVu#p3Abvax*Ef!~j{LZJ`VH?P0bSLdh+#Wt?FDJ<$Som;+BON!i zI7lWe3tb`)MBqUY;a^gp8QGPPn)xpGtf}%PsgLB1#TpDKHSeZKzc%^`bzBt$YTwp~ zX*OsG?rV@(X<%`iEU3&Lb>e7N<&vI)PnD}H0OZvqpeT$ek+LNX^mFb_v@?!+>>baa zbYzg2xl#j-ZLnxk-)sJJCvHimS`@UZml z#-iHr4%SCU816Ouw8+q`&@v9970+JJfaZsi7z(>Ry#iW}a3;dVh?=RJc^f($qn-fT zyETo|3k7|;35KrDMYoy31A5}y%WSrWJ`E>l5v(WP19!ndLN zN{~@_rO^O_-e0osPeTT*4(C9b2g=Tk0fO51+THH0h_8q@WZJShG^$K^M;tWdV$=ii zn#KVozgA)=%!$d&a-@%1A{Vmc9?0g*bd}j7L4y?cB~Ud$8*a4hVP69E9x&*=C-D94 z6O(+3`qU5+m8Bjc+j)A*RuqiuLVuKTA1Xm#nNfn7a5v&wd5hOAPmbu>h;RggHr*fp zrcmcB>wX3FiS!h&7M0(F)Y9)*4OWn7jFe6u^>S;qRK*__rzA6_2><&=<~v_mLEP4K zMBdJ6(>fLHTpG@n6@cGWC3#)zX8;smo`_b4nKI(XT zh~mxUOxsKXBh>*XK@IQyaG!KsLNDzII&8IX7{N0hXQaZY?nfEyvf)6Nr4S;E95ol0 zdF{u%a9>x}Wb+Xwhp43V^UOM)&`j4_*T+VB&??$k(c<>h;}*E4%Z_P4L1GZ0k5EN# zNg*VGz-#a(^hd)v+%4q+`tg@2V{(-sqd9C8GTA$x7arA_GeHdTeS{^${j+i7`ptw2 zlp^fGl7d#D7KJ^eHfAGXLLo1Xuv=?~_-k>;z*No%;WEmVSFP;d@QyLaM-1V0eP0(7 zAGOramxG!bIQT60u81h0p2OwFLw>p(y*aR-EOtyd*)Ln2*#L1pb3$}33Q8>XFRo+L z&Eilh^(aic>g)qF`g$k2tJSuZd#=)CvEaPgF|Krg+z1A zegaW>!Tm)Oj6yl87|&p8z4OL2-@;MPA#~_QYjfJ9`QY`Q&|@HcIQgd-Py3fb4+tON zY@F>KBL;I*E8c`-Ib&xHAow0x6kaJGrnI3j?NVd0T_jiE`Fy`OTkaOkT&+}5Jzz#C3??C3>9_X6txwj8b9Rdtt z{QVT)Qwgu$t}a4?LvceC=^vD4jP)W)^)V8{@~8Gh-INXjv_P??@&C4g{Xcpz2!wf@TgY+d4V5Qh}P0|$LKcKhuC4{kAxO`)Pepf8)cDO0gAl8@ILjUr}?*b-?mYNHSx zz3&CoM?QThDY%c`cydDNvVb%899}r>d6+FQLuKjOAtvF!Om^>fZcAzf-ky9&7PTk^ zfgW))pO5dw!eif2qjHuXT24=AyjQlMY^jhRFE0xla??nm`|`(rL1=keMOx}|EccI< zd&L9w+GMVeLzsqnMR)81EN5I~&?6KaDoDk9#J}F4cbQ|Vd0016KdRS^&RFLzM$n)4 zVNY3}VmQXe_#<1HQ!gp=7Q&u*9)8TV07eXvSm;Snh{2J1;=$-I@GDgE-T_%AK1@}GH=&BSOZQ~L z1@%pN<$@=Q^s@()7YG>-M=8;n(!uqx^8P+9yVgD(^UaXLPRqy-o5(4bMC-S@i`Qf1 zZsQx7y*nQuq4}}4rqrh15W;B@xCo@)c!o+wD_K6L(4<(ZJlxGn+NT#X4K3R>3(=-X zbm!Jj$}G5GkG00k$`jsA3j4u%(o)TU&BPQXn><=@Fx(2{u4*RO;yvD1@}fe7`1fkU z{gmbUqSuwxPiIbAP8%-Edte0qg)c6*aBlNylAWGSFZ#aB&~K}CtA!#j*86J7I9~iU z&0iI89*8^SlX~q`x&?+fuzV_`QpAHiVY~gud-&HNTl7#DewBsZ6~1)@Ei2&!-qINkde8_MG+^qY)Ns<+Zg3LbE&YtF zZp>UZfJU)(L{&^^e;?a-H#`}4Eiyz1IF!}Ynb3QS=RmRov}+H3`#%y#;6E*)*ul7( z&Jc{M22IGY4jLsvg`DT;7dKBfedVf)dMirz_2N!xY(C7Ek7sEY>4czdE2QcsrkCAN zY5fn@$ZV*jj4qYuU|XD8oPmb#;U1cFVtTbBMJO-cO~+T7K|R=!1^ef&J%@`*P|T zPvo{e^RHLsLLlG6rg%q9{7(1oDi5b#_@Te}qgVUeTps(1=*pF8CY#Gub#u0NWO z5MCmu@&ImbRG3u2%^ZpIHI?-_6UIBTX@M{MAhh-Je^^b|2{8cJL;xSh?Js|)21*-= zSMAH~Pxyzz6f#!(0N#H`{Q*;##$rRq?Q4N;@``)Uo-hdKk+5kC;~`U?=<5XkyN$j} z1U!L31woP8sMY%C*1MlD*MT?x2Tj92Kmq}H;;JnQk;8mE|HZ{B3F_&y@2f-p{U7}D zMS+fq)RsVNtElY+prgF!_@FZTI|51Z#i#mm8)j(fN=6 z^IxpRz;XQP!)ydq17R2zFyTsE*2&r_W8-@%M86&He-2FG5}G=tf8s=S8CY*QoMqZ? z0>i~84Dj7q@8jFv{P%#ry1TC){o)`o@Bs%(n)jhDz!WVRH)#i&$l*cyOn-Z76;nZq zcJXJ)9bmU@1K!(8(-;ZQ|1>6plCbO*Hi)Xb1sOzUq-xpsLG8yEC3SIN*>BNimq?>e zQGYI7!tu-ZV;%uMw3N@tmIHk1`W2)@*sSU8|Af%r&;m(0=2$2HBIr@GquXxlj_@bv z;t)6suylLxmR|n)tTqt9l}ER9Z(LpAf1~2$C|>#L!S!7||G%I-mi^M$TDc!TN=5<7 z4$uD^X%z0y#eDsLyM>au_==iMZt>8ghN~d|w70+Z!&~}qJWlSDyA{6}Ngp?_toeuS zksMd}B^)q7)Xk{IvHlm|GTrshS03`Wv3<|)bAxjFoc`xWBz)#w#I#Lr!{nb^7ZL&T z(L~|K|&Qc{+1Y9u)FYil9GQ zX82SV+6Z7L7QB$ZX(@zPBU;K>^uzx?a{l-V?_Dt|gtwnzuAKo;pgiVUJ{p9{pG(Xu zlWsapV7!8)6hxHTg$^uf}Cub=szuW(R2|6Ha%$&WF z=4&LikRt9~^QgP0ClEhhfS8nY{g=t9rnSH3*LS&h8w@)VyVjqO|MmI){w0epiXP&P z`jZc_Sw?^s@Eug8069kM&e7r84+UybsA_K#kIYhZJXM3~t+o7r3WLEtcsi~V`rmKo ztMVXa?msMmS7R-ePd`7h?t0BC=MT55oc>}xlKc7Ms6!&xgwd&O8sHADQ&s=L)68Gt zyf~kT{vZEA83jPj^g2==IC^!qxb>%s&H4Xgr+Gk=3ghWh7VdQa;oE!*xrPRzW%)au z`D^6<`_I@1ew&-NZ|;7kKN3eyIfKdWsL1)qb!|uvU=%czlDMVBL~R8Dpr*aY|M%aj z0$2x^<^M@Q0_3~N1m+yeRCoCm(0IGSvj5R7%MyQols6(zosJ&)!+_m6amDfvl}R-n zOriya&eWqwB6IAs3B4Y(XJcRL@ zVg9#ppz||ExqG!h0{Fq!TtueK6&wxlk#5C${uvYs`66<8e-iTwU+Sbk%=p3rM{@i|&Xs|e72`p}M|M}#n=8OG{k&|FX#a z<699EuwVgRg^(94vXRPZ@U*GTbx6JGxH&;KT*gg&JEi;`&10#c7gIy#D$SPkzn z|IQ9wK^8gqrM3QfSO4?1@l`aArtP+qE+Gy`yg=-Xgifh3+=vKqxbVmmg#A6h?p#gn z3}2!D696aB0ppc0zf|8P_O^Gp8qo9n2ycvpkh zaUQ2@4j>KvJK!e=Ae6qv{|z|13$BQVVCUL@zamtORj}8q5^^wjO$7jV`2Z`20}wYV zA3bRP25}h!M2yXk+5e4d^Y`es0k?wd?_yv!ikhjsQcGQ(Rc>F z7~Ae@863nqlhn6B7U>5JdTk6ZzB46egBo8>8ZM0nNKY%*?76HDt6h~?fGJ%Q9hWLJ zFZI!zAq{!?VDXBNA63DEC|u~2Cq4ZuhfPGeyvmp>Wvy!_`y`$G6rDy3AUC{GwI7X1p5ygT|$7;7gH3 zUPJxDU!b2eQEr{{zTEoWv(G|aN1?*d)z}G;R|ANGaWorB6$1~{8rQXa0CCCwaYY%h z^!luvD*9&lyNKb8nt8cZVa0isAqS-7exWcR8fDnm`DBZ`0y%XXM|8X9F`6*O*p<(A z6&)p+-$4!JQ^N9?l#=Sj~u{BXXJiG>x zuiq|O9o5u)V>4ot`PNwH-E7>|2iF}7(ZhIkB21b8qJ{_d{oX5a9|pU!9CA;%dVe( zxcPITwvoYh^G9t~D3#{OJ@?LSlE+=@my^rS@;+?xuO}{ajA-*VYFYNJ@^xdn@lX&j zY0?xkPyJ*;8^~%3xS4IOnRlfTVz$Op`)A>Rr$p2?Y)6Vr7KF@ZX@?~ zqlhv?t`>9<%$u%Fz;iJm9XE8e42{Ra8#g;(dv}iC0sQ*&p@`Oc zk3-ccN_acQ#eX&2^KE?h`>_SF@eZQ{uzf;xnw zgXlj|H*mdwVE<`FxT1id$t?h*F~{Egd5@!=asCUH9ZtFup|N;H>aoMdM-C_UeFg^! z(7B15*U6*{ORl;iBHv&7b21*yBX3ORkt4s}jk=xVaj?F=Bf%LF*zoSaFv(3YBiNXL zU?R$fVlU9YD4pgk9NydqXoH|5h+Vqx_=7a*BGP z*SqgLfX5JKR5Iv+7Qu#*4)+-zxs!MWK%XLT7@X%Sn0Xzz3~b)iEXGHS0K3-L*u#2^ zY9BRnTPe5iLrc~ng0$mr-;7ARtdC2DOcdy52G8)RH-|DB6s1u#xq&W%1nv#=s|Twy zN)g@Wa^q|^W;4}gfu{DOPZ*R!xh2LRNdo@cb1fkwV=x~w{z&r7rW-|Xs+}KN^|&ea z?SoQ&5VfT^d6NK3tFRLtvbMC6)P;;g_jZ>MZb>E3Nz}Zjt%MJ(tkb1+chyzJ!W8Pw zc~lv7Zv_rx*_hACPCL8zvL3zH{jU9cYG5%$8E}r|IFEYP^1h_im5@cUe-m(M8)4T3@AligNZUba-dhj0;_6DV=5-2YC&>Pwj8eTvLU zsdWvZA)Q=8(9p#6GBKOr5ZuA1A=?srxoUaNO-!E!3jIr97Rh;&r?pnWXR8X)Omyl@ ztI?EBYo4VK+RHp&oqYIR;%KiQOckO>6=-psDI#li?VWaE=u2Rc95Lz>yc{y`mdOgD z!&UAq!iZu1`aEs1bgJ4$8?{W8zCSsYP>Td_uF`gLnJu4j*vX7w6}bhYU4Fh4uVl7^ z(i3-#D8oSOep`fLLr-p8IQ$yF6mcT%x=D79ph@+aIZLky^*;}GG2huoA%oubAj50* z_?FsfAk(t(SZ5ZLSnuRN=WvOOM8;(*lxI=Wd{pQbcrFYCLvAi%>`_Fr*kDF z_n3hbayh?HY9(BX!*Fo!O^-q71?%{2V5J)g*iYoUZnDGzH<56RWqpl{1_@@&MOmP$ zoZyDtq|dF5o6CdyBBsM{J0K~l zx{+;7SV1!rU6p8;==plizR#pz-(mZ?!9r(5xU(7itV@Uo;wZ=np-OR z>tTop3ocNkOviifqf zBdStYdLj6^JU>0(Q0&#r7kB~o!1_4Q;pQI=sn##!EI*`v=bL<5}q=p@?d@*xgod zU*FMPlWw37jK2d&j?hDGjEHpL!byME zJw2V-M+lBJc=tzm=38Ced%TQ>zLlOo{pBPmlDppAdwe@`i6G+ce0|noZE4I@Uhdik zg|rB%+ANYinX6CkcSCPLk)%dB(!X`HNuU`l=0`ZUA1Ge&{_a1Kc+lCO72>dV3#b3L zhK}ZHqKnDw62F@0NUtXl;m@}r8Q8a`Yq_@77n=6oFz_d-esq-zz31GRR;1h=@XQP< zIVrmswk@3+EndbrM0@$PK=_8+9L$Dso7z#(xJ<$y<)^@ zYZXNaB37u8pd`e2FRebm@BjCFpXdF*?{VbFk^3fhu5n)H_?(M|Gx@3y^l6CL?VQ?1 zlpD>l)?lt8>%d(1quUP$dDWuS#^wAsb>19he8=;_w?(OsVbwQmN})3$K>eFBe{NXu zhY!41itIWl-stqhFj`ZMX0zfI>QlLObEm!1T*hf=4?q6Wy(4XthO~_tr&lFBBWPsZ zDV#3EJRfM;5aPMP6}56{aD*%M5F>Y8cneFuY1vBM%$*Nr{Iy-MRnX$EC-{-{H>ptZ z$n%U(0I44ls-@6zSe6Ji%*nRAfy$`DL`3b{jy-s)b@t2noq9aw3XFAUM6@J{Xs2#V75^I$VjUL>jxg~VQ zL>O~|qubwbJmsGI@$FRM)z0;da2bZ>6XAFm4Qly&g9CZKMc+XjH?3sBfm}V!Hj#E9 z5T8ro4ntpvK7Qu|N%d$#_4rVo*^=Q{3+o$cuExO*Q?guxSyRn z<&((4o{A?s$RnFd5@UU;&>rbAm&|v((dxFHS$y;ehOp|yPl{!rl<}}Bro)>K$rFS4 zQ^S%q^moy4(SVJ`uQ?%`;~|i51SY=aw2xrk}&nc@`&@8;%6dI)$=4Yddt$ zhlBeBUN7>n&+G%rSFiwCk>F7};i4wK4C^b5X#i4+O?zLs;(t9p0teXS zfG3Y34g?Wj3ysYN676@|BLvrlO+E^p38z-H(6=o(%5_o2k4L?^k(Yvol4N=+m$TM?Rl^Z#7u9($ zdQd`AQbTM0CHL?owoaV+5qmcM-;@K|vH=w-d{hrz?WS0v= zXrUsa@{>GER>K?Z*M-o_A9X23%vO(v$+BFt;A%i4vV?RFYNw=Dl#}e7+ej8WD0l7& z{@SJCGNt?wdIWfi^k5c zjg`smVz6z@*5!;8=DXp#B!-_2OtHge-jE5kDzSuFk)5 zdWNIZ-Wr)UPrcZxmK^mn*X=vXeabx(j^#bOL!d@rFRmx*TbQ@Vqx-SW%>9(t%t zVHR;4UTAkJ#I*&{Ajoo8)goL|QQ_@!X0+@?nNe`z4(CMLd(Uq%_xwM7Sz$%QwiOd= zRkQ0;2&k)rIA-ul!ekS;aV}&U4*2IkfIx0!PmIob_;5;Hx3H^$UVX} z##efV@)S+!*$lBziEqUD!aP1TyOYk>Xu2@b$%W#4rOy{Zp;Ym7^+Luz#$I+vWvonS zCS%U&E-XaG$BHxIdVXuL8)?Ew;rJDDvIy*aaI@E~%Yz};lNk@3CN;E+C#e!zLKX~o z!=0a8uWXHBv?0Dd^PNPCWRw`!h(z*Em2on#^W+!I4jaeU3tvxN&)vRKEAFqVNJvmm zG4)#jvPnR0@U#x(q)V()rZnsMCV4)D@Qh^W#y#6+iBs0029b!tqwKuVe0mO|B9SSK zhb%POAWz_dS9CL#_&jt$6D|LuEwQFzVaGK8^6~l3&PQR?>X*NkYjA+XDycnj)GFI4 zWe2PI4mGWZw+&dVSJ?_v%$vP^}a-XO3TZnkowIxo% znTR)!G+4!$ZCNH3)QsO)ax9%Ej5nKY*$ymRe`7A`?6eG7!?>9DNG;Wg+^{pHHIEjX zWen{wYw$ufBW;U0Z8syu*6H~_6o`j5w3L;bF9nThQO~f|gNP$_t+DgO+OPpdNRvdf zQ>bM2###lFhVCp3-9GH|aCj`uOO=nrdpBR0hVRrxmX3?|BU;fzV}z2*`Veo0a^J<_ zgo^p;iMR0@4A47-;00F=Lw{kEJUd3ZrOI%~IxA+}fn|EUhEOBB%8NAJZ1;SqarjEc zVd^Q1C6A5ile8?aed=7-7_zx5iIZHo%z6?6dK$8;q$V}9^T1DJkP#1!oC?QayL$!nLfuw-FT=zPZ5XLK8DXKcI^EE=#o`>pr|j0xk!_{tR% zmN-SU`AWPY5$r5Myj`>UzYf3w(1Uq&IRI2N);DOi*nUG+tR*#HR?tbN~WdKD~*?+eR=*s?k%@PBFv`I`VW1-ULFAROCAtVVIByy9kHg$HKl}7Q4%fW($@l7)O~Q4_D-VF^ULME2 zswHQ_(`JHYn;oV)q~LEmmGBO^3dg2nS5qCj<}Dxjx0bA;@iU*we3hEdvlyvVhO1te zrl*ZzyHAfLBsq)bq}C0Fi6EA!H)$m&9Sep|>-Rgf2r}h-T)bXxJ2pJQ?M6kce^(f% zWI^AD(|gYvuR<9%#1nIr*;Gf$CWbLOp|G4-Ig~y7o~gN$g0kcQ?p?r>Y(oXKlfKoh z3Z`>B-*_qtu^1ytG<3p0PVTe?him6E$>73`1>&RHR>qG^QO_%FS&sUUZJT8M)C7jy{3F8IG5z zFHgn4ytml6ks#5So;)h@bWa-^ZacF%R@&(Yb6NIh|LOlMW<0$^vENp;aqx8`@i(4y z=K3b(BLzfanu2Sv@A{D4n$-=VQ;=2AbSICAPm|{u8x^LPn=k8k!-eOk_I%xOho72* zwi{Zs6odc`u7)c|Ieu(K`VeSKT28I1oIvxi`E*XcSYL!6gfxd zF}~o*7+~)1_%SgQy58_&0Avn0M0d^@tT77laRuCFR35=~`SjM!<{NzXazq9lgFzVwSz8;Mx!OcV z`1>zxDR9fpDFG5M0v{ZPQ)KHbKI?r>Nu3Zz;Q0AaF}2E;1(LF=nxF!;_c2{cXc;7( zidVfG`u$$B=4w%3)RaxZh1J9G;8-mywYR*Y#hKdWGQpy1b|~#32O8%i-LCT4CBU?E z|D|6v>()DT(I7#I<2wDv{w<9$X3v`iWP=%{jRv8@RUmKGSa+Y56d-JQLH(JxKXh@AVpEWyuh$BauM2C z>6{u#_lBCtHMJZDf5Bn_4lxfSYVu^b1ZnJH3$uthcS-}Kq`~s@#}jhBA)H<8(f$NZ z3!x#u{#`q~?$+X)0?Ebvg9p>X&Zsc=_PZ1&P|`Fja1a>fucGz5?aE_AbtcZ}RgXTb z$CK%;YWm`ydRT=tTgaC;dQA+u5*m)EJ!DKPunn4_?L5ucTao2o7PtP^)N?7dpw)XW z&;19$t_{|1_k*T}qYn93s9?kxTjdLi^pA!wV|MS?*X5tpT$-FQj^40{QouXb2HQuA z4S%Q`D6fpInaw>%$^2+@8RqqEy4~#dv>EyNfh6(quttrSb`~zj;Ms!4+S;pBm?Z?1 zMKOMh{kpam&Ug6RvsV>?#)TWDF|RdLC@=qdRmZCwN91otaAhzr)!>n&rFOsTspA~# za@{)~Bhj@?%cB*3?~M2VSx=PW7(%~r_3aC$gG@42G^bCF+#d_A)3xBQz;7i( zZ@FEu@|m(d%9FSOfOf$!S+7RvdGo3HWA~G58)(uZBWUV<#EO zv2}Uk?KIZfJoFl>|D&FFkt-9=8sXI>dDx-g5d|Om)g-qqez;0y7Heh=4|ewLY*y1$ zW^7~pT+}A~O-ME=TJHON)xewN`AOb(ls0M1-O29(&GFC!nho<`2;nF}hGNp^yzD5R z%b$CqaeTql6p#Fp>+meAY-I^k#`*(SK#A~Fn3O7ETIT)q4G7+P!d4Ud^_c@G9Zrnv z7&|oQ)oV|zwS)SazqVOv7Ox+?x!jFkzV?`UsdCXjX|lQyMBW&!xP54TDNhOO&Ya&U z{oH=-+)!;K9nI^|T-;9n-B8C?bvY?k#OQpcjfc-;`mBSp_9^Qgbyr@GqR=QgztD${ zXpEL=VwOAcnXWo_9$8;&bF~v4xZG=FIsL`J^|7Dp3LoBBMgD5@Avb-$@5`lKCV8@V zy4$qrC~9#Vx;4*m{Y!)DhUm{TzF>>wWq3Fjp6Lc9RKzAF&Cnwq^J=n^HM(E;Qeu3E zZ^w1&1{Xg4T0s-}aPO7DMzMq?e;tvj?YJmNEJTFaX|=%**&S$fQj)S6C+5W zdq|1to4Nf%1rVCvfgk{=wlP?#^|DMuJoJkc&n9edzKKA`4yH%szz^1(Gwv*?88R1rDTr$gIKtk;^neI&yO_V`3S=aKnK@|W|EYcOUxny=?|-%$Z-V6 z6FEJ7wKW=6-#Vp78N-b#ZPj|f@Xt;x&tE#Rt6(M(qFdQolJqFgUTOTAPPIB=&F}F+ zNwbhan78f`<4o3@X$p;oMq{ue`WnPZ2)P!&ipu58lD) z`33rXQ9~PkOiDsDRybqaQ7Ju~=z>zDsA;jA%^c@LctBVBcCC;vSJilpe_LEa_>vt= zZa5e+MAnGR8D{!i446>mL=S`(dH$$w^egmF{WOZjK^E*>`=Jv+i6iCte?n@0(@;zXV~)V^PpD=)pI*= ztpO8oa*wFXsNB<0Cr?ztLB340?r~bAsHjiBLQ=eEQr~$Uq>)^G_Q#^6sTkd(ITVHZ zYF~VD&eaOeY09TZZvozH*jdRtL#w89Eq}=Ijl4bqR7iPixmD@Pb0WxJ*~COnZh0dU z2-h=M_IBB8PSs&08i+ML-=q_sMT5Tik2#Wdsf8&oWue|y<&C4Axi8*WSoXMqErsny zo{8kuMkhyra(T@weL}d48%F-d&~yC-l$Z|P>T@`3<*fi3Sj8B^`uM$@sxtZnUHmc**9kEd z(t+O>@%ZRmdcIWHi2v*;59y;W@0sz>x+yBTKF}?T%F$sjN0>V>X`-z6&qgQ@!HNbIlX_hNusMt@|*! zc)ZX43w3~9{wsbMVa@telIUiplHIvJ^X~Rs+~bHg0bVUHu>(D43QFdWzsOv%3s7{r z|6yu2f)evA{EvhjCo$i1ayr`F0wS5D?%zItP46dRjdkp%mL1ttB^bY~e04bY7h7zY zQwP^`?joLN0A03aKct6vEQwUaO`H%UWXS?ETPz{}>DgB0`!|c3yYI+ddXcyAL+Zxy z)0C3+0y=Emub~PiICi$MMj8r1)iUI^9q&ZR3t1k8W&v+s(wc|<~XmsT$DaxorDV?fBQ+;X_Y@uQ0wVG3yUN0kUcVtw_qRKqgQ zLkoM&T6((A4p;Vr8SOn-#mlUv+_ra$Z#xyFzk?lG@DS!j`5H`$h{Z=63-V5VgsK5i-) zZvuD!kl3utx_R<5wq5GVCr3)jB_gQH*mjUF0}`rRpVfP+DSsf#%<;vteFPMqI0D?V z2U5r8kH}fp*LJS%aZ(v22)4Z;76(l+JmwbZrlMtBFuI@!jf$$M84{~nSe4lON9Sd)>P{*DUGbx)%-|mcw3M zfVW2Zi1#*|3!OlGwnU`EYmaGIk>fJOw}UW!G(m7mzxVLd$8L$p|^ zY>y2m+pSaAl)kKhDCN7314PS~p(*;=0a^rI`+Fw)YF(W2LCBl}F^KHcfc`|1=JD$>Ce*dNk%s9_{QStv7;UE;e-uFG zJq7S7^IH^<@iIJ=G^#$G28M^_&WKYQ$UOkf92|4*liL{X&rE(MPi!T(E3}xH#6{8L zjWrjPm~EH@<_N7Ht9;D~E%NbQH$qdksn^kRxaK&|fkw&2{;)!E_M_P7I5%?1`J&kE zauM`%cmMk7$NYA8g@Z*C$E>pav%Hf|#YSM{Ppvw0$^FdIxG#5XGo|v`3524>IOTJDqdU7)au(tRwB=?I4|FrVQ4^yS5sRP757_BmQ1wIN1K+1OBPQ7GfvWfTol09tQ{f+5mwkwVPoJP66inYlX=6E0v245g4ADqwT#?J*l~hrBJ21akIFuCv z`(kmhi`Gi1i6-|TPI~_BXRno*$;+iJG*0bRE+ME0CBlx6PKH43c_yk`g2%wQisNLS zf5OTx`k*<)mJYc_&?4ri`PDqB96Hj-niV2M{p0AR%BDi@W*0X}_fZRYj)&ruaJzNZ zlJ{6F(Ra%UH)mfX>VM$S>LVbE(>V(3%g@XtP^aD4DK%$P8!qXtyFQ?F$Lfgy$t~;C zd+qcNsfO)mC(0*UFCZGiXAgV}nx?JZQxa~Stw?N&XLaK142elrf`2H!7A)G{cTg-c zUP&v$CYH@Naz}{B}G|iwgGTD7(ZN zE@d@wCw`}ZZm8m<`=ja04=t_-L&RM0E&;m>$~z?@cW!mo_)n0QZ^OPwaRr{*jvQG? zvk0uY);JE2toVMK{qUTHIV}>jEsP}|wkc6a!435G_KYo#l?ZH|WzKJE|3)6=++)*B z3eL#oa5i}8c1vF}jskztjCE({DIM~egT3s)7%1-kF)p1FCXnO&OX~zgDNdO??vNfZ zg{4L*5=U+gN8MzA&76Db9uDl9YN0%SD zl)<4=;Nk47?&lebGvYl$ts)%+4fEr&L|t2ZAgl;2|rf?b>qG$%6}P~m+jx>wzH&j|3}Icn=#}un#kT` zhs|xl_S*O9e4FEjiivx#&RFM|E;l#5@M#WXy)14sxHO85637(<*?%DAV4L|FPtQ|6f>P< zb)6JYCc{6k4uwflBHTEe7>X$;H@}xV`5E1o_Thl{ag8rnK+=OJ~R^tVZ;zex{L5t{^A2IR}$7p5`Qg-6%oK9SLdFpS;=2L*S= zmH3m!$Akm7`WV9buEdBri_=d#4Zgy4>Q%r|o`d0_%jWPn&1$Y$g$RJ7%^~qgNk8C* z)i^-XOX|()G1osu@~8MI;liwDQrap?o5>yM3(baV_M#;Y;(}1OK=(y#5Pnd^37}_R z4BpFyS>V#xF%kuR4b1EG*xiZG`79C}wY_B><7`b&`jo1r1#F71>1-*rmzxJHz;hbq z?=NnyURafAK9qQn_lVvniK^+d90aRHPcIi;XlKA^UWm8SU0jS82i|0O;lt7L+D|lA zrOfuERmUpd0KaoS!-rRn*SMq&7&w?3cyv`M4{%4j*DCJ^z1R^GpWvw4MM!t+jP zb1B?)`59?Tu2mN*T4#$7%#yWNa!#@a+gS1TnfK~JyQ%xods(Xz`v-$DXj1!m=T4VE z1Sm_~85=B$r!~4tnAQ*s_ehGsFDpt8r~TGr?5_en#vX3sc^&960+9!D4|C3Z&r+;; z-z62P$c#DWo!1e++i)kyGOCDY5H@+HfTz zKP2Jr7nGGMm80JqI@df{AKo~}t&@->|G3ZNq>FOp>`*58=AO>rjYIm47O6c{_90|8 zt+%#sN@sa*VXSilUtFotsAqr~9Cm-}-+;7BNh2uD|k@w8xr=bn`(wO7whm<#dmPl!G%3Nhot@&f>fZxkg3>vtz zN{~t?Hw-q-_Po$;Go8WKxK6f;xeqw5l0gYqzKv@M7yo>t>=-bP1jQ3s_nytXr;$cs z3-TZRHro-DpN4dl2D5kD0<#eEd5Xt=kKxyQB&8Jttj`rUvRftw!tdBpqp0{Huz==- zu98mFAn&!$C|2G-r1T~pnD(2M_QHEpkQt-=Wazs?zy^(EI0&<5>g>oP@X26D38 z6g87?iV`e*hNDtuhR>$_g*;szzsrC92BB_!*a1~wUehERxY5o4fyvX+A_eB(ehY~D zJ!m@0Go&m!yQ}1Lzn1^^Cj9L^kKrIChHu?@=@8MIVQ#A@KH%b!Q!-)*EIo`Sd+VD{ zn1_;Q*ZcL`zXmschW|8xauvmgf6ZWTAO71*MuYY;1coM3t}OquFbO^hH#BA z^=?dZ@A|NbS*VaESnJt#elll2iZ};*%NmJ<<1D68ZIvyk1Sn)8~cHgL1Q3u<0DO6u@ z|N6J7|F`$MG^J%_t+MV*yC!VFx|;1dv?2YB9tq0(ACa`{EU%)QJ2m$|C+Q40NqR0O zy89HiFV6oUnfsTglT|bsFpMA{FrLf&0<*dtsCvfta#aTu#Af?&3dw&Z?azGEXu*8h zQ}6tJj{kY*jmq;f&nFv;>oo3M=LiIwQEzLxy-2eUDBeck0b{cMHp4aZ32ohxB0gK=dPP&q z4sb08XG1LASFh{kLQM`+gYZCv0?)JTa(10b!?25PtcF>dyoC z!2=9}Z;JohkQjsB(Y)kBW~#|Ot!G7{yg~X%C+Nj&^)+IDIlgJA1Us95FMaZF%M+<` zFz7ZR|5WeBn{hPKj3<-c=zjVB7d(K7bWV=E{l7@>e_cL5Op(vhTNRO*-RG%=tGPPM zafURYVyLmt0Z#+&?0h&f;5T#rUz_vS<;BYnPa)ZYodqB;H96vJ58nq^{g|3ucU<4% z;tIhjvhohgFCHNCVsF!5=mWv`hoJt~aDH8;>7710H*!9r(D`ViHw#au?v|6YGjVA1 z_d~#zzIhC&@MO^2%70%Q4T>JrpvQy;?nM|BVp8 z*8MUiQl8?l?XR_YGVM$mV3J`TasLTL$^f81$-j$^Pcx3jpS*sw&Tsw0yifEUIS-PH zjLZ1LqZiP}$KbfpT&pzEe?8YjS^rK`Twmogg$Nofku==))oO+ns(s-AI4S z#o@tp;?`dW6UsL`aK>y;~IcEIvBwh5g(eD6>xT8q^iWj4DW{#&N1wUT28*! zwfy|#)vJv^66o*3JLqW;aK|}ma=}TBE*O7ei}~i9e&8_A-b~if&JfsUZ*o)i)||kk z8qjFi_0rc>e@$cjHqdA)wmPIPkapHJl};UIV7m^rZxp@U%e^z(Mx`C!y@1*LN{uo& zJ8T8p`Jx=E=(j#liZzy0K5-@X6g$ZKVc(g{-hK7jbN>8DA*`NIQ@@H9KcyozU%%7J zft|C<%71;YBJu5Xnh&ZsNn!0_X>3m$($sTf>6}r!R57CE3tE>)+jeiB7H>H|>-velR+Z zW!>HI8OdYo-PoK*`9)ypyHk=^x-y-U)(yCj{Kx;1dSqy6OUuh!>wKFP5PPSM`r;UX z43F75j#MtciEu7Dg>2VvLVXqatyo7kyj9&BC;WaA=$nCFCv?NMP2kf4*uq=J1bO*7{?W>pLalr<4$thzR-sbC*Uc z7875s@1^#)zSsGAtG;Cf-O!o%u7oy*P-_(S3Y(T6FMv5QfTS#P_-ePZat3e@V>_k2 z!@*xz28``hPxe+B2jd%p4xv7!MEGa|z{B)a=U~|a$bm;iKp+5mI!X;ea+W_BWmz{J zyO;Wp0?$JlC<6Qu&LE{5)g7>25|_~BSla<6rA=5|x|O^6n>Xp%0qNAo|?KWwgjNzu4M+3H2`81R=z-f7cK$@(7MB%cLMJ*_=fFK<54!yyr zNfl~UQRhbtFJrj?a?v;JeTbvp{$5*pRG9kRh(J2Yf=Y!QWx(3Brx|0i11+IGmSfSc z;7UD-+&nPe?Oq(G{6-vkFeHQ$7S(1cJ?+inM`Y1i(;$PW2fb(^;E;=wcAR4$f zUj$#Z&CdS=&;6%n{rmGhxnGtWejcKHd@llFC85iP3+bI2QCLMG_|m*t8~3V`G+#ko1|I%j^5Ab z!lnsZKGxftgjs8h;OdGF6{badol<@CPc49?@VB=_^af-ueU|?Y3EX;0`0<`TzO(c# zz((6v@&Z@dEZ@++(^!8G+dZq`v|<0g4EX+=aW!_`kJ3%bd}HByu;aeOABi>gp|h~v znW$a~WoerJJs$gPCXd;>8!2e!(zr3B>nCdgOp}ax}IS9dUDf-_2gms{r#-cg% zR6X~N{qw*8OUj;ms!FhlXEb6JGGn__V8%)Knki<9s9Z{Wub!>MnN<_-k0)Es^;&af zdk6erw(OYgS++)Xu)bbR4Eq6X}3pa_SS{?Azrh?5d$@zk8LCgLh z{Rc%cQJ_cOc~<>6(YrLMn5_ZtCST^bQ2^@IKH2@Lzw@RP#LTx3qxUR)lnk>;VI{)% z19xFxV1+_0XeYLQK`=mCn_$BSP9ifjLs{9kZiU>d{kmnh7J+nX+w9(5F|e+W*TAB< zcM{+oP^P@yHFW$i+?YLY`;hoXpLb_WMpBxHhH@+Q;tW4M9Z> zl$&Mq17WHx<-RLZpJ(hxj}hsYcjqyr!H0vDe{hQbLzVcgBkMlrd+8oeAcVL#0hW)} z(6WP*E~VH1_-)|HpnlOIw(}T*HnY~=-F3;d{F>I}Ak_5s@IfN4O>0TFGPk;PGRtst z>0R5;oi#LO*Fevm=IeHuD37{zAp;<+Zb#7f4H^72PWb@fR+f#4!iJab20Na%%*CAjcMr0`KK+ zh!+~uZ8zd~E56Fv-xS)N^{%(Ge1@L<`Q`>6szcvjLgLEh&TvoUXx!Rid0Qd#c#H^X z;s!Z1?1#ul?=iT5(52$hd@cy48wlgjMwZsp`FOFf#+IAsQ*-OA}| zUH6TE%>rX=6TPTd_nacjzy^2w0RQcaYxs|dHdwJs*W0S`^se^wRz9M3AaS}k*MthT zvi5}fBxE`n8o<9bm8UG&Kh3Njek6|KVm&U^d$l`oO#EI$^1SIkns{ld&->j-X_yB- zpA-x%Fx^4gbRDjTj$5t6OOkhMeT zInuHFvZC>Y$)L#mJvKRydmXrFEkxIlT?A;=dme-kIGK`?3&-#p)^SFm8Vh^A1)sTB z$=dC`QJ7u)u5hVwmPPGDCVoX_r^n;-6z4p*WHf#5D&^#kqJPdOJ@tv5KD+egW+N-s zlN`r@AI)70*euD`c$_x|(?Ol!O{r&qRZ ztF`+6(a!sNoZ>PG#TDT4;0P#OYgkC=%ibv+L3zJ`+jL||$)7%2Q6cL5CEOrtUp>f( z`o&k*Y-y2bU>@ym^%o|B#2Qgn#9)D+qQc6W^HkDKcHrt@PT+1pCMC>m2DuxDM!k$; z?s)3$vQ*vi;S6a^8P`|@5@|*}@s*S1F56|CJkj-QnVKlNcBYtVTBHvp#=9HWWNeq2 zXlgjt0o&P>#-`e3b(-G3Bzgh?Gbfqk5&CVyB$aPA5>s(mkov9ZLJ5AgJp?Vq6DKga z^n#7Rvhv9T}iF*9C)svd$Td2Q}3; zzI(4rx_9l_nkjs?#YzCfG10Pff4K)tTmAy3f!z}n3N%2mfGf;y<5XL6Ox;y}0}4G2i4zpe>K+S-mn$p+jN=a*z@;cIiF@ zU2Ltn)fJH8l-0IPCdRjazN!$oqdml%8IY~jn4G!sLU}7h%(aPBgszR=-MMFk(+3@V z>4h^^TVvBHf}ID<2>G6jD*3_AC$s!8$ZhO+V?{~LvB1ggI@HQZW;M`_mg}?di`0Ln zAex{%(JbFlJBmOYi${p+@$!QN321#lof}E+i2olz^w1vNpyW?bVb~4LxRl&3>fm2@ zrlUl6R+BA9LBc%sx}A470}jFs?Lk$f@?=Jr8x1OEj{IVp34v z>!Ur}-WzVfmShsRhThk+6o1LL_`KY4vLE-ZQHtF3gwJXFN*iT~+Izd3g*&_n0xy6S zA8g1PzGqz`P3F>jyaShU-Vr?N;h~w%NcNrO?47Dop>9-i*zOup$yU}^lp%tFlWv#1 zix{fa#hlOY`_vr8g0Ngx-kB-M$%Y#|rB11>kv5UBQ+T)ASh;|%DD1;>iZ&8K%cPQo zzCe}=WsIBn?l(7y_P@*P{X65A86#y8!Y-0rNaC1Zp@!3vs}7-Vsd~O?&$}=guN-hO z!Wlw8Hxj_RertcOAWSiM&lKtNxj=^$DR4W3*(Gv^YDBXnbKXArqvFZ9ABlh^)CH1N zjjBEDhc>x)2oX(*hGtB-e4{D}#5@{!F5^UtDWe)4SxF*T*CJN?0|`Me$vF8Y+-apsk3RExq|p8 z*qgu;hZ#Wj{yu9XEqui9Zb%0@;nlXAen>eqNh3G%D;K`78-_x52O=hZ0xLC~73O>X z0|;^4(|dc`z1&P4-o^oCI_wj<<}2kS2v?6l`gb1%mI|crwO$k-fzZ1>=o~0tyWF~Y z(;t-M0!RRd(y~C{U9yX+P>pZra1o+~F1q)l_z^CJb9Aqn1#}|Y%N<8gA~(yZuX)}9 z5eXPj)Y&L=I@s3Bd}U^HTxEUwL3>5C;_ApMHo1PwpxozwIO85Hv$ZL$?{Pu$!APZ# z<6LkcxeQL@R|pKxdy;VJ@HZJN3Md~U?r_vlv26$;|~py(1B z(veO!SpAW-Z%6;lsS&ACLJRO`V7tK@hVGKr7jxQD#I55H3)bB9hYla1fsvY6n*{I~ z>=mP91qof9O0@5OgHhuhJbU}9LSo=nUa#890)vFB2S`B20*&3) zK0ppIi($2OhFR`A`A|;eMj=K-xXEF)eyhtlBDxiNd^5xIj{T0w`}t+qwj83lNg^J^ zq9v@o-cEprK>hm@iviHG0>OS^mt5FAfdz2E`Tih_tr2?BP*xB%mWE@N?Bwt&g||Gw zAo;d1fgA6-Mf~GW$x4jaQcM95`H-l`gV0k~V*EE#?NH@TXoOcXCWIQokPSxfVcbP8 zWIn*fMP4FKbc0Ce2<3V|uMFFo`pq@xTBEu2gtihp&suAxAazU&R6GRg zq3JQivPdK7bj`Mu(cfd4m(V43?2hZcs;Kn~8GROwwi@d(D6D5<;FNoIN_F)t)7P^` z-_h#$I@Tm1Cue9&Tk%lNwc_rqZhd#dg>Q^>gy{yKi zgfNmJFO*m>p#ea1$;_?{t@N~=X&_yd(uW(AW#u1_75Ya9TF}zj@nC!gHIn5@JQwFz zA14170Nl50J={KYX}&j15+dx|J3 z<8%#}Q)gLOe+Y*-k5pc@a#rH)Jn?sE`L8>B-Z7p`cSXcosz&K>k4r?%`uZ)&HmJeH z+gkf}MRjV!+cP9DNjii77pDc~Uv8kX=!C8*LYYf9kSr9Q2EU2Vr4>jPzt${Y&VO|$ zdC>1cKzCM0YEL1#df}kw0k+H7J9TW&1C;FD9{1+v{{F}?1Jy*4x$9%xpMb>wx}(2|@b&&Ny1(fGn0K+GH2mKt7pWp1G%zsmP~Z81mR*yq^~!%n+#h957)Oh# z8T^C0c7Mu(6~(Qz5Vd- z<1yTGzJ(D823oj+d-hfP|9nvkOeW+&S@pkvnLX%Y1pdv97he<+=cAIHkIV@{FcL0* zvBWh-pzuJX^7;PRqS-TQEnj65BdKcJl(q!G)&Wc3i*0+0*gNXQqoG41>|mBg22eLoBg zUSGT@{I4_qdM*gqV~NRd(y%ivGM0C6^Y`A`NdS7ZTNxTG{0&!hGC&zzKUz;h0~AF#y?6i8Y@T23@aVL|y84boJe?H81x zVeJ1$;yOqqWXj`q&XFd*nywI9ris5?b3m(;qlB3n$RgTFbAN>zTn6;2TY1~)9}%0q zxj(0;$OoirbnpCGj`4a1@bge+c6LI*3J+0R{p) z8d)Qt6+p>D*f|1r4TM#8xluO=cJQxC?)k%bB2{Ad#z~{o@^9W-70L_8?m1=N<;nB| zeJ|IgemT`r$D;ucyY<(j{;zr1Hx%)aU;zy%wM`F-69<67-a)mq{tCH?>uXPLNB#di zUM!XHr3^9(r$nrB>5|2T0u6kI2I)gG(ZQ{+uMd|$@BNGL_yKimpG#8$0gdru&vzfX z+{rFc6ZK2Ae_iKIa`7Q%dZWht{ZLpG=XudI^pe<1*#>H@yVz_W#-H zzef5$AFeY4n)cs|nYL3}O(lR|3XA2C1~V*)pCLGb7@jnm_eJ}^a|UecS+O)3*?Z$E z^tar+WJq1|mfc*nE)ePBb;htM;M)u>A^$9X>`ILS7EGE+{e^#2?Dp7~FD;wp`Rq0EFYx#c|86K0sZ@WA^LvNNIULC56A^>ETb0 z`I>-j^z%V4W!5`2%EQB_dsn+Sj^PEC-kaq2tT~Kkefb}jr*aK|)!e==dcd%t7p`@W zuau!fM%H}?IB=5=VBhCox;HCHU=+vvplROP&SV|^F!Tf^ED8I=*M5s;E{gu|_7!2&eBh>Y@5GcZl8mvT+kXYV>m*T{tj zY;S5b1|Pf*Lh9ZbAvSH2o1f8i*NJss39L6LcJ$&w&kYtj?@pkU~@F>pd+ndMYk7#r<6oI5yI3A5o z77`Xpu6Pd8?JOG}2IT-7FkIa$-*M<8e__f@zt*_fBF5;ogIXHch|fx=)Y^0Oz?sis+w)@6H6i2n-ZEUCxdx_`#{H zOP6K$Hqs|xW#r{HZs>_!KzuPGy6msW=-EdP>5=ZZ5$-FoCr|8pJ?h@p<3eguVb-VV z=0;B37T$}c-6K?9aIm94UA$CZ6Z(AtD&-*WaVoxu;k=yZ;h%W!+2<3Gow~DL$3#x5 zmiI8EEFddlI5=7>Vxmj3eSX-lPW|B0pIz{(*^F&)pDR6I{9R;zAz*Hr$~@oAL?}<) z?F~HPw!>n(Va8YYfnhoEm||s?qOy4?1e8yG>osVwbcW|^1->fC>j1iVwe#F%k1_`u ztEXs_{9E7MzNSBKsKSe=XVhV<9dbz;xaGcXB}`G<+<0S1Q%rkan>n=do~z1%H!XSt zUM26XD_0)1zc^jm*gR%);-&--Y1C!3EXNx^hD|ht(aQ^K`b%A*-UW7_P6nRMu|=*> z7<#fi?RtEybn%p#cFFbFx+(|noO7dj-Nu$LqtqNDN{=cCGWkLFqCgih&Q=|-(+(fL zc$2$nVQS#&EA`>K6SKXq7LP`CN6Je>1D!sU__ur^Er>cj|3aI^e@isW5zpux0X$@| zGJ?d&;X5u0Bi?KZpa!F|9-o*_k-N`W0*|Hs@rw4AX5e%hoWaXqKqQMspE!;v%D>9o z2H>;G(;tkgF4XR{ZU#T$EUD@m9zGk!kR95k0guOK+7p))mpR|LM=?uAsGjY6ZFWj} zXF^+4Q#{YuPXfRxE}y?eTg%URihT5oSCtTGI%&^WwO&Onwlv4zKAeBlwnnHMw$9uzi&S#Ov~8!UMBb8wPX7+sU*^%)J{+7S3|( zO+1a#$9n(LRQ94lIKRF#dS$HUXqbM#)r(OkPv=1i!#Xr9{YA(D*9jnYM1*e52Vaq! zzCU`$B&*0r-RZb|x$WYxUapN{Fg}!aQeEFq_0=tJ2WcOd_>;1|wb9*2@kVz2)enxB z+&rsOVXR5M$ISRns##PnLGM|ao)wej6j zUV$IV89pyb&>}l|_L4)F+0}h)YrU9oAH9&C68iVpSq-abkfXsLTJb03E&b?!^XQwkD# zCmxdss?knK?@EzE`8 z;?jF%+1NxpsgDxD8#|f`kC8Ig0Y+ny@d~So>PUVj zD_SNr;B^&lu9u}Q-79!rVifms>IGx9MN=G*3MS5Z>lz!kR={gF6pC6lx9N`yfJid9)Hf|q4y#+^o6|SDE@JGxnW6Z-m;5H#IS6jzn56Mh% zKRQ&mN@Y7?c|XojT-AMLrH2gg(1Cer1Pq?vb6xQ1@qEJ&wiE=&f;5-oIz*Vq-r5>* zDyCbR>a-6Wlf9X`CG5T36rZ>drTDo2i`s}vd8gBmX`uBZ$9}+f)1Gle@o}|ItvDRm zA9Bl9f2Na2+EtT^!-8_%K^ykp0Wq;iLb!!~l}TWOl7n4+=`C7z!Q65C z7fCNL*0N|G=YY{I%F}beZYR(;)WF-m@tMv#C=f65`pS0swVW8E$?Y zJDPb6HMdW;ddl1q1EIF&8X6K)y&b1p(hmr=9(F$ayL~JLcZQBzY*!do2S=8|R ze-CYw|IWDDY)$VpdfDR~BjfSAXV|jGg1@osta+)$jh+oUIn_=?p2j8y6~rV)Zl0wS z^Ll=JX;3|84cI4*r-HZ$pnw*ltZwwUD&6ihLnEJ}OC0qU{ZuGl24Kf+7esP0Ylhth zP3@>t0*(kVHW*~D7L+i?M*RunQSqRM*qwCCQNBc#23OuY7c4?b(m@b}T#BS~asqIwGIlSW)wdxO`t%URI zTnrV5&Ka^UfHvv#%H>Hw^TM6ZSF^2#4#*nj)i%f=UV+(E7)c2uiq2%>@$Dt4jk%9b z=4N+hvPXDsC7NF&o&nEMi?+$0zcsdI^P^CY3EO&+UvZR^bj+kprI>A_n@~N<0#wv-%fJllU1W!I)IjXmS#C>$x^dq1R@1SE zOU7uqRXZ!BgNQzr|VG4O^QeywmY>?bFw|&C-%R0 zfxP_bVIM)|`E6NST|&59#hdE3$Rb&MWV`^#ZDO>#fn)+MJnE4fDR{s;JIHn7W`e1x z!y2rd4fq#*QTtF67K|9;HaZW2Rj;{Hu6Dw+GHMtsf(+(7fk^jcKTdJFiVk zL*o^up# z8<#Ee-1fg@>^$F<-jgjZkb}LO8*$VhWnlbC(!WjEq~vKcgOW%M^fVQ>510^azZ>yg zkZ2b5aduW*q2%_b$(c7~yK2Q6apt=B4-V^Lp8Kh5*?#cZ8EV17TaAd9w*GCf*-g4v z>G_hSir*K^CBq5(^?Tjk65jO)@%w>Tf^A9PO|2 z`Qm@<5(afQXEd88oi_GgYC1oMNJ&@KB3EUSn@vQ!iMHQpuq(e2T#mcg=gq~kf;7JVV73P z;mMnx(k@p+ISQ)C%BY#GqUjCu7=CUn0Eh0;8@eSu=GNOLpGJh5-G+=E1>{w=A8*la za*fPy51lx#v!hw0{x$mKEX)$^@jN&o8BjZBHxn7w`$GVjs0q4$@W zk=1S|Ti*am)qhTIZNHsf490y_3=|f;y4m_a2D~6TsXTjn`$pgljo!SdJ3!rrNgDq- zj9zL3CPK#Fojf9rjt6lpuxzg;rA1irqCfa?B}&)yNj3U6$a;>MM|&%2R~dn>8E|V5 zh2oJ$F_l*+M)Geb4Y{_1@3(3+YLY6SO|WHVdM|K1WSeBAN4QPgswK#!3X`#v_K`K; zJcI5kZzmokogF=R^rD3FUUi^UL|p+AKjYe?elaGCvSpdZ*CUxmf}b0VyxNjRi-{`^ z>^_HY^kG&w@R>iJ{e0*(?{I@YCnZ-W`7~_wSg5QzQ(Ql3rmu+FAl|hM^EE46lLyiY z(K+PYR>v}08p#PLEC~pZNA8Ag$7_KURMRRR~z&uD*0qPEc!~{dGYFUMI?;WZx~kZ%{uW_qx0~6OYFHgLj=`vAS_wh zJ8Lmbzr0vPww<(-Vx)Ccc$e+CmY39?d7;AFsD3*}+J?p6H^TR(Y4?{E?Z~8L;q5mx zG*+_Xo_0OpjkES}Vra#K%R04@dZ%ZsWOm2;U)^Z@WAIXny7hqx*wYL|L*NqUx!yG> zsyP2hdNg1eXG!-3dAkFJu7Ehq6P{pKUDq1is?}O$zA$xkhphM=+5X3PI?=jAfnFZW zn$OvxB(Hjw+nb7_p9>~-%!T|L*9Vr^#pm8ta%FOSEBf@^I(6Q&bY1fZ37qTfApzJq zKQ>*hbHKZDXMV_mqg9T}Fn;sX<+{P3a?3Il8R+yFbA;s?6`qk7-PnG1EUqQXgzyIL zyb~`@k?*`XmJWx1f!-Lg{idtA6s6g$(t`dJ>Ki=AOk z8+6}9b2K_vw$HKa(|CLFUqmk}I*>vHJPt-Iz(P5xgA$4Gro#1$#gYV-ybiPFN8RrK zi4{D5_5r&XzWg-A0HP3&&lBnum$Sr0c??oyyPCNCChpGWtR-A|E8KLQPA0- zR^JcUZGYGfv9iiPmCf(8KxHFtkJq4`f~~1^6mkme!8CosG@zR&>A&_vp7$%loAx)1 zoh^33)Ast4PllwJ_Z_gz#9f(D-S#Dn%(w-W1rK09vp2YxOvI)O);+wF zhveYp*@i>I;yTug<1zUJ4p9PS;vVp`EOm^rMJ}yghq^Na?)J!)tD@#+Iqyyz?e|U&T#F`?Kx8zlKocvGoBG=5kO+-~QE%0H=14gV zS%iJ19WR4R+=Net8#OcRN2bW9LQ>dMKR~N`t$OmjKOw^}yo-R@CP@m=C2p15JkFiP zKs;JZ!F}u66?}67$UQ2`=uq6kM9Q-qWX`9-NVMY-Ym|znXaQ|!U+4oHIfM+)4`G7TFy-oP<3GL zEXX$CZ8QQ9l}k?Fg768v{A%!tEpK`Q@d&t`5 zx0s>!r#l`6+kOF8RpU${E?cd{Su>9L@tv?g96BiYITq1RRcl zgE|l|TrzTkh6BIE6E@DB)|eovUeN)ZpJK@@_+Pu1Q}~x{bNNjROJIDI0e;0lo_@fQ z^V@fp=I(ydwgkB4&YPEYL~Q#wfa12!Hm-xqAB&3skO6H+`ak@=pHzu+#zz}s$(0rW z+uqTbyU=!uZiCjy)`xnor<(7f%&SY^;5HR^|5 zROHlx`euBm2rrE$cmi(-#YYI&mU58X{S+J%&xpVLfP!dqpeUKihIWN3=gE%Xy16c@ z)v>Vt{=B|A5+l`~irG>wWf1prEL-)9T*om?T*EnV{gQ175vylc+~RMx8ytUc>mV8; zsNN#mQsp%ZWt2Ls0taFyzDkS)%hLp^D8e#h}n4)cb^bwlCTC!<+ z^m?vSjScIKk2J=ywyfcPEIMMwX#tkcZiL+J-U~}jy=V5EG_;TYKnQRwwdYLa*7m^r z4jqy7$cyI(j_$#LKxK3RVx7gbJ-=ZtC$Vv{I%l5c!Jce7G15o95`p}K zR)lu7AZQum+yA-4rUU*I5mmAV=>5+mV zPo)O@_?vqU9~x5vN8aRAKhWxYeJernlbBhQ!DEvF1Nz%d91nU77%oKEeU;lHUA%I3 z&>l;w^*0fRQiHiMJAs9r9mbaMgM*DU2rSb$&qajFKj^?J@>RZI`SEf(`u`)C~-7p`p8=Lq*&Ge=Tpr3>|lL}ScttFzF?Cdbin@_ElLW;G}m{S zJ31t;VLU~|JBBl%urj_;jH6o0L1lQ-(aSEiretEKFPa+RFzT0}@N@liDV53}Y-{nI zWWi2)&#vfFk(DD-EJ<4^SEr$)L7#8cI9kkWCtdiBWQY*#O)Qdceak6tJ0QVg9_)1Y z{F|%@ZSci6T9^shX&lx~iZyB-0J>=;2Q}-eRj05EeuGHaS64S(w9=mUw%N{mKE4zC z8W*8FgAHiAGEi$YLl*($J-5m+XV*M4P*C){Zoe1Dpp&aY#HO@u2a>xIRihGi(g3r5PxcZUTZT#Ae}G#hUO_p@kMif(xqri+=iz}uQ000I z*9*QJFu`qSdlOx(&7QSCKz+DQjn)a1@1zE%y!%;H;$@VuIfknC)F+f*$&?dHJc2Uv zh(yXtB!-@krN)~{G3ux#+~=(-+7>XV8^+z?FM7FoaW^|ZrjNu*RZ{2sK@iYDiH)7G zTxO&@)iSGcv`^RjwTFkum(avMkE+q2Q$2#?Lp=(=y{DS6&d7&I&_?tlW8?bGz&jcx ztxNj~O=oZ1b7_0KuEy+ROX#qY6u1P^nVEj{4+ME3#r?xex8i53D;r2@y6Tvr3z1Pv z1d|PF_S~Z9ec(dM)ay8c=}SmpP#%O`o2%a3I3;ocIpk^V(<7tlCgak(#Dv3q@#qUf z@BB#P<)`6?Pu8q5AFgVkFCCdRkCy>9QmWP+)M&7D^_0aX&*yKGwhis3R>7RQ=3nAqzgQE7hxdm9V!kH zJa~$utKPphCyU&1|K!u%CiF z=Rfuef5c4UI3OFe^6q7zPvOn@oJWqFVk$FQ^CULbH%)U#8muww527M1jz`)FzPgOs z(mQc7)g(Dd)7$4=`rf0z_62&9-?<~2%laMXP0@bs15s}utr7i3`qd3JK}(rO{;4)fbPzVoB1Z4-_4Rlk z{)|WBsW9F&l{>s8cIL2AF}qiyASF%pueAX6TV^p@kts?~Wl=thXPsHg^w{*utY0LN zw5?){@GWvaQ*>L(^Ql<5PF1O5bikhG9flqvTikOcFIp_)>80axU)sSN; zqCun)(38C4XY`pKe^y`CY-bSfw6Yu;sVhcS64T_N$=+tuM=~9N;1}=Ps_S3druO{Q z+KlU23}=D5_{@*bMi(&}o2|$WY{VRTUNYKZ=cSMDr5&jrdoJS8bj5-?%S071>$%D` zVaA!~$*4l+Y$dqz=2hW@fX&WahcxM9jP<6l?M-sQo@RuLewR3ZvN+0uduUwq`-|*h zBDB4XQ!33I2ZgJwF@*oN$oP41mx%sYWZQ&)`6l?-A@Tv(Li%94_CLv=PxZ|4vuzSc zqnR~@;t3gthCPDSvJyzz$BP$~4B$XEKDi@xm3SA^UBngR9zqE*8_?kv0nVK_BizmK z$bUL^CM$P~ElZip4u}z%x%;~;Ve}Bg!TT`TR}MXn&ql1dAeNhr+Nd)E`?Zybm(#R& zy1v|H$5}(^NPP*8!YfA^+4A$A*rc7i;9(paK(2G5XrBW|)FHst8f3DsZv9=^?nZCL7I zJ#7BzcHvNq=3efxQ19l0Pi#W@f>|&SzYhA$C~K9EuPstp3%{c9NIK8MWX$6@XKZN9 z8KWud^PM&CbtqToxId2;r(Is`EnKrvi*i9s^6dZ@eo7H5~HqZA{}zs#K!j2 zRnB!@M(C+Y2VoNTvAd8niY#$GS_8ngIpUS?moa&8atapwnpg{U{0uGzj@q9+;#Z$6 z&1-h(*5~+^eR+BJgc|%=L+FkDg7(-$SbZ0EsP9!64&;2nsA1$?6g1mKYI!pj=8J#Y z2F|UkK*C=T(7-@gQ2jT@Sn%_PxofxhP)6=#dK(-TNV?dL5ufG0Q*Fn5qcNG(>E-iq z@{khG*8=bFfQw43c{SSQqh=Voa}fRZkt>i>K`LMIE`~R>6svsaFsv1&W^DycI*a=& zh1_P56kJn0t|iH#ZC}l0dQLHvs(oXq07Q+oh$>BmeeA7vxT}}vB)my@AMGY zjqEpAggGg*c8~i-`z2(*Yq;*yMjdVQrcXfjBJ=U&itqL}I|Oa)a_-jbKJReoxhJLM zLTR2Y)wVf<`cK85!y@Qdm|^PZ5D_%Z5SIiiJNiy#(|30BP%@d62gsvtdR;PGGtY>k zJm7EBJecyl1S@^}?pH^;_Dw4J23L4K4q_dVSNUOz8?H;)=c8**@;X1KUs1-P?Bt8v zC-s)2hSHk>BREVh>Yznoyh)4^YlG|bMOz_>Q>mQGy|j0-;82$5=A4Eu$Kp6tb12zW zedEeE{HuG;SES+Pj6U1)dQg9BqudQfV=Ju8$BP5L0B8wt6i-bvRMjQXvVwoy-vR1v zeX|Y3YlfcXN|?%`0O#p;>*L%?V7g9>PJC>TuhDPEK+u`vDecbKPYk zK=P<0No5>qrcE1U+B}C=p1awUBx^a2|*m4$k6&ITz-WBtI;bn_}Z zK_>;PajENA({tN$M;KTo$lMhnXIpPY&sxnLrw39N`d2>Nk7Iq#d6a z9R!Z(iNK|c}M}sGC872{oK3A>c1?2Wg%aVjPFl!pY#^91E0yuB;xte97L`{QTZisgAvGJlYpX}f$&9UVNhIoU{7lZevxx&OXB8OwB1zhr>3XuB*TH)w)dOH4bjiIqWf zVQ4MDRJ5n}etSH{b5mimJ>}s%9Z(P*NXX`Jz=!FXEe~z6!gbgV=QP(Fxea}ulMTXJ zC@B{IS1ZdwJd1hsvkqtdy&E5680YkwP&Ot!72m0ETg+583zy_{*P)-96qmbRP zziKF>>9@U)VrA}ia71*Fi5Yrxpkrs-#t}v$kUU}ek$IEU68NvpqXiOZTodsQu+vHx zc#zBAzzfKyJXZdV0>+UYhqL(iyVA%IteFdCeVOpRtPOJRx#wf~New1{OcmMS-!k*a z%EVDycH@Y*Y?x%4>&fWk{ z@;U86Hz}1($9$crXYci^-+~f;<5M(xy4)_5zzgItOIgg`NkA0DQ|AO7hx_V77xz7?O#=9`3k5lT9by2* zl4mzaJWK-5vgOCt0dIgGE#^i3=NE7QP&33zhUZrpsx+PrEGeQFgh~2$D|~GIO$quybSg4)ws!2k}bt{+Dz%2KAA8Ox@N?j6zgO&~B zeY?*gpIqSHb>>IBguIyc(f#E%6{F*TB0K3#|1Gm;Zv&|2uE*HbZP@|!iLPdlo3g

waipAIRC&oOIl(k4}vvfC2{M7+9LeGxH+5 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

}MTWBOoYPKRHF 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

NfQZ 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 O?e~ev39Z`?o&7sh3u)T` literal 0 HcmV?d00001 diff --git a/docs/developers/select-run-config.png b/docs/developers/select-run-config.png new file mode 100644 index 0000000000000000000000000000000000000000..cd2b43742b6b22025a7c309b252a7b9d4b99f829 GIT binary patch literal 234673 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 Date: Wed, 5 Feb 2025 10:19:12 -0500 Subject: [PATCH 09/41] add no cost test --- .../cacheBetweenWfNoCost.test | 16 +++++++++++++++ .../src/main/scala/centaur/test/Test.scala | 11 ++++++++++ .../centaur/test/formulas/TestFormulas.scala | 20 +++++++++++++++++++ .../test/standard/CentaurTestFormat.scala | 3 +++ core/src/main/resources/reference.conf | 2 +- docs/developers/Centaur.md | 8 +++++--- docs/developers/Running.md | 4 ++-- 7 files changed, 58 insertions(+), 6 deletions(-) create mode 100644 centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test diff --git a/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test b/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test new file mode 100644 index 00000000000..7d65db56d8d --- /dev/null +++ b/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test @@ -0,0 +1,16 @@ +name: cacheBetweenWF +testFormat: runtwiceexpectingcallcachingnocost + +files { + workflow: cacheBetweenWF/cacheBetweenWF.wdl + options: common_options/cache_read_off_write_on.options + second-options: common_options/cache_read_on_write_on.options +} + +metadata { + workflowName: cacheBetweenWF + status: Succeeded + "calls.cacheBetweenWF.getAverage.callCaching.result": "Cache Hit: <>:cacheBetweenWF.getAverage:-1" + "calls.cacheBetweenWF.heightProduct.callCaching.result": "Cache Hit: <>:cacheBetweenWF.heightProduct:-1" + "outputs.cacheBetweenWF.heightProduct.trapezoidalArea": 406.0 +} diff --git a/centaur/src/main/scala/centaur/test/Test.scala b/centaur/src/main/scala/centaur/test/Test.scala index 1158448c652..886b90bd31f 100644 --- a/centaur/src/main/scala/centaur/test/Test.scala +++ b/centaur/src/main/scala/centaur/test/Test.scala @@ -1094,4 +1094,15 @@ object Operations extends StrictLogging { } yield () } + def validateNoCost(submittedWorkflow: SubmittedWorkflow): Test[Unit] = + new Test[Unit] { + + override def run: IO[Unit] = + for { + actualCost <- CentaurCromwellClient.cost(submittedWorkflow) + _ = if (actualCost.cost != 0) IO.raiseError(new Exception(s"When using call caching, the cost must be 0, not ${actualCost.cost}")) + else IO.unit + } yield () + } + } diff --git a/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala b/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala index 4285da61b47..e6aa56193ba 100644 --- a/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala +++ b/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala @@ -130,6 +130,26 @@ object TestFormulas extends StrictLogging { _ <- validateDirectoryContentsCounts(workflowDefinition, secondWf, metadata) } yield SubmitResponse(secondWf) + def runWorkflowTwiceExpectingCachingNoCost( + workflowDefinition: Workflow + )(implicit cromwellTracker: Option[CromwellTracker]): Test[SubmitResponse] = + for { + _ <- checkDescription(workflowDefinition, validityExpectation = Option(true)) + _ <- timingVerificationNotSupported(workflowDefinition.maximumAllowedTime) + firstWF <- runSuccessfulWorkflow(workflowDefinition) + secondWf <- runSuccessfulWorkflow(workflowDefinition.secondRun) + _ <- printHashDifferential(firstWF, secondWf) + metadata <- fetchAndValidateNonSubworkflowMetadata(secondWf, workflowDefinition, Option(firstWF.id.id)) + _ <- fetchAndValidateJobManagerStyleMetadata(secondWf, + workflowDefinition, + prefetchedOriginalNonSubWorkflowMetadata = None + ) + _ = cromwellTracker.track(metadata) + _ <- validateNoCacheMisses(secondWf, metadata, workflowDefinition) + _ <- validateDirectoryContentsCounts(workflowDefinition, secondWf, metadata) + _ <- validateNoCost(secondWf) + } yield SubmitResponse(secondWf) + def runWorkflowThriceExpectingCaching( workflowDefinition: Workflow )(implicit cromwellTracker: Option[CromwellTracker]): Test[SubmitResponse] = diff --git a/centaur/src/main/scala/centaur/test/standard/CentaurTestFormat.scala b/centaur/src/main/scala/centaur/test/standard/CentaurTestFormat.scala index 822b6a5f5fa..3875680c061 100644 --- a/centaur/src/main/scala/centaur/test/standard/CentaurTestFormat.scala +++ b/centaur/src/main/scala/centaur/test/standard/CentaurTestFormat.scala @@ -16,6 +16,7 @@ sealed abstract class CentaurTestFormat(val name: String) { case WorkflowSuccessAndVerifyCostTest => "successfully run and verify cost" case WorkflowFailureTest => "fail during execution" case RunTwiceExpectingCallCachingTest => "call cache the second run of" + case RunTwiceExpectingCallCachingNoCostTest => "call cache the second run and verify no cost of" case RunThriceExpectingCallCachingTest => "call cache the third run of" case RunTwiceExpectingNoCallCachingTest => "NOT call cache the second run of" case RunFailingTwiceExpectingNoCallCachingTest => "Fail the first run and NOT call cache the second run of" @@ -53,6 +54,7 @@ object CentaurTestFormat { case object WorkflowSuccessAndVerifyCostTest extends CentaurTestFormat("WorkflowSuccessAndVerifyCost") case object WorkflowFailureTest extends CentaurTestFormat("WorkflowFailure") case object RunTwiceExpectingCallCachingTest extends CentaurTestFormat("RunTwiceExpectingCallCaching") + case object RunTwiceExpectingCallCachingNoCostTest extends CentaurTestFormat("RunTwiceExpectingCallCachingNoCost") case object RunThriceExpectingCallCachingTest extends CentaurTestFormat(name = "RunThriceExpectingCallCaching") case object RunTwiceExpectingNoCallCachingTest extends CentaurTestFormat("RunTwiceExpectingNoCallCaching") case object RunFailingTwiceExpectingNoCallCachingTest @@ -132,6 +134,7 @@ object CentaurTestFormat { WorkflowSuccessAndVerifyCostTest, WorkflowFailureTest, RunTwiceExpectingCallCachingTest, + RunTwiceExpectingCallCachingNoCostTest, RunThriceExpectingCallCachingTest, RunTwiceExpectingNoCallCachingTest, RunFailingTwiceExpectingNoCallCachingTest, diff --git a/core/src/main/resources/reference.conf b/core/src/main/resources/reference.conf index 057b20a9642..eaa0cad4246 100644 --- a/core/src/main/resources/reference.conf +++ b/core/src/main/resources/reference.conf @@ -616,7 +616,7 @@ services { GcpCostCatalogService { class = "cromwell.services.cost.GcpCostCatalogService" config { - enabled = false + enabled = true catalogExpirySeconds = 86400 } } diff --git a/docs/developers/Centaur.md b/docs/developers/Centaur.md index 17ac8653292..d37a9177224 100644 --- a/docs/developers/Centaur.md +++ b/docs/developers/Centaur.md @@ -15,7 +15,8 @@ You can now run the tests from another terminal. There are two ways to invoke the integration tests: * `sbt "centaur / IntegrationTest / test"` - compiles Centaur and runs all tests via sbt directly. -Tests are expected to be in the `centaur/src/main/standardTestCases` directory. In order to run a set of specific tests, you can create a new subdirectory that contains the tests you would like to run, then change the path by modifying the centaur `reference.conf`. +* Can also just run `centaur/ IntegrationTest / test` from the sbt terminal. +Tests are expected to be in the `centaur/src/main/standardTestCases` directory. In order to run a set of specific tests, create a new subdirectory that contains the tests to run, then modify the path in the centaur `reference.conf`. * `src/ci/bin/testCentaurLocal.sh` - runs the same tests using the continuous integration pipeline configuration. @@ -95,6 +96,7 @@ The `basePath` field is optional, but if supplied all paths will be resolved fro The `testFormat` field can be one of the following, case insensitive: * `workflowsuccess`: The workflow being supplied is expected to successfully complete * `workflowfailure`: The workflow being supplied is expected to fail +* `workflowsuccessandverifycost`: The workflow being supplied is expected to complete and the expected cost will be verified The `metadata` is optional. If supplied, Centaur will retrieve the metadata from the successfully completed workflow and compare the values retrieved to those supplied. At the moment the only fields supported are strings, numbers and booleans. @@ -109,10 +111,10 @@ In case the absolute path the cromwell root is used (for example: `/home/my_user * `"calls.hello.hello.exit_code": "<>/call-hello/execution/exit_code"` In case testing of the caching is required `<>` can be used. -The testFormat should be `runtwiceexpectingcallcaching`. +The testFormat should be `runtwiceexpectingcallcaching`. To verify that the cost is 0 when using call-caching the testFormat should be `runtwiceexpectingcallcachingnocost` The cost is optional. If supplied, Centaur will retrieve the cost of the successfully completed workflow and compare it to the cost supplied. -The expected range is within 10% of the estimated cost. +The expected range is within 10% of the estimated cost. If evaluating the cost, the test format must be `WorkflowSuccessAndVerifyCost` and the call-caching option must be disabled for that test (example can be found in the `recursive_imports_cost.test`) ## Centaur Test Types diff --git a/docs/developers/Running.md b/docs/developers/Running.md index 16fcedf6a30..4701b39d519 100644 --- a/docs/developers/Running.md +++ b/docs/developers/Running.md @@ -1,4 +1,4 @@ -In order to run a Cromwell instance locally, there are the prerequisites: +In order to run a Cromwell instance locally, there are the some prerequisites: - Have docker and IntelliJ installed - Start a local mysql instance by running the `start_publish_mysql_docker.sh` script @@ -6,7 +6,7 @@ To run the backend locally, set up your preferred run configuration. More information on backends can be found here: [Backends](Backends.md) ![](select-run-config.png) -If you've created a new config, you may need to edit your run configuration to point to the correct config file or have the correct environment variables. +If you've created a new config, you may need to edit your run configuration to point to the correct config file or edit the environment variables. Example for batch: ![](edit-run-config.png) From e44409f5c43d64298d00d0143055f47162b6043b Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Wed, 5 Feb 2025 10:20:29 -0500 Subject: [PATCH 10/41] update name --- .../resources/standardTestCases/cacheBetweenWfNoCost.test | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test b/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test index 7d65db56d8d..1242e997276 100644 --- a/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test +++ b/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test @@ -1,4 +1,4 @@ -name: cacheBetweenWF +name: cacheBetweenWFNoCost testFormat: runtwiceexpectingcallcachingnocost files { @@ -8,7 +8,7 @@ files { } metadata { - workflowName: cacheBetweenWF + workflowName: cacheBetweenWFNoCost status: Succeeded "calls.cacheBetweenWF.getAverage.callCaching.result": "Cache Hit: <>:cacheBetweenWF.getAverage:-1" "calls.cacheBetweenWF.heightProduct.callCaching.result": "Cache Hit: <>:cacheBetweenWF.heightProduct:-1" From cbd73b19bf02b2b426abbed2ddb9f59d0193251c Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Wed, 5 Feb 2025 10:23:46 -0500 Subject: [PATCH 11/41] Update CentaurTestCase.scala --- .../src/main/scala/centaur/test/standard/CentaurTestCase.scala | 1 + 1 file changed, 1 insertion(+) diff --git a/centaur/src/main/scala/centaur/test/standard/CentaurTestCase.scala b/centaur/src/main/scala/centaur/test/standard/CentaurTestCase.scala index 48d9d83be94..a47abe4ef0e 100644 --- a/centaur/src/main/scala/centaur/test/standard/CentaurTestCase.scala +++ b/centaur/src/main/scala/centaur/test/standard/CentaurTestCase.scala @@ -28,6 +28,7 @@ case class CentaurTestCase(workflow: Workflow, case WorkflowSuccessAndVerifyCostTest => TestFormulas.runSuccessfulWorkflowAndVerifyCost(workflow) case WorkflowFailureTest => TestFormulas.runFailingWorkflowAndVerifyMetadata(workflow) case RunTwiceExpectingCallCachingTest => TestFormulas.runWorkflowTwiceExpectingCaching(workflow) + case RunTwiceExpectingCallCachingNoCostTest => TestFormulas.runWorkflowTwiceExpectingCachingNoCost(workflow) case RunThriceExpectingCallCachingTest => TestFormulas.runWorkflowThriceExpectingCaching(workflow) case RunTwiceExpectingNoCallCachingTest => TestFormulas.runWorkflowTwiceExpectingNoCaching(workflow) case RunFailingTwiceExpectingNoCallCachingTest => TestFormulas.runFailingWorkflowTwiceExpectingNoCaching(workflow) From 5dd597e30f433210752a2cecafe14f6e77d2ec56 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Wed, 5 Feb 2025 10:25:22 -0500 Subject: [PATCH 12/41] fmt --- centaur/src/main/scala/centaur/test/Test.scala | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/centaur/src/main/scala/centaur/test/Test.scala b/centaur/src/main/scala/centaur/test/Test.scala index 886b90bd31f..3b09beaab9a 100644 --- a/centaur/src/main/scala/centaur/test/Test.scala +++ b/centaur/src/main/scala/centaur/test/Test.scala @@ -1100,8 +1100,10 @@ object Operations extends StrictLogging { override def run: IO[Unit] = for { actualCost <- CentaurCromwellClient.cost(submittedWorkflow) - _ = if (actualCost.cost != 0) IO.raiseError(new Exception(s"When using call caching, the cost must be 0, not ${actualCost.cost}")) - else IO.unit + _ = + if (actualCost.cost != 0) + IO.raiseError(new Exception(s"When using call caching, the cost must be 0, not ${actualCost.cost}")) + else IO.unit } yield () } From 215ff988b109de60f188b31dbe70ea14613cc491 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Wed, 5 Feb 2025 11:22:33 -0500 Subject: [PATCH 13/41] update doc --- .../cacheBetweenWF/cacheBetweenWFNoCost.wdl | 39 +++++++++++++++++++ .../cacheBetweenWfNoCost.test | 8 ++-- docs/developers/Running.md | 2 +- 3 files changed, 44 insertions(+), 5 deletions(-) create mode 100644 centaur/src/main/resources/standardTestCases/cacheBetweenWF/cacheBetweenWFNoCost.wdl diff --git a/centaur/src/main/resources/standardTestCases/cacheBetweenWF/cacheBetweenWFNoCost.wdl b/centaur/src/main/resources/standardTestCases/cacheBetweenWF/cacheBetweenWFNoCost.wdl new file mode 100644 index 00000000000..fd28f77df33 --- /dev/null +++ b/centaur/src/main/resources/standardTestCases/cacheBetweenWF/cacheBetweenWFNoCost.wdl @@ -0,0 +1,39 @@ +task getAverage { + Int base1 = 9 + Int base2 = 13 + command { + echo ${(base1*base2)/2} + } + output { + Float average = read_float(stdout()) + } + runtime { + docker: "docker.io/ubuntu@sha256:71cd81252a3563a03ad8daee81047b62ab5d892ebbfbf71cf53415f29c130950" + } +} + +task heightProduct{ + Float baseAverage + Int height = 7 + + command { + echo ${baseAverage*height} + } + output { + Float trapezoidalArea = read_float(stdout()) + } + runtime { + docker: "ubuntu@sha256:71cd81252a3563a03ad8daee81047b62ab5d892ebbfbf71cf53415f29c130950" + } +} + +workflow cacheBetweenWFNoCost { + call getAverage { + } + call heightProduct { + input: baseAverage = getAverage.average + } + output { + heightProduct.trapezoidalArea + } +} diff --git a/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test b/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test index 1242e997276..56971a190e8 100644 --- a/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test +++ b/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test @@ -2,7 +2,7 @@ name: cacheBetweenWFNoCost testFormat: runtwiceexpectingcallcachingnocost files { - workflow: cacheBetweenWF/cacheBetweenWF.wdl + workflow: cacheBetweenWF/cacheBetweenWFNoCost.wdl options: common_options/cache_read_off_write_on.options second-options: common_options/cache_read_on_write_on.options } @@ -10,7 +10,7 @@ files { metadata { workflowName: cacheBetweenWFNoCost status: Succeeded - "calls.cacheBetweenWF.getAverage.callCaching.result": "Cache Hit: <>:cacheBetweenWF.getAverage:-1" - "calls.cacheBetweenWF.heightProduct.callCaching.result": "Cache Hit: <>:cacheBetweenWF.heightProduct:-1" - "outputs.cacheBetweenWF.heightProduct.trapezoidalArea": 406.0 + "calls.cacheBetweenWFNoCost.getAverage.callCaching.result": "Cache Hit: <>:cacheBetweenWFNoCost.getAverage:-1" + "calls.cacheBetweenWFNoCost.heightProduct.callCaching.result": "Cache Hit: <>:cacheBetweenWFNoCost.heightProduct:-1" + "outputs.cacheBetweenWFNoCost.heightProduct.trapezoidalArea": 406.0 } diff --git a/docs/developers/Running.md b/docs/developers/Running.md index 4701b39d519..b19ccd2d0f3 100644 --- a/docs/developers/Running.md +++ b/docs/developers/Running.md @@ -3,7 +3,7 @@ In order to run a Cromwell instance locally, there are the some prerequisites: - Start a local mysql instance by running the `start_publish_mysql_docker.sh` script To run the backend locally, set up your preferred run configuration. -More information on backends can be found here: [Backends](Backends.md) +More information on backends can be found [here](Backend.md) ![](select-run-config.png) If you've created a new config, you may need to edit your run configuration to point to the correct config file or edit the environment variables. From 83028d7ca5997ea1530f81d64b908c1f2b9f1c44 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Wed, 5 Feb 2025 11:34:06 -0500 Subject: [PATCH 14/41] fix comment --- centaur/src/main/scala/centaur/test/Test.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/centaur/src/main/scala/centaur/test/Test.scala b/centaur/src/main/scala/centaur/test/Test.scala index 3b09beaab9a..0cdd3160c36 100644 --- a/centaur/src/main/scala/centaur/test/Test.scala +++ b/centaur/src/main/scala/centaur/test/Test.scala @@ -1070,7 +1070,7 @@ object Operations extends StrictLogging { } /** - * Validate that the actual cost is within 20% of the expected cost + * Validate that the actual cost is within 10% of the expected cost */ def validateCost(actualCost: BigDecimal, expectedCost: BigDecimal): IO[Unit] = { val costDiff = (actualCost - expectedCost).abs / expectedCost From 0cbcbab491bffac48eddb6bdd258ace8106ee047 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Wed, 5 Feb 2025 14:55:58 -0500 Subject: [PATCH 15/41] update cache test --- .../cacheBetweenWF/cacheBetweenWFNoCost.wdl | 57 ++++++++++++------- .../cacheBetweenWfNoCost.test | 6 +- 2 files changed, 40 insertions(+), 23 deletions(-) diff --git a/centaur/src/main/resources/standardTestCases/cacheBetweenWF/cacheBetweenWFNoCost.wdl b/centaur/src/main/resources/standardTestCases/cacheBetweenWF/cacheBetweenWFNoCost.wdl index fd28f77df33..0dd0c873742 100644 --- a/centaur/src/main/resources/standardTestCases/cacheBetweenWF/cacheBetweenWFNoCost.wdl +++ b/centaur/src/main/resources/standardTestCases/cacheBetweenWF/cacheBetweenWFNoCost.wdl @@ -1,26 +1,39 @@ -task getAverage { - Int base1 = 9 - Int base2 = 13 +task one { + Int vertAxis command { - echo ${(base1*base2)/2} + echo ${vertAxis/2} } output { - Float average = read_float(stdout()) + Float semiVertAxis = read_int(stdout()) } runtime { - docker: "docker.io/ubuntu@sha256:71cd81252a3563a03ad8daee81047b62ab5d892ebbfbf71cf53415f29c130950" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:53a002b59dfcd43b4d15e97c1acbeae035ddd1b31a106659a312e9fe65f00afa" } } -task heightProduct{ - Float baseAverage - Int height = 7 +task two { + Int horAxis + command { + echo ${horAxis/2} + } + output { + Float semiHorAxis = read_int(stdout()) + } + runtime { + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:53a002b59dfcd43b4d15e97c1acbeae035ddd1b31a106659a312e9fe65f00afa" + } +} + +task area{ + Float semiVertAxis + Float semiHorAxis + Float pi = 3.14159 command { - echo ${baseAverage*height} + echo ${semiHorAxis*semiVertAxis*pi} } output { - Float trapezoidalArea = read_float(stdout()) + Float ellipseArea = read_float(stdout()) } runtime { docker: "ubuntu@sha256:71cd81252a3563a03ad8daee81047b62ab5d892ebbfbf71cf53415f29c130950" @@ -28,12 +41,16 @@ task heightProduct{ } workflow cacheBetweenWFNoCost { - call getAverage { - } - call heightProduct { - input: baseAverage = getAverage.average - } - output { - heightProduct.trapezoidalArea - } -} + call one { + input: vertAxis = 5 + } + call two { + input: horAxis = 6 + } + call area { + input: semiVertAxis = one.semiVertAxis, semiHorAxis = two.semiHorAxis + } + output { + area.ellipseArea + } +} \ No newline at end of file diff --git a/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test b/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test index 56971a190e8..97e5041d195 100644 --- a/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test +++ b/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test @@ -10,7 +10,7 @@ files { metadata { workflowName: cacheBetweenWFNoCost status: Succeeded - "calls.cacheBetweenWFNoCost.getAverage.callCaching.result": "Cache Hit: <>:cacheBetweenWFNoCost.getAverage:-1" - "calls.cacheBetweenWFNoCost.heightProduct.callCaching.result": "Cache Hit: <>:cacheBetweenWFNoCost.heightProduct:-1" - "outputs.cacheBetweenWFNoCost.heightProduct.trapezoidalArea": 406.0 + "calls.cacheBetweenWFNoCost.task1.callCaching.result": "Cache Hit: <>:cacheBetweenWFNoCost.semiVertAxis:-1" + "calls.cacheBetweenWFNoCost.task2.callCaching.result": "Cache Hit: <>:cacheBetweenWFNoCost.semiHorAxis:-1" + "outputs.cacheBetweenWFNoCost.area.ellipseArea": 18.849539999999998 } From 2a8316351a2bb22d56809c66c4a39652274029c8 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Wed, 5 Feb 2025 15:21:41 -0500 Subject: [PATCH 16/41] fixes --- .../standardTestCases/cacheBetweenWF/cacheBetweenWFNoCost.wdl | 2 +- .../recursive_imports/recursive_imports_cost.options | 2 +- .../resources/standardTestCases/recursive_imports_cost.test | 2 +- core/src/main/resources/reference.conf | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/centaur/src/main/resources/standardTestCases/cacheBetweenWF/cacheBetweenWFNoCost.wdl b/centaur/src/main/resources/standardTestCases/cacheBetweenWF/cacheBetweenWFNoCost.wdl index 0dd0c873742..103393df587 100644 --- a/centaur/src/main/resources/standardTestCases/cacheBetweenWF/cacheBetweenWFNoCost.wdl +++ b/centaur/src/main/resources/standardTestCases/cacheBetweenWF/cacheBetweenWFNoCost.wdl @@ -53,4 +53,4 @@ workflow cacheBetweenWFNoCost { output { area.ellipseArea } -} \ No newline at end of file +} diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports/recursive_imports_cost.options b/centaur/src/main/resources/standardTestCases/recursive_imports/recursive_imports_cost.options index cdf39810203..22446480919 100644 --- a/centaur/src/main/resources/standardTestCases/recursive_imports/recursive_imports_cost.options +++ b/centaur/src/main/resources/standardTestCases/recursive_imports/recursive_imports_cost.options @@ -1,3 +1,3 @@ { "read_from_cache":false -} \ No newline at end of file +} diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test index 5e07f18b1ab..7310d8b5167 100644 --- a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test +++ b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test @@ -19,4 +19,4 @@ metadata { status: Succeeded } -cost: 0.0016 \ No newline at end of file +cost: 0.0016 diff --git a/core/src/main/resources/reference.conf b/core/src/main/resources/reference.conf index eaa0cad4246..057b20a9642 100644 --- a/core/src/main/resources/reference.conf +++ b/core/src/main/resources/reference.conf @@ -616,7 +616,7 @@ services { GcpCostCatalogService { class = "cromwell.services.cost.GcpCostCatalogService" config { - enabled = true + enabled = false catalogExpirySeconds = 86400 } } From 79e256b6d024c491088c914d98cc67ddd516d0e5 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Thu, 6 Feb 2025 17:16:53 -0500 Subject: [PATCH 17/41] try changing application.conf --- .../resources/standardTestCases/cacheBetweenWfNoCost.test | 4 ++-- src/ci/resources/build_application.inc.conf | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test b/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test index 97e5041d195..7a91390d848 100644 --- a/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test +++ b/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test @@ -10,7 +10,7 @@ files { metadata { workflowName: cacheBetweenWFNoCost status: Succeeded - "calls.cacheBetweenWFNoCost.task1.callCaching.result": "Cache Hit: <>:cacheBetweenWFNoCost.semiVertAxis:-1" - "calls.cacheBetweenWFNoCost.task2.callCaching.result": "Cache Hit: <>:cacheBetweenWFNoCost.semiHorAxis:-1" + "calls.cacheBetweenWFNoCost.one.callCaching.result": "Cache Hit: <>:cacheBetweenWFNoCost.semiVertAxis:-1" + "calls.cacheBetweenWFNoCost.two.callCaching.result": "Cache Hit: <>:cacheBetweenWFNoCost.semiHorAxis:-1" "outputs.cacheBetweenWFNoCost.area.ellipseArea": 18.849539999999998 } diff --git a/src/ci/resources/build_application.inc.conf b/src/ci/resources/build_application.inc.conf index 260e0463a14..04ce98b6a4c 100644 --- a/src/ci/resources/build_application.inc.conf +++ b/src/ci/resources/build_application.inc.conf @@ -59,6 +59,11 @@ services.MetadataService.config.metadata-write-statistics { sub-workflow-bundling = true } + services.GcpCostCatalogService.config { + enabled = false + catalogExpirySeconds = 86400 + } + # Make the shutdown timeout conspicuously long, so that if it hangs, it is an obvious problem in CI. # See https://github.com/broadinstitute/cromwell/issues/2575 akka.coordinated-shutdown.phases.stop-io-activity.timeout = 60 minutes From 0c6368068e948db802dd04f083076e1e96eef2d3 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Fri, 7 Feb 2025 11:00:56 -0500 Subject: [PATCH 18/41] small fixes --- .../resources/standardTestCases/cacheBetweenWfNoCost.test | 4 ++-- docs/developers/Centaur.md | 5 +---- src/ci/resources/build_application.inc.conf | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test b/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test index 7a91390d848..4567ba23100 100644 --- a/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test +++ b/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test @@ -10,7 +10,7 @@ files { metadata { workflowName: cacheBetweenWFNoCost status: Succeeded - "calls.cacheBetweenWFNoCost.one.callCaching.result": "Cache Hit: <>:cacheBetweenWFNoCost.semiVertAxis:-1" - "calls.cacheBetweenWFNoCost.two.callCaching.result": "Cache Hit: <>:cacheBetweenWFNoCost.semiHorAxis:-1" + "calls.cacheBetweenWFNoCost.one.callCaching.result": "Cache Hit: <>:cacheBetweenWFNoCost.one:-1" + "calls.cacheBetweenWFNoCost.two.callCaching.result": "Cache Hit: <>:cacheBetweenWFNoCost.two:-1" "outputs.cacheBetweenWFNoCost.area.ellipseArea": 18.849539999999998 } diff --git a/docs/developers/Centaur.md b/docs/developers/Centaur.md index d37a9177224..be95a4d58f0 100644 --- a/docs/developers/Centaur.md +++ b/docs/developers/Centaur.md @@ -14,10 +14,7 @@ You can now run the tests from another terminal. There are two ways to invoke the integration tests: -* `sbt "centaur / IntegrationTest / test"` - compiles Centaur and runs all tests via sbt directly. -* Can also just run `centaur/ IntegrationTest / test` from the sbt terminal. -Tests are expected to be in the `centaur/src/main/standardTestCases` directory. In order to run a set of specific tests, create a new subdirectory that contains the tests to run, then modify the path in the centaur `reference.conf`. - +* `sbt "centaur / IntegrationTest / test"` - compiles Centaur and runs all tests via sbt directly. Tests are expected to be in the `centaur/src/main/standardTestCases` directory. This can be changed by modifying `reference.conf`. * `src/ci/bin/testCentaurLocal.sh` - runs the same tests using the continuous integration pipeline configuration. * Tests that require different Cromwell and Centaur configurations can be invoked by calling the various scripts in `src/ci/bin`. diff --git a/src/ci/resources/build_application.inc.conf b/src/ci/resources/build_application.inc.conf index 04ce98b6a4c..f8271064d24 100644 --- a/src/ci/resources/build_application.inc.conf +++ b/src/ci/resources/build_application.inc.conf @@ -60,7 +60,7 @@ services.MetadataService.config.metadata-write-statistics { } services.GcpCostCatalogService.config { - enabled = false + enabled = true catalogExpirySeconds = 86400 } From 02057112c362290fc3a544e6e4a89d4dc99832a0 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Fri, 7 Feb 2025 18:36:59 -0500 Subject: [PATCH 19/41] remove old mysql test --- .github/workflows/integration_tests.yml | 52 ++++++------------- .../recursive_imports_cost.test | 2 +- .../centaur/test/formulas/TestFormulas.scala | 26 ++++------ .../test/standard/CentaurTestCase.scala | 4 +- core/src/main/resources/reference.conf | 2 +- .../docker-compose-deadlock.yml | 2 +- src/ci/docker-compose/docker-compose.yml | 2 +- .../gcp_batch_application.inc.conf.ctmpl | 6 +++ src/ci/resources/papi_v2beta_application.conf | 4 ++ 9 files changed, 43 insertions(+), 57 deletions(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 29a8cce3afd..4ecbbd6241c 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -32,52 +32,34 @@ jobs: matrix: # Batch test fixes to land later include: - - build_type: centaurPapiV2beta - build_mysql: 5.6 - friendly_name: Life Sciences, MySQL 5.6 (current Terra production) - - build_type: centaurPapiV2beta - build_mysql: 5.7 - friendly_name: Life Sciences, MySQL 5.7 - - build_type: centaurPapiV2beta - build_mysql: 8.0 - friendly_name: Life Sciences, MySQL 8.0 (required Terra production) - build_type: centaurPapiV2beta build_mysql: 8.4 - friendly_name: Life Sciences, MySQL 8.4 (aspirational Terra production) - - build_type: centaurGcpBatch - build_mysql: 5.6 - friendly_name: GCP Batch, MySQL 5.6 - - build_type: centaurGcpBatch - build_mysql: 5.7 - friendly_name: GCP Batch, MySQL 5.7 - - build_type: centaurGcpBatch - build_mysql: 8.0 - friendly_name: GCP Batch, MySQL 8.0 + friendly_name: Life Sciences, MySQL 8.4 (current Terra production) - build_type: centaurGcpBatch build_mysql: 8.4 friendly_name: GCP Batch, MySQL 8.4 - build_type: centaurPapiV2betaRestart - build_mysql: 5.7 + build_mysql: 8.4 friendly_name: Centaur Papi V2 Beta (restart) - build_type: dbms friendly_name: DBMS - build_type: centaurTes - build_mysql: 5.7 - friendly_name: Centaur TES with MySQL 5.7 + build_mysql: 8.4 + friendly_name: Centaur TES with MySQL 8.4 - build_type: centaurLocal - build_mysql: 5.7 - friendly_name: Centaur Local with MySQL 5.7 + build_mysql: 8.4 + friendly_name: Centaur Local with MySQL 8.4 - build_type: checkPublish friendly_name: Check Publish - build_type: centaurAws - build_mysql: 5.7 - friendly_name: Centaur AWS with MySQL 5.7 + build_mysql: 8.4 + friendly_name: Centaur AWS with MySQL 8.4 - build_type: centaurDummy - build_mysql: 5.7 - friendly_name: Centaur Dummy with MySQL 5.7 + build_mysql: 8.4 + friendly_name: Centaur Dummy with MySQL 8.4 - build_type: centaurHoricromtalPapiV2beta - build_mysql: 5.7 - friendly_name: Centaur Horicromtal PapiV2 Beta with MySQL 5.7 + build_mysql: 8.4 + friendly_name: Centaur Horicromtal PapiV2 Beta with MySQL 8.4 - build_type: horicromtalDeadlock friendly_name: Horicromtal Deadlock - build_type: singleWorkflowRunner @@ -89,15 +71,15 @@ jobs: build_postgresql: 11.3 friendly_name: Centaur Local with PostgreSQL 11.3 - build_type: centaurEngineUpgradeLocal - build_mysql: 5.7 - friendly_name: Centaur Engine Upgrade Local with MySQL 5.7 + build_mysql: 8.4 + friendly_name: Centaur Engine Upgrade Local with MySQL 8.4 - build_type: referenceDiskManifestBuilderApp friendly_name: Reference Disk Manifest Builder App - build_type: centaurSlurm - build_mysql: 5.7 - friendly_name: "Centaur Slurm with MySQL 5.7" + build_mysql: 8.4 + friendly_name: "Centaur Slurm with MySQL 8.4" - build_type: centaurBlob - build_mysql: 5.7 + build_mysql: 8.4 friendly_name: Centaur Blob name: ${{ matrix.friendly_name }} env: diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test index 7310d8b5167..8c23f8f1b2d 100644 --- a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test +++ b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test @@ -15,7 +15,7 @@ files { } metadata { - workflowName: recursive_imports_cost + workflowName: recursive_imports status: Succeeded } diff --git a/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala b/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala index e6aa56193ba..dc202da03d7 100644 --- a/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala +++ b/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala @@ -75,7 +75,8 @@ object TestFormulas extends StrictLogging { } yield SubmitResponse(submittedWorkflow) def runSuccessfulWorkflowAndVerifyMetadata( - workflowDefinition: Workflow + workflowDefinition: Workflow, + checkCost: Boolean = false )(implicit cromwellTracker: Option[CromwellTracker]): Test[SubmitResponse] = for { _ <- checkDescription(workflowDefinition, validityExpectation = Option(true)) _ <- timingVerificationNotSupported(workflowDefinition.maximumAllowedTime) @@ -94,6 +95,7 @@ object TestFormulas extends StrictLogging { _ <- validateLogs(metadata, submittedWorkflow, workflowDefinition) _ = cromwellTracker.track(metadata) _ <- validateDirectoryContentsCounts(workflowDefinition, submittedWorkflow, metadata) + _ <- if (checkCost) fetchAndValidateCost(workflowDefinition, submittedWorkflow) else Test.successful(()) } yield SubmitResponse(submittedWorkflow) def runFailingWorkflowAndVerifyMetadata( @@ -111,9 +113,9 @@ object TestFormulas extends StrictLogging { _ <- validateDirectoryContentsCounts(workflowDefinition, submittedWorkflow, metadata) } yield SubmitResponse(submittedWorkflow) - def runWorkflowTwiceExpectingCaching( + def runWorkflowTwiceAndCache( workflowDefinition: Workflow - )(implicit cromwellTracker: Option[CromwellTracker]): Test[SubmitResponse] = + )(implicit cromwellTracker: Option[CromwellTracker]): Test[SubmittedWorkflow] = for { _ <- checkDescription(workflowDefinition, validityExpectation = Option(true)) _ <- timingVerificationNotSupported(workflowDefinition.maximumAllowedTime) @@ -128,10 +130,11 @@ object TestFormulas extends StrictLogging { _ = cromwellTracker.track(metadata) _ <- validateNoCacheMisses(secondWf, metadata, workflowDefinition) _ <- validateDirectoryContentsCounts(workflowDefinition, secondWf, metadata) - } yield SubmitResponse(secondWf) + } yield secondWf - def runWorkflowTwiceExpectingCachingNoCost( - workflowDefinition: Workflow + def runWorkflowTwiceExpectingCaching( + workflowDefinition: Workflow, + checkCost: Boolean = false )(implicit cromwellTracker: Option[CromwellTracker]): Test[SubmitResponse] = for { _ <- checkDescription(workflowDefinition, validityExpectation = Option(true)) @@ -147,7 +150,7 @@ object TestFormulas extends StrictLogging { _ = cromwellTracker.track(metadata) _ <- validateNoCacheMisses(secondWf, metadata, workflowDefinition) _ <- validateDirectoryContentsCounts(workflowDefinition, secondWf, metadata) - _ <- validateNoCost(secondWf) + _ <- if (checkCost) validateNoCost(secondWf) else Test.successful(()) } yield SubmitResponse(secondWf) def runWorkflowThriceExpectingCaching( @@ -357,15 +360,6 @@ object TestFormulas extends StrictLogging { case _ => Test.invalidTestDefinition("Configuration not supported by PapiUpgradeTest", workflowDefinition) } - def runSuccessfulWorkflowAndVerifyCost( - workflowSpec: Workflow - ): Test[SubmitResponse] = for { - _ <- checkDescription(workflowSpec, validityExpectation = Option(true)) - _ <- timingVerificationNotSupported(workflowSpec.maximumAllowedTime) - submittedWorkflow <- runSuccessfulWorkflow(workflowSpec) - _ <- fetchAndValidateCost(workflowSpec, submittedWorkflow) - } yield SubmitResponse(submittedWorkflow) - implicit class EnhancedCromwellTracker(val tracker: Option[CromwellTracker]) extends AnyVal { def track(metadata: WorkflowMetadata): Unit = tracker foreach { _.track(metadata) } } diff --git a/centaur/src/main/scala/centaur/test/standard/CentaurTestCase.scala b/centaur/src/main/scala/centaur/test/standard/CentaurTestCase.scala index a47abe4ef0e..d577ba60260 100644 --- a/centaur/src/main/scala/centaur/test/standard/CentaurTestCase.scala +++ b/centaur/src/main/scala/centaur/test/standard/CentaurTestCase.scala @@ -25,10 +25,10 @@ case class CentaurTestCase(workflow: Workflow, def testFunction: Test[SubmitResponse] = this.testFormat match { case WorkflowSuccessTest => TestFormulas.runSuccessfulWorkflowAndVerifyMetadata(workflow) case WorkflowSuccessAndTimedOutputsTest => TestFormulas.runSuccessfulWorkflowAndVerifyTimeAndOutputs(workflow) - case WorkflowSuccessAndVerifyCostTest => TestFormulas.runSuccessfulWorkflowAndVerifyCost(workflow) + case WorkflowSuccessAndVerifyCostTest => TestFormulas.runSuccessfulWorkflowAndVerifyMetadata(workflow, true) case WorkflowFailureTest => TestFormulas.runFailingWorkflowAndVerifyMetadata(workflow) case RunTwiceExpectingCallCachingTest => TestFormulas.runWorkflowTwiceExpectingCaching(workflow) - case RunTwiceExpectingCallCachingNoCostTest => TestFormulas.runWorkflowTwiceExpectingCachingNoCost(workflow) + case RunTwiceExpectingCallCachingNoCostTest => TestFormulas.runWorkflowTwiceExpectingCaching(workflow, true) case RunThriceExpectingCallCachingTest => TestFormulas.runWorkflowThriceExpectingCaching(workflow) case RunTwiceExpectingNoCallCachingTest => TestFormulas.runWorkflowTwiceExpectingNoCaching(workflow) case RunFailingTwiceExpectingNoCallCachingTest => TestFormulas.runFailingWorkflowTwiceExpectingNoCaching(workflow) diff --git a/core/src/main/resources/reference.conf b/core/src/main/resources/reference.conf index 057b20a9642..eaa0cad4246 100644 --- a/core/src/main/resources/reference.conf +++ b/core/src/main/resources/reference.conf @@ -616,7 +616,7 @@ services { GcpCostCatalogService { class = "cromwell.services.cost.GcpCostCatalogService" config { - enabled = false + enabled = true catalogExpirySeconds = 86400 } } diff --git a/src/ci/docker-compose/docker-compose-deadlock.yml b/src/ci/docker-compose/docker-compose-deadlock.yml index febf23b8153..eebec51df04 100644 --- a/src/ci/docker-compose/docker-compose-deadlock.yml +++ b/src/ci/docker-compose/docker-compose-deadlock.yml @@ -18,7 +18,7 @@ version: '2.1' services: mysql-db: - image: "mysql:5.7" + image: "mysql:8.4" environment: - MYSQL_ROOT_PASSWORD=private - MYSQL_USER=cromwell diff --git a/src/ci/docker-compose/docker-compose.yml b/src/ci/docker-compose/docker-compose.yml index d58425c3fb1..600b6ab8a04 100644 --- a/src/ci/docker-compose/docker-compose.yml +++ b/src/ci/docker-compose/docker-compose.yml @@ -21,7 +21,7 @@ services: - mariadb-db - postgresql-db mysql-db: - image: "mysql:5.7" + image: "mysql:8.4" environment: - MYSQL_ROOT_PASSWORD=private - MYSQL_USER=cromwell diff --git a/src/ci/resources/gcp_batch_application.inc.conf.ctmpl b/src/ci/resources/gcp_batch_application.inc.conf.ctmpl index 32eb7912c44..f89ca3104b1 100644 --- a/src/ci/resources/gcp_batch_application.inc.conf.ctmpl +++ b/src/ci/resources/gcp_batch_application.inc.conf.ctmpl @@ -58,6 +58,12 @@ services { google-auth-name = "service_account" } } + GcpCostCatalogService { + class = "cromwell.services.cost.GcpCostCatalogService" + config { + enabled = true + catalogExpirySeconds = 86400 + } } filesystems.drs.global.config.resolver.url = "https://drshub.dsde-dev.broadinstitute.org/api/v4/drs/resolve" diff --git a/src/ci/resources/papi_v2beta_application.conf b/src/ci/resources/papi_v2beta_application.conf index be4ac5d81b0..816f9748d15 100644 --- a/src/ci/resources/papi_v2beta_application.conf +++ b/src/ci/resources/papi_v2beta_application.conf @@ -103,4 +103,8 @@ services { # metadata does not convert non-Strings to Strings since that key will always contain boolean values. metadata-keys-to-sanitize-utf8mb4 = ["submittedFiles:workflow", "commandLine", "outputs:metadata_type_validation.validate_boolean.boolean_output"] } + GcpCostCatalogService.config { + enabled = true + catalogExpirySeconds = 86400 + } } From a459a7a989f1ab40b77a58ff40f628a245cde647 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Sat, 8 Feb 2025 17:33:55 -0500 Subject: [PATCH 20/41] switch to cost range --- .../recursive_imports_cost.test | 2 +- .../src/main/scala/centaur/test/Test.scala | 15 +++++++-------- .../centaur/test/formulas/TestFormulas.scala | 19 ------------------- .../centaur/test/workflow/Workflow.scala | 4 ++-- docs/developers/Centaur.md | 8 ++++---- src/ci/resources/build_application.inc.conf | 8 ++++---- .../gcp_batch_application.inc.conf.ctmpl | 7 ++++--- .../resources/papi_application.inc.conf.ctmpl | 7 +++++++ src/ci/resources/papi_v2beta_application.conf | 2 +- 9 files changed, 30 insertions(+), 42 deletions(-) diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test index 8c23f8f1b2d..b288261af7d 100644 --- a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test +++ b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test @@ -19,4 +19,4 @@ metadata { status: Succeeded } -cost: 0.0016 +cost: [0.0017, 0.0015] diff --git a/centaur/src/main/scala/centaur/test/Test.scala b/centaur/src/main/scala/centaur/test/Test.scala index 0cdd3160c36..4e29792717f 100644 --- a/centaur/src/main/scala/centaur/test/Test.scala +++ b/centaur/src/main/scala/centaur/test/Test.scala @@ -1061,22 +1061,21 @@ object Operations extends StrictLogging { } } - def getExpectedCost(workflowCost: Option[BigDecimal]): IO[BigDecimal] = + def getExpectedCost(workflowCost: Option[List[BigDecimal]]): IO[List[BigDecimal]] = workflowCost match { - case Some(cost) if cost == 0 => IO.raiseError(new Exception("Expected cost cannot be 0")) + case Some(cost) if cost(0) > cost(1) => IO.raiseError(new Exception(s"Lower bound of expected cost cannot be higher than the upper bound (${cost(0)} - ${cost(1)})")) case Some(cost) => IO.pure(cost) case None => - IO.raiseError(new Exception("Expected 'cost' is required in the test config to validate the workflow cost")) + IO.raiseError(new Exception("Expected cost range is required in the test config to validate the workflow cost")) } /** - * Validate that the actual cost is within 10% of the expected cost + * Validate that the actual cost is within the expected range */ - def validateCost(actualCost: BigDecimal, expectedCost: BigDecimal): IO[Unit] = { - val costDiff = (actualCost - expectedCost).abs / expectedCost - if (costDiff > 0.1) { + def validateCost(actualCost: BigDecimal, expectedCost: List[BigDecimal]): IO[Unit] = { + if (expectedCost(0) > actualCost || actualCost > expectedCost(1)) { IO.raiseError( - new Exception(s"Expected cost $expectedCost but got $actualCost, which is outside the 10% threshold") + new Exception(s"Expected cost within range ${expectedCost(0)} - ${expectedCost(1)} but got $actualCost") ) } else { IO.unit diff --git a/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala b/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala index dc202da03d7..966e04320ee 100644 --- a/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala +++ b/centaur/src/main/scala/centaur/test/formulas/TestFormulas.scala @@ -113,25 +113,6 @@ object TestFormulas extends StrictLogging { _ <- validateDirectoryContentsCounts(workflowDefinition, submittedWorkflow, metadata) } yield SubmitResponse(submittedWorkflow) - def runWorkflowTwiceAndCache( - workflowDefinition: Workflow - )(implicit cromwellTracker: Option[CromwellTracker]): Test[SubmittedWorkflow] = - for { - _ <- checkDescription(workflowDefinition, validityExpectation = Option(true)) - _ <- timingVerificationNotSupported(workflowDefinition.maximumAllowedTime) - firstWF <- runSuccessfulWorkflow(workflowDefinition) - secondWf <- runSuccessfulWorkflow(workflowDefinition.secondRun) - _ <- printHashDifferential(firstWF, secondWf) - metadata <- fetchAndValidateNonSubworkflowMetadata(secondWf, workflowDefinition, Option(firstWF.id.id)) - _ <- fetchAndValidateJobManagerStyleMetadata(secondWf, - workflowDefinition, - prefetchedOriginalNonSubWorkflowMetadata = None - ) - _ = cromwellTracker.track(metadata) - _ <- validateNoCacheMisses(secondWf, metadata, workflowDefinition) - _ <- validateDirectoryContentsCounts(workflowDefinition, secondWf, metadata) - } yield secondWf - def runWorkflowTwiceExpectingCaching( workflowDefinition: Workflow, checkCost: Boolean = false diff --git a/centaur/src/main/scala/centaur/test/workflow/Workflow.scala b/centaur/src/main/scala/centaur/test/workflow/Workflow.scala index 837f1c88925..6def21371de 100644 --- a/centaur/src/main/scala/centaur/test/workflow/Workflow.scala +++ b/centaur/src/main/scala/centaur/test/workflow/Workflow.scala @@ -26,7 +26,7 @@ final case class Workflow private (testName: String, skipDescribeEndpointValidation: Boolean, submittedWorkflowTracker: SubmittedWorkflowTracker, maximumAllowedTime: Option[FiniteDuration], - cost: Option[BigDecimal] = None + cost: Option[List[BigDecimal]] = None ) { def toWorkflowSubmission: WorkflowSingleSubmission = WorkflowSingleSubmission( @@ -95,7 +95,7 @@ object Workflow { val validateDescription: Boolean = conf.get[Boolean]("skipDescribeEndpointValidation").valueOrElse(false) val maximumTime: Option[FiniteDuration] = conf.get[Option[FiniteDuration]]("maximumTime").value - val cost: Option[BigDecimal] = conf.get[Option[BigDecimal]]("cost").value + val cost: Option[List[BigDecimal]] = conf.get[Option[List[BigDecimal]]]("cost").value (files, directoryContentCheckValidation, metadata, retryTestFailuresErrorOr) mapN { (f, d, m, retryTestFailures) => diff --git a/docs/developers/Centaur.md b/docs/developers/Centaur.md index be95a4d58f0..5f73a6498b4 100644 --- a/docs/developers/Centaur.md +++ b/docs/developers/Centaur.md @@ -76,8 +76,8 @@ metadata { "failures.0.causedBy": "BetweenKeyboardAndChairException" } -// Optional, the expected cost of running the workflow -cost: 0.0000 +// Optional, the expected cost range of running the workflow +cost:[ 0.0000, 0.0001 ] filesystemcheck: "local" // possible values: "local", "gcs". Used in conjunction with outputExpectations to define files we expect to exist after running this workflow. outputExpectations: { @@ -110,8 +110,8 @@ In case the absolute path the cromwell root is used (for example: `/home/my_user In case testing of the caching is required `<>` can be used. The testFormat should be `runtwiceexpectingcallcaching`. To verify that the cost is 0 when using call-caching the testFormat should be `runtwiceexpectingcallcachingnocost` -The cost is optional. If supplied, Centaur will retrieve the cost of the successfully completed workflow and compare it to the cost supplied. -The expected range is within 10% of the estimated cost. If evaluating the cost, the test format must be `WorkflowSuccessAndVerifyCost` and the call-caching option must be disabled for that test (example can be found in the `recursive_imports_cost.test`) +The cost is optional. If supplied, Centaur will retrieve the cost of the successfully completed workflow and compare it to the cost range supplied. +If evaluating the cost, the test format must be `WorkflowSuccessAndVerifyCost` and the call-caching option must be disabled for that test (example can be found in the `recursive_imports_cost.test`) ## Centaur Test Types diff --git a/src/ci/resources/build_application.inc.conf b/src/ci/resources/build_application.inc.conf index f8271064d24..9eb69a06967 100644 --- a/src/ci/resources/build_application.inc.conf +++ b/src/ci/resources/build_application.inc.conf @@ -59,10 +59,10 @@ services.MetadataService.config.metadata-write-statistics { sub-workflow-bundling = true } - services.GcpCostCatalogService.config { - enabled = true - catalogExpirySeconds = 86400 - } +services.GcpCostCatalogService.config { + enabled = true + catalogExpirySeconds = 86400 +} # Make the shutdown timeout conspicuously long, so that if it hangs, it is an obvious problem in CI. # See https://github.com/broadinstitute/cromwell/issues/2575 diff --git a/src/ci/resources/gcp_batch_application.inc.conf.ctmpl b/src/ci/resources/gcp_batch_application.inc.conf.ctmpl index f89ca3104b1..dbf5dc3b6ce 100644 --- a/src/ci/resources/gcp_batch_application.inc.conf.ctmpl +++ b/src/ci/resources/gcp_batch_application.inc.conf.ctmpl @@ -60,9 +60,10 @@ services { } GcpCostCatalogService { class = "cromwell.services.cost.GcpCostCatalogService" - config { - enabled = true - catalogExpirySeconds = 86400 + config { + enabled = true + catalogExpirySeconds = 86400 + } } } diff --git a/src/ci/resources/papi_application.inc.conf.ctmpl b/src/ci/resources/papi_application.inc.conf.ctmpl index 486cd7f5378..cd3504fa169 100644 --- a/src/ci/resources/papi_application.inc.conf.ctmpl +++ b/src/ci/resources/papi_application.inc.conf.ctmpl @@ -58,6 +58,13 @@ services { google-auth-name = "service_account" } } + GcpCostCatalogService { + class = "cromwell.services.cost.GcpCostCatalogService" + config { + enabled = true + catalogExpirySeconds = 86400 + } + } } filesystems.drs.global.config.resolver.url = "https://drshub.dsde-dev.broadinstitute.org/api/v4/drs/resolve" diff --git a/src/ci/resources/papi_v2beta_application.conf b/src/ci/resources/papi_v2beta_application.conf index 816f9748d15..27c240b2cb8 100644 --- a/src/ci/resources/papi_v2beta_application.conf +++ b/src/ci/resources/papi_v2beta_application.conf @@ -103,7 +103,7 @@ services { # metadata does not convert non-Strings to Strings since that key will always contain boolean values. metadata-keys-to-sanitize-utf8mb4 = ["submittedFiles:workflow", "commandLine", "outputs:metadata_type_validation.validate_boolean.boolean_output"] } - GcpCostCatalogService.config { + GcpCostCatalogService { enabled = true catalogExpirySeconds = 86400 } From a9263f07e02713e462e457f57780eed943860074 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Sat, 8 Feb 2025 17:34:34 -0500 Subject: [PATCH 21/41] oops --- .../resources/standardTestCases/recursive_imports_cost.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test index b288261af7d..b1e5803c3ab 100644 --- a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test +++ b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test @@ -19,4 +19,4 @@ metadata { status: Succeeded } -cost: [0.0017, 0.0015] +cost: [0.0015, 0.0017] From b181c034b7ee76081010c9368a5a8cd115e3eba4 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Sat, 8 Feb 2025 17:45:29 -0500 Subject: [PATCH 22/41] fmt --- centaur/src/main/scala/centaur/test/Test.scala | 8 +++++--- core/src/main/resources/reference.conf | 2 +- src/ci/resources/papi_v2beta_application.conf | 4 ---- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/centaur/src/main/scala/centaur/test/Test.scala b/centaur/src/main/scala/centaur/test/Test.scala index 4e29792717f..d11738ae6a3 100644 --- a/centaur/src/main/scala/centaur/test/Test.scala +++ b/centaur/src/main/scala/centaur/test/Test.scala @@ -1063,7 +1063,10 @@ object Operations extends StrictLogging { def getExpectedCost(workflowCost: Option[List[BigDecimal]]): IO[List[BigDecimal]] = workflowCost match { - case Some(cost) if cost(0) > cost(1) => IO.raiseError(new Exception(s"Lower bound of expected cost cannot be higher than the upper bound (${cost(0)} - ${cost(1)})")) + case Some(cost) if cost(0) > cost(1) => + IO.raiseError( + new Exception(s"Lower bound of expected cost cannot be higher than the upper bound (${cost(0)} - ${cost(1)})") + ) case Some(cost) => IO.pure(cost) case None => IO.raiseError(new Exception("Expected cost range is required in the test config to validate the workflow cost")) @@ -1072,7 +1075,7 @@ object Operations extends StrictLogging { /** * Validate that the actual cost is within the expected range */ - def validateCost(actualCost: BigDecimal, expectedCost: List[BigDecimal]): IO[Unit] = { + def validateCost(actualCost: BigDecimal, expectedCost: List[BigDecimal]): IO[Unit] = if (expectedCost(0) > actualCost || actualCost > expectedCost(1)) { IO.raiseError( new Exception(s"Expected cost within range ${expectedCost(0)} - ${expectedCost(1)} but got $actualCost") @@ -1080,7 +1083,6 @@ object Operations extends StrictLogging { } else { IO.unit } - } def fetchAndValidateCost(workflowSpec: Workflow, submittedWorkflow: SubmittedWorkflow): Test[Unit] = new Test[Unit] { diff --git a/core/src/main/resources/reference.conf b/core/src/main/resources/reference.conf index eaa0cad4246..057b20a9642 100644 --- a/core/src/main/resources/reference.conf +++ b/core/src/main/resources/reference.conf @@ -616,7 +616,7 @@ services { GcpCostCatalogService { class = "cromwell.services.cost.GcpCostCatalogService" config { - enabled = true + enabled = false catalogExpirySeconds = 86400 } } diff --git a/src/ci/resources/papi_v2beta_application.conf b/src/ci/resources/papi_v2beta_application.conf index 27c240b2cb8..be4ac5d81b0 100644 --- a/src/ci/resources/papi_v2beta_application.conf +++ b/src/ci/resources/papi_v2beta_application.conf @@ -103,8 +103,4 @@ services { # metadata does not convert non-Strings to Strings since that key will always contain boolean values. metadata-keys-to-sanitize-utf8mb4 = ["submittedFiles:workflow", "commandLine", "outputs:metadata_type_validation.validate_boolean.boolean_output"] } - GcpCostCatalogService { - enabled = true - catalogExpirySeconds = 86400 - } } From 5ef83f3c2ffbd16a88521904d633bf0292dff1b2 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Sat, 8 Feb 2025 18:28:44 -0500 Subject: [PATCH 23/41] update docs --- CHANGELOG.md | 4 ++ docs/Configuring.md | 2 + docs/tutorials/PersistentServer.md | 2 +- .../scripts/start_publish_mysql_docker.sh | 2 +- src/ci/resources/build_application.inc.conf | 39 ++++++++++++++----- 5 files changed, 37 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f5fa58aaa8..561aa09cce0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## 88 Release Notes +### Mysql 8.4 + +Cromwell now supports MySQL 8.4 and 8.4-compatible databases. While older versions of MySQL are no longer officially supported or tested, but they are not explicitly forbidden from use. + ### New feature: Prevent Job start during Cloud Quota exhaustion This optional feature prevents Cromwell from starting new jobs in a group that is currently experiencing diff --git a/docs/Configuring.md b/docs/Configuring.md index e4c6078f95b..3882fc1832f 100644 --- a/docs/Configuring.md +++ b/docs/Configuring.md @@ -199,6 +199,8 @@ database { } ``` +Note: Cromwell currently only officially supports MySQL version 8.4 + To see the full list of possible parameters and values for the `db` stanza see [the slick documentation](http://slick.lightbend.com/doc/3.2.0/api/index.html#slick.jdbc.JdbcBackend$DatabaseFactoryDef@forConfig(String,Config,Driver):Database). **Cromwell server on MySQL Database** diff --git a/docs/tutorials/PersistentServer.md b/docs/tutorials/PersistentServer.md index 2e025a1fd9e..abb78a5830a 100644 --- a/docs/tutorials/PersistentServer.md +++ b/docs/tutorials/PersistentServer.md @@ -16,7 +16,7 @@ Cromwell remembers everything it knows! - Start the MySQL docker container with the following line: ```bash -docker run -p 3306:3306 --name NameOfTheContainer -e MYSQL_ROOT_PASSWORD=YourPassword -e MYSQL_DATABASE=DatabaseName -e MYSQL_USER=ChooseAName -e MYSQL_PASSWORD=YourOtherPassword -d mysql/mysql-server:5.5 +docker run -p 3306:3306 --name NameOfTheContainer -e MYSQL_ROOT_PASSWORD=YourPassword -e MYSQL_DATABASE=DatabaseName -e MYSQL_USER=ChooseAName -e MYSQL_PASSWORD=YourOtherPassword -d mysql/mysql-server:8.4 ``` - Update your `application.conf` file. diff --git a/processes/release_processes/scripts/start_publish_mysql_docker.sh b/processes/release_processes/scripts/start_publish_mysql_docker.sh index 7021e93e8df..6deff1ba7ab 100755 --- a/processes/release_processes/scripts/start_publish_mysql_docker.sh +++ b/processes/release_processes/scripts/start_publish_mysql_docker.sh @@ -25,4 +25,4 @@ docker run \ --env MYSQL_DATABASE=cromwell_test \ --env MYSQL_USER=cromwell \ --env MYSQL_PASSWORD=test \ - --rm mysql/mysql-server:5.6 + --rm mysql:8.4 diff --git a/src/ci/resources/build_application.inc.conf b/src/ci/resources/build_application.inc.conf index 9eb69a06967..70f6904f3db 100644 --- a/src/ci/resources/build_application.inc.conf +++ b/src/ci/resources/build_application.inc.conf @@ -52,17 +52,36 @@ system { } # See documentation for these values in cromwell.examples.conf -services.MetadataService.config.metadata-write-statistics { - enabled = true - cache-size = 20000 - metadata-row-alert-interval = 5000 # Quite low... but we don't expect much metadata from test workflows, right? - sub-workflow-bundling = true -} - -services.GcpCostCatalogService.config { - enabled = true - catalogExpirySeconds = 86400 +services { + MetadataService { + class = "cromwell.services.metadata.impl.MetadataServiceActor" + config { + metadata-write-statistics { + enabled = true + cache-size = 20000 + metadata-row-alert-interval = 5000 + sub-workflow-bundling = true + } + } + GcpCostCatalogService { + class = "cromwell.services.cost.GcpCostCatalogService" + config { + enabled = true + catalogExpirySeconds = 86400 + } + } } +; services.MetadataService.config.metadata-write-statistics { +; enabled = true +; cache-size = 20000 +; metadata-row-alert-interval = 5000 # Quite low... but we don't expect much metadata from test workflows, right? +; sub-workflow-bundling = true +; } +; +; services.GcpCostCatalogService.config { +; enabled = true +; catalogExpirySeconds = 86400 +; } # Make the shutdown timeout conspicuously long, so that if it hangs, it is an obvious problem in CI. # See https://github.com/broadinstitute/cromwell/issues/2575 From dcd3dd378d567480f1288138e14df2c146118336 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Tue, 11 Feb 2025 09:37:31 -0500 Subject: [PATCH 24/41] config fmt --- src/ci/resources/build_application.inc.conf | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/ci/resources/build_application.inc.conf b/src/ci/resources/build_application.inc.conf index 70f6904f3db..f5279eade1f 100644 --- a/src/ci/resources/build_application.inc.conf +++ b/src/ci/resources/build_application.inc.conf @@ -71,17 +71,6 @@ services { } } } -; services.MetadataService.config.metadata-write-statistics { -; enabled = true -; cache-size = 20000 -; metadata-row-alert-interval = 5000 # Quite low... but we don't expect much metadata from test workflows, right? -; sub-workflow-bundling = true -; } -; -; services.GcpCostCatalogService.config { -; enabled = true -; catalogExpirySeconds = 86400 -; } # Make the shutdown timeout conspicuously long, so that if it hangs, it is an obvious problem in CI. # See https://github.com/broadinstitute/cromwell/issues/2575 From 2b9e7f73ae02d2654ccf2aa4c725fa2f9e46ca18 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Tue, 11 Feb 2025 09:42:09 -0500 Subject: [PATCH 25/41] tweaks --- CHANGELOG.md | 2 +- .../resources/standardTestCases/sub_workflow_hello_world.test | 1 - .../release_processes/scripts/start_publish_mysql_docker.sh | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 561aa09cce0..458fb8bab06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ### Mysql 8.4 -Cromwell now supports MySQL 8.4 and 8.4-compatible databases. While older versions of MySQL are no longer officially supported or tested, but they are not explicitly forbidden from use. +Cromwell now supports MySQL 8.4 and 8.4-compatible databases. Older versions of MySQL are no longer officially supported or tested, but they are not explicitly forbidden from use. ### New feature: Prevent Job start during Cloud Quota exhaustion diff --git a/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test b/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test index e9647513d37..cc18f753e42 100644 --- a/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test +++ b/centaur/src/main/resources/standardTestCases/sub_workflow_hello_world.test @@ -14,4 +14,3 @@ metadata { status: Succeeded "outputs.main_workflow.main_output": "Hello sub world!" } - diff --git a/processes/release_processes/scripts/start_publish_mysql_docker.sh b/processes/release_processes/scripts/start_publish_mysql_docker.sh index 6deff1ba7ab..63aa383a327 100755 --- a/processes/release_processes/scripts/start_publish_mysql_docker.sh +++ b/processes/release_processes/scripts/start_publish_mysql_docker.sh @@ -25,4 +25,4 @@ docker run \ --env MYSQL_DATABASE=cromwell_test \ --env MYSQL_USER=cromwell \ --env MYSQL_PASSWORD=test \ - --rm mysql:8.4 + --rm mysql/mysql-server:8.0 #TODO: update to mysql server 8.4 when available From af74cadb0cb6ddc181c726bdfff6b52b77437354 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Tue, 11 Feb 2025 10:25:29 -0500 Subject: [PATCH 26/41] missing paren --- src/ci/resources/build_application.inc.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ci/resources/build_application.inc.conf b/src/ci/resources/build_application.inc.conf index f5279eade1f..3a2cd0c2678 100644 --- a/src/ci/resources/build_application.inc.conf +++ b/src/ci/resources/build_application.inc.conf @@ -62,6 +62,7 @@ services { metadata-row-alert-interval = 5000 sub-workflow-bundling = true } + } } GcpCostCatalogService { class = "cromwell.services.cost.GcpCostCatalogService" From 9106c964dc8b64be4db31a0336bc5587983edaef Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Tue, 11 Feb 2025 18:00:41 -0500 Subject: [PATCH 27/41] adding application default to google auths for batch + papi --- .../cacheBetweenWfNoCost.test | 1 + .../recursive_imports_cost.test | 1 + src/ci/resources/build_application.inc.conf | 24 ++++--------------- .../gcp_batch_application.inc.conf.ctmpl | 4 ++++ .../resources/papi_application.inc.conf.ctmpl | 4 ++++ 5 files changed, 15 insertions(+), 19 deletions(-) diff --git a/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test b/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test index 4567ba23100..8844a24d2a4 100644 --- a/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test +++ b/centaur/src/main/resources/standardTestCases/cacheBetweenWfNoCost.test @@ -1,5 +1,6 @@ name: cacheBetweenWFNoCost testFormat: runtwiceexpectingcallcachingnocost +backends: [Papi, GCPBATCH] files { workflow: cacheBetweenWF/cacheBetweenWFNoCost.wdl diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test index b1e5803c3ab..506c602ea79 100644 --- a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test +++ b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test @@ -1,5 +1,6 @@ name: recursive_imports_cost testFormat: workflowsuccessandverifycost +backends: [Papi, GCPBATCH] files { workflow: recursive_imports/recursive_imports.wdl diff --git a/src/ci/resources/build_application.inc.conf b/src/ci/resources/build_application.inc.conf index 3a2cd0c2678..260e0463a14 100644 --- a/src/ci/resources/build_application.inc.conf +++ b/src/ci/resources/build_application.inc.conf @@ -52,25 +52,11 @@ system { } # See documentation for these values in cromwell.examples.conf -services { - MetadataService { - class = "cromwell.services.metadata.impl.MetadataServiceActor" - config { - metadata-write-statistics { - enabled = true - cache-size = 20000 - metadata-row-alert-interval = 5000 - sub-workflow-bundling = true - } - } - } - GcpCostCatalogService { - class = "cromwell.services.cost.GcpCostCatalogService" - config { - enabled = true - catalogExpirySeconds = 86400 - } - } +services.MetadataService.config.metadata-write-statistics { + enabled = true + cache-size = 20000 + metadata-row-alert-interval = 5000 # Quite low... but we don't expect much metadata from test workflows, right? + sub-workflow-bundling = true } # Make the shutdown timeout conspicuously long, so that if it hangs, it is an obvious problem in CI. diff --git a/src/ci/resources/gcp_batch_application.inc.conf.ctmpl b/src/ci/resources/gcp_batch_application.inc.conf.ctmpl index dbf5dc3b6ce..b36d4b39333 100644 --- a/src/ci/resources/gcp_batch_application.inc.conf.ctmpl +++ b/src/ci/resources/gcp_batch_application.inc.conf.ctmpl @@ -44,6 +44,10 @@ google { name = "user_service_account" scheme = "user_service_account" } + { + name = "application-default" + scheme = "application_default" + } ] } diff --git a/src/ci/resources/papi_application.inc.conf.ctmpl b/src/ci/resources/papi_application.inc.conf.ctmpl index cd3504fa169..71b5694884d 100644 --- a/src/ci/resources/papi_application.inc.conf.ctmpl +++ b/src/ci/resources/papi_application.inc.conf.ctmpl @@ -44,6 +44,10 @@ google { name = "user_service_account" scheme = "user_service_account" } + { + name = "application-default" + scheme = "application_default" + } ] } From 642fead3d10829e08a2d04500ba4356a6bc033c4 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Tue, 11 Feb 2025 19:53:36 -0500 Subject: [PATCH 28/41] add google auth to papi provider conf --- .../papi_v2beta_provider_config.inc.conf | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/ci/resources/papi_v2beta_provider_config.inc.conf b/src/ci/resources/papi_v2beta_provider_config.inc.conf index e69eeaebc01..2a60d5f01e9 100644 --- a/src/ci/resources/papi_v2beta_provider_config.inc.conf +++ b/src/ci/resources/papi_v2beta_provider_config.inc.conf @@ -18,6 +18,38 @@ filesystems { } } + +google { + application-name = "cromwell" + json-dir = "Error: BA-6546 The environment variable CROMWELL_BUILD_RESOURCES_DIRECTORY must be set/export pointing to a valid path such as '${YOUR_CROMWELL_DIR}/target/ci/resources'" + json-dir = ${?CROMWELL_BUILD_RESOURCES_DIRECTORY} + auths = [ + { + name = "service_account" + scheme = "service_account" + json-file = ${google.json-dir}/cromwell-centaur-service-account.json + } + { + name = "requester_pays_service_account" + scheme = "service_account" + # This service account does have billing permission and can be used for requester pays + json-file = ${google.json-dir}/cromwell-centaur-requester-pays-service-account.json + } + { + name = "google_compute_service_account" + scheme = "service_account" + # This service account has only: + # 1. The role "Genomics Pipelines Runner" + # 2. Has been added a "Service Account User" on cromwell@broad-dsde-cromwell-dev.iam.gserviceaccount.com + json-file = ${google.json-dir}/cromwell-centaur-google-compute-service-account.json + } + { + name = "user_service_account" + scheme = "user_service_account" + } + ] +} + slow-job-warning-time: 20 minutes checkpointing-interval: "10 seconds" From b6954b0debb8305f37790bb5e0a386c719db38a8 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Tue, 11 Feb 2025 20:24:48 -0500 Subject: [PATCH 29/41] actually add AD --- .../gcp_batch_application.inc.conf.ctmpl | 2 +- .../resources/papi_application.inc.conf.ctmpl | 2 +- .../papi_v2beta_provider_config.inc.conf | 18 ++---------------- 3 files changed, 4 insertions(+), 18 deletions(-) diff --git a/src/ci/resources/gcp_batch_application.inc.conf.ctmpl b/src/ci/resources/gcp_batch_application.inc.conf.ctmpl index b36d4b39333..41f75d94449 100644 --- a/src/ci/resources/gcp_batch_application.inc.conf.ctmpl +++ b/src/ci/resources/gcp_batch_application.inc.conf.ctmpl @@ -46,7 +46,7 @@ google { } { name = "application-default" - scheme = "application_default" + scheme = "application_default" } ] } diff --git a/src/ci/resources/papi_application.inc.conf.ctmpl b/src/ci/resources/papi_application.inc.conf.ctmpl index 71b5694884d..9833b71a357 100644 --- a/src/ci/resources/papi_application.inc.conf.ctmpl +++ b/src/ci/resources/papi_application.inc.conf.ctmpl @@ -46,7 +46,7 @@ google { } { name = "application-default" - scheme = "application_default" + scheme = "application_default" } ] } diff --git a/src/ci/resources/papi_v2beta_provider_config.inc.conf b/src/ci/resources/papi_v2beta_provider_config.inc.conf index 2a60d5f01e9..7d181a869a2 100644 --- a/src/ci/resources/papi_v2beta_provider_config.inc.conf +++ b/src/ci/resources/papi_v2beta_provider_config.inc.conf @@ -30,22 +30,8 @@ google { json-file = ${google.json-dir}/cromwell-centaur-service-account.json } { - name = "requester_pays_service_account" - scheme = "service_account" - # This service account does have billing permission and can be used for requester pays - json-file = ${google.json-dir}/cromwell-centaur-requester-pays-service-account.json - } - { - name = "google_compute_service_account" - scheme = "service_account" - # This service account has only: - # 1. The role "Genomics Pipelines Runner" - # 2. Has been added a "Service Account User" on cromwell@broad-dsde-cromwell-dev.iam.gserviceaccount.com - json-file = ${google.json-dir}/cromwell-centaur-google-compute-service-account.json - } - { - name = "user_service_account" - scheme = "user_service_account" + name = "application-default" + scheme = "application_default" } ] } From ce5249a0a00f36983ea1feea224e3269db676b46 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Wed, 12 Feb 2025 10:06:39 -0500 Subject: [PATCH 30/41] add google auth in different config --- .../recursive_imports_cost.test | 2 +- .../papi_v2_shared_application.inc.conf | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test index 506c602ea79..b40d52b7edf 100644 --- a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test +++ b/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test @@ -20,4 +20,4 @@ metadata { status: Succeeded } -cost: [0.0015, 0.0017] +cost: [0.0015, 0.0019] diff --git a/src/ci/resources/papi_v2_shared_application.inc.conf b/src/ci/resources/papi_v2_shared_application.inc.conf index 173ad82a801..075b0cd1385 100644 --- a/src/ci/resources/papi_v2_shared_application.inc.conf +++ b/src/ci/resources/papi_v2_shared_application.inc.conf @@ -18,6 +18,23 @@ services { } } +google { + application-name = "cromwell" + json-dir = "Error: BA-6546 The environment variable CROMWELL_BUILD_RESOURCES_DIRECTORY must be set/export pointing to a valid path such as '${YOUR_CROMWELL_DIR}/target/ci/resources'" + json-dir = ${?CROMWELL_BUILD_RESOURCES_DIRECTORY} + auths = [ + { + name = "service_account" + scheme = "service_account" + json-file = ${google.json-dir}/cromwell-centaur-service-account.json + } + { + name = "application-default" + scheme = "application_default" + } + ] +} + backend { default = "Papi" enabled = ["Papi", "Papiv2", "Papi-Caching-No-Copy", "Papiv2RequesterPays", "Papiv2-Reference-Disk-Localization"] From 67ccdddb9b9d2311d1aba9a26358c49bfa013d98 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Wed, 12 Feb 2025 10:53:36 -0500 Subject: [PATCH 31/41] add requester pays SA --- .../papi_v2_shared_application.inc.conf | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/ci/resources/papi_v2_shared_application.inc.conf b/src/ci/resources/papi_v2_shared_application.inc.conf index 075b0cd1385..3a4cc4464fd 100644 --- a/src/ci/resources/papi_v2_shared_application.inc.conf +++ b/src/ci/resources/papi_v2_shared_application.inc.conf @@ -28,6 +28,24 @@ google { scheme = "service_account" json-file = ${google.json-dir}/cromwell-centaur-service-account.json } + { + name = "requester_pays_service_account" + scheme = "service_account" + # This service account does have billing permission and can be used for requester pays + json-file = ${google.json-dir}/cromwell-centaur-requester-pays-service-account.json + } + { + name = "google_compute_service_account" + scheme = "service_account" + # This service account has only: + # 1. The role "Genomics Pipelines Runner" + # 2. Has been added a "Service Account User" on cromwell@broad-dsde-cromwell-dev.iam.gserviceaccount.com + json-file = ${google.json-dir}/cromwell-centaur-google-compute-service-account.json + } + { + name = "user_service_account" + scheme = "user_service_account" + } { name = "application-default" scheme = "application_default" From a06a102fa39ebff7be224aa48251dd9506287df7 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Wed, 12 Feb 2025 11:50:29 -0500 Subject: [PATCH 32/41] add application creds to papi test file --- src/ci/bin/test_papi.inc.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ci/bin/test_papi.inc.sh b/src/ci/bin/test_papi.inc.sh index 5c59ee1b38f..0d8fa7cbbed 100644 --- a/src/ci/bin/test_papi.inc.sh +++ b/src/ci/bin/test_papi.inc.sh @@ -37,6 +37,7 @@ cromwell::private::papi::setup_papi_gcloud() { cromwell::build::add_exit_function cromwell::private::papi::teardown_papi_gcloud gcloud auth activate-service-account --key-file="${CROMWELL_BUILD_PAPI_AUTH_JSON}" + export GOOGLE_APPLICATION_CREDENTIALS="${CROMWELL_BUILD_BATCH_AUTH_JSON}" gcloud config set account "${CROMWELL_BUILD_PAPI_CLIENT_EMAIL}" gcloud config set project "${CROMWELL_BUILD_PAPI_PROJECT_ID}" } From 378f32e8171670a5217225bda51ba95132e3b0e9 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Wed, 12 Feb 2025 16:53:18 -0500 Subject: [PATCH 33/41] add back 8.0 --- .github/workflows/integration_tests.yml | 6 ++++++ CHANGELOG.md | 4 ++-- cromwell.example.backends/GCPBATCH.conf | 2 ++ src/ci/bin/test_papi.inc.sh | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 4ecbbd6241c..cd12a1f21bc 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -32,9 +32,15 @@ jobs: matrix: # Batch test fixes to land later include: + - build_type: centaurPapiV2beta + build_mysql: 8.0 + friendly_name: Life Sciences, MySQL 8.0 - build_type: centaurPapiV2beta build_mysql: 8.4 friendly_name: Life Sciences, MySQL 8.4 (current Terra production) + - build_type: centaurGcpBatch + build_mysql: 8.0 + friendly_name: GCP Batch, MySQL 8.0 - build_type: centaurGcpBatch build_mysql: 8.4 friendly_name: GCP Batch, MySQL 8.4 diff --git a/CHANGELOG.md b/CHANGELOG.md index 177e9d78c36..9c411a134b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,9 @@ ## 88 Release Notes -### Mysql 8.4 +### Mysql 8 & 8.4 -Cromwell now supports MySQL 8.4 and 8.4-compatible databases. Older versions of MySQL are no longer officially supported or tested, but they are not explicitly forbidden from use. +Cromwell now supports MySQL 8.0 and 8.4 and 8.0 and 8.4-compatible databases. Older versions of MySQL are no longer officially supported or tested, but they are not explicitly forbidden from use. ### New feature: Prevent Job start during Cloud Quota exhaustion diff --git a/cromwell.example.backends/GCPBATCH.conf b/cromwell.example.backends/GCPBATCH.conf index 96eb93fbbe5..3d724ec5a43 100644 --- a/cromwell.example.backends/GCPBATCH.conf +++ b/cromwell.example.backends/GCPBATCH.conf @@ -47,6 +47,8 @@ backend { # Batch Jobs and manipulate auth JSONs. auth = "application-default" + logs-policy = "PATH" + // alternative service account to use on the launched compute instance // NOTE: If combined with service account authorization, both that service account and this service account diff --git a/src/ci/bin/test_papi.inc.sh b/src/ci/bin/test_papi.inc.sh index 0d8fa7cbbed..2d883d458e9 100644 --- a/src/ci/bin/test_papi.inc.sh +++ b/src/ci/bin/test_papi.inc.sh @@ -37,7 +37,7 @@ cromwell::private::papi::setup_papi_gcloud() { cromwell::build::add_exit_function cromwell::private::papi::teardown_papi_gcloud gcloud auth activate-service-account --key-file="${CROMWELL_BUILD_PAPI_AUTH_JSON}" - export GOOGLE_APPLICATION_CREDENTIALS="${CROMWELL_BUILD_BATCH_AUTH_JSON}" + export GOOGLE_APPLICATION_CREDENTIALS="${CROMWELL_BUILD_PAPI_AUTH_JSON}" gcloud config set account "${CROMWELL_BUILD_PAPI_CLIENT_EMAIL}" gcloud config set project "${CROMWELL_BUILD_PAPI_PROJECT_ID}" } From 8421765a9e08c207aa23dd087b6a65938ace44ef Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Wed, 12 Feb 2025 17:04:09 -0500 Subject: [PATCH 34/41] wrong branch --- cromwell.example.backends/GCPBATCH.conf | 2 -- 1 file changed, 2 deletions(-) diff --git a/cromwell.example.backends/GCPBATCH.conf b/cromwell.example.backends/GCPBATCH.conf index 3d724ec5a43..96eb93fbbe5 100644 --- a/cromwell.example.backends/GCPBATCH.conf +++ b/cromwell.example.backends/GCPBATCH.conf @@ -47,8 +47,6 @@ backend { # Batch Jobs and manipulate auth JSONs. auth = "application-default" - logs-policy = "PATH" - // alternative service account to use on the launched compute instance // NOTE: If combined with service account authorization, both that service account and this service account From 43f10b79acffabca20d089cff1d42b95e8f81b40 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Wed, 12 Feb 2025 18:23:07 -0500 Subject: [PATCH 35/41] different cost for papi vs. batch --- ...test => recursive_imports_cost_batch.test} | 2 +- .../recursive_imports_cost_papi.test | 23 +++++++++++++++++++ docs/developers/Centaur.md | 3 ++- docs/developers/Running.md | 1 + docs/tutorials/PersistentServer.md | 2 +- 5 files changed, 28 insertions(+), 3 deletions(-) rename centaur/src/main/resources/standardTestCases/{recursive_imports_cost.test => recursive_imports_cost_batch.test} (95%) create mode 100644 centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test b/centaur/src/main/resources/standardTestCases/recursive_imports_cost_batch.test similarity index 95% rename from centaur/src/main/resources/standardTestCases/recursive_imports_cost.test rename to centaur/src/main/resources/standardTestCases/recursive_imports_cost_batch.test index b40d52b7edf..3f7c2e1ec43 100644 --- a/centaur/src/main/resources/standardTestCases/recursive_imports_cost.test +++ b/centaur/src/main/resources/standardTestCases/recursive_imports_cost_batch.test @@ -1,6 +1,6 @@ name: recursive_imports_cost testFormat: workflowsuccessandverifycost -backends: [Papi, GCPBATCH] +backends: [GCPBATCH] files { workflow: recursive_imports/recursive_imports.wdl diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test b/centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test new file mode 100644 index 00000000000..699605f643a --- /dev/null +++ b/centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test @@ -0,0 +1,23 @@ +name: recursive_imports_cost +testFormat: workflowsuccessandverifycost +backends: [Papi] + +files { + workflow: recursive_imports/recursive_imports.wdl + imports: [ + forkjoin/forkjoin.wdl, + sub_workflow_hello_world/sub_workflow_hello_world.wdl, + sub_workflow_hello_world/sub_workflow_hello_world_import.wdl, + sub_workflow_interactions/sub_workflow_interactions_import.wdl, + sub_workflow_interactions/sub_workflow_interactions.wdl + ] + # Adds option to disable call-caching + options: recursive_imports/recursive_imports_cost.options +} + +metadata { + workflowName: recursive_imports + status: Succeeded +} + +cost: [0.0035,0.0045] diff --git a/docs/developers/Centaur.md b/docs/developers/Centaur.md index 5f73a6498b4..7adce2d4169 100644 --- a/docs/developers/Centaur.md +++ b/docs/developers/Centaur.md @@ -111,7 +111,8 @@ In case testing of the caching is required `<>` can be used. The testFormat should be `runtwiceexpectingcallcaching`. To verify that the cost is 0 when using call-caching the testFormat should be `runtwiceexpectingcallcachingnocost` The cost is optional. If supplied, Centaur will retrieve the cost of the successfully completed workflow and compare it to the cost range supplied. -If evaluating the cost, the test format must be `WorkflowSuccessAndVerifyCost` and the call-caching option must be disabled for that test (example can be found in the `recursive_imports_cost.test`) +* If evaluating the cost, the test format must be `WorkflowSuccessAndVerifyCost` and the call-caching option must be disabled for that test (example can be found in the `recursive_imports_cost.test`) +* Different backends may have different costs, so be sure to specify the backend in the test case file ## Centaur Test Types diff --git a/docs/developers/Running.md b/docs/developers/Running.md index b19ccd2d0f3..3f00d30b884 100644 --- a/docs/developers/Running.md +++ b/docs/developers/Running.md @@ -1,6 +1,7 @@ In order to run a Cromwell instance locally, there are the some prerequisites: - Have docker and IntelliJ installed - Start a local mysql instance by running the `start_publish_mysql_docker.sh` script +- Run renderCiResources.sh to generate the configuration files To run the backend locally, set up your preferred run configuration. More information on backends can be found [here](Backend.md) diff --git a/docs/tutorials/PersistentServer.md b/docs/tutorials/PersistentServer.md index abb78a5830a..a9df7511812 100644 --- a/docs/tutorials/PersistentServer.md +++ b/docs/tutorials/PersistentServer.md @@ -16,7 +16,7 @@ Cromwell remembers everything it knows! - Start the MySQL docker container with the following line: ```bash -docker run -p 3306:3306 --name NameOfTheContainer -e MYSQL_ROOT_PASSWORD=YourPassword -e MYSQL_DATABASE=DatabaseName -e MYSQL_USER=ChooseAName -e MYSQL_PASSWORD=YourOtherPassword -d mysql/mysql-server:8.4 +docker run -p 3306:3306 --name NameOfTheContainer -e MYSQL_ROOT_PASSWORD=YourPassword -e MYSQL_DATABASE=DatabaseName -e MYSQL_USER=ChooseAName -e MYSQL_PASSWORD=YourOtherPassword -d mysql/mysql-server:8.0 ``` - Update your `application.conf` file. From 1e2d004a1d1aac04043a781006c703ca1657b181 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Wed, 12 Feb 2025 18:27:39 -0500 Subject: [PATCH 36/41] cleanup --- docs/Configuring.md | 2 +- .../papi_v2_shared_application.inc.conf | 35 ------------------- .../papi_v2beta_provider_config.inc.conf | 18 ---------- 3 files changed, 1 insertion(+), 54 deletions(-) diff --git a/docs/Configuring.md b/docs/Configuring.md index 3882fc1832f..c34f540b401 100644 --- a/docs/Configuring.md +++ b/docs/Configuring.md @@ -199,7 +199,7 @@ database { } ``` -Note: Cromwell currently only officially supports MySQL version 8.4 +Note: Cromwell currently only officially supports MySQL versions 8.0 ands 8.4 To see the full list of possible parameters and values for the `db` stanza see [the slick documentation](http://slick.lightbend.com/doc/3.2.0/api/index.html#slick.jdbc.JdbcBackend$DatabaseFactoryDef@forConfig(String,Config,Driver):Database). diff --git a/src/ci/resources/papi_v2_shared_application.inc.conf b/src/ci/resources/papi_v2_shared_application.inc.conf index 3a4cc4464fd..173ad82a801 100644 --- a/src/ci/resources/papi_v2_shared_application.inc.conf +++ b/src/ci/resources/papi_v2_shared_application.inc.conf @@ -18,41 +18,6 @@ services { } } -google { - application-name = "cromwell" - json-dir = "Error: BA-6546 The environment variable CROMWELL_BUILD_RESOURCES_DIRECTORY must be set/export pointing to a valid path such as '${YOUR_CROMWELL_DIR}/target/ci/resources'" - json-dir = ${?CROMWELL_BUILD_RESOURCES_DIRECTORY} - auths = [ - { - name = "service_account" - scheme = "service_account" - json-file = ${google.json-dir}/cromwell-centaur-service-account.json - } - { - name = "requester_pays_service_account" - scheme = "service_account" - # This service account does have billing permission and can be used for requester pays - json-file = ${google.json-dir}/cromwell-centaur-requester-pays-service-account.json - } - { - name = "google_compute_service_account" - scheme = "service_account" - # This service account has only: - # 1. The role "Genomics Pipelines Runner" - # 2. Has been added a "Service Account User" on cromwell@broad-dsde-cromwell-dev.iam.gserviceaccount.com - json-file = ${google.json-dir}/cromwell-centaur-google-compute-service-account.json - } - { - name = "user_service_account" - scheme = "user_service_account" - } - { - name = "application-default" - scheme = "application_default" - } - ] -} - backend { default = "Papi" enabled = ["Papi", "Papiv2", "Papi-Caching-No-Copy", "Papiv2RequesterPays", "Papiv2-Reference-Disk-Localization"] diff --git a/src/ci/resources/papi_v2beta_provider_config.inc.conf b/src/ci/resources/papi_v2beta_provider_config.inc.conf index 7d181a869a2..e69eeaebc01 100644 --- a/src/ci/resources/papi_v2beta_provider_config.inc.conf +++ b/src/ci/resources/papi_v2beta_provider_config.inc.conf @@ -18,24 +18,6 @@ filesystems { } } - -google { - application-name = "cromwell" - json-dir = "Error: BA-6546 The environment variable CROMWELL_BUILD_RESOURCES_DIRECTORY must be set/export pointing to a valid path such as '${YOUR_CROMWELL_DIR}/target/ci/resources'" - json-dir = ${?CROMWELL_BUILD_RESOURCES_DIRECTORY} - auths = [ - { - name = "service_account" - scheme = "service_account" - json-file = ${google.json-dir}/cromwell-centaur-service-account.json - } - { - name = "application-default" - scheme = "application_default" - } - ] -} - slow-job-warning-time: 20 minutes checkpointing-interval: "10 seconds" From 3044ab0b54e59bec2957baca411134a389e3ee1f Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Thu, 13 Feb 2025 00:52:36 -0500 Subject: [PATCH 37/41] fix test names --- .../standardTestCases/recursive_imports_cost_batch.test | 2 +- .../standardTestCases/recursive_imports_cost_papi.test | 2 +- docs/developers/Centaur.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports_cost_batch.test b/centaur/src/main/resources/standardTestCases/recursive_imports_cost_batch.test index 3f7c2e1ec43..15b86b69e22 100644 --- a/centaur/src/main/resources/standardTestCases/recursive_imports_cost_batch.test +++ b/centaur/src/main/resources/standardTestCases/recursive_imports_cost_batch.test @@ -1,4 +1,4 @@ -name: recursive_imports_cost +name: recursive_imports_cost_batch testFormat: workflowsuccessandverifycost backends: [GCPBATCH] diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test b/centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test index 699605f643a..4808c7fb39f 100644 --- a/centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test +++ b/centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test @@ -1,4 +1,4 @@ -name: recursive_imports_cost +name: recursive_imports_cost_papi testFormat: workflowsuccessandverifycost backends: [Papi] diff --git a/docs/developers/Centaur.md b/docs/developers/Centaur.md index 7adce2d4169..442ada74495 100644 --- a/docs/developers/Centaur.md +++ b/docs/developers/Centaur.md @@ -111,7 +111,7 @@ In case testing of the caching is required `<>` can be used. The testFormat should be `runtwiceexpectingcallcaching`. To verify that the cost is 0 when using call-caching the testFormat should be `runtwiceexpectingcallcachingnocost` The cost is optional. If supplied, Centaur will retrieve the cost of the successfully completed workflow and compare it to the cost range supplied. -* If evaluating the cost, the test format must be `WorkflowSuccessAndVerifyCost` and the call-caching option must be disabled for that test (example can be found in the `recursive_imports_cost.test`) +* If evaluating the cost, the test format must be `WorkflowSuccessAndVerifyCost` and the call-caching option must be disabled for that test (example can be found in the `recursive_imports_cost_batch.test`) * Different backends may have different costs, so be sure to specify the backend in the test case file From 9d686f9c4e77eb231cb7b953a60601503edc219a Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Thu, 13 Feb 2025 10:51:39 -0500 Subject: [PATCH 38/41] try papi v2? --- .../standardTestCases/recursive_imports_cost_papi.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test b/centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test index 4808c7fb39f..21b78651f88 100644 --- a/centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test +++ b/centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test @@ -1,6 +1,6 @@ name: recursive_imports_cost_papi testFormat: workflowsuccessandverifycost -backends: [Papi] +backends: [PapiV2] files { workflow: recursive_imports/recursive_imports.wdl From 0d98adc0c14ba603b4f8b2359591db4058034fc4 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Thu, 13 Feb 2025 17:22:28 -0500 Subject: [PATCH 39/41] try only mode --- .../standardTestCases/recursive_imports_cost_papi.test | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test b/centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test index 21b78651f88..1459cfe80f5 100644 --- a/centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test +++ b/centaur/src/main/resources/standardTestCases/recursive_imports_cost_papi.test @@ -1,6 +1,9 @@ name: recursive_imports_cost_papi testFormat: workflowsuccessandverifycost -backends: [PapiV2] +backends: { +mode: "only", +list: [PapiV2] +} files { workflow: recursive_imports/recursive_imports.wdl From 0cfdad06ed3a6520bd0adf9f917305abdd7082e4 Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Thu, 13 Feb 2025 17:45:16 -0500 Subject: [PATCH 40/41] try defining horicromtal tests separately --- .../src/it/scala/centaur/CentaurTestSuite.scala | 2 ++ .../scala/centaur/HoricromtalTestCaseSpec.scala | 15 +++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 centaur/src/it/scala/centaur/HoricromtalTestCaseSpec.scala diff --git a/centaur/src/it/scala/centaur/CentaurTestSuite.scala b/centaur/src/it/scala/centaur/CentaurTestSuite.scala index c72d774c4e4..6592e502605 100644 --- a/centaur/src/it/scala/centaur/CentaurTestSuite.scala +++ b/centaur/src/it/scala/centaur/CentaurTestSuite.scala @@ -32,6 +32,8 @@ object CentaurTestSuite extends StrictLogging { def isPapiUpgradeTest(testCase: CentaurTestCase): Boolean = testCase.containsTag("papi_upgrade") + def isHoricromtalTest(testCase: CentaurTestCase): Boolean = testCase.containsTag("horicromtal") + /** Horicromtality-related assertion config. */ val cromwellTracker: Option[CromwellTracker] = { diff --git a/centaur/src/it/scala/centaur/HoricromtalTestCaseSpec.scala b/centaur/src/it/scala/centaur/HoricromtalTestCaseSpec.scala new file mode 100644 index 00000000000..c32b608fbe9 --- /dev/null +++ b/centaur/src/it/scala/centaur/HoricromtalTestCaseSpec.scala @@ -0,0 +1,15 @@ +package centaur + +import centaur.test.standard.CentaurTestCase +import org.scalatest.DoNotDiscover + +@DoNotDiscover +class HoricromtalTestCaseSpec(cromwellBackends: List[String]) + extends AbstractCentaurTestCaseSpec(cromwellBackends) { + + def this() = this(CentaurTestSuite.cromwellBackends) + + def testType: String = "Horicromtal" + + def isMatchingHoricromtalTest(testCase: CentaurTestCase): Boolean = CentaurTestSuite.isHoricromtalTest(testCase) +} From e2bd97697ff14c6183d5efa6a0e32c76f72d953d Mon Sep 17 00:00:00 2001 From: lmcnatt <85642387+lucymcnatt@users.noreply.github.com> Date: Fri, 14 Feb 2025 10:27:44 -0500 Subject: [PATCH 41/41] fmt --- centaur/src/it/scala/centaur/HoricromtalTestCaseSpec.scala | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/centaur/src/it/scala/centaur/HoricromtalTestCaseSpec.scala b/centaur/src/it/scala/centaur/HoricromtalTestCaseSpec.scala index c32b608fbe9..135cb7b6831 100644 --- a/centaur/src/it/scala/centaur/HoricromtalTestCaseSpec.scala +++ b/centaur/src/it/scala/centaur/HoricromtalTestCaseSpec.scala @@ -4,8 +4,7 @@ import centaur.test.standard.CentaurTestCase import org.scalatest.DoNotDiscover @DoNotDiscover -class HoricromtalTestCaseSpec(cromwellBackends: List[String]) - extends AbstractCentaurTestCaseSpec(cromwellBackends) { +class HoricromtalTestCaseSpec(cromwellBackends: List[String]) extends AbstractCentaurTestCaseSpec(cromwellBackends) { def this() = this(CentaurTestSuite.cromwellBackends)