diff --git a/.latexmkrc b/.latexmkrc index 72daed4..9125b2c 100644 --- a/.latexmkrc +++ b/.latexmkrc @@ -11,7 +11,7 @@ # PDF Generation/Building/Compilation # ====================================================================================== -@default_files=('nass-fem.tex'); +@default_files=('nass-control.tex'); # PDF-generating modes are: # 1: pdflatex, as specified by $pdflatex variable (still largely in use) diff --git a/figs/detail_control_architecture_hac_lac.pdf b/figs/detail_control_architecture_hac_lac.pdf new file mode 100644 index 0000000..c9b4072 Binary files /dev/null and b/figs/detail_control_architecture_hac_lac.pdf differ diff --git a/figs/detail_control_architecture_hac_lac.png b/figs/detail_control_architecture_hac_lac.png new file mode 100644 index 0000000..ed8af66 Binary files /dev/null and b/figs/detail_control_architecture_hac_lac.png differ diff --git a/figs/detail_control_architecture_hac_lac.svg b/figs/detail_control_architecture_hac_lac.svg new file mode 100644 index 0000000..94c9be3 --- /dev/null +++ b/figs/detail_control_architecture_hac_lac.svg @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_architecture_sensor_fusion.pdf b/figs/detail_control_architecture_sensor_fusion.pdf new file mode 100644 index 0000000..a97b265 Binary files /dev/null and b/figs/detail_control_architecture_sensor_fusion.pdf differ diff --git a/figs/detail_control_architecture_sensor_fusion.png b/figs/detail_control_architecture_sensor_fusion.png new file mode 100644 index 0000000..9db80b2 Binary files /dev/null and b/figs/detail_control_architecture_sensor_fusion.png differ diff --git a/figs/detail_control_architecture_sensor_fusion.svg b/figs/detail_control_architecture_sensor_fusion.svg new file mode 100644 index 0000000..ef3c40f --- /dev/null +++ b/figs/detail_control_architecture_sensor_fusion.svg @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_architecture_two_sensor_control.pdf b/figs/detail_control_architecture_two_sensor_control.pdf new file mode 100644 index 0000000..3322f1c Binary files /dev/null and b/figs/detail_control_architecture_two_sensor_control.pdf differ diff --git a/figs/detail_control_architecture_two_sensor_control.png b/figs/detail_control_architecture_two_sensor_control.png new file mode 100644 index 0000000..4d9dfc2 Binary files /dev/null and b/figs/detail_control_architecture_two_sensor_control.png differ diff --git a/figs/detail_control_architecture_two_sensor_control.svg b/figs/detail_control_architecture_two_sensor_control.svg new file mode 100644 index 0000000..00bb931 --- /dev/null +++ b/figs/detail_control_architecture_two_sensor_control.svg @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_comp_filter_three_hinf_fb.pdf b/figs/detail_control_comp_filter_three_hinf_fb.pdf new file mode 100644 index 0000000..e92c597 Binary files /dev/null and b/figs/detail_control_comp_filter_three_hinf_fb.pdf differ diff --git a/figs/detail_control_comp_filter_three_hinf_fb.png b/figs/detail_control_comp_filter_three_hinf_fb.png new file mode 100644 index 0000000..1b4c3e6 Binary files /dev/null and b/figs/detail_control_comp_filter_three_hinf_fb.png differ diff --git a/figs/detail_control_comp_filter_three_hinf_fb.svg b/figs/detail_control_comp_filter_three_hinf_fb.svg new file mode 100644 index 0000000..347b5bb --- /dev/null +++ b/figs/detail_control_comp_filter_three_hinf_fb.svg @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_comp_filter_three_hinf_gen_plant.pdf b/figs/detail_control_comp_filter_three_hinf_gen_plant.pdf new file mode 100644 index 0000000..e41132e Binary files /dev/null and b/figs/detail_control_comp_filter_three_hinf_gen_plant.pdf differ diff --git a/figs/detail_control_comp_filter_three_hinf_gen_plant.png b/figs/detail_control_comp_filter_three_hinf_gen_plant.png new file mode 100644 index 0000000..164c174 Binary files /dev/null and b/figs/detail_control_comp_filter_three_hinf_gen_plant.png differ diff --git a/figs/detail_control_comp_filter_three_hinf_gen_plant.svg b/figs/detail_control_comp_filter_three_hinf_gen_plant.svg new file mode 100644 index 0000000..2db306f --- /dev/null +++ b/figs/detail_control_comp_filter_three_hinf_gen_plant.svg @@ -0,0 +1,227 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_feedback_sensor_fusion.pdf b/figs/detail_control_feedback_sensor_fusion.pdf new file mode 100644 index 0000000..e40bae0 Binary files /dev/null and b/figs/detail_control_feedback_sensor_fusion.pdf differ diff --git a/figs/detail_control_feedback_sensor_fusion.png b/figs/detail_control_feedback_sensor_fusion.png new file mode 100644 index 0000000..379411c Binary files /dev/null and b/figs/detail_control_feedback_sensor_fusion.png differ diff --git a/figs/detail_control_feedback_sensor_fusion.svg b/figs/detail_control_feedback_sensor_fusion.svg new file mode 100644 index 0000000..a967615 --- /dev/null +++ b/figs/detail_control_feedback_sensor_fusion.svg @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_feedback_sensor_fusion_arch.pdf b/figs/detail_control_feedback_sensor_fusion_arch.pdf new file mode 100644 index 0000000..d9d155a Binary files /dev/null and b/figs/detail_control_feedback_sensor_fusion_arch.pdf differ diff --git a/figs/detail_control_feedback_sensor_fusion_arch.png b/figs/detail_control_feedback_sensor_fusion_arch.png new file mode 100644 index 0000000..f2b8c06 Binary files /dev/null and b/figs/detail_control_feedback_sensor_fusion_arch.png differ diff --git a/figs/detail_control_feedback_sensor_fusion_arch.svg b/figs/detail_control_feedback_sensor_fusion_arch.svg new file mode 100644 index 0000000..fa0a36d --- /dev/null +++ b/figs/detail_control_feedback_sensor_fusion_arch.svg @@ -0,0 +1,295 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_feedback_synthesis_architecture.pdf b/figs/detail_control_feedback_synthesis_architecture.pdf new file mode 100644 index 0000000..80bd1f5 Binary files /dev/null and b/figs/detail_control_feedback_synthesis_architecture.pdf differ diff --git a/figs/detail_control_feedback_synthesis_architecture.png b/figs/detail_control_feedback_synthesis_architecture.png new file mode 100644 index 0000000..ccfac1c Binary files /dev/null and b/figs/detail_control_feedback_synthesis_architecture.png differ diff --git a/figs/detail_control_feedback_synthesis_architecture.svg b/figs/detail_control_feedback_synthesis_architecture.svg new file mode 100644 index 0000000..212df42 --- /dev/null +++ b/figs/detail_control_feedback_synthesis_architecture.svg @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_feedback_synthesis_architecture_generalized_plant.pdf b/figs/detail_control_feedback_synthesis_architecture_generalized_plant.pdf new file mode 100644 index 0000000..7972d0a Binary files /dev/null and b/figs/detail_control_feedback_synthesis_architecture_generalized_plant.pdf differ diff --git a/figs/detail_control_feedback_synthesis_architecture_generalized_plant.png b/figs/detail_control_feedback_synthesis_architecture_generalized_plant.png new file mode 100644 index 0000000..19901ff Binary files /dev/null and b/figs/detail_control_feedback_synthesis_architecture_generalized_plant.png differ diff --git a/figs/detail_control_feedback_synthesis_architecture_generalized_plant.svg b/figs/detail_control_feedback_synthesis_architecture_generalized_plant.svg new file mode 100644 index 0000000..65d1b6e --- /dev/null +++ b/figs/detail_control_feedback_synthesis_architecture_generalized_plant.svg @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_fusion_super_sensor.pdf b/figs/detail_control_fusion_super_sensor.pdf new file mode 100644 index 0000000..fbc437a Binary files /dev/null and b/figs/detail_control_fusion_super_sensor.pdf differ diff --git a/figs/detail_control_fusion_super_sensor.png b/figs/detail_control_fusion_super_sensor.png new file mode 100644 index 0000000..39b1fdc Binary files /dev/null and b/figs/detail_control_fusion_super_sensor.png differ diff --git a/figs/detail_control_fusion_super_sensor.svg b/figs/detail_control_fusion_super_sensor.svg new file mode 100644 index 0000000..30788ca --- /dev/null +++ b/figs/detail_control_fusion_super_sensor.svg @@ -0,0 +1,419 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_h_infinity_robust_fusion_fb.pdf b/figs/detail_control_h_infinity_robust_fusion_fb.pdf new file mode 100644 index 0000000..71cab80 Binary files /dev/null and b/figs/detail_control_h_infinity_robust_fusion_fb.pdf differ diff --git a/figs/detail_control_h_infinity_robust_fusion_fb.png b/figs/detail_control_h_infinity_robust_fusion_fb.png new file mode 100644 index 0000000..c88be0b Binary files /dev/null and b/figs/detail_control_h_infinity_robust_fusion_fb.png differ diff --git a/figs/detail_control_h_infinity_robust_fusion_fb.svg b/figs/detail_control_h_infinity_robust_fusion_fb.svg new file mode 100644 index 0000000..95025c3 --- /dev/null +++ b/figs/detail_control_h_infinity_robust_fusion_fb.svg @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_h_infinity_robust_fusion_plant.pdf b/figs/detail_control_h_infinity_robust_fusion_plant.pdf new file mode 100644 index 0000000..49f2150 Binary files /dev/null and b/figs/detail_control_h_infinity_robust_fusion_plant.pdf differ diff --git a/figs/detail_control_h_infinity_robust_fusion_plant.png b/figs/detail_control_h_infinity_robust_fusion_plant.png new file mode 100644 index 0000000..894e5e4 Binary files /dev/null and b/figs/detail_control_h_infinity_robust_fusion_plant.png differ diff --git a/figs/detail_control_h_infinity_robust_fusion_plant.svg b/figs/detail_control_h_infinity_robust_fusion_plant.svg new file mode 100644 index 0000000..7d6584c --- /dev/null +++ b/figs/detail_control_h_infinity_robust_fusion_plant.svg @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_hinf_filters_results.pdf b/figs/detail_control_hinf_filters_results.pdf new file mode 100644 index 0000000..c5cfd1b Binary files /dev/null and b/figs/detail_control_hinf_filters_results.pdf differ diff --git a/figs/detail_control_hinf_filters_results.png b/figs/detail_control_hinf_filters_results.png new file mode 100644 index 0000000..401cd83 Binary files /dev/null and b/figs/detail_control_hinf_filters_results.png differ diff --git a/figs/detail_control_hinf_filters_results_mixed_sensitivity.pdf b/figs/detail_control_hinf_filters_results_mixed_sensitivity.pdf new file mode 100644 index 0000000..fea57f2 --- /dev/null +++ b/figs/detail_control_hinf_filters_results_mixed_sensitivity.pdf @@ -0,0 +1,1801 @@ +%PDF-1.4 +%ª«¬­ +1 0 obj +<< +/Producer (Apache FOP Version 2.4.0-SNAPSHOT: PDFDocumentGraphics2D) +/CreationDate (D:20250403145859+02'00') +>> +endobj +2 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +3 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +4 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +5 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +6 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +7 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +8 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +9 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +10 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +11 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +12 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +13 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +14 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +15 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +16 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +17 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +18 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +19 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +20 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +21 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +22 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +23 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +24 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +25 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +26 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +27 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +28 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +29 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +30 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +31 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +32 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +33 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +34 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +35 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +36 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +37 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +38 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +39 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +40 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +41 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +42 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +43 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +44 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +45 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +46 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +47 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +48 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +49 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +50 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +51 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +52 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +53 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +54 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +55 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +56 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +57 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +58 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +59 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +60 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +61 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +62 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +63 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +64 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +65 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +66 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +67 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +68 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +69 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +70 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +71 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +72 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +73 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +74 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +75 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +76 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +77 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +78 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +79 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +80 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +81 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +82 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +83 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +84 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +85 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +86 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +87 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +88 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +89 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +90 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +91 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +92 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +93 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +94 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +95 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +96 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +97 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +98 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +99 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +100 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +101 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +102 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +103 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +104 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +105 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +106 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +107 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +108 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +109 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +110 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +111 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +112 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +113 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +114 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +115 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +116 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +117 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +118 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +119 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +120 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +121 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +122 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +123 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +124 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +125 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +126 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +127 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +128 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +129 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +130 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +131 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +132 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +133 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +134 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +135 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +136 0 obj +<< /Length 137 0 R /Filter /FlateDecode >> +stream +xœ¼½Ë®,Ë’6?_Q?Ћï@ +HìÁJÔBý¾ÌÜ"+ݳ–zŸªfõ틾{—íªˆÌŒôp Øý+=üß?ðr>ÿùŸþ:~Rnöéõ'|ü_ÿ*öÇ‚|ü´9ʪ#=þ¡ŒŸã(%÷šùÏÒãÿøëxü»¿Vz”ºÿôלÅþôÛŸRÅ€ÙÿþŸý—¿þ׿ûÃÿæßýüöÿÃéè?bÿ„¯þïøÛ¿ÿ+?þ¯¿ÒO±ÿ<þ_Ìäù+µã§øÁ<ÇžOøÈ¦ñÞšD~³ýÔq©×yNÂôÁ$ÊÛ“ÈøÅ|Œ9Û¨{á£&QߟD^?eõ£TÎIø>˜D{µýøÁ¶J;'á?ú`ýýI´ùSòªG¿‡ÿèƒIŒ÷'Ñ×ÏLiæÙÏ·5|ôÁ$æû“ë}àÒû9 ÿÑ“XoO¢Ôy·á£&‘Ž÷g1‹Y…#å|ÎÂôÉ,Þ·™õ˜wK>údïÍšÇÝT„>™ÅûV³Öb†¡Öc³ð}2‹÷Ífmýn,ÂGŸÌâ}»Yû¸[‹ðÑ'³xßpÖ1Ì6¹>ï…ÿè“Y¼o9[íw{>údï›Î6“‡’žë"|ôÉ,Þ·ýèw{>úÄÇzßvöÜîö"|ôÉ,Þ·½&3£>ß‘ðÑ'³xßvöVïö"|ôÉ,Þ·½·»½}2‹÷mgín/ÂGŸÌâ}Û9j½Û‹ðÑ'³xßvøU7{>údïÛÎyÔ»½}2‹÷mçÌån/ÂGŸÌâ}Û9˺ۋðÑ'Ôð}Û9[¾Û‹ðÑ'³xßvÎ^îö"|ôÉ,Þ·øµ»½}2‹Óvâ×ö,®)¤ÛÌáyv²>»êúæxyžÎ-ÿôɈíÍëÓ ÖϬ_éoŽØçIöù§OFoŽx|ýÓuðõæˆX5ŽYòOZ¹uN­¡ðÉÛ³øÀªq¤#1ö,ü'oŸ5}`Õ8‹pÖ5põ{þ“·gñUã,Žõ{;†E³ðŸ¼=‹¬šÍ¢ý´†§{?gá>y{ï{„šE‚Io¥Ï~>ÿÉÛ³xß#ä,òš?mŒ:ëùDÂ'oÏâ}P³h?#§ÚÁ—ÎY¸OÞžÅû¡ÍbôŸÒVê©l{>y{x„œEï?-zÔ±w¾ðÉÛ³øÌvæ¶ðF¤^èˆjþ“·gñ™íÌ k©³ÌžÏY¸OÞ>"ÿÌvæº~FZs¬´ßÔðÉÛ³øÌvòh~Í|ävÍÂ}òö,>³¹æ6<‚~Ú ÿÉÛ³øÌvfPƒ9gʹöÂòö,>´?›Û,åi;ý'oÏâCÛ‰Ÿíä')ŸVËòö,>´GÁ1±…ŽsuúOÞžÅg¶¯äO9FKÇiÁÃ'oÏâ3Û™ÈöðvœÔÅ}ðö>³œiÑAŸ}õç®ÞŽê}f7Óì?+x)ŸOÃòö,>³›iÖŸ£a묠â{î“·gñ™ÝL½âÌu®s' Ÿ¼=‹ÏìfÂî9 Ÿ¼=‹Ïìfª¯ƒç"á“·gñ™ÝLØ·*˜Gïó¼þ“·gñ™Ý„c‰µXòqºYþƒ·çð¡Õ,õ§&>y{ZÍÂðÀ¨}>Ÿ‡ÿäíY|h7óüɉ„OÞNEøÐróg‚wTlá{þ“·gñ™å\ëçDÄðö>³›+ãmH½ÍÓÝô¼=‡Ï¬&6­ÊÑÊyŒä?x{ŸÙÌ™2|™G{ÏÁ}ðö>³˜cþÔ@@üoÏá3{9ÚO&Ù˜çÖá?x{ŸÙË‘ðäS9Ò~/üoÏá3kÙ +^Å6ó*Û@øÞžÃg¶²–ŸDšñôsýoçK}x®ÙñÌ’ð"ìC4÷ÁÛsøôTógÒá?x{òòŽ%†QÇyPâ>x{²ò ³8á<•“”»ޞǾåú©Ø+aœÏíÛ}ðö>ô,ûïûÄ~}ºú×oÏáÝøÎmÙѳ·Gü$¾»óǹ·~>y{ó“9àwøY~ná“·ç°>˜Cšéçt¢ío§lŸŒšÛOw?|òöÒs`¾,>ª¥mÅðö ò'wá¤PoZþ#‘ÿŒ¾ù¿2ˆ]Æ'‘Òw¯Ãþ@еvŠ7)Öß,FÔ¿>\ §}¸Kÿúp1þõáεhGÊ?+­µŽö5¹Ó-´J¾=ØÎ´Ðùö`;ÉB+äÛƒ=­ ß,Ú‘ös03h~i°?Õ/}¨]úúþT·ôý ü¡féûøC½Ò÷'ð‡Z¥ïOàuJߟÀj”¾?›?ñåáþTõý ü¡êëøSÔ÷'ð‡ú§ïOà¥OߟÀªž¾??<}¨uúþn¼âËÃý©ªêûøCAÕ×'ð§ZªïOàeTߟÀ*¨¾??O}¨›úþþP2õý Üξ<ÜŸŠ³¾??Ôe}}*ÉúþþPõý ü¡ëûøC Ö÷'ð‡ò«ïOà•WߟÀíœñËùsƧ®c¨:ߌ|rŒdƒÆO¾=ü­ÛͽÿÍ—‡¿÷¹¹w¾ùöð·7÷ž7ßþÖÛæÞíæÛÃߺÚÜûÜ|{ø[?›{‡›oëdsïmóíá}|áÛƒÝæÜ[è|{ø[§œ{ïœ/o‘sošóíáo½qîÝr¾=ü­)νMη‡¿uù÷Çùöð·68÷Æ8ßþÖÿæÞçÛÃû¸â·»wÙ¹÷Ýùöð·ö:÷†;_þÞWçÞiçÛÃßêÜ[ì|{ø['{ook¡soªóíáo½sîÝt¾=ü­iνη‡÷ùßìÞšçÞ¬çÛÃßzòÜ»ô|yø{3ž{{žoëÂsïËóíáoíwî y¾=ü­ïνÏ·‡¿5ܹ·àùöð·N;÷Þ;ßÞç}{°I“Ÿ´¾žW9•x5Óøfžè=åÚúyîõÃß²­ýð§]¿qbx&Z»q?ȸ~cÀ[޵÷ãdë¿?ü-½Úþqžõ»Ç³þŠ¿þžÂ§:æq¤±“.¾5Üí- +ã~ý5ú¥j!NàÛ/’/Y#ïUú¥^!Žüí—éµX!Œÿí×éÚ[ÃU{Oª?«-fÏoîIåÖrÍúqïµ7†¿õZóÃÜtíáoMÖüðw[{cø[w5?üÇmÖÞ>¶U ÃÚ_íác?µ0ü§ÕÞñÆb#57üçÕÞ>vP ÃÚJís_4 ÿ¯à‹Þ:·ùá?náöÆð·–m~ø{·½1ü­W›þã¦mï ›´…á?íÖöÆð·îl~øÛ´½3|lˆÿ´?Û;ÃÇ~laøO³½Cc#6?üÇÙ>ç aøïsÐ{8?üÇàÞ>ÅÎo~øôi ¸7†¿µ|óÃÜûí Nzëõæ†ÿ¼éÛ;Ç&oaô»½½3xèîÿ°ÍÛ;'/±­›ýãþnï û¹…á?mìöÁ¹S÷›çN·Îq~Ü[Ƚ1ü­eœþãÞqïœ<Å^q~ø›Æ½3|l†ÿ´[ÜÃÇîp~ôOÛĽ3xl Fÿ´?Ü;ÃÇ~paøOýsÜÁùá?î÷ùisþû§Í÷t~ø;ÑýýáoçÜè· {cðØrÎþiﹿ?ø­×œüã¦so ›ÌùÁ?í6÷÷¿u—sƒÜfîÁc[9?ø§ýåÞ<ö“óƒÚXî㸒ü_!®tëbçÿ¸Ýßü־Πþq»7N+cß:Xùi»wŽJCúpRúaçºwËB§ºpVöa˺w{hQû‡½êÞam¡7]`m6©{‡F„¦tE|ØîÝøqpž¿?†£PÖóø^³®_D†â¸ßyý¢/'ðí ×/ÒBqß{ý¢*'ðíÀ×/‚B· |9ôõ‹–Ðm_~ý"#&ðõð×/ +B· |9ökI˜À¿FIŒÅ |;ö‹pQœÀ·Ã`¿hÅ |;ö‹\Ñm_…ý¢T'ðí`Ø/"E· |9ö‹>Ñm_ˆý"M'ðíØ¯ùdaÿ +ùd·¨XœÀ·Ãb¿("Å |;0ö‹RœÀ·Cc¿è … |=8ö*tÿ»á±Wõ£Ûðß ý"|ÇÿvˆìÍ£Û¾$‹9¥a䝿”Æ8YùÛ²_Ä•â¾*ûEW)NàÛÁ²_$•nør¸ìUM)Žÿå€Ù/BJ·ñ¿2ûECé6/Í~‘OŠøvØì×Ìò0…Ìò[ä,NàÛ¡³WÕ¦0þ·ƒg¯‚Mqø/‡Ï^µšÂðß ½Ê4Åá¿B{Uh +Ã;ˆö*·ÿríU—)ÿå@Úo5%nøš’K Ã;˜ö*†ÿv8íU*€~9 ö*u;ýnHíUýévòöÝ Ú«ðÓð7¬öªùtc{ß ¬½Ê=ÝxÇwCk®–,¸Ú{°ó?×£=2øÞãÿ †æ/žÃçzü)÷£Œþ˜tÎW﵃ÃÿÛÄpüwÿ€©±­Lïc´Gûm-ø.ÿøOÿøß±ŸÔÿøOü÷ýOÿh—öÙïÃ1æï—ñúûÙÿ>¯fð–ÎÉÕpAb4üágÕÕ~¿ݸéPë§¿ S^‡ùϧÆ¥Í×ûW~Xžÿ/y>ÿìïçd¿ÿ·žÏߺiÿìh¿Ý´_†ù7- {6ã€Ãõ…{öÏýüó[öÏ öw—Yÿ©×(ÿ€·ÿ$X¢Bsä>à QÊ–iœ+'ø/C÷ôƒç8›E;ê±ús +õõ>þ·¦r`ñ´_ÆlßË­aÌß®³kÌkßÿ_´ü>º_Fœ_‘çñØÑÖos}iÌ|ü,þ|ùeÌÿá[w¶qq{~óß~iÌvüäÎñÛ˜ÿcóoz%ÇO%püŒ +›ö¿m'%Á@uy*§,f¥‹r ÏŸ£bº§.èÏXy€‹ A¿¸2}–•1vktW¸a­Òq]X™c–±&5OÆÏ‚O5±íª?i¤4Jr¶‡2dõ U† –RMæ‰2% Áˆ¬^•´R³˜Ð‚Ó[ÚòÚC¥\² 4~JÅ ¥3I`®Œu{ØôæOâNS?7GNxgŠ ^.ˆ·æ7[ªõÐÌ×ÏÈ£ASP}/“?ˆoÿ4þdê{°c®uÔi,ÃÑñW1l`8[ÎÄòψû¤áhWªvæHl.ð T5Þ¨ØdRÒxØgÅGÊ–SY†Õ,µºs©ÆO_¿Y ¯GVkr ¸nlšeÿá${m­×ÁdžøœÛ˜¬ãçµôµaŒ¡q^ÄÚšxjG2lþð¡VÝå628åÐO.¬u<Z/Ã*Æ›Ù0¬iLñ(ÇÚXÂXK? l& ÑÛ2 ÷·¤ê{ØÆ¹¯©gPÉ£šîe†Œµ‰¥¦ß¬‹)5a$¼øÕ^õ ðâ¥ºÒØ˜=ÆŸˆÞ®±ì>§úÃ5>¥¤ /÷1÷ìMH&VÇ•9t[ŽŽ‰äÃ..;ßoÜ ½ÆGƃïv–W“† ³^Ä:ì ³~³âN ˜Éž…a¸TìçQð=`S‘bH  íy¶Ÿ9óIJë†ña¢öøàEu-A`L&À¢7Œ+ïÐIØñÌ7±³o­%7:–›[ È=í¹ ó™ÊÆö[Y £A<—gáÖ «#¬Àpãî–°"s-õC—3̬aOºáoC¿IS'÷«ñÈL0÷µî…TØþ Ï gÝi¼_ðJ͘2¶?•ñ-Vlóa<6Œ=ëÊÊSOw+ϲ„õ>ôUöL +¬d×é41¾CØ(4^Æm]|$Ä`ŸÌí¹àiÊtWæ ;§ÆK ßØcô›‹éðªö\ðX´¹ƒ»ZÁPõ›ÇèkÁFmlÕ¶ÊLz²Ü³êÒKT±ŸñÆÓž°Uþ¸„ý²ƒê'»¤Ñð1סïaGÃÊ­ ›=÷a'd0p?‰[ZÊúIÜtî—ic0x‡“0ÌóZúIüÕlñžJ_°à³k*x*|Ùçž +.¬8]:^}®øªfÿ Äl ;%OÜ…ùØÛžJÃ*Ÿ +᛼ôck“à5ͬ÷¤. µŒ4„•+í…÷q3ë©§»0º-÷–` 2D ‚]é²85îâ_ôJW‘V Œâþ66³›Mr\x…ñÖ¶Æ6¶½[JÊ6´ò%† »FêfÄ+½ŠDKB£ÓpŽcC¸ì²v¿V¬GKØÄµ`¼¹1Zô£ØT`Ðþ°C÷Ô¸›a;\fÃ’ÆÓX2€ì¯U¤ßä–ØeÿÚúᦊñ§A0S¸œÙ7Fë+ ³àÎmSéÇÏÞ14– ›ž+˜7à^öT°736•žèËÔ9õ›Ø` d;:¶6nÁkÏ…‡Q7ÆM¨Ðc#vÀè,¥90ÏiÂ+âÛ…È…ƒ Ë0,«m ›¸+yh¸nAS¼ßÓ øØàu7;v—½6…|cnlñ­*¬c¹jùõù£ÍrOkˆ›·Aë®GÅF“ ª°Ð::Ä:ø¡GA¿ˆ×4ÌZ"âU…µ€Ñ¶!8" ›¥Þ;`ÓN@“0صv4wz>Ÿ»bØÁms¿¯£ð}ª­ÚT@ïKæãÃ3¡u‡%3 þ¥öm6•‚ËB°õV¬ª pSËæw``üJÁ]1{‡\³ßáZèÚ°©ñ!ãÕ1¬, +m2Ãúºg˜2ÆÖ˜Ø_…i\#VÿžÁ2Ï7´v¥Ö.1ïúÃÀ†GÞ.w&ùþX †M:»SëxfçüÃ]£oÕû qß›©†ñMèEoÛ,ÞýÇ^ÙðâêšÕÜÿŠMÑ Ügº‡f˜g3Pûž öpøÿëž`EôG]{s~Dyˆö0Ç9Þð$¯ì¢)‘C8§HÀ²¹`»‡-¬]j.O˜VgÖvó×Aç| ++³Vܘ±1G°ªk†#¦7Ül;0Ù0|¾žÞÊŽ`#…³‰±íNƒœ‘t8Ia¿-¶à‰UÇ€Á±Çõè-f4à %0ü\ÃÕê{ÍÑîÛNe‘?†Fd>1<—e„”Ø03}o6¬µiYØ™oä°‡üÍÉäh_ú4pp+%F¹=д‹нÀïâ ç×°à9Ãðvc1–jXr4®{ =!b\ªË.SS`>ð÷lXv4®Îä;¬¬]fÒb0Ø0—ÏAÓ. ·ï€†µŸ½› ƒ'‡ÐòÆ. ¯S¥=0¬ hÝæÂe¼*ž„°qÑ@ƒûKîºôyå™ÃëÛ¹ôµåh@abúw{ß–åh½Cl Ü>‰©ñMÇ. +ˆSN:Y%”Ä`¥ 7/Â2Y®×¦‚­/ðœºÓ c  £Z˜ž]6D—®~O¾·‘^ö¦ßÌŽî1XcI‹S­«7 †^“¹ÐxW `ÍT–+'èb 5xT˜óÔךcÀ`ªxú^w, ð$Þ÷å Ç€%¼½\0†MǺ¥Ý„ÝYÖà÷ñ¨É°åX0l­p¶t[øOŸ,ÁC®|§ KŽðG°$°p…eG2Í#vÇdÛ2±‹ÃÁֻǣ/„]‰CN6 ëò¸èž,,GfSWÃÚÅ2-Þ‹Co:ÞDzZ$D†áOx˜klìbÙˆ6:=!o ˆqÁÑpób€à„ÀÈÙ¦Î4y²€Zè{gûýb w¥' °§ÌSUóGˆÑnÂ\ +ßà9¡¾— ÈlØ_±ÛLãHÏ›)b¸C@q€ð- +öcêã¶JñèÒ*»8@fx“+vÄÉ"q“* ï3£]6 ð“0ÀÅwIDæQÊ“à]2ÞPôŽØ¡çÉøžæ;h­ƒ£]ï'– ÍÆ–ã +ÔÃçÈàh`áCZeQAÒ.Àƒ›föèÄ.°Ã`ûlÔq`¸O ¯¼Æ+ŽÀ6ñxwUsX9CBž Û”ù( kŽdRxºnkC´íØtñ“‰¾'î ‹O‰uÇh&1)¦h6 vàíÙ.,»È`¤ñþÐôbià ÕxËX'7¤]ëÈÅxèâ“f’vq`¸ àž²‹=À 3 K ”ðIË?Ûnp<îÒ|±²=„^ŒTn;İĎ}SØÄþd‰o–^Sƒª±pçfXãÃ_r@ÑȰªËi1Ù\‹¥] à&Vð¨Ú³é&Ó™ÇöD@Í.ÀÓP¼ù<&3l €û¹ £sÝš ¸Y¼ùfØ·t ;b‡Ow±€Ä=ºl(‹Ð€Ã‚¿ +K?ÚÅéy'îkX*S³5Û.Q3¬LÆOìì0ƒš],^ vMmÿ f `,8ìä†Iœ«iÐ1eN kFþ•%«LTÆBê }â~Îvbô®óÁ£“ÀµV•}nGœ– RÔ€ ׿ÉSÚ“ÐçÉÁZÊÂòňáõÓ^…²€#`!Á…+?lö­;{™¿yžÿ(³i1܃üü^»h½mÅq´8-¹i1RoOÃÆIè¿7µ_™yÒúý ó`ÀÖ°i4®H1 ·iUÅN +xÚ“K ®ÔC‹“)>' †§ônžÜEÈ\–÷¹±µôä$<«•&$ °ŒVBx(xžI¿X.@…UŠ—fR/@ ž˜y´†áEkxˆ0g¦]4€ oa3‚i°Ç‰osEô Œýaí™ßP8Ÿ“3ŽÌ'‹Šàž$€ÿ4½Š€ž,€4[ÄÚ´§ð†bò,ÀØëÑq-0{w‘b¸Ò˳9âÙ>IÙ2Öö k[›˸è‹nìÉÈÀ+ÝÏ¥í¿cx]ñ=‹®b2ÍI±U½Y1z7léaX»XOÀ&¹KÙ]ÁödĆ:íÇ|3WZ&¨ÆÓ‡Ê3åÁ«¾X-°TðÎêuƒ%x²b<|ÂðºgëbÙÄá5;@ÃãøÙÓÄbå{¹¸üµë{²bxÆé8ŒÏÈ' °&£Ã»°ÀQabìɈa ¥>åÐXŸ,€@ Vhêà ŒzÑ€lñ}8rõ‰=i1˜k3`†µ‹ð Šñ-SÀɹX¡DS¢‡2†Å@é°”C8Žf1aOÀ#3X§ †µ~‘BxapSÝ•õ$<„ƒ‹IÝ~{þExx‡ýåÐ[7‚›YYtë°gÐG=t2OìâØ†°sÁ­³óp¸Jàñ4.»+“êÒ`fuJCh&Õ8@¢‘ vÏcíBŸìIx$Œ)©C ±‹`Æ8ùÔ ëŽðü|×µaÕ8ÀƒW¸6\†MG2ÕÇI4õ|àü^$€ªô´U~Ãd×ør–E c”3`΀³¼X– +ú>²Ç$3sÎ`”Æ×Ë18A뱩VšS`Àˆ:10,[y 윀í™7…ŽÕäA²Þ—çÎM쓹UúÍæ(@fÜÁX¦¾×€8ég¹`b sØx­¥oì¢<<„u*][皎dËÛ` ßiç“ÀQÅjW6' {šã<ÄfÄìÍ]€Á‹²Wm%§~rxÓ¸=p’°ì8Ïòð6àr„ãŒü>F-š¬O6¬:Àð ç8Ɖ]6KR±aXsdÎ&2ººî8°#1\a˯ò˜(Y‡žµÑÍÚÐt$ Ñ2uú\ic †éàùÙ~ ÿÁ‘ð¤Ö‡µbßGc`rmò(É—6G0´‹0Å>NÓW²óÿyXVv<@Øåÿó'Ê3—©rä§ÿOnXå|VÍÿ¯¼éİ3€Ý¯]þÿA/¿LXå½{úÿ,©<Š*k)žþ?é-<,ýäpþÿaûÛì2oÕžÿöÿ¦&rãÕHËùÿ‡%Å8X2Îÿg5Ûƒj»üÿƒÁEú?zXøû(4XPd7Iq˜ÊÓö§ÿÏ…ˆ»w]^ÂËÿg,ocW2±‹fj'ןaÕ€ƒÏ‘VìF +ìŒKO®¾lçݕՃOÀ*nó²•A›'ÀëÙ±•î +±µCn†%ÜÐ}XiAOÀØ:Se`þtíë" É/n´JÙ¬UÃ+ÃÌHkb3ñü”nV¹ XO•Áfš|_ÁÂÔêØ3ÈÒêÓë¨ Rž€iöÐýÄnõ$ÄÓ«{Uî€ÃNÝ8ÏÀÚÀ¦a`â2LqXçþJäIˆ`E27V3éWÀZä`ç"m2l\À’-ÏG›~s^€9¸¯s³ÓÊô‡“KcÙk³±“XÚ‡qõ.0Ñä c´¯w;>¨Ì•9SIVgÙ–Š@'`zÊ¢3§m­ÖbÕ+>S-k3fºà¾`ªz˜åv2b eä[µ‹XòÌ éÖc±tOQB|¡³b"„ž€ù8]ÿºàq,dn•"l^€ù?ð.SWŽ +ÈûňÁy¦§hãÁíråá>5 ô{rkÇÃíêÐo‚f<#LSª¼TÝTc.›Xz‹K«Ñpï‹»R×°4/ +Àd*x2˜z=±g À­¸Ó%]A»ó³éoÉÎ!`/@ ·«zêêÆÅ˜ó5Í×±EÞæE•DÞÛÆHÀvYî6yp _e_ܺ€eÁEæ¾G¬`¶æÄs$»ºž.@Œ®ú®5Áº4ÀŒæ3à·¯9úÆž€Xf‡Žñ/À¤:ìeŒÇØÉɈÁ¬ãW4ÏY/À<^8Éø­!¬ Àº†eÆ“|`OÀ¼a8›X²4²' °œb¬*xC¶Zxø²æ"ö7¼ÅoZ6Eb-O&£èeâ$„ع÷…¹.ÀÔgÚóYe[¸Q4€X~æxÔ•.ÀlêÙ*ól±pË„ËnõÄÎÊF#ödİÞ`ëm&Œ$€yÝ<…O¡™Ô‹ƒ…ËU?Üž' `ª8gBóaP¿H1X¨Õà!ö$Ä|oÊ­pwž$€©éxÜíäFp¡N@¨à¢w²Ä|ƒƒÝZ–PØIe;Ž‹ƒ­;~EìIˆ%ˆb¶¿Á{|k‡v˜­–/"`IùxXâͰbD !Å!W——übLô*œ9±' Vw+;ýlG»˜18ð£+ØÔ¹¶óUºv< …¿ä=ÏqQb….¶<ü«‹ +°Ž›À‚å^{Rb=±B±j¼uQ«g:zK‡1ÖîYƒUž»ˆSñ¦ÓjI·ù °¾ï¦¾/}]Áb¬KIK¬W0€XO‰‡±vyÝŠƒy7‹a<âT8†i@5ÛÁ,åÅÜ*™¨ž `t[ÁTmžÆEŠ2t‡ +ÿ`i °HÇ(»x^¢£ÌàŸä2Ú!{s4 ÕãV&;|h½_ù@Öíæ±±qå%Ëîï,þÓx* Æ«0 cÔ“Ó]YW4€¸ð(@6õ€úr<€Õ¹•)uzèãp<ÀòÁí¹Ú\†+ &¦T}ÍUªL8š2ê£8@Ó›xT&¿oXm°Nÿˆ¥«×.6ú&Ä~¤³Ÿù™m¨6˜%¬JÆ#†¥_úÉ~ňá<3{ˆ]4üǡýe¸Òàd»Ç:ŠRHa= (¬gÂc?§¹(&›’˜qGlްzNsZ-S¥Á™<‘û7ÔíL•b”?o—0­2˜[µÎ¬‹Ï_éÂpÕ®Œ bpÁXý+¬:"ÀS˜ºx@1ëÄãͲ9 nàs_›ýâ,§ñ-ls8ÀRX %–ã}0S½ Âï±Ddnln¯Ì°Äº»,/lª0؈µ¤e´»é~­ãÊbu»e@ˆÉà­zÆ1+ä´FËUã–É}lc `Áü`uýþ^q,€±BlÊu³œU Vr¥ß´Òà݃a¬,-‡næbiðd’û0 ×½ÆßØöØ“a™e]le+!ˆø!û·\i°aì^/I!˜|GX[Ëql'a-G²ë4¶5ÖÃÑ6˜pKt&ˆ…ïh1º9Çþ^v4ÀŠ^ž¡¼=OÀT«Žåcž ‹ðˆŸA=E4úQ °ãfÎÚfßWL îfÕ4X¿Ú)c&Š*¾áèZ0 íËÆæ;I 7ÄX@í0 sÇ®a V ¯K…ØÁw{äý°Â`ž?ê7™³¹Ozaz\,€½àtd[lp.@,óèÁÒˆ]$€e:l™°6æ*ƒ ;î+OÅ‘æ»Ñè';^èI•Á¬Ã5l,fŸï¹4Ç,Œ +[ÛØÅèöOÛ’î©;@ŒûzzŽdfïcˆ©Ç\u°aY~.¡eŸXgÄTt]q°aØ–¸nÏÇU@Œ¯FS3ÌÌ‘b%ŸUàðÝ `ŽÉ‚_#Ä.@ £uÀÆ]$ [ÝfÑ™xÏÕqBøµ} Ü³+6ìØ¥­Ä\qp²*pr±nbÈV +ZØÊѰᢠª±ù‚ +)zž°xŒ{ÒcÉËq2¼õLíåp€¶¾¦Pb FPmÓí%9íœ}²!“a®6ذjeMúž+6 K¹žß«Žd¶:XMÐ7vň1huͳ9Àä +RƦ[&w³b¬8–ÐËp,€îk]æ{÷2 `­Úb-{WUpe¡œú.Uìòzu €ï¹Î±nÈj‹Ä2uÃ\Y°a™ïø¡© Dz/ÖRa^DÇXuJîSOè"„X%1–°u€l½€­¡q8@ ïôníЇã¡îÇÊZØc4}/;@ì lg»Ä.Àäzl*CÕR}¸¢`ÃFg¢~³^ €P§ZáÔTšcÄpc›R=ûèŽ+eœ7stGˆ%–Ë6Œá(1ì†Ø.ì U'¶Y!ÆQWY뢄p²Å~àq8@ˆµÝÉ2‹cĸy+u¡3žÿdÄxV¶­â¬Ž(¹)ƒúž+ 6læ/Wsq•Á†±kêÅ›®2Ø0|©4ãìÄdáöba+“±/Á +ƒUdhï´Â8 FVÙkk{j Ž…`ŒtO3=õ•®~@†ÑñV/±gF±ÄVQÍŽúÊžˆøµ +„Að€ù‹)¶X–+ †»'⇑ Äó~z«y`M&ðjgaÝ“€Î|z6A³§·†'ôèØqeé¶LOºQ^µEêkyÀ@,èÞ +×ò€‡lk:ÔÇá91 0}…¶¯{z@¾Ä~r}z`Aþ´[a®ºàÑÏ•BE= ÆP]pg 0øxjèFnÙ@uœ+{ñÜFl¨0¸ì] /Ƭû½VÌlÙ=MÜ’¬|€1Š'Ä:Ógmš£z@ŒÇßKßkž+,R.sabÙbÕ†uψ¥„Nã ÏXز³b ›žXÑ w\}oy@Œ^Û¾e˳b÷ž7ψÕ6¥–=fò,€Þ„,#=³gÄ2¼,Ý—é +ƒ…V¶1Gš Þ”->fõ4€Ø´3FÚ§ĶÛC¬{@ÌŽx4Þð<€£1– FÌñb5j-?æô< ùÆ#c.ψ‘ö1븂 ‚ ×ßXÉÓs0év®äi@cn§ÑÊž›I§bX žÂÍRÿDBWM€ Øíç#GŒš…6•Q"èã™6G€mæÞ`G‹ S‚I}ˆÐIÆúš£GЙ·Øì¨zŽ90&Íi.3p€n-qä: ³÷ñ‰µ.­€9VäÀjí²óˆ “‹)¾5gŠ$ÀÊ·É™9’`ÇÜ®Úó-Î:x{G)•‚ZƒÒ1íÁÔ–ù7eÉÎUR<²d*‡H€—%;×dW‡,/Kv.åªsN–l#<ٹ˒ïM¯/²dçë7ß 'K¶!ŠfÙ:a² áå²èŒ&;M<Õ­Yö&;-É.fòÂd§Ú}ž‚0Ùi¸vâT&; ^[’òðÂd§ÄšN›0Ùi^ûÖóñÂd§Yîy«ÕÈ6hÎá³hž—2Ù¹ ,åìe²Ñ•}‘&;7²¶&›“&;7«¾%œ4Ù¹Çíôµ M¶1ÓNzܤÉÎ=ul1/M¶·â³·f&;7ð}&¤É6f ðq“&Û `{‘&;ýŒ¦D´ M¶±šT¤ÉN·f‰¼i²Ó[»ËK“n‹Ñ7i²µ]é¤É66۞ʥL¶½Ä}àqS&;͵Ÿ¼2Ùé\Òa}Ü”ÉN§t®­væ”É6ÇSb`N˜lC¬ÖpN˜ìtw11ÿz#ͼóÇM˜ìôÔû)æ„ɶ‡Ÿ²&a²“°Õ÷ã&L¶1ø¾xòÂd›‰à •ú¸ “m¬3µÿq&Û¤&[ Ð “m¬[ñ+ßɾ§CÌ L¶ùYÎ:Œ Êdƒ9/Êd†áÞö²ÕΜ2ÙÆêR·Õ L¶±U·æ’W&ÆvZ]ÚjãF7°vZ—’W&F‡OR(^™lccË8ya2AØ£´÷a²±Åc¼0™°³ã}Ð%ÛЮ® ²d‚Ú®x +²dbtô”,‹dc1جçãeÉ6¶ZÞÒcN–LØxJ::Y2Ag#• J¶¡§–W%J§ãÒ J¶1x£º:§JFˆíÅæ)/–bÄš™ýE”lCl¦Z7Q2aL«”Š›%ÆæØYêbN”lcØHt+½*™0æÒfI9U2aìòšNì©H°1«ª|ÜTÉ„uæÙJmÞbêN¨»²n1úØb"A–lcÌÈx‘%ƃ Y1/KfX" Ò}ñ²dÂðÿíè^–L+‡Ú‹,ÙÆVÞ²S^–LÝ9ÝÏÞn1,Ö®S… K&Œ©*RÅòºdÂàU¥ô¢K&l0Éðq“%¤†›.™0ÊvÈÏñÂd†åƒ ƆóÂd¸'¼è’ ‚3yHÈmä—ˆLÎÖ +sºdÂØSï‰×%ò¶7ôK—L{TêrÂd‚àìåî…É„Ñ9’¥&¦¾¼›0™aVk¿çg0K ï¼´ÝÖ-àÀàÒ|&Fñ@Ibya2aLšú^î?+Í6± ÂdÂ&Ã/ÂdÂ`¢ò‹0™A¼ö½g»`êK—‰ýqàM+›,™ó'=,/K&ŒRò_¼,™0Ü¡cc+R˜sVçÙ,½,™°ÄXê‹,™0Æðä${Y2a•R1çÊ·€ ˜ª}‚.™0쓇D½.™0Ó~ÜdÉ â™ZËY2a¹ÚrfN–LÜ¿²Ùœ,™0xÊ_ ²dÂÀéÓ +²d†C*â7]2aTŒ”˜“%T)”# ±)ÀØàÇM–LÜÈ!1/KfØdc°ãE–Lß wxY2a&dtJ…€‰X×í ²dÂHĤµâeÉ [lµZô½8‰ØR +J%ÖËn®dÉ„±áèþÞŠ€}z²štxY2Aåä’A–LXgè]úbù–v„²î»’Ê-í sûëA—LØ%ZâuÉ„1Ú"¡¯K& ^XÝãõÈÈÃ(Öý¸é’ klb¸7]2aäMCs™‘L¦Í´­g¶n™G¥²˜D¶œ.™°ÁB"[)’2‡-Çäeɱ©²%¼,™°SË‹’ÒøZÒ^”L})/ªd˜M¶±³oÕ–7ˆ’ bÌGB5^”LØTS¿›(™aƒÑ¼r +–]}ˆ ã!¿–­%Ɔ¶+Q2Ã&EPæ‹(™0+©=…Ç `§¦²õíJŽ$Ø¢«ð¸‰’cOŠrŽW# `ƒ:69{DU2AT‡Ý2aN•Ì0v =NÁ²@K¨M2ƒèØo§I&ˆ…•ÒNñšd††|žºc,*eä­÷å4É cbÇHñšdÂóÍ…]¢d1BAŒ K&Lʦ›,™aÝš–ŸX «Ïx ªd xÇÆzäXöƒÚ‹›,™aØ8«½*™AÜï² ‡W%F›%i"¯J¶S¯[Óãñ¢d;aÛª7Q2%z³»D>1Ç,Aœ½%%X–= ¶˜!ìV{ÀNÈ +M²ÇÎÔ6}­y`iïp.ú‹(ÙN–§ú•-#/J¶“ìO}€ J¶“ó±ŽÌ_ ¢d;©ÿlýìDÉv)~éU”L%ŒåÙö×ʃ¹Ôç/h’튅•¶Z“×$;+¦*¨ƒ&Ù.`®Y}DQ²³®‚QÇÇM”ìVDÉv(ŒÞƒ~+=àOìV¹Ÿ•$SÁ4ó[éÞŸžÕD2ˆ’íêÜ}éZyQ²]Õbgå(J¶‹aØiýÔ+s ÀŠh” pS%ÛÅ7ÏU7Bé‹vÀÚ—ŒÉ¥VëS-ÄvS%Û5B‰aÊÇM–l×ÈKéÏË’íš$vöÒ\º'¬e¢^®^/K¶k ŽCT=È’©vŠôtÏÓÉ’©æjÒVk¼P|ÀZ-jáh¯ž¡ø€aI–iÁÎP|Àãh,m©zU2U”ͧà¢W%S!ZÂÛ²]Å“¦öTž»ÙÂóªd*|£:¼H“1ÍŠ§ÜE4:ˆ“#[SÒ ^œŒXÍìê¤ ÷âdĺµ^–ȘÓ&SV¶ 5äôÚd„V{ÖÍm²d¿±±HÓ0h“Û1 狆X,k”\‹Ó&³vذÖXð/ÚdÖD[°ÒürÚdÖ|›ðäÌm2kÚÍx‹„¿ƒ6±Ê±˜ MF¬³Íß’ Š×&#ÆÆÈk?W¯MƤ5wðK‰Øym2bxæVÙþ¸i“=^´Éˆuö9ßZ'^›Ìúª_0h“©{Æ+yŽ MÆ>î…çMzg¾ü€:XLò/’• Úd ë`å0áãq×&cg?\^•¿µÉ¨^JIw»º LF’ÁB¿!ÝŸ LÆ\>æû¤­1櫪Q=˜•"E3_}P©û7OبMf úåë>îÚdl`±¨¶£E´É¨™Ê2^µÉHx xÖ +ÚdÌ,¤mïR±ñÚdl/¯H{Ô%#Gb9 t%«f «H£*™u:ijQàÑjœH¨¸•ëU•ŒÒ þzÖ +ªdlŒÈÍi+ÐY2Ó!³åqS%3•Ýã¹Þ‚*{uàª)¦û¸«’ñ²u‚Êl£*ó$yô”ö½ðªdlòÁM ×SyÌi°Q'‹–uuA•¬JÍd)Å6ª’Õy©^ÜUÉ81þ~+üòªdÌÌ”N¶ôż,;?»–è.KÆ æžKs€T QÖRÔ%3u ¡ȨKF† +£—D£0Yc…ÃÃw]26š¼ŽÈ¢.‰íÄòד ²dMZYy?½ KF†“ö&dɸÄþ´›RGY2¶¯ìOeÉøHÄ–¥æeɘ–Ú3݆SzìbÔ& Nc§dÙ³ú˜$»/ÖŽÛ] ²djµbÇ,»,Ÿ2OKš„ã‚,ƒ¨<ŒÑÉM”%£ÜÁa‘ùq—%kT¤ÂŸt’eÉØ¾Kn*å"Ê’qåT–K¬5È’5ShÁòÐ5Y2vçd›Š½‚,ƒ¶W?î(KÆ–0ÌÓœΩ’q-6V±WA^•¬ÙYdêòƒ£*Ex¢Ôõ`ƒ*ÃÀ…öUò}^•ŒMf:aõÆU2žA0®µU2Ö6b×”VÐ$£Ìû2t‰ðM2&ÿr¾ç/M2ž q?ÚºcA“ÌʼžºVQ“ŒÆiáÊ·–YÐ$3ѤtÚ¿¨IÆ:¼zs4É’õÜî[}8j’e'Ä––YÐ$ÃQÖ\QÄ›(ë@°•ˆz%£[_”ÈV%#¡ÚŽÜ]•Œ vàÍý*U2¾ÚùYÒUɺÕì¬CÍ£,_ûJ)qÉ‹yU2æ=c%Ží.yU2Ê_À5šj­Uɺñµ¡cÊ(JÆ®«Ô4O[Í‹’u†wè“/}ω’±!+|½¡Ê‘(Jfç@£/5SŽ¢dìÄö>’¢d<#¢˜‡® Š’±öt±DRÒA”ÌlÓ³½q%c]*Û«éf%£ÝJOEú(JÆÌmØ—Mx£(î‚d,+`Çh‰ü=2ÛcS¤m’A {,°K«Ìë‘ñŒô 1é{^Œ ²¨t£cy¯GÆãÓjʺ6¯GÆÖYM7æõÈx´Êq)KÍë‘-ãúùTT zdLŽÁ&ÛNõ0¯GÆÞÈ49ª%ŽŠd–8sèê®H¶ìÄ{Æ–ìòŠdLªY´¯Ç«"™ ßpÙH·/(’±0‚T_¯i$£&Ž*4M/H¶lerÇÒOzA2êåðäI‡uQŒ%ïl¥¡C¾ HF÷b+µ>î‚d,‡ïÏüï(HŒ¦w–&É./HÆΉMstÇ‚"Ùb(DRë/(’Yg¦cÉÒ8E²l©?¸Ô¶§âɈÁ0>…ƒ¼"™•oPu›¯HFŒÂ|l[ò¸)’©´ƒÞŸñ¼"K;(bD€ÇM‘Œ;×-ÖèÉXö‘Ù¾LN˜$#„Í|ì´± HÆŠÄLíÜ_Ɉá^À9ÔÓóŠdÄó„Ôy%(’±Z¤RÔ²éòŠdÄàÂN›]ñ‚d,$¿ÏTþ‹$³¼Y Xƒ kL¬ObÖ›îɬþ„El[ÁÒ ’eóÇð¨ThɈUvÿ]û +œ ±¹#ñ› ‹S˜À\•7Ɉ òe]ƒ$cÝ +¼=¢ô5'HF î%öVÉzA2µà®LÄ{ÜɈÁi„ëµéɈÍÅð¢.Ý+’±F©+õ®HFˆ,6+Bɲ538ÒéðyI2bxŠày{*N’Œu2X'0áÚì½$1ø³¥Jµ=H’ekÓ K¦Æî^’Œå5ôˆ§NLƒ$1&U`&õq“$³Ò›Ìp¬’—$#&,Ýi/Ife9L}ëRúrŠd„àˆ”CÍ‚"±+ë?’±`‡Ú‰Y}‚ 1Is 7A2ód8 c¿”^ŒØ¸N&ƒ  }°7Ö¦Bý H–Mðé’2ñ‚d»ˆsi‹9A2b¬L¥¢á#’Y}Ðâ©Àè›"ëƒX›‰ÙXO~¯HFlðŒ`OÒ•³x†¶]":^Œœ»º ½"k‡Ž!>}$#d-…D´‚ ™•aQ²Ðèq$cÉQ™O1ã H–w9þ#Q.'HÆz$.ú½Š‚ 1JîÓA,[>#»l±2'HF ÖïxbNŒµJÛáo :/HFŒE?»œ#’›,,RØð‚d¬q‚ WPr^ÌêŸØÅ|9sUÁ¬ÂŽ]ª~qÙfø÷Í÷zd,ˆ¢þ—Åã¦G–¥¦¸Åµ¼jáNUœ52–J1‹,«ëBP#˦vI•µý›—«¨¸µCrd»Âª-q92VX¥z¨àæ&GFŒ~Tû✫¯Žd§ÓúM'G–M¤ïáÜBl—!,X2-H/G–­õ;[õ÷92bÔ‘ÞÅLAŽŒu[X·eËÓ92«ébÆA–Úš—#Ë&ö[YÔ£ñ\M01jtåN92b´TI¹íAŽ,[ŸBx3ò‚Y¶È§Ø#òrd,“¨‹ôz¼±Á#¹ó¾892Šñtî¨[6ÍÉ‘Ã3Ç­•õòrd,"cŦ,õ Gffìg¦(N##Æ®’[áÌ©‘±öŒRžM‚ÅAŒØ h¥´u¼KÏ2·'…½‚1Ê7ÙáãMŒŒuiXÎ…éf›™Õ¬fúýæ%F–MnowÑÛåÅÈXÎFå†C÷ FFŒ©mCqÖ G–­ þ¦âë GFlp/Øßórd¬uK{_‹jdDèZLmI^ŽŒEp…<$ñãÕÈUú–jgÔȈ­ëÐ#¨‘Yñ7Ô¾•Êœ±Á@qO/jd,ž#V뢠FFˆéHU”"¨‘±®Ž}6›ÿ‚1ÌpœKÝ«‘ct£©)¨‘±e^å”»üÞ‡²û4ÜäÈX¬—ÙsZÙ©AŽ,[œ‰7©HXìÒ#³:¾ +«Õ÷pN,ÁµÜ«ò¸é‘±Ž·SWîåÈUJù©wG##6)k»…Q½ËÿÜQx##Æãª6ÄAŒ¥ôOýC§GFûf2%æåôȬjÐΗå¾x=2buYË v9=2bÜ3ó–“ôzd,*Äú2“ý¸é‘Ã]í[ÊÉ‘±Ü›$–’dÅœ±ÎfJÚrd,E<˜u¼E²¼1j‘âöéꜱÕy,*á-/G–mm˜"¶®ü’#S#Ì·º=2–0òà*+ÂôȬ¼qíÝá¦GÆòF¼ƒy)ÿ.è‘ekË 7>m3§GFŒÝ¨NU^¯GƲH6 MÛyözdÄ&¬Áû7]I0ë#q£×ncôȬvì®Ø +zd¬LÌmm’»òzdVW »²¶è$#¶–e™è~:A2Ö\nõ]Ék9A2b®?’±è{!K¸Çã&HFl°µžö¯GÆzÌľj½{=2b o犂‰-‰>»ôÈXÆY*Ó‘kÐ###€™ÈBx=2–x²+XÒézÐ#Ëö>Y÷i•9=2•&e’ÜɈÑFŠöA2+ åËÖ%6àÉXJ‡rgHA2b’$’`‡$cÙhÖ~Ó ’co“ÀÉXRšv]ÔMŒPcûˆfîJÐ##f˯JÂ+’±Ú”S‡ðF<™×¼Êæ Šd,@•µÙ?åÊ‚­8•JØÇž‚S$cq*ÌÉœu‹h9E²]¸zPêqS$#6™¼e'œ"kZ ëatŒɲñT‹Ý712bÏÇx##Æv4ç«åÅÈXÌ™ì¤~/F–-lÒyˆi_óbd,TfìvçÑ12bØ”ÎöëAŒŒ•ÆNÏ‚‹˜MZ‚ FF¬«ÈHZ^NŒÎl»CTAŒ{ÝÚ–xS#³ÂhÞ¡$-"/GÆÂhfÔiì=2+šf æ-šæ +‚ -®Jµ¹ rd¬§Æ»ó)9/GFl(â"½.'GÆ‚êÄ\‹,#æäÈU¿CZk^Žl×a3 Þ792Öa³ïdV'Å Gf5Úõ2F^ŽŒ5ÚW\ÞÓtrdV¿íl­—##Fñ›-DéÕÈXÚÍt9µ6õbdD«ÃÅ‚18É•nØã¦FƪïL7eK‡z52bšò +Í52V„ô¥Ç jdĘižÔ_«‘p)¥ð¸©‘±œuêKqŒ FF ̇;ñ|ÜÔȈͳé¦Ffèxól¾©‘ÓA¿^t§FF—mîÓã¦GÆÚtËx?EÌ\901מ:葱nÓ¨]J+AŒXY°[[.Óë‘|Í´c;92V»'î>:Ý rdÅ8G?ÍÕ³»u˘¹z`«’o0ê-äȈÑÜ 5 rdÄTû®5æåÈŠEw(is¼È‘ƒsP¶7èÕÈŠ5H+â;752VÞs§hjÆÔÈT•ÏÆ3åEŒnÞ±ÏØ‚+ö)øŽmsñjdÅ:c×ٶȦW##F}Ѫ@gP#c9?Oû$òêµÈˆq,ä-2b»Á*“Þ˜Ó"cž’75µZdÄZà +NãE‹Œv´,¤ÈØ;€"ÎS}µ‚™õHÏÎÁ^ЬX,iš™yÜ¤ÈØr€÷‘93›±ÝK˜«&f²äS‰^‹ŒíŽË«r€ EF¬înIi‘ñ#ø«¯åq“"cG„Ì8žòü¼!ª°­~á¥ÈˆMù¶RërÁl¤À²¯Ú÷÷\E01¼R¼Ùùq##F5È}ÜÄȈ©Åò8sjdlÀ £EªbNŒ~ØNzS#³Æ ¦X)•AŒhh–Šåƒ1nRdÄ…â$õ¤Èˆßã©h¸K‰ŒŒó ¥æ”ȬóI¢ÿ¬Ù+‘£fÕÖã¦DV¬ªÛ×6~^‰Œ…—ä༡9¸aè[N‡Œ½Tà€ŸGýA‡ŒX®ð ¶°–×!+V¸ K݃±ÎWYía‚™õnaSwí2^ˆŒž0û󾑱­ |`úgšŠ«&ƼˆuŠn9)2b{K‘6JÐ"+þeƒÜãÔ{j‘{þÏ|² EF 7ùìê´ÈØbFE1sZdÖ~†Ëvìy^åÀ„XjJqŸÇM‹ŒXgõá©´æÊ‰±­øîr´ÈŠ¥äš°tÊœ;Ú°æ• 9712bT)]ßsbd„ÊîÜþ¸‰‘kgqýMŒŒXï /±ö^/FFŒå»'P#³Æ;l/ íµÈØx‡~hS–D##Ʀ!Ô³zÜÄȈ–]ŒCšiNŒŒXpdºÞJ/FFŒ‚&ù”)»@5ÊÄÿj4W LlRéTosµÀl{“Ur”ȱIWY JdĨ½´t¤ÈˆQÖ&BZ]NŠŒX]l‘¼¿ç¤ÈˆQˆaœÇMŠŒ¥Š7ï RdÄ(íÜ•-¤ÈˆQ'³—-)æŠÙýˆGBÜ7)2bpêávËØ:)2Bتò¡&2AŠÌ*áû=IÎK‘Ã:©Y±ï EFŒ*k+´y)2b.5H‘«‘¶>)‘Ë~U×ð;Zd}Ê‘YØç"»4ÈÒ©AvH„Ì:,‘`e<Ù(Bf›‰Èïô"dêË„+—;çEÈ ÂëÆÕþ"d†Ð¡VÜ‹ËD`á§¹œ^„Ì ŠÄ/[5^„Ì ¬˜0Ó s"dX%ù©^„Ì Ävôö¾{2B˜ƒE‚Q„Ì Ëë“’€!3¬1IDB\NƒÌ r)Gy 2ðÛtåm 2b,ìž}¾h†^ƒÄÄ\½a•ÇQR-rd¥½Åß4ȈÁõ/,+xÜ4È “áyÑ 3Œ\GŒßk”,x¤Y: 2bØ<¨°f˜× 3 /÷f&AƒÌ°kïd†a±ì AVL­–TÛe 3 ll*=nd†±Q³Nè‚»–-¶0©ùE‚Ì0<œõ$È #{<'AfªÔ¡?HY—4f{·-]æ$È cŒ2Ó¼™Aɽº× #†_ ˜ð‹YQiþ8µì¼™aLò™R–ðdÄú~ßodºk[ŸÌiƒ7}vüfGî‹gëùäj¿5È Ëbµ›1«åQ“× AfXµŽfÒsd†a#¨Úƒ1Ðõc'Š 2ÃØ×xi•y ²b¹[õ´èAƒÌ0Ûµ¨½±Ä–¹mëš92Ãè›ê(;ˆv<³Áƒ™5⻎=‚™a‰öT«Ú‹±¹ß&å“72ìAò^^„Œ÷«¾µÒ\ÅA§?Ó #6(L³õ½™a&—N²§±Îƒ!I¥y 2ƒHö¶”Š!#Æ<«ýн™ATâ\ãE…ŒX5It-@¯BFŒ'eJìÆ«Vx}Z€^…L]Ÿ¹.^…Ì «‰]!#–ÀSßÓt2dÄxlÂÇM†Ì°²N¢ YÙiŒUØ^†Ì ƒÍ+Ç‹±i5ÚÚô¼1¼t„92ÃØöb&ý¦Ó!#¶ ¿¥ætȈñÙueÃ2kWy±ÿ CfûÛN©õx2b¼o©ø&ècì'å} ®â€Ø& éqÓ!3,ÑîèN{2b˜Ôy‚tÈØŽ“¨}˼ ¡É3>o2b”â[­ÇËƾC[¶ÒËY÷OìŽSõA†Œ˜)¥9êUÈ1Á'­læTȈáâà§ç²ba^V$ïßt2dĘú¹Oò‚ ±ãŠm2knJ"# CF »ErÓã¦CV,ƒ8×Ý(,è«ùL”ë–Ö˜Ó!+–kÌö[öÌéƒ Û=0 êt´žÝ9ƒ 1ÊjdíÈA†ŒTʾÑ^†ÌB s«Ïk!³F½×!³vêÇ<3ƒ™…Lú8+ˆƒ™…Z@ÕAW^”È¢ÁrÓ1áM‰ŒãøO¬ù€û¸ßì>àvFßsRdž¢>”z¼¡ºTŠò¸)‘Y0Œ%½êå”È]chˆ»%²bí—ë)T”ÈÔ + ‰ DV¬õ´=ÛÇMˆÌB‡¬ˆQË© DF¬Íg‹š DF,›Ò•Vµ"#ÿ ^ð¾'DÆÀ(öÊQk JdÄxDJ¬áœ±ÄÎDMŠ"NŠÌ"»¹Qv\_sRdÆJN{Rd&U`N­w/EÆè4£V*Ö +JdÔ^ø£$!™…Âáí ˆ D¦ºåCh0'Df¡w˜jòjéžWæFP!#v°â_ºA…ÌROûàk¿õ*dJY]»©@P!3É$æ‚ôubOùbXF‰g&› +“n9rWM[P!³d]öôÉãE…ŒI¾“ÇYJ6*dÄ´W•»’X›ÓžÍ“‚ +1ž5LQä BV,Ê2ŸnˆW!#†9·] TȘiÍÿ´ +½ +™eh3«'‰:82æ|¯f’ér*dÄxØ¿Ëù‚ +™å˜wv1âæ +%,À­, ‘z™/9`ú|¥¹^TȈ1‘‡M|72“kë=s*dü Ó“ +[ƒ +„ÉÔpù5M§BfV8-‹èUÈ81¼¬ké)¨ãùû>ƒ *dVä«Â2”ÇM†,[S)ð ò2Þ?ºãXÂBÕÏzw€÷&CfÕTÖÔj :dÙjá¾’ð:d\ÃÉþx2+PAÝåæA‡ŒË +ËFmAn:dÄ(¾Êqj=%¸TñëlºØ72bsÊÊï +:d|5˜Cµ¬ :dV&´”€ÿ¸é«°,kÎ2¾¦øÖ™¢„ȬРoÆÚ’o^ˆÌ +¤Ò3”„ÈÌd°mLÙótBd45LÒÞ©A‰Œ˜OmÍ#¯Dfæ‹Çç}qJdݳ¤R”ÈhÙуåÜ›­ì*‹=…×ã¦Df5sÎÒñRdVj—ÆÉÀƒ1xXÔ–ü—“"³Ý`–÷þ¸I‘ƒA¢Èö|ܤȸÃ`gû‘ÇM‰Ì +±þæVòJdÄè¢J+N‰Œû žOÞ}僙•\ |”ÇM‰ÌöVlÞ;Í)(‘ƒ Â^/ɧD¦ªQ–Ûëe÷JdÜÿãêÙ”ÈÌ7¸Zº)2«|M‹ùf›¡Ìœ†-`æ*è¥t¦®ç­ðå*²;76`{Ü„Èèø¸$š DFWj™Ê€î—"37‹*³}K°9!2ºgƒÕ{Z(^‡Ìê -wr_œÓ!£Ç×Xwµæ‹Gž=.z!2bx=ë6þAˆŒé°ÆÓÇ‹1ø®éP“þ DfNîÁS*Iy!2bW[ƒ CF· s‡eƒ =qµÿ– ¿dÈÌGg¢³t½ ™UöS^%óA†Œ§¾k8‚ Y¶¦ëφ`A†ÌhÛ *ºdȈáRËb<¢ ™µIàon]'/CFì`V›Þ~/Cf,©ZÞ¦Ya/Cfª Zj&Í>Êu·Y¼É‘¦õÂäÍ"©1'CFŒÕAð4;'CFZÈkj]«“!S³Œ‹`çdȈñøfQ†,ëâ©>o—!³~×R!#éåQ8f--.Wu@" V}†u‚±ÌýE†Ì¸9ˆQÙâ„^†Œœžu)U­/ƒ Y¶Ä,;1’ Cf]\¨ &1Q¯BfÇ Xsìá\ÍA¶Ð57 ½£^…ÌÑ´òtn¼ +Y¶gÏ»¼3¨ñ„›óÚã¦BF Ö¢¯½½ +OdÚ³uw!³ž>tÁÔ'ˆ+lK^§†«±÷cÐY}*ƒ +YVIj>}0¯B–-3S¹Hsq%Ö# ×7uhTÈìt«?æ2ŠÑÙ>n*dÖç‰lRt*dAˆÌ„Wìde>îBdìí~0:g(è1øDµC“E2ëeöÔ4‰:d<È£±z_E2»N^v×!³¾jVv-õ/¯CÆ–~vÕNî…È[ës DÆolF5õV!26bä¹uZ'v ‘1–·-×ã&DÆiÕ®LÊ»Ï3]v=Ø DÆf#ÝÁyÊ]Rdd«Ky!»e&“¤Z¤È€1y…êY»Ÿ<Å3¢0)V³½Š D6,ÿ— MÖã®DÆf˜®•²W¢™}bd©x%²ajc©n}Ê DÆ0,“l•ƒ•ȸªxè»5kƒ™§ö]…ÈØÏ“U¢Kk3‘±Dñê…ȘÇ{U,F!2F’HQ1‘ñø¢³ó¬Ó‚_¦í´.m0§DFÍv¢QªmT"c»R¦Cî;¤Èˆ%ÄèÉ)2öÏ¡ø—¶ ¯DƺMlA}H•6(‘YM'KÈSmìR"ãt;»+‘1ôÎÄF]ÿ·wÙµ]Ùµìêùú»RÏüÈ4à¢}k†«i|KþÀlì”D†æÞkÍyöpÂðÝgö5¤2‚dëIdh¶Q5pèIdhtv¾TÙî7˜ج 2¤¨ç6|";¦8þDÆêìŒÊ!©Öm/,Øf…C6R”ö<¥V0d¾^xŽùð¾ïeV ZR0d£J0ÚµŠ!}ë Ôá…!ólÌÉ,µKK2´Óž]ð£Š!cĦ…Ct2Z½jJ¡QËÖF…È BæU󈜆„ŒÐ,Ʀ0•B6þ +C[7+²1G u2¬(ݯPȈû˜–Èîé(dÞ1) +ªV¡±k.ˆëÐSÈÀŸÞØÊCFnõêtÅB!# ÄFªœ»ŽBƱ’gÇ +V(dÀ™mj˜Ô× …Ìë³%6½(dHû]õ¸RÈœCcæˆâ‹*† ÍSÃg)2_Û[$ÝU +³ÛÈþÕþ¦ùÌ·ŸQÑÀQBL”Ë]x¤RÈÐÎíJ®2O¢`cQ»‚!cÒÆŽ›âwCæ5jÙƒ>ß²ÝÃRÌr+cÈX#–Øõë1d,-˜t: ª24rÓÛx¡Æ€åŠÝi¥4W ûØÓ=ýV ±V-(^ CæÜÂýâ¯V «ª}£QdC¶“QyÌV«pÈÐÌU&vbèAd¬â;˜>v‘9'q·æ¹·^AdpŒ¨Ä­dˆ +"â`ƒ]ž|‘í¾Õaè0D¶‹ß­ ÝÊ!s(#nŠÐ>…CFN Óò~¸•9dh6ÓD¹¼Ê!ÃZ‚v®àöÊ!ÃÊâ˜u™ß2j›ë¿¨ôCå à´­±™[u ôR +‡ £˜ZÀÚÞ¨ 2,EUÐï2ˆŒØ4[žNÍ …CF:Ñè•ú¡ç¡aÀž‚†e6+§˜[C¶{xֹ˳«27ƒ)’(d]Á¡`½‚!kX7€oC†Ùm/]A^™BæÌÌE; CG!s;~ÔíÐQÈ\SÅ•eè(džceƒÇLJÝ.QÈÐ(Ò1_O—(dò).Ÿ¯@È\:ˆLÔÉ24[ȮꪅBæ.ÌB}&Í2… mãØ=ø—™Bæ µÎë …Ì¡fGª`¡¹;µØU”¥S(dž`Æ^rPA3†Ìµÿç}%QÈÜwc*K[(dÎ'}|®CG!sÍwõdõd +šynª·ÑQÈܼOå „Ì¥ód×AH­1›ÿŒ%›NU‡·@È„JµÑ¢þ !sÖV }ÕŒ seg1_2ÏÇ3‹d‹×•dh6±ÚG_¶¡C¹FYÍE·Û²íß¼dySŒL&¹DõUA/2´‚’ +…^>eVá#¹vl¾0t2ßXÛU +¨Èœ;¤5Tþ˜ ¬DŠY)ü1ߊ°IÊÞì2&‡@6yÙøûлÈ|CˆJÕŠè/2×¶›·›d(n­§j÷g™k¶@Ìg´dÍÖ?I¤Äk‹æ d®ÙûŠ “B ó--¢µUK?È\b >¦‚L,áéŒÒ]Aæ6À—L2×Îví6Ú¦ ΂Ì5\?õÛ‚ ó;˜¡$#È\ƒü¡‚A†F%·sjÒ‚̵fƒH ‚L°äã +˜)2×L7#È\:Ažˆ® d¾!i'Ž`èd®™#¼* +P2A¥ëeØ™kµÃ¸É 2× ôDÊ2´) +â …̵ÝÐC!ÚVð BæÒêµåü»d™kfÀE!à!ó[î­JÍBæš9jtß¡ƒ¹v`Úˆü•!dh$c'$1È\±Á¡"AæÒAÄÀ>Aæäk›»Z 2‚Ì5ÂuÈŒ síØ¯RAæ»Ù“þR2‚̵í®Vd®a?È_*2ÏŸn¾ È\[ýy„'kÙþgpôØá¡C)ýlqÊ_d“êpÙ3Ìž,Ùÿä]ØwÙ…ÎË2מrÌAæ$q¦m_™kT—m¨ 2—8Æ; +6góß“šœ¢Â óóg«Ûf™kæúPßrèd®±ý1ø+e»öXY™A†4«PÊ s 4Qþ2ƒÌ5ø#:e* 2×Ìê^ã]&Òm™+fEè*Ì%[K6Õb.2×l6ßb$g™k§§_Úcý~}E+™k6­»p@™AæÚvW- 2×ÌrÛ +–!dBÎÇfy!C㫞JÚ+2רqPYò!sò6²˜ +„̵Ý:é>¾ d®™e~ª|y ‡‘Mé@%™kÚÅÕï™Kë¼^vC†¹fozµ @È\ÛV§f¦\`×λÚ_¡¡5*ª”P(d®AõÑ(CÈ\2Ósž¡ƒ¹¶¹ÐCÈ\3i9Î2×Ìæj¦+AÈ\;mªjë{<€ÃYNôýsè d®Í샋Ÿ™!d:ÇœÍñ .QÈ\²7½Á5K2ר Z‚¹dfÕU†Bæš—›uÉ!C3CÄm¡ƒ¹6S®uì!d.Ù,²*®¨@È\ãdWõ{ +„Ì5¢˜Tí¤@È\kÖá&Áì2„̵c\#c¤@È\ãpM[-B†F%šõ‚ž%™k! b¬e™kó*C£ƒ¹F=À3î—Ò'9£LÙÓÐAÈ\Ûp4ãù„Ì5<‚5l BæÚîÿó!síÙ)2×ÎN_ d²¶âD„D¡¹mH&m†¹Ä ~N3„Ì5Ö•MK‚¹´¹\|²Ç pÍ&Ñ:3ƒÌ%{_›‚² ƒÌ5[ ¶%èk‰AæÚN„½ öÌ sÍL‹À{™4³mƒÎ”d®>ƒ{­þÌ óˆˆG‘`2ƒLÑ w4caI;#º¥ È\2/<*·™kæ÷MÚh* 2×ÈX ÈWfIãJl€ëR6[Fªma¹FñB1ú +ƒLš—s:™KÖ‘æ3¸_ A&í¼P‚AæÚáÓ¿~÷ È\:m‘åSdÒ(á#TF¡±e%¼]!IâÈøÖRGAwfe!¹6ß•ñ +Lå‰ÄÒÈ2×–ÉKñ LZ£ªôE'{Ü4†i@†2‚LZ;‚œYd®mn+8‰"#Ȥ5:™k²ž·–â€ÐÈK²I9Ç×ùlI³9ê_2i6»­‚~d™kÖ«AJ „LÚÃzÊ2×<%hÓýބ֮ ÔB!óâV¶rl{¼³‡B&É>Ð&¬Q¦I;öˆÊ+2×@LïB¨d ™´;‚¸`È\›GªŒ\ˆ²ä -ÇØ‚þµ&?É‹yúd ™k|QÖ²€¶º8t 2i»{=C"sÍl…€ò™´•jšzô3¹H[ŠË˜Ad®Ý›…C&‰h‹7‡Lùbºe™´Óí«¡ã¹ÖèI›eköж«0jáI;®£ÀÂ!S‘4%χLšgž‹{¶gOJýìÈŽ€'”®Û·;³#@Ê|U (2ik‹â§…C&Íæ`g™$0:+2×lzÚ‚‚—9dÒ¨Œ!z^æI»¹é…C&-­Z™Cæ¡‚¶``H‡LšÇ!oC"“†Ñ«±Hd’žh&‘I£¾”@8™DæÚDøˆb…D&mátè@d’8@кAdÒö=æ "“t6í,™KÄó.£î¶fG`òº?ã©)'sȤ™gD´„!“¤ÔŠ¡ÃI3sFQ-CæÒrŸ  ™´‰Èˆ Q–ü4wÏ`K2i×ÎC¡I"9Sd³L!“¥P«„!“Ä™îñ¹¶R8> gKöШ™¨¯“1dÒˆ£MlËN€WÜwí_ +™4³)ä +™´ÃæHMb™B&í$,ä…!smS³¡ÃI›Í¥¿µâ¬6…l£Œ™Œ!“†³¬É6cȤÙD±Äk®^…¤ÖBf ™4ªü­¢¬¸äÄì +–+ 2× ÎqÍ­úksóR¿kÕðSª áf™4ûê‡P]D&mS„AáI¡æ½º{æI»C¶3‡LÒ±p¨3t2iö~W8d®Ýq*C&‰ Îõ…!“6SîS—\«°²BÛ®?|1cȤ­Gäà™´:i‰C&­Ý°½Ì!“¶û»:™4ßÇÐ5ÏâØlAÞ¥˜ZcõL;‚ ”1d.™±¤¹B!“d“¶6û …L%FD_ʲÐÔïÖê;JMÙªÀA_Ÿ…BÚyÈÂ,2i¶T¶]×Ü«@Íæ5°M™Bš}XŸÚ +…Lš­£~—)dÒØŸ_²ÐeÙ™$':™kî÷ áµT`%ëB…B +ƒLš9ºÂ½Yh6] +f•dÒ(µOת °rþ9Þ ±âAsè%™”uTîWa…ìIðµÄ “f·ÒÊSd¡‰9Ô1ȤA(óI¨0ÈBÛF…bdYHç.2paIÛoO†…fϺ ðµUÀú¥-Öû9t²Ð¢¨\ÁI²9;@i{1ÿM±A<ªù¿£u§QÏvVû"Ë®9¥PÈBóú—CG!“f}y*SÈB»ÙX™B&Íãô»¥Úÿë­ÂÅ …,4³ó‚ +¶Vûc—LÛ…Bš,¢Â åP!µ‚ “dæå(vTF…¦,ìAEõpg±þɸ¨m™AÚºd13ÈBsHËÐ1ȤYïÝÕg3ƒ,4¶Œô»¥Zÿ¦yõÅ¡£…f_g¿e7…LÚ>/s2,QÈB[O‘È …,´ÀCG!“f³ý¤I%cÈB[Æq¿´bÿ›ætC‡! ͳÀ‡C&ÊûLf Yh˨ðÉ‚! mӇͲP쓸Y d®™3Hùí¡ƒ…fë¸m B³Ÿ~Öª@šP ºW†…vìg4sÏh7à¥@ÈB[b÷£@ÈB£ïŠ +6`ÃY[Ösè d¡Šk/ 2I3‰Òæê0¥D1û m3£! í +1(²ÐláY^²ÐØí×5[õ¶'q¬@ÈB»ò’ +†,4Ö']ó¨€ifuÒí¬QâP¹pÈBóhCÇ!“樻uè8d¡Í‡N© +‡,4s‡Å´Ì²Ð¶=ì‡Ì! Í  ‡,4¦í¡Ã…t²ù8t2iö!¦xô½º E¥K²Ì(ЀͲÐ6‰‡CZ‹Xˆ‚! í*_R0d¡y\éÐaÈB;£BÆqcV|_[¿Ã!£ÚÞ`ߟ e"Ž?@‘ùífbì»TÙ%aIEvI“63Šì’liåU$™ë8¾ðdÙ¥ÌÚåÊ$²KŠJÇ™DÒ!pI‘]JTVÌ ²KŠ:ÇD’q*ˆì’VJYhM•ö3‡ìRÚ¾JK²K[Tò³pÈB3“I\œÌ!»´6 +‘9d—¶ŒÁ={8d!­QÕ³pÈ.m"cÈ.Éf ýlÏ Ç®-ò3…ìR"v¶PÈBã„Bx¯D!»´È-²Ð¼˜c!»¤ØÌ(²Kç›4vÃBãìu: +™´‘°(ÑË…ìÒ¶1¨`‰BšyeAK²KóŒßŽBšyîû‹Bvi›ry +…,4‚¢Ô–‡BvIóU(d¡.,QÈ.mVÉËB! m!¼…ìÒÆ„,”eQúL…v%>Ù¥À±@ÈB›6•Ó-²Ðì †%Ù¥…q_ dšzÏ ¶‘d!ÙÓˆû•d—Fï:Yh$¡0ÈBkQж0È.mÔ Xa…f–²y™AÚ…X +ƒ,´+m°0È.mT”oa…Æê¥ÝðÐTï¤c…6Útªß§1Á&×4–!d¡‘R d¡±¹µ„,4 +,êw‰BviO1SÈB£¯z×ͲÐàÇ_¨±›>šýCQ§2†,4[hN¡Í†,4ë–ë Cš>tÅIÚ¯BÝCÚ•ØV0d¡E]¡…D ŽPc…,$³3D{I²– &6÷~Æ>¯³P}Bšo=„,Œ§m„,4Uãè d¡Ù èY‚…Ö¦¦÷•!d¡­gpî2„,´‹P d¡]F +„ì2ÜŽY˜¸ !»ì¼%ЀBvÙŽQ4ª@È:›³PÈBsÜÐQÈ.wSJ¡]f³{½…,4›Ž52…ì²Òm…,aÈ:ë¾`È.¯`U€@Á…v-)²ËC9ÃÒÉ²ÐÆY›CvyDD†¬ó¤ +†,4j{‰ã5÷®†ƒƒ„6K²Ðˆ¸xaȤQ>º]´±à…ÒeAfYH¤+{'˲Ðnn[‘…Æžô "“6‘P6]kùÄšˆsDÚrúÖDš#͇D&m<#ƒ&ƒÈBòPß¡‘…vSJ3ˆ,4PIƒ%™k6åRÃuè@d¡9¯jè@d¡yXÌÐÈB³ÎmÙ;7ÀŒ»‹‡˜Ad¡m +­)²–ˆÞ,²ÐÆYeÇ +‡LÚ¾Ï* ^8d¡©.FÇ! ®Œ~·ÔÓ6¨þ2t²Ð¶q &Z‘…65U“)$2ifL®ñ ­–Ú`ª:E!‘…æ~óБȤݻ¢…DÚƒQHd¡Ý‚L"“æx.ÚXuÌD]uÈ_HdÒæ«DW!‘…f €XB™Dšuu±D2‰LÚ½,YhK䯙4ßo|‘ÈB³ÇØÔ–½:Ïn~!‘¡q +0.h;«3`ч—Vœ¬–C;É™DÒ XÉ$2iÖ«U\¤ÈBIxñÆŠ7'|Š/;-õÐÁ4ЂŽ=È,2i” +‰Yd¡y~ÈбȤÝe +‹,46Ë‹E&Ms}õÌ"“F•ºIm9«;`aÖþe3‹Lšcp^,²ÐìÕ¶‹LÚÈÞµ·3³È\;¨ß)ŽIf‘…6S vèXdÒ(¶ýf‘IÿtèXd¡Ù¿<¤µê°¸Ÿ*rYXdÒ¶#Âh +Œ,4æ¥mè`dÒìõ +ñ\`dÒÌ‘ÃÆêp¦Ìd0t0²ÐÆñ ªØ\Ý’$&í4™´q9UT¿ÐÈ\‹¤€¡£‘I;€Õëš[qlàÛÿ8õ‰F&Íæ™s^†ŽF‹íÐÁÈ$1¥Äì(îÀº¯x4ºb‚‘I³Ö«®A‘I£ ¯€~F&íœ(42iŽÃ*Ì•f}q~ÁÈ$Ù'X[É02iäáh’Ë02iÛ•ÏU`dÒˆMЫ\[xd«ê¦ÂÛ…F&m^Ïå#“dã"ðP†‘I£ö_<øY•´Ymç™4F“@GF&í.ñ[`dÒ˜ÊüÉ3‹L’½mD™´yŽ”ÕÂ"“F‚u@Å¶ê ¬LŽ-î—XdÒö«8k‘Ikätë~{õÖ B™QdÈ1V;n™3Ôeù™4ÅB ŠÌµÅ:ïÅñšRRך92Âyf™4³´‹ZPdÒl¼¤ìÐãƒ4[Hd®qŠ¥sƒB"“æ¼>]²K<°9ý˜ƒqz…ŸPÚ{y“ȤM~B?t$2×0Ÿ¶xàD"“vÇRf™¤íFf™4`š›2ŠL!Ÿ‚%í]æ–ÏСȤ5Æ~ץ؂>Ï*n[hdÒ˜:4›ï]êu'u42iæ +*~£ÐȤ³ ÂÙ‘Kz0¯½[õ­L#sÍFù—ì2òöTU`dÒ–Ëí(02i^ñÜ/ÓÈäѱõ£e ÓȤ]É€F&é¶.02×ÝNÃ4ÃȤyhšÒ%,®õöè¨36fîèH?·€Ÿu‰ Mc'ÃÈ\cR G‘I[2?t02iö‘µ×žad.Ù×ñPœF&âX«@e¯ÄÌ[¡ó•x°6gŸvÀÂ¥¥øìÓlþhÊŽ((2iÖ„¨h{u¬g«ñB‘I#(Lý!£ÈÐ`g.r² ŠLšu>…§™kWµõE&máèà:™kìd*譠ȤÙUI¿ëlÖÛ.,JF‘I› gþk«>€-RW°LA‘I·¨­XPd®­€´}õ)(2×l<¯:f((2i³×Ü:™k±…P8d.L„¨ o’9dÒ–«ü`á¹6ÞÅ…C†fž5ƒ—¡ãIãÖÂ:L]ÞÁä4-¦.ï`"¡êÂ!sp² Od™4NŽãùZuhȤ¢º…Cæš"ÄD;ª`½h™t.S8d®Y‡÷ãb•È£‰âå‹0Js—y0aùŠQ0d.Ó [0dh©ÊmÁ¹vXgˆ¾’1d®í³ç‡CæÚS¨§pÈ\ãLCç‚…CæZ¢kÌ5÷`\ È6Ý®Ë=½ïœC‡!siÜo–UÆ)eÖ¬§QO0dÊ´e^ÔÏ2†LºÛð/ ™²~mŒnÂud Ù•-Ü.|ÙÒe k®llí21¦ý¢Õ d»ÂzI­$°Ï§mð¡#‘¹¶oWa!‘)3›šÈû‹D¦lïzƒ^YB‘)œ)g߆EæÚDv!¾JîùêmT w‘¹d+å¢à†"SvüCÃYKêÁè“È×* 2%êÇ|×È\Ã2Ô©`!‘©hÀŽ)§ûµìŒÜœýy +ŠLÕ ÚuRXd*z`öµª™Š%/ÊÚ™½6ÊmÙl‚ád™kÔEM+Eæš½És¼µÇ ðX“«ŒrA‘Eå ‚$ +©€"lÞ×ya‘© +†P§ƒXd*šA{zÛJêEw…îýf™ +xœ^èfèXd*üæg&‘¹0Îï¶È¢ !¼zÞœw௢¡”VòL›ÈTá«ä6 ÜTH§V Èó¢…j%ñ@µ\:™—€ª´ÀL"SYëàÚ\*$2•£=ÇmèHd^ÅÆÆ]¸8E¦Â8~|­ûíµ€Ó‡¡C‘©HÏAÄø Eæ Í1?e™ +µËý)(2טU‚›Qd^¼È–¼mi/™kÖf_M:™kÔéÑÖua‘E¦™¨§¡c‘¹ö‘™jAÙËUUa‘¹6 ¡…5³ÈT•Šà±ùÒ'`÷scà™EæU°6Ìoá1ŒÌKnQD} ðV¢‘¹¦Â%/™—ø2÷®){¢ÐÈ\›Å*Ì‹ŒAnw2ÃÈ\=R˜¯œ{°;¦¼ƒböë¥% ½±ÑY½Š¦‘ùÑúdŸ]!©…F¦"¥6Í4QƒÌK›Ž‹'8LåRáHOí¨•HÙÒ”id^¹ÕúÛCC¥‘y1Ø+ ²°È˜™H…í¡§‘ô`Œ+ ³bJ0û + 6À¶­qÌ[id»ï©Okô¤B##‹ž=ß#®™hd$olõ ¤W¦‘â4ß&s¥‘9+b¹ ++ÌYw¤ÔhŒÆœûŒŒ2mæ0@Ázi'qÂÒÁYl:nB0e6ÕWÃ3ŒlwPÔ ´,02guo°%ô»L#£ÐÜIéÆ&ÀY¦‘QÜÀž&€Ë•FFVpƒ—öxÄž¹·¤ïRhdÍ­E9·= s{Û¯‚ •Gnj;¯š:•GF¥s :GF½}™£TÅ‘Q×’œchGÖ¸ÒÇ)02O5¢ö”†FF@Þº]µÆ+ŒŒÓ ÔQá‹ +Œ ÍlƒIRF†²z4±`™FŸ‹eI9•F†füˆ[hdÍÏýn>h¡‘¡™©}¨~k¥‘QÍ0(CO#CcbP¶m¡‘!-ÔK©ÐÈÐF–7Œ¢l(£ÒÈИ°D?¯42×Ì~WÖ_¥‘¹6\+ãÈ\³M0¨B#C:hôù¦‘ù#lŽçzÿfX¡‘ymȃQ¯kf™¿éõŒ½¾B#ó´ßa¡‘¡Q’NñŽ•FÆë#†oÒ,[hdt2›Å¶àdf™ûÇS»^¡‘ÑoÙ \µ c°vÇž£†5‡µSPad <·ÉT–ad æ)>r#cx’*ŒÎ±x‘AÌ2Ìçë™ÁÈ*42æªc™£J¥‘1ÿÙÇ:·ñM#cÞ4£i i¡‘A^ èZß42﨤ë+T»+1©oÙèõÆ.Îaő͎ŒÕ‹­exÑÈ<™È¼ ±¼:Y?9¬ƒ‘Íã])ò#½&Õ—02߬‘ï÷‚‘Ù3ϳÞÁȦ‡M.c¤ÐÈÀȩ̀’•:&“Y´z]ŒlæI©+ziÉ ˜Žÿ:¼`d‹õ7€…µ©0²Å1lò +;›dÀJ&‘à +ŒÌ¬(„w/öµ=è.,G…‘ÁFY)†§f™Í1!¨ GG#Ã̃Œ¶‚#ÛXµíéç U–üb[í›·à·™ó»6U=êhd04ˆòAÒÑÈð,Gx~—–܇PØàß¡ÒÈœÜVŰt42@ 7­ Ã‘ílÀÛ¸Ò×–‰tZªè/ÙAñ¯uÙ¿À‘¹‘Ðl—Vpd'Öz¾øUGFXˆý—–„GF1óq +XfÅ‘©ŒíË82ߎ¶FB?d™ pzª_e™{k@I+ŽÌƒK¨‘x\Z ¢ +}¤Tñíe0Dß)82Šæ6^ôøÂ‘Q1ïó¢àÈ(Ód㚃ޡǑùFž½Ø Â™—p²a0NzôÌ#cíØïü»Ê#£¼ÓB¤ÝyóÈXN|cGc£ðȱ'Tm;ÅË<2Ð*X€7)<2ÂïgkMàM +̱+‡*$÷<2">v°¨šO2 $˦êûCÏ##„€“xS…G®…B1#™Š®1^Z:`Ô¬…ôUA$;Á(‹™GFa@EK°¼2Œø»Ð¸\ȱ§ +µ…WU z¡'¶àíªËVqdŽŒ¯XüŠ##,eÞ<ÀèqdÔ$&YYñGFÌŠ½Ò=f¡„#£Z15Ñ·€ŸeÑ,˜ž1¼ ŒRÆ“¹b1P ìt“Ò:Ët1Çž£Ê“Ëss,óȈƒ1'b Vá‘Q¬µÂP+Œ ™%H=ŒúÈd‚$UpdÄÏPظià„óÍ âƒe±58Ý‹€PGýf·Ï®ZוGFÜÍ…±½ydqNÜE-!™GFâùÁñÍ #Âq Ø_’‘T±ÌÞ߇HFR;K DX’‰OÈXëK’Ín|ØÓ(z'ÉÈ·˜ÏgjËD2´ß;~•2„IÅ`ë}À¡’¡m,ÛH†v6…W ŒØ-D)‘ °áõ”Å”‰d¤wÌ1XÅ–ˆdhÍú·ù6B}%"éÔÜ!¡{èˆdhk®e"™§…ŒÔ‚XuÍD$#-Ä|åó>b&’yʈ­òc +ŒŒ‘ ðæMyˆdHm´¯–O&’‘MÊð"×L¤Àü"“)½«RÜÉD&C¢V çCG&#óÐ: :4šv©DâËh2RUfOÅŒ&C#àdÕVNA“‘—ÈIï¬ô™Œ&C³˜´}RÐdhj:ÄWÐd¤3bzl*áZÐdhQÚü…&óTGûZ£j{4š}qnKh2rG3¢£ +MA“¡Y;¶å 4Ùì<±Šæšlö³Ý]Ðdh»Ù×ÝSÐdäQ"].d[B“Í:†mjV[šŒDJ"E7eu4š—#PDaA“y¦­Qû-»c‚H¿$ØÆ iq½˜ÌS3µ½ »¥ÜàÙ7)¨H¡q’Éd³Õ¡n¼Øx‰LFÖæÈ ¡-ÔB&CKuW +š …Ù&2=\B“‘ѹèðXز„&C3+n>çUÍLh²Ù™ôö”qYÐdhf§œc G2šŒLÐQ‰Ö¢qMÉ h°¦`pd4Ùì±T1ÆšÌ3HŠÇ//6šg^špg‰MF)ÖKŒËÂ&C‹ò +jgJž=¬x;&E³¹ÊùJþÕ¬&¤a4{1öÆOýó”"L6ê³RØd³ã}4ŠÞ•Ød³ç_×VFa“¡aQŸMŠÄ&C:A…kç±°ÉÈax>k%,l2Ïo7¯uÉ”!L‚«9¶íú0N¦ä×H ±”!Lò+¶—SÜ‘ 'óÄØyÈp24, ûZz- NFÒì2Rê|ºÀe/pÈ+±ÉAÀ³”"<{å#냪‘Qàdhä=Bf“!ò3ÅKl2rmI‹ò.…M†f]ãòÕ +›Œ<\’müø£g6Z#»BÆ_a“‘‡ËÜy!P2› ÍVái¯±°ÉÐÌãÂPÔïRŠðìT»ý¦NÙdhMå?Å;Kl2r{­·˜5«qœØd³‡”oî’ › ̓•ŽSØdäkÊŸô»Ä&C³eÄŒ) †Ì&#'xôèíÅ&C³éf^—hË“$Œ8Éæ,ñÀR’0ÉÄ3ÅDWâ2› ÍVˆ¡?…MF¦1‘M«jç6šg6)’¯°ÉÐ(–º ›Ùd$(ÏPH7ñQ2› eµÀÉHP«rËo€Õa¡ÇËp24ŠGž²Å +œŒÄæ¹ÝÕÀ œ ->ºÚ’àd$=`Æ\öx'&þ1FŽp“¡Q‚†? œÌ“¥íuÙz§gH9Âh¼Õ]/t2´“4óô¢“‘HM]ÐSÄúB'C³Îé“ÒPédäX“=u¬çE »½4Âh¢ðB¡“¡QÇ2ŽR ŒÜì™’LŠÚ(t24{ ˆZ¢“‘·•;k—´ÐÉÐìýííÜ/rÙí  lÚ™¨L™OFÊ:Ÿn¢ðÉ<ä]ý/ÊHg'!´]¯(Sª»½`mèd@Ùâ…ʵ Ì³àíšÓ?KIÂh«pÞ53  íìz,â¡¥$a2ä­Ÿî»jÃB{ô§Îg ¡ ͦ’5jžB™õfØ$ .e&”yÖ=N¿NL ¡ íØ9hÇÐÊÈÈ7ÑÙÎCG(CÛ(K äýB(C³ ~Œe/ÊHÖŸ½T¬:K”¡¨jm:@Úm]°ò(#ɦÔt|¾ (C³åÑn©‘eh0˜šÒâ + lñò»öx”yá-ºfB”¡«éèš QFQ%%‰~šeH0Ÿæ`gDÚAo 3¢ÌkÌî_ô•…ÑV•¤ÓíR¢0šM¾Ë5fF… +ÌŽµDË:c• ýf¯4,÷Ì(C îš´Ä(C³éWÁ¦£ŒšsXmCÇ(C#I( ¡c”¡²§$ÜŒ([< ÇK, ¸•R…ÑÌò2CÇ(Có€év¾ e^a'bFf”!aÀKpÁ£ ­±z_ì¯Ä(C;ma›¾0Ê(Ìv3 +£ Ú^M›¨…Q¶xÑ=Š Lâ—¥Ta +:Œ6ƒ\ «Ì(C#[»ÎQ†DåÈ]\÷‚(C;žh¼‚(£FI+çÅêJŒ²ÅÔTeèeh ަbòR†f&á¿ +¤Œê‰ ] ehk”ùéeH»“Ô'ý,% +£ý뤱0Ê(X1Û¢¾,=£ %¥%HÚ¾y²“^X‚”Qæbï º)C›Ö_ô¯)C£*(éÆC)C¢JyŽ¡BÊàÜy™•Ræe5Û †T†”-î¢ÈÆqÈnOÍ+m:H¼·Øé-”2ÊqLØ®*‘˜1eH‹Í”cÐÙRš0’—4RB)ódçsè eÔ÷ æ& +¤ Í­­žRæuAFvˆ'ý.AÊД¿ü¯)C;Ÿ’)£žÙ(ëW e^kd³¥e¢@ÊÐË'z^Æ”¡í^m~~qÊÐN3uüW0e^¾d¿KÇLfJ òT”!Ù?=ç©Ã”¡ù8óW0e^¥Åm‡)[ü0õ¸ì”‚)C[HXVTÁ”¡m6MM[ ̦̫¬Ì6ÁMK˜24JŽJs,˜2*°XW_m¨yȘ2´ÙLÌ`äLšMp÷PȘ24Šðì:-˜24åõ ½—1eh&M»öœ ¦lñPÖÓî.cÆ”y¥˜ñ^É ¦ ͼb³*–@ehÄ|-J/ 24ëÃ$B½@ehçCƒÍ 2/L#’—.™R…ÑH$Å. 2´Ø1Õ%Sª0šÙì×NO•¡í¶0Û£Šµ–@eh¶_áÏTF!0!ó S¶x¿÷d +§ máƒ_,²”(Œ¶¶ýªæT8ehfµe»¤Ç  "„ÜS=cÊЈÝ:”e[0e”ë±&Ñ~aÊÐxqöÕÕÌ„)C›)w0î/LÙ¢ÜÒ%2Î ¦ÌËaSî/JyÇ£i ¥ ÍŒN*B\$²Ç X=´tiÊ-”2*‘pÊ‘ýÐQÊÐòb’)e‹ÇÈnë e^ÄÈzmÀ‰ +¤ n9ÀìñØG"ÑS/%CÊÈ¿9`¢%Hš |Žô»R†DÚñ1.-AÊ(™dÈÜ9t2/µ´ãáÈ&É24ê‚^ßüHiÂh±õ‚”¡­T¤Ø5ÌÂÖÀ÷ eC Ɉšo—l¾¸d%ÃÚ ×Ùº|G%[ýlpÔñD’y …½E·‰ “ gœ(h·ˆ3’lõâ ç9¾dzø°cÇ2‘ŒM뵑à9t@2÷˜ƒ[€d„®Ó´´Œ#z*zÌCG#ó¤'{_ +ŒŒ'ksðB +‹Ì7ËHGö¢ùFFº¶­/sÌ2‹Ì,M»ëE¶zä4Í¡'‘‘CÏâD¶²g}Ѿ ‡Ìæ."¼ÚöÆhHùÆh{Æ™dVé¾ëNB†c_|S˃Œ]=²C@)²•ü»uÒÜP dŠij2d*€Œ“ü\q½rruætY?†{Gp¦ …>Fgk^adèác«×Œ ¥èÙc›GZ“ô:ôè1ßwÞáSÁc¦ÀªlB7îØFŽ›ÂóÐcÇÈ#>N•BÃL´¸Œzƒ :æ§âE×Ê̱­A +Û‰ •‘ct[ïÆå¢‘=9ÅfuRQöƒeàá|ç¼*6©ǼN Θ¤ Ûð¶Â#}ëð€ ¡ÇmÎXƒoShc¤¬6@—–ac|N˜õµ +kÌýOèfjFfm>S à +jlc³‡À+ƒÆ°W·í‚+ÎøŽ±,ÔVÆŒW:}SÆX߀úº7S!cÍ› ÑÚ›1F<š-»¢ŸVÄ¡×â =a Ж,EÖTÀ»v»V¾X£„'›‚Be¼X#Ù¼MÚý©t1‚”€P ÐWàb^ºçªÙ^Ùbîq,eZÑbìLœ½•Ébl“Ä® kNµ!“nè¹bÄ?mg³U¬±¾s‹èÓJãDÌž1úZŠ™ÛcM]ê”™b@F”^FFŠ1ÿ²ªn]ˆbÄÃBù ¶Y&Š5ORbÈPŒ J›xOË81¯µÚA­81ÒQHàY.)% ó7ð†CÛ=äÿŸ¢²Äö_¾˜)è­¢Äv÷kA<*$1‚ YnnÈØƒ /€ zM’…#fËgò*‡]1bTñÚx),e +ÿ".mT|]…ˆï;QXPÜ®Ì#ŽƒFÑ*BÌ–XCë1Ê2­³ª´w1& LÅyxñÃ~qt»Ëùîða6ÜAˆsTéa^elÒwûEܾ㬰ìk{L4•†I`«(MæeP©.9¼¸aö'®»p\†…½ž“+•FµóÓE­¯Ð0ì +³UFQ˜ +3ì¤ø¥õýIÌÈ0Y +Yiy*İ“B æ¥§ë†Q^审UxafyQünÅ…QýQBCO ãÈmç`wèXa¤°ììài$xúšM§ ¨hµ7§PÉÓ\ÄQŸ<ƒÂ8s Hx±#aÂÈXÉÒ–ò@ÂHóÆ×ÓŒžaR^gbèadÎ@K;â>‰Æé… ºC…£ ÌwOÛI`éÐÑÁˆ‚±ÕÒ~y lvì0¡CƒQ,¬-Ð.ý»e2‡"'»óê™ «gñ¨yoEƒùqÉ>p8cÁÈšàsìÛ‹ +Æ9Ê“«^ `”•&‰R±)… Æ ËFÔÀŒ%$ö–D› /ZØMãìÅL˜9‘F +îwÐ3Œs™Ý¼Ñ˜03 ‘&E4K40NlXˆ×vÃÀˆ/"~38³ÀHãŸÁó‘Q`³gòÒ¡_$0XGDhƒ­€À|³G°…Ì#ïd‚%Ü^0ÎöáfI‰Fö!kê5†a +¢rY^ 0"Ó_°¤Œã\hvFÁP`$LÙdßVø_ع”$l‚”%ú×ì&Ûq³Íü‹|™“Ô A‹û‹c¤óôcÀ¡Ca6³]­GÊà/‘Æ=Š”ì×%!U9µP¿¨@Îfª–›ý +ç„_• ó‹³¥‡?’‰_$ríü,@a øEEó“v»X`·M>“aˆ¥ö%Ú×ìÅ„ö $•a_œ8ñuï*±¾pFÂ=¥$ÒÇM+eÖÄ Ê /Ê=e<õ«Äù⸠6€"³ +æ‹ØµöOGùZ¼œ²u)!k2ä‹<2jŒ©zEa|qÔd7ç7â‹£¦Äñx¾ü¤ÉÚ#@] ðµ8kl +$PÆ{-§aÎFÍÝ‹¢ïÖkÇèî…ós-.àFf{QÊ¢Mãp–Œöâ iaËU–Lö"ϬÙuŽ_-y«ž7Ý|Ší¸^ û(”>:ÔÂëÅAQcbQ½¨hÈ Õt¿n‹œ£ ÍOAu½õò<7‚D•KL/{ 1È.H/Ιà*ñ·½Tã žczÑØF©H}âÌóâĆü˜à„$ž5Oa!†Žçå[‡xÝÇ çEAsá— ¡•h^<¼Íò³ª‰˜×âfò©$ü‚òât“S…î É‹’•Îh`"yqƱSo{¼p9­®ÚÔ./Òn£¶P¼xÏG³@¼8V ¨¬J:†Ç¶ÖFmÂðZ«zÎq¯¦ïù[ë^)JßÏá(8+:Vâw±­¾Pq:zn¯5ýP]ìïb—{·ö)#ª°»øÚ¶ÐŽb­zEMl²Â +½Ë»©Çб»VÏ2^÷À_ft×êg&ë®Î…ÜEzÝækæ ÜEßá,^%! ·‹Ä»eÃîÍÜ.ºÕâÆ”n•°]«WTZÔY ]t8Žç©ÊÈ.2ð7-|PÙ\B¤Ð̤W]¤ÝÙ2Â:^—:§}9w³ ®kuÿÓÞ`ëi]tÛóœ·ìÖåeYlh!2³ºðú9/_õé2ª‹‚-ä@5“ºˆ+Ùo +¨V +Ã§ÞæâQ¦óÐqº9eZÛÓ)`†h{‚t‘<ˆ'v‡+1º@(P^¹E+¢kó3|[òµfgBצüöq‹{¥ð{ŠwRÌI5O + ‹íæ}ôŒç‚¾@Yj±Î2œks»«MS𾛋1gKªÍªbl%6v¶ÊX—¶+¡¹Ø²0Ëþ—¤D梨ï_Ê~Î`.Bagðã>t\.Fêè‡*úUй'©Ñœ¶Içd…ʵy%$6Eô«å¢x({ÈÁ)ÍL®æi붺 ›‘\Ím´IÔª‡ÈEòÜmÌ‘y\lŽ˜WEêÒÐḨ6ꩆ‚›eé‘Ûy\ËJÂq1+p4`ÝLãj~ŒNS·J0.q‰'h²x3‹Ëãl%ß‚ü•P\”¾!R/ŒÍLâb³…™~ßõ«â‚1aã1¸¹…ÃEªåAÏ÷›‚á2I1û*ÀŸ)\^wPr°¨R€=9˜öyGÙ/…ÁÕ<þ +Ç)./!i¯S¹€…ÀE¸ïîÅA§¡pyIGت¯Ÿù[{)‚Uð[Äo‘ø×Ñ·˜Ä€´ +B[à[”G%f@ß ~k÷¡)b— }‹ùÍ9Èb¾EfÚxñŠ z‹¼´•/´¼È[Ì|þõ Êà­Í6ŽÑ7ÈÜ­Ýwy7¦”¡Ãn±YDq>mËêôûpÛ!0J†n‘Jª%+1·ví°Y÷—”[ 2ìµ xdâÅ}?ºZ*·œú3Â}ž‡Ž·å¬4»¸œÚÂÛ¢ìÏ5It¸-¢“ÙŽQZm¡m~(z,+°-ª¶®ö®Ue¢°¶<Ët÷9] µÅ>UóøNý*EÑ;wÃ|mŸdÐÖAÙ“ñ¤ZÄÐq¶ˆf&·N ŠŒÙbr¶^7ïúZ™²EW£’  ²ENª=yTu-Œ-¦m¸0*R^[äiQŸHøîBØ¢°Ï TÅØ:Ù^´ŸoM÷J¡óÌè6›œ Êx­ÓùˆÛ©c’B×",úôP`Á®\‹-±FVëùbk‘MµØ¼-/¯ µ(EDrj@¾X˃ NBÕ‡«Å:`Žáª4Ø‚Õò*²D}”±ZäCá“Ç<“©Zl£5j8h@f¨)O„}iK°0µNÖ__„ÍJH-âN6ÔÝ3Q‹å£µuRaËÔb&p$,$žõŒ&_!סÇi±÷f¢6N+M‹…žÈ"ðiÅiQ‘–ä¾M`™‚Ó"vºëkVœ;s§[8ÇÐá´œ)rz¶íÐã´¨ƒ´nDhég§EØ6«×MÉ8-¥Ó††xH„¢P¿–Ó UšÖèeø=ô4-¢˜¸Žà‡eš›î—S“dæiî”Ú*±¿yZ¤ò˜O4i,dœ–oõ.ám,4-’uXr[qZTjÇF áÐã´ˆ˜ £óÐ +ZpZ“Ó}=ñpèqZÄ…S5‹©VpZ$òRJY›¤§EDÅL¨‰æù‚Ó‚jâÁǧE!&PÁU,8-"=¬›`g…¦Å>"AÉñ« Óâä{gobº€YOýLNt©Ü¨ú¦Å§­¸0}†¦Åbð"lOiqB·°¯÷L‹Ã±3Ö…¦ÅÚÊnyÌ"¦Å™}«¦­“ +ÓRÚðU“¡Â´üœÅžf•T`ZNQÁ ݪÀ´fOÜ÷%]¦å'6e˜ë² ­Sg‰¦Åžÿxâ_^À¬¦åI*15ô0­ÙOÙ/CiyUßv6EWš–ïÛ +-\{¥i±û¹bŸ…ZhZìj{+õ6 M‹ jN›?ZhZìîŽNxÓ´ØS¶™àBÙš–oS¢^pÁi±ujkyP MË.æ»n7Ó´(E…¢Jj•¦µyd•¦å¬jš¨ÿšeªæ¶mŠv¯4-6]Ÿ:’•¦ƺæã²Ð´ØP=Eµ´Ð´Ø6Û›t•¦#†ÐOE¬VšÖâcç1à§Å&(å"•ôUqZĦoìªooœ›tomUœVJãE‹‚Ó¢,V›ˆ~¦*ã´‰1»|ƒE•qZpgÀ(†¹â´¦^É: ¾UÆiù^ptÿ§¥J_ª·Ýã´<yà Ó5N‹­H›TY´Ò´ˆÿ=訚›ÈÎË4-ÂgÍÖiÁ°J0-‚Yþ]Åi™fCB±ª=N‹ÍEÈr*N‹íg›ììu‰o•qZ^dy¢nÅiy’½&Åœ”vøt^qZ^ÌkóÓ¡ÇiaŽ™é;]¿Ë8-¯úõÀ-2N‹=EÐ*K{ã´(Üì-E)8- ÚUû¿ÇiAÞQ‚±?yÁi‘ÒÀÐÛk*8-ªya ¨žbÅi‘˜nSˆŽž*M ˜É]D°BÓ¢˜ÉÚó©8-/æÕðûÞ8-ŠyÙ*w½–‚Óò}ö#RpZó2Ór»´ÌÓbÞ ©]c²à´6ßUZ7'Tœ[Œ°µ&lTÆiQ{ºÙª£ ‘ŠÓbû¾±Õ´ +o•qZÔ¥¶×…×+N‹Í}›Fý*ô¨Xm³ƒö+KkóH3»H;‡ž¥å{6Ejë·²´Ø„œ¼À”.³´¨ f“¢*SV”–ŸlJëQZWˆÑ–PZìPÎÇï+(-¶(ÇùªçWQZØÎÔúWmEi5'YÙt Aâ±uääñ2Ï¡Gi‘MBæÐ'…¤%’ýŸåMÒòD?ª{\HZÔàö¢ zM…¤Å¶æÈ΂è-•¤EENïHºd!iÆ1_ôޤÅZ2×QIZ‚Rj]ͬ$-ª4l#¡ˤµâàÄ +F‹-Õ‘ má· +FkË Þ£Å ËiÓEª +G‹sL{››hR•£…1R‰X×,-è#¶l•¤åeß÷-Æa%i‘C¶ã±BÒò¸¬ùŒo^IZÄ +ZßlÂ;õ$­±Ù—TˆÕ›¤èU¡ñ/’ì‰Q5(:’–ïÒÙUE ¬$­Ó³œÏ/8Z€Õ–yR ZÇÑò {æÛeè8ZäD²hŽÖžRWzŽQÚ+s´(ô`sØ¢3°ÊÑr.ßégbCÏÑ"¬Ï^ЮÐÕÊÑ¢ž{|¼ÒÂ+;?ñzðó¦˜T–o›!3iñ/ ­Ý”#&¡ÂÑ¢D ]d™DVË-ü1ÙòŒ°ŒÑ:5’…xTŒÕJÍ Ö‚ÑbÏÉKŽoŒg=”žiîæWŒ@ŠvN£N0£ÅÐþPQ +F‹ryÌÚ³Æ}Áh15Z³'Á‘+F‹(k¬zÕy¬-g[¨âÕÐc´ˆ/˜”—>t­ÓsŠ®ãˆŠÑbº]ØÌš„ØÊ-B·©¯@¬ŠÑ—±E›£åeö¬kN7£Å‰Ð÷£å3x»ê'VŒ–ǃO#çáÅÑòxævã· +G‹º¦Ö b†­­““Gb&ü+dŽ–óöÃKöG mQ-3Ý/q´Ð¢¶Ð¥G‹(sûˆ{T`(-´SSE9 +G È÷È*-ÂÓ™¢wU|(-´Å!szÑ™£…Öp}äQŽ–s“쓆Næh97i¼«€ŽZ3÷m“á]@Zh§¯ Ñ–Òr¦ÒѮ¸¤åL¥‰„Rñ3Hkö-˶FÍÓÒš=™,ñc:ZÃ*_…°K -À_½ªŸ¤Ò"ß.IT¹°P ¤…ÆÞÂ~jª€´ˆœ8¨ÊuA¶H‹uÎ¥èN•£EíëT*-ʃÄiÁ‹£Eæ–ù A « -¢\ÍOQX|ÒÂ]tðÓa´Ôðr+¢vŒÖé‡WM»£EεöÁÕ’ŒÑ àg¾µ§d&i#ŒP!¶ +F‹z„ Ö¯`´<º”©ºXÁhQðŽ[0 F‹à³íQ £b´¼`ÕÍ»©- ÓŒHŽ–×û3ƒéÐ㎖×û[ïQR8Z$>pf¨:ä•£Åi椚ÔCÏÑòhŸÚ=GËË7ö´.XVâhœH^¸æÔ +Ò"ׇL-¤åböúd¦T–âÐ6%fv -L$³©5ÛVŽ;';•ü/-´|§ÐAãà ¤Å‘ÍJfª¼ÒÂÞ#ÛGßµ‚´ØsW_·+ -ç5ÏA-¬-ƒÏc5¨r´|Cg™Ä’¨-¶Ó'Òð4„2Gkv“ø*:[9ZäÃmÇ…„¨­Ùëgï±âŒ›ðãBlî£E>ÉÞNAç+E ûÏVâCõÐ+E‹\“™j­ÓEØzŠçcŽ^@¿Ë-QögI¨-òû B,_P´<0†Ë<¼(ZÄ ¬Wù쎢ÅîßJ¥oi…¢Å’`Óöªò•¢E:¾ùoÚ +/-{ ¬})¨-߬hØË¢Å+¢ ~°¾ +Ek/†JÑÒØ,¼uÅh1íß»BG ”Àí Ž *ûæg¼°ÂÑÂr2S\°ŠÑ‚®lÔá…ÑÂû°s\ÚS;“Ùámz¨`´¯å:ªËS1Z 7ØÇiÒ[)-¯ÏFbÄ!ÜWÆh-Ü|¦øÝ<ô-Râôcxa´Ü¢\ ÚR0Z<~={Áh +È~ÁÌ,ÿ“Ì%¼€£µú^?‘Và £Å÷D +„?rÅhq6í†E‹Àc‰­òŽ¢Åã«›=E‹cq›1”âÜQ´x3iˆÊS)Z;G)n¸/Š‘µ6œ·[K­¨x·tÍ‚Ñ"²EdÕ¡Çh‘]çEèôt£E©íé +?ë0ZúþDb+a´È‘öÚ‰ÂZeŒÖê%íÕj^(-Žn€Àc£Åa7c_IM£Å‘Ò¾,û¸¯‚Ñâ,r¼=£EêÚn«ÖøF‹S½íÂâv-ö™9Wi*+a´œçgömྠ+Fk!\›2Â_`´VÏm§ßðÂhqXC¥0s•£E® iŠ"ýg‘p„…ÿ¨ -b«Ìì;5ü+H‹,.*Ž,TAZ”·£'lHiÙ;9Å㨂´°¯'R:ÕÌ Ò:¼(`x´ðÌÀ¢h¨WÖA¶ô¶* ¯i~Œ9‹qÝ´H%9©¨ dT&iqè6®@{[2I êÕSú­’´8£¦Ó® º’´ô;½êð"iQ~}¨W…¤E:ÉÕ§®YHZfF™ÇáEÒò#Æs9ãñ +Ik!Ù~åLdx‘´<4hÞTû²#iÛç®í$-¯LÅÂâ¿«$-â<6¥u$­ ‚Ž 8½³JÒbçïŽWèHZMàR¨©LÒ"*™„XuêJÒ"ÿLñg*I /‡Å²*IËA¼ˆÃ‹¤Eï$å[óU%iÑ;g¸ó_´Ø·Ñ{èU’17Ôª†/“´¼èý¹®ËÊ -Æ °z=Hë4gãTúsÒb Ü¡Tà -JMÑY*H‹Hak‚v¸*H‹C$hܾ—Ù´Mkª™¤Å~?'ÛðGë ”ýš´r´<Ë •.Ùq´v*à+ºr´˜6íK)§ãh±%âõŒ¦á Ž–ušÃV •£Õ~iù +¬çhìt(“¬ãh‘p§4¼8Z8Ë×$W9ZdÒ-œƒˆ±U8Z¾Ä/QLàÅÑ¢ôȸ¯‚Ñb'}ÖrüF+ºTŒ Ž'8xYw=FËL]2²î*FkÊfW¥h±'nÞ“ª¼8Zf!µ]9G‹EàÃø%G G&<ÃŽ£ÅI2)é²÷;ŽÖFÂE/³çha?X²b´Ö_W¿ù‚¢µã`Íô*-ÜÄåtÍ‹¢…Gr´ vŠ–J~JµyQ´VA‚¾¤h‡ïcK+­Ýa»„£ _P´H#¸`•¢ÅÖõÃNZGÑ"zþ‚ou-›Ë£Äò‹¡õ¼Ì ¡µ³•¾ +èRZ·˜qý«Ch5NÙ÷M¿+ -ß4öâ×à -^ÚE)ëZ ×Û°¨ÌÐrÓ¦~Ö1´8øX¿Ž¡¥`ê]_0´<|K¡I/†éÅA|1´ÌL›Ò’_ -ϸZÕ”‚Ðb²<^àðBkk‡×á¾@h˜×mÑï:„ÖÂB­2´/„ÖN†bÜ£2´02×qR~û‹¡eÎñ¾mñ»ÂвFS0HÉ«/†–D›Sƒ¯Õ1´K­chQM¨]×ìZÔÞƒŒQZ%Zy:õ¤ž¡E…ø‹ÞÔ3´8—°…CŒ°Ž¡ÅÊ6jç¤gh™YFØÂ -ÞŸMïZC^ ­•ŠîšÛ^ ­ƒâY{À©:†–-½Å­†/ZdÇͪÓUZ¸t3ÇmúYÇÐ"HêTy·C‹å¨0úbhÙJmv–潞¡eË„õʸ_ah1—Þ”{†–MœW|Á‹¡åM¡gha{Ⱦy!´kð´~ÐòÀ€Öx´Ä¼ bWGв»^¶È‹ 5QuUEE^-ª1‘ð1|AÐ:‰¿ÕÜ‹ Å¶O´vNkÎí¢d%‚–-ù“âK¿h­ÔJŒ)¿hœ[Nvu-{Íœ"ˆ»Õ´î¤å@ ¿é¼Îç_-›éAn‹ZÕ´l +¸²/^­i» +ž¿øYL"°}ñ³H›÷`yU~eè¼øþü,³/Fë._𳘛f’¾ægÙBA?/~±ûl­ 5=ÆÈ  ålì&úTв©ÃÌÕ¸]К}çy¾´ +Ð’—-ÚUÐ"“‹º„c`©:|ÖÆ)©Š¤½ñYÍO÷ÕÈŸ…í4ê0÷ÏÚ– §ö¢gyµ`D==k&)C®Ã›žu°kÜõô,6ÌšÂÃßô,‚TÈêMÏòœiM==ë„va°z|–¹ñ‘’þÆgçEtxá³`:ã~ã³6ÿw_ã³Ì +¼TOÏ"wÎI_ѳ¬/²¬ _ѳÚxö^ô¬СßžžE†ßªÚ==Ë|72üë½èY6ï®Ê¡xÓ³¶HšøŠžes”ø}Ó³Èón²I^ô,­VÒ‚žõ”ÎxÓ³l‚‘7¼èYÌqÑW^ô,²TÂÔïáY¶†StãÒ +<Ë–ˆ ÎÔÓ³¨L1Woz–¹#³ò¿ßô,Ê»(wöMϲYuWI¾7>‹¢{ã³:ÊÚ|㳞07>Ë^Ë©zn/|–Í6×BñÆgn*×Õ㳬CÚ7R[z|ÖJ½Éx/=?‹c;#¼ùY¶íyñ³Z£ºà×ü¬Å þ =?ËVš=ÎçÞü,æ¨9®ùâg™3¶K«ü,¢u®÷@ë4“0X^ E=  þÅEɪ-{_M+è‹ å0}öA‹ÆL®ž eSQØéÐjwÍí/Zfš,Ç¥u­Ý)¼ÃW-ßø$ëк3¦¿h™¼xëÐ:ÌYñÙæ ÐZîR]_´¦›|ôh]çâ_´®O÷@‹Ç ®Õ´lØ&¡¢^-XÕB½ Z¶Òë¤ñ ‚–GÛ\”¬Ž Åá‘9o‚1í/Za‰IТ~”`/‚–͇x +_´&BÓð%Bë΄ù¡e+Ê„°¡e#AÙ o„–ï!·áK‚–u`±ðÞ­;“í €µ?Äa{´f¶ADRz´ž]´@ .š÷Å/Zw’Ö-Xyêî/€–H_´(¬Äî7@ë°÷«x/ZþI­z´ÆeŸ‚"Õ´ÌQ8!úTвF]ïúКÓ3¶¾hY·‰„7?kÂrø‚Ÿu»¡o|VÓê?|…ϲΡÍo|ÖsŠðÆgQgb‹èñY;ßÑ §g1¬U3çÍÏjž‡çw{ñ³È{^ôé^ü,|6m¿øY²:”qôhÙw7YméZ÷&㛟5n7éÅÏZd3 _ñ³Ì¾#JdøŠŸ5Þf曟õ¤Ï¿ZDÕËŸ|´C¼´ 5®÷5_-³ö/¬Ý  eŸ$¨«o€œ mL¼ Zǽ—þ"h­Á®¾"hM˜éê./„Ößò+„»Äg\³Ch­ó9ê,ûÐ"ÿüЪðBhQ‰aü „¼IÝíEÐÂ8Røó› Õ¨7£ay´àC¨¾é7ZÓð9E‹ ûŠÿáÿ±D\ëóî+ÿßÿé¿Ù…ÿó¥Èž‡õ²ÿov#\×ͨ”ìÅÒ¨’ÕoìXCìnÿã¿Û ù‡ÿÆÿdóû<üû ÿÇGÙÖÿ~ø?‡ÿ_ÿÓù÷¸ÏñÜgãLØÝïo· ±ô/ÝÎzNJUò>ÿúvÿÄ[t\Žƒ5~ÿxû?ðxLŒÖd›§þÍ}ZŽo>ú>7¯êƒ›÷›þ12ŽœgFÏ„þ·ß䈸>Ýz7³ÒkF¬ŽYl´öÆ´`&ÚR$ Âo}eOšôŠí£cåoîó‰±ò7·ûë±²üx¬üÍí>2Vþæ~Ÿ+÷ùþé±òˌ֩¹ID@ß.»Ô'NQ7\²ô —¿îÆ3ñŶŽìS~wi™ÿü}ÿù}¼)Çð?×ÿ‹3Óó–§ë-öš›Ž£â:+ùYu=ÉIüzVúã×ü½Yéç¯ùoîóׯyùg;õŸ¼éÚ¡Ë›þºCÿõÌ5S=€JH“×Ýù˜­ôç÷ùëùÿòŸßnöÒîÛoîdÁúQ‰yìwc†m¬v펾ÇÌwñÜ´ûOW.W +“ú?#û6»ÃÇÚþo¿$Ð÷?Ü+P>œû¾iˆ—æÿ!Cþ/ýŸÿ—ÿý\†ÿëÿýOÄÏ÷K–úŠó#ÚN:³>qg¢IåOjÈ7žf¬ßogN»u(T¢ùO?jÆöífjh]Î}ÂhFùӚѾߌÙ÷Ç xn4#ÿéGÍØ¿ß B2ìŠÔKºš‘ÿô£fßoEÎ'ÚóQòŸ~ÔŒóûÍ 'Uôžkð–?ý¤Ó8~¿1s0F½¤hGþÓÏÚ1}»^ϹÎåO?kÇüývx#µ#ÿégíøþLJ™Ênî(úY;¾?•R“°›<ÊŸ~ÖŽïÏ¥Ô¾cªX©CíÈúY;¾?™RÈ­›>ÊŸ~ÖŽïϦÔ2ëæò§ŸµãûÓéê|€õ~ùO?kÇ÷çS +atóGùÓÚ1}>%‘Éb™îþQþô³v|>mŠ%ÏóGùÓÏÚñýùÔS=ëüQþô³v|>%OpTk¼”?ý¬ߟOIyëæò§Ÿµãûó)9_ÝüQþô³v|>%]ª›?ÊŸ~ÖŽïϧwóGùÓÏÚñýù”¿nþ(úY;¾?Ÿ#ÕÍåO?jÇüýùôk4ÏåO?kÇ÷çS-ºù£üégíøþ|J\@7”?ý¬ߟO9ïæò§Ÿµãûó)§ÊÝüQþô³v\óéz¾wv¦/vvî ˜ó§OÞ¾yG*…»vüÐú÷oÞs½§Æõ§3â||óží¸6 ø¯ŸÝóüæ=¯]´ÿH»hß¼ç2þøžÑ—¾Ëé·¤¾*eß·Ål¿wùË÷1ÿ¤N‚T Q4"ÿåûX~ÒêQ܇:£jDþË÷±þ €ZÆËsÌ&ù/ÿʦôü»©ëÙ;þÈMF?Pß}þƒªQ^(Ý£ðþù›Õù÷ã·«SïÇoWgÝß®N¸¿ÝÝ}|qú5Æù×}þ®£ènþ_Ÿ¾Ýµ2ÇýéÛ]‹r,ÏŸ¾Ý5}ÄDòéÛÕ…ÒÀç•"þù›ýîììó øÍ©ÙÇð»ó²Ï7à7'eŸoÀoÎÈ>߀ߜŽ}¾¿9û|~s öùt–Ňo÷»ƒ·Ï7à7'noÀïŽÚ>߀ߜ±}¾¿9\û|~sªöùüæ8íó øÍ9ÚçÐy¾ÝïÎë>߀ßÔ}¼¿;¡û|~s4÷ùüæLîó øÍaÜçð›S¸Ï7à7ÇoŸo@·ÓðáÛýî˜ïó øÍùÞÇ𻃽Ï7à7'zŸoÀoŽò>߀ߜá}¾¿9¼û|~sj÷ùt;޾]Ýq¤.Ä]ÚíÃIºmýÓÇÐÇZ÷áןnÀ+ʺ¼þxúøê>äúã è#«û`ë7 ©îì?Þ€>šº°þxú0ê>²úã èN>|»W¸vÁýñôqÚ}èö§ð +Ðîc¶?Þ€>2»Öþxúì>Jûã èc±ûðì7 Âîã²?Þ€>úºÈþxºÈßîåÝ~¼}xwñýé¼âºûPï7 èîc¼?Þ€>’»îþxúî>ªûã èc·ûpî7 Úîã¸?Þ€.á÷{‡÷ñâo@ÞŠº¯pð>Büã èãÀûÐð7 ïcÂ?Þ€>ò»ÿxúï> +üã èc½ûðï7 ‹HzÝNå0(\ûEÍ*ˆS´s›Ïa‚¹j·÷Ïþnmÿï!ük­à/ª&üèú“kûâò¯Úû0µ_ÇÏfŒÚ…ƒ×ÿ¶wówÅqþ¥;M‹Wù³[}ý…¨~øgo§õŸo~¡?¾þúëø“óW¯ìOïkÄŸ¢c_Üéë76­TÃüà+ûóü‹ïìoô—/í»Ù<†ÿàKûóü‹/íoô—/íUsæ¯gOJ¦~ò¥ýñ þÕ—ö§7úË—ö?ñÒlÄÿe§^v3TgkÅCíVvÑõõTN,j(»Á|¿nø_~;@ÿèpû¶e…eôºÅýgná ÆeýêÿÓ?s؛ֿÎ÷¦ñŸ¹EŸ×¶Ó_ñ?ü3·˜A'ÃaüÜ{‚úh½ú«‡Øÿ‘;8ùkœ¾è¯Óï”?¹£âÇ|q‡ù¹ƒín@ ßwXþ™;ì¿6{KûŸaZÿ‘;€;}q‡í¹uxmÚX¿ºCûWªˆýy>À§²˜þÅäÃo?‰ ÊÉ–cÚ?™ýÕ离þ<áð·ï2 óíœjøÛw¹…ùö?N2üFèA—U˜nÿñôÂÔ©ã}¥u}ª«}‘ÓZîûñÎöE>kmÀ§»Û¹¬µŸîp_ä±–|ÑåþÖÊ€i¼ìm€÷ðë´Ea‡ñ²ÃààsÍ(¦øô7öÅ7n°4n@9žþëFüù f=1`ýÿÈ ¦Ùo@íØþ þÆ~©7+±íÛvš¯÷‘LPuœpm½âßàooðO|ƒ¿½ÁŸ¾¢¯Ü¸ý·näþÛˆMm:ÍË UsZøáÙÖs\ßÝDżP„õßô ôzÈóýÿÐ]±<7ë—í‹»~áÅüCw@tÚ«ýâ®ãÖè?tWGÿÚûÕþ?vWxa ÚÐûQ¿ðáþ™›Npxí¦ÇOú…ÇòÝ4&N×Oú±× ’j>÷ÿçë…dOº}uÓö©›š‘2{üâ“þ̽úVs,æõø% +ßzº¿åˆÃs™Íb^/s› bÏáð€˜‰tìó²oŽÈ<î§Hû¾µqu|ž™“Ã'W‘¿ç +xÃFÕo¤m?·ãtò  EøW`ž‘VûQ ©á,‚€šOÝj9ÌÕÝn f¦ù±5—®«ƒúÀ,^lC$¨6¶h„ÄÏÛ¤Úz´‚€B:l8ËaRûŒé\3AYä’ÛÐ@Õ®:Œš ,2еý!fMã Ùp´75¹ÖìÅÙ í8$¦ûmö%§ÓqnÓ¸8ÙðX÷͵u9ÎEø¤i\²!Ú2ŸöŸþN&§úŽ3Ç´Hð‰æ¶©™ÍÁ†Í,eצѺÕ:-¡ñ­·ýàvnçìm‹¦ì6„/äšÙ¡Ç1:©w²eg]]Ú‰D*†t:×pGi •XTÓ4Šk8žÒ¶W»4¸†SÛN×Ì®ÞvgÇM /¬!’½òc<7XH·Lºä[ÐàiZkhÝkrm´w¬ÓšŸ³q;g¦m@ï\[kxUŠvÌâô¢Ãª‡fOnýʱÖIlØÎmrm³÷r8*l‚°±hÞ—Ömží-ì¡Ý\C4æË¼ªXä£SûÍüÌeŸ]ót°!œF$ëÁËæLû ¢Ÿ?ÜÍaó)4™[R<è9m®ö—su×í ÄkP¼›èæ„EˆÏǸ»¶­ ºœ;X„wf>k+Ìê5~·Â5i>»6?T¬iÞ°!Ú´nöäAóæ`CÀÅ®Ù?k@]k6ÜÕÿ»ç$ÎÛ‚“!m_æÑF½Úy8ذáÒ arOñ§s ÛtHâiÄ«DŠ!¹¸d®.¼Z×@, ´)Ç5ë¾6”Ï5X¼°†«s½lôœ /¬á +ÊÝ>ñx¬úÝâXÃà'$r¡-´Xó‰{²©ú®ë29˜Å¹º‡kÐ±Ž¦¾xøØrÎ>uƒÐ³‰[<è (!¨Õ%Úb¯éâÝ£1‚l¥à~£ÍÁ~AÛ²!Ú1ÏN|tíxȆhþéæIí9ØÐ<Šæš–XµÓ´l¸ú ;Û|«¶Y¼À†+î­3“^ ŒE–¶u—´¸ÑµÕ¹†+\O´e·klšSÙ ³Éb–2¥¡a‘qŽÝ9ÒÔ¤…À¢l„ɵ·Þi»c ­Gl®a•ZÿÖ%kˆf‹­Y`ñºÍ¸Û’«Ep?¼¹Í’p|ÎØ¼´žŒÖ6³^6ÉúgG³áfCGsÞ1?æ¿IÖ"³Ý}G‰…gÃ2+ÝLù2ŠŽ%Ùÿð£gë‡ó{Í‚w`åmÔÖûÕ±=xóÕqÕ‹s”]kÉ`Q’f‘iáô qvÚkSÿ8öä̬^¶²2‹ŽCNÀémñ¤+8bjË™œÓÌ´ÅÌÕæñ9Þ|ô™Ôì’ú‘SE¥=NÀ 6×:¸ãU­ïý +fvÉF·½M^æ=>$ò¾ŽÌdsÏnºùêsë0˜dhkr0Ÿì*‹f“Ü`­AZGȸ£~¶%`^l³×¤¯`.“3tW€Ø¶(6º¶»0ÏXÞ¦Ùº"Xoåp'À&ÄÙ5[Ì8ûî˜!Ù\cî_ÎC×<“dÞ¦±»Ïãè^À4z[lö²W>ûÄm†ErfJf¸6·1Ñp|þ@³UÑæ~ŸhÌhLN€¸Ç¹Òyt»Å€L®5։lj »ägh“£][¿Ûº9šÕÍúæÚ㘱}0ÿNN^µ)ͽ{ùÍ5³ž0¢uÍýñL!mc¥¹t¸0Ó24skm\Žz-grÌî?¬USk!=^ÀÌeïrqL/YŸŒs[D]²‰¬ƒØf19x'hö…™›ýE›—vÃÍmf²aoWýnæˆ=>(+_e Ýps4:”=¨sÒ`b^YÍ–u»M>ŒèÕwí›ËL±ù5ù¦­ñÑ]ÛÝ °åmqÍÆ=¸¾ë´'/`r£ËfãQ×<’Àÿ°WÉGqíL^Àä“ÇÌèFóGbãØÛbãÂæ3™¥MÉ €ÝFðî…ùfÿ^£-›4›j/×|V÷/`òq¸øä>+–;|{ gØÒHkrLj6ÓΧC¼Ñ`b~8XðuÉ-¹S¯5Ó­%À¾ˆM2Ö5õ˜ÕnÀ]êÇ]÷;’ 0áí[çpr1ËÀ¶,’rcý¸]œÙî /Ì‘naNÜ…Ï,¼É˜…)ÙÑÊÑšõ°MæÙ +p¹‹I[¾ +.¬6—€d/󰽄†À>˜k¶þÛ*àoÅf÷ÌÑÝÆÆ‚èË™¹ÇXÜïg혅r×9Ún3Nxæ[ü’ão£iæøq +íöÐ/:¯X¦ññÐl0Yð•i!1íòÐFüþéÔïX9Nûb'%…l`Øûm»oW áX_\Û÷Y]syœ´6ßû`Ök'ÍzûÚþìØöÖÐcu?ë¨6•Åïš;6³èw¾!7ºÅv{hãv,θ'`9ˆËd¸…v>š­Çö5}&[ÌG»}´YìkóÑ8Üž–S·3?ÒŒv5s^Ü ýîš í½ãJuØcÚÀ°n4ª'™v»höælEñ§ó ˜ð°w*{ÐÂÆ.©¿ö¬›)Jz1/í:@²‰Þ¾@<Áñ¸hö‡kÞD»ÐXðW\;)VsÖ59|ŒYgaO1¤‘ÕC;» ›š—#°ø6ž}ó#´ÙßC;¬Ûž“»¼‹6smN_Ci/h cßæÅÇ@kœÅ4ß౞ø8hØ,Ó¡±l#€æ{Óó~€»ˆHTiY4¸8„ð¹wT°=¥¹ì‹´ýqÐxÿ›Úx ˆ¸|×ìñX“\k€fK¦Ív’Úá>€+æÏÙB¹€Å˧Á98uÅã®Ymë¨ß€fƒÖ&w ƒm|œ×6V€÷[cå47íñŽíY0ÐÎäÐílžd£Í|±håÕ]Í×Üý íñа{ ekSòÖãǦuÎü´Ç @kÍf+ß#[ÌO{¼Ž“YóZËÌ{¼43¡Í [C{¼ü‡}Iõå}K^€O“¹ì»~×’à“M³©(žo÷s€Ã_“” g<Þ¼&7{Ã6ê~Gò˜/Çɬv}vóÓn/ ¯p×77íñ˜‚m-÷imz6|V·ï]\Úã Ù§}·È ¥Ç `•0Û,¿(Ëö8¬.ö‰ÏMk yi8féënëâF±¿0ºêí°Î]Ó¿´Ç `}´Îo¶ž®%'€ÿaëÂ*;âöXŽ­×^sfÐí°ŒÿÐâéÎä°üÛH€,4zø¸Ž²6&sFØ2F3#óðÙcÃÞ¹BÜ~׎½,Š… —‚“q»Ø6¶RLÚk•óÚT9énïb”¸óeß{ÞÔ:™ñÔÛñ͸¶GÒíˆe3Ç_ô¹%à |Øê_Ùµ–|,>NGVMr8ã·Àë›ÆÛ^?÷ä`}ú“Ê =äàÛû³eVí<“€±k¶ª4ßhy|ŒdëÃZZ}cçñˆ§´Î.C…ý â˜ËËù°´¹úœ˜Û¬º¹¶¸`‹R“ ÇVmY«`¿±>·^Zñ¬SY¥mÙ 8±v×l^>Nþ[dñ»Ý€i”K5c³^·;’€»eƒ]åíqèZPN×ÎäàúiÊó¦L£î·Û«=ÃŽ@š’`½Ø\ÚyÛâgsòL³ñ½ ÚãàØÚ*ËžQÜN€ÇÿšË8ÆýVwÌÃ_åGÛwƒŠc–Û `ÔŒ§ïm»Ô’€Ko¯Õlš9´Ç `+€=ÍqœJ=N€o!Ør"ÇS°Û ` ž“[¼.É y&Ê]'À4ŒÚ¶xpÚã˜fOÞdIúé&G é¾çÂ×o‹.9'àôMcëG>ôüìööLÛˆ¯<.éñØ·á„R›±1?N»MlƯ>ÇqÚ°@ì»T‡}ôæs'ïÀ†—iiºßžÜ€“£ë +Iæu;|£m´ÉȃqÐŽä°Od_•±îÚ™üöõlHYïðG0' ?ÀÖ)ýî´ÅصÉÜ}ô-F…ðP—+m=w›ø5é,sòØÒ4gÚB[’@è@l¹¶º`Ë®¶Wm°»UéÚæ~À1oslËÚ(BÏðnOÀfC2¢mÖö±´ç8ÀgÊéŽöÀµÛ`kÙ\Ö­¹'@ Üã °%½™E%+Öýžã˜¬Y§fïã6nl¦ÕÂ&Ÿã›!1!Þù°í»]‘ „š¦ãb§7–0ï--Ž^S §_ÿ|Éç„·š%.ǃ˜/OÀO$¬Ùû¤ÑO ös@D•½ÒÙ}&3¿ÏȰ>¥ïB|ýs@A¡;vÍS +žã›ýG¤wiG> ~³-Zr¦x ΄¬sY_ó§3í‰"J~æˆR¿3íöüxÊÖØ’4{à9@³eï¼ÞÊ6§x ‘ÍmwÊu¿%ÅqĶc‰»‰cËáã +°ÚLØú“¾‚i÷q€÷í~¾¢vn+€fË.딿iêÝA=r𹟺ߞ‚FìX[ öøÝñ¸,Sfd¶ùT_6 WÀCõÐÚDì¤Û®¶L¤ˆ Žd9Û–‘³¶1E±¼ÙšoÞ;^›RD§Ã6KÙÊåï³Íî +0[ø™²õ@¶—ÐnWÍf,›25§˜·öD±{i†Ë“këã + ™mwŽŠY\Ûö¸~¿Üé»h|"?É(v|Ø'ÒÔgÞÚäÑöÝ‘£"-“†ç²š²ß¿Ëµ%Ñ=cõ·Â‰¥Ù>r‹í›¦€ ­´ûÚ´X´3MÛd3éwû讀õ…røQð¨§3g _À£¦=–ƒ³ÇI³9k÷ÀêÑ.W¤£M) ÈcJ<êqí‰òt…ÝL?¶XÍWó‘>ú[ñ²;Ó(ÓÆ¨_Æ“g™á¨qôÝ‘Õ\µ'"È·_mÝR 7åuŸ É7›ÇvŽgh5$ÈL¶Yé%ö­nW`õò+{;tš¸RÉñrXõÍ`_Åf®Úä=šöšm1IA„PÙÀ'"=´Û@‹¥Áïg¾Úí  Ù#´P×\RD™ öÛ¢­@û÷)/€¨33ü‰ürms_Àzµ‚Ü8Ì‹´'"3cÛlè4ý®¥ˆ ™m sÂe‰{ + b›ØæškÅf_Ú¾¹M— +'ä{ØJ0…v»hf +sÆ*íL1A3Ó½Ÿïy3ý㊠"Sc4{òô­á[örØD¯¤fMƒ»VYÌPIµÙv7mÊ®ýN ÙÜB}] V b¯„ oKMõÁ“a»Å}º–¬JÆl(N•÷ »ÿg*Vv›¦æ¨ªaÂ"VµÙ^µª:ؾ½^2`O½•ÊÞªªƒ;"Dh6÷܈˨©<ØÞÚB­[„󪊤µû;€fóŸ}ãEhŸÀ—ãkH‹õÁ0|È”½õãÚ|r*íÙ½än%øÄÙhß»5”nØ`(ÔPmQotc}ðĆ µ©ÌS]g N“9¼ ZëÁ àxЂö¾¦¾o'€ +<¼HC÷³Åá†-?[~î%mþ 5+({¾µõ +@S*£vû¨ïP€^wáØM#¯³Bw³Pãdùhù쪮œ=ãaäòûúœ@CEÐDR_—^>'€ŽÚfIÖ«É£×àð¸l‘@J-ÃvWË»ö9œšÚÜä‡`­÷/1š*Ëçœ>¾¼ H6ùà(/RW}0k½áäoœ8Èܶ¾¾Shæ÷-$,ÝµÏ 4æ{NO’kãN»¯æ¢‡7b…0wíFøYI±BɹE…ÚÔJpª­ÄÒÑ]Óæ-ɆóÌÙ´NÂZ¡Ùp²ï§ó0GJ+ÀºöF¿‡š ]fÿ¸‰ó6óBûœ@ÞÍïHÑÞßà -G5A‹Â8»6çNÀÌepÈ=îïÞ#²Ø78ÆZD›É4‡Osm‡fË&F)ÃT…ðí’…aö>¼ú3›@È FGyVm–/1š í×3ÉmÕ Nû7Õ"‡®%jÆá†b%Ñ·Ù‚€f‹>RЍõÏ 4t,°(vÞú³œ²®ËN?AÂ(Q–f³ŠÊý ÁÔ±]c>Áƒ{jª¶•gR+uÕµu‰AÔ‹&øëV¨n8òµ!Z¬X!ÜXTºSO }>šý£o#´U‚À†Wý†åªÁ4î„,/·j‹ºïÔ°¬Í¡kA)îD¾û 6m +çK,ÍcöGšÝסãà¶F(@{˜W¬†fcä­ú³X"ܘäŠ"ðâÚç i_wÓn^ð¦Y0ö€¸@í >Ú@Ç'îóöû > á“(×m=?{ë:ýƒòù€ÆÊ^µö‡Vƒ€f··)ÝÂÖžà°ëˆ)\ÇÈ ã¨TÕ?³ª¼Zß§áæ?¼ª¢bK8(ké2mhu@ýf}ð`65•­ëJX¬JH]­ð¨=÷w$@ÍæèW៽öß‘5ïãÊçÌþ+H±6¸±’|'÷§ KZ¥wµý_¹²GiwÇýiÁ@ëVž×µÏ@[f¨*—®þôà³àºQÁ@³ }j£ÊFGpÐìó‘ñJ ·—‡Ì6Á/ý›` ÙQé@ïPi McОàÍØ`®7×Φ²Û@+E£RÚçÙú^¦>³|Ò71›å Ý*ü#VÒÏ@c%½âo¬†Öë>3‚öy€Æé–žÚçH‚zЕƒ®®¿óól½²‰Ÿú]Á@C‰²³mº ÚÔPtíó¨‡ÁÕËõ£—'xh¯yÁî냡ÙHìò³½Äú`hHqSÈÞK @õ7»TÚw€î ödiÏ¡µ` Yðö>zê¥Í~Ÿmõ2‚ €f7ß÷jÑ»ý³Ðpø7×r-ØÌÓÓ,¿ÿ†X ÜbIµýÎèpüÌlÞ–úD[ƒü,½€õùN ulé½­o4HÖú™Ž^K4ȱ Ä¿­F0¾4h±<Ú‹Ú®WЂèû…ºr]eghó¯¦Ñ˜f–p)¸¶ç=€*LUÜÔëŠ'²IJ® `¶†^õâ½ÝÑ`CŽQ½=Á`{×^9W»«Ñ°Ð–K:µX /´_J‹õÁÐì­±PX_W£À©Á3Ô-¦·-ÀÀ«XZ TqçÐÛˆ%Û w]ó63ó»tòÕÛŒGòmg«ÚÕE€´ ó KîßÑÀÚZØiµz¢À¶bÓ9)”þó¬ÐÖ[Mßýá?ÊŠlZQ0kæ)„ÿH‡Ãæ÷­ Qqp é°·úÞ²½ …ðFk^Zÿ¡-,OúºXÜ8àí),è#†ÿ[yóUæBj±H˜š6J©­è,ÀPÓ;ÞªçŽ.Zµ¯ã¶0´à ±u/ýy‚ À‰“ÍКÆ‹„©ÙÝP‰ñ”è Ù?©yÈxjtЦEd c§Â5'¤J NÚØ£öè Ù4¦aYG4xQ±:p±uF#íñM›£˜Ü”CüêZpÐì—ª3ÔhwtÃÃўà á<“aíhovvµ»´ä81ýðV²Àœó¬GŸY³@þß}h-;úüÊGëÙ `’ñ“{hÉ T6 2’¨pê°aÁEö6á<홺_+û€ ++óh:ê,¾ûŽoÐyïÑN´ä*Ž:å¸F²@Cœ29ô7ù€ŠÄ–Ä‚„ì°ûƒÄ3j5û›R¼u$Å­ûM±OÐ9µÍQN½÷E3ÙëÏxÚ¼ÔKÒ¢•d*C ¹>³¨å×EZ²¡­åèª }¿%¨Ïz5wÕ#¥È5fíðÍ*fŽ™4Œ0½yCÅÁÅW´Êb½ +ƒµÁhM½/³ó)R+ÙÔ‚ÄÜ[Y³ø¨=Éìz›#há'ä·Âeh=;ìŒìPeŒì*Þ/åeŽ1³@ô=?•@­KKK ~ÕH6H³@ 4άОì*ˆü©=ÓìÐ[ù±ÔB°´Á,l×’@ÿ(SùÔgÍ€´²ßc¶lÐyîöç0{¶_3ç1Gv¶i‰––,€^[ý§ÏlиÃsæÆ\ÙàŽ!š…¶î/ˆÒÏÛõd €V³å¦†–,€iK‡c½ÙÔÖ=^\%Çÿµ ÖP«9þ¯_ +ïo6çV±&®ÕrüÙt*ëk¬žãÿŠbï[Os©<˜›Ô¸2ú×ÌÿWÕ¿þ}3Çÿ¦Ù¨RİVŠÿ« u{9qçç}çøß„ljó~rüoÚPçþy¿9üÇ!Jõ]Káí¿zÝy—þWTËVŽa ÚSø_í©x`=ï–ÃÓº# æÝsøPÙk‚ %PÅUÐoÙ 3‰ëóžÙ˜foOÓ÷­l*ZEq)žÏãÿŠÂLJ-ÐRüoZóvLóyrü_ÑF{1B™ÊƒÙDÖµ6äÛÿÍñEg2m?ͧf€E‰®%€Nœ5QkÙ°ãªÚÉͧg Ô·~ûÈÀ´îiìТ°…æ^2‹ó™Ù ‘‘g\ÎGÕÁh9ášSnÍ÷Îñ?zHøNÿ|Ÿÿ›¶ûóBKñ?ž²oÎ÷Mñ¿ýã.x˜oÉñ¿½šZÍñ?ÚÞʙηåðßF‚æZ +ÿÑØånºÏ/«ƒ•„Hm¢; ·ìç;RøSúùÎýƒñà(ó]9ú¯öîð«¥¥è¿ê)òÍ,wŽþ-Òa†©=9ú·ÿßÕ½~–7ÿˆÝ6‡ó2KÉÁ?‚´W-& !øgçy×ìF1*š¥æàßþAÕ0ÐÚý³*šl–~DÿÓVtãÿMدŒ#üÇb¢•g–y„ÿ6ñëŒ`–•£ÿ]{gQª1úŸš€\[l±°Wj‹;Ÿ¢a^Ÿ#úŸ¿ôïYß#úgÞŠÞÌZŽèÿ«ažUµÁL@p éŽÕ55‹þ½,¶r½]šjƒ;`%Òl]Sû“YU ^ÉÖl©ÑWGÌ¢¶P'Bmæƒ[/,pÕ“­ó0ëÞÅÁö`ÿ%Ò\¡1±Y°°£EûçÎÌÆêàRîý¶¬_ªàl¬¶×¼[³»ÆøZ¶ë}¦æ•V `ÝÃùÙêa–:CRkÙ|§F³õàöLÙôв Xʨ¥6òA€w2Ð/˜‡ °ðºkŠkë0Kq+´~g°êÞl”MÀjx–¼Êþ&`¡ï“~x`srï’Êa–ŽQ\Ë&`1ΡTc%Vú³vx´÷¸£÷ì_·ÙÇáìË[©¯kÙ, °T¦3û<<À¾6û:,€YâÙ¸×goÏalxڲ·h<‡Xsï\Aûʤ ï¶4Ç{X€µsæ(‡°õÆ Üõpf/øSÿ<3YÐ+M9´lÌÖ:—eŽž-@cpDS8ÇÈ aÿF©*sÌdZ,MC•Áì_âÚ@;×’€¿±Ø“?aÞÙ´ïJæ“M€IÕ R6d`ZçtþÏÇYµÑÐn5üP¦ \öøQ´–ùa’áëJG·„~2É$uo–˜d’†À&&™$[jE2 L2)6HÈ'&%Öjÿa’IÚè“LÒëGë‰I&É‚qNZ‰I&i·»OL2IøÑü«È$“Ôí÷³~b’I^ +™dÒ6ñ*!É$ÙM]"!ɨY\¦.I&mgRd$™4íLH2I{ï.#ɤñ]'’¬ežMB’IÛ=’LÒî·“‘dÒ‹³+"ɨý€‰H&É¢cÇžl3°«w«@F’IÓp<‘dÒšŸ¯f$™4¦Ü^'’LÚXê +˜‘dÒÖã@›„$ƒÆk·Øb‘I& Qm¹N&™´wŠ6’d’ª„$“Ô¼ïyf’I³ÁH³—™dÒ´_›‰dR,4,"ɨ©=ûuɤ!'Z߉dÒü,.É$™,Vöɤµ¥“‹ $“6Ü)e ™4ÄYúyHFí½½ãA&’I³ BT¡„$“öz[ÍŒ$“VÑ»à:‘dÒºåe$™´•׉$“¶uH2j¨‡‘dÒÞG':I&íGJH2i õá׉$“ÆÛëD’I›ž¢‘dÒ,Þ™ú}IF­¢rê/’LÚÞûÏH2iµ«uSf’I󣆌$“4º³2’Lë¯IF­Ù+¿æu"ɤ¡üS‘dÒ*†ßu"ɤí  I&iúajF’IcK‘ëD’QëhØ¥¿‹H2iÅ-rb’I²¬)2É$uï™™dÒäj2‘Œ +·(D‹D2iï¿ɤí7™H&D¼ë$’I~Àœ‰dÒ`_'‘ŒÚDÇ'Ž„6³ÑÀ¡Ð¸5Ò“LZkML2i£;(01ɤ9&#É(ý:1g$™´âþ?#ÉZèÕr"ɤm;‘‘dÒÀ\Ðe¶l5Ú¯Ïo&’I*^š‰dÒ6à!ɤM‡ìd"5uú½N"™´·¨þ6ɤUßnÈD2iÝ g"™´uì=œ†Ý߉ÈD2i¥ ‰dÒv•g$’I¾G‘ˆd”Êf÷f"™´ÊD2i‰mFQ¯csÇïk~Œ°„$£V3s‚oÝGìÏM €„$“¶Ç~$’IYåÑCID2jMcèD’Iã¥\'’LÚn›‘dÒÖíô°~vqQP”ˆdÒê¿ðȤô¡ÄúÌ#“¶»Ñe5æÎóïLšB“G&í¯M@2iû`6ɨýÚxf ™´æDËÄ#“4FŸdÔüè+ãȤ¼Î=É82iÍó\3ŽLÚ>!Î82hH»Pc²Œ#“†Xþ/ŽLZ_¼qdÒ–ovd5ÚSŒ†Ä#“†7…½üLÚ.BÏ<2j6¡ê,(óȤ•áüÄ#“¶«02LûS\'Œ«ZuG&ÉVwÿé‘G&Íb,Gœ­ÃôúøÖD’ICõ0`H&ÉcºÌ#£Ôì•‚"ñȤ©¥Ý $“Ææ…× $“¶¼s\’Q3YI@2i»5h’I›Þf"ɨ±Ês@2iö{ÅvJ@2i¶":äl ó¸D`±$“fwpmèXö¿Š¼Ì#£„‹Îìz  î¼”D$“f#QdŽ„$ƒöuaÍH2iþJ;ªZà-½GÕŠ-Ø7èD’Q{¿¼N$™´Ýœ-3ɤýø/‰IF íi5¾“LZÓî^F’I²[-ô`B’Q+?FP9ªƒvn d$™4Tó'$$55¸&™¤ÝÄ<3ɤq/ø:¡dÔ9¾¡dÒ´qz@É$íŽå™JF …Ÿz!êQu`š·¸ÊX2I/<±dÔ¸\ t°d’v.HÆ’Ië]ÅäK&=>¯KFmÚì'ðM=аÿ…ª—ëÄ’ICa¢¾ï(:@~ÓR-iÆ’IÛÉ'K&mz7éŒ%ƒÆ6«š–Lšã2•LRÇ&ÜuRɤÙÀ÷|`ËEW¹¦’IÛ-3•Lš»¢C&*56ýY×I%“Vó%“ÆhDŒ­;çÙ²i±½È1ïQt J&ÍÜFå%Rɤý(‰JF­Y”WôNG*™43¥=V [%X;|€‰N@HX2i<ÒßåÒƒ†­¨.Ñ{”`/ÖÜé,µ/•$aɤYLëã$`É$õÁŒÕK& +ò&}=H)•ÝO+QɤÙxZz@å¨<ø¨æ JFÉï~ÿa’I²—ûnó: dÒlò¹…‰T2i¯W]'(™¤gs[–ŒÚë±ï%“6Ðþý—LZS*èÁ%“Vš¯& L&Íüi[ÀdÔ{¨4š‰K&iì¦Ï‰K& ˦ƒ‘K& -ÜÅî‰\2iö¦«kpâ’Q³•Ä^GÆF²÷Øü—LÚ& $,™$eˆ\–L3Aù"– šªîõd¸"–LR ÌigÕà¿NOlgÝÁb{z}äYw€¨þuð×Î#µÉ½üÅ’I3Û­Ž² K&í—Ñš°dÒ<¯ÑȈ4BiÖ€F·Jt!±àuÿÛ2±È Ù|×l=×,2hØð*rÈ™E†Ð’Y"E’¶p@S`I,24„³¥ 1‹¬#Ýàžnž3‹ ѪM›–Â7€<‹ {ÑYdè-·Êî™’YdixöF½‰E†S ‹1¼Pb‘±ÕYƒÞþÂÈ@~B•Ÿjg2Œ¬±´ Å2‹¬‡Ã¹“E†6ä(UPS¥Ì"c˜}ã÷Íëd‘±ng-ß*Î,2ô/ФE78±ÈŸ ¯y,²Î‚{Ó0³ÈÐ÷ܾkª!qf‘áðµœÅÙg‘E†nö*©ßZF‘¡]ºH‘ºÌˆ"ÙͯìëöçÐbÕ½uÆ8áWu oŠ˜[‰D†Ò#û>ô¡¾N:°¿å7¼‰ ç@諪 +áL"C_‰ÎbÕq$2@¶¶´Ä'Ù`ËüÚœþ—HdèêÞlÍP³…L"ÃÙÒbbÿú ÚpóJ¤L"ƒ£™{Û&“È’\Ÿµ¹‡‰D¦B7G%Z\`g¢EzÈ›ÔTë›IdÈ1DÍÚp¤X$‘ `£m ùÚ“Hd8æZp1N)‹(24Ÿ·E,—L"à Ê¿ÈЗÞÖ3t(¾Ù@V³Y-G)&;"²n_¿.’ÈprÆ\@"‘¡["Zà +T“Hd8T³YÝf}]$‘¡I‡·CÛõ™DF+÷ÛìÎ$24ðèxôЉ >¯­ø'‰ Í=,ØxÄ“Ï$2xÀ· *×µDàºÔ_#“È`o{†“Ï"‰ gkWŽd®k,ýž“Df×…XDGWD†K¶…­©c‘M!F»úº"Ãϱ¹v‡Z D†6#Hr}(Adø©_]‘‘’®LÏë‘¡É¿=f‹#ø„ˆ ¡íþÁdˆ î‚Z'ƒÙf+œ˜@d„ø²~‚ÈpBÙI«àíL 2€¾ýà"ãá¥-òª+Ì 2’¡Ûr˜l‘á`ÓîÎØ®D†v–·]§fõðÆD¶ú+eƒÏ"ˆ rñBÿŠ 2p•QE ö}DˆÁ² » }f‘!ãÕÂÔ®¤Ú "y/'D†SV‹ì1é7Dú¶|ç "ƒ½ÿöÉ3ˆ Žm3DJ$2Pkµ7mì3Äß‹ÍI"[´ÍîˆD"ÖÍÒ«ê3#‰ ÌâýƒN_Õ_òQ$‘1m÷ç•3‰ @¿™,“Ȱ 1ø”ÅD‹$26¡ùfØøm¯H*‰D†fûê»ÌM)ûŽØUtnÈ}&‘aÔL$Šã@dH LûvW‘­ÔÚ/“È7÷±šÔë$‘¡2Ô¢T¹f¢]èÉ×I"ãQ÷¯‚1‘ÈPQ:[ ‰DÆñ W¨ÃôD"ƒVP£QAdpÈm/®®2€È8ì=“õ:@dö…—J@qü›¢T ¾‡Œ“„ºz꓇¬ñÞ~R¸#rÈ›ü°ÛŸÀ`C-í‰C $!ÿúÌC Ù¯vЇ s’£ ù¨#‡ Zi¾ð2h Ú#ˆHä56‚½7J#qÈ8ÏÙÄÄ,ƒÌ!ƒ„AÓ9dÐ ¹cx"‡¬ÿQ7:9qÈ7¸êÎÜM²Æ4òg8&4 lNE.rÈ ·ÜdW‡ Ï¥Šp-‡ “ñ-Z•W'´Ç”JPI 2NâO…ãÒß40.¼-q‘A›ì!È0ùcöðÞ– DÆ…á¶ÿL° È!ƒTÀ•ÏO2hÞ³tk?´Aw¢©9rÈ !Hß<»È!ÃZc!Ë߇ š½ˆÄ×Á!ƒf“)ió×Á!ƒ†êdo79d\ÚlÁòýÄ!ḵ5Byš‰CÍÁÒ‡ ZA6p­8d\.ߢWààAÏ É®Ì!ƒ4¿n´‰C†UÖft6¬¿´‡›ïzè‘CÆÕùý¥A'´ÐA)È Ù ™·jîˆ €ñÞ‰+È ÙÍÔØ>@d¼ /D4O 2ha7)È !_i£#ˆ¬±¨‚9Y×Á!kê¶\'4›ì¢«XcCÆÀä}ÙãêÊ2Ä%8 ·Y[\°À!ƒfsÓƒåú:8dÐÊk³¡ÿY( +†„²p‹wÿ`È 5¶VT1d ‘nœØê×E 4tWŸ:FL2h‹}óÔõaÈYéXWÏ bÈû¼;M(aÈ –ŠÜþëÀA³ˆÊu`ÈÉ™V•0dÐlœÛÜ"JcÀAv‹¼ô2aÈ ‰`ª×=bÈ -‘ âÆÛCÀëÀAÃc¼uDŸ0dŒ7ï/N 2Hp+›"1dР,0dÐl]Æ–¥þ.`È  {ÿÐè:0d wŽÑë QZ“½ñ¯ƒBmýÚ.%ÂâûËhL2Ó(w´)AÈ  쉉B͹ùG±à"… š-ŽÍÍy¢Ak½•Å•(döÌH—?2J‹ðuý dPD<$BÈ …P1AÈäl +R¡!ƒW¸wÇÅBFͬ²7nŒ2HؘZ³„ šE4Ó ï B­úxû2jS`Çë A«¥{CêD!ƒb§oÀ'5{Óñ2^ˆ Zçv¿^CF%ºÄu`È(íf…† š×lí³Hn´ñc‹¶´€!£†c#¿+CÃv#aQØÔ„!£öåá2JF?’@‰2jKu(×"ƒöÖ_‚S‘56ÞGä!I‘QûG‘A«‰vu¡Š 2J6úlŸ@d´¨·ò*®DFí«ŠO 2j¨,œ0È ÙÊùlZ`‘Q›eWÎF$›4‘ '~Y‘Qû¦ô"ƒf¾ºhDÖTr8ªlZ‘QÃÁ£ò݈ ÚEA͈ŒZó·â‘QÃ.»ÊFˆ Žßþõë% DF”_Í6DFm¢ëŸÿ¾"ƒöù9QdzŸïâY E¦q`oØýE¦ñó¼MåÞ E¦q×6 -’È4ZÛl‰DFÍK¾ù™D¦Éá‡MO$2Í)¶ù_õh8Ý#AdšÂP4«{Ad>óyÍVâù„ÉvjWæù<‹¼LñÄîh0?›¹y(vG€y©ZX‘CFí½—3$בŴ +ý]‰GÚ÷/j 2­[ë«ë:@dZïƒè3[´ ü½»ì,È´¾ŽÝÐ%ȸ./kƆ”ý@dÔT•)HY‘Q{~iq DÆøÁ:rI ²¦j—Û;î$ÃVø;À,€È¨55>¾µÏrD#'{‘ý?qÈüÀà6÷¨¿kÁ $/£wÜ5-¡‘CƘQ)súu#š _wéUÂ1DËâ­MCFíýõêN2†½§ù +”8dÔ^俺öD0€1$±ï:@dÔ@JPÂz‘1šoe—z%²YZ­ˆŒZi^+8d4€O)‘(qÈäU~­÷‡’ÝÏñý«hèˆÐ-ì‡LNª¨ýÁ!“ÓW—Ä!£sCKM{‰CFíåîÙCF£Ø~K|âÑ`N@îDW‹2jÚŸþÃ!£gýz)&}°­C3JâÑ?/[ÿø$5›½J‘4¢ °Ï°¹¬=þu3šäI}ž"ãÞÀd. îÊŠ&i*º÷l̇UD÷)tÇDñz£ @Îço¿?È´/ÂÈ ¡‹Nc¯DÆíµÝéû‘q[Î…®DÆÝ<>ä÷ˆŒ»€ö‰CÅD曇è·!©E€$`‹|Å6H 2îUö{srˆŒ{œê½õDƽѯ+x‘A³'¥()ƒÈ¸ÝZJïêšš@dܦ}ëFB'wwŸ²[Þ&w…ož@^‡ ’*³…ÕŠ2mBÿú¯$™6¯çôí¢Ä!ãžwEÀéß×¢ À>kô™=š€÷KqO2nÌO½c×!kq§êàq³ßžšà]‡Œ‡ØØ.Z˜"‡ š=:‹+6ö€# 6Zج±`f²P±Å¬-´Œ"ãý>µÕK(2A,H½u°Yd‹uÍ @f‘!wÛfWÏ÷É,2îEù+|²ÈÀ&yìÜ¢©%Z.YØæ¼Ä"C9θ_ç”E¶ÅìqÝZÇ3‹ 9Äßf^f‘¡û°>Q%RÚ?Ômf‘q‡îFwmqÊ"‹ À–÷%‰E†i¤ WYdH¯måV®]‚‘a³ÐâRûïþÂÈ€ŽÏA}03Œ =±lfõ”ì #C¦aTùF†K-¹adL+¿Ù½î:adèÏ +‰^ˆÄ"C¦ú×¾=³È¸‡ú"æS,²È’†¦e:…¡…Ï­i,¡ÈPÿ` •ç¨d¶sY/™D6YNÌ@ÿ:IdÈíŸÌˆæCH$2”bØDÒ}QK$²Édwd—<×I"C4sÿ2Š 5ÏÜ臌"Cåþ»î‰ŒE üM!«‰ qUÅÏ+.‘ÈP('¬¦:™D6‘—ûmo‘DÆ”(‹iUïQdˆñ`üï"Š,×sdÚ¼Õ2¡ÈX""Jûu¢Èp,ÐÐcYÀ´Ä"CÙI_•Îød‘¡µ‚ý›¹œS+ƒQÑsÿšµg™i.S«P‚‘M&q ]'Œ øö¬vÂÈPróµòÌ02&´ýŠ43l"q¨mC’idìÝ>«¸öF†nãýqÑŒ ¹u‹Í> +endobj +142 0 obj +<< + /Type /FontDescriptor + /FontName /EAAAAA+mwa_cmr10 + /FontBBox [-43 -250 1008 750] + /Flags 33 + /CapHeight 683 + /Ascent 750 + /Descent -250 + /ItalicAngle 0 + /StemV 0 + /MissingWidth 500 + /FontFile2 143 0 R + /CIDSet 144 0 R +>> +endobj +143 0 obj +<< + /Length1 6784 + /Length 145 0 R + /Filter /FlateDecode +>> +stream +xœ•Y t“ו¾ïß´Ú–d-–åE‹%ÙÖâE’…-ÛZ,ÛcƒmlÙä}ÅŒ$HHBº´å0iNÊ$” +N;Ãt:œ¤.éä´©›Is2Ó4gzz†iÚNs2sÒ‹¹ÿ/Û!I—™ÿðëÝ÷þ·Üwß½ßýžr8 +4„¶l+«ÌÞ¦ÊÐNck÷ÐþcGÉ–³(ÿ3¾¿›¡”ßMËøþ|lziôµñ£OШÆG㿉¥pü-ì_5Ž ;¹b¬„õ¢ñ™…»çÅ:#Öç¦g‡@2.áøX_˜I˜#"À±ºÇ±nܘù¢áV Ö“Ô©¹Ùù…»G@ »ÿ>·wdî÷Ýç±Þƒõbà@ ™ˆ¤â©ù»Ë8ó<}‘]dŸ%¯Â;ð¼I¸ÏÁ³pž„Gá~˜I‡Ð Л ¨ƒøÁ(“(%úû.{“M²ÙCl+fÞfÄtоM멨÷©§ž§f¨8e§ +ÉmòyÜOfˆ~‡+¾k¾‰«þ^†›ðÜ€oÃuø&\ƒ+‚ÏÀEø<Á8‰ÚÜK0³¨Ó êÃë@=Le•!­F­R*²23ä2©D,âX†¦8¯áù5Ož¶DF»]Îk¥ ’àèÑU÷ +E­P$¥¥½IÒ øT“ËéÀIªÔåLÿÁ$X"W m›Œã‰á$mÅÒ˜d, ãðÕPètg Ÿ«`ÊëÝÚà ŒÕØ4žYIhï1’lÆ^Cb¸w[¥ÌòGC™å6®íøó³'†ÿlOÖ ÞþÌàà…&¥JWír¾„Û‚Và•<ݘ¤»¢»".g£1I["×Å6ìo°4œ¶à‡$c‰ä$eü^q¶œÆ‰d(aôN† (ób²ÉŒõö&YK§ –ÈD’²D’òÒ—ÓØ8u9¿ J`ï¾A%®)YàK£ñ*EŸŽX’$iBƒ…:{’¡]½üz.'~jP6 ºàrº]Η]Î`R]ê‚ôÃûðuŒ«úz¾4ÖY_Œ7Ή/ÖEØO\„ïÏ$ïH? Óýù€ Ÿe&¶e¾…ã³¼ +¯ø€rcu(ˆâÃlF¾ÜW ”Õ^13¿­¼Ê±ÿZ{¦P„«4ßÌòÍ×DÜîjÑŽ({”&¥Õ¤4E)cªˆœO³]¾e^Åôm w°hœ¢P¾”0Ä,â”a@¢Z%!ñ †°$;‹v8‚ŽrÏèSr_¥ßS©Õ(Õ&Í “ÏÜ9š/Ê  3Oì¸Lt§9ã­DÁÖ»Ëôœ? Œ` ååØEr+ì ÅtÉÕÀvåÑÀQf\ 嬙RzUUžÊJ£¦8{e•Êç¥l3‡õŠ‚;ß +¿tåäå¸)|ã{çrsfæreåS.ò’Ô¼uâµßO¦^}Ã÷Ÿ$ïâÓ„YþYjå齯¼ñ¤°ßQÜïyÔ§¢¡€»$‡ÎpHT +*Ãl”3â +B‡šß:Å”‰FRA*ËÝô–"‰„5RMÇ4„æ(/o Ô–·‡×OêiŸ×MPEQo5g1Û|Þz +7A4êL*‹x*«üU~=ÊúX¼ÇSh{ïÙ|q¦;v—‡kfnÝ÷Êþ¶ƒ7 +þãå'nr9úÚ?Ë‘]m“§ÛÚùTÿTU_QnpµžœØ0ô­¥Þ‹ÇŸË{›es¿šz÷„¦ÉÙE°‚?ä0dtvD'É’‹å Ñ*D„QYsdRÆ`–tg€03hp;¿GJq•>¥×â3Uê$¤ÊcÒ˜ñl=ßLp;vÂWcËËä¸^Lnb=9¾¼¼ry9%–ès%©ÌåØã +Çtw–˜“ºXøÎ—Â1ô†KþZ§c¥w..ÅÐ:îަߣ¿€¶¯‡æP½ŒH‰Ä¦“‚XIŠˆ ¨9g!Ue+“(D4S"™´š 'é3°4—Iì Ì6×ì%55%ÓÍ'zRžâ†¨ýøq÷¶ŠPkŸ{hKl0²7øzÝ1t5¨NÅéw苘Z`;ô…:Lbª}³DMr•˜ÚmYR¸”Ø6+8š”éc" +Ù6ˆ@Ä0¥¤­V¢#…ùÔ7ªdMJª·¨pN1ÍH9j¨”Ý»îŠ:o•ßMÐW}OWOîñF¿Y$8#ZÀÎiÔÚ©\«ó) ¼I|^›ƒ· +©D ý#ŽTOn,qÔíðL”Î×;7Øô¹6ýäf«k×W¶Í ä7W]:xëÁóËñ¾ŸŸŸ»ÐÔxaöÖ#—ʶ”ÕMÃÛò6_Ü8£+ÜáÛµ©14×áhvUz›MoËÚhòm?ÓZW\YÕî<±_ôùã.×@ãTÐÕN~þÁÔ™3SÑÝMBìÖ0›é‡‘;øB‘£=K*&G"•šJOúTùj¶˜H %#}E¬†£JÓ®À«² +Ý}ÅgÕ¤­Ã»ïæ|»°c¡¡®)nª“’’¿Ùyö±xSÊѯ‰/>oŒiT™¿BÓþ gîÔ#)µCÃ6òëán,¥¦±Æc^•M±qļ<°†òr³²ó#è˜E)$„î—²j–¬ª¶®™  «,^°)^'ö¶pê|Ô™_U€É,*(²¥(¦]\”¹íŠTå;£QÁNö»·©KÌ»`@E¯=ÿБ1¥Þ®ÞÔT(ëzì(ŸïÃs©“±•w=Ù¶t_è¾­<Üògv÷¶pf¨ ‘Ûò%*Ĥ<‰V*’æ É'}Z…†´`8ÊúñùWK)øçúÙ U ëÔù7þ¤ªt-»™ëÂćÕÔk¶SO~ý}rK8ª•©­½ÎëûÈtºVQ……îë­»îãÏ*ŠúØGñ¤ÜPòèH±Q"#Åv±”ç F›Õ¥ÐÅTòÂã”L¯c»œ<Š–¯!Ÿ¹øèÜJ÷E­ÂüJ7eÁøÂø#ï/ý`vé'÷µ±>ùZLš4Púë ¢…aÁ”Ns$ußk‹37ì8wkV¾ñð—‚S[2)™H¥É1µD–Ãí ÷뎿uðÀÏ Îï3hŸÃpµH–»ðyÊÒzaâÍ´ot#7¸„¹¸¶†š­D¯Š%£)Ia¥·:1ûH‘JF8ÚR'è­RRZ³dS5¬´Uh./ ès1ášcaà˜ÖU0,-÷§Æë¦Ðêˆ×ãOߤ?‹k»Í$¢taŒ°~7ËŸXÖTnžR©öÄv:ûw´-e8Æ]_ïv…&¿ÖYz®¹õ¡­½‡_™ÛõÒ¡¨Çä/lª¸ÐýÑ5 õÙ*…dúKMƒGµ„„\ÎPÈÙs¬ÁÚ8ÝØ}n2W9üåøž¿ÛxnÔ-Ü`¬Œ¢]?˜w0ŸÛ ª4N+QÎ,–Sb)1kÍxdL>H$øø¦Ã‡:^zm]ÝR(©3mD[ÄÇnAQš-ã^ÚdJ%Û•ËCó³aû1ÿñÛÒ8“†/Ư6Ÿ`§¿²0ÿ£Ã^®.)©v››(JœÒ+ôœ´ðºî7––~ñàŽ©â@ ¸È'r{qÇÐ?,-î’ËDÜÒÙtÜÚSýŒ‚žÇû¶;TDÙ-ÈVS¢Ì•ʤ½ZβªLPdë­êX¬¦ú£/Gf›‡6Ú¼ºbƒÉ‹º¿—JÊ!acH_HáÕ +Yˆ1#ÒÔK,‘¬^E²1ûY”Í{$ç{ßK:>x¶ÒñÉÞÀø´@M¨ÌœQx_ÊÅüÀóm}6Ï·-¥„É”K +H»6“b¤]Χusßž<×6­Kk¬ÛÄKÔÈ2Õ¿L ÿô§+_^^yv9”±p*“¼Ç—i¢M9V^OÇd5’NžM¡2(‘N¢!"¤™#@gä—ˆZMvf†œc%Õ4ÞîLk®äá±ÒŸöpK¶‰wµHp!Lz«Ž£j¯oß³ÑÐQW$ÌÊÍ[½‹¥ö|qÀ¢Sˆ9Z¬­›ÚA:2¤rNüѵ¥ö‰Ô’à3®¦u»s‚݉`w–Pcî÷ØG(ŸIéúþ÷‰>¢þŽ„9täå#"«Ö…z +x»‡h,aׇš4:ª€ºÿ~ìµ–_ +0·×BC¨¦¼ÌQšMs~‹Äo•!'³X Bd9J)O@2¬³›MF³< rñÑ€HÁ â"Lý:ÇÎÆÈ²¯'I?‹tŸæÑ‚KÛ­™T¶ŽÏ9``—îgîßÜÔ3öB¢ïogÂ{BûÚ‡oÍL¾|h¶÷ÜÖÅïúͩ߆¦êý {wëáæú#Ä蟂î§:/Ä7ÞÙ¸‡©Åwyçìß wuªý¡Ígæí­Aõ5óø1ªäbåÙÞÆùPùÎЮôß +˜ú§F`]¥…«É£H§@ØÀ›½ˆP* 1¨$›äxÔ’vCÖóÏ\»!¾H›î¹ h¢è™oÎýò‰s¿Ø“º¾ü&Ñîy$üä W0ƒ¤´?¹oïåÞ”4£¾~xîkç0|Ìá‘oñ ¥$ÍàÁãyüÿ¼òÿÀàËO|†Á3ž4 uý +ŸÆcêÄãlEÊËŠ²29FT"T,)ÉÇ„ A"¶U ì0W(/Óc™SbÊ¥F¼2Œ*äÕ#Nt7*’öž$"3D,Ö©/±•‘µ£Kc4*ö]»|i ‰ÀIí"þCT¥—3Õo%Ž6=܈dä|ÏD[@šÅIzÕâTÿÉDøLÓR³§ïpôh_‹L®âH›B‘z£§?2 4dÕEãóž VÆ¥ÞÏΞ:ÝV½Q‘«Ø¼°qÓLÌÜÝνaFÉã€mäi² O—Ì30J©0ÕÊ>ÙýSOLp„}6ÇB—lº:oú}¸½øâάÚÿ†Bñgß}áVÅñ¢“µq8ÞÅþ»ÏÝ=+V­Ï¸öäQïB”¸†ïV|GEòßjfÔQ~Ò°ó2¾QúQlèfùvø¿ÐÅÒŽ}ßC ‚|”]Ôó úâ8~> +stream +xœk`´Q`X¨À*^0_Ñâ +endstream +endobj +146 0 obj +20 +endobj +147 0 obj +<< + /Type /Font + /Subtype /Type0 + /BaseFont /EAAAAA+mwa_cmr10 + /Encoding /Identity-H + /ToUnicode 148 0 R + /DescendantFonts [149 0 R] +>> +endobj +149 0 obj +<< /Type /Font +/BaseFont /EAAAAA+mwa_cmr10 +/CIDToGIDMap /Identity +/Subtype /CIDFontType2 +/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> +/FontDescriptor 142 0 R +/DW 0 +/W [ 0 [365 500 500 500 916 500 500 555 276 388 555 555 443 500 651 391 526 443 526 276 750 443 276 333 500 680 555 394 ] ] +>> +endobj +148 0 obj +<< /Length 150 0 R /Filter /FlateDecode >> +stream +xœ]’Ënƒ0D÷ù +/ÓE„ )ŠT¥ªÄ¢5íû’"cXð÷5—HµÄã˜;ãÁ¾É¥zªL;²äÝõêJ#kZ£ ý䱚n­Ùˆ”éV‘Â]uÒn/¾ÎÃH]ešže¨Ò“•Œ%þeÝ̶º¯éij–ù7§ÉµæÆ¶_—ë:{¬ý¡ŽÌÈx˜#£Ã3¹¼Hû*;bIðÙUÚµã¼óò{Åçl‰¥2¨^Ó`¥"'Í6'îÇ™žý8/îÿ¾§9du£¾¥[Ë?΄'Î3JA”RP(× } "ê +P *A:€Ž Ï Dð,@M ë  +9 èr–ðȹ¯A1焜¥!çÿ 3„œYÔQ‰«Ço5<³°áqgÓ¿}¾Ÿ ,8´eŽ„–+æÑ¢åø–6\{CMÎù¶]úaé„ÖÐÚζ·‹*\¿¹´Ì +endstream +endobj +150 0 obj +356 +endobj +151 0 obj +<< + /Type /FontDescriptor + /FontName /EAAAAB+mwa_cmsy10 + /FontBBox [-28 -959 1123 778] + /Flags 33 + /CapHeight 683 + /Ascent 778 + /Descent -959 + /ItalicAngle 0 + /StemV 0 + /MissingWidth 500 + /FontFile2 152 0 R + /CIDSet 153 0 R +>> +endobj +152 0 obj +<< + /Length1 1984 + /Length 154 0 R + /Filter /FlateDecode +>> +stream +xœU_lSUÿ{{nëºulPÆ»ÝUÙvo·Ž,,®»w[ÈFÊÀ•˜l—õnmÒ®u…)¢‰Á‡ >4Æ'b¢!w}@CŒA“4>ò`Œ‰$ø6“Ëæw/1 ‘Óžs~ßï;ߟszÎW0>¼Ñ—·woV<>bNgå!kèáï©Û“ù©¬øÖØiê?Oeæ&¯îI^ÄqÒž²ÌäÔ’ñ.Ù'IÞ"Ÿ^¹FòG$7§²³§¸ÂöL*2¹ ò…e²q²Èš§ò¬‹5þ;’åi3k…²37IþÞÏç +³kgPxO;úüŒ•Ïi-»Hvü7A¢A4£smXû +ncÏ3?Eù‹ø—pðÎbd1ŽWÇ샎½èÆ.4Vø½ïVéM©Wj‘üü.¿Å¯óç=¿y +žœ¸*Þoˆ[…%v›]g'XˆùÈû¸‚.SŒÉÿÛxÃpÇ0âF¢ƒë1ÐÏÑÍõu›j5Õþ*_åÆ ^‰{DA-ÑïaÈóÇç}ò¨¦–Zcä”¶Ñ-Ý wêq'{ckÂfFÍ#”¦¶Ñ×Z5õÁÀŽÛPô&†tyPN™I[ Ñ,ÛC1åäB4:?2ÚHmÛGà Ƀ)Û0mml°¹±'Ñ`&‡G•vå^C»r‡b·=Ù»™|âJÒ{ïP')MÏ-ÕÛ¶U‚«!úúšå!ñHc<Ï΃¸È^u wn`R¨¥¹’?jñï¥[}†_ZŽÒ^ïe7Dzß=û÷OµcÕ=áيnjחã+Ò^§.Й±u;ò÷"°áâÚâýß+Vz\o‚pý Xr5ÎÑ)»<Õ ›É…ï”×úém®ÛáÚÃÙî2àe‡ÊX$>WÆÂç˘£Š}QÆñ·h%ól ék×ÊÁ uL.c~ÖWÆ"ñ‰2ö~­Œ9¶±ËX"~rÈSý˜ASHa2vÛBs„*H7º ÖaRI#CxacÄdÜÊ“‚…¢Ëõ㬈?ôVp%‹f‹biLÒÊòÝéú¦øŽ'™*VÓe '+Ç“… bÒ®ÆÉb¿É"FÖaªV¹üÜLz*5+ï0ZäHww—*ëf!‘‡ÃrÌÌÌRV1,÷e2rÜYVãVÁš)ZÉpG¤S7‡s1SÌM“ÂÈe2ÖÄl:7­Êû­¢•Ñt +ÅIÊnŒòÈRfs”w‘'ͱ‰la.BØÙÜNPJ&mqkêDÆœy +Ãÿ]@¯‹z»{T•õm]sD‘öH§v WÔº»žÂ•X¾û¯;ÿiÿñ ‚¼‰o÷o·Ç|U<^kŠŠ±XsÕ!œûRì9ûL[ð·õŒœ +endstream +endobj +154 0 obj +1316 +endobj +153 0 obj +<< /Length 155 0 R /Filter /FlateDecode >> +stream +xœk`€‰ +endstream +endobj +155 0 obj +12 +endobj +156 0 obj +<< + /Type /Font + /Subtype /Type0 + /BaseFont /EAAAAB+mwa_cmsy10 + /Encoding /Identity-H + /ToUnicode 157 0 R + /DescendantFonts [158 0 R] +>> +endobj +158 0 obj +<< /Type /Font +/BaseFont /EAAAAB+mwa_cmsy10 +/CIDToGIDMap /Identity +/Subtype /CIDFontType2 +/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> +/FontDescriptor 151 0 R +/DW 0 +/W [ 0 [365 276 ] ] +>> +endobj +157 0 obj +<< /Length 159 0 R /Filter /FlateDecode >> +stream +xœ]PËjÄ0 ¼ç+tÜ')ô´JÊB}°i?À±åÔ°±âò÷k+!… +üif$Úî­s6‚ø"¯zŒ`¬Ó„³_H! 8ZWT5h«âŽøV“ …Hâ~#N3ž7–^Âηô™#­pzÕ~À'Ðhrÿ“4’u#œ~ÚþèöKwœÐE(¹‡Nó+Úw>ä„ ØçÜéD²q='ùã{ 5ãjË ¼Æ9H…$݈ťLÕÀ嚪Éîÿæõ¦Œú•t°Mª†Q•PY¾HÖî¬ì’·qDT QJÇËàX9uxl5øU|œ}B +endstream +endobj +159 0 obj +235 +endobj +160 0 obj +<< + /Type /FontDescriptor + /FontName /EAAAAC+mwb_cmsy10 + /FontBBox [11 -215 942 727] + /Flags 33 + /CapHeight 0 + /Ascent 727 + /Descent -215 + /ItalicAngle 0 + /StemV 0 + /MissingWidth 500 + /FontFile2 161 0 R + /CIDSet 162 0 R +>> +endobj +161 0 obj +<< + /Length1 1968 + /Length 163 0 R + /Filter /FlateDecode +>> +stream +xœU]hWþîüìÆd³Éj~VélÆT“ÙdcÔ.J³™I5Æê%[„d’dv3Ûl\“–þ@ñ%V°ÔR°P|’"E&yh¥±¥b +E¤h+BKŸ„>¶ (¦g&£”Z[ïìûsîùιwî=  €wÀ#ùÊ¡®žðOÁf€HÚ#“•9iodp€ð÷Ô?›*M¹Ð7Àæ©ßš.,Lý|+üÍ?Jös9ÓÈNý¸§FHÞž#EíVô“üÉ›rŹùÀvd›äª‚5I\ø…ü8YùÛŽÉ~‰diÆ(š[fÊwH¾pgJVynå-4þ‚c/Íš%KíØF²Ãß=„± =+€•¯à6¶™q¿â*>ÅyœÅx'°€2ŠÇQ¤±»¡a'؆HUÐ_ö¯÷½íëóuø‚âïâmñš8"¦ÅÂoBY°øGüþ¿žûƒÝaר1ÖÎÄþ>Ç2.RŒOˆÿ]¼éF˜À«q#쥩Ç1’M ëÖ†ê낵šê5U~Ÿ(ðƒ²LßB—'emꈪ,wúȼèhs"ã»ÜÁ®îÌØL¯ÿ‡JU¢ô³¹NUY}± ²¶ÄøvMJI9#kóí4J¶ Ë†”]J&GF#Ô–iÍu€Ð.¥r¶¿}аqp4Òb‹úK™#›94*wÉ÷[ºä»;úlv#ûÌ™b»Öw÷)ç¾û®*´¶9¡*_Ó²Áhœ$m^7òã㚪 J6/kËŒõŠ.ë‹2lAÖÂv³Vb æí¤!¹yÛý-„h§ZìÝ™Œ-ÊQ0YËÛœ¬ÙΰªHƒ¹Uù!ˆ+W4Jb9$Â%i‰ã5Ùf†–¢ KŽŒÚÉñŒOUȤ‡tJ7U‰©ÊUUé³:ÕÕ‡}ÔÏ€s.—HÝ.?Ú’-2GGTIðsÂažL‡ý >nM#Ú EB›©3ˆ<ÔD<@D¸ü@s1.°›â)®µhNÖ·úâÕùz¨©)$|TߨXÏnn¨«Ûàtü½1_ ;í¤Çβ×\…;r70Å­¥±FÄ´$$œÏßKS&;ýÝ=ÞÕ¾ñÛÉïÆêvý‰ªžön~”òŸ¯;uœçIoâ{ÙQ9Íò ããFûGûµ\ ‡¬¦Èѽ÷¡‰(ØãÍ Ò]|ì?†+ObTSaž—Ÿô0OzËÃáÓQ˾ð°ô·i&ÖtÙõr0C“<Ì!Èú=Ì“>ãaðë±}ìaé¯B‡…Õ‹Yä1æho·¶ƒÆ8UŒz¡Ö`PMÉ£@x1z“¦àVšLT\]?iœé'leW2i4)F…ÞYšÙMÜ=.çÅw˜$ªPf<'+‡ÉÄ$iò®ÅÉbŸÉ$‹JÞ1ªPVia6?›“¶èR<‘èU$Í(ç ÒPL6 + åœY‰Iý…‚”v¦•¥´Y6g+f6ÖïÑŒ!kØRÖ t«P0'çòÖŒ"í3+fAÕ(@Ç©’ŽQEÊlòî&åñ‰±Éby!NØYÜ4ŽQJ-isúXÁ˜}Çÿ§ÆÑån•JeÜ¢¥«îA<ïŠ÷¨û­Ššè}*~õ0®¼áü‡ýË… +‹mbk°™oÔŠéšá¶$?<¼©ö N]âwØ~p® +endstream +endobj +163 0 obj +1292 +endobj +162 0 obj +<< /Length 164 0 R /Filter /FlateDecode >> +stream +xœk…… +endstream +endobj +164 0 obj +9 +endobj +165 0 obj +<< + /Type /Font + /Subtype /Type0 + /BaseFont /EAAAAC+mwb_cmsy10 + /Encoding /Identity-H + /ToUnicode 166 0 R + /DescendantFonts [167 0 R] +>> +endobj +167 0 obj +<< /Type /Font +/BaseFont /EAAAAC+mwb_cmsy10 +/CIDToGIDMap /Identity +/Subtype /CIDFontType2 +/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> +/FontDescriptor 160 0 R +/DW 0 +/W [ 0 [750 776 ] ] +>> +endobj +166 0 obj +<< /Length 168 0 R /Filter /FlateDecode >> +stream +xœ]PËjÃ0¼û+ö˜‚l÷ Á¡àCÔíÈÒÊÔ’XËÿ}¥µq zÌîÌ0¬h»[çlñE^õÁX§ g¿Bp´®¨jÐVÅñ­& +‘Äý:Gœ:g<¼n,½„ ¾ÓgŽ´Âéªý€/ Ñäþ'i$ëF8ý¶ýÑí—þpB¡ä:ͯhßeø‚`Ÿs§ÉÆõœäÆÏjÆÕ–Ays +Iº‹K™ªË[ª&»?ÍëM5u—t°Mª†Q•PYÖkwVvÉÛ8"ª…(¥ãep¬È:<¶|È*>ÿŒÙ} +endstream +endobj +168 0 obj +234 +endobj +169 0 obj +<< + /Type /FontDescriptor + /FontName /EAAAAD+mwa_cmmi10 + /FontBBox [-34 -250 1047 750] + /Flags 33 + /CapHeight 683 + /Ascent 750 + /Descent -250 + /ItalicAngle 0 + /StemV 0 + /MissingWidth 500 + /FontFile2 170 0 R + /CIDSet 171 0 R +>> +endobj +170 0 obj +<< + /Length1 2828 + /Length 172 0 R + /Filter /FlateDecode +>> +stream +xœV}LçÞ»{Ï`ì8MÎßlCŒ ”òEÒÈH¬p`ƒ=Ù˜`IÓt­¢( +(j¶Nk•EÓ:±¨Òºé@SÚEêÖEÛ¤V]•?Öi¦jÓšHÙþYW­£˜=w8¬]Ò®¯}÷þžßû>Ïû{žûxXà`!zèhSع¿b +ÀÐìñ±ÙazË“÷¿ @<ãS9Æñ ñ_ðxw"{zü§¶¿ß`‹ÇSé”’œ8Ô[DÿEôÙ™F¢ü Ç ï¡]“ÎÍœª¼LúŒh‚=›ÃX†wÑ÷&Ú®œrj +þ +?Ãq;Ú¤’Kýã±þ—Ñn`¾5•/̬? .ó/µñ©éÔÔñ¼X@õ@ðØ +ÛA†'ŠCÅÂúmŒ|‘] st‘Ø ïÃÛ°/Ãwá*\oÃóð ¸çáëƒqH ÀAؽƒGaì‚Vˆ€¶͆ ^þ6‹¿JÿEïÑßÑwèÛô:ý }–ž¡'éajåþÌý‘»È°EöCöö-v…]`¿Æz™9¦‰©'+äy²‡<wQÅŸPÇoàWp Þ@=7á¼×a~ ¯ ºk°ß+i|QWùª\€‹pµžƒgá,œÓp +pBW>O òÃÐÊ{  Õwlê÷SG´ÒírV8ì6k¹¥Ìl2xʱ i¯{\˜cãÇei¹ ~ì” +DUÛ ÞµëjnTIÜþ?”,ð¯2²´q"£*ˆ±%ÂÖÆ„!­$U¶{Aåâ¢"$—¢Ñùc ?¶%ðo<œÐW+ô¤UCm·¢Â‘„ß§ÒøîAŸ’<š›Ä}Mâ]\;ðùÑ•äçΤµ±Ž»8w|¬SŽŠª6Yú9¦ « ‰œïVÙ¸’é‰ÉR· ²bl™04>ãó"¨œó¨eZ®ÍÓQ£Š ëV;}ˆ5¨öøÔÞÁA•Š1 AÄXFeĘjiôÈ’Ðî’¥àºþz E,;(h½ ,1ì|LT‰ëÁ‚E%ÔèÈ ¶ž,áPÜG¹!¥ ,Ý’¥ÕÕ(ÃFK೘Äçã¼Û§€ÁëL’>ŽO´‚KšÚ— ܹ¿…—xú^û2Ë „%V£©F/ø…OÚ1OćßQëwø»¡XC^,¦éãÿþa÷®B ¿~Û8Jç`ìŽ#[™6©ºÒJ¹³Ål$\Wƒuöš:MÁ†ºÚm¼Ý,æ`+OxÒgg!èèh 4S6HÄêÖ½$â»y±Úà$õŸb¬ Rn'ÙÙÚR§‘Ì&ɇ Õ­¬Þ‘ܰ¡·Ë`t’;.cÅ¢yfdÜ£ ›Í?0ígdË@ÄÅÑòrr¹2ã7ûùµýe»÷àÚ5›Ûá©¢Þm6ß§On[ýˆ}êʆA=ö6Û'”}³ÒÝXí³W”ù¨×vž_í®¬ä¶¯¾_©×ß;ÖböF#5âQà ÷˜©ÙReÓPâøÑ#‡öÅ;ýÊnifâßîuÚÊÍÆ-¡0ƒQJéè4Gô4ûvîÒ²®¯ûl-xëw>”'¼ÛUUA›ˆþÍN?û)~DÏúlÈg!^Î[—Ó +ÆÔ»µòhäfâ,ç­ÏjUcê7ç?ÐIÞâXû½›ã6È‹kW¨·C˜œZ=¬¦ —r+Yc©dVs°è$ý—Òæ4­^u™ÜHxÜ>›ÕŽNLýÚ;^N£|¥:Ò¬cZ¢RPb¼i+qÔTYcák_V …m4Gƒ ¡$bÓ +ø¢ê‘Í*í!á½Ì.¬Ë?¼"_­`ö"aKñŽ©gå¥_tÚ*Ü×Yûƒyº=fSdõª×e楱¾¢Ý +Ÿi„{•\Šà +9PÚè¹`œÁt™2 +_Т¸Óu?Î0¼¾¹–™ì,a äH ³ÈçK˜C|¹„)”“WK˜Gþ8“p&´Vt/ p¡„°’Îf‘,añ“%La ùN óÈß‚8äa +÷ÊiÈÀ¤aØlö!hÃ_ Hˆc ànš,â>âù2Yô, W +fu®mÆÀf´‚n¥°Oá³xNâÌfŒÖcöáúZ$÷å> +stream +xœk`%®ã +endstream +endobj +173 0 obj +14 +endobj +174 0 obj +<< + /Type /Font + /Subtype /Type0 + /BaseFont /EAAAAD+mwa_cmmi10 + /Encoding /Identity-H + /ToUnicode 175 0 R + /DescendantFonts [176 0 R] +>> +endobj +176 0 obj +<< /Type /Font +/BaseFont /EAAAAD+mwa_cmmi10 +/CIDToGIDMap /Identity +/Subtype /CIDFontType2 +/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> +/FontDescriptor 169 0 R +/DW 0 +/W [ 0 [365 943 831 680 ] ] +>> +endobj +175 0 obj +<< /Length 177 0 R /Filter /FlateDecode >> +stream +xœ]PËjÃ0¼û+ö˜‚l'¥=Cp(øÐuû²´rµ$dù࿯´2.tAYÍŒ†emwïŒÀÞ½=PÚH³]¼@pÔ¦¨jZ„ Ñ.&î +Åý:œ:£,œ3K.nc°x™ƒ_áp“vÀ#HT©ÿæ%zmF8|µýÞíç~pB ¤I'k_¸{å#ŸS'#I‡õåŒÏÕ!Ô„«œAX‰³ã=7#×2V×çXMrÿ÷~ɪA‰oîw¶ŠÕª"*ˇnjjB—§ŒÎ òÝÒiR{|±x“Ó (r +« îwÖ%­_Ií‚ +endstream +endobj +177 0 obj +247 +endobj +141 0 obj +<< /Type /Pages +/Count 1 +/Kids [139 0 R ] >> +endobj +178 0 obj +<< + /Type /Catalog + /Pages 141 0 R + /Lang (x-unknown) +>> +endobj +140 0 obj +<< + /Font << + /F405 147 0 R + /F406 156 0 R + /F407 165 0 R + /F408 174 0 R +>> + /ProcSet [/PDF /ImageB /ImageC /Text] + /ExtGState << + /GS1 2 0 R + /GS2 3 0 R + /GS3 4 0 R + /GS4 5 0 R + /GS5 6 0 R + /GS6 7 0 R + /GS7 8 0 R + /GS8 9 0 R + /GS9 10 0 R + /GS10 11 0 R + /GS11 12 0 R + /GS12 13 0 R + /GS13 14 0 R + /GS14 15 0 R + /GS15 16 0 R + /GS16 17 0 R + /GS17 18 0 R + /GS18 19 0 R + /GS19 20 0 R + /GS20 21 0 R + /GS21 22 0 R + /GS22 23 0 R + /GS23 24 0 R + /GS24 25 0 R + /GS25 26 0 R + /GS26 27 0 R + /GS27 28 0 R + /GS28 29 0 R + /GS29 30 0 R + /GS30 31 0 R + /GS31 32 0 R + /GS32 33 0 R + /GS33 34 0 R + /GS34 35 0 R + /GS35 36 0 R + /GS36 37 0 R + /GS37 38 0 R + /GS38 39 0 R + /GS39 40 0 R + /GS40 41 0 R + /GS41 42 0 R + /GS42 43 0 R + /GS43 44 0 R + /GS44 45 0 R + /GS45 46 0 R + /GS46 47 0 R + /GS47 48 0 R + /GS48 49 0 R + /GS49 50 0 R + /GS50 51 0 R + /GS51 52 0 R + /GS52 53 0 R + /GS53 54 0 R + /GS54 55 0 R + /GS55 56 0 R + /GS56 57 0 R + /GS57 58 0 R + /GS58 59 0 R + /GS59 60 0 R + /GS60 61 0 R + /GS61 62 0 R + /GS62 63 0 R + /GS63 64 0 R + /GS64 65 0 R + /GS65 66 0 R + /GS66 67 0 R + /GS67 68 0 R + /GS68 69 0 R + /GS69 70 0 R + /GS70 71 0 R + /GS71 72 0 R + /GS72 73 0 R + /GS73 74 0 R + /GS74 75 0 R + /GS75 76 0 R + /GS76 77 0 R + /GS77 78 0 R + /GS78 79 0 R + /GS79 80 0 R + /GS80 81 0 R + /GS81 82 0 R + /GS82 83 0 R + /GS83 84 0 R + /GS84 85 0 R + /GS85 86 0 R + /GS86 87 0 R + /GS87 88 0 R + /GS88 89 0 R + /GS89 90 0 R + /GS90 91 0 R + /GS91 92 0 R + /GS92 93 0 R + /GS93 94 0 R + /GS94 95 0 R + /GS95 96 0 R + /GS96 97 0 R + /GS97 98 0 R + /GS98 99 0 R + /GS99 100 0 R + /GS100 101 0 R + /GS101 102 0 R + /GS102 103 0 R + /GS103 104 0 R + /GS104 105 0 R + /GS105 106 0 R + /GS106 107 0 R + /GS107 108 0 R + /GS108 109 0 R + /GS109 110 0 R + /GS110 111 0 R + /GS111 112 0 R + /GS112 113 0 R + /GS113 114 0 R + /GS114 115 0 R + /GS115 116 0 R + /GS116 117 0 R + /GS117 118 0 R + /GS118 119 0 R + /GS119 120 0 R + /GS120 121 0 R + /GS121 122 0 R + /GS122 123 0 R + /GS123 124 0 R + /GS124 125 0 R + /GS125 126 0 R + /GS126 127 0 R + /GS127 128 0 R + /GS128 129 0 R + /GS129 130 0 R + /GS130 131 0 R + /GS131 132 0 R + /GS132 133 0 R + /GS133 134 0 R + /GS134 135 0 R +>> +>> +endobj +xref +0 179 +0000000000 65535 f +0000000015 00000 n +0000000145 00000 n +0000000197 00000 n +0000000249 00000 n +0000000301 00000 n +0000000353 00000 n +0000000405 00000 n +0000000457 00000 n +0000000509 00000 n +0000000561 00000 n +0000000614 00000 n +0000000667 00000 n +0000000720 00000 n +0000000773 00000 n +0000000826 00000 n +0000000879 00000 n +0000000932 00000 n +0000000985 00000 n +0000001038 00000 n +0000001091 00000 n +0000001144 00000 n +0000001197 00000 n +0000001250 00000 n +0000001303 00000 n +0000001356 00000 n +0000001409 00000 n +0000001462 00000 n +0000001515 00000 n +0000001568 00000 n +0000001621 00000 n +0000001674 00000 n +0000001727 00000 n +0000001780 00000 n +0000001833 00000 n +0000001887 00000 n +0000001941 00000 n +0000001995 00000 n +0000002049 00000 n +0000002103 00000 n +0000002156 00000 n +0000002209 00000 n +0000002262 00000 n +0000002315 00000 n +0000002368 00000 n +0000002421 00000 n +0000002474 00000 n +0000002527 00000 n +0000002580 00000 n +0000002633 00000 n +0000002686 00000 n +0000002739 00000 n +0000002792 00000 n +0000002845 00000 n +0000002898 00000 n +0000002951 00000 n +0000003004 00000 n +0000003057 00000 n +0000003110 00000 n +0000003163 00000 n +0000003216 00000 n +0000003269 00000 n +0000003322 00000 n +0000003375 00000 n +0000003428 00000 n +0000003481 00000 n +0000003534 00000 n +0000003587 00000 n +0000003640 00000 n +0000003693 00000 n +0000003746 00000 n +0000003799 00000 n +0000003852 00000 n +0000003905 00000 n +0000003958 00000 n +0000004011 00000 n +0000004064 00000 n +0000004117 00000 n +0000004170 00000 n +0000004223 00000 n +0000004276 00000 n +0000004329 00000 n +0000004382 00000 n +0000004435 00000 n +0000004488 00000 n +0000004541 00000 n +0000004594 00000 n +0000004647 00000 n +0000004701 00000 n +0000004755 00000 n +0000004809 00000 n +0000004863 00000 n +0000004917 00000 n +0000004971 00000 n +0000005025 00000 n +0000005078 00000 n +0000005131 00000 n +0000005184 00000 n +0000005237 00000 n +0000005290 00000 n +0000005343 00000 n +0000005397 00000 n +0000005451 00000 n +0000005505 00000 n +0000005559 00000 n +0000005613 00000 n +0000005667 00000 n +0000005721 00000 n +0000005775 00000 n +0000005829 00000 n +0000005883 00000 n +0000005937 00000 n +0000005991 00000 n +0000006045 00000 n +0000006099 00000 n +0000006153 00000 n +0000006207 00000 n +0000006261 00000 n +0000006315 00000 n +0000006369 00000 n +0000006423 00000 n +0000006477 00000 n +0000006531 00000 n +0000006585 00000 n +0000006639 00000 n +0000006693 00000 n +0000006747 00000 n +0000006802 00000 n +0000006857 00000 n +0000006912 00000 n +0000006967 00000 n +0000007022 00000 n +0000007077 00000 n +0000007132 00000 n +0000007187 00000 n +0000007242 00000 n +0000007297 00000 n +0000079967 00000 n +0000079990 00000 n +0000080017 00000 n +0000094910 00000 n +0000094771 00000 n +0000080215 00000 n +0000080470 00000 n +0000085540 00000 n +0000085518 00000 n +0000085638 00000 n +0000085658 00000 n +0000086151 00000 n +0000085817 00000 n +0000086585 00000 n +0000086606 00000 n +0000086862 00000 n +0000088298 00000 n +0000088276 00000 n +0000088388 00000 n +0000088408 00000 n +0000088799 00000 n +0000088568 00000 n +0000089112 00000 n +0000089133 00000 n +0000089385 00000 n +0000090797 00000 n +0000090775 00000 n +0000090884 00000 n +0000090903 00000 n +0000091294 00000 n +0000091063 00000 n +0000091606 00000 n +0000091627 00000 n +0000091883 00000 n +0000093914 00000 n +0000093892 00000 n +0000094006 00000 n +0000094026 00000 n +0000094425 00000 n +0000094186 00000 n +0000094750 00000 n +0000094833 00000 n +trailer +<< + /Root 178 0 R + /Info 1 0 R + /ID [ ] + /Size 179 +>> +startxref +97134 +%%EOF diff --git a/figs/detail_control_hinf_filters_results_mixed_sensitivity.png b/figs/detail_control_hinf_filters_results_mixed_sensitivity.png new file mode 100644 index 0000000..dd156b9 Binary files /dev/null and b/figs/detail_control_hinf_filters_results_mixed_sensitivity.png differ diff --git a/figs/detail_control_sensor_fusion_dynamic_uncertainty.pdf b/figs/detail_control_sensor_fusion_dynamic_uncertainty.pdf new file mode 100644 index 0000000..1770639 Binary files /dev/null and b/figs/detail_control_sensor_fusion_dynamic_uncertainty.pdf differ diff --git a/figs/detail_control_sensor_fusion_dynamic_uncertainty.png b/figs/detail_control_sensor_fusion_dynamic_uncertainty.png new file mode 100644 index 0000000..3c97eb4 Binary files /dev/null and b/figs/detail_control_sensor_fusion_dynamic_uncertainty.png differ diff --git a/figs/detail_control_sensor_fusion_dynamic_uncertainty.svg b/figs/detail_control_sensor_fusion_dynamic_uncertainty.svg new file mode 100644 index 0000000..77c4cab --- /dev/null +++ b/figs/detail_control_sensor_fusion_dynamic_uncertainty.svg @@ -0,0 +1,397 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_sensor_fusion_overview.pdf b/figs/detail_control_sensor_fusion_overview.pdf new file mode 100644 index 0000000..73b471f Binary files /dev/null and b/figs/detail_control_sensor_fusion_overview.pdf differ diff --git a/figs/detail_control_sensor_fusion_overview.png b/figs/detail_control_sensor_fusion_overview.png new file mode 100644 index 0000000..284bb06 Binary files /dev/null and b/figs/detail_control_sensor_fusion_overview.png differ diff --git a/figs/detail_control_sensor_fusion_overview.svg b/figs/detail_control_sensor_fusion_overview.svg new file mode 100644 index 0000000..afac657 --- /dev/null +++ b/figs/detail_control_sensor_fusion_overview.svg @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_sensor_fusion_three_parallel.pdf b/figs/detail_control_sensor_fusion_three_parallel.pdf new file mode 100644 index 0000000..8292179 Binary files /dev/null and b/figs/detail_control_sensor_fusion_three_parallel.pdf differ diff --git a/figs/detail_control_sensor_fusion_three_parallel.png b/figs/detail_control_sensor_fusion_three_parallel.png new file mode 100644 index 0000000..832448f Binary files /dev/null and b/figs/detail_control_sensor_fusion_three_parallel.png differ diff --git a/figs/detail_control_sensor_fusion_three_parallel.svg b/figs/detail_control_sensor_fusion_three_parallel.svg new file mode 100644 index 0000000..5a5f28c --- /dev/null +++ b/figs/detail_control_sensor_fusion_three_parallel.svg @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_sensor_fusion_three_sequential.pdf b/figs/detail_control_sensor_fusion_three_sequential.pdf new file mode 100644 index 0000000..3fc93da Binary files /dev/null and b/figs/detail_control_sensor_fusion_three_sequential.pdf differ diff --git a/figs/detail_control_sensor_fusion_three_sequential.png b/figs/detail_control_sensor_fusion_three_sequential.png new file mode 100644 index 0000000..9bef48a Binary files /dev/null and b/figs/detail_control_sensor_fusion_three_sequential.png differ diff --git a/figs/detail_control_sensor_fusion_three_sequential.svg b/figs/detail_control_sensor_fusion_three_sequential.svg new file mode 100644 index 0000000..3b10b12 --- /dev/null +++ b/figs/detail_control_sensor_fusion_three_sequential.svg @@ -0,0 +1,265 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_sensor_model.pdf b/figs/detail_control_sensor_model.pdf new file mode 100644 index 0000000..0881a5e Binary files /dev/null and b/figs/detail_control_sensor_model.pdf differ diff --git a/figs/detail_control_sensor_model.png b/figs/detail_control_sensor_model.png new file mode 100644 index 0000000..6bf6ba8 Binary files /dev/null and b/figs/detail_control_sensor_model.png differ diff --git a/figs/detail_control_sensor_model.svg b/figs/detail_control_sensor_model.svg new file mode 100644 index 0000000..e44e8f3 --- /dev/null +++ b/figs/detail_control_sensor_model.svg @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_sensor_model_calibrated.pdf b/figs/detail_control_sensor_model_calibrated.pdf new file mode 100644 index 0000000..9a579cc Binary files /dev/null and b/figs/detail_control_sensor_model_calibrated.pdf differ diff --git a/figs/detail_control_sensor_model_calibrated.png b/figs/detail_control_sensor_model_calibrated.png new file mode 100644 index 0000000..7541266 Binary files /dev/null and b/figs/detail_control_sensor_model_calibrated.png differ diff --git a/figs/detail_control_sensor_model_calibrated.svg b/figs/detail_control_sensor_model_calibrated.svg new file mode 100644 index 0000000..cebbba3 --- /dev/null +++ b/figs/detail_control_sensor_model_calibrated.svg @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_sensor_model_uncertainty.pdf b/figs/detail_control_sensor_model_uncertainty.pdf new file mode 100644 index 0000000..63d4d54 Binary files /dev/null and b/figs/detail_control_sensor_model_uncertainty.pdf differ diff --git a/figs/detail_control_sensor_model_uncertainty.png b/figs/detail_control_sensor_model_uncertainty.png new file mode 100644 index 0000000..7ab5185 Binary files /dev/null and b/figs/detail_control_sensor_model_uncertainty.png differ diff --git a/figs/detail_control_sensor_model_uncertainty.svg b/figs/detail_control_sensor_model_uncertainty.svg new file mode 100644 index 0000000..27c3218 --- /dev/null +++ b/figs/detail_control_sensor_model_uncertainty.svg @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_sensor_model_uncertainty_simplified.pdf b/figs/detail_control_sensor_model_uncertainty_simplified.pdf new file mode 100644 index 0000000..78863f0 Binary files /dev/null and b/figs/detail_control_sensor_model_uncertainty_simplified.pdf differ diff --git a/figs/detail_control_sensor_model_uncertainty_simplified.png b/figs/detail_control_sensor_model_uncertainty_simplified.png new file mode 100644 index 0000000..2fffe2d Binary files /dev/null and b/figs/detail_control_sensor_model_uncertainty_simplified.png differ diff --git a/figs/detail_control_sensor_model_uncertainty_simplified.svg b/figs/detail_control_sensor_model_uncertainty_simplified.svg new file mode 100644 index 0000000..eb57d7c --- /dev/null +++ b/figs/detail_control_sensor_model_uncertainty_simplified.svg @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_three_complementary_filters_results.pdf b/figs/detail_control_three_complementary_filters_results.pdf new file mode 100644 index 0000000..2681e2e --- /dev/null +++ b/figs/detail_control_three_complementary_filters_results.pdf @@ -0,0 +1,1832 @@ +%PDF-1.4 +%ª«¬­ +1 0 obj +<< +/Producer (Apache FOP Version 2.4.0-SNAPSHOT: PDFDocumentGraphics2D) +/CreationDate (D:20250403150116+02'00') +>> +endobj +2 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +3 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +4 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +5 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +6 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +7 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +8 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +9 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +10 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +11 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +12 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +13 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +14 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +15 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +16 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +17 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +18 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +19 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +20 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +21 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +22 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +23 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +24 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +25 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +26 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +27 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +28 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +29 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +30 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +31 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +32 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +33 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +34 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +35 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +36 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +37 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +38 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +39 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +40 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +41 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +42 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +43 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +44 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +45 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +46 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +47 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +48 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +49 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +50 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +51 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +52 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +53 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +54 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +55 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +56 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +57 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +58 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +59 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +60 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +61 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +62 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +63 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +64 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +65 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +66 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +67 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +68 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +69 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +70 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +71 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +72 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +73 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +74 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +75 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +76 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +77 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +78 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +79 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +80 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +81 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +82 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +83 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +84 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +85 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +86 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +87 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +88 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +89 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +90 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +91 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +92 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +93 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +94 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +95 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +96 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +97 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +98 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +99 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +100 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +101 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +102 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +103 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +104 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +105 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +106 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +107 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +108 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +109 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +110 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +111 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +112 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +113 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +114 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +115 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +116 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +117 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +118 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +119 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +120 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +121 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +122 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +123 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +124 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +125 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +126 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +127 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +128 0 obj +<< /Length 129 0 R /Filter /FlateDecode >> +stream +xœ´½Ë®,Ë®ž×_OQ/p†2"ã +,_pÃÖî j٠ç!¸á×÷ÿ‘Q•ŒÓ{ŽšZu$`¯U\##/ ’Aòû/¥Ç¡ÿ÷/üOÎõñ¿ýë_ÇWÒ?ðëõOúù¿üuÚ?žú¯:ú9KO.Kÿã¯ãñïþšéq–úø×¿Æ8íŸþoû§Cÿ;“ýÏÿù×þëù§×ú7ÿî?èrÿ·qd]óеÿ£®ûŸ$þßõoÿþ¯üø¿þJ_§ýßãÿÕàÿó_©_íÐUòèë¶Ÿú?ü~àüþÀ£~•~©•ñ8þôÃÏ·κL>úµ—5ðöÓ.ïœç×9ÛQ{:ŸÇŸ~8p}àR¿]¥Î³>Ž?ýpàöþÀu|y–£]¯:þôÃûû·ù5Ry´çÂÚ~úáÀãýûüÒÃzÄö8þôÃçÛŸeÜ×ñöÓNÇû#ÓVí‘r~ŽúéÈïë®rŒûJÞ~úéÈï+¯’û})o?ýtä÷µW)§-ÜRŽù9þôÓ‘ßW_¥¶ûbÞ~úéÈïë¯Òú}5o?ýtä÷XéÝÖî‘Ëë™ãO?ù} VK»¯çí§ŸŽü¾ +«#Ùâ=Óë;o?ýtä÷uX;Ú}=o?ýÔy_‡µ\ïëyûé§#¿¯ÃZI¶x{yÍíí§ŸŽü¾kµÜ×óöÓOG~_‡µVïëyûé§#¿¯ÃZ¯÷õ¼ýôÓ‘ß×a½”ûzÞ~úéÈïë°.ûã¶ž·Ÿ~:òû:l從·Ÿ~:òû:lä󾞷Ÿ~:òû:lœó¾ž·Ÿ~êÖ¼¯ÃFÍ÷õ¼ýôÓ‘ß×a£÷õ¼ýôÓ‘ß×aºÄ}=o?ýtä§+ó9ò5lº {hÜ—»>þtåÍ1òxxüÓOG©oŽR^ê¨ü\ íÍQÚx:žüÓOGéoŽòŒüë+vò“Qþ@»0ŽÌ9¥t)F›Û/?úÔ C'føHõhç:þò³èÅè†>ئÛÌõX³ûågCÿ‚ÑÐyίzLm²imèí—Ÿ ýƆ–YT[}>G¾~øÙÀïI6ð˜_sjÓ:Ÿ“lûågC¿o%ùÐ2¼s={Ö†°†¿ülè÷Í$:Ùr?z}~ùÙÐïÛI64±š4ΣèµùÐñ—Ÿ ý†C·C{µ¬ÑÔŸ/<þò³¡ÿL—å2¾Fk¥Öã¹´â/?úÏtY.ÇW?kÖŠz®­øËÏ¢¦ËòY¾dz§–Z^CÇ_~6ôê²<¿r/óЈkèøËφþC]–‹æs3k‰¬¡Ã/?úµYNÚËOíÇó…Ç_~6ôj³D¸¨Ôy<­¶í—Ÿ ýgÚ,Íú•K=z*k]o¿ülè?ÓfR[_}”^g]/|ûågCÿ™6Kòª[=ë©«­¡ã/?úÏ´™Œ‘¯³´ÒÚ±føöËφþ3m–ZùJóÌò·æsèðËÏNYþL›¥:¿ÆÙrÊéùÔñ—Ÿ ýgÚ,Õöu´$«¤¼†¿ülè?ÓfIn—‡›Žë©Ã/?úÏ´™¼’¯^ËÌ£>¿uüågCÿ™6K§þ¤i!¥ôT)ñ—Ÿ ý‡Ú,¯~œò3æó…Ç_~6ôj3®%S¿´ãùÔñ—Ÿ ý‡ÚŒ¨U+½å± ¤í—Ÿ ýgÚL>޾iÕXk–Å~6ðŸé2¹8šÌ²ÿær=â?;¶ý3M6¯94¡F]Þmüágÿ™]T’ª~>qüágÿ™kõëÕ©gôqÿÿlØ?Ó`õüÒîpjXÏøÙÀ¦¿Jý’¥›dj/³$þð³ÿL{Z;råF®kÇ~6ðŸé.9Gž£äó9pøágÿ¡W9¿Z×kmý@?ülà?ô)«<öÑŽóåH‡~6ðz”ù«6™·Ç|Zúᇟe}ü¡6¿êLµ¤ü´Â?øÏôÖñVz3Æ~ºñ™1ö³ÏŒ±æ‘þ§Í|Çl?±«ßøÚÇúÖŸ¸¾Ÿ_ùwþÄõýäÊ¿ñ'®ÿTåüï'®¿­gRL8$§†û].ñ‡FýM"ñgFý]ñ‡FýM +ñ‡FýMþð‡FýMòð‡FýMæð‡FýMÚð‡FÝ÷ߌñ»¼äú›œäÏŒú»|äú›\äú›<äú›äú›üãú›ÜãºÛËãw¹Íõ7yÍŸõw9Íõ7ùÌõ7¹Ìõ7yÌõ79Ìõ7ùËu÷o?2Æïò£?4êor£?3êïò¢?4êor¢?4êoò¡?4êor¡?4êoò ?4êor ?4êúÈW1â^Ã|K|bĽxù“øÄˆ{Õò=ñ‰C|ø׿•CßãŸq/ƒ¾Ç >0â­üùøÄˆ{Ùó=öð‰÷rç{Üá#îeÎ÷˜Ã'FÜË›ïñ†OŒ¸—5ßc Ÿ1œ×|âú·ré{Œá#îeÒ÷øÂF¼•Gßc Ÿq/‹¾Ç>1â^})|bĽ úOøÄˆ{ùó=–ð‰÷²ç{á#†óÓO\ÿVN}|bĽŒú;øÀˆ·òé{Üà#îeÓ÷˜Á'FÜË¥ïñ‚OŒ¸—IßcŸq/¾Ç >1â^}|bÄÏð‰ë¿[ƒýGäS¯™ô6Fê{Ø=ƒ. õf*ÝÏÇܓ爟Ȣ Ÿ§“&-_ª¯È¿uŒÛ‹ÜûÌ›ü–‡¸ùÑŒÄY|}Îcüí3ò^(‡z¯bþ1oòqÌ÷JåßóVÇ|¯FþÕ~«‰c¾YÿΘ[1ü6ä;UñoŒx«‚C¾WÿΘ{ùû6æ[uð׽oc¾UÿƘ·‚÷8æ{•ïoŒy«tc¾WòþƘ·÷8æ{µî׶oc¾UäþƘ·¢ö8æ{ÕíoŒy«fc¾WÖþΘ{û6æ[õìׯoc¾UÈþŽ=·®Ç1ß«`ÿsróC6ä½J>Œùf¹ücÞÊãã˜ïÕÉ¿1æ­.>Žù^ücÞ +âã˜ïUÆ¿3æ^ ¿ùVIücÞJàã˜ïÕ¿3æ^û¾ùVü;cîEïÛ˜oU¿¿1æ­Ú=Žù^ÙûcÞÊÜã˜ïÕ»¿1æ­¾=Žù^¡û;c[aû6æñN…ûcÞ*Úã˜ï•¶ÿ|Ì[){ò½šö7FÜkØãˆo³¿1â^¼G|«ŠýèË^µF|¯|ýOã=qÀÏÄ(öòø0Þ[uò?ïV|¯@þç#Þ +âÈïUÆ¿­Ø+ác°â­’øw"M[ üqz§þHÅVû¾E*Þ)‚cĽè=ŽøVõû;>ÉVí¾¹$¿c©oeþN½û›9€aœÏûûü:Î9;Úäo&ß‚ û`‰‚þ¢Qè>êGâ ¿èºú‘Hè/Úƒn£~&ú½3èmÐDCÑtô#ñÐ_ô½ú‰ˆè/ZÞFýDLô]@÷Q?ýEÐ}ÔÄEÑûsõ#‘Ñ_´ý¼ú‰Øè/:~î£~$:ú‹fŸû¨‰þ¢ÏçmÔODHÑâó6ê'b¤¿èî¹ú‘(é/Oˆ·Q?uB| ”n£~&Rú‹N¢û¨‰•þ¢‰è>êG¢¥¿èºú‘xé/Z‡ÞFýDÄô]C÷Q?3ýEÃÐÛ¨Ÿˆšþ¢WèmÔOÄMÑ&tõ#‘Ó_tÝGýHìôÍA÷Q?=ýE_ÐÛ¨ŸˆŸþ¢%è>êG"¨ß»nƒ~$†ú½è>æ'¢¨ß{€îc~"Žú½ýç6æG"©¿È÷ŠC~(wn ¦n#~"šú½Íè6äGâ©ß;Œnc~$¢ú½¹èöøDLõ{_Ñ[ ëQÕï-Eo1ÄU¿wÝÇüDdõ{#Ñ›+óØê÷¢7ãþÑÕWŽvé_ý7ÿS9ªÜñ¯ãñÿ¬Ñ¸ÞsDœô#e½öÞ´ßÆ¿þ·ÿø+™ü_Òã_(¶jšõQµIÌ™òãÿúøÿ Õÿíã?=þñïÿúÿaOñÞu5¯¹îÙ¿_7Çër÷]¦ó×ø“»×fýÃ×,úÊ¿¼uA:„ÖÊ·ËŸß/ÿƒ÷ßJ±øfÖ-â;üÓëÿíß㟎ö÷~—:Ô¯¾Où£ï£M\ÿ2› ÂôýýiÔ•ÿk¾Ï?½~Nvý}Ÿ½´:Ú¯^Ú/†Éí«\Ãü‹®nÿ—¤ÊNôYøa0Á@í)5umÞº8Îá}è–¾f“ùbwQrÈÑxÞBýþ&ÿžAÏþÕ5ë/ÆlŸS3®jÌ_=gÿÔ˜I;Gûÿt|hÐóëdÉýbÄù¡µÊ1>ç¯>ç÷¡1³üéüŘÿöSo¶2ƒØë¿ùßhÌz|åó¬éWcþû˜ÿ̬9¾ŠýÛW—%ôø_—•“´Ç67užÒ 6Î:$×-p–Åøê3÷É’|ô6ÍQŸ2ëF­£Õj’’Î*£‰æbg×Va’–eÍ'¹À©§ÔOF®L=ssÁ$ØÑNfhü&k ŠX:CoÉ$¹—^,4ÛW•æ¬yÚ0Cï²'³¥gÿ:eÊŸ£6“ÈÊ®ÃÎPçøJ¼Ö4üj³¥ÚìŽR,=g®ÉgYÒSvó'ç´Ç–O2LRÊ‘ÇàjéÐ+çz©Ù@³iœœ\$p´ó(š«ˆæ©cцtä¯cNvRÒ‡ÙŽ|>%c&ýÿ2LRô×5Ÿ&ÒÎ7J#tl¢žrïvúBEó©¬Xº®=Ž™’ÿUýÊýÈTŸr À±ã¬Í$Du‡¥ÚP©žÉÃ>Hø®µ)TR]$×¾è‹'}M‰2À3ùM ͵T8èCB!±VI¦þUŸ턈3”™BœtsÇyLÍY%iK4ô R«”É?γ[ÌÙ\Ð;”‹d¢qjZÙªFä3°ÛËY“'Ù©ôÖ‹×^¢¦WØlY¥|¢¥<¶Å(êî¶²“6à<»T^³9£åSÚ,þWU“U[b6–¾g9GŠt¯cè]â@ÜêáóSæPC%ØT“¨g-îÓïP•UÒ»%ûè{•ÜDã+û¬™&Ò¤ÑÔð±äÎé¶4L¤µ.Mf*ÑZtæÇjýèá}Öœl“¯déCç¡u˜}™œš)g.gñÌ¢³¬ÅŽ(søŸÓìvÁsJµvÿȲm4ŽLމDÒܺ£2–hhž -,‘æqÖ6‘•í7ô“yÚeÚg6‘õš8'Á\j#©µGÔ¾øÈÛÆjUŸÛW«$¬n ‰¾v¯Õõ曩¿‹ÞN­¥Óÿj|¡¤µXm(] dŸ4çÔZÐ 6¿‰¡‡’6°e";µSs±ëir÷Qü z¶Îs$ûsæSËÓEš¯'ûÜA¾c ¿ žß®‡:Ör×,’n±o\´'é‹d¢Ž·”W“Ø”R¶ëeíIZñi‰ôå¤ ’‰NzÕäw¡mÉôªß…Þ„^Só»¹ÎB~E{€f›_°e¦u9M¢Å¯¯l‚A8ñÕo¢6}ÆóLK4xàu|¢ô_ùJ(ÿNvf7‘©6A;õ¢;›Þ_¡Ñ©Ž®ÕeéÙª9hGüšÝZ>~ɱk¸`ÒI4 áæR–ÈÕ Úu©]wøžEXrítæÞI¡±~LD–ÀÉÓDzýw>ͪ6&a?L”³”ÉðuÀ™–Ô‚4¦‰ô»ÔL^¢Áau"¬@;¾•¦üâyÇDÔ€öiA¿1Ÿ0vÁZõKñý¢kÔPu¬•¤í"'×@¡¶ä°˜¨Ûš5“Då×Òü6Û­¾²Ý¼ü*öÎvúm û{ŸhMË]ÖBÃ.8YXÙ¿IÓŒd÷œÝ’iQq‡±“œÒðˆ4S± \Ä]éúXïS–˜Þ¼I´7-5ƒDO%­å³³ioÒ7Ëœ¶K'Ý©7o_²ioZ³‘æ³Tµ%³ š|”éwÑô€Roö%Ûøò½ÎïB¯R¦àô±æ—¬}õîÙžÚ.4«m¬.WÖÖ D¢Ù´w«cÝp|Ë–ÖlBi¿ËKÄõÚH&JšÓšòv-¦¯"•(k2é¶ü¯´ÔØ0…%:çпùæÔ5õPÕRPˆª¾=EúÒ\~2/´R|¦IÀΔ±š¶ÕCŠº¹„ÿÐövH&TïÇô{ÐÎÄ'&YR"M‹¾Àôl9™l‡6°ÃZwØdb –ÆHLßàú4s\¬ :e‹J›hÁgĦ±£YpnëJˆ0d©Úà#_¹Ô»Œ1M«º$lX­ˆ°l¥*\t›\3c걟Érp°aŠôÃC[®6\i7–G5«\g¢,•q4ßG f¹ IÝ„”øX¢å˜HË@ûïÛ£Ã|`ëñ‡?ñpÃ|úmð½–× × sý½êÍû†4 s͸×F¥»=Ÿ¢Ë2' é”9âºQ.Ò²92"Œi»CùH—e.C­K;W×r’°Ì§9éz²ü’Ý¡œ¡Ë4—25mß‘$2Ûü %ÞÙ¢WjÙ‹¤³¼ls‰4±uü6šÙæ'' Ɇa¯µY.W ã<ËtE¤5rjÝû_ 3Îõì‚zéR n>H„q.s¯!Z4Í“w’¼¥—q.;èEOÛ3³¼%,U颎Hãj‚š*Ó~vçXOlÇs ˜Ç“ zb/ËtÐK–³ô²Í%Òûo=ùÕN3Í5/L‚¨-Üï¡\¦¹l1³ž–ž’å+­ÉDg2có’¼,sI4­tãg7Q3˼6nÂìc{Í,sIô«¾@ò‡f™Ë.€$¥«;HÍïo^–ù‰É¡;Ÿç\¢—e~bok+ÍfWЧ”E¬M‰ T=¹í˜’»a®Šˆ•*§Í®'_I»#Цú‹OCÙ«Gô2Ì%Ò­j-ù J„£iB³Ü/VúÐ|2Q¹ s‰:mÿ¾r–Ì0?¼‚Aû{‹Úe˜Ëbe`J›¨›a.sîDT2ý©æ’¼ìò“‰¡7ýÇe—K$ç__Ñô©Þäe—cë­ÌaX–³Ä†)S}"Ò×ÑJ·ä‹l.ú²Ë%Òfí%c‰Ø/õx&Ò2'=ÑEù²ËáOi0š‰ÎË.?±O­î·Q.»\"­7™£-ÑË07Kü¬Úíó³í> ó“U«e3L¥åÜ.Ã\"œWm‘ÕDý²Ì±ßõ ºïéÍý´Ì%Ò×ÒÔÈi‰°ÌëÉmØ9˜nq½¨yYæ˜ý{“%dTËÓ2—HæÃÁ–a¢tYæ ND³)ÝÌ}šæÕe}j-¶%z™æÉh§=“Í [Ú9Å)8iz¿îG[ÚêÓ4ÇÅ;–ÜÕ™æe$3¸ûêׇÅ*j(Óâ- +[Îm‰^¶9~‰ óê»zÖ'Â6Ç’È/Ñ{.¥6¿àxÙæ=sJ+ù„×óc›ã2 ÂUÒ굡xþ§q^xx=Ôp&Ñp×I"¢šÅL_iõË8/xúsW\º›1 |ižøHçešËÒ^Q¤cýÊešëŸ5‹±aó½Lsý3ûF=üyå+éqÑ, +´º3ßÑDí2Í%Ò›`b¹¨_¦¹DZЇ6Ïs‰^¦y¡Ÿ¾ ’„ý2Í šE&ײ¼¥—i.‘öa½ +³‚ä&^¦¹DÒÕz5¶Õåš.Ó÷Mú2¹ëèešK„½Œ½`¢|™æÉÐJH~Áó²Íu·ÒRÕÃ/XÌ6?ˆëlmô²bMT/Ûpœzs¥¡«e%肚@´»–”»ô2Íyz}‚‘¿Á~™æi[•~÷WX‡™æRºÍâÐhíéÓ©N3ÍuTZWÕ\–àe˜W|w©ÖêZAÎÒË0Ç÷œ(IŸi-™aÞPÉò–>wIþZ:!#Ñ@àÙ†’C„^-Ú2tžÓG”&™Kô´ÌùÜ8–›e–y€­4À•q˜3§b–¹>3–S{¹;Žz—e.ÑÅw¸eµékaq$"ê—Ë4—¨ž£Ðÿãa¦yǦ©Äˆ·˜…HgjLs¬Ó>q×K]Ÿ\.ÒÓ4¯–¾;äiŒ%y™æxË(Ój~FîéË·`ÙÄi§# ï"‹aÄTDS"»)%éeškfhسOצò^¦9>vÕ¬ô LD˜ær¢"M@Ù¾®3å#ñÅŽS™·û&3Öÿª]¦¹DÚ‡|Bÿ«~™æxæZºÉãöz¯3—mŽHÛ}!,½D˜æZ4ÑÐ\ÕNè/jšiNôè¡y˜Y Åõ©Ü¥—i΄ñ}ÆÊ]z™æxú©ymþU4Ü`g=0{eZžnQ_cÞ—^†$ZîÊ¿±Ü¥—eNà ^åÊ@îÒË2of>¦s©F¹K/Ëœø€nN©}.ùD6×¶†¨¢iºOt‰°Ì¥Þ3"¾‰^¾_°_–y£ÜJ/fí Ÿ«jFIUÊ(ÍU£Ü%®G(•¤7yq³øµê©ešKÒlGò¡æq™æ›•®šÍEÉlsŒš†["£Îc÷š"_K›VDÚ£e˜›å,½Ls­³L}Âð÷>ÏË6g 2/Õ/XV¹LsTD“róS9J_¦y':­í¾®Û¨f›bz_©²£Êz®f¶¹ì‡ŒHSX¶Øð¿ê—m.푪v»nÛâIWög̼cKÈrv½.›ÿËÞ†&šô}òõƒèe›wB²8—~óé¸ls‰ä r$á¢tÙæÄlôõ_Nels9o²â»D´ï˜îG„m>Ùý¥ŽNÂ<ž¦IåèË6ïÖVï¶K\¶ygãnòÜL;É +0Û\Ÿ}<\‰Ö‡‹šÖõžrsÑ¥mŸAô²ÍϨ©?-£QËe›K¿iÊ›h\¶ùà «“¼`¯WÓú&‘–û9=Œ"-e¶yæðZºOKŽò’s‰^¶9Q$©úìÊN¨–i.­H¸Z׳{·c 鶉†üM)fšON.&’®gªÿ$Þü ›Žêz[±D/ÓUª]Ý-i*ˆ_–ù¨óòCž´[Ç®""5_fåInÍG³ó·Ã[9ñ—]. «¦ ï†ÀÓ3hnÊós½¢ivyâpwûŸÒŹ—™û2̉bɵ%Ðb’tæR¾2FäeøÓÊÂ0çÝ"ªüIs‰0£Ùe¦²ÏŽÎ0Ñyæ“ý0Iùš®;ñúŸ†9IäU*çð刓þ4Ì'©úLÕG„aN¤‘f9Ù.jf˜NÏÐôƒ³ÝìÏÕ/Ã|rDD´Ú'»\¥—aNZ[×0¤ {@5#Ò?¹ú\’hZéœ4?…Å2ÿŽTKr ¢zÄÒj«ÍXÊó²Ë) ˜¾ ðÒžv9ùÄIÖ´Åß:ˆ§I;këз¯š—h)ê„H_JÎ÷º`¹ s‹ÀÉäIKT/Ã|²Ÿa¡˜]râÏ< óIÐXÚø0_^ÎÊÓ0Ÿ„ã©O} ^†ùôÄj©z›3=4UåñZ=DëÄ?üjó²ËÉqЇÒGèöWæ,Ë™)ö)dé2ÍI€Ð4˜Ãó =msDM›”ü {ó²Õ1Îí…NßËôÍ‹üi#käe¶õë +—yN~„ì+½óT5ì§Æ«~¥zÙç¤L”~w³wP&DÞìG«‚}Ãï®_:ù‡æ"ßÕdãe¢#’z˜£œOÑËF·d )“ÃtyFf¤“‚ˆ9£9j¢v\F:é)-ÝŒÏSfåËJGÆf¬[±ç•ñø2ÓÉÅ‚oÙ=d/;/–d‹ì4C]Ë“¿“RÁ>ô0ýtYêÈ*_óÉ-ƒïeª[‡´Ô½1,¾§­n5E•â ·60ìtëN"ÇÁ[¯ÆÒ†yYëÈ*õð?—µN’‡^OÓ«³×æe®#«œTß:dW­»Ôl%ª©Ýöp,ÑË`G$ÿ¬¬üˆÃêi±“¢'i»=±žž{²üÀä´»ìçe²“rØl>\¹lvËiå˜n¨"{í$èÁ´8–¬^V;2¼Ó¶v2Ìš§ÙNú*@çÐ-”:Èq@V ÓWuÀJž–;¹%‡6Î:²7.Ó¿Ëûñç›/Û¼ÎÊüÌ[Öîe»[J +>nö©2’拓I)‡ì­ä¹AÈ^Ö;2ÙvZ¤\•ñó2ß-aEfsòºÈ@/û=YÎîëØâÄB |+µôH–Róqúv¢íþeÁ#ÓуOÙˆ'ŸEÿa-)ùxí2â“ÂK!–éãõËŒ'ÙEïª ?ˆ8µ¿ìxdĩۚšìàOCžt—¤Mû8ûaï–clÇ­ìnnãi3Æf$цL˜¤×ÜÜ÷;ÙŒ=&^ž%“‰ÙËÔ¾ú2åI“‘aزWžó4[¾w{+,—…Àƪk¶l/EÚNæBõ£mÃfÌË—(&ÓÔEÜš×.ù²æI¢ÉÒ7)Ù Ñ9ÛeÎ#ã¯z ŽS;ÞËž'ÃF6±ôX]¢—=ˆç2nç¸ìy’o4°”žïrs^=2yK³ û»ÂÖö´è-3GÛÅÊ'@ö2é‘a¸kRU“¥Ë¦'7‡]e•VË&»ŒzdÝ2^LïË“0«¾jö?HÜÑÓÒ²-HŽÆeÖ#Ó¬ÔÌ6Ýìe×[VO"ìà·R/»‘–¿´~÷áÚeØ';Ô(¤øpÝ,ûd%®Òɲ šo @°^–=9?ZÕ©z¡$²—iLàÈcú]Î˸'!è„BÑmíÞ3ó$|Y<ˆŒ(]Ö½e ÍmE–/ûQy-ú¹d/Ÿ|!ý•”Êá×"Ùÿ29³¿®yYúd!ÉKÖ´µÇF>-}²ô/9y +k±ÌÙeê#ãoX†&K–Ã7y¢tÈÚ:Ü*$¢=}dúà¥{¢FA>­}ò—\"Ïw@ö2÷‘Õgh Y¹ì}KoÒõ5Aí=[rÉ`Í'“É“–i½dí²øIpÒnQçóùúeò[òÓ¡9z¬¿ë_nQ7{šsªýnýݸ¬~ãVæÁa¶ÿݼÌ~r£4ͨ/1gåZ”Ú¥N“i:É®ökžÉòòÀ¼‘¨”÷³}²W¶ ²ÖõVÏÃÿ._¦?¹S²ûdÑû7’ºxÙþ–W5µux|± .°nïÅ,ß“#n¿ÏzmýÈ,­Ì“—‘½˺ʤ?5¿Ïv…æ‘q¤8Ëá×ìÁ},-ò,=-$¾|BÉ•ð‰íÅΟ>€lgíN¥z–hñã=÷*G˜z Óª< uÏ= [úÏ85=Æ"}ù„Œ9¿ó¯~ >@åÐqLÏ©Ã˱® iR§;ý§àX— yžžÆQ¨nzù#5)"W²œL½\³Â%ò³×RÚå÷­“`w^¢ËhÝä?õÑú§G† ­Í/9‚Гèªu½§|Î;ܶk2ë_>€Œ÷‚ÃzšMŽìòšu´9P›,]ÁzRÇ +Éx~Ô¦•|ÉÌÆsÝVÏàx,WZÃöñRKp!6©Ï0EöŠ×“X&5*»Û·,:^.IgäŸÓ¯Ù‚`ëÛu)íåH†2]©Ä¥Žà·•ÂâsÉpôA5}p´yOwÖ&œ€N¦Öj·xª´NðHXËÄG\k´¼€nµŽsa²l^©¼RÖ´åj:Ú™ ²Ë °ÃmÁOÙ¼¹zMv"_ìK?½€Ž#Ó†âÈjðºåɶó Ï×$‘…)QÕ°Ð1¢œá,Là{SëæXm2½=Ù7æ¦ÉR47`{-œ›Or¨L4¯>¢Jªÿšœ’]^Ž‹^Ðsñ×åz¶·ÒÑù™Y`²dn@íöV†µtÐcØ[Ñ |Åñ‘5* ²Ûvý n@'ã&qš4–ìr½fuÝK17इ|»dY ¾0y²¨AÔNr'}}éi//oHŠ4{^ ÜÈË l1$ø›&ÈüŒç[¢YuÅÜÐÂ=݉˜(ZÒ~ÉÜyJÒ*z>»¢nìò8–ª'}7ìψ +?#ú¤ñq.­s,ÙåÐl¬Ñãð¿ËÁ ÀÁªØ&9ƒ0ˆºrº5쌜‚­ÒÉóßʨæd*$ ·žÚM-<†ìòˆ·6²|[-¸\¥´HìŒܹeü]õ(rá_-¾J7™¶ãIÝÄ’]nÀ°9Lv®¿ÍÜ€A.¶¾ãéSLnÚåLÝç©Éool¦àL;×^³þ.›@®æƒÌBMè¤>—ìrÈ:”áê©ÀÒmÁ àdzøšœ%x“©¢Kxb›–ÜåpÆ&+1–B ^ÀÄå•)ì‡?È./€š®ó”¶s˜åË ÀE ¶–ü´—0qÅåÝþ 䦹ep¸¬q´îÅU®ØåØ}òïÎ%ºœ€iß¿îEW¢Œ/'Çr2ÇlÙÕ#'@²:HuÑiN@&¦c9ú¾+ý²6|y“ƒC™“ÙŒ)d—0‰¤å<|ýÔ£7€s?ÍÊ‘ºÿ]37@:€ò2²|°‰Š‰zH’?,…ŠŽ{~+ãòÈ’Ôzd‹íKöòUÞユ8ÞÓðìÊf dé0?@ö6uJç{ã#í‚!SþÀÉ™d0—%{ù$_‚ÃüéžË@&vKl²óòÈÌÔ¦¥–ýïÊ—Û2dE^ˆáG…Z7æØK¡Ä…ºCsö‘pX?8kFÆyfœ}yi/'€´M¯Ç;}°òå©“«ÞûðWð?›Û,{èpѼ‚ÿˆô~4áLy#{EÿIøÔ2ÐÔ0·¶fË7°^‘&ë²fÏa¶f¥ÊŒ¸ÚÁhTÎ Jsl8 +Üb.&ë2S/I¨Ù’ZŽì•ƒÒ7äÖÙBveÍsö©7¤…æWBÚ|ò\§éÕ~Õʘìä¬[Ñݾ+~/Í\€lnÔ3ÊpŸþÂÈa7-l%n„C¯áºyšƒ‘É# -Ù¸Žiªj×ðEB^õÓ@&G«{EU%JôJŸÇ¹×?§mæDÚøIÿVªºÖ3… zŽYõÞš\f%­œCe“ ’;N³5êiE­¨rwQÌ9óá2+kEs&“éê°ßç’±ïŒizZÐÒ‚zf¯¾ÎÞ\Jèl— @F«,&¢­þW=äÑ[¶+ùǶ]é3†DzB´rX¥ÿú’½\d•ZÕœýEy«¬Êíè_ОfˆÅ\Ý·‰d‘`—,^ä*a5'øÄ&³*Wí0©Åfy–%{X­ÆõˆI-çåD›I1óœÊZb¡köðpòÄnÝAȧ'hA÷k?ïeýò5+¡ñùP¼Ú•úNN“õ¾f]wâÅ®ƒƒ9dµ´géþ ³ÿ–Žeæb0x¡i-^ïª9Ë]•*ô¼¶Zë [ã‰]u.ÙËþ'o—¶§cÔK^©:i88¶«jÆ\ö?I½R x6ûêyÙÿÈçŒÓ÷ÀJW:ð?¤õJYQí`Ï^­î•¬§a2}ƒâ¹’µÖËþ·l`\æé +½¶Ëþ'Õ±²jí—€ld +{^²«ô•-kéëVÆëQ£Ðëßj×1yÄš +­®=©×12}=2Íìm6+åež&ÓæE™l^2ìÿbºã´ +M²Jüïòeÿ#Ó}zåã/ûŸ d}Eœ<û­\ö?2m';ŒÉb ìié Zë£Eö²ÿ=uYjÌmÏÚڕЃL‹füðkö+£‡¼æ“ s_xÍ«`ORuª<òVÛ¼ŽÈlös“—ìådK‚—ƒä±])ÖË@&Ë Oî–*aQ\]‹Ø,òÚc%¬%´O9Ô~^ö?ÉÒrp¤Q§LûZgÞšŒ#W?ÜÑžbæ_oö °Û™C®º—ÂZ­61fÌÉáê­·ë5[Í“‘½¬Ò¬Ñòò[í•ôX ‹Žlg_9¯ÚæC9,ñg©5‹w ›—õO~¶\Ôì5ôu—ñŸ­Î•Üe‹ñ!Ãø×Š£‹Žk•ÓËqdJ~½*D‹•K™º©1¬$–xU1Ù íËkÑë8¯ìËú¦0lÏ£\æ?²F–m-KtUÅ’ž¸e_=£^Ö?2})ÝuÉö²þuÙ_Ý—øè—ñO¶8=dsùMze,ÉŠ&“óáq$Øþå°*LœzgæMÔá…±z J-›•—?šªó¸²|²åkÉM×m3ÔÆ½“éµÊAõæCql!Qõy8è*Že×h‰Ú}——åOrúA}ÐóNJ°ü ¡­#¯¨ÓêcMŸ™Œ¼F äפ@v]ÎÌ3Oc¢(–lYéÉd…´tø#ô+Ý'[7U­¢¥.g¬‘e—šœ®ç‹E²Ÿ‡Å –ì2ý+u±Ú0«ùñ2NƒéOhý âÆÞK;R0ý«i‰ieÈr0ý NñIf·ã|Ùþ”+ËŠ~>ˆä²ýÙ‰ùÂÒ#Ûߺ×ÝAó;Ùje9 +Õ&ßš?˶a×Äô]Ñd^-[íÁOKºñª?$„ÿåïÿ„¾ò\6Yq_fYáÒ{¾?Îx÷;±rYâ§É|ÎúûJÇþG¦{ìÅ“ï[JWøŸjÊY»))D—éÏÎ]Hª.‹³•¤M­Ï'Ò¦¿võ¤‡³EÌkfG£©AYÌ?Ïûn©ÛŸ“m=§g$ »lÿj½£NÓÝòjƒíOÆNùãõ`û[™w&#Æe±vV2[«W½šyL‚Ž6!y §ÿŒÉ +ÉÜ–+I?[bº\n¯Øi9ãŸÌžá©>&ËÁø¯ðHµ¬Yžs0þ±V²+“—ñ_í¾´‘™éÜr Ö³äšT=AµåXE‹‘“¦aéMËhÉ$Ò=ŸÇº•¬;Þ çC÷¿ë×@n!ÁÙ¸¬ÿ•€”ÜúoyëŸÂw;‰´³G°þ99!Òø>`ý—i‘×\>S0ÿ93¡áÊQýïb5mósvX·3VÓH§ÎÔíÜv–`ýS=Rä­ú)²Wü™6T):Kjg ö¿›wòÂü-ØÿäPIá×âÖƒùO +¾v•åÜ´sóŸ>åZôFZ²Ëü·˜¾v³³ûm†¢Z¯eÑñsðVŽ`þ7‚Pì ®ÛJ +æó”íÕ‹Ù3ü(»I„4Q‹·óÕ æ?iÿƒNöRJ Ö¿¯Ãv>“…âÚl b¥HiÉ.럚]{úùž†½¬Θd‰ŸžWÔJÖ?öð `ÊeÁú'çL3Ÿ6 &›ÁúodMÏc~d—õO¥ÿMV`ýcc3M§yòRÚ—õOÛ™ühQ(³E6Ȋ̾Jj¨³E¦cPC³d—õOý›™Û­–`ýsèR&a\S¥µëŸây*ZM~/-˜ÿÖ¸óòÓÿ®ó¿¯u}.Ùeþã'è/#nuóŸSžÙ) ô¿ ·Vê¤Í£ººmG0ÿ›ÂkU¸bi)8ôwyûžó†ìrpK¨ht/E_ð8T +¯³—@eImÙ7­æE·Tš,cð{øÙåtNý˜J¦À[¨ºE¤}'M‡Iè‚`GXÒŒ^lÓZYˆäº{æmk#xv®(_Ы£]€U…ËèsºÍËèeôÚ½‚¾õ#xøcåð`&2«½Í´%0Y¥:*»âï9x”•þ@Kv¹4å8Ik1¯µõP~‹lRšë}•¥/ [ÔP³Ì_t¯ÁÀ7Ô(®{ .çzh^·¯‘]N¹™â ך½/€UéZÒßMæ5¸Éútú¥ÓkeZŸ—Ð9“•»´ÖÖE¸È8ë¯Þ·ÙåØ-E¤¾~F +^§Ú™©.0Y^¤mÙͰq/€ +¯oðk–àÐâD–Öé»Ó(Á àDxhóî*R’Á èØ­R§Å_ÊոȺ Ó»ò´Êq‘I×ÃCäÈ\ÃÙT!¬¤e‘ì6¾âÿy¨ÖEF5Jõ|å~Ìà ëôdzʈžŽàpæO{4oZ†ìr,³Ðf—lŠËèÍÛ›Ì=…’]d² eŒø—I¡f×dé'¼Šv­àVK y_#d—#@Ç¢ƒÔÜì·ÊvMVugyýÕíj>utÝ]+’ÉzðìÉe#x¨ëüœ°ˆ.GÀ49ñÈáJw‘M92©˜Ús¨ÝÍ+F§wmÃåP¼KA±L•éáÛžsp]™+È.G€¬Ì6ü’^¿›û°¦‰qÚWÈ%8’qæÛÜ`ì¹OY§?û½„^«{¦ûЧ9"»<dÚÃ5]üïBo¶¦R‡šÞè9Tñš¬Öj™ÔÈfðéÒ`ç’½<ŽQ­ß|¾Ÿ^ÈKøße+jo²<öZªÑÖ’;spl¦'çtY(æEÖéq>E—'€ÈO„í.Ï«š×DÚRè1k¢P΋LÏù,æîÞÌeyV¶©fö'èÁ@öLKs}5º¿ýI[Œ~Žà “aÜÜzèç¼<«³Ð{*vˆ#×2x´¯|r=SpH7›¥ê²Ë °*xÙh¹¹,Tõ"Kò/ WBY¯É¤¥K³¨‰.Üd F=˜ÙKð‘eš÷žu‰./‘ìJ½ ¿•¼dš(Ò§>\(íÍVËGõáBm¯É°ä¼GE/3¸Èdu¯­Dv¹È&a;W¨õn@·,ëCÏnŸ¼¦àpˆ·ÐY½æè]ˆ¹h6²àh{8 .;£`mtd6Y( ×½€AçÁvx¿”^kôH%©s¸­Õk‹^À *fBª[²àpdn-bìE×¼‰Èåj¾ êˆ^9N²—²ï$uF/¯ÐfM5ˤ¦a…?º´>Á‡ºdÁ ¤§æíøzKÑ ìpgñ#­°à \Hž¶[igôHõµ‹½±V¢@´„SP³‘¹áº¦Êà¸ÂCÛ½y½ï 1Ðdµ¡ýš¡ä×dÔAéè­?€ª< @4nôä—yÀâ\²à 6®×nѼ췷5YäŸÊ2sÍÞ½îÒelh3¢õ‚,ˆ8ŒË†>Xþw^ú{Ú¦f èyš—ˆãâ¬.“Y×—ùÐÏè˜KßWàÞKô¨4}uúí½F?€Ã™\ÉüïÞCù¯Éðd¼§›UðòÈL(lG~Ÿ=ú$ÕhUz¾Rï#ú„nô–º/ô>£0I¬´@¥‹‚0¿lÁzHSk5ºäôÉxp¼Ý€IÔlÎôÓ7nÀ4Ê`óƒ¯>B02º…­à6²àPÚAâHwY‰~™é59G~€dRü«Ž²ý¢€Œ–³æPœ¢@Ž}~ÉÈ‚ €ÌÍ“åà°•ZÕ _òŒ.²AY©ßJ‰.U'jÏÞJ®Ñ°Šmºç\²àL²å½>™U7Ë¥rY_næÈ=x$"ÈžÝGÑ@ÖéýèWœÑ  Ý8m³FœdòE²¯ÙóˆN^3`BÓHãLÑ @VÓʸgŽN²ù<—ç€iݱü N/–°žŽ.|¾w޳D€jPÚ˜Jg>2ÊúüÉÏ}dË"CÖ£@ÎëiïaÉ‚€L#.ѰäFúIÛT9gp:ÞØd/GtiO=ý‹/>ϵSs3ó’¥è {õW%G'ÀâôÏÛ­”3:Ó *O½Y¼ -°dô+ô'/^¬Ç\÷r%BŽâÁVÀe²z}ûz™}l^@8•uZ¦öcyÒ¤«Blø³^^±¾îM3Ç8v/@ÊR +Öm ‘v/@JìYL¨}rwÆE k c”¬ªËߢAéDö RXš‰œ–ñCŒ–UwÒð[ ôÆÑ²¢Ð3?k¾"HËkI-b¸ª@ÒòT©>g”–®j¹{yIdi9‚aæê'u¦ee²4®8çhZV]Û^§"NËŠr ",6Öˆ%Ç–Apr>v –•_¹V‘¨e•Ãú†û^RË +Ži³Ð ™ZV¨L*ÏD¨βfÚj ¾aµ×BÙ¸ZVP½RÖ7°–bÓk8µ!µ¬~[꣫YËʾ ÏêÈŽÈÖ²rñp#­eEæ™*GN¸–•¦§äyŽ7º–•´S˜™¼ïÄk%Ï1“³UŸ²_ ™¼ÃgJÇز‚{½“Õ½e#lY¡~#ÄÙ"±eþàÆ¦¿•Ù²¾Ÿ#qˇL7/7ä–5ñ3'Zæ–5*éÏʆ¹eýMzÎËDÝ [Ö…DëÃl‘ºeýTÚ±zœnÔ-º°TãH,ÄWÀn!ã¸9{ÝÆÆÝ¢³‹l\}åó‰×z5øG& Ä#?nè-gYQ´âh’ÈÞJÖOÞ« 7øV*Ž¢ky½±€ßB浬þ"+Y•—>«+£ÈßJƳm¤ÿPß\ÈÚè/BI„pñ¨]>‹C#… ™4Ÿ¶H_çÃÅ«­_Ûzò‹ÃÅך¨%BE"‹Xºc¿‘¸˜ß·–o(®dµ:½x6oDq1¥ø+ZW=v¢Èu‹0.&0÷¨·üÆ… 2Þá‡ÕŽ+Y[Píxžj´ñ¸X0z•*ú5 ™>A_aÈÈÅ„ÕdP7$2N鵑øã&ëº&k<ü¸1¹LÐk³}‡r%+>ËðºÒãFåB¦¯_š—nmX.4“l¬zxGåË•¬BU¬GÛ60ÚN둜gb2²CWœ~켡¹’³¨ µûŒl.Ó¼hè´Æ hl™SsõŠØð\ÉÚÛÂBò]-ò¹l ·`sÄSt!“²å`ÉeÐe]ïìx߉jÑåÝòdš,”OdtY—=}òâ)š¤Ë69#–Ç ÒÅÖh4$o ¹Qº‘ÙÜÑÞ0]ì¶`}Yø¬ÀéB–˜}É^ .Û¿ «{«äHêB”©_ÎëÙª+YsdT¶cõ"«+yÉnÇ>Ü`]X ´ÂËÜb‡fCwÓI =`Ë Òü¼3øìBFý¨´•±± ûˆlìáõWÙ•¬J¾SèÖ7f× ±ì—íBvJ§VEoÔ.,<+‡ó¼ô ÛeÖßu>±q»°g3Ô“éõw!+“žýn`Fr—uÕ›Éõ}DwY÷ÐBìó»Ë¬[éß³.ÈU€wY·Ò w³=nð®d„¥D;«oô.ìlª¥½óFïB¤¯©µä°­Po€åÞvtg9F|2?éq[*ò»ph¡P56¼«,}ÃwáwÀ ZU$¿ ÙI+×î_<¼’µP à&?á^/‚—ù9¶—Ó# ÿH>ÿîЭÀðBV3}¦]^ˆ +ƒÇwŒ—µñ¥Ñ’gPn/kÿK1¸¯àäemƒ ,,:PDy!Ë™2Þáã…r\J²Ú‹oÕÍ Ù)%HèÇ ç5½‘¿ã~#Íkr´bÙQD‘æ…Ó«ù¨/êh^´ Ñ,9Ç^EšŠ®û^’i^ÓÒ½ θ$м höO§ân4/ºMkf”…6Š4/šov2AüFš×dfeÌmg€š}bÖöò¸Ñ¼ˆ6pžæ=#6šgpÈÛº` yM…’þ}½l~«˜,œžûœ×ô²þì­6œ©½²s}¼Ñ¼h6N9Æ/h^Ö¢œÄïÄ +4/ë¥ú"(n4/޵9NŸþµ"Í‹f>²5υˉ4/zYrÙñ}½l}ú­xðãFóBáÑ8Í-œæEg"ޏ§»Dš8¨/~.³Ñ¼(§¥ãFýó²†I¯>ßÌ‹ú\`!ØÙ`^ðFÎÓ¼ŠÇ æE½/'¦®©6˜×0ƒ’äù¸Á¼èuH¯g_&æEs):LN7Š0/oþŸ=É+²¼†E{Ž'T*²¼HË  ègË‹þÂzKsÍÜÈòøf?v”×05ÆIºßC@y ¤·æ¡à åeT…“÷ü¸¡¼(`ª:‹aCyA¨IÉM’Hò¢!àÄ"É Þ \‡á’ò¢¨¡by8v(‚¼ìˆ"‘3í"È«{æé¨× äÕíD({C›ãE.ÕHÞÄlãxu¯ÔL~ª¹q¼,Ûóuê²q¼ÌTËt:ràUàx‘à[NëÔü¸q¼0þ:ùïóqÃx‘M“2O¶Û0^$7áÒWtãe]ð°Õ +” †ÏÎàٜƋjnm±Ÿ¢Æ‹Ú¹hãÇãE™ +ÆÛ@m/ë ‡_o7r¼°­eYœžº8^£Pð6}ߌ/ªbØCÖr‹/ +m8P_`œÈñ²²ZúwŒ /gSÁŠuºVyQ—D<ÍÛ–DŽ掛‘ãEY'NfŠ/K¥›¾ÓÜ0^”~‘ºt.øW‡×ÓIH÷Î`Æ çèÙðü†ñj–mVVÆæ†ñ"ƒ‹Å+ ¯fQY¡ý)yYëÍzk?; +m/jA~/V( °VŒú¿²D¡"€äÅ¥Öî^ÄxqôÈö>Æ rl!Öäº)b¼¬·”–ð7Œ–½¬Ž]‹/€Tr?!==n/;äÔŽ¸ÖcÄxÑ∎ t1^ô€0cñ|¾^‰;TÉ5)^É¿a¼Hu³nýÎ’‹/ΆhþDrŒ¾ ©‚Œ /CpõI[ÍÇ ãE øN™¤«Áˆñ¢õàhtuò/D['áDŒ—5Ä`"8Ò,R¼(ÁZ©êâEÚŸ–^>§+ä쟘\(®²ˆ¨s9„Röñø +ñ~Gçè¹y²N`í¿ËOš5G—(à»hž/“mAî7zM)Ü®~[» 4)/4ÚÐ]Åškù;¹‹Ê5Zïx#ï Ü…ˆ l:»*$êkå©ÙáP¨HíBD¤o¬¿ +iúJ˜Æ7£Èì²–b?ÒEÙ…w-kþð¢Ø…ˆŽÍÝo=ðºŠõP¢ƒÇSôJÐGDâ´G7Z4²ú“¿¥HëBDpßÌ Ö…(I±¤ñr½’óé¢öJ¢ØP]HN™_èÝH]ˆ¨ð¹A]¤p4[7+pºÊVðºaºIHÿ¤ÇÒEI#ͽCÅéBDk»±˜Y!%ß +!5ÚñÄp½2ò‹2ž¨Ñè"/wÊè]x«ÈçBÄc=ÿêÂsÃöÐ=Ä$Ï…º³×zmt.KÖ´rŸlƒs!’éµú|E6gé«èã†æ²cvÒ9ñ*äá›(=)ë˜ Q/œý}ãr!jLWGËe"ö·‘Êe¢R]ÅF$— Îê%ç‘ËDÕcÿËÔ[ø8Çe÷ žÈ†Hã2‘´Èú†Æe/‚h½O²Èâ²7kEãqcqYÂNA¢¼Bæ½})Î~ýûF—}ú‚®Ü8\H€ ‹®bèvž† ÛÍb~ +Ó™Ã9?²Ü \ˆÈ4ònrƒË–íAJ+ ¸É~Ò:¹+$ܳLz¬æ À…5é9hËqEè6kMñ[–䑞Ǿ…ŠÁà;ÅFß²Æ(y‡>DøŠŽ#NocÙ[¦J¬üÞCž}±wò}#o¡‰s–ætJVo™¡`€ÇÇŽÝBåëKy9ðÝ*–Ñ9’y7æ»ËáÐºÇ ¹…<ÖüÜb#ã¤ÑLµ ·…r¡¬n«Øé<É;. ‰õˆº7°xÜ`[Öå‹™Ó "l«XI¸”·c#k‹Í¾v6g~ÔV±\™’ç7Ô–QªL©o¤-3À¨R¶µ³¶°iÀ×ìL¬P_¬¸¼c¨B>½åYýè“Àõ²Æ‹Ø òc7ȦZ6j­‹c O×.ÞBpCl!‚·èM‘°…ÅØHÙ1³¶ŒB4[s¿ñµ°9µÈ¦w|ÚðZ»2:ÎÓ¿d¤kYÊ!© hàZVCÒÆj‰´±µ0Ç­§ètQÞÌqéä´ú`od-ì{šø.âFkYãSݬ7"ݸZøú uab"V ßä0/øU Kí<¿Aµðƒh=‡žD¦–!Ê´Õzû¡ ©…Ï%ócí±µª¥ª“õ쀩Ô½£‡Ú¯EžÆ>‘˜Ô]’çñ$ìRÜíô&3Ω +4-œUZ;O‹m0-zãé[oö»Á´pŒ'¥U­)¼ÞJ~J^&9ç5šòÕk6’~{²žiþH oŸ˜ò\ü­ÀѪ¶,G­ y0Z¤%›÷ŠÞ(ZÆuãxÏ5j„hUk ŽÛìì­ÀЪNÎÈk½E†š†{G ¡U­3¥L ã)zËñ®2}xÊ7€GT‚ÍuŸE ¨œSü‚ŸEøH–^ó†œ=‹[’=søÝÏ“ æy;‹—lyd:‹Cú°äoä¬j¢éâd©Î²ö·E6“o‘›EØ.É_(ë¯6‹GÌŽuÞ¨Y´Lì"}¦Ghï“” ²X[3«‚œÙoÈ,« Óó´ø˜Eä“”ìê»OfY+Ý“P¯£»0‹ ëéAñÇ—eufZÿã;.‹xî‰ÛäZ:Ò²,Õ¾D–ʼn"FƒÝz$eQµÖˆÛOÑ,Çk<‰Û:ð*p²˜?ƒiâ·wQ²ˆ‡Ë®Šö˵-TNs-ër} •kc'." ·½W9¨N8 „,ÂüZ˜cÑA{dY‡Jzÿ»iYÕRz‰öØ F>ÒmÕニӋ“|ÁÅ +t,ª3´_åµÿE<'%™Ò ·"‹zëÞç´­ÀÆjÐËUÜÈX„šÝ¼µ‹ÓŸ„1뤷ÈÅjÀœÉ~mX, T,é ÕHÅ"{vj#ÞF€bÑ“{ÞgfcbYxCJÑû6$–•¢cýëG"V;͘/VÖË0·¼™:'*ð°šuà.s:ô2ò° 3 ¤úË8,)äv{'Ÿ†Eq‘&Ê +8n0,4€×l,,ã*äú]\(,I‰>-Šc$a™¡›ËÂE–õÉ¥‹¤÷o ¬æt=€Ëâ9…z2 ÙÅÚèªUn¬fÇIyÁ¥‹£iì4ÏØXÍ\½NgRDá!=âpÒòÀ¢&S²c!X"ËðÚ ’¹ñ¯ìôô¯ò¸Ñ¯h¸3qEš³½üŠp“®<,²¯¨ð”~ó2|ÕÍÝO‡wvÙÀWÝræµ´|¨È½¢Í*QO&Û°Wį4³=¿A¯¬¯E8õ½²¨º¡õf#óŠôj9ÓÓ½” yEGRrqˆ&¯ºWjstPV^ÑTï.ygû xÕíä<µ…óˆ¼+Únr´Ò*à®ØÆ+-?Ò®h,t)g´DØ}'õž¥aŸXW¤xË››žKº¡®ØQˆ¨uÇ&EÒé „¦¿Âº¢`…ªî?p®¬KgÂ‹Š˜+:Ü¡¼ÅâF¹²vn§®ç\‡¹¢ËØ+õkC\Yw+zû[Šˆ«n}‡4KK¡mËÂ~Ìÿ¼~¹¬òŽ¡Ð¼VþÆ·"$xõZÛðVÖ©”ÚãF·"Z¨ÛHž1¹Á­†å¦Jô;ÛŠíq>ÙÜÚŠZÝ1)3õ‘ÙŠøÁb¾E°•6Nêù‡ún\+öT=B]ðˆµ§ÁOŠ·íT+v[yG+]vƒZÑžiØÆä(¬À´b'–YtxDeCZ «’Òqj`DZÍ<ÀO8ž%­è¾›`"û‚@«á Yf§ßaàYÑ—·œÏþNg5ì8#ßo"Ь¬_/ÍXœŒaVƒ¸‰>‚çyl,+x+úÝ+c6”Õ°ÿ 4v}ÜHVÃz£< ÈjÚv&Àa‘c…©@–f[ «I¾I±îñÅʬˆ\›—m+¯¿¶ZÄŠh,-Åvd52‰"?cÝUÈt8,>\@VQ’Czy©nFd2mwGu®øÆ¬¢è -ðLd"üÂê #² +ù¿–BwcVQŠ$zÔ¹x\Ye…ö“p^yò¬^ ë)}:ÁÜ:b2R«a µfÞöF­¢ +‹Z¸ì'‘Z…ˆM.9w£VQô¥å€Þ?7l2žžëÓElEfÄ,Êšë[eµû”S,&WÄVQÓ&­-;Ü_fÄV!k#`¤¶Š:voã¿a«q”G{”Ç [eUÿy<;lØ*d ¬ØÌß°UÉ:TwbUß°UÈèy¼8‘ZE↱E²A«¬W€vAš+=6h5Òk]Ã7h2m´ÕSl7fU²ª:m~Á­‚Ënò Ì*k1°&ðŽ¬¢Ö³ŒW¿ÖY…l^«`cVQ[JFZ÷ÔôY… C¼{ˆmcV%k”=èOì<«À¬BŠ!ù\ß UÉšg÷î ³ +‘>ç¨ÞbqcVQªK{ÛcÑ?"³ +ÙÂ2`™UÖÐà° ¬RºÞ àÆ«J^Òamˆ7^=6è 3¼wãU%ë_ŠãË­Šæ4ïÍksŒ´ªdU1Úýˆh£UÑ|ƒúÞs½¬H«BF6FõŒŒVEc2Toøß…úRkÚAc aEZ=;ò3¼±ª’Õ8µÕ¾qcU%ÑëŸÝЬ*dâ XU4ó WH÷“÷U…lP¿æpö«J‚;žE~¬ +Ù m‹gÁm°ªä`6m"þº"¬ +ÙàHríhVE:©­#Ú V…Œ~²«ø«¢A†¿Ÿ¶n°*Dt¥É耨PpJïzË^·Áª’±¸ðó7X•õÑJ9ÚRX²I)ŒÖ"«*-vÔbÙFT¢9ì +Îy +¨ªd±êc’Úñ¸¡ªh:rXˆÂ†U•¬¢Î*ö2#ªŠ†$TX£é7T2RÜú¢ŠFTÍJXsP|;ª*¢Œu<³¡ªhZr´•˜sCU%oF=ç!m¨*šÈø”kãÚ9¢ª¬ÙÉ´„J¼€ª¢Ù 틆Â7T²ö\×7T•5BÉ/ò׆ªJvîêêㆪ¢ŠT§¦Õô¿ ¨*dø~¹ÌóqCUÑ%EcPçDT2ë!â‰íªŠ*‰íÅÛ m¨*ddvwÏÉ4—“Öþ‡“É7TU²ŒWú9Y%¢ªhª¢)igÿªÊ®Ø²õVùUEÃ=׉ð†ªB&­ }Þ9UE/mÌZqNy +e©ÉP[ïOIUôbɸ{~ØFªJVoHvŒ£&"©Š>-ÒVìïöt‘T…Ì’U={l#UÑÄ…´ôù$\R2ú•¬ ÞFª¢Ã ÇeíyÍ€ªBf)xguðW(P¥Ã‹ÖŠ +7T•u)Ê%¢ªèþrRÿˆªB„íü$ÇDT½a]ç5Z U!Ò`‘ûŸRmc؈ìôôFªBœŠT•É’s–S$U¡ +2ÕQNfÛHU´¢Ñh‡“Ë6PÁY)ºì›äª²à¬æé-‚ªÎjŸ(ž°°ªˆïRcÖŸEP]wªk‚ÇTEαÕÑù»Ü@Uè–ʱNýª¢·m—ù;¨ŠsvZ©öõwTu^g]rØAU”tZbýøÎª"jäjïqGUѲT{íêØ»£ªÈe&½Ç3üwT%RÖªs‹6T!Xz|ŽÅ‡Š¨*B°yæØí¬*SiÓŒØÇU•BšþUe­´¨æùUE',iŽê0âU•,ˆ"ýÕwTA*ª€kþŽªJnŒÌ²ˆTUeYÔÁ‚²ÁªP“òvÜYU4ê)Þ1úqgU‘7°X°;« +ŽÇ€ H·±ª(PµÂÅ¿Š¬ªd¹ýݳ-vTU²’£Þ u^ã³£ª€‡hR/grGU‘‹?^ ¹vT;*9ð¾6R•µÐ5. =Á†ª"Ê6ùÄXUû jñ“帱ª,@ë=&wV;ðÕ£|‡UQý¬)¯ÍsƒU>%sË;äí°*šHé=xÜ`U$¶€®ð¶;­Š–¾4ÏéNÙhUTÀà\Ô•Ve›ºžÜdvZý§´a·Ù`U…ÙêŠ VEìàBPl°*Ë—9žIÃ;¬ÊêïºÚ>î°*+Ü’ö_xŠ VE™™£úk‰°*Š…Ø½Žr‡UsŠiŽåt¥«¢v&‘aíãm°*»5¯ÚøUEiʤ‡Í’EVY:šT`wVµí´‰ÇUE +vËéhãU…aâuü6#«Êš4hÎ,fØÆªÂj¦ãÇg;«Ê*è"÷½\âÍe}­;ªŠ‚„NÍEö?‹¨*ïú®ÍÚ?솪¢‚^hò7¶¡ªc¢;ªŠæ$tÇñò› UEF½\Çú³ˆª²öÉÒ¹§D6TUµìWY*öÙQUŽyÒ76R÷å<©@xÜIUÐe¨^d˜ˆª¢š£9|úqGU‘@ïäÏÇTE YÏYgR¬. Y‚—¾–Sv6Re ã¢$m¤*RÞMß:¹g#UQ#2jÊêò¬³‘lLïU±³ª( ÑnÔýÔdgUaæñy<ª²³ª¨.ÑÞÖ½»ÕΪ²^Oè8Ç¡m¬*JOÊ‹º³ª°eábÛ?î°*êR’%kûxVExZÓ–Ðéã«"óFÃÏm°*úMK;¬6æ;¬Š‚ÚëfÇm°*ëE}å`• VE.×åí™q;¬ªq,ÃÑc{‚¬.X‰^™ÃÀ_Àª¬õZ{AÏ6XU³ÒQùKÙeVÕ¬\¤®?;¬ +— Wî°*zHíçÆ;¬ªé®Á%yÜaUÍÚPe¬œÇ7XEšL^š{ƒU˜÷Ïå¼³ª8>ÒªLŽÚYUžÕX†vV΋ü3‰ï¬ªL³r-t›;«*[OXjo¬*‹<·…‹¿±ªèê«Þ2´³ªHQf0ý67Våk:ÞYUÅ’¸’'œÞXU˜÷úï<Ñ÷ƪ"ñ*=ÝŽª"¡£»Îþ†ª²0ÛXŸu'UUºBRpýøª¢ì‹Ö¾Uî *:5k:¸wU5¢×mqëo ªf½¬Lᨊù“Ôz‡mm¤*þ”Ï;°i'UqèyœÓ»±ÞHU4£Bx±£6T™èŠØòøÆªìLZ•ö#ÓYÍÁX7T•öÐt¤ã—¨*ÊYk[Ì©;«J®ßéç';«ŠdÃþú +ªŠN€ì^ØQU¸Q§Qí+DTE]Ô¿z +ÑŽª¢ƒ °0w{wVîWåÀɵôƪ"Ý]VÇ“Š¸±ªh=H⦃ì¬*Ü6"y1®NûI+œznï÷¬ªIk4ª- +Ì*«ýý­Ê!Ö®›vX•wf”ÓïÕ!VåÀl@K¦Ñ"¬Ê9Û`ªÍ®°*“\s4ªLd9›õŒ°*/maUŽ—MØÍ:‰°*Ïg˜;ª|ZwÓJVå˜sb¡Îà +°*§£¿‚f¬ÊdäM§QDX•ÓØÇ“S¸ÁªâNK¬ +°*“Q¹ï”Ó VåÐxúx%2q9ÞÓ]‡³¥.X•3êñwœ3iUζÏôûF«2A&ÄóV®Êdú›¾À9We¢LŽÿü†«B¦OO# '3\•É^e­ÊDeÙŸ7Z•ÉtK}:*ÀªeP ‹qXU&"_óㆪ2‘¾Z÷êÁUe*•jŽE£‰¬*“ÉŠ*Çz¶«2™Aa³ƒ¬­Ê{¤®µ­Êd¬Qߢ6Z•É´O½^ÊE«ÊÖMè|öhÜhU&«f£ÛmF\•ɤ&Wú†«²F»®ëÆ W囉ý®Êdn¥:*લ%§Ÿ,W®F®_R&ù”½pUÙŠ¯ ­Û ¸*“Y˜Ñ?zÄU™,ÑÜ))We›,MaO‡ãD^•É2kÝgàU!{õ™¸ñªL¦ÝÓ¯ÊzæâR{ÃâWe2–Ï"¡D^•÷Ú5ŽnyÜ€UfCp$ºpHXe2 +¯ý E^¢—Ã{ãU™,]¼È«B¦‘‚Ò¯Êd(úΫ23¨j—õZ¯Êd)³?zäU!(ÞÚ¿«ž6/òT V™¬On#V™¹6¨³qlH$V™,S6í30«¬rkV¹«LFÿX|©@¬B¦=¦VoB¸«Ì¬tÎ]Ï~«LDUÊÒÄY…,S±Ôì‘UÈ8=½8nCV™,¿’a#³ +‘–¡!ÇY¥àcT:û›½1«LöÌK¼1«Q™6½ôdcVY×éNg5_ΑYe²ƒŒF‰Ì*3ߥáÈ7#Ä +Y!CÜ«£6Œ•6€©ðÊ•cÅ!BWLeY!ëÐ'Í[Ù@Vvî!—ä9Ç"É +=Tšç8n(«luææâㆲ²#tjÏßXVÙº´}u,U‹g ô¡“*™ëVÍÊŽƒ8åMOfÕåÐuYêtåEm<«lÕ+jzZqj5éÅdZzZÙˆ?ªßˆVÈN;£rGDZS‡üt¯vݘVœ­1OÚ"ÞE¨•ÉÉǺf Z!ÃÅy‚l׊@§oóØÊ¡@¦ÒÒãF¶Bw­:ëoC[ÙaäÉ™²Ï•·BÄF“½ÕæF·B¦· 3ÌÙoű¨ÌDY®"ß +Y±n–Že‰€+;†5”¯Óíã*eáe1m«l‡#'ƯS¤æ*{C½gÖÁƹÊÕm¾¹tN]!#!Œ]öq#]!“QW í=n¬+δHwäÇ v… Ø‚®k“,Ò®8_—šîOšTÄ]e+¸bŸ¶ýwã]á +ã®.ÔT^ñö*;ñð{‰È+»H£õ“o^‘ye©Ú|S^ܨPy`7&Ó±{›¤z…ìiòݨWþ¬ÖåqÃ^!;™q^‰½q¯ìýÙÊ[t«iÉÞçwYøÊ>‰fÒp„Ó¾â;6;‘rÉWÈh]½EÀ†¾bnвpm7ö2ÚkÎÙâŠð+æÛ Š8Ò¯,!æLÆ\ìø+›Âƒó_x€eù7zoî¿!°i¯JõÝ02°,Ýnºïõ–zB#žtÝxߎ;]Yw0ö„#Ùnµ{Êê†Á²µNkÇöƒe)O²ººC½" Íò +äÜ@XÈVN¯}çˆÂBYM©Ž…š +5ÙhãÖØÿ.Ô “*1×ìqÃa¡iG}:iaãa!;hÉèÅO …KZz_d$b™¢>ËŽ‰X¨÷J4r¬×XÈ€Kœ‹ù™Xl¯d§ Ùq¼Ú¢lT,K tð­ b±lûjå5Ë#Ë2_©ð‹Ý’,²‘ªËËvRzS{)ÿFÆb•­ÀÉh•­O0¶nLE6–mê æHå Ž…L­®3Že¹¢}ºG:–ÙåR¿…YRi§:ý­D>²ƒ:QGB–‰•ô°!²°èíC‹ëÇ‘…L5„‰ñ¸A²°ºÆ+Ñ*B²@¡\g“% ^îØï&+5\koa#' ³QæQ`õ¸²°6çU)·‘²nÜ­ä¹±äY;C+€·8HÉE^Ùã†Þòn?nì­äý¨e•ú]†rÎôÆåƒmð-? œÔø“‡rƒdÑ?ÇÞêjÃoY»Í/é¸'šëeþ#£Héð&ËÓÌ“x˜w>Ý\Öräxµ Ø \œ¬Rs¼HÆ…ËzŸHiçñÂÅa-‘¼Ç ÃÅ!/Ø4]sEWòdXmë6C¹‡Ê'½¼ÄyCq%£x&ì¬Ç ÅÅöúÏ|¸‹Å•¬{iPa7ÇâÅûS;W+и8iï°CÖVq\Ö•‡]ë>ð¸8»'#é¹mF —ùìñ¦P‘Ëú +ÑçÏó7$W2>O²ôÇÉe=ŽôІw1Ü \¤4ôWlsƒr!âó©é#—‹,‰ò¼¹È®€+5<\µ±¹¬a(§D8"šîU¯Ýè\–‚éa§ ÏEò¥OÕ+h6>W²ZèÓÏn€.k¿åå¡ŽÍ +õ$¹4pÏëÃFDÉ1¤ÄÉâýéBÆ?¯:ŒÒE §<ÇBêFL—u3“Ѳrl6P—%øÈ³k ER‰A$^´áð‹ˆê"Ÿ¨¯Ä±Õ•<è@sGa…‚r”d:?+ú7ZW²þÔRï‹{q]Ö¦Îæ¸(àºa·%n¼.2° +JÀS”7`™[Ø\§ŸÇnÄ.ËøjtôL~›²ËZýiž¡¼1»H0k²—Z_è°Pn`m¥€È}ܨ]Èôeûáđە ä„÷¶øWÜEþÜ ï­6t2^‘¦Î7v—5q¬šü~¸Ñ»,—¯Z{uÿ»ÀïJÖ–B–N^×¼Ê ’yú\Ô6ËàEÆaÆ[`‰ˆð"Q‘^“§F7†2ÍÃcåBFˆ—÷åÄH]ü±@ñ"g’ òê q7Œ2]PÓ´?e—`}C€zø[‰ /r;uÕ^–³‘¼¬Ï©¶'Z÷>n(¯d¯ê|b¾BßQé•ì|9s²o÷™^–=LÁüzöõ"ëxcò6Õ+YsÓB‚¬_3`½Hrn2hòZ{‘ëEr4³¬Ïu/¡âÀz$“bïIeÙË®±}~¸¡½¬]³fq^˜ÀÈöBFéÒŠlp/ÃiR0·á^ä“coî)Gº"ÈœëÁ#Ý ¯|XÔã÷šVž­î¤¬Pm@#—žG;÷ë¤Y7ñáÞÜ÷šýJºÁ½Èò Aó\0®÷"¿Sàï<À½hDÅ‚_d¹÷¢¹0¥Œn lp/¶W¸æž¹Á½Èm!"³°_íE½‚Üeëzc{Ñ~K7…ý¸±½h$Ð.Õ®Ñ^fRØRwQ@{‘Ïù­ònh/ªÒ3¹¾‘F´–&v¾«"Úk,¸e? +ÙÐ^æ–ã+ºÊ‰h/Ò˜d  çÑ^´Lóü*¿`@{Ylšm® ´—È_ï) ½ˆïó­'¢½ ·ßÕo>¢½hguÇø‰h/ +^h5á5ÉÚË|õÕÄç†ö¢Ä¦“ ¾¡½ht'åE8íqC{Áz¢°'ÑE´Ip‡^LòWÑ^tràœx¬{h¯nÄseÄmh/œˆb“Í_F@{q8Ä…»)ÚËÒ˜eÅ,˜gD{‘æK߳괈öê–“¥u_ý¯ÚË +­8ÎZ p¯^^Msol/O£ôÇÛ‹C¶I”ÞIHîe‰†6ïì©"Ü‹ @}ýEîl/k柪—oh/Ú1p0œœÐ^Ä4‡““Ö"Ù‹¬2>pó帑½Ì±^ lv°Ÿ—všþ´Ø‹ÔLöN·E6°W³‰§Ÿ‡íd/ºzŸy‰.´—açZ;Ö#Ú Ï•c,_¨Ú‹°PÛE%‹h/âžmto²£½¨'Ð~Õ|lh/´Û8›7¨½£½HÑëÞ®lG{±-æ±’èw´9KŒÝ“úu±½À'ÉtqøÎöÒò–Ê‹ý»±½,­!Ï+Œl/ŽúÙï×.Ù^t=(9žßØ^Ĩ ;Wß"Û‹žÀÀ9´í„˜€]nl/ÍÁ_‰l/úÚöÊçjÛ‹”šêÿŒ½ ®ô8Îl; `ËïùO¬¹"äܤ\@õîß_æ¶–DQd¬áïŸÙ^”á@¾t‰Na{‘ΣÂËÂö:”tb{û¡{±m+%G›è^{Äôs{A+t¯C.V—” +ÜKÕ#W„Š&(d¸—\…1þ!¼~!»8›LL¦pdºU4øÛ=$–è^äO·ØÞœƒi•è^ JÚU¶à½ìuÛœemÞKN]¬Æº)Þ…aaþF¦{ PËžH{·‚÷"iŒÍö󼯓kôs· ïEºÃ÷_—ð^»"LpaþTÂ{)­ úÆ´ˆŒ÷ûÓf +梁z-Ž«Mx/’:±5¹Ýß_ð^»&®2üØÞký¢H=ÚŒ÷Ú]EL³m›ð^@àú@­à½äòÛ³Qvï¥õgÛ\ð^»ªòïû8®?¼—Ž!X,ΗáõsÂA<ÆÇêx°à½œVÒœÑ&¼—ˆPXãßË6 ±“ñme¾A:îj6 yÛs’onÃ+|/Jæ°)Zý«g¾×®<Á}¸h·ð½è•âvÐÏ2ß‹}E„>»ý> ß‹„MÍ^ÿ2ß‹‚?zF¿±ð€ë¼_8d|Q̃Aëj4YêÍÝTõË¢ñ3™ï…åü°Ã˜ð^˜h¬oyÂ{qDÆ lÒ{Á{QüsPïíi,ã½6á× +·6á½HµEøó¼ä¯„÷ +³;¼ÝrñÔǯD÷âì™Û>…î…kÿAÎ÷†daóì‘á^œ2ð»üºd¸¿Y|Ê…íE¦ï°Éh›Ø^›š¬lURÈ^¼Ìl/£+µáÊóg‚\È^+-ØnÝR&{iÇ›5ûW²ERÇÎO²M¤Ï]ŽTÈ^!ØÝ$c&{1"†ßìÚPÈ^Ø~^ ì¯ô‹È©ŠÂ5̶n™ìµ‘€¿éâ6z,¡½•;3®ß‰ŒöÂ}”ø~¼.íµé*&‹ûiÚ‹lÏ1ý©„öbrØãYnÆ%´—\ç`l¦ˆ%¶×¦"¾¾zãRØ^$mâÍ^ÝQà^_|LÊp¯MY5¼ÿÛÄö¢!<ÁeŽUf{‘©Ý9÷â–Ù^Ìç…ÏÀÚ&¶×fbûiNkA{aÛ©ûSV¿ ½ÈüÆÏ på~[‚y)ù Ø‹œåw1z1s½¨5;Éʚܕ¨^8ÆËÔ‘0A½(V×¶£˜^]nî.@¯®æÊü™ÜeKÔI’kH¹É–ŒuŒ£kÉÏ««=ìy°çE Ç9@BÍ‹Üa„טRÌ 0 Kô1(Y‰å¥Ü8çq|f”uu+ÌÚAK$/:¨yº^ÆWj­¥ +†š¹}™ãEÞ_WQeŒIx5]9êÎ/ÌŒ¢g†xá¡uÐÊçø93¼ºÑÜìàÛÄðêª /7È.#¼HÚâ¸ëdF&x‘Ü zqÉ/`9§ +Õ^¶×_G-½6qëßEaüQ\*ÚDïê*e¦hÂW‘à]4npòèÚ¶Âî¢\jòbª_Fw‘§†|h{ÎBî"‹Ÿ{à¾r#­6f¬#/™+•Ðÿƒ‘ÊéMAfvá…F:ÞàÂìÂ7`ãÇZ-%d—9Sw¬™Œìê¶æîËøÂ±‹´üÁÙÅþvrÆ>g¼… ìêÛ/Ýù”Â뇛6¹c3Ê+áºbó„Œð® _8¦ž÷~­Kåžg¬­·¥ëâ(¢ŠÝ<¥ŒêR¥Ø…eбS‰ÔÕÝ31ЛÔÅéE—ýï +§‹Èü Ôh ÌéB­›&–1]H4öA÷J”.*U·›œ³/ãÈšÚp"h£‹ƒ­ø¾Íp²LèBé®l ‹¾'í> ˆÈ|.ªí€b»äÒÅäÿ`7ú ðU¦sqð‹Àâ¥,Î _fm!á%ìP³ ¶HÊHÒ«×µäZm!Á°´Oál!Ŷþ]"2g‹òjú$Ïë•þâqRl­öf i' °òÙB qb»>Œ-rÓEcpO†lÉ1ž–/¯Ì²…A¨\'Æ)8Û Ä–J¨35H/¶Ô3q +Ô&ÀR¼•wÿ¶Pb}ÙÇš˜[HfüÌ×B l»?x-ò}ì¸]Ú[èZ*ô wÖ£.õvŽ=T[ …’ß}( ®…„¿Ñ`&f¸–V׸e;±¶Ý=ƒ'”ÑZHGLoï&²R,†»h‰«…Àz°úgÌX-$VÚîÅ,Sµºümã«»X ª…Ä|f¦ÒA=_´ŒÔB¢À5;…¨Õ…¦\î…mýEäLôò=öÅçÆV¼¡UYÙ&œ +k÷i|m¦iÉ+9ndüŒ¦…´?Tå›Ý•`Z²ã]òê“aZH]Šº­ÌÒBЇ{׋ËúsÏäì–ίҙ¤…?Áf„Ci!y5›+w³.¸eQïOåfVJ¸iû2'4Q´Pb†‰½ÅÕ&ˆ–Z÷;ÃìÃÐBZW.ÃמZj|Š©Å•ê… ÕåØq½Nh!]ødâg!aÏ`þwÁg!¬Æ>dzÒNŒa.@†g!mqµça^Ubg!u&Ÿ§Mè,5ÉÐ`lŒT&g!Å toZÀYn=7‰8_|naÕÙî5Š@/OÌý`Ð>Ô,IäULÒÈÐ,$ÂŒgÜNbf!T¡¤‘‘Y‚8*mo1 i_1°XÀ,2òã3¹we‰·×ü“ŒËBÂ.ç%iåÎUÊÚŽý´oÕËâÔñÇÇ+‹î8l9¡²´Ûˆ±â/,¤¬x´·K¹&PVö÷öádQÊ/Ÿ±“ß(.ÃŒJÉb}¦–Ç8¨É‹°†“ ’Å °Œz¦‰‘…/êåî– ‘¥]Tïãû +!+¼ Ôþqu¸äiâcaX—×_)᱘–Ç= XM¬…~ + ûêøIL¾Èl,I›ùŠŒÅ§ˆ{¼h™‹%i[†XÁb!Årø~‹%)bŒñf*ÒãlPªRª”mqà›‘XÙº +¶±$Q†x€XH±6uH–$@ZÚ•pX’0ÉðÎ4,¤N1¸ŽÃ’‚5¹N©/%v·ÛY KÒ¶´Va¡ÄÆz4 KÒáuuÂ`IZ»] +K œ¿L(Ê ,I[Ìäë+ý•£#-ÔAëv3 IüåËw•ºQ%Å6ÙE‡……¤Œüx %é€ÕÛ„¿’DP5 P‰~µŠÓtüJJ„,Þôö•$^M³•2û + ×/ƒô•$BB/Š™|%‰NÅÅœ­¾’´PKÞ&슿zköJ&'ãÿ¨WR8´òÌÐ+$ÐUÎ 敤“vPœóJ’¸ª{›W’Öøýl3ñ +©cÓàõ ¯¤ð–Ë—yW’(,òµgÜ•$¢\ã3í +i¥w˯g†]I:ñóU”¦S|ÞmÀ:ÏÜsJ<åçþ®$Pû9KÇ)ŽùUþTâ\IŠËëû‡s% ¢›G]Æ\I ؿV¢\±à=xº®/ÿêgm/)®Ë5•…q%‰âç烸’ÄVîþ®$­ È×6®$qšé¹3ó­´$Ûe´Mx+IñïöAÅJt+/äÏ ïJp+I9%?í$¶ò +“ÙVH׃¯—9T¹É‰Ê7‡‡m%‰§;ˆQ¹Åé ‚÷¶’´xøS‰k%‰2g¯©k% grÏ„™j…DÏŠýø ÔJRüî¶Å.L+IÌ»Œ´’ËEÿ­$m õÚ$ •”uFáž•$Jy~ÒÒ6¤sw/N™f%éæTθ¨ÜXŠÄšèÕ)ì$ìK5ü=cz¢;Úÿ87–"mÌþ’•¤N¦¯9¬$áïµ6s¬$E\âmÁX!íÌÎ+ 7EÑæMå–R$äÛa%é„ökÄSî(EŠ p€_2ÀJÒÞG£HXI-¼š µ—¸üÄBÝÆb_%iÝg˜ +½JÒòÂß ¼ +é5£˜ØU’D|ñÞ%.?éxö˜*ä*Kt^¼pª—³Š/z’¹U’„²h¶JÊŽ ³®"S«$áreªÓVÂrÌ×d?!«$ÑOoXM&VIŠùj(G‰Êå†sª àª,‘ÌüЪâjBºZ¥UIáLd(w‰ËCZ¨wl«J’›‚Û„ªZÍ-Œíªn8“ª,-ãü»€ª$EÄ8{âTIÙ/ï\ ¥Ê +2¾ˆ½æ€.b*zAT90W¹˜ƒ½Â¨’@ÇØŒ¨’>í™ UV¶Õ cTIipû¦ž™ÓNÙñ©§„æ4šSÜ&<•%ºvMoZKh~ +çí7:é,°´•ØÌãi° ©,õnï£B¦’ÄJf¸VSYн’!D™K%鸇k`ÁRYb-yÚD¥’ãrýB©,áMå‹rl +¨;£—–›ÿ± + +ÊJ¬žš¦ JR'AÑ&••Ã%û…Eeeuãk!QI‰øèðË *KŒè6q¨,áSêËK*IË96_…BeIFØm‚P!á^m/ᠲĒî¿õ”Èüä(ÊÐËB ’dËï6¨,ÅPêþ”¥ÍÌ?eeg"…>% 2ÐøÔ^"óöãŸ:rdNì±_ãCg‰ÌOÌ‘½*ä)KÇcsêž²´õ±pfî”%ÅæmÂNIÂØzyÑR92w¬»Ñ¸@§,õ‘,Ì)KË8ß/Ì)IûunãS[̬³–rÊR´(#§,-¿/‘ªÕùïÔ øX;ƒ¤n¡—9£š9R(—xJ2F +iqƒe›(RTLr0샨‘B"?¿›ƒRH‰]»Üg„ÒzüøE™ ÅÉãC"Çß÷ÇB8©Ò_—ðQHt³ÏK–úÑ£tù;%(ð(öíO,¡ûàQý±£nÕSqÐìûMè($‰lúVÈQH+'T¾ÀLŽºéªWÅ€î*ƒ£¨è— ŽBbn¢EæF¡Ä8~!s£J_†¦dlÒ3º9™…¤ns24êöOÚ=´ 3 +‰¸Ó•…ó_bVZî«ÊÀ(ùe=«qµ…²©À¼M°(9-¯ôk UO/dæÁKJ¬(7QÂB1‚)¡¢(i½LÌȤ(ŠŠ¯X®Î‘Jõêª7¾èëmâD!ŬùR"2&Šø“=ö¸ãD‰ºUyÆ=û¾$Š\Ö®/+Œ(¡üN‚˵Mˆ(e°"¬sWj!DÝ2áårIJë·º‚b·¨Ð£¢4ÉÇ;r}ðPp7âÀV°Mt(¤®ý¬~ü ‡¢SKÏM…ÄtèÖâ†Bb•³DACÉ·è~]Å ê–]¬°¼mCÑy{mÜŒÄJ\(oÖãŠJôˆów­*”ŠÔ)¸×µg&µìí”P·²rrh +‰½7–%:¤ý¥ÚăBòc2**á XÈ)iqed¡Ai_Dæku«»öµd,,(¤•ІÞ&.À4ÆØ–©€ Úný, +kªƒ7Ëß—0P(M-(µVo¿….C „ÞÄÕfÿ0 ÔjpÆæó2æ)! (±‰ùö§€rñ 5¾¾Ä"× Cs7•ðOJCä¥ý©DºåZÖD½ BZ±¿?ÍŒJ5ë@rŽØš "KF?aÌLÑ¿-¨ +ù )V˜ÛaG?avQì¥=“ŸVû©¶ üt«že¿ÇÅgî=4G^§”°O·ª;6œAÚD}¢ìé·ÿ²” OH¼Ü®ù+Ì'b}ÜÝ\^O½þœ +ñIðè€O—:wN·«Þ–Øø2lû÷t)‰vÞÚ>m¬Ûf)Õ­ã%Q!Îmmb=]îÚl8QPOj®w¿ô#=QQF㎽h3è ¥Çë>B¾Ìyâlçëýú€žØHÚÞ ˆËœ'ayÙ¨ú…‰Ã­˜gÊ6Qž°GÛÇÊ!OH1²—ÁGJˆ'ÑS±Á6Uéð„3g„>Q*|':’âaÒnÒ&¼“˜¤ñ¶Û£ÐT¢‡«Wª wâL*vs‹ÛW +ÛIP\ + ºÊh'ԳݑY&;Áå˜G©l¹î ðÆ—ž©M0"6\û ,%hÓeÓŠe¨mÂãÌ‹SE…Ù„ M¬Ã¹ ›.u§-°3ÛDlIcêcþ lBÂsx`žRÕúuäu¡5QÄ|ádìB†5!ñ”Ü5VXMè“ï÷sϨ&”¸„Ã]¤…ÔÄ +³Ó6>•@MÀ,žˆÃL2Èœ¦Kpñ¢™z‘1M¬FШӧ‰Ò„DÊÜ5¨Ò„-ŸrYE4!ñSÝËÑ&F²Ï~3»‚hB¢ŸÕU×ѤöÚxJ>.„¦K6¹«mD +Ÿ ¥c4¾µ‰ÎD):q± +œ é eªû/%6RŒõsü¥?2“ +6°l©fB¢’å÷”¸LH­¯ßŠŒe"ºxH˜ûNT&%;©Áß— LâiÆórÆ´0™6r‰ç+ýLH±i¢8¤MD& )á¦J$ Ê­Â~cœ éâ@íx‘K¿˜)^œ}ŒîLc’CÏ Íc’„5¿Þ—Œb’²ª5¯M$&I;%Y[›@Lº@Zv*q˜$ ¤×6c˜ô,H«{d +O0Þ͸CS…„é’÷ŒÓ½M &q¹x¹ ˜ôÿ¼í +I/Æ“Óö0ñ:m¸_ý K!9Ëg ÷”øK¼ÓËëLXèKºÆËxn–áKêä ~56$×sØüÙôƒ/!ļ¹8ÅTØK np×.ç,è%Ymû⎅B^B"¢Ûüvfð“ÖN‰Ëù²•~~‹‚ý8RHØ%Íœ˜Äø©gêómL”Û ¯dè’æo²ˆç‡¹Ä¬OÑõ:øJZ<0¾._VªW¿äWÃ^Á¤¨T¯.ñÎýøŠo‰5ï ÿB‰¶$ rL%®~(´%fºu¼Å)°%b€øƒ> j‰¸aç±ë]Í %âaãžý¡T­N\CÝñú¡,)NŠãê÷Y"&£œÇY¯ÂXþûÄDçƒXmügâTK„šlí’TK|ÃÎ<àe4–’Éø ¤ð•ÄžWݽz¯$ûºØ:٬Е¸$˜íƒ»˜áJìNb(œWºä2Æ„ìO%¶’v],»”ÐJÜãõŒ·,s•Ø$ +ó±½È¥_Q {XÌál‹S¨Jì—wb9¿âªÄ¦’‡b»ÿUR† ¦àû¹ÚÄT’-_L:.a*H%¶¢ø°x‰M@¥[™Þ}]æ)‘U¢Öãr°‘qJü8Tåú¦2L‰¤Ü‰mƒ—S’ÿ_¬"®,,%§P™;u»¥DÒ˜<Šù…¤¤<9gµë+ýåÉuš€;ÿVâ(é ?Eÿ¾¤¤³4J Œ-É%Êési[Á(áCˆ±èõ“~9›o<:ŒP,%Ü7biŒÕíÃPâ•#í±èJ÷¡cø±Ò„>òl’†å|&(ѶDøçó¾PÂóðT |›ðI_n†0þS©`=$``«ã—O"ð¿+ì$ŒÏxîÃÛ>£“ÈìDyÆdrŠ4a¿”£N"q€iµý 8éVôK¶T>s“²˜ƒ ¨ÊØ$œ™>¯çCMzÜ;H³š„)#FÃN^h’êCA&šz‘™Iã¤ü uÉÈ$JGï¸çÿ 1‰1ȱ¶Ë˜D^Œ³{à‹RÉ:ù‹n +{›hI8˜\ØÄëÒ3+‰ÃßMéPCˆ* }üm]HI‡ÿ¿_$ƒ’Ó;íÛãú' דCÜRÁ: üt®ñ}ëXFò/c2#I~»j±Ú„Hb8ADx€gBv’ØŽ®·±D€¤G¾k1.L-(|$¦ +zœ ¯€$ŒTâcÏfÜY$-ÌŸ´n˜s”KÖ™?"<Ì‚‚GZdqE™Ð$´U¼FÏ+ýUÆàýÿÐ`îÁPðHx°à–?~Ë‚Gâ [åy •ñHÌ< ñ縹ŒG¡eçàxµ?<’Êj·u”0W>óR+¯|$R;ìŽûÕþjd°¿¼cü¸Hªò‘0x‰%‘x°Í|$NÈWÑ~‹ +‰Z*m.ñ‘ðÆÄ Å{… +HRk#e†@T¹ 7Ïë´úŒ{_1(’ðÎ\åóñ$Ñû;ËHÌG"iÄ<ìS‹ÊGQÀNʽ +•„qÌCFiû’hŒÄCÙG"$qä¾üà´‘Ä,[ÂA1+„¤Uöƒœø—.„¤õ–qðÙ_ +ÒÄq|L—S¤VàT}&]I6 ŠJR$É G¯Ã¤VJP9¾BH’LÇ\`o3!‰DT„[‹;‹*" · “¼!S‘„- “¤áID§eDúú¤ãü›Ï  åšvòTñ³^¶Ó­„¤®°§1¥Í„$™y²ãô{UItbÆä7š4*!‰VÌxǵd΄¤®n;úu…$›;¸–2 ³½uqgnÅ#m*‘]½»­t$lmXÖlYñH´j.×±Û§£â‘HsÅwnƒr”«ÛIsÅëµ FU¡#m„a¹r¶™Ž„½dü4÷Xt +i“Cý=J ‰fNf^ƒ‘+‰åæß +‰jŽj®Á#‘ +‹‰„ºà6á‘€*Ä5ŸvUŸðH~Q€jˆSÅ#Qe „Þ<©ŠGZ…—è6…šðHÐ +wŒU*x$ʶèR2”¨ò‘8Á¹_FýÄG"ݱ(ÿØ>|¤˜öG-sûð‘`0Ä¥¹ì£ò‘b0ÝÚ²˜TøHœŠÓï쥿ò‘nïz;;ñ‘dcÆp´‰hweèïÌUï‡Æ˜s•rÙ;µXˆœ£\÷΢pF ®Ræ#±*`påaRðHX6¶à‘@5pxöøI<’\HwGsŽ„ i £ËHŽ„ÇÎþ&í*‰ÎQúYŽ©l$ZG9Ñõì]ÙHÔCcÃê½Â‘T›Ó¹ím†#ê_l~PÙHäÝ\e„Sf#‘x‹§³øŒ·°‘X8àÌ{çSÙHøÂ»àl3éT­(µE¾Ê\AýûÌ'68:µ p*h$pÔûx¼¢‘NÕô®«·S$Ã~—¶„ÏÓ¢‹m* 3žxC øÈ`$:L©ý÷~#ÑbŠ…þø +‰Ó˜•úð›/`$ʦãlN\0Ò%gr¶Ê–2‰6Sì¹÷ €‘H ¯¦ý 0’Ržç±8WÁH*ÞC£+éRl¼Q^Óf.’N—wõ·™‹äR†ëqcS#QÈð0e0’PÏso”±Hd’N÷vS˜2‰²SSÏ6c‘Èñ”—˜’S°H”6`ÆÓok¹4žÚÌŠ»Á‹¤â†Í3p…"©¶B“q=ŠDqC)¿«R H´žž`½ý²g(­§±¤l>1-T¤U>=œH߯•2yLõ²¶ÖJ<[M¸˜ÇKFZícºš­]ÈH2Ä«F’×è¡„F¢’¡Saÿ~.±‘¨eXH}Y!Á‘DgŽº¿Ô¤_àßµXahDS‚#QËáö±õj¡#QÌ*(Cšžl0c#h»?>’ªb"8/U¤rx|ÝO7#’¨gˆÁ’ž`f$u5›Æ&ÈvO’DICŒä{„…’DáÂF$9€7“Då5úý¥ÄI¢xIÿw- ”„F¿üãÚ¿BJ¢²‡|Ö«6¡’¨_ˆ—5VŒûÕþ| YÈýmžó2,‰ +`‘,µ‰–D ƒê7š)ã’TÃûúÓ¼äÂKêfÝQµr· ˜ÔUí3®}å 1©«ùã„çÏ%d… øèÛÚ± “¨Vˆ@oﶺÈÌ$ÊÖ.¶61“ºœKo¹æ¶ šD)YÇ})…šDÅÂIQAp™šDÅžÁ··f›DÉN¯‡ +7©ËºûLà$´˜k·¾úYfrU 1!ø%ÊÜ$jUŽ9 9‰¢Ò*¸“· Ô­Æ×ýÇþØIH çx2<‰Â…‹+vyiÁ'Q¹Aú~ vQæ'Qº +â2@©kÞ¿bùud™Jh1cQõùa(Q¾KÇ>B½ Q¢|ÝéDQ¢~ADG{ÞŽZŒÌ¥û|¿€”¨nˆØ³€I‰šßÀ,£”нÜ6\XJ.pˆŽ+ÔºÒu52šÚCiè÷2N‰ú:× ‡fžUøfÆMùþP ÍUAF f¢%4—ªÒfB*Qkåíò‹ÂTB£—jÙý;d¨eñªÄrçkÉT¥®2òEžñmÂ*¡Øbõñ¹?®5¼µ‹í X íæPì9·6‘•( ˆàvzÿ¹„VB{8"°GWf+QA3{,B‡¯$Á•(¡ˆœ‰¡ô ÿÑ"Ž>÷ÁÛÈx%ê+V%ŠlÿŸùJhñëÄtzK_ÀcÛ†ï}&,¡]8“¹ž¥ –º*Ø7N:î61–º¨M ;úgÈű&ÆØ¼ý÷Îìêαù² Ó°ÂY¢r#âÌ>æ¿ZBãV¯$ʤ%Ê: Õ°H´ µ„v®>ÞÆ%Ö’j>˜ßÏÇð¡5»»s– ×ûK[êjÖ¥ùC·žqKH¬¢+_xKh1%½Ëv.Q/²‘ì‰?âR—s,&êû¹¤R±ÕM‘ÈÌ%´mŸ‘o(Ð¥®büå­É,Ô%´C–èfB¬ »D© ^=×vÝmâ.¡©ÿº +BåîŠäÌjB‚}Án«M°&j§Ö‘Án­ -Þ“ó°·ŒkB‹Ç2Žh +®‰Ò*WßQ’yMh…Ç𯗀M”]-ôˆß·¥DlB‹ý–åÇ„lê²»ðÓ>ÚÄl¢^«+vß™ Mhô:ž®Ó(Ø&*¶1J<çdnSÜxßGæ¡€›Ð ˆŽ:ÊBnêJ#Å\±®ÿ‚nâ †NU÷*»IŒqi¾÷ +oâPó€EçÏz“ð²8_íƒoêúÕ÷©M'°ª¢ñw&‚ž7ŸN4çp:îìI¥8=¶9x¼šŠui·º3­eŒÓ£úñgu¹Tå8Q´ÖÕ(ØfŽÓÃÛ¡\Bo3ȉ³•w6‡>™äD]LE^s ȉÀ´à=¾0“œµ½àšõE9ôÇÔm§•åDÕÌ?…Kð*Ì)4œ³Î>@O‰æDýÜMa²gý‚s2´Ý^4gžg<Ü脵öÞߦJtÒùNFe¢Óc×Î}0ÅÒiÓîãX†íia:¡íÎgom‚:¡Ñ¶¸·»P(ÙÃ×gwâ®`6{yã˜úá:¡]7Iº v¢Ö/~ÿ6‘6ívv¬Ò ŸJh§M}TlG*uÊR$a“ü‰Ú„wRa„Ÿ×ÀfÀÚEm“-à á‰êB:Ç6WJÄ-ƒŽ’O›Mø)¯ôc<©&QYêå¥?ý6h2°[Œ¥É”'4ܹh÷læiS†4öc-qž¨fŒ‡|=ƒõÇyRãb«6žÐŽZF+¤'ª ;Í#ãÖê +ÌÓÙßÂzB£÷ó^ú(Áž¨ž¤àæÜÒ)uÍ¢mÏϱàžÐôìvÓ2ï Oµ˜±LJÀ'ê.»;î|‰ø„–f•‚|R½æÆ§ü•‰ùD½æŠqY7N!CŸÐb¸zm˜¨Oªó{ø‹­“÷xý/s’ ÷‰ÚÏø &ºzŠü„Æ^ˆu´Mä§Í%T‡=¼ ù‰ÂP*¦ß×?³ŸÐˆÀwgÉ2ü ‰®ÛI°ÐŸÐ0È_.2þ‰bÓxÈús©•mòà¸ÛÄÚ¼÷¦›Í_™PhAƒ/‘PÔ¯.Øöqs‰…Ö‰5/ßA¦@©îuy¹Ÿ Ô&‡•eØ]5±Ì8»{w jóIíµÛ   Ðv7˜•PPh×ú‹Ö +í¡[æ_hP*½x,›¯3á Ð%‹7ñ……†ÕÄ3\Bm«Ï[\T€P›Ú;å`¾½Ô[‹ÖOÍ æ*%$ïÞò2œ +mô¬­B¡6F\¯¿w¡BQ-Ìtâ7%C¡P°`~’'S¡TcLÉ-Ô …Æ£4ºp¡ÜŒ8pW`(J“¹ÿÅùËB†BëÏßê‘ÑPh:npV­À¡ÐØçŽýK¡C¡A]uÇN¡Cm‚E<ʪµŠ‡ÚÔLº¼ç3…µ‰é²pÄahSê´E‹xòi§BˆB»prsÖº ¢T{ÝuŠa|TbDQ|Mâç•Q(ÛáÁ2ÌŒ¨Íå†q3FÔ¦‚·:´0¢Tè}r2zûS»í&¼Y,¶5(”(ÊÀSž±`¢6!ÝbÖûNÚ¡ðe jE¡Ñë²™H–HQ›J"üø¯%Tð›ÛV ++ + ÆäéìrEQ­î´‡ãŒL‹r%û²üLÁEm¦§’xQ›H‰+ÎmâE!)Y·ÜúF!atÛ¯²£6uÊÜD¦„Œ¢tÓõ±)-Ì(4,‘› @£Ð6Þ‡n¶Z¦F¡š· P¦F¡`îÙ]zZ°QhÔ^½K]æF©ÀŸ'»xñÉà(4œQVŸ2rÔ&›©˜œW¶2: +F'oþ3;jÝtLt< +m£nÁR¡¿ +[ðK»LLJø(÷!DÌ9€Y™µ©“ûq”Rh÷÷:ÈH™ …Ø… Es‘å8Ì+)´ß›?A¤6ÃFÔìšB‘B‹­Ù~Že0c¤ÔLqÿ ×Ì‘B‹Çú۸ΒÚäèõÛI’ZLÀäŸÌpJ()´›ÖVï² +K +¹h7­¼À¤èìÀׇè6Ѥа”y'ˆŒ“RGHÿôežÒ†Ëü`|e ”´lº¿1¥ö÷ñMD)4üˆn¯™(…„ýâ3ô‚”B»bÛ6Êç +SJÚƒ_ŒÁ *…vSi5H(™*µé|˜¤a+¥fr +6ö.\)ixì­ãs ,…†ÇY7+»¥Ðâ¿Ç aHFK¡mUØb¼°¥¤QOí³¼k|,7ìvÚD—B;bÍ;lÚWðRÒ8‡³QPáK¡EŒ‡åð0…Çeµih!LI;G=MEL©o³¥å4q)uíJGèC”B™Úäɰ_N]ÊýFŠŽ&‚™’v޳ô‰3µ‰{¯øj˜BMI‹@¶ÛЏ¦Ðb9~÷ýÔ”4|¼žíÚBK-'6%í>ŸQÐ^hShûvÕÙ”:x¥ÝX¶k3^xShÇ6ŠM'à”´¨‚I'9åþ­ß +Ì)irx4J"C§Ð@u“ê”4•ò’‘±Shñ?Þ^ãÂ’[—e×’šyÑx²ï³Îä)i<îèÌð)Iù©døíi Lî•.ô)i±öàE%üÚ +QËakáOI‹owCPIŠoq/QFP!ÁÙ]ºYTÒþBÚ¡BƒzqÛ‹ªP¨¤Qæsƒ‚¡’vyªk‡JM{˯Œ&ƒ¨$íNa¶ E%íb=ì¨ÔÛ‹¦lõä‘iTÒ˜ÖíêTpTÒ(˱[áQ¡a³½Þ‹ÙR‰H%6†uЪ’Jl§ÑC™I%-ÆÈ:`KJ…¦º©E‹d¡RIüÛΆKµù;F]áR¡Ýả¢€©¤á6õ¼©¤¼ìÚf4•$lrefS¡ÅcÅÏúlœJÚ>êw':•´X¯®·à©¤Qfb“ç¢É3«ËþŒP%iÿ¹ï¯ö·@;÷7 +͈*I4ã­ãÆ£js³f;æa%H•4±L¼*i·_›€Uh€_» å ±JZß\R‘U’¨â“mfVI;\YÔ&h•4Z#NØ…Z%…Ú{™‚­B‹§ÀüôáVI‹Yôp•´ ŸM¿*™\%íXFD˜ÁUR@+­Ï‡\%h%]%í‰PòðPÎì*4 Xc'm-uK‹Ðå$·L¯’ò쥌¯’¶_ÔæŸmâWI‹©xßÀJØëe\K"XI‹'´¨kFXI{½:&†Gýò̘!VÒ^¯ô°’²6¸2C¬¤EÚû6S¬$Ål·º…¹`¬¤>gjÇJÚ…ª_¿ ²’vƒ5à0“¬Ðàîì÷mUj–¶. û šò•ßwv¿‘f%M§õ^=3ÍJš’ë^ä3ÎJZ Ä{€¬Ä³²öËŒ •´¿‚©Œ´’$G¯Ý¨¦Ô,í¦± VÒ€>{w]¨V›ºQ*s{›°VÒd3½ùï%®•´þ«s.`+iñus`2ØÊÒï©­¤í——Ƕ’rüjL +ÙJÇÈv3-h+iBÿ-s¥&`kÞu´ n%íЭ¤=—÷ßÊž ÂÚûs pe #óÃ2âJÚúEq%©ã#m&Lf\YÄî4+õK‹ß£¶OÆ\I#.p½Aá\Y‹ ¿¬ß%–úî>ùº’FÓ×=î ‘®¬B‘¶ u%uÁvú…ueÌÈøÜš7¤…e=®hW’Ë·‰weíTÞ¬MÀ+´ˆß¾¼B¼²vÓ>mB^I‹7ÿ„̼²†—Ìâï¼Ò&@6C›Î¢'ꕵ‡së—m•6 Þým>*Ü+ièžœ øÊÚñ.º…|%í½D/£¯¬N5z&³¯¤Ë[PàWÖDk0¬jÏ›4lÌîÊø+i—ë ÛÄ¿²öÐm6Ö•7„èûª±‰€eí¥‡…€%‰µÙ`ŒÀ²„…ÚnòÓ’÷t–ÅôgBÁ²Fq¹ôŒÁ’áu7´º€°¬‰LþAaY‹ ;<2 KZÿ5†–µ˜)8,i±<ŸÎ7–µÎ +þ +K†ËD,kxÂx0d$–5WN´‰‰%íèg·MKbYó[ ´=npLÔ•emÌx+K‡QNÐX–µ}UûÉD˲fïä6Ფ¿â°Â˲†Mñø{{Þ ý²÷…˜%-Þî¸Î6!³¬Ñª7@VgÞ ð€ár”¡YÖ¨«÷˜¨Y–\Ö&l–4Ͱû«¥ÚáØmgY‹©Þ›…œ…¶C:Û?ä,K¿Tè=F±í“•ÅøOvö×mÁ*çh´Üÿ>kUq=–6}Âg¡Ä†lß=’2?K-þ8_:ÀÊ­U۸Ùq  …e}Þtì´JвÑÀòšÅf„r»—¯ÌÐÂÖ€’ Wd†– âËv·êfŒ> •¿ä­ÄÑb£]«LiÉv!BãÛîh…¤…FÓöè/*(-“(ž¾:ÏQXZh° +,-œ#(¼ó'ô„Ä fæ1n'Ó´p£ k¼`Hâi!qú=6H¨…õ{CE5QK¶»ªú| ©…9/z²Zej!Ñẚ8Y ZrèÀ‹Àõ…ª%îHìè´`µ0áÆcê0+µ Å² ÊîÖ…‚´«¿ü¬Ÿ‰?ZD[oaFak­r¼r›}›àZh=bÐÛà…®µªÀYÑ6áµÐÝj_KÞ+=îáüðµ0Ò‹éÛ·—[«úðø·¾…?–L`rŽl c ó® +°K›([hxmÇ“YÛ„ÙZUϓڕeοy¼€zb´%òT÷Ò|¦Ñ’_P[rÔ9¨>Û„ÚBZ1Óõ^§°¶0éaÿw¿·—`[2÷£²˜„’i[˜P|^p[hñ ozuÚÄÛÝ(î#ÖPSµp Òk·f]¥6Œ }Ò×&ä8¦Í›ÝfIç°³*Ô-´%Ö둦*Ø- ˜ á\ƒ_“¹[hqwý@¤ ÞÂïé¸bù6|)ƒ·"Æ`¥ðW¦>,¤8™)¿‚Þ’õTŒûË)ÔÂÞÂ²Š°=n_ß™á[hË +ËÔÀLßU {©¾YKü-4~ÈÝY¿àâ—ïßK.´Á2ü*!¸dåõºBN .4'{vÿ½áâfô<3… ÏÝã2†KÏ3_§Q +‡ Ê´Å™†Bââ79Dåõ¢‘Q\h [³w3‹‹Ÿ{Ànƒ™ ãB‚pr_ƒƒ•š x©¦»ÁÙÉ8®Õö/:úl‹õ]{ý¹ÐâõÆúPwž‘\¼üTŠh¤0¹4hb)}öŸö0Ø;-ú:•kUŽe¡ÏÆ·žš Våâí²Ý&.—Ýõâ÷ÚÞ&0—&…•ƒ5ËLæB[ñf½¼Ød4×êÃüx; ÝÉl.ÆkÛ} \à\Ll/£÷®Ð¹VU´hÂ×uf<“%‡©÷ e>—Lcޏú.º4ãp»lBIÉgÌsÑŤ·½ßö®,Œ.5ÆJzl ÒÅÂ俺4ª`º´¾Ä:÷ØÝ´pºX—p2Œ§½µ ÔµÚÍWEcm"u±ÖÝËÏ¿ ºÐbš‹Gí¥6³ºX?1äé®:J°.”X2h÷Z¥uÉcó†î"㺴Çy]¬ÿœþ=.Í+À®UX™¸^›“Cì’7h|Í=&©ŒìBÛù_NkfKÓj_÷BíZÕ¡Ê}|®'ÃQjw—¸‰~´ Ü%3Ô‹1íGŸÉ]h+…ü¶´(è.‚¯“zã´Ìì.49u‡Þ%CWÝQXè]hT4>È™ñ]‰ë¾+ ¿ ­SzedPx”Æhˆñç×<#¼deqËrzêË /Ý…n³• +à ‰ei»<+fˆ±3CèYLÍ/4NCŸÁ‚Ë/Çã„5 –8^ÄñÔÈ_ÎZZ̤}ôÂf’[ƒs;‹š@'‚õ6á¼ä_ŒC× )Kƒc• ^h;ŠËe-Q½äùÜYzmퟱ^ìÐÖÉÔJX/¤+*Ò®—7}÷¶Ü×ì…Fn2F•Йì¥$Ùµg7aìí%“ìsm+ íÅ®5n|‰«ú°½Ð(ކ$î…Æx>n“)Ý‹Mò©båÁÁJ|¯U6–1§^_:aŒ-ËiˆC|ÑÙ9!6f"¾x3žßV ¾ðry‰^à‹w ”ôjÂN|©t… +á¿•_€iÏËþúmpu‹ |dç +à —w\Èö/„/ +pé³P•Lø1 +¾ÚDø¢¢·ÿØ~…ðE—."û¼Ä5Â$QÏñ… ñ…q*´»nzJF|qš»Ï{Œ2ã +ÖZøø[©ÙàQ²0"6³I2ã sWܧ7Æ•Ñô&¦ödÆpŽ…+žÀJêØÇ…ñõ¨Ž¦û‡ñEõ6×nø+Œ/è!ñÈú6[ òE=8×OÊWHì¸ïqË™òE÷o?6g ä ¼I¬ñ2ûC”/w÷øÅBùbIbösz¡|a"µÿ˜…òÅ"Çva÷sO”/,úAõ±¯/Q¾(âàtîúR¾äALeë³µ‰òEÿémv›(_`<è~8£·þ(_´pÒèP©P¾XóYŸíIV(_·^Õ˜õŽå+¢Á.lU(_X>ÐüäínÁ|‰¿r0á/LM Ç"è UÁ|ѽwí|›0_·NÅbÖ0µ&c¾p”fkfSÚ‚ù¢Êç‰_Å'5ófæ&XÛDù¢ñ>¿Çfj…ò%£öû‡ò…öM×£Ù/™òE7 >ãc$Ê×CaËö àT¡|Å-®¸šÜ¦r¼ËQßæÜLÅ|ŽÒîⵦ`¾hø]âÿ3³2a¾((f|ûm*˜¯[»£kó¼U0_ò­ãœEwU0_Ìý±ñ®b¾¨©‰Ý`÷äT0_òüÃ÷án拱y/Ë +*æ‹jÔx©mUT1_ÔHPÓ2`có%O¼Xô(Ìùb‹»»Ïjæ|‘îÞܰòá|-ûË«”¯NLv›W1_ Í–§ï¥`¾ð†‚aãÕ´`¾µãmŸT9_´^Åï:àŒô%òdN3»2è‹$Ì.õ6“¾6¹®â?ÞfÒÝþT9X&}Qf¿ê6.>“¾h}»8¶3³+“¾6fÆxƒ¿,“¾p$x¬+è‹M_¾ÀúêT~:ÐUÐ蛕šKôÅãtùD›A_œ ñíæheÎ+0ŽÝ^0 çKEâÒµ™ó¥Ú2Œù+鋊˜X]ïÁìʤ/ +ÓnœEý©Lúâ-‰s »2è+ŒC)c?¦úÂOªãþ¼Ò{WðLâÆ[%Ð×åZÕË Lú¢¿P‘ðþ!}QÑJµ‰“q…ô…DyËaP`F}q¼Šýâa‚dB}‘ˆˆ(ëpм ¾.•OÇRï=£¾fx¶»‰º ¾bøÅ@èmB}!æ\Žn2ê 7±GŽf‘%ÔÒf2êKø b¢AËJíHt3\ç+ýÁwÚ…~>ûõ…´rðk¿üŒú’D¢1õåOÑ´lÈVB}éo±+¡¾t…×kð\P_º¯š§ù[™õ¥§±€s>…õåg;Ic2ëKO~{í +ëK¿)¤AÒJ¬/ýÊñ ÏÁßJ¬/Þ *,ÜKRX_Nmí£«°¾x ãÚw÷×ÖP>£Ú ëKnrÔ˜v#Çë ‰ÐÊ)“Âúb í ûGɬ/ ÇÈìœÌõr|Œ{ÏÕ*׋®}<¿ŒÊT/EÙÔ]ûeÊP/™eï+Áh›˜^ +Ûï·ºnsŒÏdßNÿãTίð' +ñÍ$¢}(1Fª½D¥=^¯Œ ôÂþ,®O¨ Ï wJ:öû+ä®@ƒ—¸Lóº”cuæó"BþÛ0–çTF ,RFyÑAs‹L©»Ê$/v]ñš]ƒñ•8^r®c"ê(Þûäi|*q¼€FÑ`ÔÍïË/BøýßñLñºT,3÷€¥ú}ŽRx§}>Q^´ÿPyì½_Ax! ôW›^Bí.”™€µ +ïáz=³¸z¥ð.Dôã ·Báe-~|úP^`²"°Šh÷iÀ‹]ËŸ³láw ë»`éO¥²ýK%Q”û2RÕ>æιz— +ìî·‡£À»nŒûÆeü±»h ÚxÎFT%r×¥£×¸Ó3¸‹$CçóPÈÜ.9g<÷X¶µ ž±¾eh.ˆ1Ín†,fdJ|ó>È™™Ø…ÄÒdŽAváÃJ'…7ß…×…„¿í}ùú® ööÀ\fZÒNVÒ3p†u!j'ÚÚÄê’ìz ªÖ¨Kÿº D™Óå˜è›]þ+nzœ]¾¶NÅ\›]º£=æËÝŸJ…ùHñ¸Ÿ€>–̶?Ï…ïÝÎ +œK?Ô2ê« +›K$êC ÿ¥„æâ•¸OÖ__"s!í2B6M*¡¹0 +²SS!sñÊž?js!s!ý9Æ0ƒãÜWWÚ,ÊÂy¨\J¦-ûH.(;âŒu 2” Iuø&e&Ãõp}l«H.%ç°´Z|W© +_óÕAÔ ëú‹Èaë¢B´‰ÇÅܸËNÏ"á¸ÔjIM¬Á!Ç%¬¹—²6Ѹ˜×cÊ\ÜêP`\¬X`-«X‰ÅÅÔ…ßÓ2 ` ÅÅÊsÝœp™ÒõW|¯åŠS^ßUFq]ö¾_¶so‰ë²ƒÊõø±gëéN +ö2öëÃuNû$ K÷aòÑ_ÒÖ_@.Ë_1×6A¸ b6ˆÅP¬Äà"êÀgùÞÂà"VaïtFpü\xÞ./ë/"?™Ìä6×&×–{¡?È(°Äß"*;I¥ûÍÍ.B9*¿LwÊø-"Ã{¡[lk}‹x’º¨í0",Û…Æ4¾º¼°·ˆ]cJ[£+2zK¹Sys›¡•Ø[Ð1=ÞöÏ,è-¢î˜Xº­_ +y‹µ?{Mì…»Eì?,àÚ„ÝbÇË”_éÌÜÒ.ƒ®Øç•þr`'jã0+Õ×J\€ *ÊÄ-³hˆ­Ì÷JÀ-å[ig:^¦Ö_@Ž7qÌ·‹_Ï„ÛÒö®c‚eüT¢më@þ\l‹Mæ¾¾6ƒ…µÅ®õæxÕ“çî4+Ž}“Q[#ͺìX&m±›îÚ ¶‰³Å朶³s÷÷ýa¶d}ƒi½ÛÄÙºä%÷šOÌ–sËjêk¡l]j3Žeu½dKñcL;68,­Ëýï˜è·‰±EÞ†RÏ-™°¥<ÐCa0Wl‘s¢AÅe–…¯¥öŇQ_ ¯¥ §>&-eºô¤Åµm‚ka ‡µi7]&³µ6¤uÔ¨«ŒÖ¢ù%BŽþ¹YëÈ+æáý•~í´t°OèÂÌÕ"¦ˆ=^óŒÕ:Uru¸Á©@µp"_ùn¯:™©…^|[ïŽ2RËî Öem"j‚™hÈ· ¨Ei\<Ê}Ìq¨ÅÑÑÛÝ*M‹ÿ¾‚N5 +0Ó´ØÝpw¶b/0­SAw\÷àl%–R'Wj’afiaØ´×­¥…äܾÁW‰¤EãÑœë: +HK(LÒÑˇ£…D ­Q8…¤…ëEŒôá×S@ZH‡—þ6q´00²xÆh¡Äó¢Ù®M-IÔèùÒCKŠM'Ú„Ð’+Çz.þøYºì=MƒËø,¤9|u›èY§Ü¸N½=‹g„ûO +< )ÞùgP3;ëÓÕ>œÅoèo6«*q³žï¸JØ,^(/÷wj/ ŽRÇj%h!Ùîg‘™Y¼Ñç½=ãÉfdã#f¯½ï¯ô‹É5ªâðá_fi,žÏð(¼,›Yn«0 .K‚ƒ÷¡eéÅ'Ë?¾0Á²˜b®;®ãþ°²˜³È©ž-2*ëRWÇo1K¤,¦Ç{Î;N#§×ƒŒÉbôñ˜×!%JÖeìÑî– ÉÒÄÆ¹²ÿTbd]¶Æ¹ýëD–În Ÿ6²蔑8R*€,¥ñãÉú¸¿ð±|I?½1W uõ\']èX̸(/¦Nd8–NVã§1Å»°±È’¢_ù2K¼¤þ}WÉ’“¯Ø=Ó.ayŒeoëR<ø¤ ºD÷÷……‰uiá=·QZ‰u©§‹LÁÑ&"a#~/k*±.=—“êŒ6±.¡îÑ•_xXäªÙ^æÕ0ÃW–)~FsS KÁú®ãÉ6±°þ©Ûö‘[Aai7ƒû1µ*“°Øž«u³fa1+/´L pXâ`)÷ I~à KYÌõ6ì:c°Æ¦pl KÐGîXm‚`±×¥«h¼¶™ÅŽû!°}>,²¼0Nè–3'}õb‘XÔw›ï›Jü+Ê|´Ó«„¿rq®"þS‰~…IÑj\H›àW¬6;†fƒX•ØW”‹ëˆÁkÓ?¾X-\ _ÐW*uÀìop²ùêVÏl ÕA¢Jà«[˘äŒÄJØ+y 9ýÛ&ê+ÉY¯bzE™&Üãü¢úŒ‚ð®ìQA^Q³Æk=&™x%. ­ÇxEÁ)òkûð®nf Mvú£]Q‰{¤—Æ—aW¶Ë¥ìO_—YW·Í®.WƒÔFºñ“º‚Bº"# ðå“ôºÂb7æóc+®nräàr+q®nqR°Õ¾[Á\‘ż©\t¯D¹Âë‰ÌÑ+%È NÀØæeÆ.P1›k?7!®”ýŒÿkp3á +ƒ( :®Ë$§ÔyJf”cü§Ä·Â:*&pÎiÚ„·Rù+(Ôþ’¯~t+ÌêÜVC¸ÜŠâ{y´ mõˆÉÚ—¨Éd+•¥D@颂¶zT‹~ #е¢b+«ñb$¬•0/£ Q¦ZѰá—h’d†Z€9qµ6’/3­h¸qÜòd•™V"ùÄÅß +D ÒJýÞ±xFJ@+<ÍVO-™g…-ñBš×¿pÆY‘ò¥sÉ‘m¡Y=bKÂÐkËŠª™'ܤJ(+ 31õÝ’Åïñ”-¼ +É +íÞ~Ì™B²¢Ö>ß} dSY!Åž Ô½þ\YQõ¿â#h²FY¡i­FeMœü<+´›îg|.ñ¬è§ênõñPæY!%ké³¢ñ<þ_¼­ƒº•»Ke#GK×ùB«þºK)KëÝŸ•€Vh'}wËúZÉu¡cGçýñ¬P˜G×íþð¬V™„sè=L‰g…—¥×Ú&ž¦ñ99ã¶ h…ƾ¹‹¬­ð(ÀDK÷´B;±5¶ñjZÉÈ¡ƒDôVhF]mþδƒNÉ}€2ÐjUgÑ`"­0yˆû¿3î/­ÐΪg°L´Â‚敾$“‰Vh1#Þ®·,@+yCpÐÒ*­Ðð¦î.àÏ@+¬!VÎ8úh…¿9ð6­p`Àé$x"Z¡ÅÓYm(@+ %V¢Íýxµ¿ÎRvX7=ožÑJn$·ýdÛD´’‹É¯˜¸­d~bÏ#¹Ðj•é^ìU·Ÿö ýñ¡H°› ´Zõ?HàÜ&Sý­dQ+Èí™´B‹­ß±œÛ ­*.3q×»ûš Ï +‰Ã¬ç_xVØWÄ‹Æ&ÏZâY¡Å +ò’0 +Ñ +k‹=tó6­Ð"†»FéMAZÉö‚âvÒ¦ÕªºÂõ.n…i%# ˜R6·@¦•-1n½µ‰i…%FLÝÐy(g¦ZLa+e›˜V²Ë 'tõÔ‘ VH7h€Ó·¡V¸ežïv -P«Um]?'øµÂIcb40fj…F÷/kÿ¡2Ù +íÀ`ú0Æ,“­ðy¡øD›ÈV«*âõ&º­ð€ÁÙ}TƲÕ*+ÏxeµM`+ìaâ‰/·M + +Ø +íˆíêþ~.­dC‹ø= [ l…/<µ./¼êo#à oüXÏÞ&°3äíÜB[a+³<+…îi¥æU´ÃiÐ6q­ä8³È‚ak•k…Ä ]Ü _ÀVÎÄHÐoÒ&°•¨»; +Ø +3uÑ9¾+`+´ØíÆüê÷/“­pªYcÇuùS¬±\öÁ$Ë\+YØlø·Ìµê:=g_óåZaaC6âƒÂµBƒÈ}™ÔX¸VØÛPž9@ kÕåT3̘3Ö +ëâÖÍnKk…v£(sÂZÉǃÄ(©ÔÉŠæ%䋵Âçg>a­Ð0ßÜGS°Vxæü¼O&¬ÚIÎn÷—°Vøé¬œøT»`­º²N ´I.5´â¨CSýb‹ï‚µB;)xu/aÁZa·ÃL»¸V§`­dųwLAuï k…†~Ýþmk…¯lŒE‰2Ö +Ÿž˜[ãƒËkÕ•ÉOeÒOÆZáÔÃS¿¼/X+4j¨vÛŸ®6>8ù»½`­äðNÂõxkÕUfÀcX>X+4H?w°„µÂþg¡´À¶ÓkÕÅ]Ƴì%^ý6²ŠAM¯C›¨VhTZ¼d¸DµÂ(Æn,%æE%¨U˜x[†õrZá¡éý˜ÈZ¨VhTÝÄáïLT+œƒ–ØÙînI/T+´÷ë÷*ÿZ\m8a9üçR+ŽC;G_Î1¬Æp×9pX k…ÑÎdjâJÁZ¡Áqi‚µÂ«(¦Ák.a­’uQÁZaVmekaÆZ¡avø@½`­p2Šïs|2a­Ðn|W}è_°V]%éµþ΄µB#{=­ Öª‹I&z¯µ¶êâ&ýÒlÕÅhÀNòú€­Ð”*ïm[a‘Ád„N÷l…ÆuñÉX[uåeÿ¸¦l…ó+µ'w›ÀV¸+~Ó!ƶB‹ÿÿÉskØJÞK4Zß_[¡,¡´M`+4ÎÅ[¯°ÎLØe÷ñÛf´U׈I¥Aam…mSü›Ûå­™l…aL ¯^™l…¥S<¾Ë9§¶B¢ `¿++uÁâé!Â:pº™k…ÁʲØ'ºp­ð{Z©V½.3R•¨jpÑ2ת«*å¸]Y°VH‡Ö«/Ö +ƒ¨% +Û„µB‹™åÆk£MX+4Fþ²ŽGø× ‹{T T€„&?¥vX9K±ï>Á)õÃb-…5_Û&¬™X‘±VøN­àÚ·ýƒµB‹ýø=ŒÜ +ÖªËå96ÞæÁd¬UWn–éeWý¶ò«¢[öߘºb»jh–ûvÿGáZ¡ñ²¯–úbq³Âop|ªÌµB#×rúì¾p­ºR¼sú‰e®Ú©¡¾~¸V¸]-õÚ‚«p­Ð lïßK\+¹dÅ—^—ùlÕU¸³P,z· lÕe`“£{ Ø +-ºÔ7—ë°ÚÈJC•Zd1Ø¢&ýÅ”$²Rü©î¹V(Ãýr¢Zá¼…yh·§~¡Z¡Ñ·º¥P­°åú•ÈNT+Yvf&IýµÉâØµà“9è2j…v¬‹"6A­Ðäp\¨V_²Øà µB‹Hî<Ÿ¼JP+ì¾âÿ|©4‰i…(~ÞÒ +)V£{À5 Ò +“0< í-RˆVHxvw’yV؇u\Gœ+<+´“¾4ŸÛžÞbÚÖåþð¬º²Ì —ùj?žÚŸaÁYa<¬CÞ g…&°Ã ÎdœU çú»Ì„³Â²Œ4ìà_œZü8z²mâYágÓ5•gÕå*½+ÜkÏ +íØç„wáYÉ ã;w žçÑmUxVX¢-.IðçR -Z¼×z1Ûij²•ZLXcgž^jñSÅüofPæYÉgšíA2Ì<+´X×îÞ̳†­S“µïL´h…>§Û" Ï +í‰e+8.õÒv5CíoIVáYuu^a9ã{Ï@+,ܰKÚýfžUwí>KÅÚ&ž•ßÜj džU¿Ì®[£¼2Ï + úæ˙gÕåIs¿u…gÕÕúïé6þ\jªíb-û;f3Ϫ«¢Ã{/…h%¯9¦V·} U—cݵŽzß ´ê²U¸_–vZu5^š–Û´B³_†‰’h%»˜"¯cРRs-víÄ«tÞmZ¡åŽN§´B‹ é=Z +ЪË(dl ÐJ¶x7§šž73Ñ + ñË.¡…h%Ïf «gìçØñßH+urÑz±ƒ¶RðC­6#Œ ËmÕJÒ;=Tª•$6›·ÞàLµ’´tpXÜeÂZ¡\”¨{ÏX+I§óŒ­b­$‘·tF=c­$Å +8úN2×JÒâ­U®•ììîóÍ‹g®•$eo­˜™k%i?¶øË®•´Nöþøp­¤-ß ü̵B;no½Ì«Ÿ•½4N/S 2ØJÚFÂÉÞòl%tßuÌ`+¤[xÒûRØJv®¦.`+iiÅðW&°•´X#îAûúãZ¡ÈBÌ?iáZI;®t…k%-^¥nϙµ’Ffÿ,©Ô]€—¹­T‰k%N•k|gâZIë·ÒmâZ¡‘I…hÓ&®•´x²÷m¬PæZIÃWÏgj…k%m&× +~£n\x[I‹ñ6­¤­ +š—ÀVø:F4° …¶’F5˜ " +ØJZÌü»Mà +ØJ^‘ìÿ|leIZCüe°•´„ë²}ÀVh×uaNlÒTê8¶/Qô6‘­¤-á™ “ÉVhçIKá™l%­‹fèkId+4Î'—FÊd+iN¢¾Ô«Ÿ¥½´_þ±€­ö3~{@°•´Ž®Ñ l…±Uaˆ•ÀVÒèJñ¬“¹VH}ìÛĵ’F‡û³ús‰k%môî·‰k…¶R`âC[IÃÒÆn‚leÓÑß2[ÀVÒVMþζÂÇW²ÇuÅl%Mós2Ø +‰Ë§º…k%‰¾ÛÅ +× +-ždìGÊ\+´ÿB‡®•4Z5ž*õ +žv¢,X+iìÎy,c­6MèËX–°V’b®é.%+X+´X‘0ø^Û„µ’)lïPÈX+i¬áŒµBŠyåv¯k% ‡(¬eòƒ/]°V›š^~P炵’†—‡›­ Ö + ßx7ý k…oL»µ„µB#Òˆ,X+i¬®&-X+´cç\Ô,ÄŒµ’û.5è»ß±ŒµB‹ñÔw÷H¬•4:õ÷탵ÚD*mÖ +‡0<ñ Ö +™wuj°`­0~ž¹¹`­¤­?ÎwÁZ¡ÅJ£_°MX+´˜]±s6f*a­dXì*:c´Öj³G×[LV°Vh;FPnV.X+4ST~´ k…†•æã3²‚µB£êЉ‘Bµ’´Œç7Q­Ð–ågÜU¨VX5?dFÎñ¹Dµ’sìyNÏÓj…úwnücZ!Än`±iRFZ¡ìt‡î¦×e¤vE‰ú +Ò +­cDâTAZ¡1XG1ÅzùÏxm1)#­p³~¨A0¹¼ ­Ð0>S<=!­Ð®åøáçÒ +éà¼`Li…†3ë:ð€i…F·óËôÌH+™n¯`¿=-d¤Õ¦ª“?"kFZáã£Ttù6!­Ðb€*èkIH+4 "#éTVò?Ǧ{BZ¡í0ÁoCÊ2Ò +­³œ!#­ÐH9݆"¦Z„HÇq¦æœ~ïѪ™ie{sMX¾–Ä´BƒŽä’ê‚´BÚ)gu$™‰VHSoš‰Vh+åé~í2ÐJìøñ¯/³êdzBŠÐ,^¾ëe]ýxVh'¨»®žN÷óÁY!Å! à6á¬ä¿ikôÁYa/Až6r›Ï8+4ÞšÝ;„‚³B‹˜qÝLí,<«®'´ÐEm´Vê:@‹»‰_±xVhñ2° õý%žù7僓xVHi;\€V2ÖDå&º´ê²H±wG›€Vh«^îuZáâÿPÕ>Àah%‡ÿØà-Þ U·Y ®ŽºóL´BÛ aº¦ ­ÐV€‰^“ +ÓJ°³ÔšJP+´xrÛ½Œ¿—¨Vh±Ê<±€øÖ +­ŸoÅWÁZ!-ÔZÚ°p­ %ÄðÕ/K[¡AÕ¸VÓB2ÙÊ”~óÁ2Ú + ¬ôh‰-l+¸ 7)Î[‹R[¡qÒx K¦[¡Q8: +Þ +m•õš ™oB"¾`áL¯M€«.Ï€×÷¤®â%í: ˜Whì,O»ÛÄ•`«ó.mb\¡¥Ú´¹B‹ñéŸy¢\‰áÊA³¢æ +ä^Í—›ˆ +ç +íˆ×ú³tÕå={üî!“®Ð0Ó?¯ñ÷ë +øv:û2þÞì +)~§b'ÚÚ:vÛ„»j*î|™w…sÌ›ÑÍÀ+¤þ©âÌUH¹¸ ¯ÐäÑÚ?È+¤Ðþò{”™WݾW¯[@†^u¡Ü••¨Wh ŸúìÚò·m/Ü+­1ì°%ö¥¤¶4‚©Åõ?…|…¶ÐÜ2h7}¥<0a÷øÎľRþ8Æä¨Ô.ð+rÒ¤@\BRàW]­$*=³dú•ñ7×u½ˆ«ß@ys‹mÂ_¡Å”ÍÐt©Ä¿RÿÄ‚§Xäþ¯‘äi«Ûo8îÛ‹^F`uðþÎR +ËçµT¾‡ÁB##±ïãs‰‚ÅY +NÔ…´ ƒ¥3˜g…ª§:T˜ì˜AXb ™mY&aù©_îu,$,Ÿ@fܧñŒÂBS•«a ‹ƒ°+~©‘Ì0¬.÷©í¥ +…†¥#¹wý›pX:Ê£Íø…‡Åñ`È¿¨!õ=$<?®€}ؘùXª)ØuÞd¬Vj8à}Á”·ÛÖ¿ ²TßÔXÁŒÈâõäÜ„ô|›Y¼Ö¶š3û.C²T½AÊæ°!c²)úg×ýád©Œd[UN:q²¨ªÈé¥a¥Z£›ò5I…”¥R6£²ÐºÛ1} ¹ßtå”j¡e©ˆ…Çw¦ei&ë£oÂe1î”Ü® +‰—¥Ê¦Ø¶œ}P¶0‹ ÷¡ŵº…˜…†ÝËv¿0­TmDÉLÇØÂ-5ÐïúµšVn8 g˜-´­Î +4 ƒ-÷~h–JÝÖåͧjËš˜W.a³X*!#šÂÂÍB[¨­9S¤rÇűîrË6ü§]/ +:‹Pàdj²-NagAÜì?Îݬ«Üq@9eÇOÚÈŒLÏ"*¡fàÙŒ<Éø,¢™íÏ0´ð³âR(îòßK-⪈Û"*º?-â1¶}Pˆ2B bÊn7ÂÐ"ÆÃDq¹^h6nƇ…¢E¸ ^­ÆHÆhŠâc02F«‹KÄ+Ý_ÄÖ_ÇÁf¶]¼Èþs¹ã`ã·ÄÑ0ªLÒ" +gbÙ‘&£´TØýc^BfiõÃûY=, L‹Ä¹ciŒU¦i±Á|÷tsuÁi©>v1£À®ð´Ð–?Ìpji£t2Ø´±(D­.ç•åõ³/H-6fU­¦vd¤–úöÍÅ}S‹=âyþÊ: +T«Ë?$ÆŠéªÅ–”|øó"ÁU Ôå1Þ!cµÔr^ç³{0$®–6ÎOD&‹ù¬¥ 7 +>W)d-6ê´ƒ‘‘ÑZê¢ar½ÄÖ"g€Òc~zk‘kˆx÷Т:ÑµÐØù9¶ ¯¥Æ#n`ü™¯EÚƒ¸îéƒØ•›8ò^”ƒ¾•›ÈÀ°Qî?í¯æH¥¿øº@¶ÈøÆÞl¿T([d‘æ¤1EdÌV—U«†¢Á]‰³¥Þ6*“®ñ\h‹ŒÖ†?ÿ6ðR¹é€Lôؤ½ŒÚRçÞEÉ€ÙN™µERîâÜ5N¶¥d^lG®·Ð¶È>¸`í&âdÜ1¶@.¼-2Ž1kÊû±MÀ-2•¤±÷Õû#n©“³³§º^å¯õøÑû÷ãïdæ™Öâç£ÌÜRŸ*­¾Ûa®T‚n¡Á9 /S·Hú’í‰Åói»¥<ò=öÆxKùgù‹›Ï”É[ä­©…;¯ÌÚkã1®ÐêšØu¨OùÁôWpäÆc‚Ÿë-~.ô-Òñ$}–ÁÊø­U5L1§ÌRâo‘ýQº‘ýh€KáÌ:N\eçÜO¯t™À…± gԺߌàR¿{¬ëäÚÄàZźÉ'ßm‚p­jøéT‰ùï% +×*³Üq;‡K‡9ìmP@\:ŠWã¿—H\:8¢ufÌ–ÅÅy=€‹Mú +‹‹s*&ˆsâ2Œ‹ó-¶ûâ¥.Ó¸VUG ìüFÁqÉâŽÉl0·ŽkUé­Òܺ½Ìãâôn§‡þW% §~SÜãP©¹8ILî*É%Žg}«ª “ “–6A¹VUc¿háåâ0”mþðö)T.X#žŽ)ð~‰]¿}³ÏœÛÄåZmÖÙ·ãæ’ñJLúÌÀmBsqF¬àv~Ø\œ;3›ìƒ™á\ëáÆ§Ý¤¾DçBY×ßéOÁsqNðtNktqªNãÝqÖV"tÉm§Ÿ¯åLAtqŠÿl*æõ$F›ÉîÜé¢2cFE£¥‹bƒã<ߪ܂钯Q¼™‹óŸ…ÓEmU–£`0£º0zºŒk.¬.Ê%°œ:Í©)¼.y=¡~~T®?"ö9×Ïß«»d;õwÐ\]Tƒlö~,™ÙEIÌÛëv -5P˜;¿Ø398ÍØ®U=^2Jþ€»(vyãµ ÜE E·Ïá +¹kU0ÃÞD‚Lî¢ZçÑäž‚îBcž}΅ݵ*³ü+;+ð.9°=´.|—*Ž˜Y¼E(ü.U*=(;íR^T8íØGšûY^TFñšv›i„תÿ“LO«/”ÎÙÀd†×*ó7ÊŒqÊ/ʾðMæ`¶M/´e‰Ùrl­?Œ•dñdRÆxQF +—œx›8^Ô´Qn×S 2È myͬ ÇkÕñËN‡¦µòRuÝ›Y®$/Šòð¿õùG!yÉr…‘{P^«:™ñ2'#³¼lHŒ2Ì IÎÏ/ó,Ѽd‰c¿ÓPçE#Z·w…çEi$3þXè…±O¬;ÝŸëÙ„ß È–Òk•oÈöRï Ók•#d¼ùã‘e¨×*»~@ ¦bdª×ªç‡qQ[‰ê…D—ÍíDyázQ J[`,¡/óëÏ|H=|û>@Dì% Yzø/¿²™ìE­,áw<CµÚ‹ú[¼¯b +5ö+±½Ðb=ÄcíjÜkÕY1ÆK«?—è^«Û|¼Ì÷B‹ ‡1´RϵÇñn/÷9¸[©ç€’ågX· ò…ÆH»û#S¾T}§2f$c¾Ðb¯»Eó…2ç‹Ê꘼3™@_vhÞ‹j•ôµª@à~óõEý7Ù¦{\ff}Éb:ž'-m‚}¡Å{ÿt¼ìr}A÷î–p_rÇ&?¦ôÌû¢ä]æ.®(įU낺[E~­*ÏØ_0ta~©‡b«qá‰ùE¹ *î**Ì/–µvó(È/µ\”Æ_H»“o›_¬®üÄ»©;™ùEGD_Û¸­ÌüÂM‹&«Ó¿Ìüb™'À²Ýta~Qkááá]a~Qû@æØ?Ì/âãÇ ÉÈ/º2è¢ØÅŒübÿCDÏ„ü"A`D£Œü¢œàˆpÍ|ù%¢OŒ“ÁþÉÈ/ª™nÛ-¶‰ùÅÁü«ËÆ…ùuû(ˆ61¿nUÆiQf~#n?sa~±Q†r8ÉÌ/ÐGl{l-Q¿8WÍ —‹Lý ü"s:€`‰ú¥Cöꪡd‰úu«0Šc„6A¿n™&ÜÝ»˜ýÉ‚å_Q]~é …–^=¥Ìü­Œvý²”˜_Ìœ±arÆ»0¿8&èið››™_œ’Çt³¸þ¦0¿8$ãèb‹Ìüâˆ|…Ñå_83¿8!?™êÿ©ý“?å„G~é|œHàÅþ°_ÇOu¸c«`¿¨O¤‘ß-ûu+CÇ™yV û…÷ÆÆ¹áòÁ~qʆQ®ÑLýâØ|ÿ9î=ddzín +)Ü/6Цó ÛÄýp—wÀ½ŽÂâ…T¸¸p«p¿ Ãy½5 ÷ ßÿˆ³\üR°_³?ýl3ö‹£JlqU7c¿øuþŠ% ö‹>Ç…–|Çû¥£ù˜éÎÅ€¬„ýºTGñ¬Þ©TìÇöx\~©_¤ó_o3õ‹dÕE·å‡úÅZÜ{¬xþ¾ŒýbËe“–6c¿8¼Z—ÉTê—S š~¨_SÒbàj¡~lsߪJý"u®–ã»ÍÔ¯Ct–Øt›–©_2[Ó7+õë ‡~;éÊÔ/A%èøR¿èŒØÜÞ7S¿ØÑâé4€`™úEnõ`xû 3õ‹&EúSûE-I¼Ó>Ó¨Ø/LßWì‡úñÌî±_Ü»D +ök~óð6´b¿(®8bÙZ¿Ø/Úlâa\Ó•±_ŠZÚŒýâ˜ãÇn)c¿0–ë}$ß3÷kc$ɱ³ÍÜ/ "'­Ô¾ôÌýâlóQ3s›¹_2Õ]Æî³r¿(sú±û*÷kãZU8Þfî=2lZM)Ü/Ž»bº0T´€¿6‘§Ç +þ¢"öm௠@¬6 +ü¥Íx¬à†qeîW(ìíOßUá~ш›œ•„ýBøU9ì—$lª¯—öë ö§®Õ]žû%)ƒÇ?cÆ~éúèzôË™±_º©þvA é $Î ÜJØ/=·å° q¡~¡´ß{¤eêÒå(°MØ/~×x£D öK?9…ª3õK¯Éö¶Qê—^.ÌGͼËÔ/U*Ñàsú ¤>]$j|¦X¨_j6g×´¨_ŒŒ¾RúaªÖöKÃiyݳ +öK„eh?¶×Ï)~p3¹ õëw…—Úß—¨_L[ «cýP¿.eïbÙ6Â)S¿˜Y⦻Èê—æ£‹V§êsؾ°à|¨_Hl&˜LýbR$7ÐI™úÅTáÅK¢ËÔ/$EXë+ýBrMÍòÔßÊÔ/¤ØÏ"ÝBýRy[\☠2õK+D¿º{ +õëÒÓ\]b~±àì¿f ýuéfE0D,A¿.ÕŠS ä‹HÐ/Ö=ÎÞíÄ[ _:€è¯Ã†~¡Ä€ã ªMÐ/ê˼<˜t• _,̱—èÏö~‰ Sëy¥Ÿó¿<ªcïhsõýRÅáÐ)Q¿ L1àlÜ]¨_PÅVÔŵ…úu©õècˆdê×¥"#ª»ÚDý2¹ò‚ÁÝ&ê¼ 3j +õ‹X)®îü{ý’í—Šlˆã?Ì/ý¨¿=3ó‹€Íñ´¡X©÷öRÃõ5PÕ…øe€fÄDžÒ3ð‹à0Þ—Ý+bÆ}]œ­`«½›–h_H#žÇ û" ý³=.¬/Õ¢® XÏ6±¾è ‹Ÿí¶›DA} sd¹fŽ¥Ž[¤û†}nÄY}áPbå #s¾ø»ì‰ºçŸŒùbßaÞ=n¢|Ç/ÔzúOeÈ—Büxw.93ã ôÿmsµá‹-C¼g÷3áK=pe|!=˜ ö×ßëÒ–gYÂ{]:ï¡oþ%xýü³¸øï÷uç“I\ØoÅÐX¶íCâB¢0xP3ˆK@Ï[mâp©­‹Ôþöáp!]Ï»Ú$ +HXÇ/§â „ ‰ŸßGÎ…Áu›w1& ƒ‹(‹^xҩ؃*¸T‹ç†Ý6¸Hnó˜ö~K üEój›è[ê~£¸É¯J†oQ¥Ô‰í½Œfö–8äTõ˜-˜Ñ[H`î(“·hOé8Úz²Íà-u®¬²lw 鎙ÝyúŒÝ•`¥xÉŒ¥LÝBâ¼rpÊ2tK^ñcá›™[HŠÞcÜdäÇ#ë,ƒâ•ˆ[HÇFVÇ+·n?P ßÛÄÛ’·÷õ›–n gÞÅÊ´-¤ƒnûÀ¶nYŽÇ é…>³¶D|mÑ&ÐÂõÜogæl!áçj•ŒÙB‰ 6Â7_C¢l±;Xp¢ò¸Ê-$4ç˜ cëV>êVn±…tÅzã¿”øZp(ÏÜ ¯Å9©Äc7a*5¹"Q+xïG›àZHôÆŒµ/³µHsïø­u{¯î´tk¡Ä×…«¥ +¿Ÿ¥vÁj!‘?X–U )öaë`Sf¨ÖíœØåê§ÂÔB¢¶Á„«LÔBÁ“pðÉ2P éÀœyýð´B¹œ©*8-$jO¼(4-Î#ÉQ&Ùe˜–Ž*™Ûüœ2K i§ÌøªÔÕ*Ç‘X­ÎA¯JM­H¡fòÌÑBQ´|0Z`¦b(o¡BÑBêdâŸDKp*ÊÌ ÓÍ -$ûû®B )†ô1ö@¡…‹ñisÝBÐBzxk´A/-qàïš%•ðY(ýϬ>Ó³nm‰Øîlm‚g!Åd³û°°³nÃl×`†dtÒÅsמúX‘bŒ½‰¯ÐßóP2.,u±Þ‚9-}–ºX‘⿯>ø(Ô¬[&V±tÚ?C³ÜMÎ ÉÓ&fÒŽYTÄ,„&ŒÁC˜…FÂ=$…—¥y +Á pɸ,r#8^8w^hYJ›`BaèUê]Eép" Fˬ,¤­Çd²[J¨,$æ?çC +) éˆ0g ¾' …(bpb2& )~é¸$}_¦dI¢7ÛŒ’ ÉB"ìq_ad!=—¨;mbdqÎÿÎ-n……K nämdép›DÿX™…ÄžÓŠLÇ’ÓñÖ×6Á±ÈZ»+¤°±Žã8‰+uª¢PÓùÝÌd,¤‹ +ºûnŒ%%ÆË7 KñBÛá¹`±ÎC¥KR܆‡ +‹ÒqüÚ&3±(åדHH,þ{¼˜·m KR,O¶‡-@¬Q£Þ}|ZxX’pZ0t#ã° ó{ÖsÜo¢a!²K4,)rQ4€*µ¦Þj&xž$£°¤<ìe?$,™RDŒã.åÂBÂCùð g–$¶ σ…ÄùÛx•2K[ªWù È©„êÇKÂhkšøWw9ƒ)ø+I'µ/áê/'­H0¾~àW’À½[Êì+$& +‡ã}%…·ôzéVá¸l<SÒ2øJRÌΛøW6N(Ø+$ŽÜ‡Q¨W’î·|¬@¯TN…ÿúò°þÂq$|±LLÌ«Ûï´”‘W’vï4‚3ñJÉ +mž +ð + ˜ö1pQ©÷TÒ¡:ä6ñ®$Å ½ütî +å¡xÜkoÆ]I:½zO´+¬Ù(Ë~Æ&Ø•$X]ýú’t¾pø‚ºB¢˜a;øúk:•²‘ +ò¦žSI¶ºkçJYHƒºå +…±1‘dÈ•$Út*1®$Ýøðë®âê¶—ÕzýàW?ƒ{I;ߨûÍ€+I±N¸^·ð­$±È½«¿€\'Ÿûî’t°}òõ%¶•$j6=ˆ3Ú +é #k´j&[IÒŠç/L`+IǺû¡p­n—(Ǫn\Tê0•ô<Ý]…j…tFã1—™VRv6· i%é¤}koÑJÒ ¶ô´B$îέ³’„ËÁ@k%œ•$¶Çž÷3ÍJR,‰×á ³’ôl‡ñ +Ë +‰¾Øõú ¬$9;Ý*ÊJÊ!©6‘¬$Q”þ|HV’°gðmeÒŸobYIÂ0ÈC+s¬$íë žaW»Û©@¬$9´oÄJ’IÛİâ[9BÍ+Iì ¯6¬¤`+pÍü*).h¾JÒI{ªìø3½JÒ_h4R†WI"á©®°«ân÷ ÚJDN,¸Û+¢€«$Å›{ïþSG‰Èc,m»š ¸JÒI×ïÖ&n•¤ø!S2¶JR¬Z®Ó(Ô*¤NÚëòszJHÎ[3ðº…Y%©CmêmBVIrØÑ&b•$, ü·2°Jf}ã ·“°Ý×@Kí%(gK:ü\ ­JÒóc%eXRŒ„îÂꪒDðÓý…W‰ÊÙ‘^n ͤ*)à8ó­î•GSE÷‡«JÄz³Ð2ªJ½iVÖ”ÇÈ}k… +§JÒmhAåTI‰ÁûŒ¿´•°œ—sÙÜj/aùIæl42¤JRì¬Z)3ª,ÝÃ\¸ ª$mܽÿÖ•Ãr\£ŽÝD¯Œ¨’D©©©!™P%‰•çn¡ÊRü"ƒý´”¸ü¤pÜs\!TI¢žnñ§z‰ËOüOÇÛ”ùT’þÇÛ»ìJ²,Ivóú +ÿÊv{›6YÝŽX3‚ÓnºFü€*"æîªyNæ¾77kP÷dÈŽ0ØCÕLU—-›YãñTyÒŠ°O5˜æU3T,:Щ$m§;°©¨ØxÖÑ@@SQ*x“Ç L%¥-ÁKE©æ ç°TRæ>îT*J8^Ro÷P*J¶8U¡v<“J^о•ƒaŽC’¬’@¤’„‚s¤RQš×y`àQIBA]†ÃQQZ,ís¼hT’Ìw¥I`T°ÌlLšgQIbA™ã…¢¢$6çñ"QIbA¹ã¢¢dsŸüÆÀ¡’4P7ÿxq¨(Ù$£Ê]C%iœJ› +*J¶¨ÏM~ªÁ4G¬o¿PY͛榬½wT”@C9/:•7Í;lS]ƒK¥C\_™Á0ïî;+Øå˜–d³yð…¡4ÒwJ#§ŽvŠ’-ŠÚóÔ)I(ü’4”/ST áÄ)Iµk£<§$ÍS¹˜7ip“SW1‚YnRU$`€MIAŠ »„gMQRÒîñBMI*#mÓÌr“Ð¥ù-š’´š,¾À™¢”w¼0S’šrVdJÊØ§L1E©œm#D=bJ’ÚÝT VyGf€ìΘ’„=}k«•5¦öè<^JJ)²Ê]JŒ¡z¼àR’Àaû`KQjgSùꀖ’”wÐ@–’d/_Ì©ýà`j38ðWX©tü÷9ÿŠ.²,Çð¿äT÷‰Öðÿó/ÿÍ~ï?ýxl™!Ç¿ÿ7û}@¨®6PŠ Ç²‰ZH•-˜ØQéÅšûÏÿþ/‰÷¯øŸ†ªÎø³ÿãÿúŸ°gý?ÿ÷ñïÿû¿üÛ¿ïfæ?ß âF‘ó­¡Úê\ü­a¿ýź6Pö¿ÙÚx„例üë›ÿüÍ!ÚÞ.Ø:ü¿Ò›D^Ñw>LlbÓ+ÿª½¿§HVÅ¿~°ôñÅLCxÀiù§ÿwPO$ Ÿ@`Á­Eîh@ ±Í~$˜xE#í+¯YŸ˜á‚|ãÈø›f¾adüMk=2ê?:2þ¦µïÓÜ·ŒŒ¿{udd ©ãd.î¼ùåÁÁR²pÛÚkl8áËCƒ5’ñe3Ǿqhü]3~hü]k=4þí×Ú7 ¿kî;†Æß¾º?34þ†¶ù»ƒ‘3m&Øm¯Ñá•gxüf¿EF\™ÿë7†GþŸñß5ÃJ«(7ð÷VÎ?²,ÿÊ4R뿺´Ý¿Þ6Î Ç©Bã»mÿÑï·=¾ÜvV,î#ì¶ÃG¿ßöüzÛ™ûÂgChÇnÛôûm¯¯·û F¯¶ýG¿Ýö:¿Þ6¨ØÏ3÷ý~Ûéëm#û5¥‰°Ì«mÿÑï·¿Þ6Îöëyúî¶ýG¿ßvùrÛ¬ÄÇwøè÷Û®_oaÛf ¬cµí?úý¶¿>¯¡’äk|‡~¿í¯Ïk¨øßá£ßoûëóŠÐa0£ +ùÕ¶ÿè÷Ûþú¼†zj¯ñ>úý¶¿>¯¡¤Øk|‡~»ít~}bCÍ-Œf%¸÷}¡ñ¯Ïl¨oñáá£/4þõ© ìÏ%ݯ<|ô…Æ¿>·u…¸û1>úBã_ŸÜ˜yøè }vC:!†43äwãþ£/4þõé ir¯a>úBã_Ÿß+öçá£/4þõ ‰V¯q>úBã_ŸáÖüçá£ßo<}}†Cxâkœ‡¾Ðø×g8Dy½Æyøè }†›b}úq>úBã_ŸáAòçá£/4þõA¯q>úBã_Ÿápþÿçá£/4þõnªP”çá£/4~Ípu}î.¤Ÿì.Ü»ëK÷8¿Ø J#lOd~Á(Düäת÷dU¿4Gåó‹ !ÊhOÉó n,p´_kèÚ¦ù·Mó[ å¤!ÄR‚Ý>çîá“ßl¹ü-W¦…ŽŒz6ì?øÍvë?ÒnÛ7ZÛoß_ûGÚA½¤ë´¾Ûsüf»ýh$PT0‡îaî?ùò6eþÕDòl+þ¹_F¯ÿJÿÿê5ã?6´ )Iñµç½ïi#NyßÓFœí¾§8Ñ}Ow_âµ·¦ª™ýÁ7®&ô_ßÑÆµ´]‹Üw´q­j×úöm\úÚßÑF㨻®Ð×?Ô¯Ž4¾©Õ_f|O«¿:Æø¦Vq€ñM­þâèâ›ZýÅ¡Å7µú‹ãŠojõßÔêkMþŽ6~u òM­þâä{ZýÕÑÇ7µú‹CojõÇßÔê/:¾©Õ_q|S«¿8Ûø¦V_6ôw´ñ«ƒ“ojõ'&ßÓꯎJ¾©Õ_œ‘|S«¿8ù¦Vq*òM­þâ8ä›ZýÅ9È7µúòy¿£_²|S«¿8]ùžVu¬òM­þâ<å›ZýÅAÊ7µú‹”ojõG'ßÔê/ÎL¾©Õ×Õw´÷¨@¥ž¦þÎ.ñ?²c¡¶^}K«ïXËðËïhõ#Êò#ðò[Z}ÇW~„\~K«ïÈÊ`ËoiõSùfù-­¾£)?,¿¥ÕwåGhå·´úÚSþŽ6>¢4?7¿¥Õw|æGÈæw´ú™ù¬ù-­¾c2?Â4¿¥Õw4æG€æ·´úŽÃüÍü–VߘA™ßÒê;ôò#ó[Z}}Gq¡žßÒê; ó#Æó;Zýˆäüîü–Vß!œQßÒê;vó#œó[Z}m~Äq~K«ïhÍÎoiõ¦ù¹ù-­¾Îl¿£аÐoiõüùú­~D}~‚~K«ïpÏÐoiõçùúù-­¾¿¥ÕwdçG°ç·´úéüˆòü–V_1m(77×çO2sQrU[^GÃk_ìGÞþ¿¢‡ÚÿÙ &dÝò¿H+ÿ[Hºµö“>’‘Œûcþ37tî*kG"x¡ýmÕƒ²­T˜×ü{ýüM¡VÛï>GÁ…þÚ›úB ÕÇo¼¤¿zp¿ßÒø‘u'ïçö“¶~þÜREí¾o}p_iâŸ|r_hê/Ýow9'¾ùÑ}¥‰òÑ}¡©¿|t¥þz^-ó»ÝšøgÝï7õ—î£TNC]ú—]|×çäǰõ,÷Ñ?î‹Ä¤ŽÍyâ8áWƒÿå—ö·šŽ«•Zògéü3M§VêOZ8ÿ·?ÓãÖÇÖOîá×óÚoµPÀ°ìøã&þóŸi"ƒÂi½®}ßsšä,¯ŸÝÄü#-²öç‹È¤ðT[)60?[(¤VFÁП´PÿL ãG³§4~òRû#-€ô—Oä°}¶ÐÿH ¨7jÓFýY ã÷‹0}9ú¦Oü#™I_¸æW*’‚Ã×Lã«9I¿ßæ+ É5ùµl¤/´ØÞ7÷{yH_h!&ù–¾”ô…ÓëWÊ‘kò{r~’¹ÆºÂWúÈ÷ô—ϬµÐè·ô˜'c-¶õ'ûÌg¶Zlë;zÍO2ÕB£?é7k_Û*t -6õ¦föMé¥Í^˧íL'˜HX|ƒœþfMÿB¥£ä¡¿ø[óý÷ȺÄ÷¼ï`ý‘Rff¼}ÜÁßX%±ë¡f¤Jûç#Rýóýþ;øÛþæý/¤?ñˆ€¶úŽßÍ Tð»ÆG)È?òdþ¶?q©‰×KØã;Æ×ß6ð'Æ×ß6ð»ègnñ¿žü.†-˜‚Ý+㬿ÖîÒµ­Â}~¾%p ²Ù£íøWÂAa¼nò'þÙj–|ë ~¶ú¿~[«6ÛÌeö'­ž?±îÿP«¬. µ?ïõ'îéj0¨ÞÛøÉ­~[£)ýÈ ÜŸÜéO<À?Ôè :?ïôÛºR0½ƒÃöÿãã(Çî´ý¬Ññ]¶ù#Ô÷“WúwõK5ƒåý@‡>p_I¨[@4S1c…G“ÿã_ì>@¨›½5I«Œ2ÅY…„º±f¦D¤:j™8ýf#ªgÚ”Àsž,Mœ@Ìa$j`¶NÒÅ á]7 ;©ÙëX¢:GÑ7„Fš$57I«Ã¦ %{°óºóEZ]kšiòäÉ$ëÇÄÕÙ'Ôú™'в[¯½CZªöY»:›wë¨åæy™ç?Ì5 Èá@)"ë¬é-ôHÍn¯Ygb·‡*Ô…(9”΢5íöÌwšu_K#¶n€uAm:SëäÖõÕÔÞ8ïN–€Ïá08jj½"ðó.t53t6&1 ‡×ŽrÏÔÌõîÂÕ' ôpóY—Iºq&è+¡°6xçnPŸLÆQD4·•Ô°iö˜êÖÖÆ›IK#ƒ>G-“+mž¤†ò•p1^?¤öÕ\[qLäá”ÖyÕ®ž4Q0ºíkiÄŽÚ²ó¤b7Q +Ú2·fîžk¦˜iãê‚6²³­‰ºÎAŽ]$ˆZ%dŠÝ<=õ%µ·W\0¨gÏÓÙÚ¬“à=i{\â5ÀʼHæ D=°âlÚ‘dSÕª$W¥’–µ:+ªZSËÍŽÚ°A:ÉÝJ€ê%kÜF®´…·G¼7´ ÚTçäØãi¤ïAcø˜¨j/Ùh e ƒáŠ Õ,ÍÔuµ× µÃ\/í"ÜIßÙèW{èÑ6+éÞǃµ£VíîëÔo·kG œ²’ô½E°]ïûZ²š!r8K«ƒD—«~Ó&lsTÝÐver7˜e*{V&Ͱ­A|µ`ìñ'9g¢Àm±æu²–Uk[³î7‹ž'({XØRÖo¢ Ø.íæÛQ[k`á¤Ö~h:Þ×bÛl¢¹ºv²§m2S{àûZåp03ôi¬’À³ß×V Ò§gÛ—Òakì^mÚ¼€ÛÔH™Ô«­‹á# i›hÊ×€MöftTIÄäiloSî( PX¹O•Ø7æšM§é´µ›sG­=SöëõŽšõh{~mk˜æ8¨Ð2ã½Xs'õóÇ^5Ô^žö—™RÏ:¸½Pi6kÛt­ç Ÿ0¹úÍ‚*¸nëàÚ×R²$ÇÖ¡‚)Š’5Gþ)´Jú]NœÆ XÛ37=:¯Gm•»¿ƒÂgïÐ5‡ÉêTÉü ßîÔĤݗ9¦† ­ŸYhó‡Ì}-3M ¥-@ðl +æ4ÎÉØÜ7ë „àÖ É&„s£l´’‚g=¼K[¶ 3 íÆàÙ 3ÃÈ šBã6Æwqð 7ÄáLàñay«ckËÞ¹µJž­×úM³ñ’x Øwµy.K±?‚³¶2Å™—çÒÜ Ÿ 5f‹×iÖ£¾6ȳѨل‘Ìn4æÃFxóÔ{jƦÛnA?µJ5´Ñl­Ÿz¾óôN@ýèèœ×^¸¼L/Ж-,„è@ËÎ €sUª¤KÂâÓ&çdR™¹5ô¦±½ÿ8ͦÿј³­Ò¨ˆ‡€–­¯“T¤¼Ý´jh6g€…ȧ1»÷Û²g¿¶¶½iÍzkÒ|2‡w&‰ Ô"¤)_`í+1+ÌÖõÂ9}.ï Øäãs:æë‘X}j&µ×n&(ß[s®iöyÄŒZû±ôq€‘ÌË)¤Ú%xW “n½\Zy¨ÕÐ2è¹MKùªÞ°ñl¿^DmƒF_Æ4З°óÉ<5ç tîTG­Ó°æÔ^Ó|SóÕà äL¼Ãn1 Qk–ydp2X¥Ð–M,ÝJƒ3pNàÈ µ›mMÏlyg`ÀVXbÏgóÖ`§“—2p¶bÚ¢”¼+€T!k›6 $xK½vÀç²Mg8›¯æ< Z­™ƒA­Ð°ž" sx¼Ôª÷†½e³T +í›l¾ÚͰ¶aO¡`Bª[sž€¹³öF¦&(›Òè X×éÔ€·w©ö†óÀ(zÿä¤'`VŸ~²º¼¦.eyOÀ<Ó¦?öhHΰ÷QoSIŸåöš)- ¦¡_LI~€ÍP¦ÙÏÛ¸X3ã–54›ÿl¾/|˜æŽ9?Àf~3\³Îâ Ý4kh¶(ýËËLÕû6¥Ùc¶^£kiòNßv?§Í8+IëÎ5·ÛÚ,:±½úf+jæÙ*qö­=~€ieÙÛÚ·>`R똎‡´åüØXI;áßÙ\5,¹ÖAt)Ä÷ž\sÍ{t~¢—lÔ_}3'úv›Ò² [õØWÌU{ü€N'dö¤7«øítzÚ¶¶“ˆmÕù»Dã”Ð? Ã=²w;³î¡9? c0‹¢]Kw~ì™^®•Úp~€i­Ù¨´ÇKm:?À´Ý Õ×Öàp>„fãÌoÕu.çÀF2‹ÆÞ7æp{“Î0Í–O˜lÏ|µÇ0­Ê\¥eçtØ0ëzí&=nì.M[PÊC¹¶EÜ& ›%µµßuN@G¸ä‰ÄWÞœ9j·`RÏsqv…Ôé uj6][ÏMukЙ«<l‡6èØØ_Ô2¬¢‘õLæãÐþ›£Š(l³'€ +”:43Ýlâ·p&s;&ÙZ¿æäÒ “f­¼’ŽdcF#Á¼´Ç 0­v¢’õ½L'€[9&áysÉTœ`Új°DÕùxî|ùq‘y» #bËÜÒ¦ iõ’™¬™\jhÝy°_m¢¯šõÍC{3_m2C#Ò´Ç0Íü»®¦ç5µâTu%ËÙÿfõž|§ê æ¡=ö¿iÜn­[8D½Íp«Í&3K¨oí±ÿ‘Ë}ÚÐišáÍÝö¿YÒf&Ú éQÂä¿í¯m + +õÀÑäÍ¿†ÖŸ½… £í¶ÿÈ`ÕÚfö÷à h{=6ÙLÍo´.û`Ÿ4#ÀE÷7œý?°…evÏõX&›¡mø ìØË“Ãkf;^ fáÇ·ò˜ÿ°÷»­¡™^¹­Îü0V­çz¯¶öùT +V[€x‘=ÿØsF¦d#Ì:a`3bF8/5ó‘q@0·vÛÿ›ç6"ÎýµJûŸ85h6Š*XåÔÚÆ6pØZ +‰L»ìÿŠœ VM—0í“ +7¯ih£Çßæ¿ifÂß‹¸uO˜ÿ0*MÃþñ³’Yg‚ùoã«Q3{æ&4{ñ·ùoÒ°a¾Hù?`Ñ%ºH/–ë7 nÌ™0cYcÍ^Ã6†5gq›Uëls}Pø¢b÷Zu¶¿i6|€â[ƒ¹bî̤fÁÚа µ‰Ûèˆ+ô¿ÙõoZ‘Î~…˾­Óú:Q×uN`°¾lÖžýKLFh0ÿq¦@­˜ý•Šz?~Æ,…­shö2ÊÞíÏöÏÇü7Ìžý‰F¾ýó1ÿ᫱¦ŠF·ù`¸Ì±¦¾gï0íShòøð\ð‡fèîOØqÖÿÄÙ½9hÏÀYÿÖò€Û¬KiÎú·I˜‘rÑ¥ț€ÀjëÖJ²±f§õŸ+‹ x÷:•°Žï¬ÿIkÅØ}{æ¿u2ÝôÓµ fK(ì[£ùXlUXx±Z‹M{\´5JÖ°iæ¡=8Äf½– N›©èô) óë0+ŽRþ±§_빈·gg·ÈÇiÚcÿ›fë²Ù, ¦=ö¿ÝëiÃ9Ù'æ ñ$€!”`…ãX¢Ij4ÿmPTj6Ú@•)hþìÿZøT°‰8ÆÚÞü³ÇþÇãÃ!ÁÔˆ5íqL³^c„&DóÏxpÂêÆ£mœ•Ô5íÆ`êNücA‰ë´)Îy“³±-X|,fc;À»M”3¥³níñL³ç¼,û­2.aé.¬<8‘á*æ¡ÁV·‹ 3!2ß-¢‚äÓÛ€¯ £{q\óÂ`ÁÒ½Oö ÁàYJÅkæNHÖevzfˆdjÝ.ëµá<€…•Á¦õ¢Ÿœî ‡¬fGÁö¤¶~È~áSAr›ÝmÛß[΀k?aÇ ÞB:`šU-Éò)Èþ»ô*/u½¡Ä½³Ÿ¾g‹ˆÞ>ÎKƒ`FS¡fϧ"PœZq€i08J¥sjæœs¬;&ë6-é7€™ùX°3nFQ£‰YR§À;h³ÀÄØ÷ЀnlÏzÖ¬ï ç˜f3ÿ`@´é€g.%›ÚtëÇ~Cb§Ú𡬂Œì±Àx‡bhÿ¦Kí±ÿ±qsú±¿—œ`#Ùœ`ž;nƉAÓ|­jžæÛË…€ÙèšÍ…×fYA Õu`Ö?ž¦™É\¤ Ý.4ûÖê“^´Ù( ÍLl¸«½NÀìÇnZ‘».µq@ª8RÔé¸MÍž×uâí>h8ïæÅ¬¬KYôà^Q³×¿JÕoš‡vùଓffW=>@³±m³\J™.ž5%lÊ'YìÐ`°Oll@³_hºŽR +ò Ú˜Òêã4L6 ab¡Öšõ(›Rõ¸ +wñl¨…šº×ªPÌCƒ@/£aÈætÎ“ÐÆã@«°)G×ÝÍÇ €6lªhcoýØÂÙ4Ðum(UͦÁ¸Î'ýM³É²î3uëåôÌ®,ÔlµÉQƒ²¦Ç €f+Fß›1€aß^€YíXÊÊþEœ¢Ø¸·ÞDÅLM{éÜÞ¶çöDÍõÝJ\>€ ,{‘¶ä¤¬ïµÇ€fæõo óÚž×™º¾7.Šu/[®VÚÊí4ìÑHÖ‡"M§è…š]”Í)MW¹ZŒ™bNÚí@³g,ËZzœ€f³ò>¬-[»œH5ßNˆà˜ç=¨Ù(®py©•Ç €Æ#Pí]•V'À ¶ðÐöyQ±ù£)YÐìð¬?oÍf«Äå Z‡ÐyÄ~zÙÍŒÇ hX3ø hl[n/’Ù6Ák†Åfáå@3ÓiØãëÄæ½Á±ˆ•æ2ÒMÂfÚå4utlTÒn5/úñ Ù²}-?n$ké…}kw Ðæ°¡¡]‚ý{ˆ6\ñ=³1íŠCmŸ<^$›\F׉i1ßìö 5ó}là31ßìöÃK*Ìͺ5l¹©¬¤­‡§[\úx¼h™‡†ê"Ü`Ø^43sìúöí­Ç €fó¾¬CÓàòë23µmm”­Ý^R=NµktŒô¸ÐøÚ·¶Eíq Ù=rM¤V7ÚÀy~®ú^}ÜhëÙ¸†v» á36«–©gmžÚí@³eÃFƒ:’yj·Í&+³}4RÍSÃ1¡ñTT§BÐn7Ú2ŸÚ|ܳ£~`ÅízEæ¨]^°f(œkàÒ]^4›–iõCJt +Èë:é2ci ÝN´‰¹Q›¢.Öv¬þ@šð˜\æ)ÝN4ì]bæ¡VéØ#\Ôì]!„”÷6Ûã@³•€ek·ÍF«Ù<³Wñ8Ðlu‹[>6/<>@£ñïGØœͬP{ÐyæÜ>4›ªp˜¶“èDà64ë³6±é2Íî‡ W’µdÃY½o¥{¿¾RCèöS©åÇhˆŠ²ŽÒ51ÂB·§9JÆæ:ç̼5¸8ƒ f¿hF•Þ«™ÓpêdÝTDÍ-Ì©úÍö¸Ðl èG õÇ€6‘½º´Ð™™zû¶.ÛˆÙ#[Úí@³õÏ,-uk>>4s +°·¢{X­¶½!SaR^”»<Öíö YWŸÛž­°ÿ.š-±¶Øò`®žùñH#²?ªÃµÂZÃShI§‰Z}<h™ãŒ]Úí4ži ´tkíñ 5ì9®©öúã@ë·¥h¯›€¶P†¬ÁBi>´ùøhÐn 1ÅÁþj }o=4ëÍ—•_±äÛ@Ÿì™°0íE)|¯"ðûr ¹8§Š‡Û0Í‚Íî ™ƒö8™~×€ÉG­8 ãÜ̦J!¡l: PsÒµ ÒÂnI¿Ù€†]Jwö?އv³8÷A{ìDù k[ûz6y9ûß4„$,m½#%î¶ÿM²7žv´RÅœvÛÿ(íf3äPGɧ³ÿ3Öª…CÚcÿ›v÷t Oœ{NXQÚe;T —Ûü‡f3JWoE'½Íž|ÝÐóŒmó‚VùoÚ‚wÒ䮸.³¶ÌœÀKEPSÂâ¦ßìÎüÏŠ˜ÚƒBÕËÇüψy0Cl¨™&»ºë{¶¼ÀƒÖ›Îü‡Ö÷ÌWÍ9{Œ4m£ÑÌ>JsÎ`ü—™ô-[Žª9ù¼’’x`½X­ÙÚ3÷I,´;ˆÚœ× ÍˆÎüÇYásÖov¸3ÿ¡ÙXYЍ²i”æÿêû©˜ <8iAk4ÿ9aScäaj[{€Œ]j{ÙÚ^·K~¨ÙÓì•‹E-Ã9Ðì’¯ždÚã@[ÖZ‘¶œ`C‚K»´Û€dŸ÷®kþÙ} +@ÍzçЗ½oç@CpÞêÒ²s MmiSÓ[›6·B_õK€š]wúm9ûÿ%5gþ¿±?æ?Û7ï*iù0é1ÿyÝfég{óËîsj¶î˜y¤ïMgÿC+koŠV$[Þæ?¤d}뤱‡ý·bÏqV[{ìhf%šÑÇæ½¨ÙDÅx†dÞæ?Cï˜çÝæ?ûc{ó¡f·ù~º­ºƒ÷öŽzðÊíÂåbš—¸C!=æ?ÓaóÃÐ+7÷ì1ÿ=ó™Ã›ÛüOªgoSŸ´ùgùošõ`Ü*oÝü3˜ÿ8a‘·>î³ShùŸäoÚŒ£ß,Îü7-+ÒŒ··ª3ÿ±ã`=cŒãÜâ¶ÿfw{Ñ]wÐù6rSÙwÐù3‹rîÔ0<Ö?¶ZÚÞ…6ëIEˆ ¯§$ÆÆenKB³ À”“™œUÇPÖe„këÙìÍÚ‡»·ÿ1sØã)CW9üö?¢éò”ÇÁûìþÛÃKö†sVsËïÿ# ûˆãÒÜþ?vyìc¾ì嬢°¾,ë|sÒ ãÔ;‘¢¥|»›æ“¾–iÿóÑB³ÉО9m#®96cgÄUëØà·äò÷à<¼›÷¥W¯ø¶ÿO¬8Ì~•Ö~¨·ÃæEr$êê¦,­ÓþÏM_kˆäëzÐäÚ`æYE`ñsž‚¦Ô}–’bf(M·ÿbcÔæŽ9õµåÌFŸ×N˜½gþc«Ãl•þ„úR<zÂì#gþŸHkYi"Öìó¨}°t"D•Ö³Mº°ÿ‰¯ƒ¬‰£–®÷R˜ +l¾&jp¬ßÀаìÌÅ.‚ +GVwUÚ³ÿtÖyr0PêÎþǹ™ó}†bK…s°'d‡UÔ\>048e6Ž­=Îð±zêue3äšÝ·¬¡Ue×¥¯Ù܈­AÞyUB°‰íÐìxcÙrðCKÄ©“F›e`¥^Ú³ÿ"fÔF}Ö\R‹spÎ,%Åêòyæ‰Á6Š´æ€û°Áy’ìÀãàáV™Î*480é¦lã`q—Î~úÇ4û\Ö,£½¤ÚF럱Ç\MìmÛ ×÷”Ì5õ¢ë%½‚vºÍÿk=Âà41·ÓÙÿˆÐ·»Ü‹qk.n›6«sû.û«^‘B­8GÙ¶B˜=8¶†$ ÌÔÌB1k¢ë7™¬„vžŽÛ„·ÏâZkÎÀöhCÍB­;àä¶4£Û¨ 眘ÑG)çþM—ÌSüÒ®¬‰Öæ³ÿhšž‘·Ì9¶-·ÿO3Á–c…u´~>ûÿ0/\t™÷c?ÍBm`EêÒ]éÀئÖì‚íÂx)=?@Õ~òØéÀ­—Û 5ck|RhºÍ4.È43`PæO—ⳓm>Îek.ycÖo}S{O>h¢‹=]õÎ>|‚ÍFJZW»²%­ˆ=qA[Ï 9˜½y®K»}F‘$-ëÐÆùøÐ:f•Åp×6|:ðÂ…e†¼”᳑7ƒ}¼¤9g”Ç`°ËyG­C›×¾>MѽcJÙÀ ;¯Ô¶¥']{Át˜Æ¾¡¿ÏÎíÏ}ë¾^‡]Ð\¶ížæÒø\à…ø¾j¾kÓUú\`„a7ûÔb2Öã@ëp[–…y>CŽÌ ¾fþ©\`¤ QCj'/ìrr‡Â/†ÂΫMfã⼦2ú ASI/æƒû ,æš*õ¸Íêc€p¼khâñ.4d wòµŽÎæc€±hÝ´ÈB›ýöà´((_æàͬ{ºzCS©À6[+(¬›Éž4¦2% ©Ú:Ý» ï©L`[¯‚ÆoìØ¸}"€žfÃ÷@Í¥/0ØË›o˧3â CDïuùT`d¬-xVšVy|FÑ;Ô¾êãÐäe s[LVÄ#ó2Ju¨o¢Ë¡þ@F€$*œØd7•ÿm›ë‰š-ÿ¶¤j=\Ã%À5[¢h ±-Ÿ +l³v.Ö–OFäa·N¦ôh·m˜aSNú1ý<'@ÁŒæü,Z:ýL >…MñZ~œh鉆îg¹œ€ÊhV¤š°»C¹:é:Õ•ÔÇ €†àVÕX´¥Ç%˜d¡½åªŸT"0«P@³^oöÁÔE*¸Uýâ™l˜êÈù‡­„{}‡Æ<`3Áš‚MmZº&~[™~ì}Ç¢ U[ÎwZuOçsÍzŠuA¾»žÒsÀÀ×bï±±ÿA{2l¨Ù3µÙƒ¦NO>x2çÏfzzæ=•Ç €VŸÐ›ž”Œ<+j‘ kè7Ûã0®×&2»˜²µÛ À®Í4c*R®§þ¸ÜÑ£)û¯§ár&7‡a$éÞ}.°i6FÖœ»½ÅÌÈLü]~ä’°©ôìcÚ»dD@[oYª;`—öøÐ*GõÙYw/§Œªîæ@Onb@»ýnpÙsê….IÏåö¨=¬/Ϭ¯U—0q‚YÑÑ¥ù\`D¥ïtLj>{mf_XGé[{ò&c+q ¬[.è6¯®º¯eÞ~${'œ×)­ÇPlûâ²­œ#-³r'0h·#íÄQ—<.{8>ƒ=‡®‰¡øl`ˆ˜™z“æ³±ôYT˜½M 1ê{ʇv@CÕ½S›½´ÇÀn¨™ +æ?Ó£µfW€æcg‹Úx\hæ«ÊN‡6}:JšÚ1Ú–\6rž°¿›ô“>˜ö€Y“ç1fvùl›sm¹ÄÌD-=ž4—êí: +`N†M-]áµ½æÇ€¶­>ÞA-#€]çef?õ¨ÕǨ̻· ^u©zõÙÀCsðÒñ´';ÙØ (ê,µ?Ù¶9Uk77\6ÒX¬;puƒ6#€ühâ«Ë9ØSÇÞÁÔäV—sLÃθ­×¼…v:GU`OÉ_éªo%G€©0fÈêͧ#øÊ ³ùšO†a™V¿n¡ùtàø®»´ h#€´œ'䪷æ‚u&Wë{Ý94rQÈMkSÎ@ZÊôui#€Â ÈŠîšuÚtŽ‚ÒŠ¹E³ê‘ù|`‰´{¯ ÷ÓyȾBe¶Æý°Þ“óPCû±é¼´Ç@*S²Ñ=5f{vžNgqÏHÞËã †ãc—ÙëS ˆ)e¬~£5£Wç + ž‹]  Â=®âøÌ·Ýg_v΀‡{g2m¾÷á\¦¾ÙDSôjût®À@.bRhƒ´Ç`ö—Y~IK}_+€ó¬« ˜4Nç +Œâ³û`60rⵎ ©ÝËFv®kƒ u‰{NÐW¡ö¯¦££>|B0ÏÝ +¢øXF}\üÜÝZsž€Iö†ë)é£;Of+îR<ÐWše”t•ùp=í=í¹ö¡|àÄâ*¸Uófdøõ8»Ü,u§<}:0ʬØݶ±5Oç Š´=}&ç0´÷«‡Íì¼{ûJfq~À`5a›ð5a¿ýTƒ±Á5µß íñì:î\á>}B0NZªaLý¦OÌí7KKóÊôÁ«Žõñ€¦)Ž=Åv»c{ûdF°Ìch6v1öô=¥s Ô‰°Ù'Kãu)%x`ã@¹½;mšr‚Mg²zf+=á@Ì E¡B6›9O)ž(¡'Ç×.ç +t.5¨Œ¦ßô9ÁØ1ã*.ÕW{\ P™g—ô¸H†¦ýŰf[Tœ+€ú@fó ­¯á䨞¨Ie:7@ïWà~_˹Øð1/Çí[{Ü€Žå©äSsÊ8}B0sÀBX¨%ç‹›¯|VëOÎ `øöµ£>Î✄`îîŒÿ‚ö8زR•›D­:'ùí°ÓkÓ•ø„`Taz"6Æé‚;’ ‹­\dè{2ð‡EIî3‚;SUPÛ$SóÁØm+“ÕǨ-ç`v7« +y¬ÐÒ露;ÜÛ¿Ð'ÉË(X¤#¨‘ÒãtXï6’´áe¿æœÄÕ#£¿rɵ?qN6 WºbiFòIÁ\ îb'Ð' #Ú伎ólpNê#”û`b0Òy0옛9áRÎ `ÉTPÑeNç ,Q¦z˜i:Û¡6Ñ Õ:ɧcùå6;ÇÆÈ>%¸sÅmY>ÇÈ>%˜Õ¿NT>ã¥ä윀΢QÈh[{œÖ˜}¹]±‘•Ì yhØ$,­K«Î ÀvïØA>Кs`^ØT^1²Ï îðN°°©/gŸŒ*­ôZ$ù”`äÕÛcY +1Ù§#¯£â|_ærNbŠ +’ÏK»ìe[—*ƒK§ÍæŒbì ´Šb-£HKÎ €]eSÿJCZvN@DZ·Ír'ÏÌFñ)Á(YbÚ©²^Ð'€%pÒ­~[\J02Z( ]\» ç š +¹~Úa³iÞ9ØÆBÀì?³±&üNÙšÍʳdµ{KuìۛΠ®ÑÖŒ}ìgëæã° ÷Éøµê3‚;‹D¦$‹oTŸÌ¢2§ kk€@²Y2£©ù”`œ`ØÃD*85Ÿ ¥AtöîãКV5¥³Î& ã <¡æ¸ÚœÐY©º”î|Öù+Wȯ½8_ˆi +÷âS}J0Rœìõíâ_6':ÑuííñºË—4­ÎÀ¡R—§&«–>Fˬ†BÉUey"»m¯C{|€Ží‹óÚîÍgC³÷º·+GóÁ,‡d]nÏá­9€U9ª­ꀭ;Yaï¡¥­=>4”ªá6Áhãqª˜aF ÝÁt.NÉ”—Å—×–sà•¡Ô†2çGgFðÙeÝàÐ}#ÿ¤¹Š@ö‡vI»Zàè>#u§šŠSË Ð¸ƒÐaS*΀†g :Ô£Wç Ä‰u)Æ»I“ÙÊÚ­Ñ*k;ŒÞ6—•5J‘§ÀJÔúM—ÌÈÏ¢%jÃU]ÈpɃžùèÓÅ 7Ó眗æ +ƒÂýí×nÓèʪh s‚•Cø½¡|`FvP;Û`œ54upV+bA1›«v%Ü1”¬êr6Óã¨pOƒ Á6óO]fJ(;£_tÁÖÀ¾7ª¯ +:(žW“æh¾*(" ìåçÚÚsЦ¯~ʹ35ÆêÎ h¬«°ÇR>°Í…’ !EAsçêÔÒ]ïÚã0©8—3;Ö“L õOöºyº„`»›»Õ ×–y&_Ç0<…nÔ²/ +ªJaYÖ.´Ç`xJ¼6iÅùÐlÍ;U ûÇÀ^! ++è¬Ùé~Ë/ø4 ƒ!)ÀÇ -TvÙðBCõ+”§ß&@€AKÀæ]4ƒ†ƒžM¾ñì1JößÖYÚñb±Ø–ÝÙP½ßÀƒVñèšf[σÖz¾ò7{ ZgLî¾Ç+Ü9e‰-jž=mbÞ,"yzö4<²ˆÙcH(ér÷ÛÀCÉ0s¹“ÜÛC’ši(ƒz¼ác'ÎÛN[ô6Íç ï ›óàcÜþíyŸ!GøÃvÌIácȼhWüsd!w¦éÒ+ +ì1¤õá¤t¯B>†ªÕ3_±Y>F抅«—ø ·Öö±t„!ºèе}ÃÇ ‚­……GøÒšÕ阇¡6›£/zøKk·+4ÂÇ`AÚ»±¿Õ…xø¶Ò3Kò9øc fÎkƒÉ?BRÔêÊ>Æ”Ñ~%LEøRMm ãÜòxÃÇgj7*#ÀÇ`ߎu>ÆÊÁ‹ûõoöÓh`zTý¢g¡‚-÷£‰æÓ Pgü!Gô’v«ýBÛWâÑc´´mžš›{Œa¼ÎOørzðª@‚Cɼ3±öÐñ¦ì-Wrg¤!Íù©iéc,qÌÑÉ|¾‚Óæywä@Cˆ¬JûÇ›>†Tí1Y÷û C†7*±ô -óð1f†Ûon6i€!Î:Ùô ð1ä3Ù˜íu_¦‡¡Z 8:iƒ×<| @.X‡Y¦C€²½w©¿H;»ÏEŠø1äO¡öy‘Éú3öï² ?†Lÿ¬úèÇ?Æ£|¥˜Eü˜9Qàðc¨© Å´¿çPÂù Éø19w—€Ca³aÙıø1¤€Ûs +¼ðc¬°x®MÇü1”p0{J%àÇxäUPìãxÓÇShµ +sGúÊL whéB} å)ÄXÎÇ›>ÏÖâQ"}ì Yr‘>Æ:#³ïêc‘>† +0~Sú¤á)(Õ&oúb+<'ÍãÇX DrÇ?ÆÍœt“Y~ vbQ/!àǯifíõ‚~Œ•¦¯ò¯‘>FÚÀ ìúxÓÇàUïÜŠãMK "·G%(H %R–Y'íxÓÇTáÅFhG>OÝ,‡]Á6ÒÇöǤxñš} e5‘ÃÇE&{àððŸr,‘>–Øw5“Hc½3´Ûéc¤)8 —§á€ûI«]d²çœ)ˆÖ#¶Çd(ñ‰³F¥°Gú± p€Œ¡±à6êÕYâT²ŠBO"€ e‹Öª;©2ÈpV[Ëã/’!A ـ Cm%[$w¸T$qãì…F’(OFLë{ž@†2¥HÓ”ÙdØ/9¯ÐŒ KÌ,²K>?d(nzÞåÕ" ã·•«jQD¡ª´ ײéd>áUwÌBoÚêˆ2 û¬–ÇAÆ]¶|­­yY"›ñ:[Š 2L ÞÏŸ0È„lÜX[ó2TùÉ:?Þ2T6#\‘b‘AÆ‚gw +qd¡PÚC^ˆ 2ÌN¶tmVwd1æÙ ÅGê¾ÖJDÓñfqVƧ&ÕÀ C¬´0jº=Ï ËÙ×Õñ 2L†>p½”Ç @,æÞ´>d(©g]Õ¸Ž7ƒ ¥øTÊFš‡©pq½¿ç!d( h6Ö©üÖ!S8€ÍiZ„ e‘T¶@84Ÿs€yù)†!d#X؇» &aV m'G™*@V¤§oBï¼7„ õ-™(ûÆCȰKg bå>BȘø[ößËsÈÀ×,0dÜ)ÎW¥ˆ!+ Ynˆ7=Þ²Âc”î`‘þ€!óSftÄ!eýŽŽ²Â*ymØD YaÜmÝ{eC†T÷Ò2Î)7† e¤‘²ë÷ 6´ã;bÈ{a½Ê†ŠnÁ' ü´}i¿…È!ƒuµú•è9dûvö#cÔãÍ!«Ü½A%2ñ½<‡ VÙè1dÈõèÈoê)`È*s®0bÈ€*ÒD¦æ|Òö䱓%ÎrÄ)Ë¿ì(‹ˆ!C mXéÚ–Œ2ˆæžìÜψ!CÞIëø;!Ê<†¬2SšÇ™iyšËµ´…1d0;mE±[q˃ÈPrÀæ™*Âl‘¡®·u•}$Ad•SË9æ&uyÏΫb‘¡Œ¢˦x9´Š)%Æ4Õ³·ÆƒÈ Y7§ÄƒÈ*snìªXåAdàäuö4››lùWЃÈ*-nsãæ~,D +à.–îAdÉYÈ"CQóó2â_$2hÔÓæq94[¯Ìè,2hOZE@‘A‚Ù¼7€Š Ú¨@Û+E†úêÀà ¯÷x¡È ™ëg&¶˜"EÍ~âJó +(²ª ¦wãQdÐl¨ÙsèǣȠ¡ÜÎ6wŠ F¡Ù›œç<Š òUwÕÍ€"Cx?x´§õkÅÃÈ Âf¶-Ÿ™‡‘A³Á…¹”÷îad¬IŸ°,ŠíâadÐà‹ÎMS»YdPÎFÕKŠ ÒÄV‹Ê{4»>„é™8 +àcërÉ (2j«]gKE-=¡=Š ’ª +ªûy™êíËD +(2hfgh |¡È ™•sîâ­prùÑS? È !QanPŸG‘AWbù EFm4ÄUé{Š Òd›f("£¶TÑäˆ(2H(ÝUÊ% È8ÁÇV™¡€"£Ö¬…Të +™Hö·5Y¨EFM…õywžE-[ÇíýƒEVõÞKRI À"£fvÅNÚ ,2h6#@áÒ\æü~{¬¹èÖCæi6‘–V>XdÐpЏ™ÕEF­ñèUÌ­yp2¶©Ÿ(2HØRÆtr¼PdÔ¦HØ€"£Öò ’ó(2jfÊÙšÌ[!ñàÄqÁmáŒxÀúËcQ (2j(7±…#d0Ncì|Å€"£fê>(2jÑEêeEF 3©{¥iV`šÀ"£¶8' ÀÃȤݰ›#ƒ6ÎçíMŸy Nž •2°a‚y'’WÈ<€fSÊù #“Ö®T€#“v›¼žE¶¥ks?Àȶ6³ÎŒlk7v†Ì^ +£Ç F¶oáJ‰ó0²êK#½`dzb ‰Ã¢|9Ù~šµÍ™$Xk2}<Œìz?»Üh€‘I3{ðÔ¬¾BâÞù]<ÀȤ!7^0_#“Æó—™4lxçadÒrÛgDF¶µ+n#àȶVw EÀ‘½Ú 82iÂW/Ùîï}€™ž îs8²ý˜½{¼pdûµ›ÿ·¹bG&m\»ˆGF夅æp<2J(é ³À#£Vi{_šK=@Ìü"1ŒÚ¦1‘GF .±â + Ú´^´CŒšyN»þGà‘Q³ÿ·}µÀ#£ÖͲʂÔxµŒîL8Å,R®%`Áñ’Q›ÈKذ²zÀ ©ÓÌ{ÝÂ$£Ô/.F“’Q{ô@$ƒ–JQI¢‘ŒÚ&/(´l¯|\$³{€ 6,ªBzä{€Ã¤…õxAɨ6£± dÐÌ×a&ûñ‚’UVrýCJFMõ«uJ­£Œn®P2’–Rm›• dÔ–M×3 ٥ً٠KMayš#<– ü&8ù›÷°dÐ̯HÒÈcÉ ¡ÀÞ^m– šYuWnÀ’AC`DÞóG Ù6 a*[B¹”}ŽÌ]ñ!`É ùÁî±dЦìáÌ–¬²VÃ}Ô°d`W!a[zK)£cnËQÉH¼’E(-dpoâTùç%ƒÔ­ƒcƒý” Å®t¼ dÐÖN:^T2qµ¶ÅýÂ’AËfÈáðT2(uÛ:^T2hö¤S•;¨dÐì—wÕÍ%ƒ´ðÕÚòžBŒÇ…òP2eßܵH”ŒÙQÖ!lì f–| +2XsôO,ÙN\E¡”KÆ<ÈJ NZõž‹$‰ã…%ck»mŽ€%SþnÛ JÆTbÜ^(ÇSɘñ¼î=Ë@%c¶wB¦™hsžJƼs€Z +<“Œ9ñˆØ©g’ñçíÇ/ÃÁ3ÉTb Ùä)f§’±¢ªõvËœ€Ùª^»§JÆãÜÀØ%cŠüHÍ{ˆ­zJÆúåò“Œå@pø¼‰xžIÆÊ$-³féñb’±FŠõB{=£-_ƒˆËÿYçþÍåkaœu§Ø&KÕ¨ÛóL2–ÆA\f^Ò“ŒÕv&èHbz&™*ÿœ¤4/&™ + !Y\5Ï$ca£zîÊõIÆ*J€IgM)IƪM¶ŠÓ²!ÉôŠm¥ÑG@’±&JÑJÆâ™É.S¡iKÆ‚œ×X‹X2ÖøD¥„KZ±)RÎÍsT2Hfqä©Z KÍþQ²è—Œ£Þfµ±ù6žKÆ*«KdŽ— ÆIK[«¾)Ï3PüçƒKƳÈVŒfà’q&=í\ºÎîK‘6¦cÕ¼bŽKƺfŸS<Ï%ƒÖQq°‹½ä¹dÐ~zÀ’qz2—Á$q– Z¾VT¯äK‘¢È w§ã…%cùcìVá +<— jÄ —æxqÉXй°Ä¶HaŽKÆòÎ:”ácy¸dPÊf°dœ'¾ hì€%cyj›¾òP2L¡¶r <æ dœ]Q:Wá JÆÒÛè™­}@É0ó²¾R¼ÂCÉX<§ ¸õL2(0EË.Ï3É Íy¡’Œë¥ðH2hfߘ5®×í‘d¬¨þä$+±›]ênïA’axLá@$cIxusû<‘Œ¥äíÅ…$ËÓÇ[D2H(O²û‘ Ú¾o6WôçÖ}n›'’±ÿRèã…$ƒ†ùyo‹$ÙfžŒ6õ½êQ5çg=^H2,](§½c‚<’ RP¹RIF*RxTq: ɸ6[²š^µG’‘°¬)P¡G’A+Ëy¼dÐB”è‘däG ]cÞɈ¸* ¼dÄU,d‘»ã‘dÐØ3:H2hLPÔb@’A³›ƒ“¬«lžD`6·M½ã#Ç#Ɉø0'D™8ŽHF.H_ˆ9×Ï!˜ €ßáI# Á£kÂz$4n{*ó> É*‹0§«Â@’Ѱèc¢ D2Xöæñ"’Ûòl˜"4wÚˆdÐl⾂š‘ Ú´%`ÇÀ"ì˜óIûD2h°…®Çé‰dÐ*öÖF‹¹ô`h¨²cýOÚC$ƒ4áWMr<‘ ¶ÑyYù ’ae $K$’!$Wžû,ÃÇ̦¯ ÎÚm´lÉóÈ2*‚âVxdÜEk{òÅ#ÃvJÆœ—æxdX$I Ç,ðÈ`øå+IñÅ#ƒ3sGÓ¾xd˜üÊ=F" »LviUlªÈ#C$ÜÐJóÁ#cX'zõOxdÖ©õ.É0K6ÏúÍ$Cº]·||ÉpiCO[/ +ÑÌ]‰+É`)!¢^‹x$’áœx!N*D2Ôkâ<¯Ÿ|ÉÌ,›nd¨š•Ö.ùó’!m]äÌæáÕ¶+ÿâ‘!í[a¢Ç›G˼\„Œ stãŒ}|ðÈkmãZþú‹G6€$öéøà‘áü å¬ËOxdœCë^Ž ¡¬¶xhI‹42náîêŒ YÊæHm´e¤‘qοJ“¾hd+ØO’+ÐÈè‘ Á™Ï+ÐÈó’êÞ{}ÑÈíÞáæ_š£‘aµXf-hR‰42S®4žŒ{$¸ùãƒF¶Hú»ÏF"#tXt|ÐÈ0I².µ¾hdöŒÊXˆ:idåõ¢‘!ß\³¾ gŽFFWÍܽ¡#ƒ„ÚŒ»þm€‘6‰'µ´b½eߌ¬±vÉþùŒŒÔË’”ÓPddeÖû½I’H[s,2ò7ûŠq,28š'¦.N‘g‘éyU7{±È„ÅÔ„Es,2"DB(®–c‘Ak8WXëâÝ;ÿtzmnCÁÇãÅ"ƒ†³ë])>°Èˆ:5£lA© ûûìEEGÕ56¡ °Èˆ]ÅÖ§b‹ ZO l.Z÷Hbò¢à‰S6<’OªÜPd\…E1{í#óì{Ÿº‚å‰Ä +ªlìñB‘A³)L¯ð…"#»ô"Ñ¿²­Rtƒ/Y¸Uu "#Bk‡Š÷"ÒƒVñ 2jæÂîä°"#²wÀ¿ËʃÈC†ÍeÞ÷æ8d¤›õª)ÁcÈ `ôîM¥€!Wø>É2jŽˆæ1dd7ÔÜïÃcÈGs*Ëcȸ s¢ŒÞÇQ³ŸRCÖxÂŽÓÖÍþr2Ñ–mÚšÖ<‘¸ºÂhBF~³ÜK}mx q…ýs+…ŒLh”ØTúhÀQCö¡b† ZçV›f!£öÄ ùÔ]nÊ1dܵ²†ÓÔSñ2jÓ´ÀÏCF6^Öž„<† »](6߬ 2jÀ2õQæxÄÐÙÅ#†ŒÒD¹±,=†ŒDoQQE6s2j+WœÕ/ ´¢4ôz¼0dˆŸÆGÚ-¾mœ!ƒdÿM„äñ‚Qà  "@ȸ;ˆ³3U! 2jíæ´q— 2JªD/&˜cQ[ŒYÒ¥8ëõDù¦r¼dÔf½lÒÀ ƒ†TβÉl.'˜’­ÑÖ[ÄÓr2²ßñBÊžÌ!Ȩ¡ò™¶;‚ŒÚc'Qó6ðöŠädTÆåîY#ÏFKåñQ³^ak£xg.#˜š]ÖÚ¼& k´:*›ð9{5[X³J75Ô}Ì”ædÜ,÷TH³?FôiõXO£d3”ªïø¤vÚ¯õ$h™ƒQ#Q¢\`²Ûî§Ö·iô‚Q[€?È +tð1H¶t]%ê}ŒZepŸ–§Q#}D÷íécÔ@¤mZÏ<} ÚHqO(ž>F­žùTR¢çQ²ë<÷ÂäùcÔlpê€2àÇ Íó ø1jÙ–˜¦âñcÔg§\„À£fׄÚðÇ‹?Fm <õ“?ÖTæÞÿ Và]G)ðǨåTøcÔl¹<µéøcÔ*±ÔžãQk¥ðíyþ5TùS ŒÀ£¦L .ǣƜr™*ž?†C“Ó­®ž?&m^l’À£–nDLàQSkiÍ™ÿ¸—]ŒÚSÝ$ðǤÁ¬Ô/oýƒâ{Õ¤2IÖqºfEO “†±·æòÆ?ÁÀXbÖ:½ñO­h ™$»n!_l77.¤“GI+°¶óñBí»;w¦z@í‡bŽ„‡ò2Úë 0»ý½}€É¬‚ÝžCQK¬ûQƒŒ¾ƒ™;(*0ȨengIÑ °A#Z×2½€bú6¼Çdt›ù”ƒŒš#z½4³}vá#Ï £”çåW]Âa˜Î—ƒŒÞùAÖTŸx²Ë½dÔ¬—åœEkÞ €klöŽÊ‘5<„ ëÞ @Fý¬»\’gÑ/G°XÑXð 2jEÓêñbÑ×·¹fGfµô°"=ƒŒ[ fµ¬Có 2nIØ£Ýy“žAFÉzcSZh`i$3¡ùx1ȸ«²X,¡/ÙÞqÁ΃ødŽA¦šÆ©òx1È´Ás—*õ 2í ­ëì#@ȸŸdæNßµé=¯Ý}`QC ¸¶Îr 2îzYGìCD*Ï ãn§enmy%¤¨Hx`qîá z÷ôÊiQð2k‘õ2n Ú \øL!£fw·S^„Œ›’8nR9Ü!ãf¦c´z7HQjm³5=…ŒûªöîPTõxaȨÙp²ÿìô~@$Zz wxmB=µE0dÜf·KÑsÈšê4Ø®ã…!ãFôܽã…!ã–¶MÓ×të1dÔž"ÕCÆmrÄœê›CÆíuÑÁ?0dÜ–/Ö#6Õcȸ_±Á ÂcÈx ÐX½N€¯CÆÓ`g´‰0dbṞ̑>bÈp¶o¥+Z!bÈ£[Y¦ðxcÈ8«Ù‚½9]žB¶x„Ðw°n¤¡ªRrp‰læ1d°NgÓ†l‘oseE ÙB*ÚJª)dˆõ)óŸJ !FÈnT˜šÀ CdÐJ 2ÄP,å]¬4!Ã^Å,ò—‡ç²®@ÀÈ ClT½G"ƒ ÑK…(Ž7ƒl~?®À Ã>#\W1é‚ +)’¢ú*φhÓãM C4YöøxÈ…†IXÓb !T%§+ã:ȰþÚZ8§8„@jιrR]$¡cö6´Í§#¡a1bìAƨ={>çftyÌ„*ÛùA¸ ‚©Í¯ˆ C½2ûŹ A†Ä [»VËŸ2,^ÐÓ@ ƒ1ÃyO]%ÈÌZ‚'ÈPU Ûê)@†ìøhŠ€Œ2„'É8Ñó2˜\f",¥îÙâ’=vöi$MÅæ~虓XÌ%T¡€H CÕiÿ- d° B$M¬Ã6q¨:D$1^öŽ‚Ž²Éƒ.†požªµA QùÂD~[Ý'æ‘A†@aÔqUàad!)ÈLð.c>2ÈpðQYe›}30È´Œ•dê¹êú7ž>2ÈLƒy dcñmÍ@†ã™“ÝOªÁ—qíâDJZô idÌ¢z:R!†¯ÍƇédðL¬kʉ2F¢÷ÜòƤyÙôÇÆ‘?†XB\Éù‰ãiÖñcpŸ@z}%Œtõ~M³‡[Ÿ…ŒéÈ¿æ±X y»¦Ècò2¸œá= ’µ½6âÁóÇ(ÙóS …ñd]¢½ÕŽˆƒ”lþ\Â:{ü‹àa Íô§<~¬’=c“ŠBcU½v•Còô1(ðì7æÍÓÇ˜ÈæÄ±êñc¬àç‘_? ᢻLdÀ±*àd(ó~¬rõñø1hi5šÂÇ ?¦*„;Ï'ÀÇ£®(àS¿øÀǘ¾ŽJåç¦9ø4ì¥íÚD> è·3oFÚðÕF™‘…#}ïAª >ÀÇX™Ñ&»±qm> ÎâFüú4`1“‚[}Œ™ûv ÐÇño|šÚ† ô1V—´Ç|\<} ˜®ÚRð1HÛÁ˜ÌÑÇXÌ2ß[ª>ÍL– ´èc,L€!uaÄ|z2d&âŽO}ÏáÇXs³· ºëñc¨ƒÇhûo?m"­Šmáñc,ñi3QRÂhÀ±4è"¢T|.‡cÝ…X;ñ9<~  ë+ÄãÇXŠ5€‹ 4ž?-!uUUIì*oºúÀƒ†`­]…5ðÇX2µ<À@Ïc] †k‰ëáùc¬Â:î’½?­˜õ”PdÐxn”6¿Ëg°xü·d¨ŠM8=^2ÖÆxê©+ÐÎ>d•P•5Ž h L±|!È E…ÍáãÅ ƒ–ªp`¡ö‡Ûw 2h·göb±0ïɹSl/Ç ƒfƇY@ºNÏ c±ß¤#ÊãÅ c’Ž  #Ï cý`A>d¬;Œ +’íAÉL¦´“½‚Œ¥Œx@A³d+æÔ¥8Ë##vN¦´GAÊÜàU÷2U\®×É_@¡r‹BóÆ?d,â\8G¼ d­ÝÓ#ÈXÚs»*I>Ë}¸ vøãE ƒ†½å‹·ç d,=ÚjSÊÈ ©°¦O ƒÖž²AÍæðz-DAí©4d,À­Û|=ž@†Ê:6KÚbš>d,êmS/Žž fŽž7¡ËÈX­Ç,Ã}<dЬƒ!<@š'!f¹tÀ „èò2LOöÜ zÈPäu´«è}$!qÜå,Gã§'AKÇ›@†ƒû¼£ÛÞ2eGFá¬ì)2„ +GMoDQ@!”4ÙD +Ä+~[¸0 ©Ä–ëÓd¨¶d•7Ð* ÈX¬LAÍ,A–ÙAlíÛíy¨)6¾º6Ô"‚ •Ÿ°W‡ ËŒÊ)SÙA†í:›`7Í "È2S¬ÚÔaoD¡ s²a#‚ ‘öæñžk£ËùvYÖ_E· 2dl6­>A†*X¨Ž¸ßY@!ØÿJƒy!Ȱw©Ë»$Ç@¼¦õ$€—g¡ 6÷Ìdˆk1·v×½Š2XãfâD¹ã*ö!dH>ßh¶ã !CŒMzfç!#È'§ÍÒ‰2#³ûA¾ûñ†!åÝ’Á d´°ìý”õ !C™ê \ƒ¸ŒB†¼ûfJñDâ‹ÌnºH·B†²Ø+]çÑB†Blí®)dH6Á>ô6ð… T’Y¯€°H!ˬ€w…YG +* lsžãxSȸ]_¯rבB†’à$ù%—§%ö츸7… ±\Ž0d‰nKÛUü"†Œà˜Y7?/bÈ;f~²‚Ý#…Œxª‰FÒ<… æî)dÀâ”|•‹2àt†u¹B†Š~6,%­G +"ã:N,PÈýA`=Þ2än½€žB–˜ÏEûxcÈÙǶš ‘0d¨WhÞÅPߌ2Äý¡jºJKD Yâ:u…MF Ë#–†Ú”ÇC†8C›ªÌø“æ1dpú¬#íúÈC†rŒf:Ÿ*$ýÂUžÎn'â…!ÃV<Ê>ë‰ +k)])/ +˜6ÒŠ‘BËïg¾(dH »+´½0d8Á·Q(ï÷…!Ãæ0Pý§²uE`È=nŽBÒ­G Îç•­ôÂ%_ú…!;ݶߋB†K›c”ð¢g&bM ÏðDóE ++ͤ±dtD +v2lØ¥ # 2Ô…C{ÑÄ<…L ”soæE +âCf 2ÔÊ—°JB†¸à; ?2È´˜åâ“=ž@ûÜ9ÌA¦˜ýºÃ°‚ Á–uÐ7‚ŒXGó¸´£dL¯A”_úDíì¡56‰Ë#Ȉ´DÑr C0X¿OQ"ƒ ÑYwêvDaâÍûä÷ cbªu‰ÊdØzìäÜX3Ï C`RrÏ¥ö<ƒ A<Öv}çÈ ;¹ƒÞ6!2Èc·³“Â"ƒ Û‡yÔ3È’²ì­— Ûò 2lIöŽ7‚ ±"6®ÀM=Þ 2vü%¶EdSœì©iâ÷ 2"“QòHǽA&D3NÕ!<ƒŒ%ô{`‘\Mºñ&†9™Ú7§80Ȉó¶o‘ûd„޳«ðYžAF8:H²zÎA¶éîv[AF>=êü-¡§<‚¬ðȾŒ˜`AG›Jñ2”¤FøâœLzËUÃpY_s9ÐÌ´¼µ€ c ìõBûàGŽ‘èd(¦èÞtË\Ê4[J®0ù€ ƒ†um©–«G¡¬7ë5‰¿dÐn{ú… ƒÛŒµŽ^2”·éP/é… c‰ñ4®Š`AÍLº5Ty5 ÈXµ|ÒÅT{.ëŽÌQ.Ì!ÈP gŸdÐ\—¹„.s2hYuàÊñB–0ËR^d@ú ö0›‡GA“·"ø•G¡ +<’­OYáÁ^"‘òx!È ¹Ý‘€ cÕù]÷x!ÈŠ2¶`}Ks 2hOêP@¡Æ=úë6®= RyÂÁ¬°#Osuw.çåöµ¨^æ d,ÅMkm_´ñ#ë@†êþv•w‡p2H; +N1 +,ö T KÀƚʞ4{ª…‹zA™ò˜›MæR€.˜*¤&’˜AÛT4.÷ÛÄô2`좒™aºG ƒ&Ÿ,hO #~Œs-­@-œ 4Šè`ÝâªÑd„=,œ<©ø¾'A+¬¤Ø5s)ÐNœxmƒ'.1±à/±“< ZÃK/½/4¸Eå5 ZÂ!ƒ€µ@FÐ~yÏ¥@ÿfcá šº²Kœ´üÔ$ 2h6ƒÚ¤_„s2À:¦bÚ…ár2hÈWUÀj ‘ñ$Õ}{ž@VXYöDî +_­'A³Idîo9þXQ-Èó¢Õyþ´! +x?^ü1‘HˆDÔ÷ šËˆü1hª1#—çA»³^ü1hæÛ™%‘ûñ⑘bÝÔ.F\/—r ¥4vrGàACI¯R¦¾çøc…YÊÌ~ãýyþ4„iä ìåøcЬC°–ÞñâA³û¶g$Ú‰ç‘Siˆé:Ÿœ€dìí÷û']δù& ü1h£»GæøcÐ~³’H}Ž?V˜¯éÀ£f·°I š"ÅË š=±«ZHàQÃéWú‘¡cOeWi ²Â +®éÍȨné{@Í&<ìB +½ædÔlýëÓãdÔ¨ ” ȆöMeñ2j6wìô ƒÛ ´Ç @VT½ö²ö€ŒZK§N'Œ 6Úëü1jÈo[Ÿü1jÖ›J þ´±k/þ˜´tÅ\;sy÷‰a íoÕ d»µËz +2]%@„›2ædûî®°ã@ ÓSÁ¹{ºèd·'Àgyžûõx™^QE¢¹œ½:›ú[ûé••m€ŒµŠýeÁ\εÉZ†b 9{¢Æ×F®9µŽr™oþû¿M©ÓÇóǨ©Ð’¨jOƇ›ê& +ÐåR¨µ ²ðcÁ÷±qÀQ³eèza?Æãö +ô1JO:Àqjã*¤ðcœ×žÔÁ€£f¯rT½iã\‰9!ï﹌ƒ=ÇÚ¬0õ=—qÀ¹ŒÛýz<~ŒSzª|è/úW‚“´Úü5T-«ó?ÆÕÅVûÍzõô1-Jf¦^D3Gãb†åi³ù<} ÿhvÉY{->Æräü3úÖÑׯVúcYÃ>Mqüž>FÀæ×]2ÐÇ ¡^ÆLZ}Œ6NG/t—£Ñ±+ÖÎU€AZàñyøMŸóNçñð1Hv_u× ð1ZS‚?Isé´ÁN3NΪKqð1ÚnöìP9íxÁÇ ÝCþE+ôŽÕ§}Lf$jmÍ%ÐüLb)/ú´e“/¡}Œo¹c#Æú-áŽÜAý¤§Ñ‚~ðç> ×ûÖ=~ šóÓ~Œ åIÚãÇÐqPT›ã…+ R7×ãÇ ¡˜ÄÞ¨ ø1y$ØFÝÏãÇØQê¿¡º? 9®;Ö#àÇЉQ®ÔVu!¿NïÐ2¾áV?ÆÎoë;bœ~ š í®b>FX’ ñô1 š“„S´3Gƒ–×RècÐÀ¾Û)Ä>F6úPs>F×Á_zÒ>Æ1z'Tö$3•ÊŽ1 ì1:Ùp·ç¾—tm˜¥ßíÙcõLõm‚z9öXa±Góæ‹=>· îúc=­ãtØcÐ&N§µáØc˜JðV/ª‚cq§˜"¬{Œ$§=±"˜gAÃTU®ŸtYÜs™·ÿíÙcš¸úœ©äÙcа¦]h.‡ƒ4í­L5ôwª“}¢Ç´Ûd=J4ä€ã&•­jUI=mŸ5¥ã…Ã<‰4÷ªÊË=­* X×éÐcиîgQ^€Ç±™XÇ=ÆÂÃgVÈi$1ÜÜÔ¾©dž<#;€]£8ÇX˜·]¥ï"yŒUtË=ÂyŒ©* r¼Ñc(à \*ÑÀ<{Œg¿Ö¸l¾Àc½ÖsîZ‡>†œ í gæác(Iґê!àc8ô~6i#|Œå4‹{¼Ùc¬7yoLEö‹añä(°ÇtÜ9ß‘=vr¿˜‘Ç›=†L¹Ë¤챓Äùkº è1¤‡ ”ȹ›sì1P2÷õ-cn<·Öts=v"ˆÕÌåFô²JfÎf×ë{=³ÊÖ½ëÑcH8™šþŽ7z 6`º›{ÐcˆzY*íp¼Ñc‰I?öÌ7 +Ì£ÇP6íÌçóè1쨟å!ô¢Ì8Û1º=†Ýö“Ñ¡íx£Ç˜t*Ñôx£Ç°yeoô‚¤Î\|Éc0ÿ(Z+oò2ÿc8Ç`²"dÿ$¡*6EU>’Ç«GžEñ‘<–àܵ¶KíGôlÊv«Dôj¿¨¡-舣½i&òÜí9ôBûÒÑc ´ÆÓƪô«€Œ#Ìi@À„šM°6cþŽÙ>u~¢Ç2ÉËy³Wz,3xîr2=nS%jˆ…ýzŒad ©/}Ï£ÇP?|ÞE¢#z,ãXžpa† ?Óò…3óô±BcþJ™Šô1$ƒ,•Â9Þô1ZÞ®~¤¡0<ÒÇ +i„å¢Þú +‰ô;D:ÒÇ/¹ËúoúÎ ¯ÍÀ7}¬ðôûÜ)‘>†\Q¸æécxB€ÜdD‡ÃÉãT1¯ãCªŸ½:[gt%?†ÜÚ…ó8ý §Á&²S7ècˆ;}~"} )Çö½¦»ˆc¦òÐdûÆ1û9¡ Ýåñc…زºYå?†ŒÄ!üxãÇöMz‡ÆpÀ¡sØÒ…ãõãã¡ëƒ +ø1ÄÎbµÚÄÈ€C’ü@I¼ñCÖ= +Aõ lóø1î<ð¸€ÃïœWpÄ!©²±‚r=Þü±ÊÔ½Gùcèàp&Ȱ-a¶æµ:Ž”w÷ñ!‡³i?Þ20!Îrƒ—€ ã e…ˆ²ªtYg‘?†#ìzá7} qÈKe¸7} ÕMKºÜ¢H#œ•»d†ú6_öó†Ul˜*]êxÃÇp–nïgŸÚEø’W­µªM²C¡Õ½/ø1¨b#œl€aŠaÓ’àc8º‡•?÷÷|fpux£7} áÙ¡‚CúX%wíBðDúêÁNÂÕ>ñcÀyÍŸºcPY<æñƱêQj›$èc¨Z‹-ï;pø10GŠ 0UVü1Ì×ÅlªÝW€ ûmv{èœÇ@Vy®d>Ÿ¾æùc•I:W ¤ÈC¾2À ¢ÑþÊ6™«86l6ðÇ á¬rct %yª-h) ü±Ê2g×Ö\äa5ÚÅÌŽ7 Û‰OeÕÈCˆ­½ª ñcƒì>ñcò7C-«~]Ä!SÛ,dÉÇ?¶+Ví¼˜€£öçü1hö,±ŸÄÚøž?VI“Ék—ü1hಫ0”ÃQxhà?Æ-VäqT‘F<€ Ú¼ºlÀQA‘øÍ5òø1hæ3NÙ8"~ ›¶fS´]6)àǨÙò¹Kü4ìD™#ÍáǨaLè`;àÇ !H+µ)ΖÃA+¨®¡2»?F­Ýå~ Ú6à„ürø1j¶TT^ü7¬w}±ã…£Æƒy¡É Òâ¿øé?Fͦ3U¢ ô1Hk“%<~ŒZÇ>š8QIOØ ³é×þÈÙÿÐ6òø±ÊêjóÇãǨ=œÏ£´ÀOÙ 1ÇÃî= š1âðcTÌŠi>äñcÐ’ªS‹‘æs‚¡¡2§²L~ŒšYÙ¹‰BçñcÐr^WºRàQCµ¶.ö•ñøÁþhe‘½<€Œžˆ€@FÛ +"¡y43;†öQ«ŒNáezµaÃH'k@ lÎSµMŒRí‡FŽ'Q×NŒÚBPäø@ACTÝt% £Ö˜›}aÆN‹6èÉ#È  \0ô›>%¸2ûï +^ 2ji\õÂŒ=.4[am +)GDUu7óª +·ãdÔl%»8AF­W3õÈ<‚ŒÚ“—d• ¯»!/5›‡vGQR57¼€egÂ9y5VøÚT3‡ ÃáØÉD§ý4‚Œ–³¦Kñ2jÜŽ›ÉAÈ(éäS/Ÿ mM!{^2žá%ììjy™Î÷*Ž„ŒZ»¶´„Œ˜tÊA +2jS…š„ xÍçÜ41!£fOl#T„Œš]¯¼á!£ÔNj‹©å dÔì$Y/5¬{%÷2j éðIßs2hxS; ×SÈ(É?Ð¥8 5<… µfS`Ò„ë1dÔºƒžùŒ`hOUæ€!£fÞ©Œ·@!ƒrÙN™ 2jö"[io%ƶ‰Ôå8d”ìC „"£vsM‡ŒRÛ«ì‹CF i¥ķCCîÎ&:%8å›ïç9dÔl"Ì›’ê9dÐÚy‡5ž÷;5EËé{ŽCFÍzMÑq‘çQB@K߀/Ÿ ËoÑŒãAdÔžÖDFmœW‘Í"“võ!!£bÎMSM¤€!£Æ¢Qç…({<29v φLš­wmßφ Áfÿy 5Ñ!.íÆQ{ +  ™´;£>`Ȩ¡oŠà0dÔÀ¸²=†Lš-º +£ 2jxÿJU2i6ý©zÀQ2°†ŒÚd'¸Xc·@ ë´àÅCFm݅ˆLšYÌ{n÷2h6žêy&€È¤±0®.ÅȨ¥»fv‘ISM¡ã"£–óØØD&m\%‰ŒZÉW*[ ‘I³!§Ü@"£¶··‰LÚUï!€È$™…°Äåò 2j¶&l¯j\¿d=y—á 2jÖ›óþk—,醌µÿ¯¬3:U‡Áàû­‚Œ1”qúoæJ™è7¯™/ klÙ’Æ’ÚŸê!ƒÙ;âúhÈ@¾€Ù¢hÈÙп§Q¬ÔÃØFÚ,»6/&²`±êǦSMd°þ*¢ª‰ f¯³‘j"sfo걆ìÝ~lÌJU1‘›Gû‹‰ 5 ˜ºJM0ÌÆq>ëj"ƒ=óÜZLdÁŽcŽ‹‰ †Ev[Ld0[e² (&²` õƒ/Y5‘ÁŽÙ‘]Ld0o>Ž;¦šÈ`ãÎ61‘ûKÂìH¯®ˆÈ@¾Š“½a@ ÆD\""ƒå콈ȂÙbc¡X‘ÁÚ³#EìmŠ$"2Xž®ªˆ,s—Rª‚a6&yu‹ˆ vîSÒSEd°NUÄ""ƒlŸ*2PÔJóï‰ìUÕ³ºxÈ`m¶·Ì3ÍìOŽU=d°Û®¤.²dS+QUd <XUd0¯í‡u |nÍdU‘Áf"§ªÈ‚Ùší¾¾*2ØÍCPY oœáÑHÀ˜½Q,‰‰,˜]知L"ÏËB5‘uZÅœr1‘Á|?ÛXÓH Ê®ØãQ,ÓØUDŠÁ²­"²`wË>ý*"ƒy„iC#—[g9®ˆÈ@ö¸Ó""ƒy^"—REd=J%|é…së§‘€1‹§ðž‰ˆ,ؾg­ŽŠÈ`¾³‡ëHàñšF*ATDì8Nºv©ˆ 6{°©ˆ,˜M@…ÄC²/ûŠÈ`cOÛ@ÀfÖ_'îUÌß—Ûª!eb¥ZÈÙ´ÀÙ©ZÈ`ÙêX-d ‘ç…j! æý’XÈ`g¦ï«… 6²·ZÈ‚¨âÙV Ìæ3†hÈ`±äØVìÉE­ŠÈ‚ÙJߎˆÈ`ýy_‰ ÍFîj" öš^ÔD›cÕD³5 î1‘9¿€«Š æÃÉWU‘Á.Wpm«‹ 6ÓíÔElßÛ/MkUFó/'¿Wed0ïóÎ}¹õDÀ‹Á¼þw[edÁŽY)¦22ØéM ·UF›[*#ƒÍ´G•‘óM î‹ÈÈ`Þ'‰Y[ÑfÁ§ÊÈ`¯\¯ÚÈ3KGmd°–ÉDj#ƒÍÜkÕ‘ÁîŒTGÌ›±1úDG›R¢#uÄ®j#Ù¤md°'{Iª,ØeïªÉ«-‘€Å`™Ü¬62Ø,—VÌVÖ´¾D¾½ÆK±‘ÁüŒ’kK$àÄÅÃÌï<×r/‘ÀðBÅ{–HÀbŠ<> +endobj +134 0 obj +<< + /Type /FontDescriptor + /FontName /EAAAAA+mwa_cmr10 + /FontBBox [-43 -250 1008 750] + /Flags 33 + /CapHeight 683 + /Ascent 750 + /Descent -250 + /ItalicAngle 0 + /StemV 0 + /MissingWidth 500 + /FontFile2 135 0 R + /CIDSet 136 0 R +>> +endobj +135 0 obj +<< + /Length1 7156 + /Length 137 0 R + /Filter /FlateDecode +>> +stream +xœ•Y PÛç•ïé$$„8t ÐÁ!„ â @666Û\>À`sl°ßWbÇNœÄéᤩÇM3©7q]ÙÓn½=w‡±¼Sª*¥*¦,èŒa½æ]^›þbLדøÁ¾Øë® 먳4Z{ûc¬ƒjKŒ«·÷Zú¯„çÚ;¬ô]kfçš‘à–ÆÁ˜ÌÑЃ֫9Æ×/ë4÷öw®í°Úÿl.´ß¡³Ý{÷Þþ¿9“wÔÕÜùÔâš?K]Z±Üëy‰® HR™<Õcë{‡¶D¶Ôy= –k¯»Š _¿§Þ^ÊN1Î^—S‰w¥ÝÒ†bá^‹Äw¬ÖL´HÆͱhggŒ·×Ñh¯Š1öº˜º Ýë±4 F¼žoø{/ÖWµ<ˆµÅr…aOÕÙcØ[×H ·wÄÂ[:Åó¼ª×Ö»Åàõø¼ž[^OM,­À ‰¯ƒÊ5ÂU” +Ù3s¬—h®€'Œ„)! £¶ìò‹ +Z£œP¥S!L¨û’4Th}2ÕÉÔ—¡BëShoÒÿÔ®W^Bâ§œî{‹ø1€ +ÃÎtd h“+•te¯U‘Ñi”Œ uh jCféê>Ÿ»(5€e!,Ñkýz»>Íà×[%eUH²-gfeÉÙÆ—_žY=ÿãÕ3qþ¶EÙ˜ÒøÑÆèËÆhÔXðr”¹ ’Ì·爇ˆ„C¾üt6É­Ði˜$›EÍÉ‹‘Ewš(~†ËG…^QŒ%E>vu®BÁ›±@òQ=²S*²EuRÄj6PêC“¬LÔLš`·9¥Õ õiÉL +úKÊ‚eA?»ÃêhW‡¿z߆Î3Yòd_m­¯¨¶bì¡U»_ÙÓ²÷zöoo=~CH7UVy·´ ŸztMû“=#ë˜êâÂÚzïªC˶~c¶ó±ç2ßáùŒ/ÇŸ ;‘ºej~ »­f›š­0*RÔr5( r:GºJÉ™mŠõ©fà‡l)Ý%ÞÁ]#~t’€¶Ô°–Xæ·êmd_’ŒZ¤ë¸PlFçæð˜IŽ×ñºÜ„Çæææ/ÍÅå +S†"ž<å¼µQãÝYî„1Z{÷ µQ²È‹þÚhä•w/ÌFIÿm÷î°ï±Ÿ#ÙWCS¸Z… +N¡p• ×b.º¸PšàÉaÊœ… +ŒåòÃð!ô`·™g…dôcnPI`Ã’ÅÖ‚¥e¹þ„øe˾L½–ìD4?)Æ.ñׇA±»«Ð–Œm/bÒli_èd“Ë_‘—_qsÏÚ‹#¶\›µ²¨µ°rïüL{Ë瞎ֆ7Þ8üòÞ'kÚCãMU!W~EEþèPÓñޏ?¯>â:vÌ·¶xcxU·oëêh_Ý®šÛUGÉÔ <ÞžË^ (Õ  ;Üf•3­+i˜¡¥hØêLQêåè\™§X,4E( ;—É@ÆqØRI ÈÉb¶–F´¼UËtæ¶ ÐœR`¶V‚V`;—LÑXZô!Ùã‚í«ñ>k Úd’1’\ˆ°´Ø%’¢H¥N·(,!Šì™PåÃËóÝU›‚}35{{ &«=Ëœ¦ §ix¥Ã»å‹k'6f5•]Ü{óss]Ý??79q¾±áüøÍ‡/®.Bóåýý+2W^X>fÌÙز¢g:<Ñænò×xLN§É™²Ü1ØpzUU^IY«çøl×t 0ÝÕ°ÑëÝØ0RãmÅ7>9}z$²£QÂnùú•ìC”ÇÂnªÑâJQªåÈ¥+”J Q™°[—•Æç¡vçòz)H˜Jä@KÊÈÌÉV}B:ÚEWBýÒ¥ŽªÆ.ku-æçió™G»ãîÆ®Š®é'»¢7S,VE ?ì˜8ùp<ÍmˆRþºÿÈõÙø(µD?WCÌÆù.ò»™àgf¤¤’ßENâ1…Ñ(íQòiÑ2{ |`Í [u3;”„ó²ÑŠjg–BG>)SaPÊ”™¨Ç,ì6hô¼Ä'0Ž\P–V²Ï%ÝIM=ØùQSeÆæ¶GmUµ fü5çɶ'¾ú>Þ”T5?²¦Ósm7Ž&ZÅeT¿ºjËQWâ/Ä?BšòAUØoÄ<‹B…y.¹’“g  Åi"v21:E?¥ùuÑ‹-ªPŒž"ú$³2~ŠQ‡t ÖÇØ _„?|ö‡ã³?=Ðü`±•Ø.¤Ÿøg㿲ïnXwÆž¾¼Û?r´Tk<öÏ3ûo¬Y†ÏKÜßõJܩм\¿¦¯çmrÎ~g{Û^)¾’m#ÿj!„øÃîìL&%MátÊÉÁæÙR@HËC?Ë%aO¶MÎ[±]Ëiò7»UŸp”Áj#/¹k"ÌaüÀkÓc7f6îòéç¿öÐjFV'3*™NŸõb|çÜý­S‡ŒÇÞÚ;óÆ5çºÍ†çß_Ö_.SeL}–±¯:?ôfÂ6ÖS~r‘bq3¬ 79Ф‹£bEN&crx(0W§BµWI|ë´ŒÁ¦XQ.À–b'd¦ÛlËC¡)Z ·jÁSêcÈ¡Ua©?˜pobþ ¿¸xÛd”%*»$„%øÝ(zfãt¿¾dCÍIngt³§gSË™Nà|ÕÕ>oxø+íÕ§&šV=¸¦óBïþW&¶¼´/â·s‹Ï7F~t¤bª¿2U§QŒ~¡±ï`¨1ìõ„ÃžŽ£õŽ†Ñ†õg‡3´ýOwíüæöåg·ù#9Ë,%’ ùî]ŠçN…KÌ(lr5#W¢Í`#•qY Pˆ9¢“Ð3œ™!ðvlÕsrÉKdLRj²ÓSí>Vrë”<‰Rðkí¤G7ŠdÍÜ7TJ.ìúüño;ò3ês„B޾¡ÇQ ø=P»|vMÈÊžÿOêž“&Ìÿ§˜a"½»€¹#aÛvªP¯fÌ Ytué:VgO¸â^Ï£Câí¯;âÅ0%ÁCL6 ì°îÝPµ%àr–¹Ôk‡ãY^ÖÕ0«ûQ›þxOãŽå¹3ñɦôÜnYyô…޽¯ìkûúÝÉ‚ô&¼4Ûƒƒ}­ØÿX¸í¥I–‘ì@Q8//7-™3d+ ¹"v³s{Ý¥E¥Õòë2D×ãù4l?΂΄ŸI¸R¯! Áñý¯LMþhÿÌ­òüürŸ­épßLQèØÖÞ“&IPæ\3y}vöí6ä…By¹™÷è‹›¶þÓìôµJ&ÌžIàÖïá4ì$½ý}á\Æe§l¹|m†R¥4›ÒÔ<¯K&µ¶{©<'´.%ñäOjE½‹)fšÑŒeRî&6&3÷eoiÂ#®Â#mñWS[jñòNæW¯ +f·Ûk6gÄÏg6†›w–:3òžx,çÆ%æ?œúh´XÎÍÿ?ФšiÑhEùGO×7m]î,5æ™­¥Äû{q`”%Ì` ›rzþ@/9ED–ÙΣ†GÅÂs(•¢ŸÞïaú÷¿9´}ðl$ðÉ_'|Ú¡"\hKÊzÀdP|ómSª˜oÛÍZ—¬Vdc«!™á-تÁéXʹ˜k[—¨Å¬Û*R„Nf`Žé™cúö³ù§çæŸK€2ZOÆ÷Ä:‘h3îùÛ LŠo¬é&GŠIŒÌ¨Ð£ŒÒL$@ù%yƒ>59I-ðŠòl–^˜ÖESò‹¾2˜°p{ªU4š4™dBüì£ÀT^Û°s¹5dd.+’¸ù7;§ \Yòݨ‘ ¬ÜP5² Û’”jAþÑŸ ®ã½ñYÉf¼qÀÆ%¹ ’ÜQ’;Ìvrî÷É]ôP«Öûƒ )m²ž¶¤=Œ¸ à‡”UâÜÃ,üÒR«ÞÈdã¾C‡hÖb|ɦØ^ õኢBwA*+튠CE9™Ýn–å.`ü!E¿Ñ |*nKñs”‹o É4BÂU/娩„,×R”òg™ñ“y´dÒ.G2“jcŽä0hÊúg­lìØþBo÷?ŒÕî ïnÝ:}sløÖ¾ñγk¦¿—´Åÿ©~äƒõ;Víoª>؆Á}ß­)ö=ÙÞw¾kÅ©Í {6Y›—6ÿcÿú/´>¸òô¤kUMÚUÛàQ&ÿBəΆÉpÑæðò‹÷΃ +Š ~@£(qˆI¨mèÌW¥ Œ=S +©rlI/D°Å‘ƒÂš e lå¢5 Í£âb°d–^Y’ÇAñ5ňÁ5á³ìtË ‡;Ý~lÝô·û'¾pÿW:ìS¿ùòìÅò‚üòŠ<”·uj(J2ô­¯^µáÖÙµÃGæ¦÷Ý>pâö§ÎÇ¿ù‹]“ååyøô΋k]ò§ÞkÚóàê©g9ÅÇ8áO/e•9 Á1ר!·ÈFF§G³N±BMÏ]¶ê8\ß}È[|IXc­÷=€ôBÞ›¿|üìÛ;ã׿ÞD÷kŸxá2EÈ{b»w]êŒ+k£ÌwjšøÊY +¿Q(Ÿ3°üÄ …“^(doÿ¿ŠöÿðB)r?µñS/ΟHtÃë¶ÿ'J"Þ0ïR¼ ÃÊp]QanJ²ÀÉòå‹ùùY0CXƒrg¹”ýf(CE…&š£ò(¬Ì@©Š¼½<'¦.1 ¦Ì—bQ'¡ÀYˆ‹1Ô˜ˆAÄ<ÉwñqiÈA)ç"¯ï’‰IÍ•¿Õ{l[ãC ”lëj )S¥Æ¤›é9Ñ[{ºq¶Éß½?r¸»Y¥Ö Ø¢ÑÄ_ïè©Û¨5§TotMú—ùy•?5uähdmùrM†fåÔòcQÛúVîÿÛ†õáS¸ Þ•¨¹g`£#3SýåôO|a°ÂAþÙx92II¦ û&Ê/¿ôöo7§TþäÈ?µøÞsNt‚HÊi1.®£ýè¥+Þ{îÞ¹niÇÅ/›ù=D8€«TÖP)§²MÖQªÛ¤öN¨b‚PÚÁ%ÒT"ì#Ò¼õ¼Øo…”ú"T»hî{ÄE8‡h/ó<ŹÒ|Z+îÁº "q’ [¤cˆTÓ¥ DÝ„žÞ’áò¿›áÅ¥;)°tf(KhY Yê^  °xræ! ÷¨ÿ§49µ®K«DA‡–šd¬^ Yê_¿@sDO-Ð˪ÞÑÙÉÁ=>Kí訥Mœ6ii˜صg ßWT\R×Û<¾ª×Ò8¾ƒêÇGG¶N ïðXVìõÖÑc0MÜm&>ƈÿbâƦ{7oÛUL¤x³í°›øé¥Qhؾ{´w×ß[õ¿Ó½Š)Ÿ%ä…ºûªE=@±¯¸°¸ÄÛ2¾Ç[^ú÷öaðµOüØ_m¶ÌÅÚT9òε19I6¬Þ([Ç·ÚWð7º“ðÈ5¶ò,·ûÇN£³ +endstream +endobj +137 0 obj +5228 +endobj +136 0 obj +<< /Length 138 0 R /Filter /FlateDecode >> +stream +xœk`´3`X¨À*^0_uô +endstream +endobj +138 0 obj +20 +endobj +139 0 obj +<< + /Type /Font + /Subtype /Type0 + /BaseFont /EAAAAA+mwa_cmr10 + /Encoding /Identity-H + /ToUnicode 140 0 R + /DescendantFonts [141 0 R] +>> +endobj +141 0 obj +<< /Type /Font +/BaseFont /EAAAAA+mwa_cmr10 +/CIDToGIDMap /Identity +/Subtype /CIDFontType2 +/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> +/FontDescriptor 134 0 R +/DW 0 +/W [ 0 [365 500 500 500 500 916 500 500 555 276 388 555 555 443 500 651 391 526 443 526 276 750 443 276 333 500 500 680 555 394 ] ] +>> +endobj +140 0 obj +<< /Length 142 0 R /Filter /FlateDecode >> +stream +xœ]’Ënƒ0E÷ù +/ÓE„ )ŠT¥ªÄ¢5í{H‘б ,øû_—HµÄãŒg®/Ã$—ê©2íÈ’w׫+¬iv4ô“SÄjºµf#R¦[5F +wÕI»I|ñuFê*Óô,C–žlÌd,ùð/Ãèf¶}Ô}MLS³Äßœ&ךÛ~]®kô:YûC™‘ñ#£Ã3¹¼Hû*;bIÐÙUÚ'µã¼óå÷ŒÏÙK xP½¦ÁJENšmNܯ3;=ûu^Ôÿí§9ÊêF}K·¦7~ Oœg”‚8(å ”‚ör *Q¥• ˆ@GÐDÐÌ@ 4‹@‚*qž€Ï'ø,P'ೄ¦€Ï} Š> ø,%>÷øŸi¤{è„P8/ªh¨d¡á±³Ù_ŸïÿE†4¥2vJ‚M(ÈQJË?]fs59çg%Œf’e> +endobj +144 0 obj +<< + /Length1 1984 + /Length 146 0 R + /Filter /FlateDecode +>> +stream +xœU_lSUÿ{{nëºulPÆ»ÝUÙvo·Ž,,®»w[ÈFÊÀ•˜l—õnmÒ®u…)¢‰Á‡ >4Æ'b¢!w}@CŒA“4>ò`Œ‰$ø6“Ëæw/1 ‘Óžs~ßï;ߟszÎW0>¼Ñ—·woV<>bNgå!kèáï©Û“ù©¬øÖØiê?Oeæ&¯îI^ÄqÒž²ÌäÔ’ñ.Ù'IÞ"Ÿ^¹FòG$7§²³§¸ÂöL*2¹ ò…e²q²Èš§ò¬‹5þ;’åi3k…²37IþÞÏç +³kgPxO;úüŒ•Ïi-»Hvü7A¢A4£smXû +ncÏ3?Eù‹ø—pðÎbd1ŽWÇ샎½èÆ.4Vø½ïVéM©Wj‘üü.¿Å¯óç=¿y +žœ¸*Þoˆ[…%v›]g'XˆùÈû¸‚.SŒÉÿÛxÃpÇ0âF¢ƒë1ÐÏÑÍõu›j5Õþ*_åÆ ^‰{DA-ÑïaÈóÇç}ò¨¦–Zcä”¶Ñ-Ý wêq'{ckÂfFÍ#”¦¶Ñ×Z5õÁÀŽÛPô&†tyPN™I[ Ñ,ÛC1åäB4:?2ÚHmÛGà Ƀ)Û0mml°¹±'Ñ`&‡G•vå^C»r‡b·=Ù»™|âJÒ{ïP')MÏ-ÕÛ¶U‚«!úúšå!ñHc<Ï΃¸È^u wn`R¨¥¹’?jñï¥[}†_ZŽÒ^ïe7Dzß=û÷OµcÕ=áيnjחã+Ò^§.Й±u;ò÷"°áâÚâýß+Vz\o‚pý Xr5ÎÑ)»<Õ ›É…ï”×úém®ÛáÚÃÙî2àe‡ÊX$>WÆÂç˘£Š}QÆñ·h%ól ék×ÊÁ uL.c~ÖWÆ"ñ‰2ö~­Œ9¶±ËX"~rÈSý˜ASHa2vÛBs„*H7º ÖaRI#CxacÄdÜÊ“‚…¢Ëõ㬈?ôVp%‹f‹biLÒÊòÝéú¦øŽ'™*VÓe '+Ç“… bÒ®ÆÉb¿É"FÖaªV¹üÜLz*5+ï0ZäHww—*ëf!‘‡ÃrÌÌÌRV1,÷e2rÜYVãVÁš)ZÉpG¤S7‡s1SÌM“ÂÈe2ÖÄl:7­Êû­¢•Ñt +ÅIÊnŒòÈRfs”w‘'ͱ‰la.BØÙÜNPJ&mqkêDÆœy +Ãÿ]@¯‹z»{T•õm]sD‘öH§v WÔº»žÂ•X¾û¯;ÿiÿñ ‚¼‰o÷o·Ç|U<^kŠŠ±XsÕ!œûRì9ûL[ð·õŒœ +endstream +endobj +146 0 obj +1316 +endobj +145 0 obj +<< /Length 147 0 R /Filter /FlateDecode >> +stream +xœk`€‰ +endstream +endobj +147 0 obj +12 +endobj +148 0 obj +<< + /Type /Font + /Subtype /Type0 + /BaseFont /EAAAAB+mwa_cmsy10 + /Encoding /Identity-H + /ToUnicode 149 0 R + /DescendantFonts [150 0 R] +>> +endobj +150 0 obj +<< /Type /Font +/BaseFont /EAAAAB+mwa_cmsy10 +/CIDToGIDMap /Identity +/Subtype /CIDFontType2 +/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> +/FontDescriptor 143 0 R +/DW 0 +/W [ 0 [365 276 ] ] +>> +endobj +149 0 obj +<< /Length 151 0 R /Filter /FlateDecode >> +stream +xœ]PËjÄ0 ¼ç+tÜ')ô´JÊB}°i?À±åÔ°±âò÷k+!… +üif$Úî­s6‚ø"¯zŒ`¬Ó„³_H! 8ZWT5h«âŽøV“ …Hâ~#N3ž7–^Âηô™#­pzÕ~À'Ðhrÿ“4’u#œ~ÚþèöKwœÐE(¹‡Nó+Úw>ä„ ØçÜéD²q='ùã{ 5ãjË ¼Æ9H…$݈ťLÕÀ嚪Éîÿæõ¦Œú•t°Mª†Q•PY¾HÖî¬ì’·qDT QJÇËàX9uxl5øU|œ}B +endstream +endobj +151 0 obj +235 +endobj +152 0 obj +<< + /Type /FontDescriptor + /FontName /EAAAAC+mwb_cmsy10 + /FontBBox [11 -215 942 727] + /Flags 33 + /CapHeight 0 + /Ascent 727 + /Descent -215 + /ItalicAngle 0 + /StemV 0 + /MissingWidth 500 + /FontFile2 153 0 R + /CIDSet 154 0 R +>> +endobj +153 0 obj +<< + /Length1 1968 + /Length 155 0 R + /Filter /FlateDecode +>> +stream +xœU]hWþîüìÆd³Éj~VélÆT“ÙdcÔ.J³™I5Æê%[„d’dv3Ûl\“–þ@ñ%V°ÔR°P|’"E&yh¥±¥b +E¤h+BKŸ„>¶ (¦g&£”Z[ïìûsîùιwî=  €wÀ#ùÊ¡®žðOÁf€HÚ#“•9iodp€ð÷Ô?›*M¹Ð7Àæ©ßš.,Lý|+üÍ?Jös9ÓÈNý¸§FHÞž#EíVô“üÉ›rŹùÀvd›äª‚5I\ø…ü8YùÛŽÉ~‰diÆ(š[fÊwH¾pgJVynå-4þ‚c/Íš%KíØF²Ãß=„± =+€•¯à6¶™q¿â*>ÅyœÅx'°€2ŠÇQ¤±»¡a'؆HUÐ_ö¯÷½íëóuø‚âïâmñš8"¦ÅÂoBY°øGüþ¿žûƒÝaר1ÖÎÄþ>Ç2.RŒOˆÿ]¼éF˜À«q#쥩Ç1’M ëÖ†ê낵šê5U~Ÿ(ðƒ²LßB—'emꈪ,wúȼèhs"ã»ÜÁ®îÌØL¯ÿ‡JU¢ô³¹NUY}± ²¶ÄøvMJI9#kóí4J¶ Ë†”]J&GF#Ô–iÍu€Ð.¥r¶¿}аqp4Òb‹úK™#›94*wÉ÷[ºä»;úlv#ûÌ™b»Öw÷)ç¾û®*´¶9¡*_Ó²Áhœ$m^7òã㚪 J6/kËŒõŠ.ë‹2lAÖÂv³Vb æí¤!¹yÛý-„h§ZìÝ™Œ-ÊQ0YËÛœ¬ÙΰªHƒ¹Uù!ˆ+W4Jb9$Â%i‰ã5Ùf†–¢ KŽŒÚÉñŒOUȤ‡tJ7U‰©ÊUUé³:ÕÕ‡}ÔÏ€s.—HÝ.?Ú’-2GGTIðsÂažL‡ý >nM#Ú EB›©3ˆ<ÔD<@D¸ü@s1.°›â)®µhNÖ·úâÕùz¨©)$|TߨXÏnn¨«Ûàtü½1_ ;í¤Çβ×\…;r70Å­¥±FÄ´$$œÏßKS&;ýÝ=ÞÕ¾ñÛÉïÆêvý‰ªžön~”òŸ¯;uœçIoâ{ÙQ9Íò ããFûGûµ\ ‡¬¦Èѽ÷¡‰(ØãÍ Ò]|ì?†+ObTSaž—Ÿô0OzËÃáÓQ˾ð°ô·i&ÖtÙõr0C“<Ì!Èú=Ì“>ãaðë±}ìaé¯B‡…Õ‹Yä1æho·¶ƒÆ8UŒz¡Ö`PMÉ£@x1z“¦àVšLT\]?iœé'leW2i4)F…ÞYšÙMÜ=.çÅw˜$ªPf<'+‡ÉÄ$iò®ÅÉbŸÉ$‹JÞ1ªPVia6?›“¶èR<‘èU$Í(ç ÒPL6 + åœY‰Iý…‚”v¦•¥´Y6g+f6ÖïÑŒ!kØRÖ t«P0'çòÖŒ"í3+fAÕ(@Ç©’ŽQEÊlòî&åñ‰±Éby!NØYÜ4ŽQJ-isúXÁ˜}Çÿ§ÆÑån•JeÜ¢¥«îA<ïŠ÷¨û­Ššè}*~õ0®¼áü‡ýË… +‹mbk°™oÔŠéšá¶$?<¼©ö N]âwØ~p® +endstream +endobj +155 0 obj +1292 +endobj +154 0 obj +<< /Length 156 0 R /Filter /FlateDecode >> +stream +xœk…… +endstream +endobj +156 0 obj +9 +endobj +157 0 obj +<< + /Type /Font + /Subtype /Type0 + /BaseFont /EAAAAC+mwb_cmsy10 + /Encoding /Identity-H + /ToUnicode 158 0 R + /DescendantFonts [159 0 R] +>> +endobj +159 0 obj +<< /Type /Font +/BaseFont /EAAAAC+mwb_cmsy10 +/CIDToGIDMap /Identity +/Subtype /CIDFontType2 +/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> +/FontDescriptor 152 0 R +/DW 0 +/W [ 0 [750 776 ] ] +>> +endobj +158 0 obj +<< /Length 160 0 R /Filter /FlateDecode >> +stream +xœ]PËjÃ0¼û+ö˜‚l÷ Á¡àCÔíÈÒÊÔ’XËÿ}¥µq zÌîÌ0¬h»[çlñE^õÁX§ g¿Bp´®¨jÐVÅñ­& +‘Äý:Gœ:g<¼n,½„ ¾ÓgŽ´Âéªý€/ Ñäþ'i$ëF8ý¶ýÑí—þpB¡ä:ͯhßeø‚`Ÿs§ÉÆõœäÆÏjÆÕ–Ays +Iº‹K™ªË[ª&»?ÍëM5u—t°Mª†Q•PYÖkwVvÉÛ8"ª…(¥ãep¬È:<¶|È*>ÿŒÙ} +endstream +endobj +160 0 obj +234 +endobj +161 0 obj +<< + /Type /FontDescriptor + /FontName /EAAAAD+mwa_cmmi10 + /FontBBox [-34 -250 1047 750] + /Flags 33 + /CapHeight 683 + /Ascent 750 + /Descent -250 + /ItalicAngle 0 + /StemV 0 + /MissingWidth 500 + /FontFile2 162 0 R + /CIDSet 163 0 R +>> +endobj +162 0 obj +<< + /Length1 2624 + /Length 164 0 R + /Filter /FlateDecode +>> +stream +xœVml[Õ~Ͻ÷\ÄŸ±Øu!×¹ùhb_'Ž›6;×IH›ô+-•-E$7±{³ã§IK)uUÕDÕø˜*Ú®Bšn"UU*6Tm“@êÆ4¡mb•º_cVâì½7n6Ž}ïyÞçœ÷=Ïyï=ç\ `§€…ÄÃ]®½µsü=:µ¸ Ìo{üâwˆwzn¦È8­ þ ^ïÏNLûƒ§Xlg®ä²JfæÀPý?DŸ]9$¬os7 n´›rÅ…ãÎØ@»GµPšÂX\ý¯¡í(*Ççà¯ð&¶÷£-Ì*Åì?yí ÆÿÉ\©¼°ñ$`,ÓgZûÜ|vîhI,˜½h·F°AHðhe¬RÞ¸…‘ϱ+t‰^"ÂÁGp®Ã+ð2\„ ðSxž…óp~E˜† ŒÁ(쇽02<Ànè†( Áh6|bðñ·øüEú½COߣ7éëô5ú4=IÑƒÔÆý™û#wŽ›`+ì'ìÇì»ìuv…ý>ëc–˜¦•\'Ï“È}pUü uü~7àmÔs ®ÂxÖà—ð*ª» —àgU/ê*Œ*WàœE­§ái8'áƒ2<¦+Ÿ€GQùAAåƒÐêã[úÔ™¨ó¸]µN‡ÝfµÔ˜MFO9–!ZÃçž–'—Eyú¨ZkH9®B0UKëU¯^©æö´J’Žÿ¢¤Pÿ*Ó.…6odRQ^%l³, +9%£²ÍX *—!³šH,I°¬B`{ú`J\³0˜S ÍŠ +‡R¿J“=i¿’IN‰âçþñ6ŽüöèJæ[{Òf9~ûkÎñÏuÊY[“B¿ÂiÁ,h"—T6©ä'ú'd)4 ¨¬(¯†&“brYÄ•e¯Z£Í£yòjBtÝjŸ±ÕA¿:”N«T”1å¼Êˆ²ji÷J!a ×/…®‚èÆ[2ŠXsRÐjAXeØeYT‰"bÂGRjb"­'…°)éL¢ÜH¡°º!…⪻]‚͒µ¨­WÁgL†>‚«ÙáU½kîôß»VyúaïË „UV£©F¯ø•/zqŽˆ£Î€³9à ô3B¥‰¼XÉÑGþõ‹~î]@iã–q’.ÁèI„£Û™X¨±ÎF¹&³Ål$\‹“u ™úLá¶–æû½øªYÌánžðdØÁ#·;)&bc÷C$èòðb£ÁEZ¿Äؤ<.²«{g‹F2[$!|4v³zEŠã†‘·Áè"sk/™÷0`FÆc0º‘!¼ÙüsÓ^F²ŒFݵZÉYäjŒÏðë{k¼ßþõËvÓ[O}÷ÛýÛ\~)v÷Sö‰ ›õ:bö/(ûN§½Ñ鶴ñSŸý w ®Žk¸ûQž‹Ü˜‹qx(mO¸‡M–z ˜ÆRG:°'ð{=¡8“@ƒÏe·šÛ"] &D©&$vFõivíÞµ[›ukËWsÁØ€ëyÂ{ÜõuQ´‰ØŠá +°_â'ôYŸŠø-ÄÇùZŠZ˜V–<ÉÌœâ|­-kLëVßÊÇ:É[œëx8n“<·~a…úZ1„É¥åÃf +sY·±Ž5VSf3‡+.òé(­OÇÝ‹n“ ¯Ço·9Љi]ÏÇi”¿¾R÷y(‚ ä1€ÊØfÍ½Ó vej(ü’ÀúIz©2†ç.ýUãn^Öž¸:nïý'îã_sÞ¸Zã$¯A#:“{~oH£°ý´qr+â½Â2w ßpJüe|´V¦ðÒ +ƒç)Ú»r wåÍbýý^Œqxkk3ÙUÅ È¡*f‘/U1‡ø™*¦`%oT1ü°'áLh]×½4LÀM„*fÀFúª˜E>]ÅâÇ«˜Â6òRóÈ߀$”`Ï—yÈà ä`ØlÖˆáo'„Ë à ”‡âaã}2ô,£Wu®­ÇèV´²ne±Îâ‹xÏ`ÏNŒÝ¥ÇÆñµHže%˜­zhª´HYÌóÆÒZ4#úHYl‘Ð;Œ'XiîÄ|~&· ìH¶ ‘XlgH•r¾ ‡…}JáD9—] }…‚0ªu+ £Ùrv~1› wFºde¸´OK³Ø, +Ù©…|i6$Œd³IÆа„êÆQGyÔ݉ä’2>U,æ#ˆµÉÍàñ\ÀnóhfgŽ”ùïàø;Dp‚èÐS%á§J §.é"áHG¤KÚ_Z”b;¿C(¶úþŸÔ¾§¾aQm7´±M4àØÎµ¥lVûYçlM.šâR)ÉÚ ç¯°½gî þ ËI +endstream +endobj +164 0 obj +1795 +endobj +163 0 obj +<< /Length 165 0 R /Filter /FlateDecode >> +stream +xœk`¨á +endstream +endobj +165 0 obj +14 +endobj +166 0 obj +<< + /Type /Font + /Subtype /Type0 + /BaseFont /EAAAAD+mwa_cmmi10 + /Encoding /Identity-H + /ToUnicode 167 0 R + /DescendantFonts [168 0 R] +>> +endobj +168 0 obj +<< /Type /Font +/BaseFont /EAAAAD+mwa_cmmi10 +/CIDToGIDMap /Identity +/Subtype /CIDFontType2 +/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> +/FontDescriptor 161 0 R +/DW 0 +/W [ 0 [365 943 831 ] ] +>> +endobj +167 0 obj +<< /Length 169 0 R /Filter /FlateDecode >> +stream +xœ]PËjÄ0 ¼ç+tÜ'Ù–ö°JJ!‡>hÚpl954¶QœCþ¾¶R¨À‘f†A¢íž:g#ˆwòªÇÆ:M8û…€£uEUƒ¶*îˆo5ÉPˆ$î×9âÔ9ãá²±ôv&€øHŸ9Ò +§Gí¼&÷ßH#Y7Âé«ín¿„ðƒº%÷Ði~Eû"ëœûœ;H6®ç$ÿc|®¡f\m”×8©¤±¸–©¸>§j²û¿ùeS F}K:Ø&UèJ¨,ïî7T3º}`§]“=ónŽÀj!JYy52dz²ŠÏ/ÓwÄ +endstream +endobj +169 0 obj +242 +endobj +133 0 obj +<< /Type /Pages +/Count 1 +/Kids [131 0 R ] >> +endobj +170 0 obj +<< + /Type /Catalog + /Pages 133 0 R + /Lang (x-unknown) +>> +endobj +132 0 obj +<< + /Font << + /F405 139 0 R + /F406 148 0 R + /F407 157 0 R + /F408 166 0 R +>> + /ProcSet [/PDF /ImageB /ImageC /Text] + /ExtGState << + /GS1 2 0 R + /GS2 3 0 R + /GS3 4 0 R + /GS4 5 0 R + /GS5 6 0 R + /GS6 7 0 R + /GS7 8 0 R + /GS8 9 0 R + /GS9 10 0 R + /GS10 11 0 R + /GS11 12 0 R + /GS12 13 0 R + /GS13 14 0 R + /GS14 15 0 R + /GS15 16 0 R + /GS16 17 0 R + /GS17 18 0 R + /GS18 19 0 R + /GS19 20 0 R + /GS20 21 0 R + /GS21 22 0 R + /GS22 23 0 R + /GS23 24 0 R + /GS24 25 0 R + /GS25 26 0 R + /GS26 27 0 R + /GS27 28 0 R + /GS28 29 0 R + /GS29 30 0 R + /GS30 31 0 R + /GS31 32 0 R + /GS32 33 0 R + /GS33 34 0 R + /GS34 35 0 R + /GS35 36 0 R + /GS36 37 0 R + /GS37 38 0 R + /GS38 39 0 R + /GS39 40 0 R + /GS40 41 0 R + /GS41 42 0 R + /GS42 43 0 R + /GS43 44 0 R + /GS44 45 0 R + /GS45 46 0 R + /GS46 47 0 R + /GS47 48 0 R + /GS48 49 0 R + /GS49 50 0 R + /GS50 51 0 R + /GS51 52 0 R + /GS52 53 0 R + /GS53 54 0 R + /GS54 55 0 R + /GS55 56 0 R + /GS56 57 0 R + /GS57 58 0 R + /GS58 59 0 R + /GS59 60 0 R + /GS60 61 0 R + /GS61 62 0 R + /GS62 63 0 R + /GS63 64 0 R + /GS64 65 0 R + /GS65 66 0 R + /GS66 67 0 R + /GS67 68 0 R + /GS68 69 0 R + /GS69 70 0 R + /GS70 71 0 R + /GS71 72 0 R + /GS72 73 0 R + /GS73 74 0 R + /GS74 75 0 R + /GS75 76 0 R + /GS76 77 0 R + /GS77 78 0 R + /GS78 79 0 R + /GS79 80 0 R + /GS80 81 0 R + /GS81 82 0 R + /GS82 83 0 R + /GS83 84 0 R + /GS84 85 0 R + /GS85 86 0 R + /GS86 87 0 R + /GS87 88 0 R + /GS88 89 0 R + /GS89 90 0 R + /GS90 91 0 R + /GS91 92 0 R + /GS92 93 0 R + /GS93 94 0 R + /GS94 95 0 R + /GS95 96 0 R + /GS96 97 0 R + /GS97 98 0 R + /GS98 99 0 R + /GS99 100 0 R + /GS100 101 0 R + /GS101 102 0 R + /GS102 103 0 R + /GS103 104 0 R + /GS104 105 0 R + /GS105 106 0 R + /GS106 107 0 R + /GS107 108 0 R + /GS108 109 0 R + /GS109 110 0 R + /GS110 111 0 R + /GS111 112 0 R + /GS112 113 0 R + /GS113 114 0 R + /GS114 115 0 R + /GS115 116 0 R + /GS116 117 0 R + /GS117 118 0 R + /GS118 119 0 R + /GS119 120 0 R + /GS120 121 0 R + /GS121 122 0 R + /GS122 123 0 R + /GS123 124 0 R + /GS124 125 0 R + /GS125 126 0 R + /GS126 127 0 R +>> +>> +endobj +xref +0 171 +0000000000 65535 f +0000000015 00000 n +0000000145 00000 n +0000000197 00000 n +0000000249 00000 n +0000000301 00000 n +0000000353 00000 n +0000000405 00000 n +0000000457 00000 n +0000000509 00000 n +0000000561 00000 n +0000000614 00000 n +0000000667 00000 n +0000000720 00000 n +0000000773 00000 n +0000000826 00000 n +0000000879 00000 n +0000000932 00000 n +0000000985 00000 n +0000001038 00000 n +0000001091 00000 n +0000001144 00000 n +0000001197 00000 n +0000001250 00000 n +0000001303 00000 n +0000001356 00000 n +0000001409 00000 n +0000001462 00000 n +0000001515 00000 n +0000001568 00000 n +0000001621 00000 n +0000001674 00000 n +0000001727 00000 n +0000001780 00000 n +0000001833 00000 n +0000001887 00000 n +0000001941 00000 n +0000001995 00000 n +0000002049 00000 n +0000002103 00000 n +0000002156 00000 n +0000002209 00000 n +0000002262 00000 n +0000002315 00000 n +0000002368 00000 n +0000002421 00000 n +0000002474 00000 n +0000002527 00000 n +0000002580 00000 n +0000002633 00000 n +0000002686 00000 n +0000002739 00000 n +0000002792 00000 n +0000002845 00000 n +0000002898 00000 n +0000002951 00000 n +0000003004 00000 n +0000003057 00000 n +0000003110 00000 n +0000003163 00000 n +0000003216 00000 n +0000003269 00000 n +0000003322 00000 n +0000003375 00000 n +0000003428 00000 n +0000003481 00000 n +0000003534 00000 n +0000003587 00000 n +0000003640 00000 n +0000003693 00000 n +0000003746 00000 n +0000003799 00000 n +0000003852 00000 n +0000003905 00000 n +0000003958 00000 n +0000004011 00000 n +0000004064 00000 n +0000004117 00000 n +0000004170 00000 n +0000004223 00000 n +0000004276 00000 n +0000004329 00000 n +0000004382 00000 n +0000004435 00000 n +0000004489 00000 n +0000004543 00000 n +0000004597 00000 n +0000004650 00000 n +0000004703 00000 n +0000004756 00000 n +0000004809 00000 n +0000004862 00000 n +0000004915 00000 n +0000004968 00000 n +0000005021 00000 n +0000005074 00000 n +0000005127 00000 n +0000005180 00000 n +0000005233 00000 n +0000005286 00000 n +0000005339 00000 n +0000005393 00000 n +0000005447 00000 n +0000005501 00000 n +0000005555 00000 n +0000005609 00000 n +0000005663 00000 n +0000005717 00000 n +0000005771 00000 n +0000005825 00000 n +0000005879 00000 n +0000005933 00000 n +0000005987 00000 n +0000006041 00000 n +0000006095 00000 n +0000006149 00000 n +0000006203 00000 n +0000006257 00000 n +0000006311 00000 n +0000006366 00000 n +0000006421 00000 n +0000006476 00000 n +0000006531 00000 n +0000006586 00000 n +0000006641 00000 n +0000006696 00000 n +0000006751 00000 n +0000006806 00000 n +0000006861 00000 n +0000098963 00000 n +0000098986 00000 n +0000099013 00000 n +0000114076 00000 n +0000113937 00000 n +0000099211 00000 n +0000099466 00000 n +0000104814 00000 n +0000104792 00000 n +0000104912 00000 n +0000104932 00000 n +0000105433 00000 n +0000105091 00000 n +0000105876 00000 n +0000105897 00000 n +0000106153 00000 n +0000107589 00000 n +0000107567 00000 n +0000107679 00000 n +0000107699 00000 n +0000108090 00000 n +0000107859 00000 n +0000108403 00000 n +0000108424 00000 n +0000108676 00000 n +0000110088 00000 n +0000110066 00000 n +0000110175 00000 n +0000110194 00000 n +0000110585 00000 n +0000110354 00000 n +0000110897 00000 n +0000110918 00000 n +0000111174 00000 n +0000113089 00000 n +0000113067 00000 n +0000113181 00000 n +0000113201 00000 n +0000113596 00000 n +0000113361 00000 n +0000113916 00000 n +0000113999 00000 n +trailer +<< + /Root 170 0 R + /Info 1 0 R + /ID [ ] + /Size 171 +>> +startxref +116164 +%%EOF diff --git a/figs/detail_control_three_complementary_filters_results.png b/figs/detail_control_three_complementary_filters_results.png new file mode 100644 index 0000000..4e709db Binary files /dev/null and b/figs/detail_control_three_complementary_filters_results.png differ diff --git a/figs/detail_control_uncertainty_set_super_sensor.pdf b/figs/detail_control_uncertainty_set_super_sensor.pdf new file mode 100644 index 0000000..1224bbb Binary files /dev/null and b/figs/detail_control_uncertainty_set_super_sensor.pdf differ diff --git a/figs/detail_control_uncertainty_set_super_sensor.png b/figs/detail_control_uncertainty_set_super_sensor.png new file mode 100644 index 0000000..65bd44e Binary files /dev/null and b/figs/detail_control_uncertainty_set_super_sensor.png differ diff --git a/figs/detail_control_uncertainty_set_super_sensor.svg b/figs/detail_control_uncertainty_set_super_sensor.svg new file mode 100644 index 0000000..dd9de92 --- /dev/null +++ b/figs/detail_control_uncertainty_set_super_sensor.svg @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/detail_control_weight_formula.pdf b/figs/detail_control_weight_formula.pdf new file mode 100644 index 0000000..85830e4 Binary files /dev/null and b/figs/detail_control_weight_formula.pdf differ diff --git a/figs/detail_control_weight_formula.png b/figs/detail_control_weight_formula.png new file mode 100644 index 0000000..fec1763 Binary files /dev/null and b/figs/detail_control_weight_formula.png differ diff --git a/figs/detail_control_weights_W1_W2.pdf b/figs/detail_control_weights_W1_W2.pdf new file mode 100644 index 0000000..0bf8529 Binary files /dev/null and b/figs/detail_control_weights_W1_W2.pdf differ diff --git a/figs/detail_control_weights_W1_W2.png b/figs/detail_control_weights_W1_W2.png new file mode 100644 index 0000000..ef8835a Binary files /dev/null and b/figs/detail_control_weights_W1_W2.png differ diff --git a/matlab/detail_control_1_complementary_filtering.m b/matlab/detail_control_1_complementary_filtering.m new file mode 100644 index 0000000..b081707 --- /dev/null +++ b/matlab/detail_control_1_complementary_filtering.m @@ -0,0 +1,239 @@ +%% Clear Workspace and Close figures +clear; close all; clc; + +%% Intialize Laplace variable +s = zpk('s'); + +%% Path for functions, data and scripts +addpath('./src/'); % Path for functions + +%% Colors for the figures +colors = colororder; + +%% Initialize Frequency Vector +freqs = logspace(-1, 3, 1000); + +%% Weighting Function Design +% Parameters +n = 3; w0 = 2*pi*10; G0 = 1e-3; G1 = 1e1; Gc = 2; + +% Formulas +W = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n; + +% Function generateWF can be used to easily design the weighting filters +% W = generateWF('n', 3, 'w0', 2*pi*10, 'G0', 1e-3, 'Ginf', 10, 'Gc', 2); + +%% Magnitude of the weighting function with parameters +figure; +hold on; +plot(freqs, abs(squeeze(freqresp(W, freqs, 'Hz'))), 'k-'); + +plot([1e-3 1e0], [G0 G0], 'k--', 'LineWidth', 1) +text(1e0, G0, '$\quad G_0$') + +plot([1e1 1e3], [G1 G1], 'k--', 'LineWidth', 1) +text(1e1,G1,'$G_{\infty}\quad$','HorizontalAlignment', 'right') + +plot([w0/2/pi w0/2/pi], [1 2*Gc], 'k--', 'LineWidth', 1) +text(w0/2/pi,1,'$\omega_c$','VerticalAlignment', 'top', 'HorizontalAlignment', 'center') + +plot([w0/2/pi/2 2*w0/2/pi], [Gc Gc], 'k--', 'LineWidth', 1) +text(w0/2/pi/2, Gc, '$G_c \quad$','HorizontalAlignment', 'right') + +text(w0/5/pi/2, abs(evalfr(W, j*w0/5)), 'Slope: $n \quad$', 'HorizontalAlignment', 'right') + +text(w0/2/pi, abs(evalfr(W, j*w0)), '$\bullet$', 'HorizontalAlignment', 'center') +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Magnitude'); +hold off; +xlim([freqs(1), freqs(end)]); +ylim([5e-4, 20]); +yticks([1e-4, 1e-3, 1e-2, 1e-1, 1, 1e1]); + +%% Synthesis of Complementary Filters using H-infinity synthesis +% Design of the Weighting Functions +W1 = generateWF('n', 3, 'w0', 2*pi*10, 'G0', 1000, 'Ginf', 1/10, 'Gc', 0.45); +W2 = generateWF('n', 2, 'w0', 2*pi*10, 'G0', 1/10, 'Ginf', 1000, 'Gc', 0.45); + +% Generalized Plant +P = [W1 -W1; + 0 W2; + 1 0]; + +% H-Infinity Synthesis +[H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); + +% Define H1 to be the complementary of H2 +H1 = 1 - H2; + +% The function generateCF can also be used to synthesize the complementary filters. +% [H1, H2] = generateCF(W1, W2); + +%% Bode plot of the obtained complementary filters +figure; +tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None'); + +% Magnitude +ax1 = nexttile([2, 1]); +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), '--', 'DisplayName', '$|W_1|^{-1}$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), '--', 'DisplayName', '$|W_2|^{-1}$'); + +set(gca,'ColorOrderIndex',1) +plot(freqs, abs(squeeze(freqresp(H1, freqs, 'Hz'))), '-', 'DisplayName', '$H_1$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, abs(squeeze(freqresp(H2, freqs, 'Hz'))), '-', 'DisplayName', '$H_2$'); +hold off; +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +set(gca, 'XTickLabel',[]); ylabel('Magnitude'); +ylim([8e-4, 20]); +yticks([1e-3, 1e-2, 1e-1, 1, 1e1]); +yticklabels({'', '$10^{-2}$', '', '$10^0$', ''}) +leg = legend('location', 'south', 'FontSize', 8, 'NumColumns', 2); +leg.ItemTokenSize(1) = 18; + +% Phase +ax2 = nexttile; +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 180/pi*phase(squeeze(freqresp(H1, freqs, 'Hz'))), '-'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 180/pi*phase(squeeze(freqresp(H2, freqs, 'Hz'))), '-'); +hold off; +set(gca, 'XScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); +yticks([-180:90:180]); +ylim([-180, 200]) +yticklabels({'-180', '', '0', '', '180'}) + +linkaxes([ax1,ax2],'x'); +xlim([freqs(1), freqs(end)]); + +%% Design of "Closed-loop" complementary filters +% Design of the Weighting Functions +W1 = generateWF('n', 3, 'w0', 2*pi*10, 'G0', 1000, 'Ginf', 1/10, 'Gc', 0.45); +W2 = generateWF('n', 2, 'w0', 2*pi*10, 'G0', 1/10, 'Ginf', 1000, 'Gc', 0.45); + +% Generalized plant for "closed-loop" complementary filter synthesis +P = [ W1 0 1; + -W1 W2 -1]; + +% Standard H-Infinity Synthesis +[L, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); + +% Complementary filters +H1 = inv(1 + L); +H2 = 1 - H1; + +%% Bode plot of the obtained complementary filters after H-infinity mixed-sensitivity synthesis +figure; +tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None'); + +% Magnitude +ax1 = nexttile([2, 1]); +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), '--', 'DisplayName', '$|W_1|^{-1}$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), '--', 'DisplayName', '$|W_2|^{-1}$'); + +set(gca,'ColorOrderIndex',1) +plot(freqs, abs(squeeze(freqresp(H1, freqs, 'Hz'))), '-', 'DisplayName', '$H_1$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, abs(squeeze(freqresp(H2, freqs, 'Hz'))), '-', 'DisplayName', '$H_2$'); + +plot(freqs, abs(squeeze(freqresp(L, freqs, 'Hz'))), 'k--', 'DisplayName', '$|L|$'); +hold off; +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +set(gca, 'XTickLabel',[]); ylabel('Magnitude'); +ylim([1e-3, 1e3]); +yticks([1e-3, 1e-2, 1e-1, 1, 1e1, 1e2, 1e3]); +yticklabels({'', '$10^{-2}$', '', '$10^0$', '', '$10^2$', ''}); +leg = legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 3); +leg.ItemTokenSize(1) = 18; + +% Phase +ax2 = nexttile; +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 180/pi*phase(squeeze(freqresp(H1, freqs, 'Hz'))), '-'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 180/pi*phase(squeeze(freqresp(H2, freqs, 'Hz'))), '-'); +hold off; +set(gca, 'XScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); +yticks([-180:90:180]); +ylim([-180, 200]) +yticklabels({'-180', '', '0', '', '180'}) + +linkaxes([ax1,ax2],'x'); +xlim([freqs(1), freqs(end)]); + +%% Synthesis of a set of three complementary filters +% Design of the Weighting Functions +W1 = generateWF('n', 2, 'w0', 2*pi*1, 'G0', 1/10, 'Ginf', 1000, 'Gc', 0.5); +W2 = 0.22*(1 + s/2/pi/1)^2/(sqrt(1e-4) + s/2/pi/1)^2*(1 + s/2/pi/10)^2/(1 + s/2/pi/1000)^2; +W3 = generateWF('n', 3, 'w0', 2*pi*10, 'G0', 1000, 'Ginf', 1/10, 'Gc', 0.5); + +% Generalized plant for the synthesis of 3 complementary filters +P = [W1 -W1 -W1; + 0 W2 0 ; + 0 0 W3; + 1 0 0]; + +% Standard H-Infinity Synthesis +[H, ~, gamma, ~] = hinfsyn(P, 1, 2,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); + +% Synthesized H2 and H3 filters +H2 = tf(H(1)); +H3 = tf(H(2)); + +% H1 is defined as the complementary filter of H2 and H3 +H1 = 1 - H2 - H3; + +%% Bode plot of the inverse weighting functions and of the three complementary filters obtained using the H-infinity synthesis +figure; +tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None'); + +% Magnitude +ax1 = nexttile([2, 1]); +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), '--', 'DisplayName', '$|W_1|^{-1}$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), '--', 'DisplayName', '$|W_2|^{-1}$'); +set(gca,'ColorOrderIndex',3) +plot(freqs, 1./abs(squeeze(freqresp(W3, freqs, 'Hz'))), '--', 'DisplayName', '$|W_3|^{-1}$'); +set(gca,'ColorOrderIndex',1) +plot(freqs, abs(squeeze(freqresp(H1, freqs, 'Hz'))), '-', 'DisplayName', '$H_1$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, abs(squeeze(freqresp(H2, freqs, 'Hz'))), '-', 'DisplayName', '$H_2$'); +set(gca,'ColorOrderIndex',3) +plot(freqs, abs(squeeze(freqresp(H3, freqs, 'Hz'))), '-', 'DisplayName', '$H_3$'); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +hold off; +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +ylabel('Magnitude'); +set(gca, 'XTickLabel',[]); +ylim([1e-4, 20]); +leg = legend('location', 'northeast', 'FontSize', 8); +leg.ItemTokenSize(1) = 18; + +% Phase +ax2 = nexttile; +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 180/pi*phase(squeeze(freqresp(H1, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',2) +plot(freqs, 180/pi*phase(squeeze(freqresp(H2, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',3) +plot(freqs, 180/pi*phase(squeeze(freqresp(H3, freqs, 'Hz')))); +hold off; +xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); +set(gca, 'XScale', 'log'); +yticks([-180:90:180]); ylim([-220, 220]); + +linkaxes([ax1,ax2],'x'); +xlim([freqs(1), freqs(end)]); diff --git a/matlab/src/generateCF.m b/matlab/src/generateCF.m new file mode 100644 index 0000000..e3ddafb --- /dev/null +++ b/matlab/src/generateCF.m @@ -0,0 +1,34 @@ +function [H1, H2] = generateCF(W1, W2, args) +% generateCF - +% +% Syntax: [H1, H2] = generateCF(W1, W2, args) +% +% Inputs: +% - W1 - Weighting Function for H1 +% - W2 - Weighting Function for H2 +% - args: +% - method - H-Infinity solver ('lmi' or 'ric') +% - display - Display synthesis results ('on' or 'off') +% +% Outputs: +% - H1 - Generated H1 Filter +% - H2 - Generated H2 Filter + +%% Argument validation +arguments + W1 + W2 + args.method char {mustBeMember(args.method,{'lmi', 'ric'})} = 'ric' + args.display char {mustBeMember(args.display,{'on', 'off'})} = 'on' +end + +%% The generalized plant is defined +P = [W1 -W1; + 0 W2; + 1 0]; + +%% The standard H-infinity synthesis is performed +[H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', args.method, 'DISPLAY', args.display); + +%% H1 is defined as the complementary of H2 +H1 = 1 - H2; diff --git a/matlab/src/generateWF.m b/matlab/src/generateWF.m new file mode 100644 index 0000000..e74133f --- /dev/null +++ b/matlab/src/generateWF.m @@ -0,0 +1,43 @@ +function [W] = generateWF(args) +% generateWF - +% +% Syntax: [W] = generateWeight(args) +% +% Inputs: +% - n - Weight Order (integer) +% - G0 - Low frequency Gain +% - G1 - High frequency Gain +% - Gc - Gain of the weight at frequency w0 +% - w0 - Frequency at which |W(j w0)| = Gc [rad/s] +% +% Outputs: +% - W - Generated Weighting Function + +%% Argument validation +arguments + args.n (1,1) double {mustBeInteger, mustBePositive} = 1 + args.G0 (1,1) double {mustBeNumeric, mustBePositive} = 0.1 + args.Ginf (1,1) double {mustBeNumeric, mustBePositive} = 10 + args.Gc (1,1) double {mustBeNumeric, mustBePositive} = 1 + args.w0 (1,1) double {mustBeNumeric, mustBePositive} = 1 +end + +% Verification of correct relation between G0, Gc and Ginf +mustBeBetween(args.G0, args.Gc, args.Ginf); + +%% Initialize the Laplace variable +s = zpk('s'); + +%% Create the weighting function according to formula +W = (((1/args.w0)*sqrt((1-(args.G0/args.Gc)^(2/args.n))/(1-(args.Gc/args.Ginf)^(2/args.n)))*s + ... + (args.G0/args.Gc)^(1/args.n))/... + ((1/args.Ginf)^(1/args.n)*(1/args.w0)*sqrt((1-(args.G0/args.Gc)^(2/args.n))/(1-(args.Gc/args.Ginf)^(2/args.n)))*s + ... + (1/args.Gc)^(1/args.n)))^args.n; + +%% Custom validation function +function mustBeBetween(a,b,c) + if ~((a > b && b > c) || (c > b && b > a)) + eid = 'createWeight:inputError'; + msg = 'Gc should be between G0 and Ginf.'; + throwAsCaller(MException(eid,msg)) + end diff --git a/nass-control.bib b/nass-control.bib new file mode 100644 index 0000000..4971909 --- /dev/null +++ b/nass-control.bib @@ -0,0 +1,426 @@ +@article{beijen14_two_sensor_contr_activ_vibrat, + author = {Michiel A. Beijen and Dirk Tjepkema and Johannes van Dijk}, + title = {Two-Sensor Control in Active Vibration Isolation Using Hard + Mounts}, + journal = {Control Engineering Practice}, + volume = 26, + pages = {82-90}, + year = 2014, + doi = {10.1016/j.conengprac.2013.12.015}, + url = {https://doi.org/10.1016/j.conengprac.2013.12.015}, + keywords = {complementary filters}, +} + + + +@article{yong16_high_speed_vertic_posit_stage, + author = "Yuen K. Yong and Andrew J. Fleming", + title = {High-Speed Vertical Positioning Stage With Integrated + Dual-Sensor Arrangement}, + journal = "Sensors and Actuators A: Physical", + volume = 248, + pages = "184 - 192", + year = 2016, + doi = {10.1016/j.sna.2016.06.042}, + url = {https://doi.org/https://doi.org/10.1016/j.sna.2016.06.042}, + issn = "0924-4247", + keywords = {sesnsor fusion, complementary filters}, +} + + + +@article{bendat57_optim_filter_indep_measur_two, + author = {J. Bendat}, + title = {Optimum Filters for Independent Measurements of Two Related + Perturbed Messages}, + journal = {IRE Transactions on Circuit Theory}, + year = 1957, + doi = {10.1109/tct.1957.1086345}, + url = {https://doi.org/10.1109/tct.1957.1086345}, + page = {--}, +} + + + +@article{shaw90_bandw_enhan_posit_measur_using_measur_accel, + author = {F.R. Shaw and K. Srinivasan}, + title = {Bandwidth Enhancement of Position Measurements Using + Measured Acceleration}, + journal = {Mechanical Systems and Signal Processing}, + volume = 4, + number = 1, + pages = {23-38}, + year = 1990, + doi = {10.1016/0888-3270(90)90038-m}, + url = {https://doi.org/10.1016/0888-3270(90)90038-m}, + keywords = {complementary filters}, +} + + + +@article{zimmermann92_high_bandw_orien_measur_contr, + author = {M. Zimmermann and W. Sulzer}, + title = {High Bandwidth Orientation Measurement and Control Based on + Complementary Filtering}, + journal = {Robot Control 1991}, + pages = {525-530}, + year = 1992, + doi = {10.1016/b978-0-08-041276-4.50093-5}, + url = {https://doi.org/10.1016/b978-0-08-041276-4.50093-5}, + keywords = {complementary filters}, + publisher = {Elsevier}, + series = {Robot Control 1991}, +} + + + +@article{min15_compl_filter_desig_angle_estim, + author = {Min, Hyung Gi and Jeung, Eun Tae}, + title = {Complementary Filter Design for Angle Estimation Using Mems + Accelerometer and Gyroscope}, + journal = {Department of Control and Instrumentation, Changwon + National University, Changwon, Korea}, + pages = {641--773}, + year = 2015, + keywords = {complementary filters}, +} + + + +@phdthesis{hua05_low_ligo, + author = {Hua, Wensheng}, + school = {stanford university}, + title = {Low frequency vibration isolation and alignment system for + advanced LIGO}, + year = 2005, +} + + + +@inproceedings{hua04_polyp_fir_compl_filter_contr_system, + author = {Wensheng Hua and Dan B. Debra and Corwin T. Hardham and + Brian T. Lantz and Joseph A. Giaime}, + title = {Polyphase FIR Complementary Filters for Control Systems}, + booktitle = {Proceedings of ASPE Spring Topical Meeting on Control of + Precision Systems}, + year = 2004, + pages = {109--114}, + keywords = {complementary filters}, +} + + + +@article{plummer06_optim_compl_filter_their_applic_motion_measur, + author = {A. R. Plummer}, + title = {Optimal Complementary Filters and Their Application in + Motion Measurement}, + journal = {Proceedings of the Institution of Mechanical Engineers, + Part I: Journal of Systems and Control Engineering}, + volume = 220, + number = 6, + pages = {489-507}, + year = 2006, + doi = {10.1243/09596518JSCE229}, + url = {https://doi.org/10.1243/09596518JSCE229}, + keywords = {complementary filters}, +} + + + +@book{robert12_introd_random_signal_applied_kalman, + author = {Robert Grover Brown, Patrick Y. C. Hwang}, + title = {Introduction to Random Signals and Applied Kalman Filtering + with Matlab Exercises}, + year = 2012, + publisher = {Wiley}, + edition = 4, + isbn = {0470609699,9780470609699}, +} + + + +@article{collette15_sensor_fusion_method_high_perfor, + author = {C. Collette and F. Matichard}, + title = {Sensor Fusion Methods for High Performance Active Vibration + Isolation Systems}, + journal = {Journal of Sound and Vibration}, + volume = 342, + pages = {1-21}, + year = 2015, + doi = {10.1016/j.jsv.2015.01.006}, + url = {https://doi.org/10.1016/j.jsv.2015.01.006}, + keywords = {complementary filters}, +} + + + +@inproceedings{baerveldt97_low_cost_low_weigh_attit, + author = {A.-J. Baerveldt and R. Klang}, + title = {A Low-Cost and Low-Weight Attitude Estimation System for an + Autonomous Helicopter}, + booktitle = {Proceedings of IEEE International Conference on Intelligent + Engineering Systems}, + year = 1997, + doi = {10.1109/ines.1997.632450}, + url = {https://doi.org/10.1109/ines.1997.632450}, + keywords = {complementary filters}, +} + + + +@article{corke04_inert_visual_sensin_system_small_auton_helic, + author = {Peter Corke}, + title = {An Inertial and Visual Sensing System for a Small + Autonomous Helicopter}, + journal = {Journal of Robotic Systems}, + volume = 21, + number = 2, + pages = {43-51}, + year = 2004, + doi = {10.1002/rob.10127}, + url = {https://doi.org/10.1002/rob.10127}, +} + + + +@inproceedings{jensen13_basic_uas, + author = {Austin Jensen and Cal Coopmans and YangQuan Chen}, + title = {Basics and guidelines of complementary filters for small + UAS navigation}, + booktitle = {2013 International Conference on Unmanned Aircraft Systems + (ICUAS)}, + year = 2013, + doi = {10.1109/icuas.2013.6564726}, + url = {https://doi.org/10.1109/icuas.2013.6564726}, + keywords = {complementary filters}, + month = 5, +} + + + +@inproceedings{pascoal99_navig_system_desig_using_time, + author = {A. Pascoal and I. Kaminer and P. Oliveira}, + title = {Navigation System Design Using Time-Varying Complementary + Filters}, + booktitle = {Guidance, Navigation, and Control Conference and Exhibit}, + year = 1999, + doi = {10.2514/6.1999-4290}, + url = {https://doi.org/10.2514/6.1999-4290}, + keywords = {complementary filters}, +} + + + +@article{batista10_optim_posit_veloc_navig_filter_auton_vehic, + author = {Batista, Pedro and Silvestre, Carlos and Oliveira, Paulo}, + title = {Optimal Position and Velocity Navigation Filters for + Autonomous Vehicles}, + journal = {Automatica}, + volume = 46, + number = 4, + pages = {767--774}, + year = 2010, + publisher = {Elsevier}, +} + + + +@article{tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip, + author = {D. Tjepkema and J. van Dijk and H.M.J.R. Soemers}, + title = {Sensor Fusion for Active Vibration Isolation in Precision + Equipment}, + journal = {Journal of Sound and Vibration}, + volume = 331, + number = 4, + pages = {735-749}, + year = 2012, + doi = {10.1016/j.jsv.2011.09.022}, + url = {https://doi.org/10.1016/j.jsv.2011.09.022}, + keywords = {complementary filters}, +} + + + +@phdthesis{heijningen18_low, + author = {van Heijningen, JV}, + school = {Vrije Universiteit}, + title = {Low-frequency performance improvement of seismic + attenuation systems and vibration sensors for next generation + gravitational wave detectors}, + year = 2018, +} + + + +@phdthesis{lucia18_low_frequen_optim_perfor_advan, + author = {Trozzo Lucia}, + school = {University of Siena}, + title = {Low Frequency Optimization and Performance of Advanced + Virgo Seismic Isolation System}, + year = 2018, +} + + + +@article{anderson53_instr_approac_system_steer_comput, + author = {Anderson, WG and Fritze, EH}, + title = {Instrument Approach System Steering Computer}, + journal = {Proceedings of the IRE}, + volume = 41, + number = 2, + pages = {219--228}, + year = 1953, + doi = {10.1109/JRPROC.1953.274209}, + url = {https://doi.org/10.1109/JRPROC.1953.274209}, + publisher = {IEEE}, +} + + + +@article{brown72_integ_navig_system_kalman_filter, + author = {R. G. Brown}, + title = {Integrated Navigation Systems and Kalman Filtering: a + Perspective}, + journal = {Navigation}, + volume = 19, + number = 4, + pages = {355-362}, + year = 1972, + doi = {10.1002/j.2161-4296.1972.tb01706.x}, + url = {https://doi.org/10.1002/j.2161-4296.1972.tb01706.x}, + keywords = {complementary filters}, +} + + + +@article{higgins75_compar_compl_kalman_filter, + author = {Higgins, Walter T}, + title = {A Comparison of Complementary and Kalman Filtering}, + journal = {IEEE Transactions on Aerospace and Electronic Systems}, + number = 3, + pages = {321--325}, + year = 1975, + keywords = {sensor fusion, complementary filters}, + publisher = {IEEE}, +} + + + +@inproceedings{fonseca15_compl, + author = {da Fonseca Cardoso, Fernando Paulo Neves and Calado, + Jo{\~a}o Manuel Ferreira and Cardeira, Carlos Batista and + Oliveira, Paulo Jorge Coelho Ramalho and others}, + title = {Complementary filter design with three frequency bands: + Robot attitude estimation}, + booktitle = {2015 IEEE International Conference on Autonomous Robot + Systems and Competitions}, + year = 2015, + pages = {168--173}, + organization = {IEEE}, +} + + + +@article{moore19_capac_instr_sensor_fusion_high_bandw_nanop, + author = {Steven Ian Moore and Andrew J. Fleming and Yuen Kuan Yong}, + title = {Capacitive Instrumentation and Sensor Fusion for + High-Bandwidth Nanopositioning}, + journal = {IEEE Sensors Letters}, + volume = 3, + number = 8, + pages = {1-3}, + year = 2019, + doi = {10.1109/lsens.2019.2933065}, + url = {https://doi.org/10.1109/lsens.2019.2933065}, + keywords = {complementary filters}, +} + + + +@article{yeh05_model_contr_hydraul_actuat_two, + author = {T-J Yeh and C-Y Su and W-J Wang}, + title = {Modelling and Control of a Hydraulically Actuated + Two-Degree-Of-Freedom Inertial Platform}, + journal = {Proceedings of the Institution of Mechanical Engineers, + Part I: Journal of Systems and Control Engineering}, + volume = 219, + number = 6, + pages = {405-417}, + year = 2005, + doi = {10.1243/095965105x33527}, + url = {https://doi.org/10.1243/095965105x33527}, +} + + + +@article{stoten01_fusion_kinet_data_using_compos_filter, + author = {Stoten, DP}, + title = {Fusion of Kinetic Data Using Composite Filters}, + journal = {Proceedings of the Institution of Mechanical Engineers, + Part I: Journal of Systems and Control Engineering}, + volume = 215, + number = 5, + pages = {483--497}, + year = 2001, + keywords = {sensor fusion, complementary filters}, + publisher = {SAGE Publications Sage UK: London, England}, +} + + + +@article{matichard15_seism_isolat_advan_ligo, + author = {Matichard, F and Lantz, B and Mittleman, R and Mason, K and + Kissel, J and Abbott, B and Biscans, S and McIver, J and + Abbott, R and Abbott, S and others}, + title = {Seismic Isolation of Advanced Ligo: Review of Strategy, + Instrumentation and Performance}, + journal = {Classical and Quantum Gravity}, + volume = 32, + number = 18, + pages = 185003, + year = 2015, + publisher = {IOP Publishing}, +} + + + +@inproceedings{dehaeze19_compl_filter_shapin_using_synth, + author = {Dehaeze, Thomas and Vermat, Mohit and Collette, Christophe}, + title = {Complementary Filters Shaping Using $\mathcal{H}_\infty$ + Synthesis}, + booktitle = {7th International Conference on Control, Mechatronics and + Automation (ICCMA)}, + year = 2019, + pages = {459-464}, + doi = {10.1109/ICCMA46720.2019.8988642}, + url = {https://doi.org/10.1109/ICCMA46720.2019.8988642}, + keywords = {complementary filters, sensor fusion}, + language = {english}, +} + + + +@book{skogestad07_multiv_feedb_contr, + author = {Skogestad, Sigurd and Postlethwaite, Ian}, + title = {Multivariable Feedback Control: Analysis and Design - + Second Edition}, + year = 2007, + publisher = {John Wiley}, + isbn = 978-0470011683, + keywords = {favorite}, +} + + + +@inproceedings{mahony05_compl_filter_desig_special_orthog, + author = {R. Mahony and T. Hamel and J.-M. Pflimlin}, + title = {Complementary Filter Design on the Special Orthogonal Group + SO(3)}, + booktitle = {Proceedings of the 44th IEEE Conference on Decision and + Control}, + year = 2005, + doi = {10.1109/cdc.2005.1582367}, + url = {https://doi.org/10.1109/cdc.2005.1582367}, + keywords = {complementary filters}, +} + diff --git a/nass-control.org b/nass-control.org index 309af19..e79fb85 100644 --- a/nass-control.org +++ b/nass-control.org @@ -102,7 +102,8 @@ Discussion about: - [ ] file:~/Cloud/research/matlab/decoupling-strategies/svd-control.org - *Control optimization* -** TODO [#A] Fix the outline +** DONE [#A] Fix the outline +CLOSED: [2025-04-03 Thu 12:01] Lot is already discussed in: - A5 [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A5-simscape-nano-hexapod/simscape-nano-hexapod.org::*Control of Stewart Platforms][Control of Stewart Platforms]] @@ -110,24 +111,37 @@ Lot is already discussed in: - [ ] Maybe do not write this section at all? -** TODO [#B] Papers to be included here +** DONE [#B] Papers to be included here +CLOSED: [2025-04-03 Thu 12:01] -- H-infinity synthesis of complementary filters: +- [X] H-infinity synthesis of complementary filters: [[file:~/Cloud/research/papers/published/dehaeze19_compl_filter_shapin_using_synth/index.org][file:~/Cloud/research/papers/published/dehaeze19_compl_filter_shapin_using_synth/index.org]] Or newer version: [[file:~/Cloud/research/papers/dehaeze21_desig_compl_filte/journal/dehaeze21_desig_compl_filte.org][file:~/Cloud/research/papers/dehaeze21_desig_compl_filte/journal/dehaeze21_desig_compl_filte.org]] -- Virtual sensor fusion +- [X] Virtual sensor fusion [[file:~/Cloud/research/papers/published/verma19_virtu_senso_fusio_high_preci_contr/elsarticle-template-harv.tex][file:~/Cloud/research/papers/published/verma19_virtu_senso_fusio_high_preci_contr/elsarticle-template-harv.tex]] Maybe not this one. -- Feedback control based on complementary filters: +- [X] Feedback control based on complementary filters: [[file:~/Cloud/research/papers/dehaeze20_virtu_senso_fusio/index.org][file:~/Cloud/research/papers/dehaeze20_virtu_senso_fusio/index.org]] +** TODO [#A] Copy Paper about Complementary Filter Design +SCHEDULED: <2025-04-03 Thu> + +[[file:~/Cloud/research/papers/dehaeze21_desig_compl_filte/journal/dehaeze21_desig_compl_filte.org][file:~/Cloud/research/papers/dehaeze21_desig_compl_filte/journal/dehaeze21_desig_compl_filte.org]] + +- [ ] Copy Matlab Code: [[file:~/Cloud/research/papers/dehaeze21_desig_compl_filte/matlab/dehaeze21_desig_compl_filte_matlab.org]] +- [X] Copy Tikz Code: [[file:~/Cloud/research/papers/dehaeze21_desig_compl_filte/tikz/dehaeze21_desig_compl_filte_tikz.org]] +- [ ] Rework all labels: + - [ ] sections + - [ ] equations + - [ ] tables + ** TODO [#A] Review of control for Stewart platforms? [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org::*Control][Control]] Or html version: https://research.tdehaeze.xyz/stewart-simscape/docs/bibliography.html -** TODO [#B] Discuss different strategies +** TODO [#C] Discuss different strategies? - Robust control - Adaptive control @@ -135,62 +149,1788 @@ Or html version: https://research.tdehaeze.xyz/stewart-simscape/docs/bibliograph * Introduction :ignore: +When controlling a MIMO system (specifically parallel manipulator such as the Stewart platform?) + +Several considerations: +- Section ref:sec:detail_control_multiple_sensor: How to most effectively use/combine multiple sensors +- Section ref:sec:detail_control_decoupling: How to decouple a system +- Section ref:sec:detail_control_optimization: How to design the controller + * Multiple Sensor Control +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/detail_control_1_complementary_filtering.m +:END: <> ** Introduction :ignore: -- [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org::*Multi Sensor Control][Multi Sensor Control]] +# *This section is based on*: +# - file:~/Cloud/research/papers/published/dehaeze19_compl_filter_shapin_using_synth/index.org +# *Or newer version:* [[file:~/Cloud/research/papers/dehaeze21_desig_compl_filte/journal/dehaeze21_desig_compl_filte.org][file:~/Cloud/research/papers/dehaeze21_desig_compl_filte/journal/dehaeze21_desig_compl_filte.org]] +*Look at what was done in the introduction [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A0-nass-introduction/nass-introduction.org::*Stewart platforms: Control architecture][Stewart platforms: Control architecture]]* -- [ ] review for Stewart platform => Table +Explain why multiple sensors are sometimes beneficial: +- collocated sensor that guarantee stability, but is still useful to damp modes outside the bandwidth of the controller using sensor measuring the performance objective -** Cascaded Control and the HAC-LAC architecture -<> +- Review for Stewart platform => Table + [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org::*Multi Sensor Control][Multi Sensor Control]] + Several sensors: + - force sensor, inertial, strain ... + Several architectures: + - Sensor fusion + - Cascaded control + - Two sensor control + [[cite:&beijen14_two_sensor_contr_activ_vibrat]] + [[cite:&yong16_high_speed_vertic_posit_stage]] -** Sensor Fusion and Complementary Filters -<> +#+begin_src latex :file detail_control_architecture_hac_lac.pdf +\begin{tikzpicture} + % Blocs + \node[block={2.0cm}{2.0cm}] (P) {Plant}; + \coordinate[] (input) at ($(P.south west)!0.5!(P.north west)$); + \coordinate[] (outputH) at ($(P.south east)!0.2!(P.north east)$); + \coordinate[] (outputL) at ($(P.south east)!0.8!(P.north east)$); -- file:~/Cloud/research/papers/published/dehaeze19_compl_filter_shapin_using_synth/index.org - Or newer version: [[file:~/Cloud/research/papers/dehaeze21_desig_compl_filte/journal/dehaeze21_desig_compl_filte.org][file:~/Cloud/research/papers/dehaeze21_desig_compl_filte/journal/dehaeze21_desig_compl_filte.org]] -- Design of complementary filters + \node[block, above=0.2 of P] (Klac) {$K_\text{LAC}$}; + \node[addb, left=0.5 of input] (addF) {}; + \node[block, left=0.6 of addF] (Khac) {$K_\text{HAC}$}; + % \node[addb={+}{}{}{}{-}, left=0.5 of Khac] (subr) {}; -** Two-Sensor Control -<> + % Connections and labels + \draw[->] (outputL) -- ++(0.5, 0) coordinate(eastlac) |- (Klac.east); + \node[above right] at (outputL){$x^\prime$}; + \draw[->] (Klac.west) -| (addF.north); + \draw[->] (addF.east) -- (input) node[above left]{$u$}; -[[cite:&beijen14_two_sensor_contr_activ_vibrat]] -[[cite:&yong16_high_speed_vertic_posit_stage]] + % \draw[<-] (subr.west)node[above left]{$r$} -- ++(-0.5, 0); + % \draw[->] (outputH) -- ++(0.5, 0) -- ++(0, -1.0) -| (subr.south); + \draw[->] (outputH) -- ++(0.5, 0) -- ++(0, -0.7) -| ($(Khac.west)+(-0.5, 0)$) -- (Khac.west); + \node[above right] at (outputH){$x$}; + % \draw[->] (subr.east) -- (Khac.west) node[above left]{$\epsilon$}; + \draw[->] (Khac.east) node[above right]{$u^\prime$} -- (addF.west); + + \begin{scope}[on background layer] + \node[fit={(Klac.north-|eastlac) (addF.west|-P.south)}, fill=black!20!white, draw, dashed, inner sep=4pt] (Pi) {}; + % \node[anchor={north west}, align=left] at (Pi.north west){\scriptsize{Damped}\\\scriptsize{Plant}}; + \node[above=0 of Pi]{\scriptsize{Damped Plant}}; + \end{scope} +\end{tikzpicture} +#+end_src + +#+begin_src latex :file detail_control_architecture_sensor_fusion.pdf +\begin{tikzpicture} + % Blocs + \node[block={2.0cm}{2.0cm}] (P) {Plant}; + \coordinate[] (input) at ($(P.south west)!0.5!(P.north west)$); + \coordinate[] (outputH) at ($(P.south east)!0.2!(P.north east)$); + \coordinate[] (outputL) at ($(P.south east)!0.8!(P.north east)$); + \coordinate[] (outputSS) at ($(P.south east)!0.5!(P.north east)$); + + \node[block, right=0.8 of outputH] (KH) {$H_\text{HPF}$}; + \node[block, right=0.8 of outputL] (KL) {$H_\text{LPF}$}; + \node[addb={+}{}{}{}{}, right=2.2 of outputSS] (addss) {}; + \node[block, left=0.6 of input] (K) {$K_{ss}$}; + + % Connections and labels + \draw[->] (outputL) -- (KL.west); + \draw[->] (outputH) -- (KH.west); + \node[above right] at (outputL){$x_L$}; + \node[above right] at (outputH){$x_H$}; + \draw[->] (KL.east) -| (addss.north); + \draw[->] (KH.east) -| (addss.south); + \draw[->] (addss.east) -- ++(0.9, 0); + \draw[->] ($(addss.east) + (0.5, 0)$)node[branch]{}node[above]{$x_{ss}$} -- ++(0, -1.6) -| ($(K.west)+(-0.5, 0)$) -- (K.west); + \draw[->] (K.east) -- (input) node[above left]{$u$}; + + \begin{scope}[on background layer] + \node[fit={(KL.north west) (KH.south-|addss.east)}, fill=black!20!white, draw, dashed, inner sep=4pt] (Pss) {}; + \node[above=0 of Pss]{\scriptsize{Sensor Fusion}}; + \end{scope} +\end{tikzpicture} +#+end_src + +#+begin_src latex :file detail_control_architecture_two_sensor_control.pdf +\begin{tikzpicture} + % Blocs + \node[block={2.0cm}{2.0cm}] (P) {Plant}; + \coordinate[] (input) at ($(P.south west)!0.5!(P.north west)$); + \coordinate[] (output1) at ($(P.south east)!0.8!(P.north east)$); + \coordinate[] (output2) at ($(P.south east)!0.2!(P.north east)$); + + \node[addb={+}{}{}{}{}, left=0.8 of input] (addF) {}; + \coordinate[left= 1.0 of addF] (Ks); + \node[block] (K1) at (Ks|-output1) {$K_\text{1}$}; + \node[block] (K2) at (Ks|-output2) {$K_\text{2}$}; + + \draw[->] (output1) -| ++(0.6, 1.2) -| ($(K1.west)+(-0.5, 0)$) -- (K1.west); + \draw[->] (output2) -| ++(0.6,-1.0) -| ($(K2.west)+(-0.5, 0)$) -- (K2.west); + + \draw[->] (K1.east)node[above right]{$u_1$} -| (addF.north); + \draw[->] (K2.east)node[above right]{$u_2$} -| (addF.south); + \draw[->] (addF.east) -- (input) node[above left=0 and 0.2]{$u$}; + + \node[above right] at (output1){$x_1$}; + \node[above right] at (output2){$x_2$}; + + \begin{scope}[on background layer] + \node[fit={(K1.north west) (K2.south-|addF.east)}, fill=black!20!white, draw, dashed, inner sep=4pt] (Pss) {}; + \node[above=0 of Pss]{\scriptsize{Two-Sensor Control}}; + \end{scope} +\end{tikzpicture} +#+end_src + +#+name: fig:detail_control_control_multiple_sensors +#+caption: Different control strategies when using multiple sensors. High Authority Control / Low Authority Control (\subref{fig:detail_control_architecture_hac_lac}). Sensor Fusion (\subref{fig:detail_control_architecture_sensor_fusion}). Two-Sensor Control (\subref{fig:detail_control_architecture_two_sensor_control}) +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:detail_control_architecture_hac_lac} HAC-LAC} +#+attr_latex: :options {0.48\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/detail_control_architecture_hac_lac.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:detail_control_architecture_two_sensor_control} Two Sensor Control} +#+attr_latex: :options {0.48\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/detail_control_architecture_two_sensor_control.png]] +#+end_subfigure + +\bigskip +#+attr_latex: :caption \subcaption{\label{fig:detail_control_architecture_sensor_fusion} Sensor Fusion} +#+attr_latex: :options {0.95\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/detail_control_architecture_sensor_fusion.png]] +#+end_subfigure +#+end_figure + + +Cascaded control / HAC-LAC Architecture was already discussed during the conceptual phase. +This is a very comprehensive approach that proved to give good performances. + +On the other hand of the spectrum, the two sensor approach yields to more control design freedom. +But it is also more complex. + +In this section, we wish to study if sensor fusion can be an option for multi-sensor control: +- may be used to optimize the noise characteristics +- optimize the dynamical uncertainty + +While there are different ways to fuse sensors: +- complementary filters +- kalman filtering + +The focus is made here on complementary filters, as they give a simple frequency analysis. + + + +Measuring a physical quantity using sensors is always subject to several limitations. +First, the accuracy of the measurement is affected by several noise sources, such as electrical noise of the conditioning electronics being used. +Second, the frequency range in which the measurement is relevant is bounded by the bandwidth of the sensor. +One way to overcome these limitations is to combine several sensors using a technique called "sensor fusion" [[cite:&bendat57_optim_filter_indep_measur_two]]. +Fortunately, a wide variety of sensors exists, each with different characteristics. +By carefully choosing the fused sensors, a so called "super sensor" is obtained that can combines benefits of the individual sensors. + +In some situations, sensor fusion is used to increase the bandwidth of the measurement [[cite:&shaw90_bandw_enhan_posit_measur_using_measur_accel;&zimmermann92_high_bandw_orien_measur_contr;&min15_compl_filter_desig_angle_estim]]. +For instance, in [[cite:&shaw90_bandw_enhan_posit_measur_using_measur_accel]] the bandwidth of a position sensor is increased by fusing it with an accelerometer providing the high frequency motion information. +For other applications, sensor fusion is used to obtain an estimate of the measured quantity with lower noise [[cite:&hua05_low_ligo;&hua04_polyp_fir_compl_filter_contr_system;&plummer06_optim_compl_filter_their_applic_motion_measur;&robert12_introd_random_signal_applied_kalman]]. +More recently, the fusion of sensors measuring different physical quantities has been proposed to obtain interesting properties for control [[cite:&collette15_sensor_fusion_method_high_perfor;&yong16_high_speed_vertic_posit_stage]]. +In [[cite:&collette15_sensor_fusion_method_high_perfor]], an inertial sensor used for active vibration isolation is fused with a sensor collocated with the actuator for improving the stability margins of the feedback controller. + +Practical applications of sensor fusion are numerous. +It is widely used for the attitude estimation of several autonomous vehicles such as unmanned aerial vehicle [[cite:&baerveldt97_low_cost_low_weigh_attit;&corke04_inert_visual_sensin_system_small_auton_helic;&jensen13_basic_uas]] and underwater vehicles [[cite:&pascoal99_navig_system_desig_using_time;&batista10_optim_posit_veloc_navig_filter_auton_vehic]]. +Naturally, it is of great benefits for high performance positioning control as shown in [[cite:&shaw90_bandw_enhan_posit_measur_using_measur_accel;&zimmermann92_high_bandw_orien_measur_contr;&min15_compl_filter_desig_angle_estim;&yong16_high_speed_vertic_posit_stage]]. +Sensor fusion was also shown to be a key technology to improve the performance of active vibration isolation systems [[cite:&tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip]]. +Emblematic examples are the isolation stages of gravitational wave detectors [[cite:&collette15_sensor_fusion_method_high_perfor;&heijningen18_low]] such as the ones used at the LIGO [[cite:&hua05_low_ligo;&hua04_polyp_fir_compl_filter_contr_system]] and at the Virgo [[cite:&lucia18_low_frequen_optim_perfor_advan]]. + +There are mainly two ways to perform sensor fusion: either using a set of complementary filters [[cite:&anderson53_instr_approac_system_steer_comput]] or using Kalman filtering [[cite:&brown72_integ_navig_system_kalman_filter]]. +For sensor fusion applications, both methods are sharing many relationships [[cite:&brown72_integ_navig_system_kalman_filter;&higgins75_compar_compl_kalman_filter;&robert12_introd_random_signal_applied_kalman;&fonseca15_compl]]. +However, for Kalman filtering, assumptions must be made about the probabilistic character of the sensor noises [[cite:&robert12_introd_random_signal_applied_kalman]] whereas it is not the case with complementary filters. +Furthermore, the advantages of complementary filters over Kalman filtering for sensor fusion are their general applicability, their low computational cost [[cite:&higgins75_compar_compl_kalman_filter]], and the fact that they are intuitive as their effects can be easily interpreted in the frequency domain. + +A set of filters is said to be complementary if the sum of their transfer functions is equal to one at all frequencies. +In the early days of complementary filtering, analog circuits were employed to physically realize the filters [[cite:&anderson53_instr_approac_system_steer_comput]]. +Analog complementary filters are still used today [[cite:&yong16_high_speed_vertic_posit_stage;&moore19_capac_instr_sensor_fusion_high_bandw_nanop]], but most of the time they are now implemented digitally as it allows for much more flexibility. + +Several design methods have been developed over the years to optimize complementary filters. +The easiest way to design complementary filters is to use analytical formulas. +Depending on the application, the formulas used are of first order [[cite:&corke04_inert_visual_sensin_system_small_auton_helic;&yeh05_model_contr_hydraul_actuat_two;&yong16_high_speed_vertic_posit_stage]], second order [[cite:&baerveldt97_low_cost_low_weigh_attit;&stoten01_fusion_kinet_data_using_compos_filter;&jensen13_basic_uas]] or even higher orders [[cite:&shaw90_bandw_enhan_posit_measur_using_measur_accel;&zimmermann92_high_bandw_orien_measur_contr;&stoten01_fusion_kinet_data_using_compos_filter;&collette15_sensor_fusion_method_high_perfor;&matichard15_seism_isolat_advan_ligo]]. + +As the characteristics of the super sensor depends on the proper design of the complementary filters [[cite:&dehaeze19_compl_filter_shapin_using_synth]], several optimization techniques have been developed. +Some are based on the finding of optimal parameters of analytical formulas [[cite:&jensen13_basic_uas;&min15_compl_filter_desig_angle_estim;&fonseca15_compl]], while other are using convex optimization tools [[cite:&hua04_polyp_fir_compl_filter_contr_system;&hua05_low_ligo]] such as linear matrix inequalities [[cite:&pascoal99_navig_system_desig_using_time]]. +As shown in [[cite:&plummer06_optim_compl_filter_their_applic_motion_measur]], the design of complementary filters can also be linked to the standard mixed-sensitivity control problem. +Therefore, all the powerful tools developed for the classical control theory can also be used for the design of complementary filters. +For instance, in [[cite:&jensen13_basic_uas]] the two gains of a Proportional Integral (PI) controller are optimized to minimize the noise of the super sensor. + +The common objective of all these complementary filters design methods is to obtain a super sensor that has desired characteristics, usually in terms of noise and dynamics. +Moreover, as reported in [[cite:&zimmermann92_high_bandw_orien_measur_contr;&plummer06_optim_compl_filter_their_applic_motion_measur]], phase shifts and magnitude bumps of the super sensors dynamics can be observed if either the complementary filters are poorly designed or if the sensors are not well calibrated. +Hence, the robustness of the fusion is also of concern when designing the complementary filters. +Although many design methods of complementary filters have been proposed in the literature, no simple method that allows to specify the desired super sensor characteristic while ensuring good fusion robustness has been proposed. + +Fortunately, both the robustness of the fusion and the super sensor characteristics can be linked to the magnitude of the complementary filters [[cite:&dehaeze19_compl_filter_shapin_using_synth]]. +Based on that, this paper introduces a new way to design complementary filters using the $\mathcal{H}_\infty$ synthesis which allows to shape the complementary filters' magnitude in an easy and intuitive way. + + +** Matlab Init :noexport:ignore: +#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) +<> +#+end_src + +#+begin_src matlab :exports none :results silent :noweb yes +<> +#+end_src + +#+begin_src matlab :tangle no :noweb yes +<> +#+end_src + +#+begin_src matlab :eval no :noweb yes +<> +#+end_src + +#+begin_src matlab :noweb yes +<> +#+end_src + +** Sensor Fusion and Complementary Filters Requirements +<> +*** Introduction :ignore: + +Complementary filtering provides a framework for fusing signals from different sensors. +As the effectiveness of the fusion depends on the proper design of the complementary filters, they are expected to fulfill certain requirements. +These requirements are discussed in this section. + +*** Sensor Fusion Architecture +<> + +A general sensor fusion architecture using complementary filters is shown in Fig. ref:fig:detail_control_sensor_fusion_overview where several sensors (here two) are measuring the same physical quantity $x$. +The two sensors output signals $\hat{x}_1$ and $\hat{x}_2$ are estimates of $x$. +These estimates are then filtered out by complementary filters and combined to form a new estimate $\hat{x}$. + +The resulting sensor, termed as super sensor, can have larger bandwidth and better noise characteristics in comparison to the individual sensors. +This means that the super sensor provides an estimate $\hat{x}$ of $x$ which can be more accurate over a larger frequency band than the outputs of the individual sensors. + +#+begin_src latex :file detail_control_sensor_fusion_overview.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[branch] (x) at (0, 0); + \node[block, above right=0.3 and 0.5 of x](sensor1){Sensor 1}; + \node[block, below right=0.3 and 0.5 of x](sensor2){Sensor 2}; + + \node[block, right=1.1 of sensor1](H1){$H_1(s)$}; + \node[block, right=1.1 of sensor2](H2){$H_2(s)$}; + + \node[addb, right=5.0 of x](add){}; + + \draw[] ($(x)+(-0.7, 0)$) node[above right]{$x$} -- (x.center); + \draw[->] (x.center) |- (sensor1.west); + \draw[->] (x.center) |- (sensor2.west); + \draw[->] (sensor1.east) -- node[midway, above]{$\hat{x}_1$} (H1.west); + \draw[->] (sensor2.east) -- node[midway, above]{$\hat{x}_2$} (H2.west); + \draw[->] (H1) -| (add.north); + \draw[->] (H2) -| (add.south); + \draw[->] (add.east) -- ++(0.9, 0) node[above left]{$\hat{x}$}; + + \begin{scope}[on background layer] + \node[fit={($(H2.south-|x) + (0, -0.2)$) ($(H1.north-|add.east) + (0.2, 0.6)$)}, fill=black!10!white, draw, inner sep=6pt] (supersensor) {}; + \node[below] at (supersensor.north) {Super Sensor}; + + \node[fit={(sensor2.south west) (sensor1.north east)}, fill=black!20!white, draw, inner sep=6pt] (sensors) {}; + \node[align=center] at (sensors.center) {{\tiny Normalized}\\[-0.5em]{\tiny Sensors}}; + + \node[fit={(H2.south west) (H1.north-|add.east)}, fill=black!20!white, draw, inner sep=6pt] (filters) {}; + \node[align=center] at ($(filters.center) + (-0.3, 0)$) {{\tiny Complementary}\\[-0.5em]{\tiny Filters}}; + \end{scope} +\end{tikzpicture} +#+end_src + +#+name: fig:detail_control_sensor_fusion_overview +#+caption: Schematic of a sensor fusion architecture using complementary filters. +#+RESULTS: +[[file:figs/detail_control_sensor_fusion_overview.png]] + +The complementary property of filters $H_1(s)$ and $H_2(s)$ implies that the sum of their transfer functions is equal to one. +That is, unity magnitude and zero phase at all frequencies. +Therefore, a pair of complementary filter needs to satisfy the following condition: + +\begin{equation}\label{eq:detail_control_comp_filter} + H_1(s) + H_2(s) = 1 +\end{equation} + +It will soon become clear why the complementary property is important for the sensor fusion architecture. + +*** Sensor Models and Sensor Normalization +<> + +In order to study such sensor fusion architecture, a model for the sensors is required. +Such model is shown in Fig. ref:fig:detail_control_sensor_model and consists of a linear time invariant (LTI) system $G_i(s)$ representing the sensor dynamics and an input $n_i$ representing the sensor noise. +The model input $x$ is the measured physical quantity and its output $\tilde{x}_i$ is the "raw" output of the sensor. + +Before filtering the sensor outputs $\tilde{x}_i$ by the complementary filters, the sensors are usually normalized to simplify the fusion. +This normalization consists of using an estimate $\hat{G}_i(s)$ of the sensor dynamics $G_i(s)$, and filtering the sensor output by the inverse of this estimate $\hat{G}_i^{-1}(s)$ as shown in Fig. ref:fig:detail_control_sensor_model_calibrated. +It is here supposed that the sensor inverse $\hat{G}_i^{-1}(s)$ is proper and stable. +This way, the units of the estimates $\hat{x}_i$ are equal to the units of the physical quantity $x$. +The sensor dynamics estimate $\hat{G}_i(s)$ can be a simple gain or a more complex transfer function. + +#+begin_src latex :file detail_control_sensor_model.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[addb](add1){}; + \node[block, right=0.8 of add1](G1){$G_i(s)$}; + + \draw[->] ($(add1.west)+(-0.7, 0)$) node[above right]{$x$} -- (add1.west); + \draw[<-] (add1.north) -- ++(0, 0.7)node[below right](n1){$n_i$}; + \draw[->] (add1.east) -- (G1.west); + \draw[->] (G1.east) -- ++(0.7, 0) node[above left]{$\tilde{x}_i$}; + + \begin{scope}[on background layer] + \node[fit={(add1.west |- G1.south) (n1.north -| G1.east)}, fill=black!20!white, draw, inner sep=3pt] (sensor1) {}; + \node[below left] at (sensor1.north east) {Sensor}; + \end{scope} +\end{tikzpicture} +#+end_src + +#+begin_src latex :file detail_control_sensor_model_calibrated.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[addb](add1){}; + \node[block, right=0.8 of add1](G1){$G_i(s)$}; + \node[block, right=0.8 of G1](G1inv){$\hat{G}_i^{-1}(s)$}; + + \draw[->] ($(add1.west)+(-0.7, 0)$) node[above right]{$x$} -- (add1.west); + \draw[<-] (add1.north) -- ++(0, 0.7)node[below right](n1){$n_i$}; + \draw[->] (add1.east) -- (G1.west); + \draw[->] (G1.east) -- (G1inv.west) node[above left]{$\tilde{x}_i$}; + \draw[->] (G1inv.east) -- ++(0.8, 0) node[above left]{$\hat{x}_i$}; + + \begin{scope}[on background layer] + \node[fit={(add1.west |- G1inv.south) (n1.north -| G1inv.east)}, fill=black!10!white, draw, inner sep=6pt] (sensor1cal) {}; + \node[below left, align=right] at (sensor1cal.north east) {{\tiny Normalized}\\[-0.5em]{\tiny sensor}}; + + \node[fit={(add1.west |- G1.south) (n1.north -| G1.east)}, fill=black!20!white, draw, inner sep=3pt] (sensor1) {}; + \node[below left] at (sensor1.north east) {Sensor}; + \end{scope} +\end{tikzpicture} +#+end_src + +#+name: fig:detail_control_sensor_models +#+caption: Sensor models with and without normalization. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:detail_control_sensor_model}Basic sensor model consisting of a noise input $n_i$ and a linear time invariant transfer function $G_i(s)$} +#+attr_latex: :options {0.48\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/detail_control_sensor_model.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:detail_control_sensor_model_calibrated}Normalized sensors using the inverse of an estimate $\hat{G}} +#+attr_latex: :options {0.48\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/detail_control_sensor_model_calibrated.png]] +#+end_subfigure +#+end_figure + +Two normalized sensors are then combined to form a super sensor as shown in Fig. ref:fig:detail_control_fusion_super_sensor. +The two sensors are measuring the same physical quantity $x$ with dynamics $G_1(s)$ and $G_2(s)$, and with /uncorrelated/ noises $n_1$ and $n_2$. +The signals from both normalized sensors are fed into two complementary filters $H_1(s)$ and $H_2(s)$ and then combined to yield an estimate $\hat{x}$ of $x$. + +The super sensor output is therefore equal to: + +\begin{equation}\label{eq:detail_control_comp_filter_estimate} + \hat{x} = \Big( H_1(s) \hat{G}_1^{-1}(s) G_1(s) + H_2(s) \hat{G}_2^{-1}(s) G_2(s) \Big) x + H_1(s) \hat{G}_1^{-1}(s) G_1(s) n_1 + H_2(s) \hat{G}_2^{-1}(s) G_2(s) n_2 +\end{equation} + +#+begin_src latex :file detail_control_fusion_super_sensor.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[branch] (x) at (0, 0); + \node[addb, above right=0.8 and 0.5 of x](add1){}; + \node[addb, below right=0.8 and 0.5 of x](add2){}; + \node[block, right=0.8 of add1](G1){$G_1(s)$}; + \node[block, right=0.8 of add2](G2){$G_2(s)$}; + \node[block, right=0.8 of G1](G1inv){$\hat{G}_1^{-1}(s)$}; + \node[block, right=0.8 of G2](G2inv){$\hat{G}_2^{-2}(s)$}; + \node[block, right=0.8 of G1inv](H1){$H_1(s)$}; + \node[block, right=0.8 of G2inv](H2){$H_2(s)$}; + \node[addb, right=7 of x](add){}; + + \draw[] ($(x)+(-0.7, 0)$) node[above right]{$x$} -- (x.center); + \draw[->] (x.center) |- (add1.west); + \draw[->] (x.center) |- (add2.west); + \draw[<-] (add1.north) -- ++(0, 0.7)node[below right](n1){$n_1$}; + \draw[->] (add1.east) -- (G1.west); + \draw[->] (G1.east) -- (G1inv.west) node[above left]{$\tilde{x}_1$}; + \draw[->] (G1inv.east) -- (H1.west) node[above left]{$\hat{x}_1$}; + \draw[<-] (add2.north) -- ++(0, 0.7)node[below right](n2){$n_2$}; + \draw[->] (add2.east) -- (G2.west); + \draw[->] (G2.east) -- (G2inv.west) node[above left]{$\tilde{x}_2$}; + \draw[->] (G2inv.east) -- (H2.west) node[above left]{$\hat{x}_2$}; + \draw[->] (H1) -| (add.north); + \draw[->] (H2) -| (add.south); + \draw[->] (add.east) -- ++(0.7, 0) node[above left]{$\hat{x}$}; + + \begin{scope}[on background layer] + \node[fit={(G2.south-|x) (n1.north-|add.east)}, fill=black!10!white, draw, inner sep=9pt] (supersensor) {}; + \node[below left] at (supersensor.north east) {Super Sensor}; + + \node[fit={(add1.west |- G1inv.south) (n1.north -| G1inv.east)}, fill=colorblue!20!white, draw, inner sep=6pt] (sensor1cal) {}; + \node[below left, align=right] at (sensor1cal.north east) {{\tiny Normalized}\\[-0.5em]{\tiny sensor}}; + \node[fit={(add1.west |- G1.south) (n1.north -| G1.east)}, fill=colorblue!30!white, draw, inner sep=3pt] (sensor1) {}; + \node[below left] at (sensor1.north east) {Sensor 1}; + + \node[fit={(add2.west |- G2inv.south) (n2.north -| G2inv.east)}, fill=colorred!20!white, draw, inner sep=6pt] (sensor2cal) {}; + \node[below left, align=right] at (sensor2cal.north east) {{\tiny Normalized}\\[-0.5em]{\tiny sensor}}; + \node[fit={(add2.west |- G2.south) (n2.north -| G2.east)}, fill=colorred!30!white, draw, inner sep=3pt] (sensor2) {}; + \node[below left] at (sensor2.north east) {Sensor 2}; + \end{scope} +\end{tikzpicture} +#+end_src + +#+name: fig:detail_control_fusion_super_sensor +#+caption: Sensor fusion architecture with two normalized sensors. +#+RESULTS: +[[file:figs/detail_control_fusion_super_sensor.png]] + +*** Noise Sensor Filtering +<> + +In this section, it is supposed that all the sensors are perfectly normalized, such that: + +\begin{equation}\label{eq:detail_control_perfect_dynamics} + \frac{\hat{x}_i}{x} = \hat{G}_i(s) G_i(s) = 1 +\end{equation} + +The effect of a non-perfect normalization will be discussed in the next section. + +Provided eqref:eq:detail_control_perfect_dynamics is verified, the super sensor output $\hat{x}$ is then equal to: + +\begin{equation}\label{eq:detail_control_estimate_perfect_dyn} + \hat{x} = x + H_1(s) n_1 + H_2(s) n_2 +\end{equation} + +From eqref:eq:detail_control_estimate_perfect_dyn, the complementary filters $H_1(s)$ and $H_2(s)$ are shown to only operate on the noise of the sensors. +Thus, this sensor fusion architecture permits to filter the noise of both sensors without introducing any distortion in the physical quantity to be measured. +This is why the two filters must be complementary. + +The estimation error $\delta x$, defined as the difference between the sensor output $\hat{x}$ and the measured quantity $x$, is computed for the super sensor eqref:eq:detail_control_estimate_error. + +\begin{equation}\label{eq:detail_control_estimate_error} + \delta x \triangleq \hat{x} - x = H_1(s) n_1 + H_2(s) n_2 +\end{equation} + +As shown in eqref:eq:detail_control_noise_filtering_psd, the Power Spectral Density (PSD) of the estimation error $\Phi_{\delta x}$ depends both on the norm of the two complementary filters and on the PSD of the noise sources $\Phi_{n_1}$ and $\Phi_{n_2}$. + +\begin{equation}\label{eq:detail_control_noise_filtering_psd} + \Phi_{\delta x}(\omega) = \left|H_1(j\omega)\right|^2 \Phi_{n_1}(\omega) + \left|H_2(j\omega)\right|^2 \Phi_{n_2}(\omega) +\end{equation} + +If the two sensors have identical noise characteristics, $\Phi_{n_1}(\omega) = \Phi_{n_2}(\omega)$, a simple averaging ($H_1(s) = H_2(s) = 0.5$) is what would minimize the super sensor noise. +This is the simplest form of sensor fusion with complementary filters. + +However, the two sensors have usually high noise levels over distinct frequency regions. +In such case, to lower the noise of the super sensor, the norm $|H_1(j\omega)|$ has to be small when $\Phi_{n_1}(\omega)$ is larger than $\Phi_{n_2}(\omega)$ and the norm $|H_2(j\omega)|$ has to be small when $\Phi_{n_2}(\omega)$ is larger than $\Phi_{n_1}(\omega)$. +Hence, by properly shaping the norm of the complementary filters, it is possible to reduce the noise of the super sensor. + +*** Sensor Fusion Robustness +<> + +In practical systems the sensor normalization is not perfect and condition eqref:eq:detail_control_perfect_dynamics is not verified. + +In order to study such imperfection, a multiplicative input uncertainty is added to the sensor dynamics (Fig. ref:fig:detail_control_sensor_model_uncertainty). +The nominal model is the estimated model used for the normalization $\hat{G}_i(s)$, $\Delta_i(s)$ is any stable transfer function satisfying $|\Delta_i(j\omega)| \le 1,\ \forall\omega$, and $w_i(s)$ is a weighting transfer function representing the magnitude of the uncertainty. + +The weight $w_i(s)$ is chosen such that the real sensor dynamics $G_i(j\omega)$ is contained in the uncertain region represented by a circle in the complex plane, centered on $1$ and with a radius equal to $|w_i(j\omega)|$. + +As the nominal sensor dynamics is taken as the normalized filter, the normalized sensor can be further simplified as shown in Fig. ref:fig:detail_control_sensor_model_uncertainty_simplified. + +#+begin_src latex :file detail_control_sensor_model_uncertainty.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[branch] (input) at (0,0) {}; + \node[block, above right= 0.4 and 0.4 of input](W1){$w_1(s)$}; + \node[block, right=0.4 of W1](delta1){$\Delta_1(s)$}; + \node[addb] (addu) at ($(delta1.east|-input) + (0.4, 0)$) {}; + \node[addb, right=0.4 of addu] (addn) {}; + \node[block, right=0.4 of addn] (G1) {$\hat{G}_1(s)$}; + \node[block, right=0.8 of G1](G1inv){$\hat{G}_1^{-1}(s)$}; + + \draw[->] ($(input)+(-0.7, 0)$) node[above right]{$x$} -- (addu); + \draw[->] (input.center) |- (W1.west); + \draw[->] (W1.east) -- (delta1.west); + \draw[->] (delta1.east) -| (addu.north); + \draw[->] (addu.east) -- (addn.west); + \draw[->] (addn.east) -- (G1.west); + \draw[<-] (addn.north) -- ++(0, 0.7)node[below right](n1){$n_1$}; + \draw[->] (G1.east) -- (G1inv.west) node[above left]{$\tilde{x}_1$}; + \draw[->] (G1inv.east) -- ++(0.8, 0) node[above left]{$\hat{x}_1$}; + + \begin{scope}[on background layer] + \node[fit={(input.west |- G1inv.south) (delta1.north -| G1inv.east)}, fill=black!10!white, draw, inner sep=6pt] (sensor1cal) {}; + \node[below left, align=right] at (sensor1cal.north east) {{\tiny Normalized}\\[-0.5em]{\tiny sensor}}; + + \node[fit={(input.west |- G1.south) (delta1.north -| G1.east)}, fill=black!20!white, draw, inner sep=3pt] (sensor1) {}; + \node[below left] at (sensor1.north east) {Sensor}; + \end{scope} +\end{tikzpicture} +#+end_src + +#+begin_src latex :file detail_control_sensor_model_uncertainty_simplified.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[branch] (input) at (0,0) {}; + \node[block, above right= 0.4 and 0.4 of input](W1){$w_1(s)$}; + \node[block, right=0.4 of W1](delta1){$\Delta_1(s)$}; + \node[addb] (addu) at ($(delta1.east|-input) + (0.4, 0)$) {}; + \node[addb, right=0.4 of addu] (addn) {}; + + \draw[->] ($(input)+(-0.8, 0)$) node[above right]{$x$} -- (addu); + \draw[->] (input.center) |- (W1.west); + \draw[->] (W1.east) -- (delta1.west); + \draw[->] (delta1.east) -| (addu.north); + \draw[->] (addu.east) -- (addn.west); + \draw[<-] (addn.north) -- ++(0, 0.6)node[below right](n1){$n_1$}; + \draw[->] (addn.east) -- ++(0.9, 0) node[above left]{$\hat{x}_1$}; + + \begin{scope}[on background layer] + \node[fit={(input.west |- addu.south) ($(delta1.north -| addn.east) + (0.1, 0)$)}, fill=black!10!white, draw, inner sep=6pt] (sensor1cal) {}; + \node[below left, align=right] at (sensor1cal.north east) {{\tiny Normalized}\\[-0.5em]{\tiny sensor}}; + \end{scope} +\end{tikzpicture} +#+end_src + +#+name: fig:detail_control_sensor_models_uncertainty +#+caption: Sensor models with dynamical uncertainty +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:detail_control_sensor_model_uncertainty}Sensor with multiplicative input uncertainty} +#+attr_latex: :options {0.58\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/detail_control_sensor_model_uncertainty.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:detail_control_sensor_model_uncertainty_simplified}Simplified sensor model} +#+attr_latex: :options {0.38\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/detail_control_sensor_model_uncertainty_simplified.png]] +#+end_subfigure +#+end_figure + +The sensor fusion architecture with the sensor models including dynamical uncertainty is shown in Fig. ref:fig:detail_control_sensor_fusion_dynamic_uncertainty. + +#+begin_src latex :file detail_control_sensor_fusion_dynamic_uncertainty.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[branch] (x) at (0, 0); + + \node[branch, above right=1.0 and 0.3 of x] (input1) {}; + \node[branch, below right=1.0 and 0.3 of x] (input2) {}; + \node[block, above right= 0.4 and 0.3 of input1](W1){$w_1(s)$}; + \node[block, above right= 0.4 and 0.3 of input2](W2){$w_2(s)$}; + \node[block, right=0.4 of W1](delta1){$\Delta_1(s)$}; + \node[block, right=0.4 of W2](delta2){$\Delta_2(s)$}; + \node[addb] (addu1) at ($(delta1.east|-input1) + (0.4, 0)$) {}; + \node[addb] (addu2) at ($(delta2.east|-input2) + (0.4, 0)$) {}; + \node[addb, right=0.4 of addu1] (addn1) {}; + \node[addb, right=0.4 of addu2] (addn2) {}; + \node[block, right=0.9 of addn1](H1){$H_1(s)$}; + \node[block, right=0.9 of addn2](H2){$H_2(s)$}; + + \node[addb, right=7 of x](add){}; + + + \draw[] ($(x)+(-0.7, 0)$) node[above right]{$x$} -- (x.center); + \draw[->] (x.center) |- (addu1.west); + \draw[->] (x.center) |- (addu2.west); + \draw[->] (input1.center) |- (W1.west); + \draw[->] (W1.east) -- (delta1.west); + \draw[->] (delta1.east) -| (addu1.north); + \draw[->] (addu1.east) -- (addn1.west); + \draw[<-] (addn1.north) -- ++(0, 0.6)node[below right](n1){$n_1$}; + \draw[->] (input2.center) |- (W2.west); + \draw[->] (W2.east) -- (delta2.west); + \draw[->] (delta2.east) -| (addu2.north); + \draw[->] (addu2.east) -- (addn2.west); + \draw[<-] (addn2.north) -- ++(0, 0.6)node[below right](n2){$n_2$}; + + \draw[->] (addn1.east) -- (H1.west) node[above left]{$\hat{x}_1$}; + \draw[->] (addn2.east) -- (H2.west) node[above left]{$\hat{x}_2$}; + \draw[->] (H1) -| (add.north); + \draw[->] (H2) -| (add.south); + \draw[->] (add.east) -- ++(0.7, 0) node[above left]{$\hat{x}$}; + + \begin{scope}[on background layer] + \node[fit={(addn2.south-|x) (delta1.north-|add.east)}, fill=black!10!white, draw, inner sep=9pt] (supersensor) {}; + \node[below left] at (supersensor.north east) {Super Sensor}; + + \node[fit={(input1.west |- addu1.south) ($(delta1.north -| addn1.east) + (0.1, 0.0)$)}, fill=colorblue!20!white, draw, inner sep=6pt] (sensor1cal) {}; + \node[below left, align=right] at (sensor1cal.north east) {{\tiny Normalized}\\[-0.5em]{\tiny sensor 1}}; + + \node[fit={(input2.west |- addu2.south) ($(delta2.north -| addn1.east) + (0.1, 0.0)$)}, fill=colorred!20!white, draw, inner sep=6pt] (sensor2cal) {}; + \node[below left, align=right] at (sensor2cal.north east) {{\tiny Normalized}\\[-0.5em]{\tiny sensor 2}}; + \end{scope} +\end{tikzpicture} +#+end_src + +#+name: fig:detail_control_sensor_fusion_dynamic_uncertainty +#+caption: Sensor fusion architecture with sensor dynamics uncertainty +#+RESULTS: +[[file:figs/detail_control_sensor_fusion_dynamic_uncertainty.png]] + + +The super sensor dynamics eqref:eq:detail_control_super_sensor_dyn_uncertainty is no longer equal to $1$ and now depends on the sensor dynamical uncertainty weights $w_i(s)$ as well as on the complementary filters $H_i(s)$. + +\begin{equation}\label{eq:detail_control_super_sensor_dyn_uncertainty} + \frac{\hat{x}}{x} = 1 + w_1(s) H_1(s) \Delta_1(s) + w_2(s) H_2(s) \Delta_2(s) +\end{equation} + +The dynamical uncertainty of the super sensor can be graphically represented in the complex plane by a circle centered on $1$ with a radius equal to $|w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)|$ (Fig. ref:fig:detail_control_uncertainty_set_super_sensor). + +#+begin_src latex :file detail_control_uncertainty_set_super_sensor.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \begin{scope}[shift={(4, 0)}] + + % Uncertainty Circle + \node[draw, circle, fill=black!20!white, minimum size=3.6cm] (c) at (0, 0) {}; + \path[draw, fill=colorblue!20!white] (0, 0) circle [radius=1.0]; + \path[draw, fill=colorred!20!white] (135:1.0) circle [radius=0.8]; + \path[draw, dashed] (0, 0) circle [radius=1.0]; + + % Center of Circle + \node[below] at (0, 0){$1$}; + + \draw[<->] (0, 0) node[branch]{} -- coordinate[midway](r1) ++(45:1.0); + \draw[<->] (135:1.0)node[branch]{} -- coordinate[midway](r2) ++(135:0.8); + + \node[] (l1) at (2, 1.5) {$|w_1 H_1|$}; + \draw[->, out=-90, in=0] (l1.south) to (r1); + + \node[] (l2) at (-3.2, 1.2) {$|w_2 H_2|$}; + \draw[->, out=0, in=-180] (l2.east) to (r2); + + \draw[<->] (0, 0) -- coordinate[near end](r3) ++(200:1.8); + \node[] (l3) at (-2.5, -1.5) {$|w_1 H_1| + |w_2 H_2|$}; + \draw[->, out=90, in=-90] (l3.north) to (r3); + \end{scope} + + % Real and Imaginary Axis + \draw[->] (-0.5, 0) -- (7.0, 0) node[below left]{Re}; + \draw[->] (0, -1.7) -- (0, 1.7) node[below left]{Im}; + + \draw[dashed] (0, 0) -- (tangent cs:node=c,point={(0, 0)},solution=2); + \draw[dashed] (1, 0) arc (0:28:1) node[midway, right]{$\Delta \phi_\text{max}$}; +\end{tikzpicture} +#+end_src + +#+name: fig:detail_control_uncertainty_set_super_sensor +#+caption: Uncertainty region of the super sensor dynamics in the complex plane (grey circle). The contribution of both sensors 1 and 2 to the total uncertainty are represented respectively by a blue circle and a red circle. The frequency dependency $\omega$ is here omitted. +#+RESULTS: +[[file:figs/detail_control_uncertainty_set_super_sensor.png]] + +The super sensor dynamical uncertainty, and hence the robustness of the fusion, clearly depends on the complementary filters' norm. +For instance, the phase $\Delta\phi(\omega)$ added by the super sensor dynamics at frequency $\omega$ is bounded by $\Delta\phi_{\text{max}}(\omega)$ which can be found by drawing a tangent from the origin to the uncertainty circle of the super sensor (Fig. ref:fig:detail_control_uncertainty_set_super_sensor) and that is mathematically described by eqref:eq:detail_control_max_phase_uncertainty. + +\begin{equation}\label{eq:detail_control_max_phase_uncertainty} + \Delta\phi_\text{max}(\omega) = \arcsin\big( |w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)| \big) +\end{equation} + +As it is generally desired to limit the maximum phase added by the super sensor, $H_1(s)$ and $H_2(s)$ should be designed such that $\Delta \phi$ is bounded to acceptable values. +Typically, the norm of the complementary filter $|H_i(j\omega)|$ should be made small when $|w_i(j\omega)|$ is large, i.e., at frequencies where the sensor dynamics is uncertain. + +** Complementary Filters Shaping +<> +*** Introduction :ignore: + +As shown in Section ref:sec:detail_control_sensor_fusion_requirements, the noise and robustness of the super sensor are a function of the complementary filters' norm. +Therefore, a synthesis method of complementary filters that allows to shape their norm would be of great use. +In this section, such synthesis is proposed by writing the synthesis objective as a standard $\mathcal{H}_\infty$ optimization problem. +As weighting functions are used to represent the wanted complementary filters' shape during the synthesis, their proper design is discussed. +Finally, the synthesis method is validated on an simple example. + +*** Synthesis Objective +<> + +The synthesis objective is to shape the norm of two filters $H_1(s)$ and $H_2(s)$ while ensuring their complementary property eqref:eq:detail_control_comp_filter. +This is equivalent as to finding proper and stable transfer functions $H_1(s)$ and $H_2(s)$ such that conditions eqref:eq:detail_control_hinf_cond_complementarity, eqref:eq:detail_control_hinf_cond_h1 and eqref:eq:detail_control_hinf_cond_h2 are satisfied. + +\begin{subequations}\label{eq:detail_control_comp_filter_problem_form} + \begin{align} + & H_1(s) + H_2(s) = 1 \label{eq:detail_control_hinf_cond_complementarity} \\ + & |H_1(j\omega)| \le \frac{1}{|W_1(j\omega)|} \quad \forall\omega \label{eq:detail_control_hinf_cond_h1} \\ + & |H_2(j\omega)| \le \frac{1}{|W_2(j\omega)|} \quad \forall\omega \label{eq:detail_control_hinf_cond_h2} + \end{align} +\end{subequations} + +$W_1(s)$ and $W_2(s)$ are two weighting transfer functions that are carefully chosen to specify the maximum wanted norm of the complementary filters during the synthesis. + +*** Shaping of Complementary Filters using $\mathcal{H}_\infty$ synthesis +<> + +In this section, it is shown that the synthesis objective can be easily expressed as a standard $\mathcal{H}_\infty$ optimization problem and therefore solved using convenient tools readily available. + +Consider the generalized plant $P(s)$ shown in Fig. ref:fig:detail_control_h_infinity_robust_fusion_plant and mathematically described by eqref:eq:detail_control_generalized_plant. + +\begin{equation}\label{eq:detail_control_generalized_plant} + \begin{bmatrix} z_1 \\ z_2 \\ v \end{bmatrix} = P(s) \begin{bmatrix} w\\u \end{bmatrix}; \quad P(s) = \begin{bmatrix}W_1(s) & -W_1(s) \\ 0 & \phantom{+}W_2(s) \\ 1 & 0 \end{bmatrix} +\end{equation} + +#+begin_src latex :file detail_control_h_infinity_robust_fusion_plant.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[block={4.0cm}{3.0cm}, fill=black!10!white] (P) {}; + \node[above] at (P.north) {$P(s)$}; + + \node[block, below=0.2 of P, opacity=0] (H2) {$H_2(s)$}; + + \coordinate[] (inputw) at ($(P.south west)!0.75!(P.north west) + (-0.7, 0)$); + \coordinate[] (inputu) at ($(P.south west)!0.35!(P.north west) + (-0.7, 0)$); + + \coordinate[] (output1) at ($(P.south east)!0.75!(P.north east) + ( 0.7, 0)$); + \coordinate[] (output2) at ($(P.south east)!0.35!(P.north east) + ( 0.7, 0)$); + \coordinate[] (outputv) at ($(P.south east)!0.1!(P.north east) + ( 0.7, 0)$); + + \node[block, left=1.4 of output1] (W1){$W_1(s)$}; + \node[block, left=1.4 of output2] (W2){$W_2(s)$}; + \node[addb={+}{}{}{}{-}, left=of W1] (sub) {}; + + \draw[->] (inputw) node[above right]{$w$} -- (sub.west); + \draw[->] (inputu) node[above right]{$u$} -- (W2.west); + \draw[->] (inputu-|sub) node[branch]{} -- (sub.south); + \draw[->] (sub.east) -- (W1.west); + \draw[->] ($(sub.west)+(-0.6, 0)$) node[branch]{} |- (outputv) node[above left]{$v$}; + \draw[->] (W1.east) -- (output1)node[above left]{$z_1$}; + \draw[->] (W2.east) -- (output2)node[above left]{$z_2$}; +\end{tikzpicture} +#+end_src + +#+begin_src latex :file detail_control_h_infinity_robust_fusion_fb.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[block={4.0cm}{3.0cm}, fill=black!10!white] (P) {}; + \node[above] at (P.north) {$P(s)$}; + + \node[block, below=0.2 of P] (H2) {$H_2(s)$}; + + \coordinate[] (inputw) at ($(P.south west)!0.75!(P.north west) + (-0.7, 0)$); + \coordinate[] (inputu) at ($(P.south west)!0.35!(P.north west) + (-0.4, 0)$); + + \coordinate[] (output1) at ($(P.south east)!0.75!(P.north east) + ( 0.7, 0)$); + \coordinate[] (output2) at ($(P.south east)!0.35!(P.north east) + ( 0.7, 0)$); + \coordinate[] (outputv) at ($(P.south east)!0.1!(P.north east) + ( 0.4, 0)$); + + \node[block, left=1.4 of output1] (W1){$W_1(s)$}; + \node[block, left=1.4 of output2] (W2){$W_2(s)$}; + \node[addb={+}{}{}{}{-}, left=of W1] (sub) {}; + + \draw[->] (inputw) node[above right]{$w$} -- (sub.west); + \draw[->] (inputu-|sub) node[branch]{} -- (sub.south); + \draw[->] (sub.east) -- (W1.west); + \draw[->] ($(sub.west)+(-0.6, 0)$) node[branch]{} |- (outputv) |- (H2.east); + \draw[->] (H2.west) -| (inputu) -- (W2.west); + \draw[->] (W1.east) -- (output1)node[above left]{$z_1$}; + \draw[->] (W2.east) -- (output2)node[above left]{$z_2$}; +\end{tikzpicture} +#+end_src + +#+name: fig:detail_control_h_infinity_robust_fusion +#+caption: Architecture for the $\mathcal{H}_\infty$ synthesis of complementary filters +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:detail_control_h_infinity_robust_fusion_plant}Generalized plant} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/detail_control_h_infinity_robust_fusion_plant.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:detail_control_h_infinity_robust_fusion_fb}Generalized plant with the synthesized filter} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/detail_control_h_infinity_robust_fusion_fb.png]] +#+end_subfigure +#+end_figure + +Applying the standard $\mathcal{H}_\infty$ synthesis to the generalized plant $P(s)$ is then equivalent as finding a stable filter $H_2(s)$ which based on $v$, generates a signal $u$ such that the $\mathcal{H}_\infty$ norm of the system in Fig. ref:fig:detail_control_h_infinity_robust_fusion_fb from $w$ to $[z_1, \ z_2]$ is less than one eqref:eq:detail_control_hinf_syn_obj. + +\begin{equation}\label{eq:detail_control_hinf_syn_obj} + \left\|\begin{matrix} \left(1 - H_2(s)\right) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1 +\end{equation} + +By then defining $H_1(s)$ to be the complementary of $H_2(s)$ eqref:eq:detail_control_definition_H1, the $\mathcal{H}_\infty$ synthesis objective becomes equivalent to eqref:eq:detail_control_hinf_problem which ensures that eqref:eq:detail_control_hinf_cond_h1 and eqref:eq:detail_control_hinf_cond_h2 are satisfied. + +\begin{equation}\label{eq:detail_control_definition_H1} + H_1(s) \triangleq 1 - H_2(s) +\end{equation} + +\begin{equation}\label{eq:detail_control_hinf_problem} + \left\|\begin{matrix} H_1(s) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1 +\end{equation} + +Therefore, applying the $\mathcal{H}_\infty$ synthesis to the standard plant $P(s)$ eqref:eq:detail_control_generalized_plant will generate two filters $H_2(s)$ and $H_1(s) \triangleq 1 - H_2(s)$ that are complementary eqref:eq:detail_control_comp_filter_problem_form and such that there norms are bellow specified bounds [[eqref:eq:detail_control_hinf_cond_h1]], eqref:eq:detail_control_hinf_cond_h2. + +Note that there is only an implication between the $\mathcal{H}_\infty$ norm condition eqref:eq:detail_control_hinf_problem and the initial synthesis objectives eqref:eq:detail_control_hinf_cond_h1 and eqref:eq:detail_control_hinf_cond_h2 and not an equivalence. +Hence, the optimization may be a little bit conservative with respect to the set of filters on which it is performed, see [[cite:skogestad07_multiv_feedb_contr][Chap. 2.8.3]]. +In practice, this is however not an found to be an issue. + +*** Weighting Functions Design +<> + +Weighting functions are used during the synthesis to specify the maximum allowed complementary filters' norm. +The proper design of these weighting functions is of primary importance for the success of the presented $\mathcal{H}_\infty$ synthesis of complementary filters. + +First, only proper and stable transfer functions should be used. +Second, the order of the weighting functions should stay reasonably small in order to reduce the computational costs associated with the solving of the optimization problem and for the physical implementation of the filters (the synthesized filters' order being equal to the sum of the weighting functions' order). +Third, one should not forget the fundamental limitations imposed by the complementary property eqref:eq:detail_control_comp_filter. +This implies for instance that $|H_1(j\omega)|$ and $|H_2(j\omega)|$ cannot be made small at the same frequency. + +When designing complementary filters, it is usually desired to specify their slopes, their "blending" frequency and their maximum gains at low and high frequency. +To easily express these specifications, formula eqref:eq:detail_control_weight_formula is proposed to help with the design of weighting functions. + +\begin{equation}\label{eq:detail_control_weight_formula} + W(s) = \left( \frac{ + \hfill{} \frac{1}{\omega_c} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{G_0}{G_c}\right)^{\frac{1}{n}} + }{ + \left(\frac{1}{G_\infty}\right)^{\frac{1}{n}} \frac{1}{\omega_c} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{1}{G_c}\right)^{\frac{1}{n}} + }\right)^n +\end{equation} + +The parameters in formula eqref:eq:detail_control_weight_formula are: +- $G_0 = \lim_{\omega \to 0} |W(j\omega)|$: the low frequency gain +- $G_\infty = \lim_{\omega \to \infty} |W(j\omega)|$: the high frequency gain +- $G_c = |W(j\omega_c)|$: the gain at a specific frequency $\omega_c$ in $\si{rad/s}$. +- $n$: the slope between high and low frequency. It also corresponds to the order of the weighting function. + +The parameters $G_0$, $G_c$ and $G_\infty$ should either satisfy eqref:eq:detail_control_cond_formula_1 or eqref:eq:detail_control_cond_formula_2. + +\begin{subequations}\label{eq:detail_control_condition_params_formula} + \begin{align} + G_0 < 1 < G_\infty \text{ and } G_0 < G_c < G_\infty \label{eq:detail_control_cond_formula_1}\\ + G_\infty < 1 < G_0 \text{ and } G_\infty < G_c < G_0 \label{eq:detail_control_cond_formula_2} + \end{align} +\end{subequations} + +The typical magnitude of a weighting function generated using eqref:eq:detail_control_weight_formula is shown in Fig. ref:fig:detail_control_weight_formula. + +#+begin_src matlab :exports none +%% Weighting Function Design +% Parameters +n = 3; w0 = 2*pi*10; G0 = 1e-3; G1 = 1e1; Gc = 2; + +% Formulas +W = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n; + +% Function generateWF can be used to easily design the weighting filters +% W = generateWF('n', 3, 'w0', 2*pi*10, 'G0', 1e-3, 'Ginf', 10, 'Gc', 2); +#+end_src + +#+begin_src matlab :exports none :results none +%% Magnitude of the weighting function with parameters +figure; +hold on; +plot(freqs, abs(squeeze(freqresp(W, freqs, 'Hz'))), 'k-'); + +plot([1e-3 1e0], [G0 G0], 'k--', 'LineWidth', 1) +text(1e0, G0, '$\quad G_0$') + +plot([1e1 1e3], [G1 G1], 'k--', 'LineWidth', 1) +text(1e1,G1,'$G_{\infty}\quad$','HorizontalAlignment', 'right') + +plot([w0/2/pi w0/2/pi], [1 2*Gc], 'k--', 'LineWidth', 1) +text(w0/2/pi,1,'$\omega_c$','VerticalAlignment', 'top', 'HorizontalAlignment', 'center') + +plot([w0/2/pi/2 2*w0/2/pi], [Gc Gc], 'k--', 'LineWidth', 1) +text(w0/2/pi/2, Gc, '$G_c \quad$','HorizontalAlignment', 'right') + +text(w0/5/pi/2, abs(evalfr(W, j*w0/5)), 'Slope: $n \quad$', 'HorizontalAlignment', 'right') + +text(w0/2/pi, abs(evalfr(W, j*w0)), '$\bullet$', 'HorizontalAlignment', 'center') +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Magnitude'); +hold off; +xlim([freqs(1), freqs(end)]); +ylim([5e-4, 20]); +yticks([1e-4, 1e-3, 1e-2, 1e-1, 1, 1e1]); +#+end_src + +#+begin_src matlab :tangle no :exports results :results file replace +exportFig('figs/detail_control_weight_formula.pdf', 'width', 'wide', 'height', 'normal'); +#+end_src + +#+name: fig:detail_control_weight_formula +#+caption: Magnitude of a weighting function generated using formula eqref:eq:detail_control_weight_formula, $G_0 = 1e^{-3}$, $G_\infty = 10$, $\omega_c = \SI{10}{Hz}$, $G_c = 2$, $n = 3$. +#+RESULTS: +[[file:figs/detail_control_weight_formula.png]] + +*** Validation of the proposed synthesis method +<> + +The proposed methodology for the design of complementary filters is now applied on a simple example. +Let's suppose two complementary filters $H_1(s)$ and $H_2(s)$ have to be designed such that: +- the blending frequency is around $\SI{10}{Hz}$. +- the slope of $|H_1(j\omega)|$ is $+2$ below $\SI{10}{Hz}$. + Its low frequency gain is $10^{-3}$. +- the slope of $|H_2(j\omega)|$ is $-3$ above $\SI{10}{Hz}$. + Its high frequency gain is $10^{-3}$. + +The first step is to translate the above requirements by properly designing the weighting functions. +The proposed formula eqref:eq:detail_control_weight_formula is here used for such purpose. +Parameters used are summarized in Table ref:tab:detail_control_weights_params. +The inverse magnitudes of the designed weighting functions, which are representing the maximum allowed norms of the complementary filters, are shown by the dashed lines in Fig. ref:fig:detail_control_weights_W1_W2. + +#+begin_src matlab +%% Synthesis of Complementary Filters using H-infinity synthesis +% Design of the Weighting Functions +W1 = generateWF('n', 3, 'w0', 2*pi*10, 'G0', 1000, 'Ginf', 1/10, 'Gc', 0.45); +W2 = generateWF('n', 2, 'w0', 2*pi*10, 'G0', 1/10, 'Ginf', 1000, 'Gc', 0.45); +#+end_src + +#+begin_src matlab :exports none :results none +%% description +figure; +tiledlayout(1, 1, 'TileSpacing', 'None', 'Padding', 'None'); +ax1 = nexttile(); +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), '--', 'DisplayName', '$|W_1|^{-1}$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), '--', 'DisplayName', '$|W_2|^{-1}$'); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +xlabel('Frequency [Hz]', 'FontSize', 10); ylabel('Magnitude', 'FontSize', 10); +hold off; +xlim([freqs(1), freqs(end)]); +xticks([0.1, 1, 10, 100, 1000]); +ylim([8e-4, 20]); +yticks([1e-3, 1e-2, 1e-1, 1, 1e1]); +yticklabels({'', '$10^{-2}$', '', '$10^0$', ''}); +ax1.FontSize = 9; +leg = legend('location', 'south', 'FontSize', 8); +leg.ItemTokenSize(1) = 18; +#+end_src + +#+begin_src matlab :tangle no :exports results :results file replace +exportFig('figs/detail_control_weights_W1_W2.pdf', 'width', 'half', 'height', 350); +#+end_src + +#+attr_latex: :options [b]{0.44\linewidth} +#+begin_minipage +#+attr_latex: :environment tabularx :width 0.7\linewidth :placement [b] :align ccc +#+attr_latex: :booktabs t :float nil +| Parameter | $W_1(s)$ | $W_2(s)$ | +|-------------+------------------+------------------| +| $G_0$ | $0.1$ | $1000$ | +| $G_{\infty}$ | $1000$ | $0.1$ | +| $\omega_c$ | $2 \pi \cdot 10$ | $2 \pi \cdot 10$ | +| $G_c$ | $0.45$ | $0.45$ | +| $n$ | $2$ | $3$ | +#+latex: \captionof{table}{\label{tab:detail_control_weights_params}Parameters for \(W_1(s)\) and \(W_2(s)\)} +#+end_minipage +\hfill +#+attr_latex: :options [b]{0.52\linewidth} +#+begin_minipage +#+name: fig:detail_control_weights_W1_W2 +#+attr_latex: :scale 1 :float nil +#+caption: Inverse magnitude of the weights +[[file:figs/detail_control_weights_W1_W2.png]] +#+end_minipage + +The standard $\mathcal{H}_\infty$ synthesis is then applied to the generalized plant of Fig. ref:fig:detail_control_h_infinity_robust_fusion_plant. +The filter $H_2(s)$ that minimizes the $\mathcal{H}_\infty$ norm between $w$ and $[z_1,\ z_2]^T$ is obtained. +The $\mathcal{H}_\infty$ norm is here found to be close to one eqref:eq:detail_control_hinf_synthesis_result which indicates that the synthesis is successful: the complementary filters norms are below the maximum specified upper bounds. +This is confirmed by the bode plots of the obtained complementary filters in Fig. ref:fig:detail_control_hinf_filters_results. + +\begin{equation}\label{eq:detail_control_hinf_synthesis_result} + \left\|\begin{matrix} \left(1 - H_2(s)\right) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \approx 1 +\end{equation} + +The transfer functions in the Laplace domain of the complementary filters are given in eqref:eq:detail_control_hinf_synthesis_result_tf. +As expected, the obtained filters are of order $5$, that is the sum of the weighting functions' order. + +\begin{subequations}\label{eq:detail_control_hinf_synthesis_result_tf} + \begin{align} + H_2(s) &= \frac{(s+6.6e^4) (s+160) (s+4)^3}{(s+6.6e^4) (s^2 + 106 s + 3e^3) (s^2 + 72s + 3580)} \\ + H_1(s) &\triangleq H_2(s) - 1 = \frac{10^{-8} (s+6.6e^9) (s+3450)^2 (s^2 + 49s + 895)}{(s+6.6e^4) (s^2 + 106 s + 3e^3) (s^2 + 72s + 3580)} + \end{align} +\end{subequations} + +#+begin_src matlab +% Generalized Plant +P = [W1 -W1; + 0 W2; + 1 0]; + +% H-Infinity Synthesis +[H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); + +% Define H1 to be the complementary of H2 +H1 = 1 - H2; + +% The function generateCF can also be used to synthesize the complementary filters. +% [H1, H2] = generateCF(W1, W2); +#+end_src + +#+begin_src matlab :exports none :results none +%% Bode plot of the obtained complementary filters +figure; +tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None'); + +% Magnitude +ax1 = nexttile([2, 1]); +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), '--', 'DisplayName', '$|W_1|^{-1}$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), '--', 'DisplayName', '$|W_2|^{-1}$'); + +set(gca,'ColorOrderIndex',1) +plot(freqs, abs(squeeze(freqresp(H1, freqs, 'Hz'))), '-', 'DisplayName', '$H_1$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, abs(squeeze(freqresp(H2, freqs, 'Hz'))), '-', 'DisplayName', '$H_2$'); +hold off; +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +set(gca, 'XTickLabel',[]); ylabel('Magnitude'); +ylim([8e-4, 20]); +yticks([1e-3, 1e-2, 1e-1, 1, 1e1]); +yticklabels({'', '$10^{-2}$', '', '$10^0$', ''}) +leg = legend('location', 'south', 'FontSize', 8, 'NumColumns', 2); +leg.ItemTokenSize(1) = 18; + +% Phase +ax2 = nexttile; +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 180/pi*phase(squeeze(freqresp(H1, freqs, 'Hz'))), '-'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 180/pi*phase(squeeze(freqresp(H2, freqs, 'Hz'))), '-'); +hold off; +set(gca, 'XScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); +yticks([-180:90:180]); +ylim([-180, 200]) +yticklabels({'-180', '', '0', '', '180'}) + +linkaxes([ax1,ax2],'x'); +xlim([freqs(1), freqs(end)]); +#+end_src + +#+begin_src matlab :tangle no :exports results :results file replace +exportFig('figs/detail_control_hinf_filters_results.pdf', 'width', 'wide', 'height', 600); +#+end_src + +#+name: fig:detail_control_hinf_filters_results +#+caption: Bode plot of the obtained complementary filters +#+RESULTS: +[[file:figs/detail_control_hinf_filters_results.png]] + +This simple example illustrates the fact that the proposed methodology for complementary filters shaping is easy to use and effective. +A more complex real life example is taken up in the next section. + +** "Closed-Loop" complementary filters +<> + +An alternative way to implement complementary filters is by using a fundamental property of the classical feedback architecture shown in Fig. ref:fig:detail_control_feedback_sensor_fusion. +This idea is discussed in [[cite:&mahony05_compl_filter_desig_special_orthog;&plummer06_optim_compl_filter_their_applic_motion_measur;&jensen13_basic_uas]]. + +#+begin_src latex :file detail_control_feedback_sensor_fusion.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[addb={+}{}{}{}{-}] (addfb) at (0, 0){}; + \node[block, right=1 of addfb] (L){$L(s)$}; + \node[addb={+}{}{}{}{}, right=1 of L] (adddy){}; + + \draw[<-] (addfb.west) -- ++(-1, 0) node[above right]{$\hat{x}_2$}; + \draw[->] (addfb.east) -- (L.west); + \draw[->] (L.east) -- (adddy.west); + \draw[->] (adddy.east) -- ++(1.4, 0) node[above left]{$\hat{x}$}; + \draw[->] ($(adddy.east) + (0.5, 0)$) node[branch]{} -- ++(0, -0.8) coordinate(botc) -| (addfb.south); + \draw[<-] (adddy.north) -- ++(0, 1) node[below right]{$\hat{x}_1$}; + + \begin{scope}[on background layer] + \node[fit={(L.north-|addfb.west) (botc)}, fill=black!10!white, draw, inner sep=6pt] (supersensor) {}; + \end{scope} +\end{tikzpicture} +#+end_src + +#+name: fig:detail_control_feedback_sensor_fusion +#+caption: "Closed-Loop" complementary filters. +#+RESULTS: +[[file:figs/detail_control_feedback_sensor_fusion.png]] + +Consider the feedback architecture of Fig. ref:fig:detail_control_feedback_sensor_fusion, with two inputs $\hat{x}_1$ and $\hat{x}_2$, and one output $\hat{x}$. +The output $\hat{x}$ is linked to the inputs by eqref:eq:detail_control_closed_loop_complementary_filters. + +\begin{equation}\label{eq:detail_control_closed_loop_complementary_filters} +\hat{x} = \underbrace{\frac{1}{1 + L(s)}}_{S(s)} \hat{x}_1 + \underbrace{\frac{L(s)}{1 + L(s)}}_{T(s)} \hat{x}_2 +\end{equation} + +As for any classical feedback architecture, we have that the sum of the sensitivity transfer function $S(s)$ and complementary sensitivity transfer function $T_(s)$ is equal to one eqref:eq:detail_control_sensitivity_sum. + +\begin{equation}\label{eq:detail_control_sensitivity_sum} +S(s) + T(s) = 1 +\end{equation} + +Therefore, provided that the the closed-loop system in Fig. ref:fig:detail_control_feedback_sensor_fusion is stable, it can be used as a set of two complementary filters. +Two sensors can then be merged as shown in Fig. ref:fig:detail_control_feedback_sensor_fusion_arch. + +#+begin_src latex :file detail_control_feedback_sensor_fusion_arch.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[addb={+}{}{}{}{-}] (addfb) at (0, 0){}; + \node[block, right=1 of addfb] (L){$L(s)$}; + \node[addb={+}{}{}{}{}, right=1 of L] (adddy){}; + + \node[block, left=1.2 of addfb] (sensor2){Sensor 2}; + \node[block, above=0.4 of sensor2] (sensor1){Sensor 1}; + \node[branch, left=0.6 of sensor2] (x){}; + + \draw[->] (addfb.east) -- (L.west); + \draw[->] (L.east) -- (adddy.west); + \draw[->] (adddy.east) -- ++(1.4, 0) node[above left]{$\hat{x}$}; + \draw[->] ($(adddy.east) + (0.5, 0)$) node[branch]{} -- ++(0, -0.8) coordinate(botc) -| (addfb.south); + \draw[->] (x.center) |- (sensor1.west); + \draw[->] ($(x)-(0.8,0)$) node[above right]{$x$} -- (sensor2.west); + \draw[->] (sensor2.east)node[above right=0 and 0.25]{$\hat{x}_2$} -- (addfb.west); + \draw[->] (sensor1.east)node[above right=0 and 0.25]{$\hat{x}_1$} -| (adddy.north); + + \begin{scope}[on background layer] + \node[fit={(x|-sensor1.north) (botc)}, fill=black!10!white, draw, inner sep=9pt] (supersensor) {}; + \node[fit={(sensor1.north-|addfb.west) (botc)}, fill=black!20!white, draw, inner sep=6pt] (feedbackfilter) {}; + \node[fit={(sensor2.west|-botc) (sensor1.north east)}, fill=black!20!white, draw, inner sep=6pt] (sensors) {}; + \node[above, align=center] at (sensors.south) {{\tiny Normalized}\\[-0.5em]{\tiny sensors}}; + \node[below, align=center] at (feedbackfilter.north) {{\tiny "Closed-Loop"}\\[-0.5em]{\tiny complementary filters}}; + \end{scope} +\end{tikzpicture} +#+end_src + +#+name: fig:detail_control_feedback_sensor_fusion_arch +#+caption: Classical feedback architecture used for sensor fusion. +#+RESULTS: +[[file:figs/detail_control_feedback_sensor_fusion_arch.png]] + +One of the main advantage of implementing and designing complementary filters using the feedback architecture of Fig. ref:fig:detail_control_feedback_sensor_fusion is that all the tools of the linear control theory can be applied for the design of the filters. +If one want to shape both $\frac{\hat{x}}{\hat{x}_1}(s) = S(s)$ and $\frac{\hat{x}}{\hat{x}_2}(s) = T(s)$, the $\mathcal{H}_\infty$ mixed-sensitivity synthesis can be easily applied. + +To do so, weighting functions $W_1(s)$ and $W_2(s)$ are added to respectively shape $S(s)$ and $T(s)$ (Fig. ref:fig:detail_control_feedback_synthesis_architecture). +Then the system is rearranged to form the generalized plant $P_L(s)$ shown in Fig. ref:fig:detail_control_feedback_synthesis_architecture_generalized_plant. +The $\mathcal{H}_\infty$ mixed-sensitivity synthesis can finally be performed by applying the standard $\mathcal{H}_\infty$ synthesis to the generalized plant $P_L(s)$ which is described by eqref:eq:detail_control_generalized_plant_mixed_sensitivity. + +\begin{equation}\label{eq:detail_control_generalized_plant_mixed_sensitivity} + \begin{bmatrix} z \\ v \end{bmatrix} = P_L(s) \begin{bmatrix} w_1 \\ w_2 \\ u \end{bmatrix}; \quad P_L(s) = \begin{bmatrix} + \phantom{+}W_1(s) & 0 & \phantom{+}1 \\ + -W_1(s) & W_2(s) & -1 + \end{bmatrix} +\end{equation} + +The output of the synthesis is a filter $L(s)$ such that the "closed-loop" $\mathcal{H}_\infty$ norm from $[w_1,\ w_2]$ to $z$ of the system in Fig. ref:fig:detail_control_feedback_sensor_fusion is less than one eqref:eq:detail_control_comp_filters_feedback_obj. + +\begin{equation}\label{eq:detail_control_comp_filters_feedback_obj} + \left\| \begin{matrix} \frac{z}{w_1} \\ \frac{z}{w_2} \end{matrix} \right\|_\infty = \left\| \begin{matrix} \frac{1}{1 + L(s)} W_1(s) \\ \frac{L(s)}{1 + L(s)} W_2(s) \end{matrix} \right\|_\infty \le 1 +\end{equation} + +If the synthesis is successful, the transfer functions from $\hat{x}_1$ to $\hat{x}$ and from $\hat{x}_2$ to $\hat{x}$ have their magnitude bounded by the inverse magnitude of the corresponding weighting functions. +The sensor fusion can then be implemented using the feedback architecture in Fig. ref:fig:detail_control_feedback_sensor_fusion_arch or more classically as shown in Fig. ref:fig:detail_control_sensor_fusion_overview by defining the two complementary filters using eqref:eq:detail_control_comp_filters_feedback. +The two architectures are equivalent regarding their inputs/outputs relationships. + +\begin{equation}\label{eq:detail_control_comp_filters_feedback} + H_1(s) = \frac{1}{1 + L(s)}; \quad H_2(s) = \frac{L(s)}{1 + L(s)} +\end{equation} + +#+begin_src latex :file detail_control_feedback_synthesis_architecture.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[block] (W2) at (0,0) {$W_2(s)$}; + \node[addb={+}{}{}{}{-}, right=0.8 of W2] (addfb){}; + \node[addb={+}{}{}{}{}, right=4.5 of W2] (adddy){}; + \node[block, above=0.8 of adddy] (W1){$W_1(s)$}; + + \draw[<-] (W2.west) -- ++(-0.8, 0) node[above right]{$w_2$}; + \draw[->] (W2.east) -- (addfb.west) node[above left]{$\tilde{w}_2$}; + \draw[->] (addfb.east) -- ++(1, 0) node[above left]{$v$}; + \draw[<-] (adddy.west) -- ++(-1, 0) node[above right]{$u$}; + \draw[->] (adddy.east) -- ++(1.4, 0) node[above left]{$z$}; + \draw[->] (W1.south) -- (adddy.north) node[above right]{$\tilde{w}_1$}; + \draw[<-] (W1.north) -- ++(0, 0.8) node[below right]{$w_1$}; + \draw[->] ($(adddy.east) + (0.5, 0)$) node[branch]{} -- ++(0, -0.8) -| (addfb.south); +\end{tikzpicture} +#+end_src + +#+begin_src latex :file detail_control_feedback_synthesis_architecture_generalized_plant.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[block={4.5cm}{3.0cm}, fill=black!10!white] (P) {}; + \node[above] at (P.north) {$P_L(s)$}; + + \coordinate[] (inputw1) at ($(P.south west)!0.75!(P.north west) + (-0.7, 0)$); + \coordinate[] (inputw2) at ($(P.south west)!0.40!(P.north west) + (-0.7, 0)$); + \coordinate[] (inputu) at ($(P.south west)!0.15!(P.north west) + (-0.7, 0)$); + + \coordinate[] (outputz) at ($(P.south east)!0.75!(P.north east) + ( 0.7, 0)$); + \coordinate[] (outputv) at ($(P.south east)!0.40!(P.north east) + ( 0.7, 0)$); + + \node[block, right=1.2 of inputw2] (W2){$W_2(s)$}; + \node[block, right=1.2 of inputw1] (W1){$W_1(s)$}; + \node[addb={+}{}{}{}{}, right=0.8 of W1] (add) {}; + \node[addb={+}{}{-}{}{}, right=1.8 of W2] (sub) {}; + + \draw[->] (inputw2) node[above right]{$w_2$} -- (W2.west); + \draw[->] (inputw1) node[above right]{$w_1$} -- (W1.west); + \draw[->] (inputu) node[above right]{$u$} -| (add.south); + \draw[->] (W2.east) -- (sub.west); + \draw[->] (W1.east) -- (add.west); + \draw[->] (add.east) -- (outputz)node[above left]{$z$}; + \draw[->] (sub.east) -- (outputv)node[above left]{$v$}; + \draw[->] (add-|sub) node[branch]{} -- (sub.north); +\end{tikzpicture} +#+end_src + +#+name: fig:detail_control_h_inf_mixed_sensitivity_synthesis +#+caption: $\mathcal{H}_\infty$ mixed-sensitivity synthesis +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:detail_control_feedback_synthesis_architecture}Feedback architecture with included weights} +#+attr_latex: :options {0.58\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/detail_control_feedback_synthesis_architecture.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:detail_control_feedback_synthesis_architecture_generalized_plant}Generalized plant} +#+attr_latex: :options {0.38\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/detail_control_feedback_synthesis_architecture_generalized_plant.png]] +#+end_subfigure +#+end_figure + +As an example, two "closed-loop" complementary filters are designed using the $\mathcal{H}_\infty$ mixed-sensitivity synthesis. +The weighting functions are designed using formula eqref:eq:detail_control_weight_formula with parameters shown in Table ref:tab:detail_control_weights_params. +After synthesis, a filter $L(s)$ is obtained whose magnitude is shown in Fig. ref:fig:detail_control_hinf_filters_results_mixed_sensitivity by the black dashed line. +The "closed-loop" complementary filters are compared with the inverse magnitude of the weighting functions in Fig. ref:fig:detail_control_hinf_filters_results_mixed_sensitivity confirming that the synthesis is successful. +The obtained "closed-loop" complementary filters are indeed equal to the ones obtained in Section ref:sec:detail_control_hinf_example. + +#+begin_src matlab +%% Design of "Closed-loop" complementary filters +% Design of the Weighting Functions +W1 = generateWF('n', 3, 'w0', 2*pi*10, 'G0', 1000, 'Ginf', 1/10, 'Gc', 0.45); +W2 = generateWF('n', 2, 'w0', 2*pi*10, 'G0', 1/10, 'Ginf', 1000, 'Gc', 0.45); + +% Generalized plant for "closed-loop" complementary filter synthesis +P = [ W1 0 1; + -W1 W2 -1]; + +% Standard H-Infinity Synthesis +[L, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); + +% Complementary filters +H1 = inv(1 + L); +H2 = 1 - H1; +#+end_src + +#+begin_src matlab :exports none :results none +%% Bode plot of the obtained complementary filters after H-infinity mixed-sensitivity synthesis +figure; +tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None'); + +% Magnitude +ax1 = nexttile([2, 1]); +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), '--', 'DisplayName', '$|W_1|^{-1}$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), '--', 'DisplayName', '$|W_2|^{-1}$'); + +set(gca,'ColorOrderIndex',1) +plot(freqs, abs(squeeze(freqresp(H1, freqs, 'Hz'))), '-', 'DisplayName', '$H_1$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, abs(squeeze(freqresp(H2, freqs, 'Hz'))), '-', 'DisplayName', '$H_2$'); + +plot(freqs, abs(squeeze(freqresp(L, freqs, 'Hz'))), 'k--', 'DisplayName', '$|L|$'); +hold off; +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +set(gca, 'XTickLabel',[]); ylabel('Magnitude'); +ylim([1e-3, 1e3]); +yticks([1e-3, 1e-2, 1e-1, 1, 1e1, 1e2, 1e3]); +yticklabels({'', '$10^{-2}$', '', '$10^0$', '', '$10^2$', ''}); +leg = legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 3); +leg.ItemTokenSize(1) = 18; + +% Phase +ax2 = nexttile; +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 180/pi*phase(squeeze(freqresp(H1, freqs, 'Hz'))), '-'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 180/pi*phase(squeeze(freqresp(H2, freqs, 'Hz'))), '-'); +hold off; +set(gca, 'XScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); +yticks([-180:90:180]); +ylim([-180, 200]) +yticklabels({'-180', '', '0', '', '180'}) + +linkaxes([ax1,ax2],'x'); +xlim([freqs(1), freqs(end)]); +#+end_src + +#+begin_src matlab :tangle no :exports results :results file replace +exportFig('figs/detail_control_hinf_filters_results_mixed_sensitivity.pdf', 'width', 'wide', 'height', 600); +#+end_src + +#+name: fig:detail_control_hinf_filters_results_mixed_sensitivity +#+caption: Bode plot of the obtained complementary filters after $\mathcal{H}_\infty$ mixed-sensitivity synthesis +#+RESULTS: +[[file:figs/detail_control_hinf_filters_results_mixed_sensitivity.png]] + +** Synthesis of a set of three complementary filters +<> + +Some applications may require to merge more than two sensors [[cite:&stoten01_fusion_kinet_data_using_compos_filter;&fonseca15_compl]]. +For instance at the LIGO, three sensors (an LVDT, a seismometer and a geophone) are merged to form a super sensor [[cite:&matichard15_seism_isolat_advan_ligo]]. + +When merging $n>2$ sensors using complementary filters, two architectures can be used as shown in Fig. ref:fig:detail_control_sensor_fusion_three. +The fusion can either be done in a "sequential" way where $n-1$ sets of two complementary filters are used (Fig. ref:fig:detail_control_sensor_fusion_three_sequential), or in a "parallel" way where one set of $n$ complementary filters is used (Fig. ref:fig:detail_control_sensor_fusion_three_parallel). + +In the first case, typical sensor fusion synthesis techniques can be used. +However, when a parallel architecture is used, a new synthesis method for a set of more than two complementary filters is required as only simple analytical formulas have been proposed in the literature [[cite:&stoten01_fusion_kinet_data_using_compos_filter;&fonseca15_compl]]. +A generalization of the proposed synthesis method of complementary filters is presented in this section. + +#+begin_src latex :file detail_control_sensor_fusion_three_sequential.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[branch] (x) at (0, 0); + + \node[block, right=0.4 of x] (sensor2) {Sensor 2}; + \node[block, above=0.4 of sensor2] (sensor1) {Sensor 1}; + \node[block, below=0.4 of sensor2] (sensor3) {Sensor 3}; + + \node[block, right=1.1 of sensor1](H1){$H_1(s)$}; + \node[block, right=1.1 of sensor2](H2){$H_2(s)$}; + \node[addb] (add) at ($0.5*(H1.east)+0.5*(H2.east)+(0.6, 0)$){}; + + \node[block, right=0.8 of add](H1p) {$H_1^\prime(s)$}; + \node[block] (H2p) at (H1p|-sensor3) {$H_2^\prime(s)$}; + + \node[addb] (addp) at ($0.5*(H1p.east)+0.5*(H2p.east)+(0.6, 0)$){}; + + \draw[->] ($(x)+(-0.8, 0)$) node[above right]{$x$} -- (sensor2.west); + \draw[->] (x.center) |- (sensor1.west); + \draw[->] (x.center) |- (sensor3.west); + \draw[->] (sensor1.east) -- (H1.west) node[above left]{$\hat{x}_1$}; + \draw[->] (sensor2.east) -- (H2.west) node[above left]{$\hat{x}_2$}; + \draw[->] (sensor3.east) -- (H2p.west) node[above left]{$\hat{x}_3$}; + \draw[->] (H1) -| (add.north); + \draw[->] (H2) -| (add.south); + \draw[->] (add.east) -- (H1p.west) node[above left]{$\hat{x}_{12}$}; + \draw[->] (H1p) -| (addp.north); + \draw[->] (H2p) -| (addp.south); + \draw[->] (addp.east) -- ++(0.8, 0) node[above left]{$\hat{x}$}; + + \begin{scope}[on background layer] + \node[fit={(x.west|-sensor3.south) (sensor1.north-|addp.east)}, fill=black!10!white, draw, inner sep=6pt] (supersensor) {}; + + \node[fit={(x.west|-sensor1.north) (add.east|-sensor2.south)}, fill=black!20!white, draw, inner sep=3pt] (superinertialsensor) {}; + \end{scope} +\end{tikzpicture} +#+end_src + +#+begin_src latex :file detail_control_sensor_fusion_three_parallel.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[branch] (x) at (0, 0); + \node[block, right=0.4 of x] (sensor2) {Sensor 2}; + \node[block, above=0.3 of sensor2] (sensor1) {Sensor 1}; + \node[block, below=0.3 of sensor2] (sensor3) {Sensor 3}; + + \node[block, right=1.1 of sensor1](H1){$H_1(s)$}; + \node[block, right=1.1 of sensor2](H2){$H_2(s)$}; + \node[block, right=1.1 of sensor3](H3){$H_3(s)$}; + + \node[addb, right=0.6 of H2](add){}; + + \draw[->] (x.center) |- (sensor1.west); + \draw[] ($(x)+(-0.8, 0)$) node[above right]{$x$} -- (sensor2.west); + \draw[->] (x.center) |- (sensor3.west); + + \draw[->] (sensor1.east) -- (H1.west) node[above left]{$\hat{x}_1$}; + \draw[->] (sensor2.east) -- (H2.west) node[above left]{$\hat{x}_2$}; + \draw[->] (sensor3.east) -- (H3.west) node[above left]{$\hat{x}_3$}; + + \draw[->] (H1) -| (add.north); + \draw[->] (H2) -- (add.west); + \draw[->] (H3) -| (add.south); + + \draw[->] (add.east) -- ++(0.8, 0) node[above left]{$\hat{x}$}; + + \begin{scope}[on background layer] + \node[fit={(H3.south-|x) (H1.north-|add.east)}, fill=black!10!white, draw, inner sep=6pt] (supersensor) {}; + \end{scope} +\end{tikzpicture} +#+end_src + +#+name: fig:detail_control_sensor_fusion_three +#+caption: Possible sensor fusion architecture when more than two sensors are to be merged +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:detail_control_sensor_fusion_three_sequential}Sequential fusion} +#+attr_latex: :options {0.58\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.9 +[[file:figs/detail_control_sensor_fusion_three_sequential.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:detail_control_sensor_fusion_three_parallel}Parallel fusion} +#+attr_latex: :options {0.38\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.9 +[[file:figs/detail_control_sensor_fusion_three_parallel.png]] +#+end_subfigure +#+end_figure + +The synthesis objective is to compute a set of $n$ stable transfer functions $[H_1(s),\ H_2(s),\ \dots,\ H_n(s)]$ such that conditions eqref:eq:detail_control_hinf_cond_compl_gen and eqref:eq:detail_control_hinf_cond_perf_gen are satisfied. + +\begin{subequations}\label{eq:detail_control_hinf_problem_gen} + \begin{align} + & \sum_{i=1}^n H_i(s) = 1 \label{eq:detail_control_hinf_cond_compl_gen} \\ + & \left| H_i(j\omega) \right| < \frac{1}{\left| W_i(j\omega) \right|}, \quad \forall \omega,\ i = 1 \dots n \label{eq:detail_control_hinf_cond_perf_gen} + \end{align} +\end{subequations} + +$[W_1(s),\ W_2(s),\ \dots,\ W_n(s)]$ are weighting transfer functions that are chosen to specify the maximum complementary filters' norm during the synthesis. + +Such synthesis objective is closely related to the one described in Section ref:sec:detail_control_synthesis_objective, and indeed the proposed synthesis method is a generalization of the one presented in Section ref:sec:detail_control_hinf_synthesis. + +A set of $n$ complementary filters can be shaped by applying the standard $\mathcal{H}_\infty$ synthesis to the generalized plant $P_n(s)$ described by eqref:eq:detail_control_generalized_plant_n_filters. + +\begin{equation}\label{eq:detail_control_generalized_plant_n_filters} + \begin{bmatrix} z_1 \\ \vdots \\ z_n \\ v \end{bmatrix} = P_n(s) \begin{bmatrix} w \\ u_1 \\ \vdots \\ u_{n-1} \end{bmatrix}; \quad + P_n(s) = \begin{bmatrix} + W_1 & -W_1 & \dots & \dots & -W_1 \\ + 0 & W_2 & 0 & \dots & 0 \\ + \vdots & \ddots & \ddots & \ddots & \vdots \\ + \vdots & & \ddots & \ddots & 0 \\ + 0 & \dots & \dots & 0 & W_n \\ + 1 & 0 & \dots & \dots & 0 + \end{bmatrix} +\end{equation} + +If the synthesis if successful, a set of $n-1$ filters $[H_2(s),\ H_3(s),\ \dots,\ H_n(s)]$ are obtained such that eqref:eq:detail_control_hinf_syn_obj_gen is verified. + +\begin{equation}\label{eq:detail_control_hinf_syn_obj_gen} + \left\|\begin{matrix} \left(1 - \left[ H_2(s) + H_3(s) + \dots + H_n(s) \right]\right) W_1(s) \\ H_2(s) W_2(s) \\ \vdots \\ H_n(s) W_n(s) \end{matrix}\right\|_\infty \le 1 +\end{equation} + +$H_1(s)$ is then defined using eqref:eq:detail_control_h1_comp_h2_hn which is ensuring the complementary property for the set of $n$ filters eqref:eq:detail_control_hinf_cond_compl_gen. +Condition eqref:eq:detail_control_hinf_cond_perf_gen is satisfied thanks to eqref:eq:detail_control_hinf_syn_obj_gen. + +\begin{equation}\label{eq:detail_control_h1_comp_h2_hn} + H_1(s) \triangleq 1 - \big[ H_2(s) + H_3(s) + \dots + H_n(s) \big] +\end{equation} + +An example is given to validate the proposed method for the synthesis of a set of three complementary filters. +The sensors to be merged are a displacement sensor from DC up to $\SI{1}{Hz}$, a geophone from $1$ to $\SI{10}{Hz}$ and an accelerometer above $\SI{10}{Hz}$. +Three weighting functions are designed using formula eqref:eq:detail_control_weight_formula and their inverse magnitude are shown in Fig. ref:fig:detail_control_three_complementary_filters_results (dashed curves). + +Consider the generalized plant $P_3(s)$ shown in Fig. ref:fig:detail_control_comp_filter_three_hinf_gen_plant which is also described by eqref:eq:detail_control_generalized_plant_three_filters. + +\begin{equation}\label{eq:detail_control_generalized_plant_three_filters} + \begin{bmatrix} z_1 \\ z_2 \\ z_3 \\ v \end{bmatrix} = P_3(s) \begin{bmatrix} w \\ u_1 \\ u_2 \end{bmatrix}; \quad P_3(s) = \begin{bmatrix}W_1(s) & -W_1(s) & -W_1(s) \\ 0 & \phantom{+}W_2(s) & 0 \\ 0 & 0 & \phantom{+}W_3(s) \\ 1 & 0 & 0 \end{bmatrix} +\end{equation} + + +#+begin_src latex :file detail_control_comp_filter_three_hinf_gen_plant.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[block={5.0cm}{4.5cm}, fill=black!10!white] (P) {}; + \node[above] at (P.north) {$P_3(s)$}; + + \coordinate[] (inputw) at ($(P.south west)!0.8!(P.north west) + (-0.7, 0)$); + \coordinate[] (inputu) at ($(P.south west)!0.4!(P.north west) + (-0.7, 0)$); + + \coordinate[] (output1) at ($(P.south east)!0.8!(P.north east) + (0.7, 0)$); + \coordinate[] (output2) at ($(P.south east)!0.55!(P.north east) + (0.7, 0)$); + \coordinate[] (output3) at ($(P.south east)!0.3!(P.north east) + (0.7, 0)$); + \coordinate[] (outputv) at ($(P.south east)!0.1!(P.north east) + (0.7, 0)$); + + \node[block, left=1.4 of output1] (W1){$W_1(s)$}; + \node[block, left=1.4 of output2] (W2){$W_2(s)$}; + \node[block, left=1.4 of output3] (W3){$W_3(s)$}; + \node[addb={+}{}{}{}{-}, left=of W1] (sub1) {}; + \node[addb={+}{}{}{}{-}, left=of sub1] (sub2) {}; + + \node[block, below=0.3 of P, opacity=0] (H) {$\begin{bmatrix}H_2(s) \\ H_3(s)\end{bmatrix}$}; + + \draw[->] (inputw) node[above right](w){$w$} -- (sub2.west); + \draw[->] (W3-|sub1)node[branch]{} -- (sub1.south); + \draw[->] (W2-|sub2)node[branch]{} -- (sub2.south); + \draw[->] ($(sub2.west)+(-0.5, 0)$) node[branch]{} |- (outputv); + \draw[->] (inputu|-W2) -- (W2.west); + \draw[->] (inputu|-W3) -- (W3.west); + + \draw[->] (sub2.east) -- (sub1.west); + \draw[->] (sub1.east) -- (W1.west); + \draw[->] (W1.east) -- (output1)node[above left](z){$z_1$}; + \draw[->] (W2.east) -- (output2)node[above left]{$z_2$}; + \draw[->] (W3.east) -- (output3)node[above left]{$z_3$}; + \node[above] at (W2-|w){$u_1$}; + \node[above] at (W3-|w){$u_2$}; + \node[above] at (outputv-|z){$v$}; +\end{tikzpicture} +#+end_src + +#+begin_src latex :file detail_control_comp_filter_three_hinf_fb.pdf +\tikzset{block/.default={0.8cm}{0.8cm}} +\tikzset{addb/.append style={scale=0.7}} +\tikzset{node distance=0.6} +\begin{tikzpicture} + \node[block={5.0cm}{4.5cm}, fill=black!10!white] (P) {}; + \node[above] at (P.north) {$P_3(s)$}; + + \coordinate[] (inputw) at ($(P.south west)!0.8!(P.north west) + (-0.7, 0)$); + \coordinate[] (inputu) at ($(P.south west)!0.4!(P.north west) + (-0.7, 0)$); + + \coordinate[] (output1) at ($(P.south east)!0.8!(P.north east) + (0.7, 0)$); + \coordinate[] (output2) at ($(P.south east)!0.55!(P.north east) + (0.7, 0)$); + \coordinate[] (output3) at ($(P.south east)!0.3!(P.north east) + (0.7, 0)$); + \coordinate[] (outputv) at ($(P.south east)!0.1!(P.north east) + (0.7, 0)$); + + \node[block, left=1.4 of output1] (W1){$W_1(s)$}; + \node[block, left=1.4 of output2] (W2){$W_2(s)$}; + \node[block, left=1.4 of output3] (W3){$W_3(s)$}; + \node[addb={+}{}{}{}{-}, left=of W1] (sub1) {}; + \node[addb={+}{}{}{}{-}, left=of sub1] (sub2) {}; + + \node[block, below=0.3 of P] (H) {$\begin{bmatrix}H_2(s) \\ H_3(s)\end{bmatrix}$}; + + \draw[->] (inputw) node[above right](w){$w$} -- (sub2.west); + \draw[->] (W3-|sub1)node[branch]{} -- (sub1.south); + \draw[->] (W2-|sub2)node[branch]{} -- (sub2.south); + \draw[->] ($(sub2.west)+(-0.5, 0)$) node[branch]{} |- (outputv) |- (H.east); + \draw[->] ($(H.south west)!0.7!(H.north west)$) -| (inputu|-W2) -- (W2.west); + \draw[->] ($(H.south west)!0.3!(H.north west)$) -| ($(inputu|-W3)+(0.4, 0)$) -- (W3.west); + + \draw[->] (sub2.east) -- (sub1.west); + \draw[->] (sub1.east) -- (W1.west); + \draw[->] (W1.east) -- (output1)node[above left](z){$z_1$}; + \draw[->] (W2.east) -- (output2)node[above left]{$z_2$}; + \draw[->] (W3.east) -- (output3)node[above left]{$z_3$}; + \node[above] at (W2-|w){$u_1$}; + \node[above] at (W3-|w){$u_2$}; + \node[above] at (outputv-|z){$v$}; +\end{tikzpicture} +#+end_src + +#+name: fig:detail_control_comp_filter_three_hinf +#+caption: Architecture for the $\mathcal{H}_\infty$ synthesis of three complementary filters +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:detail_control_comp_filter_three_hinf_gen_plant}Generalized plant} +#+attr_latex: :options {0.48\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/detail_control_comp_filter_three_hinf_gen_plant.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:detail_control_comp_filter_three_hinf_fb}Generalized plant with the synthesized filter} +#+attr_latex: :options {0.48\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/detail_control_comp_filter_three_hinf_fb.png]] +#+end_subfigure +#+end_figure + +The standard $\mathcal{H}_\infty$ synthesis is performed on the generalized plant $P_3(s)$. +Two filters $H_2(s)$ and $H_3(s)$ are obtained such that the $\mathcal{H}_\infty$ norm of the closed-loop transfer from $w$ to $[z_1,\ z_2,\ z_3]$ of the system in Fig. ref:fig:detail_control_comp_filter_three_hinf_fb is less than one. +Filter $H_1(s)$ is defined using eqref:eq:detail_control_h1_compl_h2_h3 thus ensuring the complementary property of the obtained set of filters. + +\begin{equation}\label{eq:detail_control_h1_compl_h2_h3} + H_1(s) \triangleq 1 - \big[ H_2(s) + H_3(s) \big] +\end{equation} + +Figure ref:fig:detail_control_three_complementary_filters_results displays the three synthesized complementary filters (solid lines) which confirms that the synthesis is successful. + +#+begin_src matlab +%% Synthesis of a set of three complementary filters +% Design of the Weighting Functions +W1 = generateWF('n', 2, 'w0', 2*pi*1, 'G0', 1/10, 'Ginf', 1000, 'Gc', 0.5); +W2 = 0.22*(1 + s/2/pi/1)^2/(sqrt(1e-4) + s/2/pi/1)^2*(1 + s/2/pi/10)^2/(1 + s/2/pi/1000)^2; +W3 = generateWF('n', 3, 'w0', 2*pi*10, 'G0', 1000, 'Ginf', 1/10, 'Gc', 0.5); + +% Generalized plant for the synthesis of 3 complementary filters +P = [W1 -W1 -W1; + 0 W2 0 ; + 0 0 W3; + 1 0 0]; + +% Standard H-Infinity Synthesis +[H, ~, gamma, ~] = hinfsyn(P, 1, 2,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); + +% Synthesized H2 and H3 filters +H2 = tf(H(1)); +H3 = tf(H(2)); + +% H1 is defined as the complementary filter of H2 and H3 +H1 = 1 - H2 - H3; +#+end_src + +#+begin_src matlab :exports none :results none +%% Bode plot of the inverse weighting functions and of the three complementary filters obtained using the H-infinity synthesis +figure; +tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None'); + +% Magnitude +ax1 = nexttile([2, 1]); +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), '--', 'DisplayName', '$|W_1|^{-1}$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), '--', 'DisplayName', '$|W_2|^{-1}$'); +set(gca,'ColorOrderIndex',3) +plot(freqs, 1./abs(squeeze(freqresp(W3, freqs, 'Hz'))), '--', 'DisplayName', '$|W_3|^{-1}$'); +set(gca,'ColorOrderIndex',1) +plot(freqs, abs(squeeze(freqresp(H1, freqs, 'Hz'))), '-', 'DisplayName', '$H_1$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, abs(squeeze(freqresp(H2, freqs, 'Hz'))), '-', 'DisplayName', '$H_2$'); +set(gca,'ColorOrderIndex',3) +plot(freqs, abs(squeeze(freqresp(H3, freqs, 'Hz'))), '-', 'DisplayName', '$H_3$'); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +hold off; +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +ylabel('Magnitude'); +set(gca, 'XTickLabel',[]); +ylim([1e-4, 20]); +leg = legend('location', 'northeast', 'FontSize', 8); +leg.ItemTokenSize(1) = 18; + +% Phase +ax2 = nexttile; +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 180/pi*phase(squeeze(freqresp(H1, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',2) +plot(freqs, 180/pi*phase(squeeze(freqresp(H2, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',3) +plot(freqs, 180/pi*phase(squeeze(freqresp(H3, freqs, 'Hz')))); +hold off; +xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); +set(gca, 'XScale', 'log'); +yticks([-180:90:180]); ylim([-220, 220]); + +linkaxes([ax1,ax2],'x'); +xlim([freqs(1), freqs(end)]); +#+end_src + +#+begin_src matlab :tangle no :exports results :results file replace +exportFig('figs/detail_control_three_complementary_filters_results.pdf', 'width', 'wide', 'height', 600); +#+end_src + +#+name: fig:detail_control_three_complementary_filters_results +#+caption: Bode plot of the inverse weighting functions and of the three complementary filters obtained using the $\mathcal{H}_\infty$ synthesis +#+RESULTS: +[[file:figs/detail_control_three_complementary_filters_results.png]] ** Conclusion :PROPERTIES: :UNNUMBERED: t :END: +A new method for designing complementary filters using the $\mathcal{H}_\infty$ synthesis has been proposed. +It allows to shape the magnitude of the filters by the use of weighting functions during the synthesis. +This is very valuable in practice as the characteristics of the super sensor are linked to the complementary filters' magnitude. +Therefore typical sensor fusion objectives can be translated into requirements on the magnitudes of the filters. +Several examples were used to emphasize the simplicity and the effectiveness of the proposed method. + +However, the shaping of the complementary filters' magnitude does not allow to directly optimize the super sensor noise and dynamical characteristics. +Future work will aim at developing a complementary filter synthesis method that minimizes the super sensor noise while ensuring the robustness of the fusion. + * Decoupling Strategies +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/detail_control_2_decoupling.m +:END: <> ** Introduction :ignore: +# *This report is based on*: +# - file:~/Cloud/research/matlab/decoupling-strategies/svd-control.org +# - [X] Maybe not relevant, as it is experimental results based on the Stewart platform file:/home/thomas/Cloud/meetings/group-meetings-me/2021-08-16-Nano-Hexapod-Control/2021-08-16-Nano-Hexapod-Control.org + +When dealing with MIMO systems, a typical strategy is to: +- first decouple the plant dynamics +- apply SISO control for the decoupled plant + Assumptions: - parallel manipulators -- file:~/Cloud/research/matlab/decoupling-strategies/svd-control.org +Review of decoupling strategies for Stewart platforms: - [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org::*Decoupling Strategies][Decoupling Strategies]] -- file:/home/thomas/Cloud/meetings/group-meetings-me/2021-08-16-Nano-Hexapod-Control/2021-08-16-Nano-Hexapod-Control.org + - [ ] What example should be taken? - 3dof system? stewart platform? + *3dof system*? stewart platform? + Maybe simpler. + +** Matlab Init :noexport:ignore: +#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) +<> +#+end_src + +#+begin_src matlab :exports none :results silent :noweb yes +<> +#+end_src + +#+begin_src matlab :tangle no :noweb yes +<> +#+end_src + +#+begin_src matlab :eval no :noweb yes +<> +#+end_src + +#+begin_src matlab :noweb yes +<> +#+end_src ** Interaction Analysis -** Decentralized Control +** Decentralized Control (actuator frame) -** Center of Stiffness +** Center of Stiffness and center of Mass - Example - Show -** Center of Mass - ** Modal Decoupling ** Data Based Decoupling @@ -203,32 +1943,60 @@ Assumptions: :UNNUMBERED: t :END: -* Controller Optimization +Table that compares all the strategies. + +* Closed-Loop Shaping using Complementary Filters +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/detail_control_3_close_loop_shaping.m +:END: <> ** Introduction :ignore: -** Decoupled Open-Loop Shaping -<> +# - file:~/Cloud/research/papers/published/verma19_virtu_senso_fusio_high_preci_contr/elsarticle-template-harv.pdf +# - file:~/Cloud/research/papers/dehaeze20_virtu_senso_fusio/index.org +Performance of a feedback control is dictated by closed-loop transfer functions. +For instance sensitivity, transmissibility, etc... Gang of Four. + +There are several ways to design a controller to obtain a given performance. + +Decoupled Open-Loop Shaping: +- As shown in previous section, once the plant is decoupled: open loop shaping - Explain procedure when applying open-loop shaping - Lead, Lag, Notches, Check Stability, c2d, etc... +- But this is open-loop shaping, and it does not directly work on the closed loop transfer functions -** Model Based Design -<> - +Other strategy: Model Based Design: - [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org::*Multivariable Control][Multivariable Control]] - Talk about Caio's thesis? - Review of model based design (LQG, H-Infinity) applied to Stewart platform - Difficulty to specify robustness to change of payload mass -** Closed-Loop Shaping using Complementary Filters -<> +In this section, an alternative is proposed in which complementary filters are used for closed-loop shaping. +It is presented for a SISO system, but can be generalized to MIMO if decoupling is sufficient. +It will be experimentally demonstrated with the NASS. -- [ ] *Or maybe the full section about that ?* +** Matlab Init :noexport:ignore: +#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) +<> +#+end_src -- file:~/Cloud/research/papers/published/verma19_virtu_senso_fusio_high_preci_contr/elsarticle-template-harv.pdf -- file:~/Cloud/research/papers/dehaeze20_virtu_senso_fusio/index.org +#+begin_src matlab :exports none :results silent :noweb yes +<> +#+end_src + +#+begin_src matlab :tangle no :noweb yes +<> +#+end_src + +#+begin_src matlab :eval no :noweb yes +<> +#+end_src + +#+begin_src matlab :noweb yes +<> +#+end_src ** Conclusion :PROPERTIES: @@ -243,3 +2011,116 @@ Assumptions: * Bibliography :ignore: #+latex: \printbibliography[heading=bibintoc,title={Bibliography}] + +* Matlab Functions :noexport: +** =generateWF=: Generate Weighting Functions + +#+begin_src matlab :tangle matlab/src/generateWF.m :comments none :mkdirp yes :eval no +function [W] = generateWF(args) +% generateWF - +% +% Syntax: [W] = generateWeight(args) +% +% Inputs: +% - n - Weight Order (integer) +% - G0 - Low frequency Gain +% - G1 - High frequency Gain +% - Gc - Gain of the weight at frequency w0 +% - w0 - Frequency at which |W(j w0)| = Gc [rad/s] +% +% Outputs: +% - W - Generated Weighting Function + +%% Argument validation +arguments + args.n (1,1) double {mustBeInteger, mustBePositive} = 1 + args.G0 (1,1) double {mustBeNumeric, mustBePositive} = 0.1 + args.Ginf (1,1) double {mustBeNumeric, mustBePositive} = 10 + args.Gc (1,1) double {mustBeNumeric, mustBePositive} = 1 + args.w0 (1,1) double {mustBeNumeric, mustBePositive} = 1 +end + +% Verification of correct relation between G0, Gc and Ginf +mustBeBetween(args.G0, args.Gc, args.Ginf); + +%% Initialize the Laplace variable +s = zpk('s'); + +%% Create the weighting function according to formula +W = (((1/args.w0)*sqrt((1-(args.G0/args.Gc)^(2/args.n))/(1-(args.Gc/args.Ginf)^(2/args.n)))*s + ... + (args.G0/args.Gc)^(1/args.n))/... + ((1/args.Ginf)^(1/args.n)*(1/args.w0)*sqrt((1-(args.G0/args.Gc)^(2/args.n))/(1-(args.Gc/args.Ginf)^(2/args.n)))*s + ... + (1/args.Gc)^(1/args.n)))^args.n; + +%% Custom validation function +function mustBeBetween(a,b,c) + if ~((a > b && b > c) || (c > b && b > a)) + eid = 'createWeight:inputError'; + msg = 'Gc should be between G0 and Ginf.'; + throwAsCaller(MException(eid,msg)) + end +#+end_src + +** =generateCF=: Generate Complementary Filters + +#+begin_src matlab :tangle matlab/src/generateCF.m :comments none :mkdirp yes :eval no +function [H1, H2] = generateCF(W1, W2, args) +% generateCF - +% +% Syntax: [H1, H2] = generateCF(W1, W2, args) +% +% Inputs: +% - W1 - Weighting Function for H1 +% - W2 - Weighting Function for H2 +% - args: +% - method - H-Infinity solver ('lmi' or 'ric') +% - display - Display synthesis results ('on' or 'off') +% +% Outputs: +% - H1 - Generated H1 Filter +% - H2 - Generated H2 Filter + +%% Argument validation +arguments + W1 + W2 + args.method char {mustBeMember(args.method,{'lmi', 'ric'})} = 'ric' + args.display char {mustBeMember(args.display,{'on', 'off'})} = 'on' +end + +%% The generalized plant is defined +P = [W1 -W1; + 0 W2; + 1 0]; + +%% The standard H-infinity synthesis is performed +[H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', args.method, 'DISPLAY', args.display); + +%% H1 is defined as the complementary of H2 +H1 = 1 - H2; +#+end_src + +* Helping Functions :noexport: +** Initialize Path +#+NAME: m-init-path +#+BEGIN_SRC matlab +%% Path for functions, data and scripts +addpath('./matlab/src/'); % Path for functions +addpath('./matlab/'); % Path for scripts +#+END_SRC + +#+NAME: m-init-path-tangle +#+BEGIN_SRC matlab +%% Path for functions, data and scripts +addpath('./src/'); % Path for functions +#+END_SRC + +** Initialize other elements +#+NAME: m-init-other +#+BEGIN_SRC matlab +%% Colors for the figures +colors = colororder; + +%% Initialize Frequency Vector +freqs = logspace(-1, 3, 1000); +#+END_SRC diff --git a/nass-control.pdf b/nass-control.pdf new file mode 100644 index 0000000..7e62e93 Binary files /dev/null and b/nass-control.pdf differ diff --git a/nass-control.tex b/nass-control.tex new file mode 100644 index 0000000..e023a59 --- /dev/null +++ b/nass-control.tex @@ -0,0 +1,787 @@ +% Created 2025-04-03 Thu 15:24 +% Intended LaTeX compiler: pdflatex +\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt} + +\input{preamble.tex} +\input{preamble_extra.tex} +\bibliography{nass-control.bib} +\author{Dehaeze Thomas} +\date{\today} +\title{Control Optimization} +\usepackage{biblatex} + +\begin{document} + +\maketitle +\tableofcontents + +\clearpage +When controlling a MIMO system (specifically parallel manipulator such as the Stewart platform?) + +Several considerations: +\begin{itemize} +\item Section \ref{sec:detail_control_multiple_sensor}: How to most effectively use/combine multiple sensors +\item Section \ref{sec:detail_control_decoupling}: How to decouple a system +\item Section \ref{sec:detail_control_optimization}: How to design the controller +\end{itemize} +\chapter{Multiple Sensor Control} +\label{sec:detail_control_multiple_sensor} + +\textbf{Look at what was done in the introduction \href{file:///home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A0-nass-introduction/nass-introduction.org}{Stewart platforms: Control architecture}} + +Explain why multiple sensors are sometimes beneficial: +\begin{itemize} +\item collocated sensor that guarantee stability, but is still useful to damp modes outside the bandwidth of the controller using sensor measuring the performance objective + +\item Review for Stewart platform => Table +\href{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org}{Multi Sensor Control} +Several sensors: +\begin{itemize} +\item force sensor, inertial, strain \ldots{} +\end{itemize} +Several architectures: +\begin{itemize} +\item Sensor fusion +\item Cascaded control +\item Two sensor control +\end{itemize} +\cite{beijen14_two_sensor_contr_activ_vibrat} +\cite{yong16_high_speed_vertic_posit_stage} +\end{itemize} + +\begin{figure}[htbp] +\begin{subfigure}{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/detail_control_architecture_hac_lac.png} +\end{center} +\subcaption{\label{fig:detail_control_architecture_hac_lac} HAC-LAC} +\end{subfigure} +\begin{subfigure}{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/detail_control_architecture_two_sensor_control.png} +\end{center} +\subcaption{\label{fig:detail_control_architecture_two_sensor_control} Two Sensor Control} +\end{subfigure} + +\bigskip +\begin{subfigure}{0.95\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/detail_control_architecture_sensor_fusion.png} +\end{center} +\subcaption{\label{fig:detail_control_architecture_sensor_fusion} Sensor Fusion} +\end{subfigure} +\caption{\label{fig:detail_control_control_multiple_sensors}Different control strategies when using multiple sensors. High Authority Control / Low Authority Control (\subref{fig:detail_control_architecture_hac_lac}). Sensor Fusion (\subref{fig:detail_control_architecture_sensor_fusion}). Two-Sensor Control (\subref{fig:detail_control_architecture_two_sensor_control})} +\end{figure} + + +Cascaded control / HAC-LAC Architecture was already discussed during the conceptual phase. +This is a very comprehensive approach that proved to give good performances. + +On the other hand of the spectrum, the two sensor approach yields to more control design freedom. +But it is also more complex. + +In this section, we wish to study if sensor fusion can be an option for multi-sensor control: +\begin{itemize} +\item may be used to optimize the noise characteristics +\item optimize the dynamical uncertainty +\end{itemize} + +While there are different ways to fuse sensors: +\begin{itemize} +\item complementary filters +\item kalman filtering +\end{itemize} + +The focus is made here on complementary filters, as they give a simple frequency analysis. + + + +Measuring a physical quantity using sensors is always subject to several limitations. +First, the accuracy of the measurement is affected by several noise sources, such as electrical noise of the conditioning electronics being used. +Second, the frequency range in which the measurement is relevant is bounded by the bandwidth of the sensor. +One way to overcome these limitations is to combine several sensors using a technique called ``sensor fusion'' \cite{bendat57_optim_filter_indep_measur_two}. +Fortunately, a wide variety of sensors exists, each with different characteristics. +By carefully choosing the fused sensors, a so called ``super sensor'' is obtained that can combines benefits of the individual sensors. + +In some situations, sensor fusion is used to increase the bandwidth of the measurement \cite{shaw90_bandw_enhan_posit_measur_using_measur_accel,zimmermann92_high_bandw_orien_measur_contr,min15_compl_filter_desig_angle_estim}. +For instance, in \cite{shaw90_bandw_enhan_posit_measur_using_measur_accel} the bandwidth of a position sensor is increased by fusing it with an accelerometer providing the high frequency motion information. +For other applications, sensor fusion is used to obtain an estimate of the measured quantity with lower noise \cite{hua05_low_ligo,hua04_polyp_fir_compl_filter_contr_system,plummer06_optim_compl_filter_their_applic_motion_measur,robert12_introd_random_signal_applied_kalman}. +More recently, the fusion of sensors measuring different physical quantities has been proposed to obtain interesting properties for control \cite{collette15_sensor_fusion_method_high_perfor,yong16_high_speed_vertic_posit_stage}. +In \cite{collette15_sensor_fusion_method_high_perfor}, an inertial sensor used for active vibration isolation is fused with a sensor collocated with the actuator for improving the stability margins of the feedback controller. + +Practical applications of sensor fusion are numerous. +It is widely used for the attitude estimation of several autonomous vehicles such as unmanned aerial vehicle \cite{baerveldt97_low_cost_low_weigh_attit,corke04_inert_visual_sensin_system_small_auton_helic,jensen13_basic_uas} and underwater vehicles \cite{pascoal99_navig_system_desig_using_time,batista10_optim_posit_veloc_navig_filter_auton_vehic}. +Naturally, it is of great benefits for high performance positioning control as shown in \cite{shaw90_bandw_enhan_posit_measur_using_measur_accel,zimmermann92_high_bandw_orien_measur_contr,min15_compl_filter_desig_angle_estim,yong16_high_speed_vertic_posit_stage}. +Sensor fusion was also shown to be a key technology to improve the performance of active vibration isolation systems \cite{tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip}. +Emblematic examples are the isolation stages of gravitational wave detectors \cite{collette15_sensor_fusion_method_high_perfor,heijningen18_low} such as the ones used at the LIGO \cite{hua05_low_ligo,hua04_polyp_fir_compl_filter_contr_system} and at the Virgo \cite{lucia18_low_frequen_optim_perfor_advan}. + +There are mainly two ways to perform sensor fusion: either using a set of complementary filters \cite{anderson53_instr_approac_system_steer_comput} or using Kalman filtering \cite{brown72_integ_navig_system_kalman_filter}. +For sensor fusion applications, both methods are sharing many relationships \cite{brown72_integ_navig_system_kalman_filter,higgins75_compar_compl_kalman_filter,robert12_introd_random_signal_applied_kalman,fonseca15_compl}. +However, for Kalman filtering, assumptions must be made about the probabilistic character of the sensor noises \cite{robert12_introd_random_signal_applied_kalman} whereas it is not the case with complementary filters. +Furthermore, the advantages of complementary filters over Kalman filtering for sensor fusion are their general applicability, their low computational cost \cite{higgins75_compar_compl_kalman_filter}, and the fact that they are intuitive as their effects can be easily interpreted in the frequency domain. + +A set of filters is said to be complementary if the sum of their transfer functions is equal to one at all frequencies. +In the early days of complementary filtering, analog circuits were employed to physically realize the filters \cite{anderson53_instr_approac_system_steer_comput}. +Analog complementary filters are still used today \cite{yong16_high_speed_vertic_posit_stage,moore19_capac_instr_sensor_fusion_high_bandw_nanop}, but most of the time they are now implemented digitally as it allows for much more flexibility. + +Several design methods have been developed over the years to optimize complementary filters. +The easiest way to design complementary filters is to use analytical formulas. +Depending on the application, the formulas used are of first order \cite{corke04_inert_visual_sensin_system_small_auton_helic,yeh05_model_contr_hydraul_actuat_two,yong16_high_speed_vertic_posit_stage}, second order \cite{baerveldt97_low_cost_low_weigh_attit,stoten01_fusion_kinet_data_using_compos_filter,jensen13_basic_uas} or even higher orders \cite{shaw90_bandw_enhan_posit_measur_using_measur_accel,zimmermann92_high_bandw_orien_measur_contr,stoten01_fusion_kinet_data_using_compos_filter,collette15_sensor_fusion_method_high_perfor,matichard15_seism_isolat_advan_ligo}. + +As the characteristics of the super sensor depends on the proper design of the complementary filters \cite{dehaeze19_compl_filter_shapin_using_synth}, several optimization techniques have been developed. +Some are based on the finding of optimal parameters of analytical formulas \cite{jensen13_basic_uas,min15_compl_filter_desig_angle_estim,fonseca15_compl}, while other are using convex optimization tools \cite{hua04_polyp_fir_compl_filter_contr_system,hua05_low_ligo} such as linear matrix inequalities \cite{pascoal99_navig_system_desig_using_time}. +As shown in \cite{plummer06_optim_compl_filter_their_applic_motion_measur}, the design of complementary filters can also be linked to the standard mixed-sensitivity control problem. +Therefore, all the powerful tools developed for the classical control theory can also be used for the design of complementary filters. +For instance, in \cite{jensen13_basic_uas} the two gains of a Proportional Integral (PI) controller are optimized to minimize the noise of the super sensor. + +The common objective of all these complementary filters design methods is to obtain a super sensor that has desired characteristics, usually in terms of noise and dynamics. +Moreover, as reported in \cite{zimmermann92_high_bandw_orien_measur_contr,plummer06_optim_compl_filter_their_applic_motion_measur}, phase shifts and magnitude bumps of the super sensors dynamics can be observed if either the complementary filters are poorly designed or if the sensors are not well calibrated. +Hence, the robustness of the fusion is also of concern when designing the complementary filters. +Although many design methods of complementary filters have been proposed in the literature, no simple method that allows to specify the desired super sensor characteristic while ensuring good fusion robustness has been proposed. + +Fortunately, both the robustness of the fusion and the super sensor characteristics can be linked to the magnitude of the complementary filters \cite{dehaeze19_compl_filter_shapin_using_synth}. +Based on that, this paper introduces a new way to design complementary filters using the \(\mathcal{H}_\infty\) synthesis which allows to shape the complementary filters' magnitude in an easy and intuitive way. +\section{Sensor Fusion and Complementary Filters Requirements} +\label{sec:detail_control_sensor_fusion_requirements} +Complementary filtering provides a framework for fusing signals from different sensors. +As the effectiveness of the fusion depends on the proper design of the complementary filters, they are expected to fulfill certain requirements. +These requirements are discussed in this section. +\subsection{Sensor Fusion Architecture} +\label{sec:detail_control_sensor_fusion} + +A general sensor fusion architecture using complementary filters is shown in Fig. \ref{fig:detail_control_sensor_fusion_overview} where several sensors (here two) are measuring the same physical quantity \(x\). +The two sensors output signals \(\hat{x}_1\) and \(\hat{x}_2\) are estimates of \(x\). +These estimates are then filtered out by complementary filters and combined to form a new estimate \(\hat{x}\). + +The resulting sensor, termed as super sensor, can have larger bandwidth and better noise characteristics in comparison to the individual sensors. +This means that the super sensor provides an estimate \(\hat{x}\) of \(x\) which can be more accurate over a larger frequency band than the outputs of the individual sensors. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/detail_control_sensor_fusion_overview.png} +\caption{\label{fig:detail_control_sensor_fusion_overview}Schematic of a sensor fusion architecture using complementary filters.} +\end{figure} + +The complementary property of filters \(H_1(s)\) and \(H_2(s)\) implies that the sum of their transfer functions is equal to one. +That is, unity magnitude and zero phase at all frequencies. +Therefore, a pair of complementary filter needs to satisfy the following condition: + +\begin{equation}\label{eq:detail_control_comp_filter} + H_1(s) + H_2(s) = 1 +\end{equation} + +It will soon become clear why the complementary property is important for the sensor fusion architecture. +\subsection{Sensor Models and Sensor Normalization} +\label{sec:detail_control_sensor_models} + +In order to study such sensor fusion architecture, a model for the sensors is required. +Such model is shown in Fig. \ref{fig:detail_control_sensor_model} and consists of a linear time invariant (LTI) system \(G_i(s)\) representing the sensor dynamics and an input \(n_i\) representing the sensor noise. +The model input \(x\) is the measured physical quantity and its output \(\tilde{x}_i\) is the ``raw'' output of the sensor. + +Before filtering the sensor outputs \(\tilde{x}_i\) by the complementary filters, the sensors are usually normalized to simplify the fusion. +This normalization consists of using an estimate \(\hat{G}_i(s)\) of the sensor dynamics \(G_i(s)\), and filtering the sensor output by the inverse of this estimate \(\hat{G}_i^{-1}(s)\) as shown in Fig. \ref{fig:detail_control_sensor_model_calibrated}. +It is here supposed that the sensor inverse \(\hat{G}_i^{-1}(s)\) is proper and stable. +This way, the units of the estimates \(\hat{x}_i\) are equal to the units of the physical quantity \(x\). +The sensor dynamics estimate \(\hat{G}_i(s)\) can be a simple gain or a more complex transfer function. + +\begin{figure}[htbp] +\begin{subfigure}{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/detail_control_sensor_model.png} +\end{center} +\subcaption{\label{fig:detail_control_sensor_model}Basic sensor model consisting of a noise input $n_i$ and a linear time invariant transfer function $G_i(s)$} +\end{subfigure} +\begin{subfigure}{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/detail_control_sensor_model_calibrated.png} +\end{center} +\subcaption{\label{fig:detail_control_sensor_model_calibrated}Normalized sensors using the inverse of an estimate $\hat{G}} +\end{subfigure} +\caption{\label{fig:detail_control_sensor_models}Sensor models with and without normalization.} +\end{figure} + +Two normalized sensors are then combined to form a super sensor as shown in Fig. \ref{fig:detail_control_fusion_super_sensor}. +The two sensors are measuring the same physical quantity \(x\) with dynamics \(G_1(s)\) and \(G_2(s)\), and with \emph{uncorrelated} noises \(n_1\) and \(n_2\). +The signals from both normalized sensors are fed into two complementary filters \(H_1(s)\) and \(H_2(s)\) and then combined to yield an estimate \(\hat{x}\) of \(x\). + +The super sensor output is therefore equal to: + +\begin{equation}\label{eq:detail_control_comp_filter_estimate} + \hat{x} = \Big( H_1(s) \hat{G}_1^{-1}(s) G_1(s) + H_2(s) \hat{G}_2^{-1}(s) G_2(s) \Big) x + H_1(s) \hat{G}_1^{-1}(s) G_1(s) n_1 + H_2(s) \hat{G}_2^{-1}(s) G_2(s) n_2 +\end{equation} + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/detail_control_fusion_super_sensor.png} +\caption{\label{fig:detail_control_fusion_super_sensor}Sensor fusion architecture with two normalized sensors.} +\end{figure} +\subsection{Noise Sensor Filtering} +\label{sec:detail_control_noise_filtering} + +In this section, it is supposed that all the sensors are perfectly normalized, such that: + +\begin{equation}\label{eq:detail_control_perfect_dynamics} + \frac{\hat{x}_i}{x} = \hat{G}_i(s) G_i(s) = 1 +\end{equation} + +The effect of a non-perfect normalization will be discussed in the next section. + +Provided \eqref{eq:detail_control_perfect_dynamics} is verified, the super sensor output \(\hat{x}\) is then equal to: + +\begin{equation}\label{eq:detail_control_estimate_perfect_dyn} + \hat{x} = x + H_1(s) n_1 + H_2(s) n_2 +\end{equation} + +From \eqref{eq:detail_control_estimate_perfect_dyn}, the complementary filters \(H_1(s)\) and \(H_2(s)\) are shown to only operate on the noise of the sensors. +Thus, this sensor fusion architecture permits to filter the noise of both sensors without introducing any distortion in the physical quantity to be measured. +This is why the two filters must be complementary. + +The estimation error \(\delta x\), defined as the difference between the sensor output \(\hat{x}\) and the measured quantity \(x\), is computed for the super sensor \eqref{eq:detail_control_estimate_error}. + +\begin{equation}\label{eq:detail_control_estimate_error} + \delta x \triangleq \hat{x} - x = H_1(s) n_1 + H_2(s) n_2 +\end{equation} + +As shown in \eqref{eq:detail_control_noise_filtering_psd}, the Power Spectral Density (PSD) of the estimation error \(\Phi_{\delta x}\) depends both on the norm of the two complementary filters and on the PSD of the noise sources \(\Phi_{n_1}\) and \(\Phi_{n_2}\). + +\begin{equation}\label{eq:detail_control_noise_filtering_psd} + \Phi_{\delta x}(\omega) = \left|H_1(j\omega)\right|^2 \Phi_{n_1}(\omega) + \left|H_2(j\omega)\right|^2 \Phi_{n_2}(\omega) +\end{equation} + +If the two sensors have identical noise characteristics, \(\Phi_{n_1}(\omega) = \Phi_{n_2}(\omega)\), a simple averaging (\(H_1(s) = H_2(s) = 0.5\)) is what would minimize the super sensor noise. +This is the simplest form of sensor fusion with complementary filters. + +However, the two sensors have usually high noise levels over distinct frequency regions. +In such case, to lower the noise of the super sensor, the norm \(|H_1(j\omega)|\) has to be small when \(\Phi_{n_1}(\omega)\) is larger than \(\Phi_{n_2}(\omega)\) and the norm \(|H_2(j\omega)|\) has to be small when \(\Phi_{n_2}(\omega)\) is larger than \(\Phi_{n_1}(\omega)\). +Hence, by properly shaping the norm of the complementary filters, it is possible to reduce the noise of the super sensor. +\subsection{Sensor Fusion Robustness} +\label{sec:detail_control_fusion_robustness} + +In practical systems the sensor normalization is not perfect and condition \eqref{eq:detail_control_perfect_dynamics} is not verified. + +In order to study such imperfection, a multiplicative input uncertainty is added to the sensor dynamics (Fig. \ref{fig:detail_control_sensor_model_uncertainty}). +The nominal model is the estimated model used for the normalization \(\hat{G}_i(s)\), \(\Delta_i(s)\) is any stable transfer function satisfying \(|\Delta_i(j\omega)| \le 1,\ \forall\omega\), and \(w_i(s)\) is a weighting transfer function representing the magnitude of the uncertainty. + +The weight \(w_i(s)\) is chosen such that the real sensor dynamics \(G_i(j\omega)\) is contained in the uncertain region represented by a circle in the complex plane, centered on \(1\) and with a radius equal to \(|w_i(j\omega)|\). + +As the nominal sensor dynamics is taken as the normalized filter, the normalized sensor can be further simplified as shown in Fig. \ref{fig:detail_control_sensor_model_uncertainty_simplified}. + +\begin{figure}[htbp] +\begin{subfigure}{0.58\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_control_sensor_model_uncertainty.png} +\end{center} +\subcaption{\label{fig:detail_control_sensor_model_uncertainty}Sensor with multiplicative input uncertainty} +\end{subfigure} +\begin{subfigure}{0.38\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_control_sensor_model_uncertainty_simplified.png} +\end{center} +\subcaption{\label{fig:detail_control_sensor_model_uncertainty_simplified}Simplified sensor model} +\end{subfigure} +\caption{\label{fig:detail_control_sensor_models_uncertainty}Sensor models with dynamical uncertainty} +\end{figure} + +The sensor fusion architecture with the sensor models including dynamical uncertainty is shown in Fig. \ref{fig:detail_control_sensor_fusion_dynamic_uncertainty}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/detail_control_sensor_fusion_dynamic_uncertainty.png} +\caption{\label{fig:detail_control_sensor_fusion_dynamic_uncertainty}Sensor fusion architecture with sensor dynamics uncertainty} +\end{figure} + + +The super sensor dynamics \eqref{eq:detail_control_super_sensor_dyn_uncertainty} is no longer equal to \(1\) and now depends on the sensor dynamical uncertainty weights \(w_i(s)\) as well as on the complementary filters \(H_i(s)\). + +\begin{equation}\label{eq:detail_control_super_sensor_dyn_uncertainty} + \frac{\hat{x}}{x} = 1 + w_1(s) H_1(s) \Delta_1(s) + w_2(s) H_2(s) \Delta_2(s) +\end{equation} + +The dynamical uncertainty of the super sensor can be graphically represented in the complex plane by a circle centered on \(1\) with a radius equal to \(|w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)|\) (Fig. \ref{fig:detail_control_uncertainty_set_super_sensor}). + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/detail_control_uncertainty_set_super_sensor.png} +\caption{\label{fig:detail_control_uncertainty_set_super_sensor}Uncertainty region of the super sensor dynamics in the complex plane (grey circle). The contribution of both sensors 1 and 2 to the total uncertainty are represented respectively by a blue circle and a red circle. The frequency dependency \(\omega\) is here omitted.} +\end{figure} + +The super sensor dynamical uncertainty, and hence the robustness of the fusion, clearly depends on the complementary filters' norm. +For instance, the phase \(\Delta\phi(\omega)\) added by the super sensor dynamics at frequency \(\omega\) is bounded by \(\Delta\phi_{\text{max}}(\omega)\) which can be found by drawing a tangent from the origin to the uncertainty circle of the super sensor (Fig. \ref{fig:detail_control_uncertainty_set_super_sensor}) and that is mathematically described by \eqref{eq:detail_control_max_phase_uncertainty}. + +\begin{equation}\label{eq:detail_control_max_phase_uncertainty} + \Delta\phi_\text{max}(\omega) = \arcsin\big( |w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)| \big) +\end{equation} + +As it is generally desired to limit the maximum phase added by the super sensor, \(H_1(s)\) and \(H_2(s)\) should be designed such that \(\Delta \phi\) is bounded to acceptable values. +Typically, the norm of the complementary filter \(|H_i(j\omega)|\) should be made small when \(|w_i(j\omega)|\) is large, i.e., at frequencies where the sensor dynamics is uncertain. +\section{Complementary Filters Shaping} +\label{sec:detail_control_hinf_method} +As shown in Section \ref{sec:detail_control_sensor_fusion_requirements}, the noise and robustness of the super sensor are a function of the complementary filters' norm. +Therefore, a synthesis method of complementary filters that allows to shape their norm would be of great use. +In this section, such synthesis is proposed by writing the synthesis objective as a standard \(\mathcal{H}_\infty\) optimization problem. +As weighting functions are used to represent the wanted complementary filters' shape during the synthesis, their proper design is discussed. +Finally, the synthesis method is validated on an simple example. +\subsection{Synthesis Objective} +\label{sec:detail_control_synthesis_objective} + +The synthesis objective is to shape the norm of two filters \(H_1(s)\) and \(H_2(s)\) while ensuring their complementary property \eqref{eq:detail_control_comp_filter}. +This is equivalent as to finding proper and stable transfer functions \(H_1(s)\) and \(H_2(s)\) such that conditions \eqref{eq:detail_control_hinf_cond_complementarity}, \eqref{eq:detail_control_hinf_cond_h1} and \eqref{eq:detail_control_hinf_cond_h2} are satisfied. + +\begin{subequations}\label{eq:detail_control_comp_filter_problem_form} + \begin{align} + & H_1(s) + H_2(s) = 1 \label{eq:detail_control_hinf_cond_complementarity} \\ + & |H_1(j\omega)| \le \frac{1}{|W_1(j\omega)|} \quad \forall\omega \label{eq:detail_control_hinf_cond_h1} \\ + & |H_2(j\omega)| \le \frac{1}{|W_2(j\omega)|} \quad \forall\omega \label{eq:detail_control_hinf_cond_h2} + \end{align} +\end{subequations} + +\(W_1(s)\) and \(W_2(s)\) are two weighting transfer functions that are carefully chosen to specify the maximum wanted norm of the complementary filters during the synthesis. +\subsection{Shaping of Complementary Filters using \(\mathcal{H}_\infty\) synthesis} +\label{sec:detail_control_hinf_synthesis} + +In this section, it is shown that the synthesis objective can be easily expressed as a standard \(\mathcal{H}_\infty\) optimization problem and therefore solved using convenient tools readily available. + +Consider the generalized plant \(P(s)\) shown in Fig. \ref{fig:detail_control_h_infinity_robust_fusion_plant} and mathematically described by \eqref{eq:detail_control_generalized_plant}. + +\begin{equation}\label{eq:detail_control_generalized_plant} + \begin{bmatrix} z_1 \\ z_2 \\ v \end{bmatrix} = P(s) \begin{bmatrix} w\\u \end{bmatrix}; \quad P(s) = \begin{bmatrix}W_1(s) & -W_1(s) \\ 0 & \phantom{+}W_2(s) \\ 1 & 0 \end{bmatrix} +\end{equation} + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/detail_control_h_infinity_robust_fusion_plant.png} +\end{center} +\subcaption{\label{fig:detail_control_h_infinity_robust_fusion_plant}Generalized plant} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/detail_control_h_infinity_robust_fusion_fb.png} +\end{center} +\subcaption{\label{fig:detail_control_h_infinity_robust_fusion_fb}Generalized plant with the synthesized filter} +\end{subfigure} +\caption{\label{fig:detail_control_h_infinity_robust_fusion}Architecture for the \(\mathcal{H}_\infty\) synthesis of complementary filters} +\end{figure} + +Applying the standard \(\mathcal{H}_\infty\) synthesis to the generalized plant \(P(s)\) is then equivalent as finding a stable filter \(H_2(s)\) which based on \(v\), generates a signal \(u\) such that the \(\mathcal{H}_\infty\) norm of the system in Fig. \ref{fig:detail_control_h_infinity_robust_fusion_fb} from \(w\) to \([z_1, \ z_2]\) is less than one \eqref{eq:detail_control_hinf_syn_obj}. + +\begin{equation}\label{eq:detail_control_hinf_syn_obj} + \left\|\begin{matrix} \left(1 - H_2(s)\right) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1 +\end{equation} + +By then defining \(H_1(s)\) to be the complementary of \(H_2(s)\) \eqref{eq:detail_control_definition_H1}, the \(\mathcal{H}_\infty\) synthesis objective becomes equivalent to \eqref{eq:detail_control_hinf_problem} which ensures that \eqref{eq:detail_control_hinf_cond_h1} and \eqref{eq:detail_control_hinf_cond_h2} are satisfied. + +\begin{equation}\label{eq:detail_control_definition_H1} + H_1(s) \triangleq 1 - H_2(s) +\end{equation} + +\begin{equation}\label{eq:detail_control_hinf_problem} + \left\|\begin{matrix} H_1(s) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1 +\end{equation} + +Therefore, applying the \(\mathcal{H}_\infty\) synthesis to the standard plant \(P(s)\) \eqref{eq:detail_control_generalized_plant} will generate two filters \(H_2(s)\) and \(H_1(s) \triangleq 1 - H_2(s)\) that are complementary \eqref{eq:detail_control_comp_filter_problem_form} and such that there norms are bellow specified bounds \eqref{eq:detail_control_hinf_cond_h1}, \eqref{eq:detail_control_hinf_cond_h2}. + +Note that there is only an implication between the \(\mathcal{H}_\infty\) norm condition \eqref{eq:detail_control_hinf_problem} and the initial synthesis objectives \eqref{eq:detail_control_hinf_cond_h1} and \eqref{eq:detail_control_hinf_cond_h2} and not an equivalence. +Hence, the optimization may be a little bit conservative with respect to the set of filters on which it is performed, see \cite[Chap. 2.8.3]{skogestad07_multiv_feedb_contr}. +In practice, this is however not an found to be an issue. +\subsection{Weighting Functions Design} +\label{sec:detail_control_hinf_weighting_func} + +Weighting functions are used during the synthesis to specify the maximum allowed complementary filters' norm. +The proper design of these weighting functions is of primary importance for the success of the presented \(\mathcal{H}_\infty\) synthesis of complementary filters. + +First, only proper and stable transfer functions should be used. +Second, the order of the weighting functions should stay reasonably small in order to reduce the computational costs associated with the solving of the optimization problem and for the physical implementation of the filters (the synthesized filters' order being equal to the sum of the weighting functions' order). +Third, one should not forget the fundamental limitations imposed by the complementary property \eqref{eq:detail_control_comp_filter}. +This implies for instance that \(|H_1(j\omega)|\) and \(|H_2(j\omega)|\) cannot be made small at the same frequency. + +When designing complementary filters, it is usually desired to specify their slopes, their ``blending'' frequency and their maximum gains at low and high frequency. +To easily express these specifications, formula \eqref{eq:detail_control_weight_formula} is proposed to help with the design of weighting functions. + +\begin{equation}\label{eq:detail_control_weight_formula} + W(s) = \left( \frac{ + \hfill{} \frac{1}{\omega_c} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{G_0}{G_c}\right)^{\frac{1}{n}} + }{ + \left(\frac{1}{G_\infty}\right)^{\frac{1}{n}} \frac{1}{\omega_c} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{1}{G_c}\right)^{\frac{1}{n}} + }\right)^n +\end{equation} + +The parameters in formula \eqref{eq:detail_control_weight_formula} are: +\begin{itemize} +\item \(G_0 = \lim_{\omega \to 0} |W(j\omega)|\): the low frequency gain +\item \(G_\infty = \lim_{\omega \to \infty} |W(j\omega)|\): the high frequency gain +\item \(G_c = |W(j\omega_c)|\): the gain at a specific frequency \(\omega_c\) in \(\si{rad/s}\). +\item \(n\): the slope between high and low frequency. It also corresponds to the order of the weighting function. +\end{itemize} + +The parameters \(G_0\), \(G_c\) and \(G_\infty\) should either satisfy \eqref{eq:detail_control_cond_formula_1} or \eqref{eq:detail_control_cond_formula_2}. + +\begin{subequations}\label{eq:detail_control_condition_params_formula} + \begin{align} + G_0 < 1 < G_\infty \text{ and } G_0 < G_c < G_\infty \label{eq:detail_control_cond_formula_1}\\ + G_\infty < 1 < G_0 \text{ and } G_\infty < G_c < G_0 \label{eq:detail_control_cond_formula_2} + \end{align} +\end{subequations} + +The typical magnitude of a weighting function generated using \eqref{eq:detail_control_weight_formula} is shown in Fig. \ref{fig:detail_control_weight_formula}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/detail_control_weight_formula.png} +\caption{\label{fig:detail_control_weight_formula}Magnitude of a weighting function generated using formula \eqref{eq:detail_control_weight_formula}, \(G_0 = 1e^{-3}\), \(G_\infty = 10\), \(\omega_c = \SI{10}{Hz}\), \(G_c = 2\), \(n = 3\).} +\end{figure} +\subsection{Validation of the proposed synthesis method} +\label{sec:detail_control_hinf_example} + +The proposed methodology for the design of complementary filters is now applied on a simple example. +Let's suppose two complementary filters \(H_1(s)\) and \(H_2(s)\) have to be designed such that: +\begin{itemize} +\item the blending frequency is around \(\SI{10}{Hz}\). +\item the slope of \(|H_1(j\omega)|\) is \(+2\) below \(\SI{10}{Hz}\). +Its low frequency gain is \(10^{-3}\). +\item the slope of \(|H_2(j\omega)|\) is \(-3\) above \(\SI{10}{Hz}\). +Its high frequency gain is \(10^{-3}\). +\end{itemize} + +The first step is to translate the above requirements by properly designing the weighting functions. +The proposed formula \eqref{eq:detail_control_weight_formula} is here used for such purpose. +Parameters used are summarized in Table \ref{tab:detail_control_weights_params}. +The inverse magnitudes of the designed weighting functions, which are representing the maximum allowed norms of the complementary filters, are shown by the dashed lines in Fig. \ref{fig:detail_control_weights_W1_W2}. + +\begin{minipage}[b]{0.44\linewidth} +\begin{center} +\begin{tabularx}{0.7\linewidth}{ccc} +\toprule +Parameter & \(W_1(s)\) & \(W_2(s)\)\\ +\midrule +\(G_0\) & \(0.1\) & \(1000\)\\ +\(G_{\infty}\) & \(1000\) & \(0.1\)\\ +\(\omega_c\) & \(2 \pi \cdot 10\) & \(2 \pi \cdot 10\)\\ +\(G_c\) & \(0.45\) & \(0.45\)\\ +\(n\) & \(2\) & \(3\)\\ +\bottomrule +\end{tabularx} +\end{center} +\captionof{table}{\label{tab:detail_control_weights_params}Parameters for \(W_1(s)\) and \(W_2(s)\)} +\end{minipage} +\hfill +\begin{minipage}[b]{0.52\linewidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/detail_control_weights_W1_W2.png} +\captionof{figure}{\label{fig:detail_control_weights_W1_W2}Inverse magnitude of the weights} +\end{center} +\end{minipage} + +The standard \(\mathcal{H}_\infty\) synthesis is then applied to the generalized plant of Fig. \ref{fig:detail_control_h_infinity_robust_fusion_plant}. +The filter \(H_2(s)\) that minimizes the \(\mathcal{H}_\infty\) norm between \(w\) and \([z_1,\ z_2]^T\) is obtained. +The \(\mathcal{H}_\infty\) norm is here found to be close to one \eqref{eq:detail_control_hinf_synthesis_result} which indicates that the synthesis is successful: the complementary filters norms are below the maximum specified upper bounds. +This is confirmed by the bode plots of the obtained complementary filters in Fig. \ref{fig:detail_control_hinf_filters_results}. + +\begin{equation}\label{eq:detail_control_hinf_synthesis_result} + \left\|\begin{matrix} \left(1 - H_2(s)\right) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \approx 1 +\end{equation} + +The transfer functions in the Laplace domain of the complementary filters are given in \eqref{eq:detail_control_hinf_synthesis_result_tf}. +As expected, the obtained filters are of order \(5\), that is the sum of the weighting functions' order. + +\begin{subequations}\label{eq:detail_control_hinf_synthesis_result_tf} + \begin{align} + H_2(s) &= \frac{(s+6.6e^4) (s+160) (s+4)^3}{(s+6.6e^4) (s^2 + 106 s + 3e^3) (s^2 + 72s + 3580)} \\ + H_1(s) &\triangleq H_2(s) - 1 = \frac{10^{-8} (s+6.6e^9) (s+3450)^2 (s^2 + 49s + 895)}{(s+6.6e^4) (s^2 + 106 s + 3e^3) (s^2 + 72s + 3580)} + \end{align} +\end{subequations} + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/detail_control_hinf_filters_results.png} +\caption{\label{fig:detail_control_hinf_filters_results}Bode plot of the obtained complementary filters} +\end{figure} + +This simple example illustrates the fact that the proposed methodology for complementary filters shaping is easy to use and effective. +A more complex real life example is taken up in the next section. +\section{``Closed-Loop'' complementary filters} +\label{sec:detail_control_closed_loop_complementary_filters} + +An alternative way to implement complementary filters is by using a fundamental property of the classical feedback architecture shown in Fig. \ref{fig:detail_control_feedback_sensor_fusion}. +This idea is discussed in \cite{mahony05_compl_filter_desig_special_orthog,plummer06_optim_compl_filter_their_applic_motion_measur,jensen13_basic_uas}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/detail_control_feedback_sensor_fusion.png} +\caption{\label{fig:detail_control_feedback_sensor_fusion}``Closed-Loop'' complementary filters.} +\end{figure} + +Consider the feedback architecture of Fig. \ref{fig:detail_control_feedback_sensor_fusion}, with two inputs \(\hat{x}_1\) and \(\hat{x}_2\), and one output \(\hat{x}\). +The output \(\hat{x}\) is linked to the inputs by \eqref{eq:detail_control_closed_loop_complementary_filters}. + +\begin{equation}\label{eq:detail_control_closed_loop_complementary_filters} +\hat{x} = \underbrace{\frac{1}{1 + L(s)}}_{S(s)} \hat{x}_1 + \underbrace{\frac{L(s)}{1 + L(s)}}_{T(s)} \hat{x}_2 +\end{equation} + +As for any classical feedback architecture, we have that the sum of the sensitivity transfer function \(S(s)\) and complementary sensitivity transfer function \(T_(s)\) is equal to one \eqref{eq:detail_control_sensitivity_sum}. + +\begin{equation}\label{eq:detail_control_sensitivity_sum} +S(s) + T(s) = 1 +\end{equation} + +Therefore, provided that the the closed-loop system in Fig. \ref{fig:detail_control_feedback_sensor_fusion} is stable, it can be used as a set of two complementary filters. +Two sensors can then be merged as shown in Fig. \ref{fig:detail_control_feedback_sensor_fusion_arch}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/detail_control_feedback_sensor_fusion_arch.png} +\caption{\label{fig:detail_control_feedback_sensor_fusion_arch}Classical feedback architecture used for sensor fusion.} +\end{figure} + +One of the main advantage of implementing and designing complementary filters using the feedback architecture of Fig. \ref{fig:detail_control_feedback_sensor_fusion} is that all the tools of the linear control theory can be applied for the design of the filters. +If one want to shape both \(\frac{\hat{x}}{\hat{x}_1}(s) = S(s)\) and \(\frac{\hat{x}}{\hat{x}_2}(s) = T(s)\), the \(\mathcal{H}_\infty\) mixed-sensitivity synthesis can be easily applied. + +To do so, weighting functions \(W_1(s)\) and \(W_2(s)\) are added to respectively shape \(S(s)\) and \(T(s)\) (Fig. \ref{fig:detail_control_feedback_synthesis_architecture}). +Then the system is rearranged to form the generalized plant \(P_L(s)\) shown in Fig. \ref{fig:detail_control_feedback_synthesis_architecture_generalized_plant}. +The \(\mathcal{H}_\infty\) mixed-sensitivity synthesis can finally be performed by applying the standard \(\mathcal{H}_\infty\) synthesis to the generalized plant \(P_L(s)\) which is described by \eqref{eq:detail_control_generalized_plant_mixed_sensitivity}. + +\begin{equation}\label{eq:detail_control_generalized_plant_mixed_sensitivity} + \begin{bmatrix} z \\ v \end{bmatrix} = P_L(s) \begin{bmatrix} w_1 \\ w_2 \\ u \end{bmatrix}; \quad P_L(s) = \begin{bmatrix} + \phantom{+}W_1(s) & 0 & \phantom{+}1 \\ + -W_1(s) & W_2(s) & -1 + \end{bmatrix} +\end{equation} + +The output of the synthesis is a filter \(L(s)\) such that the ``closed-loop'' \(\mathcal{H}_\infty\) norm from \([w_1,\ w_2]\) to \(z\) of the system in Fig. \ref{fig:detail_control_feedback_sensor_fusion} is less than one \eqref{eq:detail_control_comp_filters_feedback_obj}. + +\begin{equation}\label{eq:detail_control_comp_filters_feedback_obj} + \left\| \begin{matrix} \frac{z}{w_1} \\ \frac{z}{w_2} \end{matrix} \right\|_\infty = \left\| \begin{matrix} \frac{1}{1 + L(s)} W_1(s) \\ \frac{L(s)}{1 + L(s)} W_2(s) \end{matrix} \right\|_\infty \le 1 +\end{equation} + +If the synthesis is successful, the transfer functions from \(\hat{x}_1\) to \(\hat{x}\) and from \(\hat{x}_2\) to \(\hat{x}\) have their magnitude bounded by the inverse magnitude of the corresponding weighting functions. +The sensor fusion can then be implemented using the feedback architecture in Fig. \ref{fig:detail_control_feedback_sensor_fusion_arch} or more classically as shown in Fig. \ref{fig:detail_control_sensor_fusion_overview} by defining the two complementary filters using \eqref{eq:detail_control_comp_filters_feedback}. +The two architectures are equivalent regarding their inputs/outputs relationships. + +\begin{equation}\label{eq:detail_control_comp_filters_feedback} + H_1(s) = \frac{1}{1 + L(s)}; \quad H_2(s) = \frac{L(s)}{1 + L(s)} +\end{equation} + +\begin{figure}[htbp] +\begin{subfigure}{0.58\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/detail_control_feedback_synthesis_architecture.png} +\end{center} +\subcaption{\label{fig:detail_control_feedback_synthesis_architecture}Feedback architecture with included weights} +\end{subfigure} +\begin{subfigure}{0.38\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/detail_control_feedback_synthesis_architecture_generalized_plant.png} +\end{center} +\subcaption{\label{fig:detail_control_feedback_synthesis_architecture_generalized_plant}Generalized plant} +\end{subfigure} +\caption{\label{fig:detail_control_h_inf_mixed_sensitivity_synthesis}\(\mathcal{H}_\infty\) mixed-sensitivity synthesis} +\end{figure} + +As an example, two ``closed-loop'' complementary filters are designed using the \(\mathcal{H}_\infty\) mixed-sensitivity synthesis. +The weighting functions are designed using formula \eqref{eq:detail_control_weight_formula} with parameters shown in Table \ref{tab:detail_control_weights_params}. +After synthesis, a filter \(L(s)\) is obtained whose magnitude is shown in Fig. \ref{fig:detail_control_hinf_filters_results_mixed_sensitivity} by the black dashed line. +The ``closed-loop'' complementary filters are compared with the inverse magnitude of the weighting functions in Fig. \ref{fig:detail_control_hinf_filters_results_mixed_sensitivity} confirming that the synthesis is successful. +The obtained ``closed-loop'' complementary filters are indeed equal to the ones obtained in Section \ref{sec:detail_control_hinf_example}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/detail_control_hinf_filters_results_mixed_sensitivity.png} +\caption{\label{fig:detail_control_hinf_filters_results_mixed_sensitivity}Bode plot of the obtained complementary filters after \(\mathcal{H}_\infty\) mixed-sensitivity synthesis} +\end{figure} +\section{Synthesis of a set of three complementary filters} +\label{sec:detail_control_hinf_three_comp_filters} + +Some applications may require to merge more than two sensors \cite{stoten01_fusion_kinet_data_using_compos_filter,fonseca15_compl}. +For instance at the LIGO, three sensors (an LVDT, a seismometer and a geophone) are merged to form a super sensor \cite{matichard15_seism_isolat_advan_ligo}. + +When merging \(n>2\) sensors using complementary filters, two architectures can be used as shown in Fig. \ref{fig:detail_control_sensor_fusion_three}. +The fusion can either be done in a ``sequential'' way where \(n-1\) sets of two complementary filters are used (Fig. \ref{fig:detail_control_sensor_fusion_three_sequential}), or in a ``parallel'' way where one set of \(n\) complementary filters is used (Fig. \ref{fig:detail_control_sensor_fusion_three_parallel}). + +In the first case, typical sensor fusion synthesis techniques can be used. +However, when a parallel architecture is used, a new synthesis method for a set of more than two complementary filters is required as only simple analytical formulas have been proposed in the literature \cite{stoten01_fusion_kinet_data_using_compos_filter,fonseca15_compl}. +A generalization of the proposed synthesis method of complementary filters is presented in this section. + +\begin{figure}[htbp] +\begin{subfigure}{0.58\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.9]{figs/detail_control_sensor_fusion_three_sequential.png} +\end{center} +\subcaption{\label{fig:detail_control_sensor_fusion_three_sequential}Sequential fusion} +\end{subfigure} +\begin{subfigure}{0.38\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.9]{figs/detail_control_sensor_fusion_three_parallel.png} +\end{center} +\subcaption{\label{fig:detail_control_sensor_fusion_three_parallel}Parallel fusion} +\end{subfigure} +\caption{\label{fig:detail_control_sensor_fusion_three}Possible sensor fusion architecture when more than two sensors are to be merged} +\end{figure} + +The synthesis objective is to compute a set of \(n\) stable transfer functions \([H_1(s),\ H_2(s),\ \dots,\ H_n(s)]\) such that conditions \eqref{eq:detail_control_hinf_cond_compl_gen} and \eqref{eq:detail_control_hinf_cond_perf_gen} are satisfied. + +\begin{subequations}\label{eq:detail_control_hinf_problem_gen} + \begin{align} + & \sum_{i=1}^n H_i(s) = 1 \label{eq:detail_control_hinf_cond_compl_gen} \\ + & \left| H_i(j\omega) \right| < \frac{1}{\left| W_i(j\omega) \right|}, \quad \forall \omega,\ i = 1 \dots n \label{eq:detail_control_hinf_cond_perf_gen} + \end{align} +\end{subequations} + +\([W_1(s),\ W_2(s),\ \dots,\ W_n(s)]\) are weighting transfer functions that are chosen to specify the maximum complementary filters' norm during the synthesis. + +Such synthesis objective is closely related to the one described in Section \ref{sec:detail_control_synthesis_objective}, and indeed the proposed synthesis method is a generalization of the one presented in Section \ref{sec:detail_control_hinf_synthesis}. + +A set of \(n\) complementary filters can be shaped by applying the standard \(\mathcal{H}_\infty\) synthesis to the generalized plant \(P_n(s)\) described by \eqref{eq:detail_control_generalized_plant_n_filters}. + +\begin{equation}\label{eq:detail_control_generalized_plant_n_filters} + \begin{bmatrix} z_1 \\ \vdots \\ z_n \\ v \end{bmatrix} = P_n(s) \begin{bmatrix} w \\ u_1 \\ \vdots \\ u_{n-1} \end{bmatrix}; \quad + P_n(s) = \begin{bmatrix} + W_1 & -W_1 & \dots & \dots & -W_1 \\ + 0 & W_2 & 0 & \dots & 0 \\ + \vdots & \ddots & \ddots & \ddots & \vdots \\ + \vdots & & \ddots & \ddots & 0 \\ + 0 & \dots & \dots & 0 & W_n \\ + 1 & 0 & \dots & \dots & 0 + \end{bmatrix} +\end{equation} + +If the synthesis if successful, a set of \(n-1\) filters \([H_2(s),\ H_3(s),\ \dots,\ H_n(s)]\) are obtained such that \eqref{eq:detail_control_hinf_syn_obj_gen} is verified. + +\begin{equation}\label{eq:detail_control_hinf_syn_obj_gen} + \left\|\begin{matrix} \left(1 - \left[ H_2(s) + H_3(s) + \dots + H_n(s) \right]\right) W_1(s) \\ H_2(s) W_2(s) \\ \vdots \\ H_n(s) W_n(s) \end{matrix}\right\|_\infty \le 1 +\end{equation} + +\(H_1(s)\) is then defined using \eqref{eq:detail_control_h1_comp_h2_hn} which is ensuring the complementary property for the set of \(n\) filters \eqref{eq:detail_control_hinf_cond_compl_gen}. +Condition \eqref{eq:detail_control_hinf_cond_perf_gen} is satisfied thanks to \eqref{eq:detail_control_hinf_syn_obj_gen}. + +\begin{equation}\label{eq:detail_control_h1_comp_h2_hn} + H_1(s) \triangleq 1 - \big[ H_2(s) + H_3(s) + \dots + H_n(s) \big] +\end{equation} + +An example is given to validate the proposed method for the synthesis of a set of three complementary filters. +The sensors to be merged are a displacement sensor from DC up to \(\SI{1}{Hz}\), a geophone from \(1\) to \(\SI{10}{Hz}\) and an accelerometer above \(\SI{10}{Hz}\). +Three weighting functions are designed using formula \eqref{eq:detail_control_weight_formula} and their inverse magnitude are shown in Fig. \ref{fig:detail_control_three_complementary_filters_results} (dashed curves). + +Consider the generalized plant \(P_3(s)\) shown in Fig. \ref{fig:detail_control_comp_filter_three_hinf_gen_plant} which is also described by \eqref{eq:detail_control_generalized_plant_three_filters}. + +\begin{equation}\label{eq:detail_control_generalized_plant_three_filters} + \begin{bmatrix} z_1 \\ z_2 \\ z_3 \\ v \end{bmatrix} = P_3(s) \begin{bmatrix} w \\ u_1 \\ u_2 \end{bmatrix}; \quad P_3(s) = \begin{bmatrix}W_1(s) & -W_1(s) & -W_1(s) \\ 0 & \phantom{+}W_2(s) & 0 \\ 0 & 0 & \phantom{+}W_3(s) \\ 1 & 0 & 0 \end{bmatrix} +\end{equation} + + +\begin{figure}[htbp] +\begin{subfigure}{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/detail_control_comp_filter_three_hinf_gen_plant.png} +\end{center} +\subcaption{\label{fig:detail_control_comp_filter_three_hinf_gen_plant}Generalized plant} +\end{subfigure} +\begin{subfigure}{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/detail_control_comp_filter_three_hinf_fb.png} +\end{center} +\subcaption{\label{fig:detail_control_comp_filter_three_hinf_fb}Generalized plant with the synthesized filter} +\end{subfigure} +\caption{\label{fig:detail_control_comp_filter_three_hinf}Architecture for the \(\mathcal{H}_\infty\) synthesis of three complementary filters} +\end{figure} + +The standard \(\mathcal{H}_\infty\) synthesis is performed on the generalized plant \(P_3(s)\). +Two filters \(H_2(s)\) and \(H_3(s)\) are obtained such that the \(\mathcal{H}_\infty\) norm of the closed-loop transfer from \(w\) to \([z_1,\ z_2,\ z_3]\) of the system in Fig. \ref{fig:detail_control_comp_filter_three_hinf_fb} is less than one. +Filter \(H_1(s)\) is defined using \eqref{eq:detail_control_h1_compl_h2_h3} thus ensuring the complementary property of the obtained set of filters. + +\begin{equation}\label{eq:detail_control_h1_compl_h2_h3} + H_1(s) \triangleq 1 - \big[ H_2(s) + H_3(s) \big] +\end{equation} + +Figure \ref{fig:detail_control_three_complementary_filters_results} displays the three synthesized complementary filters (solid lines) which confirms that the synthesis is successful. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/detail_control_three_complementary_filters_results.png} +\caption{\label{fig:detail_control_three_complementary_filters_results}Bode plot of the inverse weighting functions and of the three complementary filters obtained using the \(\mathcal{H}_\infty\) synthesis} +\end{figure} +\section*{Conclusion} +A new method for designing complementary filters using the \(\mathcal{H}_\infty\) synthesis has been proposed. +It allows to shape the magnitude of the filters by the use of weighting functions during the synthesis. +This is very valuable in practice as the characteristics of the super sensor are linked to the complementary filters' magnitude. +Therefore typical sensor fusion objectives can be translated into requirements on the magnitudes of the filters. +Several examples were used to emphasize the simplicity and the effectiveness of the proposed method. + +However, the shaping of the complementary filters' magnitude does not allow to directly optimize the super sensor noise and dynamical characteristics. +Future work will aim at developing a complementary filter synthesis method that minimizes the super sensor noise while ensuring the robustness of the fusion. +\chapter{Decoupling Strategies} +\label{sec:detail_control_decoupling} + +When dealing with MIMO systems, a typical strategy is to: +\begin{itemize} +\item first decouple the plant dynamics +\item apply SISO control for the decoupled plant +\end{itemize} + +Assumptions: +\begin{itemize} +\item parallel manipulators +\end{itemize} + +Review of decoupling strategies for Stewart platforms: +\begin{itemize} +\item \href{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org}{Decoupling Strategies} +\end{itemize} + + +\begin{itemize} +\item[{$\square$}] What example should be taken? +\textbf{3dof system}? stewart platform? +Maybe simpler. +\end{itemize} +\section{Interaction Analysis} + +\section{Decentralized Control (actuator frame)} + +\section{Center of Stiffness and center of Mass} + +\begin{itemize} +\item Example +\item Show +\end{itemize} +\section{Modal Decoupling} + +\section{Data Based Decoupling} + +\begin{itemize} +\item Static decoupling +\item SVD +\end{itemize} +\section*{Conclusion} +Table that compares all the strategies. +\chapter{Closed-Loop Shaping using Complementary Filters} +\label{sec:detail_control_optimization} + +Performance of a feedback control is dictated by closed-loop transfer functions. +For instance sensitivity, transmissibility, etc\ldots{} Gang of Four. + +There are several ways to design a controller to obtain a given performance. + +Decoupled Open-Loop Shaping: +\begin{itemize} +\item As shown in previous section, once the plant is decoupled: open loop shaping +\item Explain procedure when applying open-loop shaping +\item Lead, Lag, Notches, Check Stability, c2d, etc\ldots{} +\item But this is open-loop shaping, and it does not directly work on the closed loop transfer functions +\end{itemize} + +Other strategy: Model Based Design: +\begin{itemize} +\item \href{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org}{Multivariable Control} +\item Talk about Caio's thesis? +\item Review of model based design (LQG, H-Infinity) applied to Stewart platform +\item Difficulty to specify robustness to change of payload mass +\end{itemize} + +In this section, an alternative is proposed in which complementary filters are used for closed-loop shaping. +It is presented for a SISO system, but can be generalized to MIMO if decoupling is sufficient. +It will be experimentally demonstrated with the NASS. +\section*{Conclusion} +\chapter*{Conclusion} +\label{sec:detail_control_conclusion} +\printbibliography[heading=bibintoc,title={Bibliography}] +\end{document}