From 9d0dcb1f1fd659eb34fc7617c1b651136bfe1c08 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Wed, 10 Apr 2024 10:25:49 -0700 Subject: [PATCH 01/41] Renamed fitting buttons; added 'refit all' --- smh/gui/chemical_abundances.py | 37 ++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index a0e24680..af3ee813 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -501,6 +501,10 @@ def _create_checkcombo_in_hbox(parent, text): self.btn_update_abund_table.setText("Update Abundance Table") vbox_rhs.addWidget(self.btn_update_abund_table) + # E. Holmbeck added + self.btn_fit_all_synth = QtGui.QPushButton(self.tab_synthesis) + self.btn_fit_all_synth.setText("Update + Fit All Synth") + vbox_rhs.addWidget(self.btn_fit_all_synth) hbox = QtGui.QHBoxLayout() self.btn_clear_masks_2 = QtGui.QPushButton(self.tab_synthesis) @@ -586,6 +590,8 @@ def _connect_profile_signals(self): self.clicked_checkbox_upper_limit) self.btn_fit_one.clicked.connect( self.fit_one) + self.btn_fit_all_synth.clicked.connect( + self.clicked_fit_all_synth) self.btn_clear_masks.clicked.connect( self.clicked_btn_clear_masks) self._profile_signals = [ @@ -615,6 +621,7 @@ def _connect_profile_signals(self): (self.edit_wavelength_tolerance.returnPressed,self.fit_one), (self.checkbox_upper_limit.stateChanged,self.clicked_checkbox_upper_limit), (self.btn_fit_one.clicked,self.fit_one), + (self.btn_fit_all_synth.clicked,self.clicked_fit_all_synth), (self.btn_clear_masks.clicked,self.clicked_btn_clear_masks) ] @@ -674,6 +681,9 @@ def _connect_profile_signals(self): self.clicked_btn_clear_masks) self.btn_export_synth.clicked.connect( self.clicked_export_synthesis) + + self.btn_fit_all_synth.clicked.connect( + self.clicked_fit_all_synth) self._synth_signals = [ (self.edit_view_window_2.textChanged,self.update_edit_view_window_2), @@ -700,6 +710,7 @@ def _connect_profile_signals(self): (self.checkbox_upper_limit_2.stateChanged,self.clicked_checkbox_upper_limit_2), (self.btn_find_upper_limit.clicked,self.clicked_btn_find_upper_limit), (self.btn_fit_synth.clicked,self.fit_one), + (self.btn_fit_all_synth.clicked,self.clicked_fit_all_synth), (self.btn_update_abund_table.clicked,self.clicked_btn_update_abund_table), (self.btn_clear_masks_2.clicked,self.clicked_btn_clear_masks), (self.btn_export_synth.clicked,self.clicked_export_synthesis) @@ -1496,6 +1507,32 @@ def clicked_export_synthesis(self): spectral_model.export_line_list(linelist_path) logger.info("Exported to {}, {}, {}, {}".format(synth_path, data_path, param_path, linelist_path)) return + + # E. Holmbeck added + def clicked_fit_all_synth(self): + logger.debug("Re-fitting all synth lines. This might take a while!") + for sm in self.parent.session.metadata.get("spectral_models", []): + if sm.measurement_type is not 'syn': continue + if not sm.is_acceptable: continue + logger.debug("Re-fitting {:} at {:.1f}.".format(sm.elements[0], sm.wavelength)) + print("\t\t\t\tRe-fitting {:} at {:.1f}.".format(sm.elements[0], sm.wavelength)) + self.clicked_btn_update_abund_table() + try: + res = sm.fit() + except (ValueError, RuntimeError) as e: + logger.info("Fitting error",sm) + logger.info(e) + import pdb + pdb.set_trace() + return None + self.summarize_current_table() + self.update_fitting_options() + self.refresh_plots() + if self.parent.session.setting("bring_to_top_after_fit", False): + self.parent.raise_() + self.parent.activateWindow() + self.parent.showNormal() + return None def refresh_current_model(self): spectral_model, proxy_index, index = self._get_selected_model(True) From 1434f13e3ea894107860e4bc52143d94cdb1dd95 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Wed, 10 Apr 2024 13:49:21 -0700 Subject: [PATCH 02/41] RPA updates; 'Fit all' button, -inf abundance line, shrink fit window --- .DS_Store | Bin 0 -> 6148 bytes .gitignore | 161 +++++++++++++++++++++++++++ find_spectra.sh | 18 +++ smh/gui/base.py | 15 ++- smh/gui/chemical_abundances.py | 26 +++-- smh/gui/normalization.py | 2 +- smh/gui/stellar_parameters.py | 37 +++++- smh/r-star_discovery_RPA-TESS.png | Bin 0 -> 306572 bytes smh/radiative_transfer/.DS_Store | Bin 0 -> 6148 bytes smh/radiative_transfer/moog/utils.py | 2 +- smh/session.py | 1 + smh/smh_plotting.py | 2 +- smh/specutils/motions.py | 7 +- smh/specutils/spectrum.py | 51 ++++++++- 14 files changed, 301 insertions(+), 21 deletions(-) create mode 100644 .DS_Store create mode 100644 .gitignore create mode 100755 find_spectra.sh create mode 100644 smh/r-star_discovery_RPA-TESS.png create mode 100644 smh/radiative_transfer/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..e59eb7057cad8ed5af7e4e81dda15e2fdf5009de GIT binary patch literal 6148 zcmeH~Jx&8b427RbibynDrksWYaD!2loFEsVh(wAcNFb=^=sf>4S*XzpJxlf*d)C_B zuh>}wu-)hB8JGZU=&pG3Ff(Jm!UwK6e;wa%m$%z1D_#X2B4)Y zKm-;NsjaT-r6V=lVKsbM-PwGKp;@-W8WWoJ5Cstsff<2S=98cQ2l{XG|Exu+ z2#CNxBVg(#{K3CYA+qBtkCo$5Ev9h I;7/dev/null) +#IFS=',' read -ra line <<< + +while read line +do + IFS=',' read -ra data <<< "$line" + star=${data[0]} + run=${data[1]} + if [ "$run" == "Hol20" ]; then + echo $star + file="$(find /Volumes/ext/ -type f -iname "*${star}_rv.fits*" 2>/dev/null | tail -n 1)" + cp $file /Volumes/My\ Passport/Holmbeck2020_stars/ + file="$(find /Volumes/ext/ -type f -iname "*${star}_rv.txt*" 2>/dev/null | tail -n 1)" + cp $file /Volumes/My\ Passport/Holmbeck2020_stars/ + fi +done < /Users/holmbeck/Research/RPA_all_classes_new.csv diff --git a/smh/gui/base.py b/smh/gui/base.py index 7b2affe8..439be953 100644 --- a/smh/gui/base.py +++ b/smh/gui/base.py @@ -126,6 +126,11 @@ def __init__(self, parent, session=None, self.label_ymin = label_ymin self.label_ymax = label_ymax + # E. Holmbeck changed colors: + self.acceptable_color = "#d92653" + self.unacceptable_color = "#37ae91" + + self.comparison_spectrum = comparison_spectrum self.setMinimumSize(QtCore.QSize(100,100)) @@ -191,7 +196,7 @@ def __init__(self, parent, session=None, np.nan, np.nan, np.nan, color="blue", linestyle=':', lw=1), "model_masks": [], "nearby_lines": [], - "model_fit": self.ax_spectrum.plot([np.nan], [np.nan], c="r")[0], + "model_fit": self.ax_spectrum.plot([np.nan], [np.nan], c=self.acceptable_color)[0], "model_residual": self.ax_residual.plot( [np.nan], [np.nan], c="k", drawstyle="steps-mid")[0], "interactive_mask": [ @@ -652,7 +657,7 @@ def _plot_model(self): self._lines["model_fit"].set_data(meta[plotxkey], meta[plotykey]) self._lines["model_fit"].set_linestyle("-" if self.selected_model.is_acceptable else "--") - self._lines["model_fit"].set_color("r" if self.selected_model.is_acceptable else "b") + self._lines["model_fit"].set_color(self.acceptable_color if self.selected_model.is_acceptable else self.unacceptable_color) self._lines["model_residual"].set_data(meta["model_x"], meta["residual"]) # Model yerr. @@ -661,7 +666,7 @@ def _plot_model(self): meta["model_x"], meta["model_y"] + meta["model_yerr"], meta["model_y"] - meta["model_yerr"], - facecolor="r" if self.selected_model.is_acceptable else "b", + facecolor=self.acceptable_color if self.selected_model.is_acceptable else self.unacceptable_color, edgecolor="none", alpha=0.5) # Model masks due to nearby lines. @@ -673,9 +678,9 @@ def _plot_model(self): except IndexError: self._lines["nearby_lines"].append([ self.ax_spectrum.axvspan(np.nan, np.nan, - facecolor="b", edgecolor="none", alpha=0.25), + facecolor=self.unacceptable_color, edgecolor="none", alpha=0.25), self.ax_residual.axvspan(np.nan, np.nan, - facecolor="b", edgecolor="none", alpha=0.25) + facecolor=self.unacceptable_color, edgecolor="none", alpha=0.25) ]) patches = self._lines["nearby_lines"][-1] diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index af3ee813..5d3bf16a 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -73,8 +73,9 @@ def __init__(self, parent): self.figure.mpl_connect("key_press_event", self.key_press_selectcheck) self.figure.mpl_connect("key_press_event", self.key_press_automask_sigma) ## Stuff for extra synthesis - self.extra_spec_1 = self.ax_spectrum.plot([np.nan],[np.nan], ls='-', color='#cea2fd', lw=1.5, zorder=9999)[0] - self.extra_spec_2 = self.ax_spectrum.plot([np.nan],[np.nan], ls='-', color='#ffb07c', lw=1.5, zorder=9999)[0] + self.extra_spec_1 = self.ax_spectrum.plot([np.nan],[np.nan], ls='-', color='#ff531a', lw=1.5, zorder=9998)[0] + self.extra_spec_2 = self.ax_spectrum.plot([np.nan],[np.nan], ls='-', color='#ffc34b', lw=1.5, zorder=9998)[0] + self.extra_spec_none = self.ax_spectrum.plot([np.nan],[np.nan], ls='-', color='teal', lw=1.2, zorder=9999)[0] ################ # BOTTOM @@ -185,7 +186,7 @@ def _create_measurement_list(self): self.btn_fit_all.setText("Fit all EW") self.btn_fit_all.setSizePolicy(sp) self.btn_measure_all = QtGui.QPushButton(self) - self.btn_measure_all.setText("Measure all acceptable EW") + self.btn_measure_all.setText("Abundances from EW") self.btn_measure_all.setSizePolicy(sp) hbox.addWidget(self.btn_fit_all) hbox.addWidget(self.btn_measure_all) @@ -299,7 +300,7 @@ def _create_checkcombo_in_hbox(parent, text): vbox_lhs.addLayout(hbox) hbox, label, line = _create_line_in_hbox(self.tab_profile, "Fit window", - 0, 1000, 1) + -4, 1000, 1) self.edit_fit_window = line vbox_lhs.addLayout(hbox) @@ -394,7 +395,7 @@ def _create_checkcombo_in_hbox(parent, text): vbox_lhs.addLayout(hbox) hbox, label, line = _create_line_in_hbox(self.tab_synthesis, "Fit window", - 0, 1000, 1) + -4, 1000, 1) self.edit_fit_window_2 = line vbox_lhs.addLayout(hbox) @@ -503,7 +504,7 @@ def _create_checkcombo_in_hbox(parent, text): # E. Holmbeck added self.btn_fit_all_synth = QtGui.QPushButton(self.tab_synthesis) - self.btn_fit_all_synth.setText("Update + Fit All Synth") + self.btn_fit_all_synth.setText("Update + ReFit All Synth") vbox_rhs.addWidget(self.btn_fit_all_synth) hbox = QtGui.QHBoxLayout() @@ -922,8 +923,19 @@ def synthesize_current_model(self): # When we get selected model, it erases the extra_abundances. # So let's cache it then put it back in... extra_abundances = self.synth_abund_table_model.get_extra_abundances() - spectral_model, proxy_index, index = self._get_selected_model(True) + + # E. Holmbeck added a "none" line + if extra_abundances is None: + for i, elem in enumerate(spectral_model.elements): + abundances_none = deepcopy(spectral_model.metadata["rt_abundances"]) + for i, elem in enumerate(spectral_model.elements): + abundances_none[elem] = -8.0 + + x, y = spectral_model.get_synth(abundances_none) + self.extra_spec_none.set_data([x,y]) + #self.synth_abund_table_model.extra_abundances[elem][2] = abunddiff + if spectral_model is None: return None spectral_model.update_fit_after_parameter_change() self.measurement_view.update_row(proxy_index.row()) diff --git a/smh/gui/normalization.py b/smh/gui/normalization.py index 4a793ef9..c4e5131d 100644 --- a/smh/gui/normalization.py +++ b/smh/gui/normalization.py @@ -528,7 +528,7 @@ def figure_key_press(self, event): # undo/remove the last mask - if event.key in ("u", "U"): + if event.key in "uU": if "exclude" in self._cache["input"]: exclude_regions = self._cache["input"]["exclude"] if len(exclude_regions) > 0: diff --git a/smh/gui/stellar_parameters.py b/smh/gui/stellar_parameters.py index 8a340a5f..d2609398 100644 --- a/smh/gui/stellar_parameters.py +++ b/smh/gui/stellar_parameters.py @@ -189,6 +189,7 @@ def update_stellar_parameter_session(self): "surface_gravity": float(self.edit_logg.text()), "metallicity": float(self.edit_metallicity.text()), "microturbulence": float(self.edit_xi.text()), + #"numax": float(self.edit_numax.text()), "alpha": float(self.edit_alpha.text()) }) return True @@ -202,6 +203,7 @@ def update_stellar_parameter_labels(self): (self.edit_logg, "{0:.2f}", "surface_gravity"), (self.edit_metallicity, "{0:+.2f}", "metallicity"), (self.edit_xi, "{0:.2f}", "microturbulence"), + #(self.edit_numax, "{0:.2f}", "numax"), (self.edit_alpha, "{0:.2f}", "alpha") ] for widget, fmt, key in widget_info: @@ -440,12 +442,31 @@ def _init_rt_options(self, parent): #grid_layout.addWidget(self.vt_const, 3, 2, -1) grid_layout.addWidget(self.vt_const, 3, 2) + # Nu-max. + label = QtGui.QLabel(self) + label.setText("nu-max") + label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) + + grid_layout.addWidget(label, 4, 0, 1, 1) + self.edit_numax = QtGui.QLineEdit(self) + self.edit_numax.setMinimumSize(QtCore.QSize(40, 0)) + self.edit_numax.setMaximumSize(QtCore.QSize(50, 16777215)) + self.edit_numax.setAlignment(QtCore.Qt.AlignCenter) + self.edit_numax.setValidator(QtGui2.QDoubleValidator(0, 5, 3, self.edit_numax)) + self.edit_numax.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) + self.edit_numax.textChanged.connect(self._check_lineedit_state) + grid_layout.addWidget(self.edit_numax, 4, 1) + self.use_nu = QtGui.QCheckBox("Use numax") + self.use_nu.setChecked(False) + self.use_nu.stateChanged.connect(lambda:self.nu_max(self.use_nu,1)) + grid_layout.addWidget(self.use_nu, 4, 2) + # Alpha-enhancement. label = QtGui.QLabel(self) label.setText("alpha") label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) - grid_layout.addWidget(label, 4, 0, 1, 1) + grid_layout.addWidget(label, 5, 0, 1, 1) self.edit_alpha = QtGui.QLineEdit(self) self.edit_alpha.setMinimumSize(QtCore.QSize(40, 0)) self.edit_alpha.setMaximumSize(QtCore.QSize(50, 16777215)) @@ -454,12 +475,13 @@ def _init_rt_options(self, parent): #self.edit_alpha.setValidator(QtGui.QDoubleValidator(0, 0.4, 3, self.edit_alpha)) self.edit_alpha.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) self.edit_alpha.textChanged.connect(self._check_lineedit_state) - grid_layout.addWidget(self.edit_alpha, 4, 1) + grid_layout.addWidget(self.edit_alpha, 5, 1) self.edit_teff.returnPressed.connect(self.measure_abundances) self.edit_logg.returnPressed.connect(self.measure_abundances) self.edit_metallicity.returnPressed.connect(self.measure_abundances) self.edit_xi.returnPressed.connect(self.measure_abundances) + self.edit_numax.returnPressed.connect(self.measure_abundances) self.edit_alpha.returnPressed.connect(self.measure_abundances) return grid_layout @@ -675,6 +697,17 @@ def const_param(self,param_selected,param_index): else: self.params_to_optimize[param_index] = True + # E. Holmbeck added this function + def nu_max(self,param_selected,param_index): + teff = float(self.edit_teff.text()) + gsol = 4.438 + Tsol = 10.**3.7617 + nusol = 10**3.484 + nustar = float(self.edit_numax.text()) + newlogg = gsol + np.log10(data['numax']*np.sqrt(teff/Tsol)/nusol) + self.edit_logg.setText(newlogg) + self.parent.session.metadata["stellar_parameters"]["surface gravity"] = newlogg + class StellarParameterUncertaintiesDialog(QtGui.QDialog): def __init__(self, session, diff --git a/smh/r-star_discovery_RPA-TESS.png b/smh/r-star_discovery_RPA-TESS.png new file mode 100644 index 0000000000000000000000000000000000000000..b1e67c399c107152ac92b4e9c60337fa0feb35f4 GIT binary patch literal 306572 zcmeGEc{r8-_Xdtqi6oQ;l%d*4GG*SGLf91wnP+7Vndc}(nL_3vL&z-ioFS5V+=k4v zZAi!z{nkT$KA-P7=Q{tL|IWUyckgRwd-n6ZUhB2iz3%&7`96@9Iz>!PjE9GJ3L`Bc zkB3J{gok%@j_5f2&9{j33-CVyn>#8t3Kj-7_PSP2@MLstEX^!z%#8Ku?Vea!8(Wxj zvGK5R-k>+Kv9Yv9v$H?_&j;8ntPI)vb$?dEMNU{st6JmXF&_Mfzh-7jjE9ehhmp9g z=n%8G=j;-)89TdI&9Lnf#D39=9@Rh|6{>e%4E>Zj@7AlwTs^Wy0sZfx(DU3}MriCw>I!w-W+GtKY&2L9V`&ri3z0?#?bZpR$S5l|nE z|BknI6cgC?EL)|*E!J!UPdDKuM`1;xD8GZO2h)}4WaqOEVx_JVYt|II7342*RAoDl z`>uVooS-h2(7T0xeTF8@+N(5A6GkOut+u60~P|x&L5u zLb7P-&5n6~OuF6W8m#qb?8G!7*W#M@5#0oM+Sdh3j%8?qxR!-;4p!^;%Uw6?H?wyB z-F1ZjM$}qT8Fhus%)>DrL!9lb)LBX_)q=*F;~sio0l&7vr?Y4Eb@CO0k!Ktia5O|~ zR6Hh?AvH;#Z_(72jtG?vx}ExaE%z@EbcCvuZ3{aYLNA;pnrdV2;O0`jp;awgQz@&4iG%&{ zA;Q;P_;KyG*S)OH#GKYir@mW^wF0j;*j`DAEff6xcIihV5&c@Htp7CSyt>$J{^kn~ z+oVKBep=E`uS}D;VzMTwR6SCB{^1yA*{+r5J~hSeJ&!L+|ITg%I}2W;NR=v#bSQ=-bb=zz|gc&m%YbOD{u5d@;3fm89 zC&lsh`*AXz1=ikmNuNVhAI=T`+an_5m&s2l;<5M3Sx+C_A0EE$>szTAa`bR#QVe_Y z<07Y9>m#fK`^z!%)Ah5ns8bB@k*trrRHO&W28paBx;{|-Y6>Z^tGWKVg$lFxj6a8m z)uK3Cv%B4=Zeu1G0`!#wga3)rSeUR^Z9zQE^ctN}| zr;Xj<{YH{eZI*e%lN$F*s;athC$B=$_%pct}=yVhoWBhd*DlX=@GLy%ZdU>KgK znT0r0hF@FKbN5v~5zF5z;dNJDnLkZ{-mrU>SABYX`>N|f%)OYSueY(d#&NV%S1)?R zm@=SA?(Ut}i!|hK7jLQNvJOqI8o9U#e(To2y%PDI;I>sqr?s}%(sI9YYvN6C@+&$w zm8(~;a+Vw1+}Yo(&iQaJJUt`h-snzW@fl6o@5$fVc^)mN*1Kx9$d5ZRzjI6Zj{U*} zf5UJtE+n~UyENt7UT8_qn{(}$H)NZ(tC)AY#>Ip?3USWM0<5Z^B$Tr?Iwu1~*f2kL z_k3@#veoXDx=mgj?cl3g^^eftVr7-_)>YA#rPFluUw$)8eUawP7J9&O;M=nq377Bp z%|11~o$+ZZW#mNdsdyCb)4p4ONxsWge-Nyer;doVOg(2NC(V{08$Oi~S79*WYx!Ki zYqqm$@^Z<{`{wDcXp1VUY2(`P*jSq1zk5C^P*baYZ>A0K_a_ixtDlU%_VK5+%)4FY zXWAF?6&n&RTgo+bEB6+tYuU_h^A`2JwowwBtrkWoaZbbqbqIO!6R~9h4aWrtLZAQ z#ablzRc3$2ePiLVr!@4%9{v&wtjiNjXrro}%f;G$>>$&3 zrh9)wNYtcU&Vyq)oY-c;@d`gL?ZNpFm4;-f`|b+v7`IKK%y!|m97l(V$vxf0-Tngo zf3e4D$k@bd5qOQGA^+ic<#8d+OzneAC2*QNw#foeW-J=#_8`P^mgh^q1-HpZWvY<*rCaFH_)vS&$;%>b807 z_v4kfJ(wykoOP&;YF+jXWH(x<{TQ<65McT*3(;fBQ9Rek>zCs6M@#DulONGVd|i_t z*ErU;VvfkM(OvtI?cKEIr_B6A;@3_+R^-7L4H*}+JiU>NM8at6gPhNorcMP5_w-tJ zMQr_k={wZsRdW9C4bvY#Bcx&zcT`e&-o*M|Y;qh?Q6#nI%%=XI{g9s@(cfTY$+q~o&NW@dCJeEwa7qMQ;w=8Ql8q+Y z=y1b)$jMW(C0Q4*q|9>vp=$a2wC-uG)?W=!pSh2! zCz|2~S^gLFCF5C7R7+s-=vOH@5lDUbN+w7D=Ni%{X6nP{sPRzL|HXqJ-Cf8(A3Gv; z105L|`K_&uw6wjWqvObw+(l2>je7#}Z^xVyfA zFMS0;#&0~0k2fT5?YRvs*$tTS4ww~5g#WF}C>jI>TWYRtyHHb7c8rY${dUv-v1@E> z{H?Y1k)2)9qMh>*mIFjauNpydunk7YHjI@$j!N0t*?D1#dz?JGFmv(VyST6q;}3I$ zD_ztoD=U9G?LMX?fHju2{Bp2xs0ib4+6?wo@PdWWw!i&6o$S7pqaf{v4g?@?yEhuic_}9It7_uU@;~f*TNie@IXDhJhKF}@Dk)I- zuFZ*vHf{=$39e2oAwA|3QyJWpyR@I5-`CkS3KWtj6cFG#~c1LA%y5R2pbLySh+IG@fU3|0u;SVpKZQ;`Qo%(I@>cim_A%?FJ)t6XR$88=yzE`%3I~zC#%+k`* zX>C5GB8$=N*jx6Jwr1AW))K>Eu+n9lBhCz%Xg&)iL&Mn@J!}2?f%A(4`DmA|Twe3< z*K)8IJ00`$^Le8)G8NB!>IyY%#QV$)F-?Bs@1;nN{r9$wys`PBFTej-RQp>^XOrGY~Q`vFq#LLPC? za>i>2Gsulf!GQ^@8}}))Ik=T<(-b%~t)57pgGTm-Pb4}d#ni|sC^@aHA)5*EZPK_6 zdfKXV%C5YQbb~QpQprh>)^){sRN>L1ci+B!o3cUI5ns$QFM~vM$7M-Hz;etTHl4ha zv$wZ5JuB;xf`Wp|?yXqaUM#kG$*!5hF9=_!VnM)a%ICXzF+2e5V0u76KyJH5{y=DW zc!@Ynx77W!AJBZ>mJI>U%{YV zcWe}~a-ItdCU9f8)kZop7N79s)Oa^FZ(WH!{>F4#+)iJ+&=~;%0VGcaVzcOIa(Z{^ z_L3T0lN5eYQP20zZ$3|}7Fk{4LG#krU3(xYDOvxoKAyjbCd!+8Y+!Kx)~#Dp!s6oM zClyb*TdEGfqzzEj?U z(1v2a{=??xW_Yj1M?h>3{}Dzl1h9_ajaPraxM()8L?VNPsJmB@NpCvU zAEBAe-Hn-O3&!_}xc1$ZYP#;V$P{gZ7gBzVJ3Dwsh=@Fn-IP(NtE)q*%-mdWrvp-A znwlQU%9661ylPr_eVvUh42yeYYMPLc;P^Nic?gQ~CAqNDI~~A{3^lZkx8G=~6oVs38=$J3V5H z)m*FE7ehPzc%S^W?^9-0);nEF6BCoyMy=Hjy;linEy9~Wz=82OD)y#sJg9qK(ao*u zes}2TO8Bt(>?wqtgV*O9L=ZTFzkk%#Skg!O`}w7%rb@XzAEV(SFy8)_`=QxzXPRo| z9Xy7%c6^L%s+F}hg~rnF(6F$D{ycpMakX;0r$2TfH<*~2RT%uqH*D8htJEyFYo%O< z4?&v0Oi7}O96N38oTo!Yt<*n}Y;9hw9?knS7zJmxY1)cllaoaM8)so*VS09U)y!@f z1fS5aetoQ`!CGm&Qmp)38x}S=R?yL^Z!fX5y6;)1U{z;s!%InLVN;2;p{2N=TtxOQ zbCsJTEErC*wh3L>^6SjZo!Oe@wWP-P?%gZYZzP4vxinIFYkWf`Q>QXH`EeUtd#Q>C zy+!81Lfkl?p`1hNxC<${E-KCL9Wz74%fQn~qBrU3>l3+d-V9zhB_Smv%P22bw;L$9 ziQ^p(vwdSlBTzFWwWq)1Fs0zi-}4c2$@ZSx^z1BC?!;Cuy7PvTXwS$9TVNyClhJwY zdkS^=VPWSFl9{1lDoNdgCr>{7S{z6Mn3OA)33VbpF;NW4fzwQ+VNYKlFGHFoI=060 z$)Ei_6I0Xfj|!<%8%~cPe<8`{+_`fHg}`FuQui(unf0(Xb5Y=m2IDK|&QFq_vSeGe zR9p)-=$H7$pQ>x#mz1bD|5|)Iv=m^J)!^-Y9OFTbrdr5zsMIPQHh&iynpROEXyCzh zuoQ1NISE9=v?JH9!5PoF+jXt2^MvAi8@uvi=2G+y_L0Rt(fCzPkXLMsQU(~w(` zSb*QUEdFX~s5k?jes^;v-nKpgi>sVLhXn+XJ{>N5Bo#>eNL4iwmLN68uxgX5ueP*W zevx+6Qe|Ar(9p1FHunX#c*M!{+h!dV7g~K&_a?O8At<5U#e7{lecP?VqM`;t_ctkV z^HBE`<>eDMa99fRD|&s@ReoWIsF8?{tHhmvmxF^|A*F9R3xP~GhTeXF=WJ$-22A)k zs-nC>FY80!;2>Jxh>1Y#)!y!AGY82dW##sgKwZkgQtMPTHMJRyKW0TZl{m*4DooUd zS`+>E-HREGd>UR}Uct%Tsd7@T0iQnI#6&$~{R)AAQN{|ynD6au1d9b;5VD@}L$JqM zt6DkxB>*Z&#%`QEQLf&;@FV1kHXR4;MoaxdjAowR9lz`1*MIEpA&CcYyzT159oJt2 zh8}_8Y#(!SndI~fpYDEgCguPF~-njcN%K`^zs%fro|e95`UyshMNroI);fLhqI zBw?z`@FotjJS;X}^Jc7x$E+hFb|XBTY(MfOWx zzj>3C&K@c)8MQx7x1W%lp=-mR*_nt`oR;TINgoXv`-}!01glhHyuH1rRviF{cbVB` z*^VSv6p)ssXgW-BaMCazzZjy+b7vFl^7=D&gb$-?1#nl^zpDaeJB91YIH0o1(zYWDt z;NINx-&1$^2fG0V!ggt=;(+-xA5&#>U?qd@W-4RstFYZeq&2X`_C#ztZz%P zS0yc12}7DVclInQSMT7&xlaKsyFqXIJ(7!6Bylpv*ij)s&bE*LYjAMzn3LPu>d$8O z_T5X^kkVy~OuA9a7Cy>PCULCvp@1(m*}@^crW{iXDes#hmY`@_STM7&AY+lXMaQP+ zCZ+Ek_tF>@_ zSqiGEs+JYg8#>v$7jcbzmy~2Wk9+m`bUeTxHv<$Tz)K~#-XR{G9IoZWoVge8wquOx z+TYuqJmVs%Mn-;eZ*MO+d6a#-kgBexDP~@E&}~<8Zy-nO(evlkpYrpmcn*7F4roMG zMD5BogSqD}b_K83<_2C|KP4+bi?5ZV4CPd{!?drjFTJb`U{%_O4|iBuS)Jf)*zW&! zg!~^Xw=>VZ{n8<(?D?_<@a+wAfLma-(05C9>2gyMVvOxVt>-743w{_ps zth~8Zhner#3Bb&QImyYW#J!{}rn4DG`OeSQPCy@a12b4)^F$)neUpv3lf6ttk477b zyC76IiJ5OUzGy9UaVNiyTV7*fxi>N{Y#ZpP7;4_)*pl}AK3$+jXx%bBeT?No4>QI? z$M9#`R|lt`O-wJx$Cii7C*3NgTkTI(H=SACQmc7z`}XbnMm60>{50-d{#1oWY9Z;p z68!aJyzUtl!_de`c55`>tM5#~yG8>A#(>jRare!K%Xk*u*`l1p@?Iz(5%bi`sw=<2 z^2ydE>tV8+h^Yp0qd+Pn2Rtk~I%9lXx3bq>Qk%K|{UxbinY#helTJx11uiLaZ7xiv zOfo;5Dgguq192H5CtOPJ5!*Z+jDn8P2W5xGTCe6ebmE zPj(_6vXGogr7&L_EIf@p&(eqXwf2fQ$_Bgk&XW1)Pl3i!J7xvfOcTO=!!n;K>OryYl$kBjiUCC zSwIUKjGq&VcOnQ{ofj{T_($q5P&!Ec>9-bJ+B4kv^?7$;?zxo6YD^E#HMMv4;saUP z0FpXs-{sq;G-Z)Tm`#%tzTh@Yn!{LwlN%Z&d;9vdx@%@_(2vyBGeVf;B+m)T7})Yc z2ioG`3@ruJ=sL7AYSY?Ed1!s;2K2C;WF_Z!R%5^K8G79rf1UjDL9mw7JOf7l&K)mE zTPOxO!x6Jgj)9$FOo2+@B;XYsz4tDcgvqA{v-r6kj>PBpX{#r~P)`ioNAeD60K6a* zAjnYC=H}UOwz&EE(>y%zH7QFeD_RZmnVFcRN=r-c%E`&;ygQjuS*Zyy2`SF#TepxL z@Gd+YI)^3>KT}D;qQXLBcrJtiC;)i4)Sm|>LLJfw&;m8&N$|ToJUnaZO9O`Sk6c|V zp%&WAv`_&b{dLJMBRBT}99pO~~4ESRjUEGX<92+CYW<=09CHd5FXPfu|s!F>h?i$r{)#d)ca-Mo~S*+^Wa zuC6}o%67xN4_!rfYGa{tpKbW<^SYQun?TY9|G1NP@7+_7lx#SncmfGeOxu4sMbRSy zmq-DIvH%4FIm@kD+pb)w@Y^Cki@AvNaZac;Rn%i+5FtJUGYx_We9wq^!2r_lE6 z@I^LGKD>AD4J3KJGyB|pe9iMVChc)TH%YEiHUM0NWtso%aa1>+rE7P)oHybW^I zTXu^?Zq#UFKXXtqf#wQXm>DYBu|%SYb?1z zrrJ-iZ}kATVQ!wIT#G~~(Kvs{Y86z~jd??P9nCzxQ5UY7X?iutlr^8nes8a#Z5I@~ zvhJOKv(c4U84rIAJe`7MAR8kvJVB_Z-%Fl#j!0=tLpJ`ksEX-|;xP?Q5kJ%P^nYr( zMU{fKs(fZeLCZlc-}^MHPqVj9v*CA&nU7DIfPmmcCM9fxw5I*2>!zQ@i_P7=3bzYa zk#|#k!)|xF+70_zw+825S?np+xmKQ39B%pa^JKx#>>M@iHYF~1{-l@WZ)6P&W@2z8 zaBf&1@c1Z7NlA4Pyy*UtSY@QdYRriTi;DrW__9T{xAEN* z%k+=yuLWHK0Zi|-%Z2;=VeHzpjq-RB%?sDo90akMUwppIwnTE>Bzd`fTjI;gCU7;< zM~@z*rlTWs8`UjlVd7H;%EF5O(uvFiNJitiW+Dl3Q2S&>T(6HmyHlB5Z%fc-O4*z9(=ek#ZDUwLB%-$ zXV|N@^tPC|_b?oK+%>?8`U3mi@%1Z_DajFRX;c(7jgXTfLNWjgC;e*RiuI4N+i)&` z;zO04g?q!p3m!adp>8~27|$P=jhMTMUBWwm49Io*dFZ+Rb~U}w6cswI%}9iMQVKvH zPg2)0(;9uk4Y?gW6`hp(k+nx6S zcC>QBvmYS8C4D+JHWnE5ZiYIahj<8W|97cZMq=k~l3#6YZH3b(3#$Y#cLJ;FZ|@|+ z-H&bc%I#MN6&uc8FqsxQhj2#&|8=Sa5#Q&^{jzqZYPF+ySA3LINB4hzcI19Fb9a3I z>7*2qDtrd_AN>@X$fXZo?q1^m6+M`1*du+H=tIxAy5gOo0mA+7OZ0BS%YQx?_p>@t zDfhYZO!5AbEC)*gACx9YiQGD!bils>hy3pqB!-Z{hc9}92!x-xMMME#fPd`Y7q~~L z7nu!Y7Q61ur=CKNx`S zL4jl;_WxaB`6?T6%#@tbrJfl9%PO8)E~{SzHdU)!wvQ+t5cTkloz8#uHYqfZxZipG zAM201qRs&gw&kOMcLx9R`Go(8?JBH-$l<9=530K&f7#Nf+J#h5f3ypGP}Cu zfstp-^!_iEjzxHRB|^PPI4V%Td`M}~64D?o!0SvKoD1kG1ttBCL==~mp`m05Y+9EO zL(YG2$aOt&tQ?7m1=W0RYjx7(>C;ERXsg)D*{{z%r1HLuaT@a=?CI=0-Rqe62)=$c z&RG`9;$Wq-y+otz^O(L&Rf@hz76SD7K$=^O7_}-FM+xkg@4uFYQjr@(+g!U`t$esL zcpNnNm)#?*%7?Ko?HnXj-U-3MXAm|6*jeZo0SI=DR65s@eloaKypeZE*#bx0%hfKJ zbd-?PQ_~*6*bj~1^;Qcvu8AP?DpFd(Ymku?6ew2n;71BoZh+3}Nbh2EwAnEr0R(Q9 z<@I!QkU!jO+n1`Yw;@Lqdjz7Qg;JT#Og^9jka? zzW}-b8>_??eh*ZE9C);u#q=oLciB`095x3~jXbc02$@vAT*k7P+qzH%TLK&y(7kFM z?z!37vJ4CigN3HbisNt3sUUd~mV+&vWzoF@T?8p|0@omKZ2S?V06nYh!9g_y4t4dC zw@LQnoYc7^ zhY!>e9eM2VD5LU@>!x#|o(2_Mud$`~vaz#EFD+FC(E<4S5cpCX=z;{GfsV!EHeiQj z07D>Qg2Dj$9fV+vX++1$K2lVa4lXhurvB|_Yr9clLL3fMG~jz+wM+!ldu?Y|9o8#X zT;=5H*H3P80vibG3DktwTZ5~)PnyrOYFD|mJuRXy1nmjH3bIwS4rBOPn&nEMvGk?L zL>JgCsUg`F!V!5~Bcq7?I9Q8ADZzB8=qUtaDeOpQmU^*CcZv-17Lv=&S;v4&0#^V| z0i^ZJwm!gP5TW1+XbkG1|7fV^tl32vd>@l@jhwRK+ewO9QhP2vho>5Zb}J)UKz2gl z0;PA;V0H;`({Wy4>LR(W<-hn0BoRbWI`px@wQ9Q@=QDTr|34`Vy0%NP!mj9a98(DN ztCJ>y+A%xdgdIw-ep}Cd%;c~z|S6h~|XT?9e@qF|!Pt-nv z^xGXj=1(d{PX#J>7)bk}1v2u*$#nP4W*N<^!3a5UZ-5G%BSQh<@4{TV(? zrX^t_xyN;{@G&@?lE4clB2w_ZJl{w`XNnqToA2~pvcq@)|0~t|3v+6uzLic32JMkYE22Dm^UZ1OJ*QctzZ{X$1l_wT8KkVFx zUDbM(3kNzFv`lJ5CQ0a{e(~0is<5_uTSFvLWpfBvyVz7X$*_iN3yU%S8!B*e8`dih z6RGvj=mVw@EEPJ}$bVI)f0piiK+Uw2e=C6JL&dq~@OkIwzdUKn{+M!&R3)shIhku` zxjo$*B*-??b=@5r4dbpREgSgmyiyr#uo7SmthIX^HH%4J6)(xv?ArmotGq*lcGh{4 zo@K+!%=o4ynkIev+}&!f*rdtEz>)PBm3s)K`5}b1L=F)bK-zuWbaZ{N$HU^Yk`!OTq zq@A(QYCQ#~kiD&~ZSI@J>2U41XLK3m*_D-hQ5&1k9KNj4tB|}cOS+l(#GfdZ_J_}qLoWw5CPAzR?LumD-7Ft{hguqOU2?um z>oj*6)1_`vdG5E?p`!d=zcJt=I3}3n;(8*v3~Pz6GOamP*2Fs|Hy%cF%PZrkn=;Q| z@Bvl(SX4BE+KnTxl6q!;meJL`z9Q;uSbTKSpWV^l9{Y2f&y`gpsenjg=lhegzaaM~ z)?Cw0|5AoJKhkSDt*2?Qg$vRK(mF5ZMFd>P%FI-R<`rd(&DPA18zSCMu_sf@Tv1k3 ztpCv6OuU)$D&%c0nw*JHRo+2g(hw(nzX0GsEdMhxaArUbgoK6^mIWNn_UBYnP(lK^V2)_1tNmDt zoGbFGZd%!K+xePmc9UIc0os~Y(Q$inqn*`5o8eBI8tWeNf{K_aE~5+bNC0m9 zO#V#S!W8GAH!>dDdqP=Di!HqQ9Ep7q2-mo|wyv(OF}M6I&P||J312oq>r2CLsiS2p ztE{4O?Le*tU19kpPm$H9u&^+l&%E8P1+^as8s5YSSR0I(Znq{wr>kCU9=q{N$obb- za0tQ*1O1@@$_}&|pkO1U0zw8HEQ;_wkKKIZZbl$b(n0sw;#zkQgnqgtdknA$*W}8` zI>#2={a~@hC{Oi0LefhQAaYJ5fA}cx38iFi z(o$F)!= z5T*+)MulV1ws#@4&^B{H0Q9&_OBQX=se;)`{6@^zt`TK`z%ocxce@#=Mcb9i&Gh7C z3CN=P-mTrLS0yJ`xBecNHulJUi3|AjC&S!?N@KeFmHcL+4f!A``CXzTS zl)4sH>kT~h?fu#)$N;M#x8YZefMY}n1I?z`Lc3=+UIsR-EnXxCcxmIlfRZMJm1-5% z>gnp~Nroo!P#bgU%Purh8Glef6WW*7IzW5jKT>SYiJVLh`=ZZmVVgXckOjSc+vC^D zs0dEqYU=B0=r(~G(d)~Gc$23Qc2V)xMdHM1dpi8(EJP`IRFt1S%>poZ@l&(SPabhc zAge)YWrt9;6E*U}u2O0q`gu8`KT~_IY99U3TKD|i&tEZ#(KfSt>Jw^5-NAyRS9U76 zNXA8r!laR?hq;46B}tSVOy9Y=l3i>B=o2g0D`Y3MP5-=;l$3fGd3t~FC6~ZzbFrR6 z$B|oLp8#e{@!`V+fbxhwnm8%$75FwiGm|7BDu(5lsj2BnZ!-XjDG38Eb(c*gjMBzz zia3)(ZeeRrC|(dNsmVJ>zWlv(Ey_I?+7RH*LmDR|^XfWq8w+3GUWF6U-I*lS+uu)l z6BWZE8kT+hV_(T3e0Nuz+4T3S8WyP%eTPTn z5Or5Z#$Ps0kQqd9IKKod5AsVi*f1V%)5Zf>-yP9>#pS=?*Ef}2WTbLcOq{?o-=FFf zc%+{YM0x9KtgRV=BLxLqFw0bX69Ceb6iIk61y|R-Pv~wdzGAQVF?xUfVYb^ifT`su>ixy6k5{uvx$Fp1_8eazE% zWrpEY(bLG?9aqQE~tvq}Q-e3){u86c-4)#ESYK$)M* zsv(=o#jn<_M#y&7bQq1Byq|=o_)T)04Zv<_+TLPMpa zoNuI^bua@P3;=FLRaJrMh6Ox7@%0mfnwpxNOZ1B?D}e*0Zodp(H8eE7i#tC|S2>wec`je=%rvt1 z#>Nk!cEo|y)7w*T68zM`ZuvViGe?RQWC~q6q#cBkb*G^1yGCYPer;{7Phc#lh}i*! zk?;_c96)~>3S~o3u_$HwloXZ50LEq0wCnrYYxzR^9voYEi~^`1%=o&_&d#|wE4Gl$ z6MR34YNg6f9l+T)149D5}G+hfhT_y|1t?iL`i3{uo)0DHaGNQ`apvbZ%O(lHA75SS|hL(@|wJqIW8sg1BN5_N2d(wCF z)VidDmk%A$p3mLE-9YgzdlcXJbE24N#Gn#$N2PM|XKD`%&k-SW#vI#{>mIf@d|)@I z9*J&sW96FS=l(c0ew})l1ld(7>J?t95U{bW$63L?OzSi z-@292{Z}DrLkDy>`o%%!mZxtaKKCF?^Wyf3alsYUp-y6{RC{8z&1PyYYEs;@f`CGm zzzo~02bmj}hRyB!H*1KAuFl*2WoX=0^1xh(YB`R{Vd=;!mVYA{dXG`WwNeul>xs$1 z^ED2gO_>jqf}z3ArN`QoY6PDhC{Jh1DHg*?#7+?P*A|_Kywi9 z?gaW#Hz_K>>T%i~b);6&HvY)?82h=oOY5kDC{gVDC!K`vM)vVz(YsnxjlUO$`5%Sy z%L%S}0=|Nz`65BC0z_Y(T%-z0*^=V;>o{sj^Ti@T>>!Z*zhcLoAJ2$*v}`T|O38ql z276$=Ps`2C{gs2HbaO?`Rw#X8VPR}V9MB$| z0^5oD6G;CFa0t#gS6l|P@__t;bt%z~Ka-&tJkrw221Fq zS_5zddf0C^6ZO8#36?-ez|{*3+v9@3{6MX4vbT8Hr{d`(0HI(q!1(dDd}Z=B`}^~Q zI1236ZOUEq=q;5C)mFjHgtH=jEBm@xG24#T%eOeVlk@Uc3DT}}W|B8dTYUry0DAs_ zX4_2Bc4`XhEWkX_<%0v|N}}zW0l31>EH0cZKH5r55lAOO+gTVD9St6$fHCZN0Fx#W z5N!xMu?}1Z*Z^+y5A$gP^9A&XnD88JO95XDnY65Skg zF$-E}qKM~{cCsB@%0RhttZr*yoo{<&H&_Ro$4kj*hplrl=Qa!?`72NX|0J%~>tt}U z|3yB@v)rsoAbU8?CA=yC#dVC@BULV530Av4P!3#3eL31WwzxhFu?-7QR9g8nI{ZAY zYtf^Mu&qF9L9PYW?t@P|2z38ZNM>j_4sg4BkKN|5y__4xPXL}S-or0)V)qw5{7La> zzHmOREOL4zS3}!jjx3YiFoQ}ort@|LwbHzay;kfMT#vIN_PF~UVoxV|9gTUL*|U@v zcU~XC*YnRl?mNr4P%7s^TK9-J(}S}8S*oafKKhy_8#WU+{vjBQa%qj9W$mZFzV#8W zh_tb>G1^?-=F?I)y|H|th#an@Xf03#CLAfQv`y!;pxR!YKSh8hy?A!+IyaLr?=^DL zs_Vudy&{qcDIb0R(BN<3sLithH)56hJ&lnGepAF1>TtecMhJ4%T4E}c`KbC zP>klAlko_zpCS;ebv~=I`J>l&r4qfmu|#Y`>NN9g)EyTGjS|?;9#eWREM(_=;FswR zZJ!NkpQX5(AwE>)S`J)4v_p3`=?}g{nxs4QKD2*Y;zxqUc{c^}6Qa)PGQeHcb=PLnTaZDmW8}L{4TDJ?OLYy!@36E@_RgjYl1h)tS zCc|7Sv3=O;C2Ib+;jq*0WII@FGS}B_fJA5-w?uvVp8V|pP5L;09}w{3FVk23+k5-R z6pvz>I1jDmAfn&}d&9Co*xN$VM&K}tIauw--Ie0LgUe&aIDlq0CVS)`<%SI zDd3`VwQarYTD~wMfW45p@6W#Q{R_)Zr)hQ9*RMVxRi97mn(6{&YGwumpTjgpuCw!Z z4#Wlq2xh>UPmkFd)~+^ev+Ve^VY+!=;NK|CfkKxU5*hh%ad9zd7ZgGe2tRMMbIY6} zBg6H5@aD~|;#r(j8vUe*yBjuNu&V&8Pj!Le&;b5D$S2h;?ZtkZ0ojQa3CWHKWc>bF*T#0P8))&fAU@16QO80A-T9xRjC19<| zOcT|DM(O&`Fe9S}|0A+-J_c|0yLTS~%LSb#_X2I(XU$LIN;XC2yNowezqPcW{)#?6 zwSS$8c4FQ4U+@r7fid8yRvrOf3!=#euk(pG3M~q3Km=_t|7BW0n*->Frz1N*KmYCP z*ABUMw=_fbfOe`gyniOyHri1lSVB4o;3#f zAHe_sgLx0TMfT-qMQ}o=~0C0Fe5TJ<4R zziiSR`VQUic)HK{FR6Wc>c5s*cQ{B9vyD9!OHiQv1w1Wcw~Ev3*!+`2W3g% zQb7Ir!@*Z~f+up#M2_XHZ~rw;c;vh+s7r@wLAb)<&MceOiIF&1K#)+MJbv6Ea46jb znPqauKU@D0`C5&aEp+&B{b_gj2gsd;y z0U4O9@-Houp8q^(bE#ux*K(((4H6i`i<#s01SIsD5(sQcXjFoOWX zfj97sW}7YGK}E0ubO132!%7u5!gk+Euey<37-~n952WdWR9XnUv`;`*Mn<>S$qO%{ z!3Vgjf_qj0oJleRyAzP=3ZNzc-IENw(%+P;V)py6aPSa$pvE?L!F+d->;LJB=fxb9n$DLYD@(F(-_?v-7TBaX5gbq@=48QF>W` zTo3^WWefyAATg3s3zWwQh*6NV3@euM8fm)+@(mGF8RBZ_+dGImpU{t@Nn*&rnFA=O zFZ=@n(xFKej<@)>`O4dy8;wq{trdenL8X=9#HFNOfvydb^~}?}?|~ApH}y**+$4cG z{p+YsBz~Xio(r19VQJDO^z6$6K*TlTw%E@JCOa4#z#;WhT2x6@^&_-Mxtr{)tdB4l z%>C@8|2sHx{qtX9SL`w*qyJ<#R2`9AH+S#oD2#?yscx=ry8sH52m3lmX^qx%X4TUICVJeh}`JGC3SejplY?9%umdzt^KLU6m+Sy*6tfrOu4bE%CJvp=#rb`J#-J*Um=sc!BsC;3% z2r&QwHDrvwj-+vVc?*z`6YrHQw{D;f4Gat(GjX?m4wL?CoBY2@@XcHC?Wu8bw6F!T z+xvGh&Zs>m%ra(l1&8aNn@a<$ZQZy^iI@jU$M%`mMPY`Qk8`%0nBqeZ+{_PYL>wiI zV1FQZN$QB4The-s?RVDasVp`@e}e`BQDDGUW;)vzdk7jjLH?YiJ&W|dP%V)#g`LvK zIrlBUT{vTB$4O{=DrB(C*0grvAWl$iFz65uyy6Y{8|KGvCQcYa+!$X2vkS78X%byS%;@x zT7|~bcLWc02^8`JuLmNDmomICj#^k+dSq{3{M+sMkKNMX{nX^@w~8FAl}9jy40~i4 zfsnRwIC{gwStBDOp6rYyV>|0evr|UBaHo!VHuGT=BH^G28vVSj&EN(kux94wq{qGB ztI>9g5ugWCl3dcCE}e}7L-~P(U{P@8g!V!Ce$x)sM;JyYPRF*dNB`Bt^*X7js4%a2 zjx$}Pqf-VT1?K(~mp|qNFFxNg$Pgp%?o49|7VuOG0-H&LNf%KNw8+6=jU@h)>NXriFNC|#>(2u zSG_F*KOtO^1K5tBKtRb6TB%_0=RbdQu+c1GAr=E)11{>`fdMMJ;R7GrRmN)Prh4k< zK))jT(I|oGsT%19zk?~0GB<1Md}x5cg#QsH)D~d24w;5Si0hS6P(ai`zD!9;NmgCU z0ZtqQYPjNI7Cu;}8@Y$x1J(C;@ow-oh2Ow?;{za;nmQ_PawU*quQa(d>~xhvS3Am8 zs!LmTXTQHcf=#;$Ns&(s4Vw+}zvTX$Lk3R3MS7D&zt0tx2D;Z(D)A^Fw!nILtd8*B zp+*5iX+=~=-4U)81`9wj1cBLKRg){W7&=Yhkrmpe?aD!M=3;oz4;UQea;|A=uB8i2 zd$}OwBbRCvlr^-ahA{;NwB^|6%-P81`@sI;iK0@qF@1bP82P19*#lb^L$lmsvmsNQ2n|Q<#_rvdAAq6WHMt z)jCEN2WDnw#2t7bovY?cUgR_HL4+L)+@0c+C(|$bcp`b)a-nrWT#y0#EWlKOoBGA@ z3qms59%yxwVRYivcXn!UE+CT~U<5^w`jh6cu|06hlp@zf*1yKKdB!>x_E9<*`1BlB z^&+FzD4rVA0-)5vdJha*fMcZ+Hmy(61LvLqrS|7k>$~$LytQGzE-f{&xK06muO(rSt@m zcYp7^oO&rL|NbSpPYBFNn5z9=30cPmhuv{(yNg*0u40~V45<>~=0;VI<}lm~lW?5b zj=sbwL-%ra!|CO)aK7z~%I)s;Y(8Ls!K?y4Hkm^b+Errs_F7i6ys~mC*sHaz1AtIL z9BJOVb5JT2fr$V?vk=;Oh*5BrK|WcZ3X#*Yb}k{M6TU?9(A2~vyR`wf#w1uU(fDxPZ_%h-iX)@uir3igy@tojoCxR9ba|>OtK{<4h`g)kY2a;UcV+5 zg7F0|Z~yMiH;C>F(^!(bECeUf1E~{ZOqtYbtY2vp+#myhkj!pMWmSEF{b- zJU{t`xC1_}sG%W4+2)&X}|+BDXsn93n9lgyCEqqQ{o1pOEEPOdA*uj?P6&K5oc}8$d5Jj-FpG z>3)#u&O8XL`(W0_rPTZezq?&8$%GwRm-_TCW^53q0{z(IOTmP6IhZaWWedPgs(Q-@ zNQ{@4Cp2jCt&zcJFme|_I#8t>1@L;Tu2UMFkR@W;Df}E?g&+Q@0GO%*Ip^oL3)k}G z+ICNG?+1Y04i(na5GT?E7g4ThqG?#xc|wYzQs1E!1^O80%YN2b^7Q0p5&SEqzSias zbgq5J5$Bxjh~RG^rq))Ty8NM+fNJ@8%Srsp+F~FE>1O21@Vwmw-ROAhsOE8qD|nY6Bzn z)|pacx0Mhs)SknHzJKx%gAh7znC;^O`N{gKz-ubA}0HmUzo!5=d-&Dw%^J2$)$&I-!#Tr^BB^Wg5V^?*!+L=>2*!TM?1N9kuP)VJbL za65tL3b&%@)?Z6Nqn{d{dqcxjvypQDyB(l3lggbS!wR>{-Z3dGDKTw#$b| zDc_>hj^6t19S#tyRXa^ z2U4RGGAa*C`PYOAh|Z?Ve#u3-#91w=tXQYBPCx>H4^K@g-%N<_Mm6c8l^q)S@5 z1vV`R(p^&0u}SIJ@Xe+7{XFmc{`x#TF1!%;UVE+coadZljxi?hOQsh^WLo3)Yo8 zC<)~Tzrs!baQ5Nkwuj|FV};PgYB}AR#?`%h-8c4|@Q<`TYk)!oK%w-`&dyJJc1h^K#~=Y_ON|j4>{}izermu%0%uLt{A}r!T<+zUYQY0N zYO1Pan}uPg0iD;HI=GBVAhqcoxDwl=Sqq#lXe}XqniAma=BgDl%LnWg)I5A z5*GvZWVQo(7Pne}srLTp_5`@g#hG-7WLH|GcYa?YXAlv&K5yrV1{OMzIG6^2TIsSI zCV5`)rJ&{UtOuL0u$GBQ%Ow67q&v;jmyShktzZ39-)-pDpi_PnUsvs+#t?~j>R+k}bmrjHv1UUI!3u%)Wy6@dRE8H_C(M`qV*F4J{5 z?BqU=IduPKutFWzFZEiK!E2}eP~Lj_2I>X^6q$l ztUM4Az*dKoDgC@7uY^EyopWEbUINqeULA?oAtkoGd$N7_+Fqqjuuh1;3WebZ&*k8! z1^IUx&2-}S`TBl#FS+q=S~-*6w$!4%d48H%Q1ET*&=wV^0A_z_LH@HPsxjx2?xFwK z3p`+$r3bjgedIQ>ytORF18^s(v=u-n53&$yYn_a~OfVE^Dop@5k!^OhFpoFl%-U>W z0#w2E5Be`=>(htEB)aaZNqWk?KzBXNK^J~+LNtd%>za_Y0=$KUJISehQAgGHFNUyaO30{A%4>d;Xh1 zQz!UOT=>N*&y})tS9g#PK_aSdmA>Q-QiOH$!Wc}`A2asxIcayPCBh5`Dl zoAJ7Q4?%F?NKxDm7XBmyzyhKcmL_Fg?oE?M*)D~$Xjj2i=Ao?v<`)-VZESI2Ul-wL zFc}f*s+8#!l{j2$bTUR!!_D;gFd*X+ClcBp)y%(O^QN5VE?Yq7MQoa$fr1S&EiL~m zQIWF}*FB!F2nuSry1Is@>PQMOnaGkX6b8k+Oc+=l?^{)9vaF62izDKck?t@c&Oyx#tYo8}J^I0CNJ2>p5s&RX}12uLwmCC>c^v z!BD9~uf3ieP_Bj2bS>uB=AckmBW`nMFa^RpAPZ1T(b$Xs0z;muL4&{>+@N4Qc~4;p zPn$Id6Z#M`KUgTqV!ni#V1NUsI#jLy%i%=03JC1-uU_kcwq=7z?X|mrB{iX0u&nd~ zTS`!?0o%;Ety;-km0Afsx2i`c)1VKy<5Ue@A4M?edB;R34B|$m*B2IE$SweY%1&KlD5$trfmVZ<96M- z%Zp$q1zm$^$ij`s5Hu0#i(uEj;LYT|N?J}0N6gxqIpR{o*W7I}X`3;4eT>d`_4VgL zZjLWATIQJj;yt@Gw4YxD$vsZav4NwjcYts61K|=bmJ+RQ*->-Yi*_%$I4Xbt}z~a5SPDSb*4a{YoBfl zb-TXS3HEux`uB#w0VtAHXK;VNoNj5$kLBjEeCR~_j*7oUIc+Z za-;VP?FHfm-tvIyr%^{tx$Wn(o81s6K>3WAWQeLB(5H=36|cQb-wP!dJ&u+cv26(C z{W%roI%)8G>%exYcK~lam}GI^KU_3)TP3WfW+^>3^n@J_VZ6Du%JqnGx7BuRfT0lK z?3rs??m6xazDrD@ZXykPUitAgo7JaZYl71k3~ee)kI#&&pNw9i;U$i3ND4SUi*6fv zoe)e)Le`>||KKanI3xB`N2$>J?KbKUrOM;qz90xhee<&7vAgIUX@}zJk6XEh-4w9) z;{_Rg98tdl@h&GuqP7WC=NGaZnW)i z^5+ubBvB*Pc9^C2F-vE&VHk8hCWehi{a@20N&Y5?r?A4BmR+!}Mhe0eJTx8!S3&rP&cBNlPwOZ5+T^$AuAND7BVheBu;e~&Ld$1IuvRf+&B#(2?=>| zag>mfbslMgiWlxp@Iz&+&?is^LIu(fEU3N0L{P*7g$sfF5H8kRhjNQ&8f1Wo0)?7g zQ0G4qwc@S&-Vjy65(mL3RlBmw9v#Hxnz_hRYVZ2Br>7@X$DfUf z$+R`Gjr3Zq2V3+|47jmAm~P(@Sorx<;_(8YGuz_Y&Eld5Z(X;;YJ-pKZp@PA_X?j5 zB{t1!5(C#!8MuzWToJD0^n;G5Z6_f?yasNk<3+{}S9c^df|~^!K9I}~Fbc;yj_=0J z6Rqq8JL5dR*yuu>B;2mxupR8x>)Dx^J&=LzjM;RVfO=4}FVh}6JdYzkJp+Ip`U5Xy zWy?*Y&Z)kFZB_5FaSov7!LAvX46dDP7f{F|_b3q5*p zFMpVqwF!#koNV@dK;enr_=6K%OKo6moSmP~y1(Neqw|2zwd$^^EUe<2<}%NXz6;{% zTVurOs&8g0C~~bA2n$&S9nlYT6|U=t1$`tHn{v3LuD7TeAN)XKsJXW843??^fNDtX z2PhVuZ57mg8ORkva|XDc!g_WOK%@hPYXePz6f-r1^hB&9BO`yJ)7{+WT!xzi_M3M6 z*MesYM#Dp{jJ)c7EGaD=%W>A$xsEimrCDB-7kNH5M(@fFM$;egspc60x;2p_B;5$6<10@e=S9#In^r~>`L9||^Y_z)% zMida)a%{i4r& z=&5VDC)8y~b^7k?!{0J)LMA$0LixNDruQ33ZMlzQ1C`PIKX?lsU;JwribX^WPB^e} zQ5*taPp8~u_1$!SV!F1qdna9cZ&lv69NRHC6!7e^zal3ZwDUK<$3ZpsXYATDlll(p;k+8&LQ{hW&6Ohk!Jd7*~KkmOeLNTBxJ1Ga7p4{(s;uc|;%F`Suu42>pnzg&AsW)Snz~f{eGyy(uDbYcS)cG*@1npbUb=+r+|&xe$604PCO(a zv}wh%@KR}r;-a@V1+>;T3ndiy8qElZht9ryhbY8<3rqtd+t){oFK({$O({F_emI@0 zW2VNs_Pz|X-yvYDC@3g2YNklE}GC`Nm?^Ou(2s;pDpu-P$ z;d48q-pF00NE?0f^ z5_Qtbui42%p-?5ZONx&kwKMYG(U_~Xk7RLpyM4G+%r5E<5FS`Vf~TifiY3@RuI&Dd zctis{rf?<|y61--6e`(pPTucmCzx2{m9=wZT^|17VCPmK4vr>Io;#>ynOSF&w*_r{KJ>df2&ZvD5@4hSV^N67;Fbo6s`%oAX0OBX1ON2f$5be0;np zy7#nVxlLWga*O+D*o-Iq8gpOFF~yGPc&*ag^$ai>QGo zP6(|#tTlNViN`6re0L=&ct0;yxR$Ed&f8qbSyM-z_z}i=F@m+7j8HDZ++k6JUZ>4pfaLot@ArpTSOuyeWHhmSNpd`E_UhH$p0qUPKA9kb2h(5*fLu_) zQ?iq_{7K>$yk9zuo+HmxWx_=q-U519ehweY3C9XjpG}UO+|NBaUcOvTMLcI&=O9S=nx7m||USBmYi+`oX1f72s5sK9@m*xCQ^TS+X4JfQV`Jl;o#HJgv%_g;s^OzM z#qYhY!>5|WG#Oz|6OQ%AxiTBru0Z`fyLGT_>Qi>F?aIlaiw+A))`UlJT?XlSrE`Yw z?>+>DW$Iu5<4?24ZnZK9$Mx!_`a9%{5U%2Lqo=5oj@pUj(+%;_+4eSqqw-RRoL-2FplQ+kf3iDr=evSwbu< zMb8GkA&1&6i;~?SWd*9l$k>!SryF~vsRa+*kM>T;v=YD|S~BDjn$^2~!gWn9ThJDC1U=j%p)5d2~-% zN`#6~E&DH)*KaB~HN7{Gw`ojahS%4vuR1+BDipm(D{|(;l@$1nWEc1)F$rp{Nsqri z-3TiPetVQ6EpXIB4`3oll)tu(Cq%_96z8o)#obW^wj^*FopTpx!Hy3e%fdK~$=G(+ zfw?KX(#^T3^!D=>9FliIyo&oDg3f=;Sg;zEz)}jp4up)Ug-|4m{kyqjF&*;Sm#O{x z`&X9+q8++AD*X#qOF@zL%p1a|wY7Es&`<^xbmI*4fzI}|bmkm4HOAz(R%9_m0(Z>J&~|I= z`dwk+c z3h$*5BTP`nzf4eOk>-UFjKlo+W%%%cvg`^4Zo#s#{f=u3hoiyr=s!Q}KD)Z4>#Qco z??kRssX#md#w$3D$vpc3Z-<3NCkl`{7MA86NEE88LlJdpq(OlS8X*5zD)V z(uQH%Q)x`jd*2NuJxfRZ{QPDu`L1ekU0qXDDVq>>(00gCzcR3CRvYDxJM98D>b%=t z<=gFAR`)Nbt_SCGJ2jG%11JNJFao^Y_q$Yer5=NAI)1}VGGrGS5ozMG)pKJ>2myT* z&ioJ8t^ytZHE@|0L{@uo6Ya4rx>{Qm!JZ2#sw9YPk4wvv3Gsq!BPdM;jSUPIn_|uT zH#Q331m1Q#y(Xzbhb@3uUL#=~I@OKWAq;qYDJdDzaigZ8(W#SS!#<$If(0oc*2^eK zExB-29U=!_EW{?@yu(%l%L3TQbS>s(#1~&aHOsF~n|!;HDDE;QxX_6%W*WEpdRG9B zWH{ZxjV)qw{c_D#)TArC$tUw^tZQ|Mb@ym3=9n>!T5i55}A zuR+QyKz0VnF2Tm0lCr<9?#useW4{})UPGud$~w`VH9dEQdh1315Nr*sPcEunL>@kb z-~06zU-PMg_zL?`o%kIQ*3bQXh3mAT+8=tjb1e(3rpfnYG`kowwLP&mz5b3Ay4TDl z3!W)UfI9;E64sEAIUQS@I%W?}cT9y`Sv}l3z50UmB}Y{@;>h)Y5?uZ%`8hbmCKDpA zOrFK^_5mpe*+p;H{MYlAmPJpo;p#~6Hj)YORAe>#Qli0ta%eQS&asc+V!%zfoJ+cp z#DYexJYv+PNo86+Z0K^y=qe|UgJ($cIgURTeHfjCz1B`<@Wai)&lsFI`4lnfSQdoY zmgna9l|lbRy2NCL0em&l;7HihrF|3)h#+i8V1IlK2pBo7r!sGbYzoWcNAqWr^}Vwv z#ixTLlb5hQTmUx)%Sos;*!E6su+M&1Cf49WpA+HOWRLSGeCYX$ni$E#tY9Pt*a8Eo z*hSV?6%s1wnsIQ7)s7MubILvkCve0jc6eBI3(v8a68>{pTsKR^AWho|zu z1#WnKTpeKBOQggjSJ3VwCp}arJ5o>jGEfS+#Pk=KLIChVD3EsT+FA)(J9Lsa3-w%` zYqT1?s1d~nbidS5w)d!fu8`lj5rS}%Yjt=eP5mRX?s97AyVXwYYK9o=J^;fpB#Q-M z3CL2oMMUzDWoca;`Q9!tHX=t^pi2;^8D)U&S2HyS7}>((dY=t+o331?5t!8M^}+c9k}QVoOW7O+f}IvM~c< zUwGHz7yp}^fHuyc*xAcJuCAFo9Q-`Ge%f)g6YqXRwVFGb{SU}$o;`t}g7u)>g_btS zB9Y4s`@!^v-({mBJs8^)bj-yd0>h2+je8fo!2+vs7}!yVM@MrKZT<7h&Sv|+YGbYv zN`*FrKMWSp7N`($epy-NX3nr}rwo#Am~dv{kVl*bhlY`bNK zezX=F5}k5Hjo~z$BSYR|a$V=cRbzJMHcGBj+kWZ(Tb+0;+W^8Sbm|XCe7Cvw~IBfEo{M5A&TSRypE)I)M zfD-?`H=^<)>I0J^v+1pvXM*paaV^=%M>VS+UGw<`ht6Xo2n6sRt#Ck&4xJdOHX9ht zEp=Abut?T(Un15sFnAovq7@2)zv1C>^LF*j=`lML_rj&tg1J|4J|Y(@L@obaU@ixX zlT}ztr!tK%N581I*Y?zmzMi*Zch{Y=hg;ay6BEf2?>hcnP}CtK^??H|a(!5JwlLgk zNjqx4T%)(*ZkJwTIylX->A=niO%+`K#aualW!EZk@>%9{Q49rWf||2SK0$d3%xBul zH-}X=VK3&*p2?{{+_0}*>boPhzPLIuvrKg?1CBZIP3?MFskWaH7H_7` zec#-)g2v%bbDPBpif@bWb3#pb3r8uD8;IgJEp>A~a9{dUfb_1Q6LCpBoBQ3)VAan& zQv;)WqO@YwDYSJiBzWt==8UwqQfvkhwp+HC#hxv#*O^2fFdWV|J? z7o*cNEB&dX5U=o#grq=Tp)B|PSr1rzVAXY}5_1@xY*98kw-=0VuHCm8KMgRDm zIdVP}QAAU?-vbJdSuO98{{>f!>)}+JC=Af}u>S)xJ1Dv%!L1b-vGgc>tiMCv{ukBt zvXLV^@FP)sK-N;j34pAh39g>IyL)>lHdfuEVu7E|EQ!I3)v7GuCM_ zi~C{!=i%!Lhp+P~9KJJ{+JVL4F9{PzC2QL5dpQdyu?_A}fg>P0u6SNd`i&KPI3F*G z_#r*sI%RNnJ_MnxzI7g?cOS?Zz_Cvk23DD6!wqH*wGB??eQB#L?|noOCX(oYJ5^S* zbH5raAGd@-?d1PRTRQ>C6gxGP5+gDWWMqfSF|H9z7=mI-!1IBqFmqt?Y`{1@s`Xo`0)rg5)+Gz3Y zR$y~VjvAz&@btdI;d;6)nXy)DHW$~79~it89y|sp1(M}Latv~rfAJUmaUa@gA3w1? z1>rlK_y`)Zmv~z9$9ij9qxMAO`5>vS18V1ZQYioQbElII|JD9I@!3^c)2*dVX}U1GT>R^NY6Y)TF6ncM8lILcbQSecaN~G4Q+2N0IP+k-5Cb?q+^W0MP;p`0nfgl34 z!P*x1RV8gmLDRReo~M+z^*S=4i7Ril@pZPqFE;WGi6xLjlX#Lgm4$*|@1xC2^h{FAF){}N;hL#*yuGzo82AX9*% z{GO<&d(+mxaaX3_N1)~ef`SPEcab8Msgds6)*IiT?nTf{PR{2lC=?v(O0Lc7%Hb~N zOl1VTKta-Bzeo zv9QzX1sDx#&f9tS$btKfq`d$deRg04O%{%q-1mPgcG}m2&2A-BDdWM=Zx^p}g3uF# z=`EZNkw>tR&p3!~S)A8;HGdyR&*g@f}-7d;Z6=+PVMk$X?APx#dhSue8|AyVBFK=rlYP61bT(6f9rrw z5<7^(pjh&pNPefS1NL6=JvKj3JOR&W>y)Xy!zk8@ZV?95&}F`UvS?}f$B9uTXHY{c z5~RUIdmi0D%!4EuoIgY9jC*oXdLvXtBdg1+HDB6DJ6}Wk0r@n7GPLMJ*@C5e_4&ud zjlU9*#}A?yU)&?=H<{Mg`rw-JPj`>{wX-MnK_7jMj0OeZf9Q!kw!kG&$X`O+mR4Hk zv8Q4Y@ur)+20|u)fAyrf^eqgrMK(ncLW^~^xF1x(>@`4~r9zvUn}PP^rT4rjhZlKp z(3P$p*xGBAX6h$Uqc2_)T%#FiX%p=(fZRS-7BZxZ6Z4jQpW!Ft;^NA4@_9jj$fT0@ zlS>w6s$`hAp~U!uvh~H9k7-dthlL{KZt|`*=0J7*VHYn7J!(*&jhm1xeRF{sUAgzw zvtn(m?Mz-lPqpd3(#{bE+0g(4+P1a6Ejh{7D0%Zk>v`S~X2e%u>(}J+cv%qWHU8?z z;dy8-BbhYT&2WGhaG;?;`d#>*KHxHuo`h6LTTdQ(8iTk zRAoIL6zmt1oF}ECK5xra`z-G|+(VBfFVO;@R0NWI4TX0h)?BiiwKs4`6KpT%u zH*c$Y!c=6g?51wMVc*APXP6^SgCDQ5_dy&PT^dR+jd#Hl`xB^<>81UkmyuFdeP{dI zUIyxxjZabEpE=Iv0q(KPEAF~+Mll_Ez7ehu5ufe2lI-!Ch8p(jK}=zgwhQ9Ro^HYj z5%8PzQv-;3khhjCY}X-^1<(<;%@-hM{@z=) zuY}VOndsHyN(KiY>|}G4-D(aLz77)@yB*sKyLnRgY>)}S$@5Z+_iI=ETU!~s_xB4#FteYb21Eq4paO(D1Z9D7ZlLPnocKIG z?tRnR?E<%*Uy~-fx*q?UPIh1medDy|RVdNF*$`NYfWH^OLHfdIoJXIJFB)pqUt@y( z3uu+~XNlm+9cIr(TR^6Yen*Ip53}64_FZFB+y8dfpmPiydzr}^Og0j+uNloQZjSOU zXBLaTaCbkgI`E2$UAePJ=UEja2e6m&B9h#Qyg)Zr|BdDFsct>C6GcNp!-TZC{ z-ANTvY81Yt|EH_9Xu!rwr37(u;U@d|=Rzg5-S&du%6l_7X`{U$jHJuptm>qs^M$7c z6DkpMrxaOONJtW5Fkoot!_9DIlUqQ5oa`apl0(ftw(HEApq;;!9Z3ds7`r;Px^=4l z*x2n{e%;p_`k~W(z4t0K^Fa0?0eywS`yyx6Ob$>B-^A?>`)L0VY9cerfLwAw1ykZc z8XKc7dLU6Y$FHo+afGMT$F;+|9^V6J;%9h&I1D7yTir2}uUmRY#dPj4>D2DjB`#ZB zKJ|oK2S-&yB4A|jE06X(I2n8ffeW3aQ&6}5g$$eFl~y~0Hcsl1Lv0DlJ}%(xf*})~ zWGigv-m1~L0{(tc>nDjjwHZL^1FRQJPw2V0r0o9F0+c?KKb_{?9vHQ#Hlpzz&y&rz z=Xy!!7%0m5Ik;I#KYF8T&_&f0L$L2mD_}lG*;ioktaBx{)Vd|Iq)Ipb1WMy2 z>r-5$i>s|YQMFv8ddqRE(s*`vcNtBeUD|3QQ-Og+uWetO0hrNelErQc3JN%UE6neo zD5?&%bl&S+Wvec`V2v z>Kiwv^6&W$-=L&~2Q)OJQ)%2}X~|J3Tp0iQUwa6}XRV#sHbS&3;7uw%_QzDyl{Rsy zBlz@1Vr9~!+8SryliI$w{Sbx5#>Si+rT`*?5u;0a?+lm8sro7ako}ScpH4cjO ziL95=W3JVa+nczxFo9M8eHmHh>@OKN&)hn=`H6Brk_XyVe3YKt1&6NZu23y-V#qfL zaDv6H(U9LkmgaYf_f=o(WMqTes?OU##peB_{_f(u^X_tHG+bHGC`NdF1seAX?A3Kw zIV;CI@qX~J%RWcCqf+vHVh-c%3nx$bM?zEOeUD0*1&^(26Y;T8?z9J-LVfEVP?kYo z1ZolyYA1Q7;-O9_>cpkz3*CaDZ>*yT<0~9xj9E^+2FJEF)Jtcx;ohqtUJ;Nr7nsJj z)IIp^w2E#UT%6BwsUCGuGt;73wq1YXI!wCgXgmDo@a0r4qYg?j+uDEI+&yx_Rg{Q` z+=q!yQa{Cu{Kl$E4DIt9(N4vARIgS=RaA`NI-suZ-`t}4x*wGPzV!N3v`*FCJ}xgb zBXY;EJcj>c$-uwhZ#wvuA1f0af1q=wl^AGmGAw!(o^j+;R?~J$6>a-BO<1?x;B)|B zZmu1r7W?940zs62_&Ati{`hVW`p_WlAy^}jlSiqB-LEqWgX%pTrujg2|NT1|Ktte+ z)Hfu({!FfEOkdj_v&FP6Dp!?8tYvO?SCe|zF36#R-lVhkPEQcJfUM}Z>qh0L%Xja3K=f}&Nnc%_y3s7+~CfBrEXf^?iBda z6}}?93pOfUP63nKZNl3jbTHrM&IJAK^YEOsw88{Y3>2^#>0D2mCOtS@m4&fem?>gu zXDe|zjZ?QH#hr=yl|p4b_J1mD5M5I951o3v|H)NcalT$@2DOi+S;qKU0K> zq;}BLCMc~_x@^-iPvT8ZHFDLCzSQi8i{ib1n~)#}Hj9Sj?~|aISd8Zl{@S&bIcPDK z3`MH^!PY2dgg@SCb$xqHL)@@zwA4WIik=WW5yfBs<9YG-gaBzUJs?1reMJ=$XjRIL zWY_&FTDfH7Z#b${*NA{4LGkq$?_lyYqlk#`ZX3(Ti*hb!y+!ZJ z$X8a%#oK(>3rgL!rYj}QFT9@pT3nnq4t+E2nv|PdA?wSu(--)yEkl>XUe8T0^KNZ_ zqzUT@T|68XinMl_zXuvyL-HLA>TotBEo@-u!p{JS8^B%$n`b`2>go4>P~) z5#B9tqDT0=@r4#=`39RwA7Nd+Nn-p3CL;KQKsa!R!<%R(E-MQjp1`lskt>s8cS-eP z>^N9vT5fvfp-YUtxacll`RT(JE#oLOXUO+)>RNE~1z%c^AV0q$C7*}vp+j4biykKT z-0gWqQZ^dcxAeG=D{lU^436oO=FMS-vzE<2q${y;lRg=ix(pgbbi_68(dcv}zA$4T z!&g*R=GMHtm7|Qm!t>3yjoM~y`(xE!@7(cv%zYP|bw=}?#AfW1d&7bAy&^3x5d@yJ z$0<&%A)4foZ9W6P_H1sG;log~s8y5){eTWE`&@Gkoed`)3@9MaCXc4HbhPcvMVnJro4&MGv2`6)I&j@XD{px?vq zG7Mru)OW~*p3+&ClvJyJA9z_PG5>|=@BOb^8NsLsLs!p4?b?7}YU5X;WQnuh(*a>} z8EMU5h?1EZ!aim#zkcV5CEnZ2A1V?wwAhsQtGnmILNZ;+cl5^}FYAF}^KF>y!;hDb zZ(j-U`}lFtL@650W`B<&X2{0YK%Fl^=rP^Zd)Sgs{gUsxY!gJYk__YGeCy*X1EwUAY>#}(3UJVIt~UpwWHPrIFtw_0fuA|oYj=x4nmNm|Z{&);P?z0C!>C2iJ{0j@yMTm{toHNG++ zs#z)&4O}_nP1Nw{tT+5zr?X$OZmD{qdTwY3M`zMo zKjUT6u9&ffnrO`gRt&~4$S0YPk}%*Yty~7NZ-c@i1h261DebnR@+#^XeqSA$AI+ZW2; zwmb^BW*}axXL1Xc0vS%Y@Lgoh-0~*VP@H~_cjoV^xP=ON6R}Af*%s1bU`bKU7m!!f zG>lJJmCpERgb-`Dq^2%s*`NLExyYQcp>KXw5p$jXkzcaT;R-1!>lwLT>!^RE_WVL9 zeqg=s-EHjE#ot@ORX<~2u>9UN+=`kNJgDq4Ax9HZ&s|146dgSlyzY-(c4Tm)1I6c4WL>@kSSHZ|rPSi8TPj}{=<#FFP(KcnkxXIQNab8g-+(DJuls=N4i zm)z=PxjbQSQ9FvUF}7JPs}YjQzVc}M$=_$}O&00rdi^ysF%!9peze5hQO}-NbfK^3 z!<%%hS_1Z7K09(7wc#uGF>9u7UMR7VzA< z!Jo6-_SB|n_to*(2A@sGL z4qAG}#Py1@!v5fqd9xX7zHw6e5*L@lmk6~c#m~)ec%Ex$NHd1trVcJ%mAEu2P?qWU zu3@UqyiA{ifMqm~)i0T-<(qOG0eQ=}>x1c8U$gu=jA%nXSaKD{-V5SzzBfB7KNmRgKB`;HvGQHJWO2rg773WqjwnIAQLB1jks#i*uYtT9S8dy>*)( z#{6oyMpaCIl{UIVuTYgyJOAJL@G@X2zN}E&i|A#$q{lPl#5SgTq5#u~Zj)T>p|<#) zc24xW-tP0&sE=9XA2S4B1+KEL_`gdx9lk$bw4hVFN7PY|XJ6@>O8s3;T7l#Z4+T#w zfoxy5AgcvcX3du$GxS&W)D;Q(M~%X{SwhV+gk8ysM>H8(VHCC`L)e>($5fR)V&Q4) z+J0*He`K#-4joV|A79gRf8&?TVbyERAg3-T5_u~==v}gIVL2O_Ope>8#(6=)KaIPX zs+nYZGJ-inp%XKWsdXc^8^Qk`BC`Kz7%jSQBYTnkqTiWF0}<_>^3?0Bfhr`}iCy9# z0|8UT$2>oiem^A_9PA+<4IX*Zw6Ha`dEL1{c%wJHC@9H9;BpS*3ffXBV(KnqN){uI zSJL(o<-H%1Gbf8E#Rt|mk7&`TK%YnRSwm?0d}FooLqU5Vm9Ta@)`jRH8_J;d*&p*d zeIX+7_$aowzIIzE+#(U`Uq=x<<+K;SW?xAoW}M$3v3M7YYLkw2#e^B{*rW8m)?!kp zH3Ci&WK+dy`_VsbK4kDFdmH)?i7Owhz{K-P;8PQ6nr4f<`)@Th4joNgAgX*v?@Vtx z3P^KYFKW72AO47@OqIE52JOIM`iOf^v!<%+z)ouc*IlFIy{m7bDszMOvSI*1Sc~_M zmr2|MKXv@Kj`GVQ1ZI%TGhr zC25yKdM;LzP!TqND#E=q68z$O5^c%1mE^n=1GVSMK2DrDU$ed^cuD^G)nY|ucC_@0 z^?ZxX2=kcIPwiyZ6<#om5;sR>_8%F1kRq7qcUc~z|WfBh!2dL8eQVGN{UT~qsn zO3E-!agY3Nv3jo3kW!dbngrd|l5}#ZQTU4`+m~gd?Bu>D_TXm{Cd1(5dZd$?tD*Wc z&W@sd%b6x@`J$nXd~^nUizCf{`Qis<0e=fDOo z9toISXEnU($LW=o1+yKA@y@@Jqx!;chZR{!o?k)u?8BS@o{=1u&w~Ht`udgMeRlB% z9FmYu#&$%kvF`E%bs$P6U9Y2tGqxkD!zhSSy*VPVc81ELI#?rb`z3p#i<{h6_RW*G zSx&F*q9#w5PG1R?XMN^YTN%26k8`k^J$isaQRPIb%ZK+p6^JxOhg^U3k%VnKK>R-+ zdN>R#p6D#ygMUlB{dFmfP5$`!_DYbs(K|cxfq8*|<(8GYs)Q8U@$Z}cw~Cx`BHIR1 zX7wvzjSO&er}mj#{dm4IxTN4n;u4nBf-{7m>;6yPc^ThTR)%|XJGSF$aPvoo(U0@L zq(^gKFxgjDlc=H@9)aRl3j8T(b!^*K@9+d`{L4Rlx8;l=DLse+q1-#q;GGQY!s zqeXB{y)l01=`XfJz=u2Nesi9Jy$P|sD( zeZeJ58!Zzm!_Z>Dk*au4F;l7R4O{Vu5as3P0knR}pNsxL4wz|?mX+m-v(vl8#(~A&mf3c{=6jJ zRk%?ANEwhMBpohmj3|pF-XX&K^2OR}H8!)jbEPmii!90@Q9j=8dj2=j$EI1Hueki+ zzWg~{bDE(zsH>b9F`ewFk;%zl@SQxysXfHd>^F#A4o^5u+iBfW`x`DlaE6}8^C5cj zpN(UZq&g4m`_E^cf9Ou=7RB0Xv4)4pq=k-)e1TP56wNFkz!}FBwJLDAEHiy{cuOY4R*F{yIxM`O9;&yGTVeM^+RTk|tC zCqx!i2lEdDxykXz_BtKd%vudy*rSNu4}lZLcSrY?~E} zMwq889m}bc`2rVFa<@b3a(+e4YpM^DrMxyux4}l`L1e;peWR?5OGUY|{60IsNw4g( zQ^IDBqryX$Nc0O4<$reyY~Of))Yw2+e6MDj@VG+$9nf#S`Z}Jh}=uBCsUoP)Tl?;2TM~`g66ewljvrI6(*kCQwnlQzg9+NCR zt}UDRdE8=m+?B#w_-(aI^SL`sR&VkCyR5J6R`Fe?RKcMVbnpA0cfKy%NOBnK2vpHL zUst*Ac5d?U$GTdXQ}dUFmEd%fS1~VITPbCD=11~|E7$v(`#e<%6YH#CrjzV&DS04`9F*DGTb|ijmGpCP`Db}0R10bVN zl_atafDB6X+`q)S2eBFq*trT>+1(37$oHmmLOP5jGy3909T;g`#n$WV^VTX{_;KY+ zw)PL><0RJfLtWkSk7P@_nkh>{U_nsbjN>-rNId%aHi{!D&o*&%Zq}dX^k%Tg)>Rlo zb){%z?92R`R3DdOCJ9teU|NsTQC5Z^O6aSvT6FV?ldaYr@<6yBKONdEIj1d2IK~dq z3i~jVS&WdVrer?+Rv=CA%R;gciSzjlO_lkT99f?e zzl~|+X|_N%(@QkkZ|u?ih0KaP8{!JVYb}Q{%WE){%D$c9dH(36BPKkK(}G6_)05Bd zQswll+2av^yDr;sH1}5yyUg1@r5z##%U`a zvvGm1g$+qj+!ydQuA4$$fA!-twAG)P;IWQWMvGuq$`_mt+C`tGuXoNih`N2yr_zJ{ z?=cq(@c{XtX5hHC=5PcY|F*2J4BkW;p;$?LGjOCWvBPngjH@*SNwUmFCBOSxNl~+G z{#G#nS>Gt%(8bH^vJd;3$!eE{$&c;Xv#5S^taCM%jcvbNyKUn3r_$GPIj!^>4O6(( z6}KPs-pR~EE=cyMk-knyR6HXl)qUV5GVb<#UuaabqiH-Fk}8dUShe-RF~~Qk)PGM zFs-p(8DHjxDTCVo-};6$*Z9j;+>$M-=tA>DoFuMWBrjbSE44$AJJx6-HDveaKnRS^ zKF2Fnxj)rX9vSg^!imntk}%!WE?d~4EY!rs5j(KReZid2C4X{cV~CCGpL3m)=I!L@ z{;~L^f1kG7O(@2pv}7k^)^u-EQT_HO5rvI=1|NqQilxquGFN}p;Saj77R4{vaz@VA z+|v)E+>P?V5H>6Y&9MoL;mK)R&6yF@^8 z1cU+U9J+?iyFt(WzWe9?IA^W1JnFD#?>C-!-yXZ|NI;HX-tLn3X4-6GJLDB=zQ`gUB2U@(lc%iRq+tPcCNQe5<7ehsis*FlWberq< zzsGuQ)9jEO?6J1$-{H!UU!b|(bN-y~UrH3&y|~&iC?4+}*l;F(xoycgS$}qRJ@*M? zhlVoRppwvoDfJHx)QsDp7I%tf$7;@w|3mj8z&Hasma+x~E1}+wnsLrsxH0{b30ynq z!Y$7(2e%v)=GHf^16oD*O95(Cq-q)M&1*X=PfOaV^A5M!h_TZ$iBFB&gdwcG-HNxb zeuQp!>^@PYmxXt&Ypu|Ig->vZL?u3y;v=VX{!$Hd2$(xQ7{o5&)}Cc$&E`zz6+%>?+AvZ+`tuL{;Dek*88 z3#M%I6oMyOX)@gq2D@Aj#*U4rA$_mN@QOES8CwRvf5@lP5oV6>@#SHP#^PcOpLYKx zpLSr5IU1^eScOXXi%o+u+j^5RHCHmW+vE9>U{S<{@iYLW$d~^vizX=Y!5_$(VB}Gp z=Bnq5tj3xUIpMZ%Ew9B78b_DiLesGk@`&9(EibkCeLXY~eAP~6%X3N=#atc-RKJ}g zS^ViSO`-r2%TC(oX*v4mA@lj(A$&D74*3|Qrqzb7WOrCrL2w0p(CFT>vgP`^d!OeF zG!`}+SS>?j!cD$1K~D+y*SiKkR$$2nKe-5Mp6UJY&iAdo3hcy2wni+V7<*%w5InFd zHiD?i#f|ArW1jE;=aj#C%wc;a$4xaW0jh^lnVh+Bw$k~PjgmsM0k&d|w?kJi!G>k< z@|aVVJ6d%-A;HKM^0qphAvs46d?%`sz^!rF)wz8{m_wo|<+#6I-_{QQ9SqnG1S+z) z{;xmTuD5hc^f+3z>>i|dEiN_lY5!=Q^%Oz!^)i1up%IANq|DIHKT==elm@5@THJky z4JxxR+YTen`8~H@T?7+ZZCtahUR0{tyXmfCRDhqxX&#>C#EQ6f_{Wdep1;nKO>4it zSa+RrJ5QN@AArOf9U?S)=F)-)zwX#T;Nyfy@{m~zSEw_CVRrL}9vle~RoO}Wo`K>yg9-1Zv39UsA7X_Mfq+y>#@f-Mh`pHxV{L{@+>r8Fo%lXAbT& znJ3$+rwADx-nqJYM;NNs1^|t|n6oWBjh|%QQCcV~6fK?U2N@crjPHW68{hNSFVIjv zfD%?9u@K#dq?KkuyvS;{o+L;clIb^JPMlbvHs~@STa>Fyx946_Du8y`6kZd;P8{hq zFC^Ngr!u{B^)?4OH`{u~0y%9zeh}R)gIrb_o5_$p6Oot`+iO@*0GI}}fQ}fEKS`y& zJLg^q3{j(WQ$L((52vVLWzNu9o8^Ux%VX`$f|3M4C190d(L*QqRy?U$(zA z9+>=75w4#e%2d+&=`1v+m$cGs!eNC)Fr>M3=W!Y|x{;Y#2R7skx;AP5h79yKeM4Hm z>P{-}-oc%B8jTZCW3bDcJZXt=nJXm+odJwHN7+ye|sw~EiEm{HlBWX8ySF<@tc^?!0RJY z#?6VzYXS7!k59J>a95Drlv?fb_p{AqpQ;;4H5v;)tvUOw$QHd&A;77UpJlSMJi?asRsMM5xtbPuF$uBMs=|rYfgBWXeYm~A%oGP z4ty~MP2Ss+co7cQY*a5pbUlUs!P_9MF#apQt74&W4iaqHk|R}aoB7{&k$@Tw;5~|# zemQZ^%^OE8z}OX6ripxp-ZJAZ5-dhXQ~8&$!xwi*YfDALN&-3*S3S-6l1>if;@L}E z!ge6XqyQpHOeDQ+4mVxM_T2os0typ&;OjncdAj>g*>eYzRfZCCpvl+~(OA4XuuuR| z1EPf71ix>cUZ02bZtk#^wars<9Q?>vyKc={q)s>-OJszc&%0LYA4R-?mU~Z^>+bk2?w@j3hqya!=mLb}*)HJ!0Y=btwvTJq zu%1^4*1%3B#!($KbfJPD_tg_nL#!v`%s339u%_|e3Ewla<4cxC9QaF6PSuC#vwtYr z7~eWl(#jfHqb0`LzZlV*>(Xis?$8*4w+#KftLwHRlWm{NR5&28V|2*^y+YG>cgNg?8m-W$BUaOZ_QVkiE&vQNI%&&hZbO3j6n`*FC5v1mxin?TuhvBZ={@y3pw zRNmfBAtPE+m+`bG-!+fh8tN}_5Lxaclm7U@Ny?! zF%Ue7>52G5YRyZ=8XvA+l|WBW;7!UFp0-J(z_bGxwKo<}W1R!u)?w>k;67p^25=12OmXCmAc7rL69Vo7FUqvN%b# zU-+oO{L7uXB(l;vv!9N|T8$xIkmwvsZqvj(MxbM4XGYW z@AR!am)08Og^4;0*mw2Rbi%s-T<^H%K>Ko8oBghjzmtNN(4^A+i>l_TYc9jRPf{Na zOD_WDHhc#HU-z*mQG6Rwk|&>(hNQhvA`qs8rUw{hWsmQ0e3EjykL9v;Y*wu~;a(KE z18Ge4ZQMq|xXJNq~Imx2N?cbObVGC$gkL&lAk4gK%aF=!elIYmmb z_k$X&Gx!|gi5v%t2t)?9QGj5pJ(3Cg3#|Xfs6)Qn-H#ml<*yWGcsHK)0L`N+x zhCici^FW%a_e!-ifu{HB>MELd1`6i5Pk|rmXXA9om}vz$AXoq5gP)}AmVPx1^9Hnk z04QEHd`&;)&(4rl+1s6@Xr=0py%GWsr{(y`>F`1q_Ud}zhzsj;pQsSSro;E004Sbi zQH1>>TACkdbT>Fh2I#w<3J|4T+)ETB%Oivh6$ ztlC-g32675w&}L11sf7U1o2u|i{9HhZhn|syu(E3%1r?;^z|VUSCYssn)@!mb=n2L zx>MQ1y()mm5jlJD_&Imc!`I*PdD0}Gd#2K?d5;g!*$9}*ry26d!S!a{#GmnF>hqA* zFJFjHIb1zi$j2%-A`S2PFqFO@WqX~v@*K_2i?!R==OWANP*SuT6g1rr=cL}!=$&p} zX8Y2|^l&gufB=nLXD)yGRGUzIKBu1RbS=2}+nanP=x;87t7?}F>VC~t3r;H82<&(V zAZb<^7PxFvka(y1$G>wulja6aY{Weu$&pNxcWZ@GGIeV>>*ZPlZk z5XYoO2l%&r7vRlMj|!fd5Q7v)oCc!Byd81KX#Wk~r3KXs?6%*p7K!cI-;8U%SWh_Q z#-IUZ0SK9L#mHA1xC(pIlGe;=A|!=9QjZh$LHTUf5Cw!!7d}N}{xY9%LdK5f%KGtf zTyVAJj#!OPmxRW>4&J4Xm#5Y0*vXqumg|2R2uVV&JDmzrA6UjU?|j_lf}`cSnr$z9$2VjduH!d7|Ck)7{IJ^Ds8WL&on|MsHSiT{UsmKfXpI0& zu<3GMChWoi0U?o@s3T9a&SFr~0~^OhW%+CGQ?8i-84Mp;@C$InJD`TqhijY?NSkqb=jei1SDi7C|MmX^zM>w##RJqUFJ}T4I3@rKMnf*>Ova9x zZOwU-+&b=r*Bi}aLC#`A%+0pjHV)qaN*u5XpQUyeYA&-c<>>HjLb85W+EoDnnaQ>l zu|hrYX<(gubL({8+-1OclmE(Wqc8g!{8dCF ze_`hc$cmB~eJ2)if@r3@!u_*H%mLcuXvx}X;ttif(*Vr+=09eAQJR?ub*^uxE*mzdujUgU zVB2~fIfa;Qr6vkjdiyqDatrLj&DaoZD2XH=$2)=;iJ8zh zOuY8OscP-t#@_-xZeNzx(eCP4b6$bql0(Azr0UzndASt z9ySjBUJSUxs*T5G(e0_NDPc1XjRg8E&_plgUq%{ZU;>6X-y55O-6A2|^t}O3umDed zyoiJnfeB2zYbDElT=rZ}3Ea6>+K3!9=cr_kk9PpI}P1 z*%AU&QyV$`ZMH05s_hf|FXh_95MI{FCdS5Wd^;R#{?!g&Iv{^d;ocOoKBg0&@$<_b<^LNkm>vX1!!|gZUI`L-9jQw z6slVm^^F4U@)+WgJy0Gdyjk3Gya1rp_qSxOfSKvmxenqXtHBa{{uR1LKBdFJRme!0*HIxWS5`Y}pU3vSu1-h2wi=lB z)X#k&+-NVo37}O;tzQO-p`R8Bf24 z^?lC;LY{5tNBOmHj`q5c6UW3XPo!Pq;(q(lETrN!{t&zuNKSG9i+#sUT0Xf2PVuV7 zhaLzPyxI((j%ZN&7?Xu%&h5Fe6JupNl*UkihEJqZWA!!P8x4aVqtCa{QC>l4&)dNc z1Lv3lIstntrU@$$)){tuFQ}SqJMl`sLI^>-;G)kEyO4k?CtT-<+oO$B3Jaf@@-_Lk zTJqJJL_W36G)?=cPH|uTe?X8xVzPfU;@8*NZ_rSXl?mbmOu1$ugt_xZ8d7pFGwJFw zo|?4Ql4*JNxH*}fI^(vAti=H)vKj}toSK@j&1@8Rg7$mUBd-{{^;c_GcC0}tQ(VT+ zcmqNWd)V1(D2;UH*!`a)wa!LQ+t5=+BLceBxU#$Y#P6FNxF;*qb;Es+(dbbgf(%kn zu;5S+3Y*0e0wci6lj9h2PH0pt=$b&AaSBIu{-pM01HwJgI*IBrrRB2c2Jc?qz@&z% zUihdPZL)M_b$x7dP6p#WNE&XE_1v3pnT-Zl@6Szj?6aE@*KKw88)71yKM%4!t2RcOMwAw{t;*lO;p(zRm=(+2_uk;{YxYsp_ixl%Vj-X9tvleX&@i};G>B?hJ zu5Q})sB{s!|lnIS-qyW*3Joj|i zs0l@_Z{gpj4=@tmUQ_>rxGR-g@ydWNBtbUQ)!o#VHwg?g2K+sN_?m0ft0(>?8`_&1 z{jX$HTF(=eX<%on`|&j@7w(5dS8MBz<%tSMqn-z&TS$w%J>cc+Fg%|SFrIPImm5Uv6d$EgerfDpCkhS0PrG!br6{70T=U~au<7@ zaz$T7f;3BGWLcp#!G=|m3pc0)m~B!!tHmL+d735HWZFJlF;=`G2&J%or34PENPYhx z%n}j+6)m3iwsxU{O`Yfo@59d(RZ_s8Joxz=V^}8E$pyjXTY@{eBd__%S2{06mlEr* z!#c-Zsk)<1-szfO@F)_~|6d5c{Av95O^umpm6!uaryDlolhj<9Dwp>{XMeJjK=suf zBTka{?T^83ATWRk0teUXm9W1G57(rs?lotng+Zz}W4UsoY3(M<^ejN1r{cVcBfB1M z(ZG1L-jwb-Nb0~&uS&08NwO=CU1_;)!&{)T|^B+VkUTB16B>VHS5Zna3$f8&jV!6-Dd-WQjUfb5&&=)pr?pV*Wi$`I^63B z9L}#8YpE|zSb0TW=zV zvNJ4Wd|H{zt$13K2Cvy%#(u<1_aG7xswXVXo3_K##-j`%zgq>z zGRAlcvz_kIf}HJKq7OLfTWD7I-0pHE9j zk6ujzi~?vT2*jV=apaa`y2FogFV1-Y?|dcB*~?|QlV8qTbf!z{1J%w{AWBE-(>Q5D zlrN6(S@oeE_wDy&K&b8x8h4^_V|AEQ4Y*Cw-9U)+!@#=8`V5;aT3D*t6CyDx%Sg8T z$_ck2RZ>ZL?f7q5^@E?C62-~T+l%^@|BbXm3{xr2j$f88=H1y3nL4M55T(&nTbilC z(B#$=k>6*J$~+LRchTO1bw3A~VT9*|9+9zkK9Qp{5skj`q#Xpb#{PyWY=}Gp7(~EX z1o+xD|1_yY3wYsBPmaV>jj*q$&)jhTGkNqdGWqc*DL_~5o_ZOZ_8pEED#4tee3FWu zOGiDS-jz=$CPE*YScRP^y4DT|=SW~8dbapL}t~>*mV!|peSn30`RI4+k za>f4LG;P1m+5O<*XS#weA0)|+KW$@;;kd@B@0Amr-;3+pNWwX|bbRzOi{YM4Em=s% z3lLU73(a3wUo~yUyqF!E8|xRIblX(jkg@H90mFjuwu|Gv1{s-uUvo6+Rgi|0_zJHzr7Wi zPz^*15xND|3@8F)#3~ZdOn{jUS(49f1%jT>HR*OSv^DyNKQnq{vsJNW#))-6`MBsy zj(L#mO9IW$_C6JkT&>fU0peGr%;>0}WD`^TdG|qw!|?g3OWci4Xxc`b^-)7fd@3Iv z!C!f!f!C0btzk1d^$(!`x_t=f%A2OO`dtIW=$JS}14%xpLO8-=K&3u!=freh1B*1! zp*(EtAv9NNBZ$(JHU56%bX0~6-J~7Ek;ZTCNSV?T{>l~I5ko3*r38L=fkXWG-Ss}v zxwaNlzy_XpwS+}wZwLZ`gB0zs;bga8DGDlKXEH_+Dg@Q*_=`1AFQ}-LPgoJg>y6&f z9unN7ciQsQ^Eeggvc*G9gxrb`-OTks!mw|YF+D%BHCte8huA4AFc~mdus{|m*0B#0xneBBR{_)rX(z?}(XuNxrna$Qz;0UtH z!5|nAZSMt1Hy?&s_{}2msg;@B-xY1EZfo>AVx0u_G9c1_GXdYf*%v_O49uDM!#Q)t zAH7q)e~IC&L!XL0{AGNweHGn7GlO|u3Oxuw!1H!rn;X*%aF z&1WVD&%%1Ych<)9NT^^luTIr|HP?s&;tU#oHh8WO6(T0=+%m$T;{6ZrVbSEhB&Fx3}aO{*(ofX{jG>=HjD2G|@ds_|C&Z*H)0 zWN4?Rxp3VLn=)ZV>E`#Z%uSx>{+GW00c;;3Kh9{H55HGVZZU*?|FgS6uHbqg1Swp0 zW33DQ7S}az7onb`3504%13(UPXPiRCI68@U5s#UOug9ojlOsVk=b-uFiQq0bd&b4` zkp;>w)-F#&eAuc-(-nbCIAfmn8&5XXm)DmR(>WHbMJ@OJ+=L-{Jn@C&mJXu`JsM*E z-#aZmuRg-B_w>v(iE>9Y>_b&<5aruO`vX_Pe<9B-GsudSXE#bGFf-_Ldh;D(AU=nr zMGKQ&V-}ejIMunC*5Zl z(2zJ`tE-?Mb9veJ{~kPT2z~Ar_bN@L5%B8=wp(D<;J9)qn^o)AHeeANA7@c;JJ_ zf8~u|Uhw2CA>3W~AU*v(@rH^RKKILO*UY(DFbFE{oP(k>udonEGl7;=AXPxaMp=ab z6z4c0S+fGcG8`XC?j7m1>?;G*Uh0H6nEDIE`|CXR1Bh2|Yq6@O#$p(WpUqo2@ovW? z3;%6@=qCe^j@6m7;r-<_WHOV=qketM-)(A-NxuHoN8Nlr{z(8DB-=9+_4#Sw#U6YB z=d1K{CR`#bFf+v6cq95Y0iNH*IAd^TqMcPUX*;8p6(gadq((q2*jiIh!~L#QA;rkS~~W9TBkO9OpczY^Ai zf;?^t-=J3o0iBgIKY#o&&g<aqoni;?Eau2ykqs7+Grj-b~vG&_+HR> zHG*TXc}@g1YN$%M(FKC8s8lK>uJo(Hi%}583Td#^X{dP|iF|8+$DtBq-iXMUc2XiT z<3cy$lNA$tMXM-~uX1CHD>d9f4Zr?(jvu%Nz-EYGXUI)I8}?t?1iEC9qeEYz6k25P zl!ZJ((d#fT%>Khirow?IQ!`9Dj_Rku5i`Vl%%SspsbBVFgb!V>tm!=Hbt{SK} z4-2%A?bsJX+?3VT<7 zqd>(QFsaNwS5fISsf^S-)%ah}Jv3SFp=t8}wni>QEbh4hRnIq0b8U2bqET7)(HA3o zW5W>LEV3AbZ!Bcbl?cG|k#Fp06<6BzXhuVMp{sEyT2;OI4#<#p&vN39hMXf8yK5>O zH(qk5jYk2az~Y{=6M5~V9B0C&lF5N3R&jrxJow&wj0zb1On8%k^q*XA(?n@onp|Sm z&+yONkh?}vvF{5zfb9++EBIHHFvC53I+hNb(kE%qUk(QJdu|`ygrjcXsg$|W-yi1( zi7D8ucxj{e&vJM$IH^whADceNzviUrfpw4i2c{wc*l?o&xT?gkhXVmB<%-7p8A#?V zFBu*o-y;d}X{Czk;jRg1jVajxZ36&Y^OXxGYiM_`>!-x||bWY(i5GI6ag%O7{Uv7m;+HleMdGiIsMQVyXeTL!(HO=cE%g(ml7ORc5 z2DFod4M*QYltMZ9Rz{Gmi)13Aw&nq_{_m1ihTB70(2Js&(jI=l8l_WhE~w$%!Gf0%3}G|jEPiL6G`VW{(Hy3jfmmBSx~?TM#TPV z0qeS0M6lk_=Ia^m=s#npP*ZY@yTbrRp)P>og zl2B)kqb|Dmrp+qJPW)Y;-F_=lFWqP1Gv#?+!KXDYHpAgB2)DfiHiv~1UV!<7by4bL zkN-E$pcI#q>*I;yR?%5 zP$kP0|JT(Y2kFh^crrh+#Troz>c)U)sspQ=TfjZKu>~4cI4nD-!G~_tX}EyfQD}tU z7LVWqM-b_-O?3g~^@no$zabqfF_WR=kE6{u^F#^Oc+`9C^*6r8H2BKd>6Ef)bd>CS z+fDCK!+f#)-x@Y-_~i0V6r@?yQQd}sa{(=jPpdBw&jSY4jQd_2t3F?u{sTwCZX#?t z&oU_`0#MN2n24Udc#=Bj=3r~y2-Fnju7HBvwEkHyQEFag3?CqbQi56-+=sEs{|P~X$& zv{b5BjBO-o4)KR%kyduTfTWRz8b>nfz$Bj%GyT21{O1u8p+mm2d%2%P{2mynOZn|? zR->HUDSLR*#tywygkLOc-VF?PzftNBIsgg!@bLSRjefh6`V1S^`_s;OIw&mGYs7_< zr0(Tgk23(CKqt3xQ-o(SG+A#O;7HPJVu3BrRCxvWc#|lAsZ?o46zD3F2C|XnDd*A{ zJ?liK1ig9t3N}u(Mtpdyc}9kYfc$^dTm|pQ3XInf>Z|YSaYdKTc<|hXpS)x2{2#+| z6GTx0O>x#ut|UG_bV;DSAfq<{S_`YZAO*u@{| zl$LsfrAa>lKTxkLin}@6Ih%L{>@hcYYHSg!)&RgL!rDW1ZcQn&f>F!d%qm$Mg5~N( z$|hqr+~su*IE6z}+%fMYCCNZd4m{4V4T?9mum7b34I2VZ%+{*a8J}7OVN>3n%aM3V zmxp2>kY9suWS8!qhPO@-0~)sEuydOujTaX9U757NEPE?+05*q|&K{wh;!PfYb%MTZ zfz+_FUupxdLJBtxS@H|AyDaEG_3Te1v9XYgmX;sQJ@h$W$HA#W2ZcZy6lVHS5#|g4 zCjjAus`A;y1T_!UQ1e)+`B~CI^(9QNUx_QZ^(6<9hl-E?nGvIlX}6+meZdWw!GZ$v z@pG&`)s|vVFM(PYdzBCa8po>pqw3jP^~+vOu}?oAs|q`Pk_rSG=jzeHnl9o9* z#&(1zfx9r8YNZt0^DcV8Y6Gh`(SOf9(|JbXjbOsIt0!*?$vhz@buTsY_sW-;C-;MN z1IPqheLslJfhPYI3AY@XLz)1G1E?78Xdp4GGOa0xF_9ZZl3`DLCB>3(qf~{9syv#NSV+O?O}Z?J-h%Cc_k`HLupB z7SNn53O>(cxCersIB$ zg-&{FTRR#eX_T}xY&-pqjB>-FrA-9Uox_GywG-cqN8n{u4N+{?>Mt1xzMFAJZTyEr z-&}RRyAM(+QeSeOf*WCQYijkte zde)Y{7=E%i51>hn9DXp%dh-F9W^@c2dMRO$qvd+NO|LA`X<_4?ibtn~`L#l3ujzg{ zduwCVgCxA?_Wsb)_kEv;|5>Qa*%V)r+}?1d9(4lN(V64+K$Ae_DOABb>{$$5>^8zf z*b5P^HwTRt{torIB&(=Teeq{rm6^ptSs7Bfka^=YlCy6(g=NF{mLp3agm(h7HUi7^>uGMzGltV+MIFaQoGX9e5lyL7wLRPt% zvE`U^RA&~r3(PsG{sxT`KeqZ-GMv#96=H#m$SFmp&{UtPGGfKO<=ME&B~`bEs*jQ1@{?PkJv+m_ zow^m_?K-!+hb=KrpE#ZhTk6`*!Js9kv*k6&=l!8GfXcl!X~*;=Z;GZfNI!cyVze%5 zr`q4<&@goY=W7k0o-cBvkk1NoA0&0TGs#aB&6(d137iztG?$@s>-a3-z3qqqU;Sue zF;FK0kxZ?1zVbc4@WR~K<}qc6+Sy~C&c=wKLl|&YPi)o0C~XZ~5tZC%eEZkBS_6-u zt>mrM6)j$i{-YMz1-Gi`?lI9y!^r^IuVrYBS&7=Laxw_{H$4v&fASx=3141epLs*B zE*Gg5FJhT6gpZ~sDoet7=!|-(;z{ZHo1wYyNH6;0aECzkAMOhFagezBa#z9p#jVhyLQ^YZ}HjmPHDl4 z+3MqbubLv}?|l{~Wqe~@_;MI^wnO{K$1tZ9`a~QgyU7Z7?`^p2`0gL(SDYe!Dk}*0 zO>}(Sx9;r}fCLa8-6Pg7-br^+zF( zlvE;EuDWZY_1C7E?V~_GtNJIWfD!cVMQ>UkB{zPCdT$z@c(+tUTUTnHZgxYu-22pa zi>aYK~2njKts;(mG$3YAw`4~Z~|~zsYD1_bhocu_X9Br zIKHfTxi)74U0I~mJCtZ*hSiU$16Kh}Bst;)*~?+N(O4MsB%SQIPWNiHT=`aocw7oJL-X>>S##;Ws3dGL1=$ISqj7s zOmV>8!=dwxKO!M#enSu>e#nO>O_{|}=AS}gofjtN_#|q;M93N?P|=MUlnDT11tDqH!w+;$`pQ%>!d>q|J zE$K_oV|Ia|?)rMV?k-X!nS}*5Y=O$A5oOEEuum{m*y-b%3gy)-8S94Y%yZ$_3<=vj zc2?}fQcIPAoXaA%x;AWHZo2BO-WvWK;!5g@t|CZKa`U;+mq8KTZ)H+a<$-ohpIx7w zxEIG^#s|Uj60#j(KB8Xk)bkN8pt9$#WPaV3wfFr>_bm(WsM4xwevhOTb#Tng>Gh!^ z1MRi%je9s4=wranIghC&6h3PC`$>YWx?DMh4`?J%0u5-rQ^dyRF#I(9hEEU4{Nlyv zGH#mFMTy&z-bTQdn&|E6>!VtoGE5bvB{YK@7&6gm`q{5+rKKiKL31_ywoekZE5Fy_EfGx6m z-z|if`66jeO>LQhg~+ULUu0cToDbaFp&OZ7XQx^+dDP;LzIAs7GL?cZY#dK8s$0;X z)O2nZkxl}laDB3$%ZK=k?)8e$Eh z{&AuryvLW-Qjlry6OURtB0-x#5^9{n5k`_IG5S3@v9FKRPVEsc9DhU^W2Zl z@x9`Ct^<-IJft+|=Bxd*$_x>n2>1J^bA(J7{rWOS6~Z;nYz3JIq>rm6tX|PP9IN7U zP}yR(x;&7UU8!7h#*Vf&=v;o$Toa0h2dooVCycA@t~u(}E-Wx@`_7Lm{0^JM*m9^C z4ot?kxK5FXeT1h8TY9erm0f>{zL4Ayd-Y1by0Vb`%Z%e3G%&-6a@un#^~tgqHU^2@IDk`yWR>4L5!EZn7eSGr|cAxfew01-~OBmx21WAms3q6vQE6r4wwKkK0vei2|IzHX@_4QYQUIe7^6m{6va7}M_{iixNy0&pY>PdRUcf|+S3xvdrtDEr?U?T`o0>Y{V@R?ih#KoGMjzs zi#Qbq7VkQ3R^U#k+lD9hErXIwMEU`cK9S>eo5P}2Z-CwrAPuII{mM?)Jq9Q-^P*@r z#(iXcy4{4q(qrmNOeir(D>U;X#@lMl9A_HA9M8vRW*|i*f#vE}<12V#5w@L=9T1;)uWx>&09DMTr;rD&UE5_TJ>pFh8HCAl#;N+F!}Z1&)vxEq|m`y?;ho_!z5n&)6Pe@9#QcU z49_w3YbU|r6Y@y$)9Ay(I>!}Z)>QU-tup@4uPfKb-%*-R$#BLS`Y)mg=X}4TRPIHb z4twmx;h0ya^B!63066JDBim!tpoa1l*^BZ7@7M3;D>H6s(Cuv;Mm64N1NLTe9FSv> z$^H|ChT_zgIJh$UCQ z{a7`J3(mz53@-Aaq-82nD53=A)>k5AKM}L>y80Zt%!qYxtToOYvVzt2oaArsQV(+8 zT5a78I#?lgh^N47>*aO10hZC=XVDNv?glAbk?EZb9^3PKqA%q@69+;>Pc=&Fw$ZN^ zXCbnJvEQwDkI$&3l?VV;r&?GILy{3pp(DWB?>-cApQ}z`PJ5#e*(d*BzaOOg<+j}) zu~h_WJ}(Fr=+GBKF>mI~^_jh^sk|3s@i_T)Iop_OLjz~B;0vwI$JHeh#+TZH3n7@a zIG_lJu2(n|>S_qBBF%@!5gl!dviCEs4{o_U;*5Fo+NZ^msde^PF#K{mbCndlb}{b3JA3DVUN|T#Q``(>gmRvur2<-ytX?Pb^F;E{1&#{!E1{HEP>E z2(PLzMa)j@tp_-vp@1sRzS0MzfdwnhWR^&C0kmjC+9Og%{xA#@w(2~Ijka? zf`2qmyA7jv=WKn&Sz|iC5rbQ7mN;fRC#&>@aso&`gZ?xKf<6q8(m>q{Xdo5fk_P_T z-obGolK?8Uku_S%XnY0Q2|PjFKf25qrtHM4tE>8IeO$l!O|ehBey)sc^6#OwX;3xk zp8v4~t?`S)74>G9EzF|4MuYUa`g#(lAnlnp%VPR#d2)2V$|A=E{ZxM?kyGM7oRY6C z>;Vf>P;m6~ed2->*XT0(oI11gTW(p#*zdr_czoWivl8-CNH0dvo-Y4Q?hE~HJ! zf1$7l!wsnp`2_RhYLngwH;O;ft(jhA)8ipLZSKWmMulCAjI*oaXKLrDzwtjz6gY zmzBfSl)3kIQm@hJ@%6b-@w_@H{ulw3KVen#@iIo%#dE|82*QB&iaCx$^zMWT%<5^g zOv=Z%FiXw^5Y4$=icC9~8qYRgejUg)yVum!GNytSBPnwXM*x=xTH~~?;HLyxqKd<~ z#=&{1Gk!U_NH2t_XgBn_yIX)s)u3GSu8UKdbB71;$$v{!U(*!hfAr3`;**o0NZy$6`44AN`v;6s8LMp+rwRzg?AGW0Vui|UCb_QFju z-oTyxhQIDe=-FlDU{V=G2qmEo0PKDv4@^fQrj$aq|oXK3-$(KT3Vz^bG5`)|W z2L8x=R7{Qq8kctcGD)rX%LFL?2oI7hq#bnDoR2zn)qOPp!vfI|j)>GqmmA?;*hAyZ zO|zUi(7TzHn8mt;l_05>WC}HpdLb$~V!_P!6_sG~rz|_E?^bsoMkDVCkj; z$WG8{iQjwyX5N6RclY!HNGBnC2ub(8Sf={Lg{QK+X~On#eQ8*(&8sTg_>;`XUX#D3fCKu-QrE47yL58SsKAgDpQW0Z0M)(u7jF6ZBYTG6 zMkiBSjquKMZwS@a76q_e5X>*#B^uLHs5Ybn!`fa~?+*J@;lC#2B(AWjC$>AZU|PV>WyBPRBdaS^^Ot41M_hNeBvc?iUmn*NQWpOF@pEVA z!@7pK=N~?OyP0J8*^Yl|@!R;VxW#!X>94q@w(kjV2|Dr zXdA&GHMh0REhxCxI4v(sY1%g=X{WW3u&MLr&$XgHz9p#-fJc_EaA%>-uCp@Ma@OXa zf-x&SzQR4nJ{KaSq+|`o+k_L?yek4G956^sQ7TO-oFiW%qBmhLu3Mj7QAg)yimj9x zlcbo|-XFSmeCOs-n-U|A{aP+u_o0obzFQH){5miJdo!lVF-Y59*T7$a)F_LT`r@&} zeAv@XfnPtba%c?qb|ro%I&Uztay6{SR%dw_7iThnV4$q>lqh`PV^ihmS<+sD1qXu! zr)Jpm8WIW$K-r#O009K3GQp?}fH0n8;kbx&ZE>yG(GtD0Mko!hRUJ^_o8FNd0i!mu z`w^L>b9`+Bg#E_IR~U6fZjXM=xVPSdpTlcTYqsuH1Rhb0{aU(LG#tbO{W>0~lX{nx zO+>eCQ34mcKU9XAe!Pde=L;3yt zcSH~2HDFl5KnFQTlYJn(IY_naLZ+qxM{XSVtS@tQn1 zX8AWL#*4oC%>=wC_o8m|6pT{?mP;@(GFG|~l#-ZFqmk{_2B?68t}K&5Hn}DFEMG?b zJbI_nwGSWEbr(LONHARw2$eUidAulSDj_7zBUSJ6)V`vAYE`7{AyKHr=@rzs-FwFk zgEii5si;KOL*U0BFk!kwg%>I&S*4W& zeYSB3_<5TYNK*BHBrvz)5j-#rDk0eshoQ9Ip~G?jGjg`tCjH@!Q)vKB<&FeQ{)<8F zdfmj&P-2!`nq$ZDy1c6TMiDgVMVcOIA87Y=#@+2%vRX?n;=Cj^%Py+nbAj_Q zGS!^XXe0U@v<>=9lsc!75cFk{DF{`IIvC9>T+lqksv~>VAkNd2+%mQ-OyFD8_tx6wQJuE6ELs5P(BZ3)&KebUaKQcm1f$$dgCu@!w>H zqWpC(pf<#IG_hkKUnv*C0NNWMHwLd%!>&;))zGyMp&n_ouNi0SyA^ViME2`MF3wC_ zSN1np=~Efd&Z53Wam;cw79DOh41PMW2VbQDN#56~6J_njP6JRQg5d`mPFE?YCQ*3> z{^7P4kKS9$RZ)6VRQCLAZ9cZv_FOxiK5E>^u~g^u#ks!B(sL}Tcc!K4&GR@2rFYxx zp~tu&L;V@O*W&<0VE^N(aou>W0peu7(dXAVj}T2)74WqABhHbnY-&8Qk*dm)r6T@w zBhG~3V~IJYw#zofv{QUPQ$JgjG>ou#6(^Cuh6!R9CI;=ST|`RiMM-}G{n?jX{SqvdK zrt^dzAVzppR5*ySh_Qm-LC3?p@4qM!der}n$qw1B`@O()S5(dd$84ScwqJXDCf{IM zz_4-AgjG&W4N)32q{oOh_CA+$ud+?uQE<#IaazhRQNM zW0___wQK?dAZ~U4J6w%G%AL+|FC5xhSR|k_+O}|i+hDJ0;>O&(@sON3k;{-#^lIO< zZoA?>M)TF46d2Nz$UA4<#DIPW8~tS|R1Iiz{Cfs_&qDyaA>)W?pR=KrpKsOVero*gLHzP;sG_;lp&y8UE)3=_*&R0otAVi9_0{Po!W@iFb~xJZ=@XvjO; z7c<>GfnWHPq?FfeOAOez;VFh{E`wP}v*~v7=Z~AyaM?WYA8aOXm=d74XGl~2W-m3R z^&(tN-{r@Ra~ERowIm??tblBaAsXbT4@;_bOsb8yez`{;^r(1%Ko`?jV!reF&czuQ zcqmY0u8(JZVwf)&V>5egKswtGPnNS2(12vb0d5_VM%6xg_(hs-Pm@KPzy9KIOpqd3 zC_fdvq>@Uj>`Vr*j|k|*kZe5>lZ=8dPHQ}8(Fx?kOb*GDvV?wGT*m*vGU?ci*b;xy zzD8cxzoZU&1Q4JSlaj#du#D{Npp_L9K<)ztNw(D(kZ|xO8SfV%>^;_dlXc*7u$1l{ z-(8g)*-hVw0gL$Evq~)-6kHowlh2jn8u% z`w^8sV+5HWi%%j4ou3^PwWvkSYeMbzk;wcMlrYs938!eUxCeXKRyTh=H}0)HuwlaAyFcTSy-vFReA9Ky|SXyEFZ zi5}sY*2Lt8{M4Ds*s$wVAyXT1#6aTzA?q!}s%*ZuVL~Y>k#42CyFoyuq`OW`lCV- z_$uLIqS)Ho(k1kN4e(e>+p!!z;PjGXSIi+Eo9(wzHI%KnouJ;FeBjF zv1aYns(1rz_YxFcz>H^bd;M>l)TtWUrI`G4YDjjr=iJt0%X<#3rY9E_EqkI^_;_|& z=M|%__(&ny?B<64BqJA?gBZfSU2OcfF$KUu1+tJ~dlzGpCn!C5Nz1@D`ku27>SaLFR_Dqm11V+uDQ=4`K z@9VpUI^KO^D?g%`A~(ANM8j#Tbsf=xrME%Xtwq78h*)vB;7hAm69@rIK=}_yhZa>~ zE>k$j%Q;RP>u+t{aB$OxtuRr#IEM_xH8q_D_q)vyv+f52oevg`yDbhyqE5PVN}F$D zkMbCqfu%6MHgm5YFvFsZO;DsAKTimj0-m*9tJ|3T3hg@JPP7067+gC)>^@SIpE|dP zdzOdyn##36V%d-qHUHaPHN%KZT?b0cHvp8IAuH%f!QON$kb z)jrOCPg#6F3ff07A?i!7J+8ZlX_I=EOAmV92fDIO4D==k^hn%Yk(}ybXOD`o^X&E< z|7QqgXUB5lMP6mbp~>{4W`sI@7>s6YY;B)sD#u>902;%mR(SrImc#W(8KTq?(?Z!E zTyJEd(+u}e>GqJ1cimp>EgJUjdFD8A?iW?BqAkXAW_b5+Rs~F=Yubm#{xetc^c(pX z9R=$Qf`O;qmAx6CdS_j7-4!eGOZdrhyfW^6P6#~e+<~V8dujPtwya>{ z<_>Z++U&F2paDxVU~Q=BwJuc;YB=@+e2 zpRZ3P&6d4Bc2~2%bS|LGYrk6gM9b;y^q%-sPk#YfCQAmB1DNX0y|*&g=fRt#WQPy;%U9cUq~3bfm=9T&E|$i)qpkj-vG|U4w(afp)gA> zzFU|T(qZ%bsr?q%`rAM*7b^(Ox~r7*`((S;3k{jZgZ=Fbv)ArckNe7|z|POWyt6;B zrr-%C@|n9N!q|{&6N3-pb^T{;-c1ZLZ$UA8*XS#;rJNR|C#PE|?{UNtO`!zzqR#Bd!PA%_lHUI8mG~<>xWBnRJ|an`4DQ$fh4tYK7OY zL8{LoQT(Q4?w9+k^`2uEl*hn0$h+E^s&7s8q52l046Kt}?Qr_SfK9P7y=e}ZydaA3 zYaDn!dE>KrL)#Eyy;RlAL&VM{_D~WfP~2bmI16WnamV*_MmK4D>SuqA6NLe7DxlEt zCG8j(xZ=o7|1qa(8t(!=iBo#kzX}cz0mq1sk1yU7Fr}@j4IwOt#^QK(#B_$f=b5Bl zXC47;TglaEx`G=&YCGmZNOeHvX{D?i(4r!!fI-&H2tQ+)PAP{)jGo_ugz>ebe@<_LtFMkhOa06TWwTulYr|oH^gC%EIj`{xF zg}`O=ou~N45Ob@?!3H^IsMq^Z#Lp-)b*B!7ATSN|{n=MT3@JJiarp{KmklwJob3Xw zx9&qI$j0@%6A#>z;dAfnseGd2dn26?gfCb2NcqhxI(2?y{1C<10ZKdh;qa8c@%&Zq?)Q~#pa zhTRJyFUUcwxYjrB*+8EK)ME<=a+4VTn~|2oJ#(@T11mwT>3&&0&xhQIqF&)l%T}^E za<30BU#P0KnS`bt*tYBgK7OMj{_F!q$6)T+c$LfWxI25(W}^d) z0n>wA1`W5h(sUuk*jCtRyU|E^r>tnV{&zQMBS6y(EaU+$1!!=Bcp~0$g}}lJxOMWU z_x1RM5kKKikG47g+Yl8_q8D^Lb(-sMh{gj{u5nR_BQC)H%Mg;fY83pMtvnKJ5us*E zpE$t$0Iu%$)&T4ykwdL^{`FDy7gBxs84M?*a(H9D(*H=>nrDEXqNIhw#rNzlP0Q%dj<8(f?MbzQR36-kD@p3)|aCN>um3Z zmpU!#qI3fQO6tUlXK5^t%V_Z!Se>Y1Is8u-x9rB=um&_{V2mk##x31J11PxR6Xs+# zEj=#QU{v84c)#EWm0#YNh+@xgY)pH}-O+flhxYM9{;gvgPu~6oOJt{#tM%z5mVTb z1Q|d;&6la1e5lQMzUc;V55)p5vA7~e3;+UwUyeN_Mfx)z=u^jSSQ7^Wh_BXgH}^=X zSx4Bqz2e{GBc!bA7+n&Fm|3K`lE7Zr^||9%gK|-teaP%1;y*NS^hxCcJAsimT?|3qesdA4~+-QBB3=&j0{y8NV8ucwq z{-0H{DoG6w3!tw)2wVswTzFl$2RqCv02~2?D#%&e5Z=8B%yw~K5t`ZSQ=Hjcdndv;dH zX{B9<12Jgt(3b|X2<0`qR@Y)=hPL#a9bSeq~9 z*S9^0%pDsa=lan%HjO{{@{)lJjL&I2q_rn`0m%a(N`B(Tjmv<1as>Cs4-o(_@hkq$ z)hiFHrV$RiyON|$CqD+15X6Lj@UwvfgY$HB-O8mGj69ih7L|b7pvhKbURTeEH+k@3 zifc4k|GpF7A&Wn1#{m%C%l7usJ&x-NZr|HF<^TZzaKLwv>SS)q9%OI+;*W|`X?L{5 z<%KW(=|%DMJh)-EP`O5bCeyu1N_-e)DWf(T)oTvyRG-EDg@hEI zs_6!?zrBuUUbFNo-I{C1GgtnVG&#n z7Ty_V^qz3~gDzL%3?Cj?YT$2U2;pL4e)8u+@H2h4FA1gW%tbyczaTzm@ZVc?EE@}A~PZREOBoGGBR?S3((GO_=3+? zvunNcdu<>+D6`78)8 zf1SXYO_w<7iwEQBhqp7p0?@NfsDq?5z0cOJ|L|JV^I`ki`YKO)UHo>wt2P$^SU_5V zDR2m+PY|tXtJp`#DccjRDMus-6L#h6*q1!AN97=ldK&Ta7n$ONtm6q>y@G5w|6s>2 z2CIWcbhk5JZ@A1HLQ5$>`svB$74TH!>ClQg#*{j$GT8wjig=`2REiL894Jceq41nL~5MLV)KVpC<~09BXZ@m+ooU zRFwT2PoDeaFk)yGC+e`Gv;#fBN5Mi1oXC@bcQqg#%=WXRWzN=VW$)h$@^CZ#hcSDr z7U1$0mFm~UT;M7D0;%2pJXH(1FlP$Vgv$NCYS!IcUI_8r!f z%9*^?94XHH9hl`wGFZF^2p%tmk=22#wtib@E4X8M=N0+Wi){RJR&qK?efmR(He5nK zNGYNuav1tE9qH8816SPkA4LZI_T0;@C(KDR5O7z4pF)g6Qk9vCxLH9LBr%i*hW`(UuRz@2ovR+pB{q$6lJ%!LVf{72PAnO2~2{10;sz zDub~VreD3Stj2o7X;5ul% zFP4ZK&CV42w06?zx-qkJYh0uMof)G}F?$%^;Celc)4EI}sKaY_;}&q;a^wOV7QkB2 z3&Y(YJ3O732z>il8{`(rs@i;Zpf67JM7nnJL$xh^+hQte@RmMQu!X?466*2HTn6== z>)uhP6oFqAt#a68WyM7Gq|5c*(hH-}D3hGo)0BYJaqp=$V*f)N+;e4fpaLqbI$y2a zZ47|&kzv9I+)K$?jAmCraIig%qi}Ou?{D2V_#z#!cIPi=C@dC6y!izk8 z{I_O8VIp7eJ6@MtK$13H-c!7&PgUQbi5sr0X{ebZ8r^UK5~?OcE{D1W;KZ^&e=W$f zWf0xLc^ok&RxS}-VCgKpC{`v80q!O*g8R%?cS$x%7ajPWC-+I<&V3GGp0w&ThKqSt z5!l?WKcd^dFQH?1}XskO#1o~xYLubt(sBe4Ct1;|rQm;cDj-7EPnEnc9 zTGduX?qD11n!hVmPV!>-#pjlxNFVZFdKF02q6L?hY7D(c;-x_PFi5<6uwKu$J$Y$F zi?`~CbDLV%;v~YBaV8&tWUpa;G-|#nylV zyJ^Rt2EU#3Ws8Lo2#Zl6u9;J_5eHBRzAE=GDvEg*TPt7`NO$BrNXC_}_?Itw`Thc( z(re$Ax4#qj)~UhZuZz&Uno{%BDcPnkyJfCDWs%FNzxoTJ09XwbS75)S@0H{{{PTg2Pp5B8oSGO(P_MRPhi6VeGP%&xj zaUVsKO{^SH!PPAolBy4JVm?myvYftm+DW96*Mx~%O?D*D)o#T8D9V8pk52CJrWH8f z?(d{vZe;7Un2sn?&Q_#rFo!K4fsv73u4*f6S1zE!mTYj>u7Wf=RNc0gzb<}~_j6?M z#z@bU{yVh)Z@|AV(N(V2(~6s{p;T`3hfZ^Hj#OBgJC)TkBUO?9!L8>R1eor4;mxl* zKR86&EY@Z6aflA)YeW4JK`Ow8h%p=|4V!YC$5rF&s7Y1jcHU9n8Wj7TpP>@gGHe%+ z5;+3Hv}ekxmU=QRi~K0rjT%B*u)=2{)MAvf_i`fb0y++bA+RG~5u!4|Lbq&io?w%lO_uITML5LY`YScuM_@ixbJtU5D zw4jFJu3;AB4m_6E1zl7GEM2c1sk z@>w-$^dC-Zlr5zPr!K>u@mKg@aKl!=^-mnlOKBi0Ix`|Pcxbium*B^4f4iEX+gGus zyOAu&eM~N+hUT@e*omG2Oe40bul7!3!5#=&)UHLroX4dB*s1`6%33OGIk~vjJjB+C zbDAsSb&{})Pu6XO9BF*`_!yAibOmVoop34r(z=AD*tmLaF#A48!Ld2IUtPt@76=yj%Z&%K1J77I?3e%fDD3QYwpHn$H2Cro9#kkn z-1%#>OcZ>d4BGA1pY)P}$exEprH331JZka}EF60MZLM2ug2J#4vD5P?_^C>4{P1S4 zm!&l3Qe~Ly^|?e_0&{j9J$;Ogr&uV+Kvk>Z!wrZ%@7}$8U^W=3$$b{oAX_yE zolzvCn4=a3B>sSGs^V$kwLMa$Is<t*#trO~B;iR+WD9Y}f)VUwz2^+IP|D z$jzyLs=q|sEmV1kdpjSzv&iUWh&^w>M7qypNtFL73993u|tSeJg zn0%)%ims%OS|72^T~2r;j04%b4&+rP0?UZ+3j)i^Mg7bA_5N3NCy7o%`|t(d1%s$wB$6Je!T=~8<}t=#JTY*o++c)jUN?$urhW9R>lboQx}c?Gu8d@?WpX{ zzBb=afh9ifU$q&!SEe8uCv!M$>5r?dHFyte_sUi>uB)zhV*`{X$Dh$u3p>;Q`2Hps zlma|aF)`x3N@y1y;fyW*eiHaBOpl$iwHHeC%5s?I{Fz&GUDk<;KpZqjJbggh7_8C{L> z=xO&X{44&--FTg|+K#dhej4rAFh`enuX$Hp4N0^`&F?NDw-_$E54va6?UT2{LyRZ9 z{?=PyY5{sR$TjpnnSK6ZhgV-j?>F?s^yc@;`k%8y&$APpz!YfP83lpFQD+>Qe(e!) zjAb?fzU=AXLcrN<~@S{O;$mz1!Sb*At1q6p%2@6y;>JJ z=Jke)sPFfuQ624kJcSnx%e;;`42A$)cfty3xM@!5A&lwq$~nOm_!{^8>8OSGt|U!S zE~d^44b`uzI3K`a!bGgMHT>@*|(mPmlvXRFuYhhj3AEVhi#!yNu`^J!_7u{9u>1@V6KWiaGm?E!M%Vl&hjuV-P`>1a-!yqb><94@Vqyw*&NWiH8rnqTQlF=@3pmQ z(PwYLGV`B0riwfX_kKU9Fn{2oA-l>@Zg1-AdhZVbrH`@hEpvwjMpG9TkXj0gz(#MI zO~p!o>a@W=a=(7?FeCM`H4qX%%kez96mk5?D5zt>pL#VWa=0nuNLBidwy+IEOLG$M zJKwk9lX5nPcNTsZ$gcDsZgl_SGMesfJN&RVy97)edf2gp{jsg*JCPu7@lYMnC$?n(0K3R@s3?2;G+Z7YB9i*Q#HR0LG1@TQbP44VDyv zvvmnGFPj%;n+qy(HUy1lkGb{d^#wi6#EuM>0%NOXa-3}M;vT|5Z~Xr9M&EmxVzn(c zCe(UCTOH<_dk4c~jw1q_f7fnm0SJ{Ha&LXqy8idaUSDjRm9=kMOH$UKd??2A=b@xu z%iIW_zHCS0|6U|f5gdfUOel#jd;8`YLB*I1>33*Wlfr1tfxo9!K;Zttl403_QU4-c zwlyW}RVD0t$j{@bcG!36s4g#rElaSds1|kxKy#o5`LH7>vDEU_bN3QYi9vrjnuRHe zPvdO%Fn@~S1z;C64@Lzp{PK`_F1D;~!|I&}^12x)* zF&Xs&Mbq7>pZ4tP1sSsmHKA7X2-h^27>;rMFPc&6Sw@Alk)Q|xD|P-=tT}a`@bVtM zi&GL9bAWj<2w02l(_aJzG{Auk$n$_zZ%qr8?vlIVN2pm<*w>=U!R1dJ zaj9(<`^2qoH{|Dr7TLFjKhKS{^F@6J-t(_Bv4a%flg^pU=6ZJqo{wKu&1$~9VtHR$ z+_$XZG5XIIYo1(`O3aUur%=&kxWJyg)NZ?~281z!89iRam-kQi<7m;r2@a&IV0H?q z-8(>7fOzNO#Zpc&H}X=Rguf*?CEiN=M^7AmBAh8d_HxH6 zl+$|MlY+51k~Ua0T`cJL*JTKj{a4dheYVj_%H_ z#SNNbvc*nmnC0q>=RG%er@v3^G()_Y_ex8C%s=~T=)StfQ@`G8$CbWt>1yBq4dMzb zEVDQ~e=T}Bb#{f+@vKtZbOk+(=KY`6bf9aARFAm1&N7o9qQuLG(32D)ujM@>G7SQ58Lmcv{B3$8xdz>> ztD}eS_=1(6tM{iIj_hGuFmD0*BHTs=?q{VY9WT*e9vZ!V=h{gx3#hP_Wk=K-6Y_{ z0BFS;n!}F;0b~t;M(Y`StBk@=aqQONuuC~}zpcy-#p%u`Cui7nH1jf6=c$P+3y_ z8MW=2+SO{L-_V+uv|(@1)A{DlsI3UCtRc;qAW@>S zBRC*cuHM+N_O>ivV-ISVuECaX=wk|&5`eSe^d5xhS9oxt%a9Fd5PDJVAkOEr6=e+P zLAgIl4C+#2vs%6_EF3@n0ESBCMB3A7a~5k6M}8q(G#@?e0^$byWuSf$@&UKxj^#R& zgT>EKLI~^xoB_Yiy=m*Pl8@nNule8O5(Bns>Caxk%&|IyDp2Z4XP5g^E+n6(Vs_{U zgO-j%$l=eV1vlnGzz!h_?Rdyr@Z4}waFr&Hz5Txvgy~*78@%OBb}?5?4^sO%KHP9P zH{_}afFWQ(TZ}U+oQbWQ6lX~SxFv%dFK|_yAooifjtid86lwMBIkJ?`mc=yv4%&{K z7>R*boOzAj4h|b+$%y)3$eZW-LI$TA1G~1`WCSzdYz%oQjXS5$4$#-KAyJP+e|aI+ z4W~~t3!+i)(JE7MeWhX(3g?l>0^Y@VXuN@hNwnzTp&6AQajxios!8|6jbdn|oDD`P z&(4Is^QrzAyt^-JeFk^Tb|fHwzf-~k=o`!8qkrb?VS>Puhrgra$?qv8CR)MS3A%Qx z75I8t;6dB{h8Ov@ov*j-zn3S2 zbqdktDaz*x3vMLGe)Ij7Ak-8Edf(%vf#|6#J+U z!1+eZ2#65<8u8-=E}QcVZlsFwv=OPb6<2D{FMDFYyrLD}C$XuT`$8KbN!?zxCvesm zt)I$Qjak_Lk~h(8y+YXRCokRuEV^)T;7}+*f`#I6Kb2_UAq7DlQV?|ra9hrVU(^VA z-8q)$F)qSxKwvuv1sokp>+MwS5}~mB;_kOTG%2(a7$wsI%oFog@N%zT6{wXgRYzBC z)log#8#t{YQ)#T?Q<8gTe7Ba|up3$2NUpD?*UJ$Ae{y$~EO9#II{J5@w|1Z9Cu#ti zUr1KAk^sIJvKQtR;gMjs4WjbtJSIFSE z=9lnUvkvWC6`zBCEN$|cimfUiA`u6v%5QCrV-dq0yW zLCG_f`xwfv7^?~tSLEA#V$3h1A0Mbs^5({&(d%xmp(lC|a}97OE0Ok>(c=D1GwNgk7V4<=U&0E7+RW?tde%B)gsZ;B0M)hAJ*86}rd%#d{slKoO{ZF?v z9D(;6%{(eBUS$AMBKP;jdwJ18Lta*D?d5G7TkBdWW*i0wrulcULzlz5PNm1Aw?|Eb z0J>uM9{cOx8RGAFwA9klsubPf9iKbKko1L#!biXfE7eRGf^c-Xl^gm@<|{G5ziSxy z%>hb>LrbQMjOxlxb2F{_mjqYoyGjI>s%9@^}#LYet{O#k=!>CyKr*Lk!Sil|_S`vtkQlVA2 zTOS2B>~lP0Q2guJc5Nut(UDZ3k~u<^b%)#)j^*gCb;xC6$x+H>M>pId6*OtBWWB%r zw52(@)tWoC9yTI!eTNM7BqkqX=3v{12&Y=B%D%yO5rF-0FK7~*p?$q}$FVpBk$^G{ z6|_G2c3us!7LBtQE;wkZCN=#9R8mv?yp`s@)}T!ic7}VNbpDx^N5FpO`P_R*d47RGqRLU$o>+^EXZ` z_@CTNghdgV?3xmWc3EvShlN>^T2c*;vs+7@m7pN!^V=;+L>+$Wc~-J$;I(4X)7W~@ zP0U3}wdPi~vqewPP&Nz@s5KE6RDPH`Na zjl>9mRWa1Vb7MEf3jI*&=L7ft8{@z?Hhu>B)jCHt&!KDxxueXdt$;JD;_H8>9cF+b#a8of zQJFp)nl$B1!Vb+926Y@dX&H(f6l|JSx;LLO7y#n%d?W>I9>IuDMn(s|ffp!*Bk8(h z8Ch1mSiCjvHHJ6?T@~}@zbij?m{2DUSXi|p!M_gGQL?~<8m$p() zZSQJ>i^=bi`j|TUn-6qHz~OOJ?jkx8=DQkMx7VZBf0EleD;gV(bk$#^nsr?ovZnCl zEi4cVRcB<2U11%1Z*RR{R-b0s8<;nA51L2e*q{SvxPD7>4G;I#km#eryi7){0|$Y@wq2-mZh(VR}8e_{cy7qKNd z;nL%d8@9*8{o+Y5WW$S12ez~~s#Fo1o6tn4R_R8IrkyH&{$K@=p+lDRdT&ZaU~Wnb z^S(!Ikac@NoK7k?z#c0a+Lkg=iml74KoOi;yH^;|8{55nZQgfWOtqx#l(ZM&)*nW6 zDVPA+aC5nvvxZJYau?xH?ws&{1|dtCO}~h=CTAiYP_ET>c&Xkq?(-FkfCk~>;sUtT z14_Z99L`4G8NKUj#_P|F&QGIyY(Q;SQK4$_J=0_k`XwcPN2#PpFFASW>ec@?2RNLu zIFQ$auq;N>{YkG_-s(iqnYKS834K^SPRUpCp+L1q^+Y}Wl&d?%c;>YXv!o1j5D5DM zTAOG&a5|ON+STZR$`NQvTJ-|5=UU3sGJT6vdCPJa7G~@HiE>_5e-i>{WDDzAz_66K zfT!G&KiYDsxTLfyklrrpzFX2zTF)`Qqg*V{3MqTjjUB}E64seR6F%GGDe$aUY5S6Y z#z9Ac^D8=1`moi9j?JKBmi8SnLt6X6L?fpe68qj+R>DKrn$l3Fcm%`!@rw$|uOs_U zYA#w5E+G1IA-b?js$HMAl)I!i^j%(aY0(DWbaVZ3Ta==$I=O5JDD;F6RCA+c%I9#kiVX>Pa&&Z#+B~~u(OeX2{;fd3N#ykiB-B`~K5oC393A~ji1O&5FVu6P=wJ;_PaC^Zn6 zsnBIGMI|d10Gt5S$8VJKNG#Jw(Dv|$ghhZm+|7-TpZM~(0mjdL>%eF}sch~~-ho@8 zMmFth9eaMf$j&y;Eo~pppN!45t{iy75`(P;??BP)5kT@%;!L^)cGuLxZ(I(k!^mxu z9&M|CSB;IUoDM2)nE_$)w!bAjSJU8#_v`sVdD!6D(q?8ETNkI8uT$gW&QVe@m!`Dv zx?1pgZqrRs#@3~nChraW@#x;3OFMAxKJ!u4OoWxU1i{J-CqP}83TgLVmp{3(r`n3- zDM)x@xnvIRp>hc5!qD=OLnp5-EBg`|TQ!hTLZrTiJ={)@a-Qk6-9LTaDYaq5oi7&> z6s}m_8Ghp~D_#Ede;teDXE|U>7k3+>HxuURNje1DETuUA{V1yb+rSUzh*T6Fs8NFw z!?r!zoNa&Khzsv4k1#fTe6ju(TzbGnXzUSs*D5E%?ysuG7A#p!-G(w>hC1C+EsM;U zEdhJ;jo_}#7$qiV38RX%kPckJVglWyrW%zTPBC;`=EzRi;IgB8=G^;{TVJZNsxi0C z>Vc%y4Z0{IH(p-rt1sMHS0jds*}P@IfQh20sM5U;`%>$oM1DE#VlU#-C41ZJMaTT` zf^T)SjJ%z1zJ{$YuadcLa7Ukp@Nf~5!V4m1!l*bc{4#yf^uf`Tr5zpJ!u7-AQS+OW z9FRZ?^^pneI9=y`8f5=n2uYjtCuiY zjKaVJ+GiF9k3h(I_!pSe@wBRcnWQ-e-(wzauq_L}ORz`wxp*ycbR+PKznVoPfk&a- z+GqTF_WV%G+&w;KbtWRi(1S*1XdQU}mkuyuYXDZ01$X}^bk{M0=pLe@rM{%nrpq;) zk4=2qg_Ej(Prf1Iw6sMQLLC0S`f*WB z#mk>aHo4;l#=}FobeI)xcMS?NBq_!&bdHq%X*Rq;U8}@nE#J+QQspKIjj$!%+h4^s z9A_B}YCGM>(53>+x&TnGJ89iJ^fyYuDWo2`yWVP{c3c0qM zpwk6om~GOJrA=GmE9TxUOYhQVwt``Rip890w)z$0BfijCmgh|M8&PbQV4L@n*^itn zfs}RIO&IA80o5EPh+o`m$taz4&X^|6xgjHq_}`4{#=8eO1oX`NJVbcWJvt|=?=&^86n^3oKK~~w}8EmK<{a8 zIM<*{l(p!5`E6-m+Oc2s4k#faZ*(eZ?{8We@X&$fg{&5jioyL;IieF8li$^8q7uXuYwVg>F7Xqy{{ z?2-a#Po=K)xOBkL1|TOe%>Zj8F`d$+lw?V+C0{^W%V>|)UO(`LvKdM#7fX)b{&6_{ z`p#UUptYhRD)nLigE^8&FM=adq6Jb&zzXTg!JU5mm_CYckdtB{$G6u?fgFA27m zD`y-8=Ki#Jz_6rdU<5G6U&T)`7h`iV>eFBpwu0cF4z+e8E+PE&*a(okf3#gOL zO1d_A!wDp&l(Di7cd5l`Z)A2k`Nr)ZnWs|c_N|lrf)ZRl zGgMb{c3z+c+})AKXwMTKUzIwPlqz|TSIwj2zTuYhMX$_hp#4Vsn%JIF9GaT$yX4Mp2x&8c;EAzXm^jxga;WBcVEL1x)U9&tmozk5tiYl89XmOEY4mm+~?%gz)x{FfZ?0V z#+xWiLS}nPi%e`s?tvvI`gFj65;lXF0#Jkd;7|e`s`|$yPV<-E#S3Pr9z^8S8u($B#W$DV z-~;aI*8|pxA9#Kwl`f6Rvyj$TmK$r9&#O#86)3-L;KRE%#Hf*~+Bm~^%)5(gsD z7j#UdKPd3pWi8tChz?5X(9PbI?tmE~1afS$t21SyOp3IC z+c`(oDtiK1N}LXpFTjL5Y`9B)fPu3|H>Rv7_~7Pc3Usg78)SC(c0V6shT&6AI>Eu% z3Els9@NYs=Qc^}HCfjE(Nw)!?uc&~#L%42n#YCaipB;Dzz)ojg{bUq>?x zmmSa|1@H;P4nq;G4~J6y_Q*U{CzR!`PRbhhxviAadqX6ALeoM}RoZtS>Oe5z%+$3Q z2yg7~HkwIbV$xd-RKU9#SP`C>ZWY*R!)y&6fA#X=_@T2z7VOZFA)?V&U{qauL)>C& z0%e}qy8wU>_JNVgV#ngw=phuA@7Sa6=adVht!yk@#OHuY4W@Nfi(OYk+uqv?=w69w z`v!bw!t47zqWUc#6E8TNR)2A<@MEu5udy(4V_PO1VF8X>etv!ky&dp12U^QY3zK^9 z_eQQ3uSZ{b?WiV|llZNqAlQe5Nc=9-C5ph$G9pKp+{CQ+Nl*SiT!5{Y=hoaXIt$_oNB}0@1T7 zhO6tz(c^ibVhLyY*Z2m%&O1^#^?yIrler`wF!PcUwzclxjFCe|iE@}DWOw{@D zW(=bI@xLlFBOX*S!kI&NzpV-yMrFYaaOIaoB{~*Cl;sMPs(Rr7ls86!m+1!HeWOl^ zZW-uAr_(3%JWym(Kx_u~GY$PC(Ro|7WaRH{3w()_F*Aqk1_NC@T8Q8!MA^dS5RvrP05%-D|X`@{6vdI8 zS8C8ofa_)au4=mys`J0FBNz3nm*3lsxEjAD_rD+!WH&jC?QPhFZ~zax6MO>1)b@!8 zHP>y%x<9uq%}9?a9)DCJ0Cj*9WA~FI$8RpLxRSHETDmGCi%w?;kACHEGJ=F~Nl}T% zQt`9_SEY_FoAB$!G?4t)ur=t({r;7ZiWoH9$SCvQjT~XqJh`BL(v7Yc@r8jQwWLFc zSNnZ)!H)1MEq&|azsiZ4?lm5NdLp3Uf;CzvKY%XUGL_QL5$T14_ONv3*{^{tV2t?y z2jBS^`N5xLc&rwt`pwI8>ZU75)2~1EDDzL?yNA(?e<2F*iW9jCRG!npq&W8!S<6hNS(LdlC2h8#=DlQJWHbN%A*U>&_olU$lJhEP?A2(4~TY zp%@HYH|Hi7hTF-F4Z0VjHr02W&zdgukG)&I;(sYk#X`BBFfFMRI=Z-?Sk*dPSodfG zTFFIhdR;cFELeZYS1;}k?w0%JsV%7;l>G0t=gcoF zC?X~bvO`_dJs}$!+t)KXRVn>`lDjigE+ zo+%dFyoq0QkdLPY+Ri~E|9H)NpO10RHq9!9Uv+nq&$q;AaAU`V2Bq7fPF-6&Tq<6u z)aK<9tYSBMh>dgvbqV<@L7s`*vXUV4BifwWRM(_c`8+6#HcVQm5P<$iRdxKE_cE?>K(OS4X>-5D?zjg?_u2dTuj+Y8YCm$Z zm&}KT+&jp2=TCOLaHsdlX$|WVVfCZB-~GRZS5C5w6qWTNYbhxS3_gkB`QbLyQNS?} zt;&~}SFyN{QP!R;8VL%|9kqL0A2{$iYQdO>T`A;FRa=wznf4L?58(9EB* z>0u?qm>+$su<0C89H#{l!LsC~#r~pPh$5D6oi|^5Ctfuru!+aadUgE{Ow2uY0 zK)<0}C=>r(IV2$N)h1W7%Rp#z6=HdYXmDNe<+F&Fr`X&e^9O7nz7sv99W-`-$nE%U zym$;<3sB>Ub0l9485>!8c{9<3V@WB=BC5pJ7BXTCYWt6gMC}EE>+wB*)vXP3I?gn= z`Adk{ZOn}f>tc%pL_~v_{M<(jTsENI1via8l*)4NE>DtvaLlX%WS?}8Y7jfEMLeP^ z)9+ggd*WN23Dqv!%_n$x`$3EU4i@wzc=yielam=(Pg74nY=FpTm7&%XTrD`82TZ!b zY9xmv3^K-C=@Whqz6X$~#|JGM(C$JX2oiKXUM=Dt;aU|U)sbqGHmp7jMFnGD1Ya4T zBc^_q0TGp+?N-!)zW|(h-t+5A1s5&-J-cRPW1~2h>QoGTLm`hh{kdvnpb2Mn{3QXY zUNKZvRuv=;gWk*F`ql48gy56~?vhGcaRs(uqVZ8^e~6J|*mu!9(m;`&%}UPVHu*;~f$)hls1U3w28`SA(z&qpH{ zg&?{RWLh$QMQ7JP_bEum>M4OdQ>LF=D`gvj5b!M`$ zNTCYaCEKNR?!aq&)urM1F_PcT=>6*ClY+BxTXSdKw2<-&i^w`pjk9pg^q)AgU@8!j zTlaH}>vcQ|93A(=ml~IgcWOU1>LeDxwVLA3$Jf%t_%H^HrV#NshvK2MwD>|VcQ308 zByN9#`F!<@4=#KGH+gI}1)h#A0r?Gpr5n~aT5k?*_i6PoO6fHiCzyUPk zC76$tj)2s~XkeH#WOWtFsK)SQys11tM!eIic>;o&3v6fK8zw{dS+K)t>JAAy zN=vX0Oj0Ty<&8*6E4c`c2YrYP4P7`mtdpFXAYi$I4-2^a-bJv6g9GkA@VICrASC4QUcP_p`^4(cXxL;!qCzjQd&Z~;n3Z1q+6uB8~%+m_uhZ4 zagA#nm&^U_c;DxJ!b$ZlvRY61hd`NNbAaiCAy3aL_uGoi276W$nROT%AV7f~8nXB_A(K;C`Dd$-XF-8KmNVVKGPn#io z0F<~xNrBGw211OA2#hkn!=2rKpbo1XU0Sg$7_%(x2PDvY5vzS?D8p(M_uRV>cM1|7 z`#`UWiSVDjOtuT-343#9r|vhpN+gx)Ka+;m=MAnuPOQvZ?VUY<-NO~Vs8ODU0^j~J zHu~LTH^~3qdcIB;L=!j|YvWE-ROLzeY#-dA`G2#cLqsjLy1vmq#=?Ap*cQS1sk&N7wA5W%Fm2 z1^or9Q_%)!m?s{aaj&AVV7Hdc(A=|$-Wb2Hxl;ze)DCH)%4tqtqflrt@1&*j-eWp` zS$7#QA_!t~MpaVsh1X(E%oNZPp0&2W zenVTiuEOg0MV@6By;yQUYu-1Hqd(mzN;R5x79nWYd51u zTHdQ?<$5Q8vZOUVo)rZ?kB2_<7ysI@KNu ziUyBGJFT@EdzeXr72rRlAKz8ri1x)}DB@7LczF=G-MuBo1dhopbDF8%D-qH>dqUF6 z;``@@eElWWHWk-CKIE@X!G;I6y%I6BjEq1fuRwBitT=&!L%^Uo&9_NKvZxpbT@izG z+@$4*(6uprucz~-`Hwu@e8Ng9+kV)z3>DPbry|OO68oc4%G~RnGk4It;)Uf-Au!K; zmj&?yLOrTCd}4FP%j^l6v8*>=-hb^FOS3$@3yve)xP4*pY_{j>O?MgR@*BJ`Ankp0 zvx^X$B<1ct;Iv!;9SC4y%D|=_izBC8RF2v*-~5=-hQtIGn)OzAj+=Un!(YD${1RGiESl(qZsbQ&Nb@!1YjkRj@3ySaP_uNSM}&BDWrh^`yEuVBr0 z7K{ea9;*jUL{ubz(J7?#F1e!ppUWl| zsZ`WA(1R%}I&yiVRQ+*e#tI$5q;dF|rO|a3{VO&ncps1BB1EF7?^8QqE(zKodHEM0 zVd)V9#xsDnh+@6(^X=hC4zhh;eMARGNhwxm!kT$X9K=KOT4Jb;2bhC)M#6o)=moR2 z$1(!Pe706Px-EcV>yw$8e*qjgkh;u|7Kr-gIJd4&lxec7Cs*I7_`@UxB|_@0bR}u} z!mDJ~bRCJr4H^mbT&gN_BO|JK;q5<;>>4ahPXh~V7YEu`zi<1;nyQ@eJ(?h_k*foI z;f&7kpOp@>3)`ZA%_&qnG&B@h#J8dJ_D`SA@sQ1Y*SCt2fl^X#_wbCn^@5jWg$f;4 zCh6U2oLW&6E4)}ux$I~o)rvpos4mv|2TB+oyNH-%IHs#AzZVY^Pr;JOSpdBi0 zzUR?!+2#6J^b!;bfqvp3ClB%Ujw0|fL7aa!kD{s5+H}*`q#Tm{NJ2(XWWejlNmOIa zWj)}=tc*UPiC7WTxQLd_mA#hEJqMozWJX{@L!vMty<6$gs)oY*=Sea8)feOs{58N# z*SD~ci})*2n7b4gG4gVZhWE6!Z5frgJVD~ZHM7tCm<;e9Q-*&uwfJi(x%NaA=x0SJ z+U8%VC>WARd?O&W`#gD zWC=T*PV$(|OdX8#^2{s+$6Ix#EDdJT5kS1kXHCuVjgReHFMC+bFP|rr&U_-r*@t;m zSJ~|-m(*{qE8l(L&8q5U$88wV=dkNBDKY3%J82~5%_$D-c~}BbF#`|3y8wDT;E0Q; zw+!qg_zv&L4Evp2Sd^{k4*tHbV3peoUXXi+N#m`&ZzWu&aT~11u0uJ5Z`lKBE#O!A zGYjcD<}r)A&jYwg3TWT<4+&0y?g1=3X?A>RIB%@J!rbnMFw5oLamhUH0XO{-d(X`0 zfLKsje`lG}45aa(a0yRh4z7rPd7QjTz?vLdfc9gtCI;v&+eWWlK#!-{3M>-AT1|VN z>ZB^U5#a?C!K^HjyU%Ai?Hwus@0G-I@En^@yC&y{sEJ;T!LuOeC*P3M{4&?|>d>v7 zgKAbUZpL=b_%Zd1fXB08R4V%Hx!n>4Ptkc^!Uea#&U2M^ zJJ`_WLaiDqjx!>N>Jb+9;s*rd$*#()U$ryeDzgBWRZKh}V8a?0mTbIUjgYm3K#O$tDJ9t*gG=^T#~ zRFtOs4`d~up9iM%;0jLteSBR^3Gcky!?}RN4RVme>kp`qW6E}) zlLVp0DR8ep00ur`#CnYnWm!BvhbJU+_^mW8Z}3XVR{eLi1hC7vubD6}CxLwvP}bFd z*P)B=kAO*FgMoX>P>^=%$Ph+w`=?LRw$kRDT+=a1HLSxN>1it@KtKwR)Q=Yru3%6h z0|VIX>Rp52coJ7!qYM*)9Z@j0iclcz=iK`iuOC5g({DYPn!SD?e_t5?0nm}EEZh4( zEPKc(8i1Usfj5-Z(AEzMv7@%{X7{m|_2z03w@w&UxVELu1mECPkmrr(*kKi5q_4D84T;5)%F|FSj^3PDke z;lh4aS*gb>9x!K@+|T7PpJ=NV1g;K@XmjUZ&3*7o?uKeW@vWev5}Z}|sdeymZk*~* zO5CqjP8hClUV!IDxd<2Zb~waR3i=FfIRi|iYoom7{mNNKw4qt2KL$ZgE8?=LB_}p> zc2nG!l=$pSX5MWgvroI?36$#?ME(Po6bX{xP0jXH^+?*uihWz@ybxfYUm6XCCo`_B zU#J$#mWM0hwKCVXNB~oL*_3{;@IVk87axDtf1(saS<p zUc{$iy@sfZ&%&)5y!-4{)2UAS(6KAc8T~~34+tAal*d}NtGL#`> zRCnsbx1l87N>|5^C<`9p|65f(hIL{0a-fMF^}YlDKo?Eb?Ua*T1nkzLQiTJw&;J0^n-oAUcC;zRickR#qoZwIsfkFc@ zulFFW_u1Wz>v0s*arX_GqelkGTl#lvgID>LPB)n6ib`kK=am4V3LEA^P)l(0=?e9) zpa|2H9ZuzpEkp>OZq9EQnRKQ2_1?XaG%k2ndp7dF?_{_>2-)+FR8fk@AmTXf2t^zn zz2+C0TDrl1wv6b12Sv@aNtJ|eFZM`btn4$yZAdB6k;_9bKt%@wHgs$NtpW^vX>#vR zmf0%vdi3k#k%-1mdAO;vCK;#iiFzwcOfW0C(2^5Le6mLN2aU7dlNPlpe8AIN9otqu zfd@?^u!Ny9=&{|nt?zB95xkMNrU8`5jvQ>Ps8aQT=w)R%FewLq9cl??KT5&ACgr=3 zHpa3dI)v>wrgEEeIRwX_bmSJP`c!e$ViwKUoEn=j*i#?6dQuxUKT2^*@zW@e9)|g2 z0SXKEdGF-pvanh;0-3Z~m&Jfz)M{Ou*%=)r;I;N*O_+^WU0jrk?4QBcZA6}X$L4Zv=zZS!@P;tV#bT+a(X|iB^9)U=bzHIH z0*LGfZ8Ch)9hnl@NjMBqm+CJ_^P~q;`N}<(1pZE(xEz0kL2TEXAf9^;8SQ2xh@Lt= zCfqGoumQ>#Efi;ztThWx`@1!=tuYS$BgCEB-QE8IA3;-rPAIS}v;1~>!dp9RbU?NX zPH!?OFAQt|=1+YU;a%oNEu5`bIy%F(j9P)2v0uUmoXM7F)`);m2e?WEuLk3^I;3HrP zqU8^n;}XZcQzl-ei8ZHULp@`OeJ2AI0 zG>C)(uf0$nTvd47+RiqMfoZ(JZb68d9W7`*-)~cE^GB|+h80?e6Q(Uk3o#6Wax0$y?!B2H?F4_@v8k!hPXGuE{IHnbkB-uGX z*HE_~=AL)zNi3_rgh;>QO<20WHQ_tjSvox6T(WdYAJbhvm(%Jp!cPSPFrcvOtO_x3 z+w5DC_d5JkT6`q(zYN)hgN>_|pm&rC0c;=W{_6(cg6Cq9`QNQR0f;u9^>|RA^GCNCKr~cGuz~x-({)Wb6e0s*odYUybN)QgGitf&s z{uy%f`=!z|G@S0Z!RAVWf0FZn8&YUiRmu=VHou^>v}flGaDhg5991#g8HrV*iGa$* zwPl_BO)91=nLrin4pdbW3N**_@rlftb^p}G7|SfkFACa!!@#Ki4g&@(Z<&~EUJ|o! zo_SuK&$<3-L(xD&ahL;>i1l=tzIrlY6Kg@$QZvE{3~$FzimGDpfLtl0>3*-Kg|*$D z^gYH+J~&wxf8H`U6*%sRv#7|T#A-;_nj*tH!bH%kKCKx zp7;O~Hho$-?}K#k8;Zv|f&txrvBL^ZSW(1_MUMU%l%r1`pCe3 zSP(J|u!0WApeIsZLqp2S>RnGHNp@zYpDF{G$bcFNP$GaMlqQb>--V|kyqVJ4Z9mJ; zet&Q9u)bAV%U-2FW-Q++PpUr&um6xYZ?2|BARL6ASyhG8xUfiV%V*w+n(lsUS5p5w zl(E)|K)LN(m`y9Yp<>Eh4RMKqkAd&&Zr1(?sw5}s-wU)SYD*e-8-&l6B4zVeVN==z zOg^`-I)c!*9E*pH{|aFET^2(MVyAu-yzI8`a|^TOCHYyB!E8-D0#2%?V;hndFf*{ zfE~G6y3y6s(rSk9o!po2g&14S%@q?aK3#tqtQXZTpq4o@*zy8`nE)!Zp*hybpB#b5q#URZkRg zWniv)LmY5okYI2YIA$dI)`VeI{^>mfQ`Wyzkxq_Dm(n|WwtsLds+tYO{MK(ii)aKz zVA;W^M6FYKpjT<AmjIdhvU?7AQ1Fkm-DRCqo4BLHJJB? znLKlk#3W)3)DbwRolt6grLC#jxAxV+ggNs!Jn7Y$gXL^_{`dMc5X=G6ktm{D4O!2& zC7$x0E5kNV6g2-Zy6yvZa0qAoF0Om<pK}fS_$$vXSh=v2MmQ$<5 z`ufHbG;D;rWDxDIBXD2iOR=xJ3SRxyD#(5T&2R18x?klw`)o(qlBm?2{%qfOLl*ZvE@ng zYMAUp8#WxI5sasQGaGFglplG$tWxDG}$~N;L3~ra5zLb7I8DBZQVtRF@R`7$)4U%t(G zsrMy1$bUV-b)L`uA@MPsWgxUVrJ?#E0YvOPM|~b{w|{2|r$4IH;^@ z4o!+Ne@~s4qpGgc73IW(-Su(dIp&rCgh2+0ktgwmC;ZC0Jsh-OaWduY8UB@FvMa( z+i+9XlS+mPb@hedVv4Z(g`GzG?_CCC(NQ|?5+CO*ql~6srQhn}Kf)NwGwqf=?35Bf zhSn~Ln3hA&<@#KXQnj((WbHNDo}kMx#Kf7GE6IrcRo(C3VRffXqK}RNk22I>kJLB! zSdxYpabNV?S~q~ElphpTPBEf z2U;)Ub0Ux;%yL&Hkol4#0LT&lC>U>CGEIQ@H6I(W3}o})yh1%3&m6j4?d726mMrf@ z&XNq(%5;w@^hX4S`Ia?)V;0i+Fn~z|$iM#Bkw=SK_m|peuO-LJa1m9vLuQjG0?1S| zVHS%3pCb8M)&$3R>@tw#e&%pnacdN z>*vE{EI0wOJw6wTC*=~WCzv&Npo<-~BkNbB>xu?F61PXfUg9U}tEC_-oGq!eE7EX?n&7O+zy7eeis8;*nIFD0*&NB~B}9dv&XNmb zNlq3UKiho+&7=G7bU?f~OM2@1-)tIZ+crFlmYtm)s9x=7Iv1*qrUX3w$VHLjrnPE~ zP{yoJn{krO9uul*@WSM|bCOb+Qb%TB-Fl;(8MdD{uuh_|I8JWoERHxhzWg~ly$N}X z&=>OGp<^y{bV>!$>J1U1QtGgb`(L2Nyp~4#Jag)Dj$rn}mJHImBGqd3&v7dq>3^fW|b@+-KW-ImU4ZWn|QqLaR8z&fuElU#S71Z_2p2&`Y^6s zlRVU7cW1cfn@s+KyPk-(nlaJn=F}m}2yEq{vOPv@G>131DXs=K?-S+v<4B#7r5Q-s zVgTo)^7>F7aM>o;&b`XH4ixvq6V^C%_%ui_9}ZG%SlrqJpOD2*PL?dTD!M%pl~vha zuE{g|)rtAUkyrJuE$C;?xEXrdsoZXFXf@FZDX+dM0e}lD!-?3Q$tXnUr1Sd(#q*5C z4YT>j8R9_eP5jiTaQDvV*DM-Tv=tvS26R%w^Peqiv|jin<4pw%y#{a_-qx0R)4pGIZ~jzj577pf7{W8S5q1@6BJ2eN7e6 zW7l!pwz>2Ykd&0--E(s<+>F}zSD%S6un6_I@p$S#3Slvn3|~a9Gs8p|z~FnL7~4nP zln69IXuXC+`+{vdIJ2*t?H=*W_P3G=Yt}}8FgUkSJQtZgprN`LbQr=4Q6yx!Fo=P8%X#Xz1cd5o!2qQp0)PSM46Zkee|xd$H3AlODa!` zYe%Pw;k(?o|7`|bEGM=vz)c6pqX4hW-_10SCu{yy+4IBP2$wXVaYCR*{CrvFh6S{D z=t0(2oY)cNdOM7=8Skr?>j#u=1})~lhK(#o5|wsYa=;TxvIaHBl7cLrl--;x0iK=F zOv*R>SkI{&@yXG}vn=Opik95~E3##2sSt&v^~{h^vCg-s*R#VjvuiIz#2@I!K#XK< z<$!X@+#n!LpYXITU!Fbv3Z^_jzYx99{w4!j{CLN*(FZ#myx%y1w%jr)g#MavB6lGN z;v*o%d<@H~m>`nK`=TXhF76|s@(6o=|lvvN+M3Q+(^rd6{*k%$*bfXMg z18PcLlF#<~32z<6{#Ra`C$qqtq6J<(MMYDwMcqI4^`NG2sxJ+iwGFh$mjM9Vq}Sc~ z4FWh-+V_pMguq7tFw*m3<)wK+!s3z4`l?ei&S`EgGpqoa=U*h@-!CluvTv)qOMcRk z@y|(T-o);)Nd*?Y)VyMXvA^dH5km2TPh9m)6sz4QkYZ&EFX-vTz2s#>^@y;A(S+w_ z^$tzp4X*akD?1zzN!1(AiZBvuMDNI<0;3m(IiGJW)-!Emwur!aI1a6)JK%jKu%$)8CKgRRqw9QlFm}qzQ+&j2{WZCZp&tghEAVSH7S$PdA z?))hb$VD@I1n_94#5Qw+Vz^>oq7UUKH~2mv2t1jGHxy3#%L)R|3s>5(b;cmMzYh(t zuM$>LD&aEV!Ibj$E2OHVIWF>f*FzM!CaI4_ZPZ2jD2mb;Hk78XBV z?Ec{XZ|O4n&>gYU^tEje!gf;lBO!O}0lxiyv1QcCz;qbV5q4XCYP77!3Ps^PVLg0x zh_TGKoYt(G^Gy)=y~y%}hzOm&dSv3LgSQ$7A0JEzr!_T3)@R*=X05`R&Vgq{WKjFA zWiR4r8S{g8I&BzJ+OWO59xxNXI`DZJ(e=%U8{gJK?f%{0S?3tf783p^%1gjc zAPy7bvbd!!5wxOH2#T-bIcz*JMPMpk7;faXxSa5?xEfvybGseFay7cKew?qv2Bh9r zt3fo?2P3b=?(6J`d={(H)Px6YQ-(TWW*j6%Z&C*lb3l^|tP>^#K=DTyp+7m3w67Y- zV6@*8bm79b3tK>YUZUNYt|UI0mH9$CIOGSUV_qzq1;2PNBpw(#tUVbBXVj=Hhh+r+ zpASe)y^KV+d+y*5S)0y3#F7-Q#U1w95Z3HSYb!xg3`Y;Efhotcg;F)1G+;3l&BGXL z&H-8O?sQ)N)H>8E#7dw*q%jZZ3}8ZmgNqx&8i$~I&US^1mbbw#&NQIO;X~Nsb0Ul# zB9h4Of*d27KlIxo;|2#)ff)K)-@!tMf{)u*AUU2~P&JXIk4hUBuht}N`Ka>idS`Yn}uFaCh#kfw{xJK0TvBaFX=QJ{hl z$EPG|YVe>Dhly|#S`QBc8y-Nd0?E}W(qXyu?s(*ymBvKE#g(5R`otLfA9qMfNqy5q z+fC%|yhcZc&YfJofw3&?fu&_*5bcEJH5q(UK1s&(M)y26qWNaS^mD750uvp^j z#dP?i#J?$fzz)DyVO^lawDSL{^Tr{xpkM*81fGz6+cJL;3ENR9zyT#Hr~(=A!g{|E z`hw^Ib5`b@A7!j{@xq}FCnyN9W33xDb;*w&S^J<}_v5u`NUw)cpTsWRLp}qOoN(9w zT8ZDMUYIN6!W1mKlocpHa-3?G6>Lgfwzuf+eT8SmUO6PN}m!GzIR{Tf0JN(Tx2cC;yLvZMx5W^^9roF(AEd zNg15x7l(R#dc%YqbhQx+-b{_R5vknPhQV!Z3=%Pye{Rhb-(R|Vh+}AAPT1Z5c{U8; zN+x@-!F`x%h%y_txBi(LH6OQvr|^ZHI*YGiM=Lexb!Qx0xoYvkxFZO=cp8$K*RMQ9 zHmf3j_d+nYV;+fLps+Az{?&%&g%IV_)6FCLHq8+E(pqk2040J{?}dIk_r0G+w>x`l zZY0DbG|ci-)84I&QW9eBR3A{k7my?#E5eSf;|U_VR&V!~9*ib)=Fqf9wq@oTc8l^J zoqxU$5sc)vI<$5n?T#Sw$>!B}$$SuoodMDE#SQQ`29WzlmB=rzZt27@SN(Ve1~ykn z(ilc9SDGNz>wlCQ!me zXtEE7C^Ts!sf`w93#aMMW*xw-;$2!(Q=>5>3h>lI^Tb3?MKZqjmDy`d8qkT>r7cisMOy!e9)oITEPj;0ZGR=SHA`xXR` zG(qtV$^yem*UtJhZR?iZusf*8Yac0JJ41Jrb9OFN+xL(B_j}Jd~-T(PJZ#wv?I`-2|X)b_LUovIKsrQFEVg6$02Ay0FrHTJn zz#M?_y(z#%a&@0W#!(WLR}v`ZZQs<#hXrqBba7=iC4~rws+C_ncY$6~@0^nv6;`H} zhU)~XaX9kSj;EWw`)sPS#&u6*vCevYY3ij2!O{a4{Nc$u`4 zwE=<90@w#gURIv_BEFgo4bKpHU=iHxmIUbQE!q( z>WX+t_RWVj*Gt%s)0b?lfmm|j?kR#W2ke5ZsOAqp%}?5<^A%-B9ujH=718%MBUTwr zG2q(3%q~Bf8b1fZTkFfqF3+7|4Y>bV($4Xm=9W(VBUvVda+|Et5_-Q-?L}i7M1rr{ z_N+*#RIFPCT3XKt=In?2j4{hF>uRGe95i6wo-&C}t^EH`=RB6! zZj5NB$lQ^9MX7LABhe+tqnat@W_4=W9{dQ!=7g)%>ZtQ* zpYhb&_2;-5c$OcF2(ugHAyS5-K@BZA;qqZyp9)!G%;%V#Zd|60Tkw@*!(Ft!u|Fs& z))dcn_xqHBZjn+VygVFHSJVK5O;h-4`%-k!76T+T0YsQ5b#9JbMpzyP@YRfv8FgT8 z)LL}gJFIn6@t*!Z=5%5_q(btu$k|beviWYSX)bOyZq%E1!HGHsHbZSqli28A-GDyw z`N%37v~Bd(L-~nkz~aqurp2tb9m>s1WMtso2M}N~GRxOEVH@u^hAXPznc_ zROeT%7u zF)M4f?bCS{=hr^-Es-+K*}I3hq)B{>J>t?GFj2uKEW(RyQ^Gfv3cMsH<*KN8{=_nh zEVHcjLwi0R?r%#4Dyx*36~@LHP96|MrR0lU?2;Wg2nmyCot_S}3bPoeg*Y{LX!6=q zBc~0@7_1*14!iu269L8f=9$+?xiX9$^n9T4b!~F;?Evxxs_5@EnbF5Fzt1;{-v0J` zleF*#4RhakErld0l*9f)_#x`&JNK08Mr!p7Rm)SP%ip!$aVpGWu&SnkJavWy&Af3I zU@o9`$p0<6ISF%$^xCz`joUjRGA^|zff)w}Na(gI2uvg{X&KD}za3!2#Gc90 z30W;&d%#_pVqV-KR^jo+es!3BGoX{iXZJ*bT6Wjok|Ab&PX+5mSXBmpg7QmMBLr*V z8x(VyigXS74F~4!jk{|)WjCzP3(MjFM}8s$ra_dg)GnT%Ny#&F)FwYiFc7@5N|9wJ zA^%CmQVla1{mYQ%dbKo!dg5wWuqO@-J(S3|bS;_s9I0E4->ah0VbJ|WrVaXovkH1+ zFtcTi?Ifs5i5G>)p96*39h{aNZK(g$4pn@=p>X88cl}0&%AA)oDhD9N@?`yn%(f#w z(Xr{ZjHnFFH;i@vsqb_W?A1G#(r`ZHoe3l!pBrZ`%4!FyK~Clqzx8dF($U6`Q7W@D z8O(=3#{ovyKrjBgCgUMKC2??LcWae-b8S9}$LF7x(%JTmMKvjPdD>&wYlh7wjfB#L z&a*_V>1->{Iy?FTMfLxdpDUC7L$-^1?u8*n`}aelW#wgW5#Pfc_OceIr_e5}CTZ&D zwRu}hOwmt?&%cWIBBGGx-eKom#5~0mm~d1Z7vK3?wrH!04W%gSxiP z^ccal_)YQ?L;j_WPemzm5$VET6jY~NlimgIB(YGm6vu1z5Y9LiN3%?3X-0LNQ!0I3 znkdd>AuwuMMMvjhYxIXyWb7FwgDVk8Pr%j%qGf59)UOPER^3MLDWl2&k6$9@cvxVd z$8+S; zu?AdnhMd}E;H?J8DZ6MD41mvM4?n5mn-NoRwxmG!Gk_G#U)1(5T|RFL#!#*}H-c_R zk;LN9+{i-;MPvMoL9hYqrWv}JYU2iZVO}N}gW%v}Z7v3=f$o3P&X;+vL-BuiIJ`N+ zA^IWr@@rNq@vpJHtybIQr+Kx$7QKk;+WV_sN-qpDql zi8%ryK=$PqRhrYR7_rd#!(2G)Wc#_4?S;~p%h>X!^ZL3RY+w9I%MtqCJTpS3k_F@s zGQWD3uxxT)zcBL>WRI7*f5TU9LNMoFjm{EfkbI*VW1gCPhzwxN;M~nrSsLotkf2{L zCXp6%7~P&LS=_nfDYWl~Sn3*>zJ;@{CGsu9=Js~bT1@;0yNjAAI(I#)R2llBwr#xV zW6$nAfJQ(}G^`!M=X#}2jrGnfzW%KQHt6b(m)F7|TdeX^qu!-`#X?WK-XYyxovF@i zRcCBGoF7>4WiwUZ-f@3gm#$tc`|FrQ@y1*?mhx%hfG8OI0lw=8_F>+X^TUj4URCG~ zT!nVj++JQ&ljmm;s&=kOwyf%PF(612BQa??n|{;sUy%(MpTG86d0V|&bza<|%F$5- zeBQL0Dem;V77`Gpo;&1W<$s2>l9MQz`_I3?KT1`E*c$-+SI*4ukt%_OW&%<>S{!}3 zJ65{T4Hs_jKnotFMJ&~sx{R=3*=>8z+#zA00S|?uxH(^m0lIZj#}t|j>~bJj!wpo_ z0KF2GcP+AJvY7zEV^GA}F(GxO8GJL!Z~bw1#0DvSmLpxX>d8uHOfjFcxrie%FJ4Pv zlSZMmEXgsi8#$N~P^Tf)HshpGzEsJ&9EX&s00T&nZa8KN{BTFVoxYIQpZ;@utviuR z7*g~UFH!N&`{sObsRL?EB~AD`8=8sZbpwM0c7_^rnw3V)7w7%ok(`BZX$xFGss+AB z!L)6|oziE2#d`1pPb%2!3CeaKHSkN-Wlp+z0M<*;GA(&lJ6j;X22%-QO!0je<(QnN zYaL7x`bq0Qg<-=7lk?RnwJ+r;?H};}L)&F@{1jY7UQs5%xx~JGuP&44H7)g_tWu)A zmF7vHkj+2>+R#SMl;!6`bDj|noWPHAN+7XH@W^%j!!2`ST3?6cH!2eGC$DQrOMvlY zRw57$k^-hdMhS?31|@-#5-5@Y+pjf;{PY_@UkzF1@fU@K>yoiOHrk50-;`$d-@p$L z6>`^FGT_ypY(Oa`2A#2Td48|Sky+}2c`%@=wg1w~{h8jv8^v+hKD*b{Sc$Bb@RpHL zEFbp5lFqMzcRn@R_?z^jF!`$&CXfyVXY->spukysRt=fGq&I7ciE! zI{vWl44iO49wJbGPXbd&(A@)+mUTiP6SgP3epX2B{M@%P679JdOyagcwY0@slmdd@ zvm=+0JXJ#_(e9WNG{hUkY+&DW@fP=tVn%Ar>8KK!%ego*L*Q5=^i0@Hn)FTd>FcYz zx`lnrN*)vnsPIww|ZG=^X=#&yXZ~HYFH5TsR zR)CkR#+?r{|Nj&-3jOJL50kzWtbHG^C{fM+dG*VeW7>zy0v;b?3>hJ(m_%r6%4<34 zL)Dx+bul9QDf%24QAx?n(vmV>lEuN0n{zN@c%DUgteR`HsfDGrXvgLFBBIgM(h@vu zIdcAip;>=0f76G?G-?B5sK0h$zkPp@p8^6M4M_ZRTq;##Jz`8-c+5OxE;=stPV zz*;-7az1l+AQ-e>{TyQ+zUP-yEL7XRIkhn??|X zkdEmy4zZMAmpUyV9Uz?v;M_Awc0d(=_mdvtxyk=YUBRQ8GV`yPu{$1@#q5*a;z>8| z%+-8=U{)TBFR)w%Bv{N-giXq)&^Ew{?KIuEgELzR#s(1rf?cBf{_DBpW&+b?)k9|pcl8vH-@1gVt3(dAH`m5PoGffQ-c^7^6iuKtHYYU9?yFwv3WrN(Vz%;b^|xbj}0 zB7VyKqREvT?+ zdjd27N`lM?0o7`M0AJGLbg$WC79xxQ#}oi1f!Cu=*Y{!HHE>IqDX+p1o*Md&lRCGv z!20&vJMo8z!d&=i+>(tktpht}Gb)F$AOjdDN|R?F?EsNExFxYd^H%}F;ik^3dkeK;O>JP0l3@)EO!q**0aK&Qlec! zQ(9OUVeU=i)0}{CmZ;7Gn_*>;>1Q)5r?d-)@s_D$P*#A=*t%#Bloz>YkSI(r4%XPQ zlH>Tmo;R)a**J?*LNTrm)MFhxC$HgwMfex}>KH|wnu+(z5k?ig`SI>`hMuD9ci%

lCSe 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 b&@*I#)!FgG@)Z=Yj>uhAlF7ep{P4d3yIpA^ literal 0 HcmV?d00001 diff --git a/smh/radiative_transfer/.DS_Store b/smh/radiative_transfer/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ebd503d6ff0551ac7cdc15439906f2f215f3c0fc GIT binary patch literal 6148 zcmeH~u?oUK42Bc!Ah>jNyu}Cb4USTupfBJcxM&N4&iCm4$pyjcEFym-`7gN((r@TB zBBI^xxD#nbWCb^st%aE>@=sP@A+^uhqXZ1r=ZC&6{KaTM75rD+5;tkvl`^gs299pWP0^^5(V_+bGuM&6w D#W51a literal 0 HcmV?d00001 diff --git a/smh/radiative_transfer/moog/utils.py b/smh/radiative_transfer/moog/utils.py index 74f43c18..15eaefa1 100644 --- a/smh/radiative_transfer/moog/utils.py +++ b/smh/radiative_transfer/moog/utils.py @@ -55,7 +55,7 @@ def twd_path(twd=None,**kwargs): #kwds.setdefault("dir", "/tmp/") #kwds.setdefault("prefix", "smh-") twd = mkdtemp(**kwds) - if len(twd) > 30: + if len(twd) > 35: logger.warn( "Temporary working directory should be as short as possible to "\ "prevent MOOG(SILENT) from falling over. Current length ({0}): "\ diff --git a/smh/session.py b/smh/session.py index 709ff20a..d6ae200a 100644 --- a/smh/session.py +++ b/smh/session.py @@ -847,6 +847,7 @@ def rv_correct(self, rv): def stitch_and_stack(self, **kwargs): normalized_orders = [] + for i, (spectrum, continuum) \ in enumerate(zip(self.input_spectra, self.metadata["normalization"]["continuum"])): diff --git a/smh/smh_plotting.py b/smh/smh_plotting.py index cbd88ea2..3d2dd55f 100644 --- a/smh/smh_plotting.py +++ b/smh/smh_plotting.py @@ -47,7 +47,7 @@ def make_summary_plot(summary_figure, normalized_spectrum, (0.33999999999999997, 0.82879999999999987, 0.86), (0.37119999999999997, 0.33999999999999997, 0.86), (0.86, 0.33999999999999997, 0.82879999999999987)] - + hls_colors = ['426b81', '7dac9f', 'd18076', '903d6f'] # Load spectra spectra_objects = {} spectra_colors = {} diff --git a/smh/specutils/motions.py b/smh/specutils/motions.py index 7ca0f99f..91be8fea 100644 --- a/smh/specutils/motions.py +++ b/smh/specutils/motions.py @@ -446,8 +446,11 @@ def corrections_from_headers(headers): # Try to get the mid-point directly. try: mjd = Time("{0}T{1}".format(headers["UTMID"], headers["UT-MID"])).mjd - - except (IndexError, KeyError): + except KeyError: + mjd = Time("{0}T{1}".format(headers["DATE-OBS"], headers["UT-MID"])).mjd + + #except (IndexError, KeyError): + if mjd is None: # Try and calculate it from UT-START/UT-DATE keys #raise diff --git a/smh/specutils/spectrum.py b/smh/specutils/spectrum.py index 4336a588..db02053c 100644 --- a/smh/specutils/spectrum.py +++ b/smh/specutils/spectrum.py @@ -119,6 +119,7 @@ def read(cls, path, **kwargs): cls.read_alex_spectrum, cls.read_ceres, cls.read_multispec, + cls.read_neid #E. Holmbeck added ) failure_exceptions = [] @@ -470,7 +471,53 @@ def read_fits_multispec(cls, path, flux_ext=None, ivar_ext=None, return (dispersion, flux, ivar, metadata) + # E. Holmbeck added NEID capabilities + @classmethod + def read_neid(cls, path, **kwargs): + image = fits.open(path) + metadata = OrderedDict() + if 'SCIWAVE' not in image: + image = image[0] + + for key, value in image['SCIWAVE'].header.items(): + if key in metadata: + metadata[key] += value + else: + metadata[key] = value + metadata["smh_read_path"] = path + + dispersion = -np.ones((metadata['NAXIS2'], metadata['NAXIS1'])) + for order in range(1,metadata['NAXIS2']+1): + crval = metadata[f'CRVAL{order:.0f}'] + cdelt = metadata[f'CDELT{order:.0f}'] + poly_type = metadata[f'PS{order:.0f}_0'] + poly_param_order = metadata[f'PS{order:.0f}_1'] + #pixels = np.arange(*eval(metadata[f'PS{order:.0f}_2'])) + echelle_order = metadata[f'PS{order:.0f}_3'] + leg_range = eval(metadata[f'PS{order:.0f}_4']) + #poly_params = [metadata[f'PV{order:.0f}_{param:.0f}'] for param in range(poly_param_order)] + poly_params = [] + for param in range(poly_param_order): + value = metadata[f'PV{order:.0f}_{param:.0f}'] + if value is None: poly_params.append(np.nan) + else: poly_params.append(value) + + x = np.linspace(leg_range[0], leg_range[1], metadata['NAXIS1']) + if poly_type=='Legendre' or 'legendre' in poly_type: + from scipy.special import legendre + for li in range(poly_param_order): + dispersion[order-1] += poly_params[li]*legendre(li)(x) + + else: print(poly_type) + + flux = np.array(image['SCIFLUX'].data) + var = np.array(image['SCIVAR'].data) + dispersion = np.atleast_2d(dispersion) + flux = np.atleast_2d(flux) + ivar = np.atleast_2d(var**-1) + return (dispersion, flux, ivar, metadata) + @classmethod def read_fits_spectrum1d(cls, path, **kwargs): """ @@ -626,7 +673,7 @@ def write(self, filename, clobber=True, output_verify="warn"): if not filename.endswith('fits'): a = np.array([self.dispersion, self.flux, self.ivar]).T - np.savetxt(filename, a, fmt="%.4f".encode('ascii')) + np.savetxt(filename, a, fmt="%.6f".encode('ascii')) return else: @@ -1607,7 +1654,7 @@ def stitch(spectra, new_dispersion=None, full_output=False): finite = np.isfinite(common_flux * common_ivar) common_flux[~finite] = 0 common_ivar[~finite] = 0 - + numerator = np.sum(common_flux * common_ivar, axis=0) denominator = np.sum(common_ivar, axis=0) flux, ivar = (numerator/denominator, denominator) From 3e0cfdc5a990e8dd1170988f5db7760f5d30eb17 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Wed, 10 Apr 2024 13:57:25 -0700 Subject: [PATCH 03/41] Rolled back stellar_parameters (WIP) --- smh/gui/stellar_parameters.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/smh/gui/stellar_parameters.py b/smh/gui/stellar_parameters.py index d2609398..235f5eba 100644 --- a/smh/gui/stellar_parameters.py +++ b/smh/gui/stellar_parameters.py @@ -446,7 +446,8 @@ def _init_rt_options(self, parent): label = QtGui.QLabel(self) label.setText("nu-max") label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) - + + ''' grid_layout.addWidget(label, 4, 0, 1, 1) self.edit_numax = QtGui.QLineEdit(self) self.edit_numax.setMinimumSize(QtCore.QSize(40, 0)) @@ -460,6 +461,7 @@ def _init_rt_options(self, parent): self.use_nu.setChecked(False) self.use_nu.stateChanged.connect(lambda:self.nu_max(self.use_nu,1)) grid_layout.addWidget(self.use_nu, 4, 2) + ''' # Alpha-enhancement. label = QtGui.QLabel(self) @@ -481,7 +483,7 @@ def _init_rt_options(self, parent): self.edit_logg.returnPressed.connect(self.measure_abundances) self.edit_metallicity.returnPressed.connect(self.measure_abundances) self.edit_xi.returnPressed.connect(self.measure_abundances) - self.edit_numax.returnPressed.connect(self.measure_abundances) + #self.edit_numax.returnPressed.connect(self.measure_abundances) self.edit_alpha.returnPressed.connect(self.measure_abundances) return grid_layout @@ -697,7 +699,7 @@ def const_param(self,param_selected,param_index): else: self.params_to_optimize[param_index] = True - # E. Holmbeck added this function + # E. Holmbeck added this function; WIP def nu_max(self,param_selected,param_index): teff = float(self.edit_teff.text()) gsol = 4.438 From e01d3c490306cd9bbaa8cbe08a5eaebf7a4aedf9 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Wed, 10 Apr 2024 14:06:24 -0700 Subject: [PATCH 04/41] removed some accidental files... --- find_spectra.sh | 18 ------------------ smh/r-star_discovery_RPA-TESS.png | Bin 306572 -> 0 bytes 2 files changed, 18 deletions(-) delete mode 100755 find_spectra.sh delete mode 100644 smh/r-star_discovery_RPA-TESS.png diff --git a/find_spectra.sh b/find_spectra.sh deleted file mode 100755 index ea6f2e72..00000000 --- a/find_spectra.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -#targets=$(find /Volumes/ext/ -type f -iname "*J00401252+2729247_rv*" 2>/dev/null) -#IFS=',' read -ra line <<< - -while read line -do - IFS=',' read -ra data <<< "$line" - star=${data[0]} - run=${data[1]} - if [ "$run" == "Hol20" ]; then - echo $star - file="$(find /Volumes/ext/ -type f -iname "*${star}_rv.fits*" 2>/dev/null | tail -n 1)" - cp $file /Volumes/My\ Passport/Holmbeck2020_stars/ - file="$(find /Volumes/ext/ -type f -iname "*${star}_rv.txt*" 2>/dev/null | tail -n 1)" - cp $file /Volumes/My\ Passport/Holmbeck2020_stars/ - fi -done < /Users/holmbeck/Research/RPA_all_classes_new.csv diff --git a/smh/r-star_discovery_RPA-TESS.png b/smh/r-star_discovery_RPA-TESS.png deleted file mode 100644 index b1e67c399c107152ac92b4e9c60337fa0feb35f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306572 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

lCSe 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 b&@*I#)!FgG@)Z=Yj>uhAlF7ep{P4d3yIpA^ From 8d436b94de38b637c14bc5e25d3135427c25cc99 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Wed, 10 Apr 2024 16:29:00 -0700 Subject: [PATCH 05/41] added 0-abundance to fit --- smh/gui/chemical_abundances.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index 5d3bf16a..d4caafe9 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -890,6 +890,18 @@ def measure_all(self): def fit_one(self): spectral_model, proxy_index, index = self._get_selected_model(True) + # E. Holmbeck added a "none" line + extra_abundances = self.synth_abund_table_model.get_extra_abundances() + if extra_abundances is None: + for i, elem in enumerate(spectral_model.elements): + abundances_none = deepcopy(spectral_model.metadata["rt_abundances"]) + for i, elem in enumerate(spectral_model.elements): + abundances_none[elem] = -10.0 + + x, y = spectral_model.get_synth(abundances_none) + self.extra_spec_none.set_data([x,y]) + #self.synth_abund_table_model.extra_abundances[elem][2] = abunddiff + if spectral_model is None: return None try: res = spectral_model.fit() @@ -930,7 +942,7 @@ def synthesize_current_model(self): for i, elem in enumerate(spectral_model.elements): abundances_none = deepcopy(spectral_model.metadata["rt_abundances"]) for i, elem in enumerate(spectral_model.elements): - abundances_none[elem] = -8.0 + abundances_none[elem] = -10.0 x, y = spectral_model.get_synth(abundances_none) self.extra_spec_none.set_data([x,y]) From 73dc5308504e989f48041ed272c6760ca40846c6 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Thu, 11 Apr 2024 13:54:44 -0700 Subject: [PATCH 06/41] Updated buttons --- smh/gui/chemical_abundances.py | 66 ++++++++++++++++++++++------------ 1 file changed, 43 insertions(+), 23 deletions(-) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index d4caafe9..1a7cfed0 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -503,10 +503,16 @@ def _create_checkcombo_in_hbox(parent, text): vbox_rhs.addWidget(self.btn_update_abund_table) # E. Holmbeck added + hbox = QtGui.QHBoxLayout() self.btn_fit_all_synth = QtGui.QPushButton(self.tab_synthesis) - self.btn_fit_all_synth.setText("Update + ReFit All Synth") - vbox_rhs.addWidget(self.btn_fit_all_synth) - + self.btn_fit_all_synth.setText("Refit synth") + hbox.addWidget(self.btn_fit_all_synth) + # E. Holmbeck added + self.btn_fit_rest_synth = QtGui.QPushButton(self.tab_synthesis) + self.btn_fit_rest_synth.setText("Fit rest synth") + hbox.addWidget(self.btn_fit_rest_synth) + vbox_rhs.addLayout(hbox) + hbox = QtGui.QHBoxLayout() self.btn_clear_masks_2 = QtGui.QPushButton(self.tab_synthesis) self.btn_clear_masks_2.setText("Clear Masks") @@ -593,6 +599,8 @@ def _connect_profile_signals(self): self.fit_one) self.btn_fit_all_synth.clicked.connect( self.clicked_fit_all_synth) + self.btn_fit_rest_synth.clicked.connect( + self.clicked_fit_rest_synth) self.btn_clear_masks.clicked.connect( self.clicked_btn_clear_masks) self._profile_signals = [ @@ -623,6 +631,7 @@ def _connect_profile_signals(self): (self.checkbox_upper_limit.stateChanged,self.clicked_checkbox_upper_limit), (self.btn_fit_one.clicked,self.fit_one), (self.btn_fit_all_synth.clicked,self.clicked_fit_all_synth), + (self.btn_fit_rest_synth.clicked,self.clicked_fit_rest_synth), (self.btn_clear_masks.clicked,self.clicked_btn_clear_masks) ] @@ -686,6 +695,9 @@ def _connect_profile_signals(self): self.btn_fit_all_synth.clicked.connect( self.clicked_fit_all_synth) + self.btn_fit_rest_synth.clicked.connect( + self.clicked_fit_rest_synth) + self._synth_signals = [ (self.edit_view_window_2.textChanged,self.update_edit_view_window_2), (self.edit_fit_window_2.textChanged,self.update_edit_fit_window_2), @@ -712,6 +724,7 @@ def _connect_profile_signals(self): (self.btn_find_upper_limit.clicked,self.clicked_btn_find_upper_limit), (self.btn_fit_synth.clicked,self.fit_one), (self.btn_fit_all_synth.clicked,self.clicked_fit_all_synth), + (self.btn_fit_rest_synth.clicked,self.clicked_fit_rest_synth), (self.btn_update_abund_table.clicked,self.clicked_btn_update_abund_table), (self.btn_clear_masks_2.clicked,self.clicked_btn_clear_masks), (self.btn_export_synth.clicked,self.clicked_export_synthesis) @@ -888,8 +901,7 @@ def measure_all(self): pass return None - def fit_one(self): - spectral_model, proxy_index, index = self._get_selected_model(True) + def fit_none(self, spectral_model): # E. Holmbeck added a "none" line extra_abundances = self.synth_abund_table_model.get_extra_abundances() if extra_abundances is None: @@ -901,7 +913,9 @@ def fit_one(self): x, y = spectral_model.get_synth(abundances_none) self.extra_spec_none.set_data([x,y]) #self.synth_abund_table_model.extra_abundances[elem][2] = abunddiff - + + def fit_one(self): + spectral_model, proxy_index, index = self._get_selected_model(True) if spectral_model is None: return None try: res = spectral_model.fit() @@ -912,11 +926,13 @@ def fit_one(self): self.measurement_view.update_row(proxy_index.row()) self.summarize_current_table() self.update_fitting_options() + self.fit_none(spectral_model) self.refresh_plots() if self.parent.session.setting("bring_to_top_after_fit", False): self.parent.raise_() self.parent.activateWindow() self.parent.showNormal() + return None def measure_one(self): @@ -937,17 +953,6 @@ def synthesize_current_model(self): extra_abundances = self.synth_abund_table_model.get_extra_abundances() spectral_model, proxy_index, index = self._get_selected_model(True) - # E. Holmbeck added a "none" line - if extra_abundances is None: - for i, elem in enumerate(spectral_model.elements): - abundances_none = deepcopy(spectral_model.metadata["rt_abundances"]) - for i, elem in enumerate(spectral_model.elements): - abundances_none[elem] = -10.0 - - x, y = spectral_model.get_synth(abundances_none) - self.extra_spec_none.set_data([x,y]) - #self.synth_abund_table_model.extra_abundances[elem][2] = abunddiff - if spectral_model is None: return None spectral_model.update_fit_after_parameter_change() self.measurement_view.update_row(proxy_index.row()) @@ -977,7 +982,11 @@ def synthesize_current_model(self): self.extra_spec_1.set_data([x,y]) x, y = spectral_model.get_synth(abundances2) self.extra_spec_2.set_data([x,y]) + # E. Holmbeck added a "none" line + self.fit_none(spectral_model) self.figure.draw() + + return None def _check_for_spectral_models(self): @@ -1024,6 +1033,8 @@ def update_spectrum_figure(self, redraw=False, reset_limits=True): ## If synthesis, label selected lines self.extra_spec_1.set_data([[np.nan], [np.nan]]) self.extra_spec_2.set_data([[np.nan], [np.nan]]) + #self.extra_spec_none.set_data([[np.nan], [np.nan]]) + try: selected_model = self._get_selected_model() except IndexError: @@ -1232,6 +1243,13 @@ def update_edit_fit_window(self): return None else: model.metadata["window"] = window + transitions = self._get_selected_model().transitions + xlim = (transitions["wavelength"][0] - window, + transitions["wavelength"][-1] + window) + self.ax_spectrum.set_xlim(xlim) + self.ax_residual.set_xlim(xlim) + self.figure.reset_zoom_limits() + self.figure.draw() return None def clicked_checkbox_continuum(self): """ The checkbox for modeling the continuum was clicked. """ @@ -1533,13 +1551,12 @@ def clicked_export_synthesis(self): return # E. Holmbeck added - def clicked_fit_all_synth(self): - logger.debug("Re-fitting all synth lines. This might take a while!") + def clicked_fit_all_synth(self, acceptable=True): + logger.info("Re-fitting all synth lines. This might take a while!") for sm in self.parent.session.metadata.get("spectral_models", []): - if sm.measurement_type is not 'syn': continue - if not sm.is_acceptable: continue - logger.debug("Re-fitting {:} at {:.1f}.".format(sm.elements[0], sm.wavelength)) - print("\t\t\t\tRe-fitting {:} at {:.1f}.".format(sm.elements[0], sm.wavelength)) + if sm.measurement_type != 'syn': continue + if sm.is_acceptable is acceptable: continue + logger.info("Re-fitting {:} at {:.1f}.".format(sm.elements[0], sm.wavelength)) self.clicked_btn_update_abund_table() try: res = sm.fit() @@ -1558,6 +1575,9 @@ def clicked_fit_all_synth(self): self.parent.showNormal() return None + def clicked_fit_rest_synth(self): + self.clicked_fit_all_synth(acceptable=False) + def refresh_current_model(self): spectral_model, proxy_index, index = self._get_selected_model(True) if spectral_model is None: return None From e673852e862eeddf78911248f3e0279774fc14de Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Fri, 12 Apr 2024 18:29:34 -0700 Subject: [PATCH 07/41] Fixed synth buttons and added zero-abundances to metadata --- smh/gui/base.py | 8 +++- smh/gui/chemical_abundances.py | 79 ++++++++++++++++++++++------------ 2 files changed, 58 insertions(+), 29 deletions(-) diff --git a/smh/gui/base.py b/smh/gui/base.py index 439be953..1aae07d4 100644 --- a/smh/gui/base.py +++ b/smh/gui/base.py @@ -197,6 +197,7 @@ def __init__(self, parent, session=None, "model_masks": [], "nearby_lines": [], "model_fit": self.ax_spectrum.plot([np.nan], [np.nan], c=self.acceptable_color)[0], + "model_none": self.ax_spectrum.plot([np.nan], [np.nan], c='teal')[0], "model_residual": self.ax_residual.plot( [np.nan], [np.nan], c="k", drawstyle="steps-mid")[0], "interactive_mask": [ @@ -230,7 +231,7 @@ def reset(self): self._lines["spectrum"].set_drawstyle(drawstyle) self._lines["comparison_spectrum"].set_drawstyle(drawstyle) for key in ["spectrum", "transitions_center_main", "transitions_center_residual", - "model_fit", "model_residual"]: + "model_fit", "model_none", "model_residual"]: self._lines[key].set_data([np.nan],[np.nan]) self.label_lines(None) def new_session(self, session): @@ -632,6 +633,9 @@ def _plot_model(self): pass selected_model = self.selected_model + try: none_x,none_y = selected_model.metadata["zero_abundance"] + except: none_x = none_y = np.nan + try: (named_p_opt, cov, meta) = selected_model.metadata["fitted_result"] @@ -648,6 +652,7 @@ def _plot_model(self): except KeyError: meta = {} self._lines["model_fit"].set_data([np.nan], [np.nan]) + self._lines["model_none"].set_data([np.nan], [np.nan]) self._lines["model_residual"].set_data([np.nan], [np.nan]) else: @@ -658,6 +663,7 @@ def _plot_model(self): self._lines["model_fit"].set_data(meta[plotxkey], meta[plotykey]) self._lines["model_fit"].set_linestyle("-" if self.selected_model.is_acceptable else "--") self._lines["model_fit"].set_color(self.acceptable_color if self.selected_model.is_acceptable else self.unacceptable_color) + self._lines["model_none"].set_data(none_x, none_y) self._lines["model_residual"].set_data(meta["model_x"], meta["residual"]) # Model yerr. diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index 1a7cfed0..00a4bbf7 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -112,6 +112,8 @@ def __init__(self, parent): self._currently_plotted_element = "All" self.new_session_loaded() + # E. Holmbeck: don't mind me... + self.acceptables_only = True def init_tab(self): """ @@ -494,22 +496,26 @@ def _create_checkcombo_in_hbox(parent, text): #vbox_rhs.addItem(QtGui.QSpacerItem(20,20,QtGui.QSizePolicy.Minimum, # QtGui.QSizePolicy.Minimum)) + # E. Holmbeck edited + hbox = QtGui.QHBoxLayout() + self.btn_update_abund_table = QtGui.QPushButton(self.tab_synthesis) + self.btn_update_abund_table.setText("Update Ab. Table") + #vbox_rhs.addWidget(self.btn_update_abund_table) + hbox.addWidget(self.btn_update_abund_table) self.btn_fit_synth = QtGui.QPushButton(self.tab_synthesis) self.btn_fit_synth.setText("Fit Model") - vbox_rhs.addWidget(self.btn_fit_synth) - - self.btn_update_abund_table = QtGui.QPushButton(self.tab_synthesis) - self.btn_update_abund_table.setText("Update Abundance Table") - vbox_rhs.addWidget(self.btn_update_abund_table) + #vbox_rhs.addWidget(self.btn_fit_synth) + hbox.addWidget(self.btn_fit_synth) + vbox_rhs.addLayout(hbox) # E. Holmbeck added hbox = QtGui.QHBoxLayout() self.btn_fit_all_synth = QtGui.QPushButton(self.tab_synthesis) - self.btn_fit_all_synth.setText("Refit synth") + self.btn_fit_all_synth.setText("Resynth") hbox.addWidget(self.btn_fit_all_synth) # E. Holmbeck added self.btn_fit_rest_synth = QtGui.QPushButton(self.tab_synthesis) - self.btn_fit_rest_synth.setText("Fit rest synth") + self.btn_fit_rest_synth.setText("Synth Rest") hbox.addWidget(self.btn_fit_rest_synth) vbox_rhs.addLayout(hbox) @@ -820,8 +826,8 @@ def refresh_table(self): self.calculate_FeH() return None - def refresh_plots(self): - self.update_spectrum_figure(True) + def refresh_plots(self, row=None): + self.update_spectrum_figure(True, row=row) return None def fit_all_profiles(self): @@ -908,12 +914,14 @@ def fit_none(self, spectral_model): for i, elem in enumerate(spectral_model.elements): abundances_none = deepcopy(spectral_model.metadata["rt_abundances"]) for i, elem in enumerate(spectral_model.elements): - abundances_none[elem] = -10.0 + abundances_none[elem] = -50.0 x, y = spectral_model.get_synth(abundances_none) self.extra_spec_none.set_data([x,y]) + spectral_model.metadata["zero_abundance"] = [x,y] #self.synth_abund_table_model.extra_abundances[elem][2] = abunddiff + def fit_one(self): spectral_model, proxy_index, index = self._get_selected_model(True) if spectral_model is None: return None @@ -926,13 +934,15 @@ def fit_one(self): self.measurement_view.update_row(proxy_index.row()) self.summarize_current_table() self.update_fitting_options() - self.fit_none(spectral_model) self.refresh_plots() + if self.parent.session.setting("bring_to_top_after_fit", False): self.parent.raise_() self.parent.activateWindow() self.parent.showNormal() + self.fit_none(spectral_model) + self.figure.draw() return None def measure_one(self): @@ -1029,14 +1039,17 @@ def selected_model_changed(self): self.update_spectrum_figure(True) return None - def update_spectrum_figure(self, redraw=False, reset_limits=True): + def update_spectrum_figure(self, redraw=False, reset_limits=True, row=None): ## If synthesis, label selected lines self.extra_spec_1.set_data([[np.nan], [np.nan]]) self.extra_spec_2.set_data([[np.nan], [np.nan]]) - #self.extra_spec_none.set_data([[np.nan], [np.nan]]) + self.extra_spec_none.set_data([[np.nan], [np.nan]]) try: - selected_model = self._get_selected_model() + if row==None: + selected_model = self._get_selected_model() + else: + selected_model = self.parent.session.metadata["spectral_models"][row] except IndexError: selected_transitions = None label_rv = None @@ -1061,6 +1074,7 @@ def update_spectrum_figure(self, redraw=False, reset_limits=True): else: selected_transitions = None label_rv = None + # Update figure self.figure.update_spectrum_figure(redraw=redraw, reset_limits=reset_limits, @@ -1485,8 +1499,12 @@ def clicked_btn_find_upper_limit(self): self.update_fitting_options() self.refresh_plots() return None - def clicked_btn_update_abund_table(self): - selected_model = self._get_selected_model() + def clicked_btn_update_abund_table(self,row=None): + if row is None: + selected_model = self._get_selected_model() + else: + selected_model = self.parent.session.metadata["spectral_models"][row] + if selected_model is None: return None assert isinstance(selected_model, SpectralSynthesisModel), selected_model summary_dict = self.parent.session.summarize_spectral_models(organize_by_element=True) @@ -1551,32 +1569,37 @@ def clicked_export_synthesis(self): return # E. Holmbeck added - def clicked_fit_all_synth(self, acceptable=True): + def clicked_fit_all_synth(self): logger.info("Re-fitting all synth lines. This might take a while!") + # HACKY! + row_count = -1 for sm in self.parent.session.metadata.get("spectral_models", []): + row_count+=1 if sm.measurement_type != 'syn': continue - if sm.is_acceptable is acceptable: continue + if sm.is_acceptable!=self.acceptables_only: continue + #self.update_spectrum_figure(redraw=True) logger.info("Re-fitting {:} at {:.1f}.".format(sm.elements[0], sm.wavelength)) - self.clicked_btn_update_abund_table() + self.clicked_btn_update_abund_table(row=row_count) try: res = sm.fit() except (ValueError, RuntimeError) as e: - logger.info("Fitting error",sm) + logger.info("Fitting error") logger.info(e) - import pdb - pdb.set_trace() + self.acceptables_only = True return None + self.measurement_view.update_row(row_count) self.summarize_current_table() self.update_fitting_options() - self.refresh_plots() - if self.parent.session.setting("bring_to_top_after_fit", False): - self.parent.raise_() - self.parent.activateWindow() - self.parent.showNormal() + self.refresh_plots(row_count) + self.fit_none(sm) + #self.figure.draw() + + self.acceptables_only = True return None def clicked_fit_rest_synth(self): - self.clicked_fit_all_synth(acceptable=False) + self.acceptables_only = False + self.clicked_fit_all_synth() def refresh_current_model(self): spectral_model, proxy_index, index = self._get_selected_model(True) From d0c6e1fbd32669cf39f13ad6f2f42336a80daa58 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Mon, 15 Apr 2024 07:53:58 -0700 Subject: [PATCH 08/41] Fixed selected_model bug --- smh/gui/chemical_abundances.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index 00a4bbf7..a2b5d44e 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -1500,7 +1500,7 @@ def clicked_btn_find_upper_limit(self): self.refresh_plots() return None def clicked_btn_update_abund_table(self,row=None): - if row is None: + if row is None or not row: selected_model = self._get_selected_model() else: selected_model = self.parent.session.metadata["spectral_models"][row] From d13f0224f387cf7cd5a325336ad22cacbc6c4f19 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Tue, 16 Apr 2024 10:34:22 -0700 Subject: [PATCH 09/41] Removed duplicate line in linelists.py --- smh/gui/chemical_abundances.py | 7 +++---- smh/linelists.py | 6 ++---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index a2b5d44e..e1a765a5 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -75,7 +75,7 @@ def __init__(self, parent): ## Stuff for extra synthesis self.extra_spec_1 = self.ax_spectrum.plot([np.nan],[np.nan], ls='-', color='#ff531a', lw=1.5, zorder=9998)[0] self.extra_spec_2 = self.ax_spectrum.plot([np.nan],[np.nan], ls='-', color='#ffc34b', lw=1.5, zorder=9998)[0] - self.extra_spec_none = self.ax_spectrum.plot([np.nan],[np.nan], ls='-', color='teal', lw=1.2, zorder=9999)[0] + #self.extra_spec_none = self.ax_spectrum.plot([np.nan],[np.nan], ls='-', color='teal', lw=1.2, zorder=9999)[0] ################ # BOTTOM @@ -917,9 +917,8 @@ def fit_none(self, spectral_model): abundances_none[elem] = -50.0 x, y = spectral_model.get_synth(abundances_none) - self.extra_spec_none.set_data([x,y]) + #self.extra_spec_none.set_data([x,y]) spectral_model.metadata["zero_abundance"] = [x,y] - #self.synth_abund_table_model.extra_abundances[elem][2] = abunddiff def fit_one(self): @@ -1043,7 +1042,7 @@ def update_spectrum_figure(self, redraw=False, reset_limits=True, row=None): ## If synthesis, label selected lines self.extra_spec_1.set_data([[np.nan], [np.nan]]) self.extra_spec_2.set_data([[np.nan], [np.nan]]) - self.extra_spec_none.set_data([[np.nan], [np.nan]]) + #self.extra_spec_none.set_data([[np.nan], [np.nan]]) try: if row==None: diff --git a/smh/linelists.py b/smh/linelists.py index c73c1a98..bc064bd0 100644 --- a/smh/linelists.py +++ b/smh/linelists.py @@ -628,11 +628,9 @@ def read_moog(cls,filename,moog_columns=False,**kwargs): #if not np.all(np.isnan(ew)): # print("Read {} EWs out of {} lines".format(np.sum(~np.isnan(ew)),len(ew))) colnames = colnames + ['equivalent_width'] -<<<<<<< HEAD + # E. Holmbeck removed the second float thing; why was this here..? dtypes = dtypes + [np.float32] -======= - dtypes = dtypes + [float] ->>>>>>> py38-mpl313 + #dtypes = dtypes + [float] data = data + [ew] return cls(Table(data,names=colnames,dtype=dtypes),moog_columns=moog_columns,**kwargs) From f8a411c20038f292293278bd3eceb19805805e85 Mon Sep 17 00:00:00 2001 From: Erika Holmbeck <44027755+eholmbeck@users.noreply.github.com> Date: Wed, 17 Apr 2024 08:49:24 -0700 Subject: [PATCH 10/41] Update README.md Erika's affiliation changed --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 630af3ae..6d4e3b45 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Authors ------- - Andrew R. Casey (Monash) - Alex Ji (University of Chicago) - - Erika Holmbeck (Carnegie Observatories) + - Erika Holmbeck (Lawrence Livermore National Laboratory) Installation ------------ From 9e4b8157afcd6e968088d240d69e9dd47e5f5886 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Thu, 25 Apr 2024 10:58:16 -0700 Subject: [PATCH 11/41] Fixed 'fit_none' call to only work for synthesis lines --- smh/gui/chemical_abundances.py | 1 + 1 file changed, 1 insertion(+) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index e1a765a5..c4ae948a 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -908,6 +908,7 @@ def measure_all(self): return None def fit_none(self, spectral_model): + if spectral_model.measurement_type != 'syn': return # E. Holmbeck added a "none" line extra_abundances = self.synth_abund_table_model.get_extra_abundances() if extra_abundances is None: From c506a4fce8ac4dea70ab02e8722581ba4877139e Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Wed, 1 May 2024 09:27:25 -0700 Subject: [PATCH 12/41] Fixed -inf abundance to display upon 'fit_one' --- smh/gui/chemical_abundances.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index c4ae948a..74edb696 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -934,6 +934,7 @@ def fit_one(self): self.measurement_view.update_row(proxy_index.row()) self.summarize_current_table() self.update_fitting_options() + self.fit_none(spectral_model) self.refresh_plots() if self.parent.session.setting("bring_to_top_after_fit", False): @@ -941,7 +942,6 @@ def fit_one(self): self.parent.activateWindow() self.parent.showNormal() - self.fit_none(spectral_model) self.figure.draw() return None From a8a887077f067f8ab88516f7024c81e58f77438f Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Mon, 12 Aug 2024 16:28:33 -0700 Subject: [PATCH 13/41] Fixed bugs in optimize_parameters, added 2.5-sigma shading to plots, added yerr --- smh/gui/base.py | 74 ++++++++++++++++++++++++++++------ smh/gui/stellar_parameters.py | 10 ++++- smh/optimize_stellar_params.py | 23 +++++++---- 3 files changed, 86 insertions(+), 21 deletions(-) diff --git a/smh/gui/base.py b/smh/gui/base.py index 1aae07d4..b79ff3b4 100644 --- a/smh/gui/base.py +++ b/smh/gui/base.py @@ -758,14 +758,19 @@ def __init__(self, parent, xattr, yattr, assert xattr in self.allattrs, xattr assert yattr in self.allattrs, yattr self.xattr = xattr - self.yattr = yattr + self.yattr = yattr + # E. Holmbeck skipped this for now. + ''' if error_styles is not None: assert (e_xattr is not None) or (e_yattr is not None), "Must specify e_xattr and/or e_yattr for error_styles" assert (exattr is None) or (exattr in self.allattrs), exattr assert (eyattr is None) or (eyattr in self.allattrs), eyattr self.exattr = exattr self.eyattr = eyattr - + ''' + self.exattr = None + self.eyattr = None + super(SMHScatterplot, self).__init__(parent=parent, **kwargs) @@ -785,7 +790,7 @@ def __init__(self, parent, xattr, yattr, error_styles = [None for f in filters] else: assert len(filters)==len(error_styles) - raise NotImplementedError("Need to implement error bar graphics updating!") + #raise NotImplementedError("Need to implement error bar graphics updating!") if linefit_styles is None: linefit_styles = [None for f in filters] else: @@ -800,6 +805,9 @@ def __init__(self, parent, xattr, yattr, error_objs = [] linefit_objs = [] linemean_objs = [] + # E. Holmbeck added shading + fillmean_objs = [] + for filt, point_kw, error_kw, linefit_kw, linemean_kw in zip( filters, point_styles, error_styles, linefit_styles, linemean_styles): if point_kw is None: point_objs.append(None) @@ -813,7 +821,8 @@ def __init__(self, parent, xattr, yattr, error_objs.append( self.ax.errorbar(np.nan * np.ones(2), np.nan * np.ones(2), yerr=np.nan * np.ones((2, 2)), - fmt=None,zorder=-10, + fmt='o', # E. Holmbeck changed this. + zorder=-10, **error_kw)) if linefit_kw is None: linefit_objs.append(None) @@ -821,10 +830,15 @@ def __init__(self, parent, xattr, yattr, linefit_objs.append( self.ax.plot([np.nan], [np.nan], **linefit_kw)[0]) - if linemean_kw is None: linemean_objs.append(None) + if linemean_kw is None: + linemean_objs.append(None) + fillmean_objs.append(None) else: linemean_objs.append( self.ax.axhline(np.nan, **linemean_kw)) + # E. Holmbeck added shading + fillmean_objs.append( + self.ax.fill_between([0,0],[0,0],[0,0], color=linemean_kw["color"], alpha=0.15, lw=0)) ## Save graphic objects self._selected_points = self.ax.scatter([], [], @@ -835,7 +849,9 @@ def __init__(self, parent, xattr, yattr, self._errors = error_objs self._linefits = linefit_objs self._linemeans = linemean_objs - self._graphics = list(zip(self._filters, self._points, self._errors, self._linefits, self._linemeans)) + # E. Holmbeck added shading + self._fillmeans = fillmean_objs + self._graphics = list(zip(self._filters, self._points, self._errors, self._linefits, self._linemeans, self._fillmeans)) ## Connect Interactivity if enable_zoom: @@ -857,11 +873,12 @@ def minimumSizeHint(self): return QtCore.QSize(10,10) def reset(self): self._selected_points.set_offsets(np.array([np.nan, np.nan]).T) - for filt, point, error, linefit, linemean in self._graphics: + for filt, point, error, linefit, linemean, fillmean in self._graphics: if point is not None: point.set_offsets(np.array([np.nan, np.nan]).T) if error is not None: pass # TODO!!! if linefit is not None: linefit.set_data([np.nan],[np.nan]) if linemean is not None: linemean.set_data([0,1],[np.nan,np.nan]) + if fillmean is not None: pass # TODO!!! def linkToTable(self, tableview): """ view for selection; model for data @@ -922,11 +939,16 @@ def update_scatterplot(self, redraw=False): x = self._load_value_from_table(ix) ix = self._ix(i, self.ycol) y = self._load_value_from_table(ix) - if self.excol is None: ex = np.nan + if self.excol is None: + # TODO: Add x-error, which is a function of exattr... + ex = np.nan else: ix = self._ix(i, self.excol) ex = self._load_value_from_table(ix) - if self.eycol is None: ey = np.nan + if self.eycol is None: + # E. Holmbeck changed; just make sure it's right + #ey = np.nan + ey = spectral_models[i].abundance_uncertainties else: ix = self._ix(i, self.eycol) ey = self._load_value_from_table(ix) @@ -939,21 +961,38 @@ def update_scatterplot(self, redraw=False): for filt in self._filters: valids.append([filt(sm) for sm in spectral_models]) valids = np.atleast_2d(np.array(valids, dtype=bool)) - for ifilt,(filt, point, error, linefit, linemean) in enumerate(self._graphics): + + for ifilt,(filt, point, error, linefit, linemean, fillmean) in enumerate(self._graphics): valid = valids[ifilt,:] nonzero = valid.sum() > 0 x, y = xs[valid], ys[valid] + # E. Holmbeck added; only works for yerr though + ex, ey = exs[valid], eys[valid] if point is not None: if nonzero: point.set_offsets(np.array([x,y]).T) else: point.set_offsets(np.array([np.nan,np.nan]).T) if error is not None: ## TODO not doing anything with error bars right now - pass + # E. Holmbeck added this; shamelessly stolen: https://stackoverflow.com/questions/25210723/matplotlib-set-data-for-errorbar-plot + ln, (erry_top, erry_bot), (barsy,) = error.lines + x_base = x + y_base = y + yerr_top = y_base + ey + yerr_bot = y_base - ey + erry_top.set_xdata(x_base) + erry_bot.set_xdata(x_base) + erry_top.set_ydata(yerr_top) + erry_bot.set_ydata(yerr_bot) + new_segments_y = [np.array([[x, yt], [x,yb]]) for x, yt, yb in zip(x_base, yerr_top, yerr_bot)] + barsy.set_segments(new_segments_y) + #pass if nonzero and ((linefit is not None) or (linemean is not None)): ## TODO: Figure out how best to save and return info about the lines ## For now, just refitting whenever needed try: - m, b, medy, stdy, stdm, N = utils.fit_line(x, y, None) + #m, b, medy, stdy, stdm, N = utils.fit_line(x, y, None) + # E. Holmbeck; tried... Still need to iron out the kinks. + m, b, medy, stdy, stdm, N = utils.fit_line(x, y, ey) except ValueError as e: return np.nan, np.nan, np.nan, np.nan, np.nan, np.nan #xlim = np.array(self.ax.get_xlim()) @@ -966,6 +1005,17 @@ def update_scatterplot(self, redraw=False): linemean.set_data([0,1], [medy, medy]) else: linemean.set_data([0,1], [np.nan, np.nan]) + # E. Holmbeck added; shamelessly stolen: https://stackoverflow.com/questions/16120801/matplotlib-animate-fill-between-shape + if (fillmean is not None): + path = fillmean.get_paths()[0] + y0new = [medy - 2.5*stdy]*2 + y1new = [medy + 2.5*stdy]*2 + xnew = list(self.ax.get_xlim()) + v_x = np.hstack([xnew[0],xnew,xnew[-1],xnew[::-1],xnew[0]]) + v_y = np.hstack([y1new[0],y0new,y0new[-1],y1new[::-1],y1new[0]]) + vertices = np.vstack([v_x,v_y]).T + path.vertices = vertices + style_utils.relim_axes(self.ax) self.reset_zoom_limits() if redraw: self.draw() diff --git a/smh/gui/stellar_parameters.py b/smh/gui/stellar_parameters.py index e79e317c..99e2f02e 100644 --- a/smh/gui/stellar_parameters.py +++ b/smh/gui/stellar_parameters.py @@ -612,14 +612,20 @@ def _init_scatterplots(self, parent): linemean_styles = [{"color":"k","linestyle":":","zorder":-999}, {"color":"r","linestyle":":","zorder":-999}, None,None] + # E. Holmbeck added error_styles: + error_styles = [{"ms":40,"markerfacecolor":"None","markeredgecolor":"k","ecolor":"k","lw":1}, + {"ms":40,"markerfacecolor":"None","markeredgecolor":"k","ecolor":"k","lw":1}, + {"ms":70,"markerfacecolor":"none","markeredgecolor":"red","ecolor":"red","lw":3}, + {"ms":70,"markerfacecolor":"none","markeredgecolor":"red","ecolor":"red","lw":3}, + ] self.expotfig = SMHScatterplot(None, "expot", "abundances", tableview=self.measurement_view, - filters=filters, point_styles=point_styles, + filters=filters, point_styles=point_styles, error_styles=error_styles, linefit_styles=linefit_styles,linemean_styles=linemean_styles, do_not_select_unacceptable=True) self.rewfig = SMHScatterplot(None, "reduced_equivalent_width", "abundances", tableview=self.measurement_view, - filters=filters, point_styles=point_styles, + filters=filters, point_styles=point_styles, error_styles=error_styles, linefit_styles=linefit_styles,linemean_styles=linemean_styles, do_not_select_unacceptable=True) diff --git a/smh/optimize_stellar_params.py b/smh/optimize_stellar_params.py index f37240de..dcc60d8b 100644 --- a/smh/optimize_stellar_params.py +++ b/smh/optimize_stellar_params.py @@ -597,7 +597,7 @@ def optimize_feh(initial_guess, transitions, params_to_optimize, EWs=None, else: parameter_ranges["vt"] = (initial_guess[1], initial_guess[1]) - if params_to_optimize[2]: + if params_to_optimize[2]: # and not params_to_optimize[4]: # Holmbeck: I think I was trying to say, "Don't optimize logg independently, are you crazy?" But I don't know what "4" is supposed to have been. parameter_ranges["logg"] = (0, 5), else: parameter_ranges["logg"] = (initial_guess[2], initial_guess[2]) @@ -606,7 +606,7 @@ def optimize_feh(initial_guess, transitions, params_to_optimize, EWs=None, parameter_ranges["[Fe/H]"] = (-5, 0.5) else: parameter_ranges["[Fe/H]"] = (initial_guess[3], initial_guess[3]) - + # Create a mutable copy for the initial guess #solver_guess = [] @@ -647,10 +647,13 @@ def minimisation_function(stellar_parameters, *args): abundances = rt.abundance_cog(photosphere,transitions,twd=twd) transitions["abundance"] = abundances - out = utils.equilibrium_state(transitions[idx_I], + # E. Holmbeck changed so that dAdREW is w.r.t. FeII + out0 = utils.equilibrium_state(transitions[idx_I], ("expot", "reduced_equivalent_width")) - dAdchi = out[26.0]['expot'][0] - dAdREW = out[26.0]['reduced_equivalent_width'][0] + out1 = utils.equilibrium_state(transitions[idx_II], + ("expot", "reduced_equivalent_width")) + dAdchi = out0[26.0]['expot'][0] + dAdREW = out1[26.1]['reduced_equivalent_width'][0] dFe = np.mean(abundances[idx_I]) - np.mean(abundances[idx_II]) # E. Holmbeck changed dM to be w.r.t. FeII abundances. dM = np.mean(abundances[idx_II]) - (feh + solar_composition("Fe")) @@ -673,7 +676,7 @@ def minimisation_function(stellar_parameters, *args): sampled_points = [] args = (params_to_optimize, sampled_points, total_tolerance, individual_tolerances, use_nlte_grid) - + try: results = fsolve(minimisation_function, solver_guess, args=args, fprime=utils.approximate_feh_jacobian, col_deriv=1, epsfcn=0, xtol=1e-10, full_output=1, maxfev=maxfev) @@ -702,7 +705,13 @@ def minimisation_function(stellar_parameters, *args): #ier, mesg = results[-len(sampled_points)/2:] ier, mesg = results[-2:] - final_parameters = (results[0]*params_to_optimize) + (initial_guess*(-1*params_to_optimize + 1)) + # E. Holmbeck updated this + final_parameters = [] #(results[0]*params_to_optimize) + (initial_guess*(-1*params_to_optimize + 1)) + iter_results = iter(results[0]) + for pi in range(len(params_to_optimize)): + if params_to_optimize[pi]: final_parameters.append(next(iter_results)) + else: final_parameters.append(initial_guess[pi]) + final_parameters[0] = int(np.round(final_parameters[0])) # Effective temperature final_parameters_result = results[1]["fvec"] num_moog_iterations = len(sampled_points) From ab1ee54e76dceabc6406920df5bb792b7c2b76e5 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Tue, 13 Aug 2024 08:52:05 -0700 Subject: [PATCH 14/41] Stellar params with only FeII --- smh/gui/chemical_abundances.py | 1 + smh/utils.py | 42 +++++++++++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index 74edb696..44964f78 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -1499,6 +1499,7 @@ def clicked_btn_find_upper_limit(self): self.update_fitting_options() self.refresh_plots() return None + def clicked_btn_update_abund_table(self,row=None): if row is None or not row: selected_model = self._get_selected_model() diff --git a/smh/utils.py b/smh/utils.py index a0995d99..553c9307 100644 --- a/smh/utils.py +++ b/smh/utils.py @@ -180,11 +180,51 @@ def equilibrium_state(transitions, columns=("expot", "rew"), group_by="species", def fit_line(x, y, yerr=None): - if yerr is not None: raise NotImplementedError("Does not fit with error bars yet") finite = np.isfinite(x) & np.isfinite(y) if finite.sum()==0: return np.nan, np.nan, np.nan, np.nan, np.nan, 0 + x, y = x[finite], y[finite] + + # E. Holmbeck added + if yerr is not None: + # E. Holmbeck tried it by hand, but failed. + yerr = yerr[finite] + not_None = (yerr!=None) + # There are still x and y even if the yerr is None.. + # Also, do we still use xstar when we assume no error on x? + yerr = np.array(yerr[not_None], dtype=float) + x = x[not_None] + y = y[not_None] + xbar = np.mean(x) + n = float(len(x)) + + ((m,b_bar), pcov) = optimize.curve_fit(lambda x,m,b: m*x + b, x-xbar, y, sigma=yerr) + + m_stderr = pcov[0,0] + b = b_bar - m*xbar + weights = np.power(yerr,-2) + ymean = np.average(y, weights=weights) + yvar = np.sqrt(np.average(np.power(y-ymean,2), weights=weights)) + + return m, b, ymean, yvar, m_stderr, n + ''' + #raise NotImplementedError("Does not fit with error bars yet") + ybar = np.mean(y) + sxx = np.sum(np.power(x - xbar, 2))/n + syy = np.sum(np.power(y - ybar, 2))/n + sxy = np.sum((x-xbar)*(y-ybar))/n + delta = np.array(np.power(yerr,2), dtype=float) + beta1 = syy - delta*sxx + np.sqrt(np.power(syy-delta*sxx,2) + 4*delta*np.power(sxy,2)) + beta1 /= 2.*sxy + beta0 = ybar - beta1*xbar + xstar = x + beta1*(y - beta0 - beta1*x)/(np.power(beta1,2) + delta) + #ystar = beta0 + beta1*xstar + ystar = beta0 + beta1*x # HERE! + m, b_bar, r, p, m_stderr = stats.linregress(x-xbar, ystar) # HERE! + b = b_bar - m*xbar + ''' + xbar = np.mean(x) x = x - xbar m, b_bar, r, p, m_stderr = stats.linregress(x, y) From 70d931ca2d9acf22710ff5d1796fcc4041bc8f3d Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Wed, 21 Aug 2024 10:34:11 -0700 Subject: [PATCH 15/41] Reverted back to Fe I lines... --- smh/optimize_stellar_params.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smh/optimize_stellar_params.py b/smh/optimize_stellar_params.py index dcc60d8b..7b25fab0 100644 --- a/smh/optimize_stellar_params.py +++ b/smh/optimize_stellar_params.py @@ -653,7 +653,7 @@ def minimisation_function(stellar_parameters, *args): out1 = utils.equilibrium_state(transitions[idx_II], ("expot", "reduced_equivalent_width")) dAdchi = out0[26.0]['expot'][0] - dAdREW = out1[26.1]['reduced_equivalent_width'][0] + dAdREW = out0[26.0]['reduced_equivalent_width'][0] dFe = np.mean(abundances[idx_I]) - np.mean(abundances[idx_II]) # E. Holmbeck changed dM to be w.r.t. FeII abundances. dM = np.mean(abundances[idx_II]) - (feh + solar_composition("Fe")) From 856c3588762c2d7cf0b010cbe57a4be89fc537ac Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Wed, 21 Aug 2024 10:36:07 -0700 Subject: [PATCH 16/41] Changed [M/H] label --- smh/gui/stellar_parameters.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smh/gui/stellar_parameters.py b/smh/gui/stellar_parameters.py index 99e2f02e..3934187e 100644 --- a/smh/gui/stellar_parameters.py +++ b/smh/gui/stellar_parameters.py @@ -836,7 +836,7 @@ def refresh_table(self): self.label_Teff.setText("Teff={:.0f}".format(Teff)) self.label_logg.setText("logg={:.2f}".format(logg)) - self.label_MH.setText("[M/H]={:.2f}".format(MH)) + self.label_MH.setText("[Fe/H]={:.2f}".format(MH)) self.label_vt.setText("vt={:.2f}".format(vt)) self.label_staterr_Teff.setText("{:.0f}".format(stat_Teff)) From 82d632698d648a9a7dec32556cc371494c6d0dd4 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Wed, 21 Aug 2024 10:40:47 -0700 Subject: [PATCH 17/41] Changed [M/H] label --- smh/gui/stellar_parameters.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/smh/gui/stellar_parameters.py b/smh/gui/stellar_parameters.py index 3934187e..bdca29ce 100644 --- a/smh/gui/stellar_parameters.py +++ b/smh/gui/stellar_parameters.py @@ -402,7 +402,7 @@ def _init_rt_options(self, parent): # Metallicity. label = QtGui.QLabel(self) - label.setText("[M/H]") + label.setText("[Fe/H]") # E. Holmbeck changed. label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) grid_layout.addWidget(label, 2, 0, 1, 1) @@ -444,11 +444,12 @@ def _init_rt_options(self, parent): #grid_layout.addWidget(self.vt_const, 3, 2, -1) grid_layout.addWidget(self.vt_const, 3, 2) - # Nu-max. + # Nu-max. WIP + ''' label = QtGui.QLabel(self) label.setText("nu-max") label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) - + ''' ''' grid_layout.addWidget(label, 4, 0, 1, 1) self.edit_numax = QtGui.QLineEdit(self) From 812174d78f9d3087ebbb9539dfe81b08b9495ddd Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Wed, 21 Aug 2024 16:01:51 -0700 Subject: [PATCH 18/41] Added FeII toggle button --- smh/gui/stellar_parameters.py | 89 ++++++++++++++++++++++++++++------ smh/optimize_stellar_params.py | 25 ++++++---- 2 files changed, 91 insertions(+), 23 deletions(-) diff --git a/smh/gui/stellar_parameters.py b/smh/gui/stellar_parameters.py index bdca29ce..33f38930 100644 --- a/smh/gui/stellar_parameters.py +++ b/smh/gui/stellar_parameters.py @@ -53,6 +53,43 @@ _QFONT = QtGui2.QFont("Helvetica Neue", 10) _ROWHEIGHT = 20 + +# E. Holmbeck added toggle. Shamelessly stolen from https://stackoverflow.com/questions/56806987/switch-button-in-pyqt +class MySwitch(QtGui.QPushButton): + def __init__(self, parent = None): + super().__init__(parent) + self.setCheckable(True) + self.setMinimumWidth(66) + self.setMinimumHeight(22) + + def paintEvent(self, event): + label = "Fe I" if not self.isChecked() else "Fe II" + bg_color = QtCore.Qt.white if not self.isChecked() else QtCore.Qt.red + + radius = 10 + width = 25 + center = self.rect().center() + + painter = QtGui2.QPainter(self) + painter.setRenderHint(QtGui2.QPainter.Antialiasing) + painter.translate(center) + #painter.setBrush(QtGui2.QColor(0,0,0)) + painter.setBrush(QtCore.Qt.gray) + + pen = QtGui2.QPen(QtCore.Qt.black) + pen.setWidth(0) + painter.setPen(pen) + + # Draw background rounded box + painter.drawRoundedRect(QtCore.QRect(-2*width, -radius, 3*width, 2*radius), radius, radius) + painter.setBrush(QtGui2.QBrush(bg_color)) + sw_rect = QtCore.QRect(-radius, -radius, width + radius, 2*radius) + if not self.isChecked(): + sw_rect.moveLeft(-2*width) + painter.drawRoundedRect(sw_rect, radius, radius) + painter.drawText(sw_rect, QtCore.Qt.AlignCenter, label) + + class StellarParametersTab(QtGui.QWidget): @@ -345,7 +382,7 @@ def solve_feh(self): ## use current state as initial guess logger.info("Setting [alpha/Fe]=0.4 to solve") self.update_stellar_parameter_session() - self.parent.session.optimize_feh(self.params_to_optimize) + self.parent.session.optimize_feh(self.params_to_optimize, use_FeII=self.toggle_feII.isChecked()) self.parent.session.metadata["stellar_parameters"] ## refresh everything # E. Holmbeck added 'new_session' again; trying to fix update problem @@ -356,11 +393,35 @@ def solve_feh(self): def _init_rt_options(self, parent): grid_layout = QtGui.QGridLayout() + # E. Holmbeck: toggle for Fe I vs. Fe II + ''' + from qtwidgets import Toggle + label = QtGui.QLabel(self) + label.setText("Use Fe I") + grid_layout.addWidget(label, 0, 0, 1, 1) + label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) + toggle_feII = Toggle() + grid_layout.addWidget(toggle_feII, 0, 1) + toggle_feII.stateChanged.connect(toggle_feII.setChecked) + label = QtGui.QLabel(self) + label.setText("Use Fe II") + grid_layout.addWidget(label, 0, 2, 1, 1) + ''' + label = QtGui.QLabel(self) + label.setText("Use lines for parameters:") + label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) + grid_layout.addWidget(label, 0, 0, 1, 1) #int fromRow, int fromColumn, int rowSpan, int columnSpan, alignment + self.toggle_feII = MySwitch() + self.toggle_feII.setChecked(True) + grid_layout.addWidget(self.toggle_feII, 0, 1, 1, 2) + #toggle_feII.clicked.connect(lambda:self.const_param(self.use_FeII,~self.use_FeII)) + self.toggle_feII.clicked.connect(self.toggle_feII.setChecked(False)) + # Effective temperature. label = QtGui.QLabel(self) label.setText("Teff") label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) - grid_layout.addWidget(label, 0, 0, 1, 1) + grid_layout.addWidget(label, 1, 0, 1, 1) self.edit_teff = QtGui.QLineEdit(self) self.edit_teff.setMinimumSize(QtCore.QSize(40, 0)) self.edit_teff.setMaximumSize(QtCore.QSize(50, 16777215)) @@ -369,13 +430,13 @@ def _init_rt_options(self, parent): self.edit_teff.setValidator( QtGui2.QDoubleValidator(3000, 8000, 0, self.edit_teff)) self.edit_teff.textChanged.connect(self._check_lineedit_state) - grid_layout.addWidget(self.edit_teff, 0, 1) + grid_layout.addWidget(self.edit_teff, 1, 1) # E. Holmbeck added checkbox self.teff_const = QtGui.QCheckBox("Hold constant") self.teff_const.setChecked(False) self.teff_const.stateChanged.connect(lambda:self.const_param(self.teff_const,0)) #grid_layout.addWidget(self.teff_const, 0, 2, -1) - grid_layout.addWidget(self.teff_const, 0, 2) + grid_layout.addWidget(self.teff_const, 1, 2) # Surface gravity. @@ -383,7 +444,7 @@ def _init_rt_options(self, parent): label.setText("logg") label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) - grid_layout.addWidget(label, 1, 0, 1, 1) + grid_layout.addWidget(label, 2, 0, 1, 1) self.edit_logg = QtGui.QLineEdit(self) self.edit_logg.setMinimumSize(QtCore.QSize(40, 0)) self.edit_logg.setMaximumSize(QtCore.QSize(50, 16777215)) @@ -392,20 +453,20 @@ def _init_rt_options(self, parent): QtGui2.QDoubleValidator(-1, 6, 3, self.edit_logg)) self.edit_logg.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) self.edit_logg.textChanged.connect(self._check_lineedit_state) - grid_layout.addWidget(self.edit_logg, 1, 1) + grid_layout.addWidget(self.edit_logg, 2, 1) # E. Holmbeck added checkbox self.logg_const = QtGui.QCheckBox("Hold constant") self.logg_const.setChecked(False) self.logg_const.stateChanged.connect(lambda:self.const_param(self.logg_const,2)) #grid_layout.addWidget(self.logg_const, 1, 2, -1) - grid_layout.addWidget(self.logg_const, 1, 2) + grid_layout.addWidget(self.logg_const, 2, 2) # Metallicity. label = QtGui.QLabel(self) label.setText("[Fe/H]") # E. Holmbeck changed. label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) - grid_layout.addWidget(label, 2, 0, 1, 1) + grid_layout.addWidget(label, 3, 0, 1, 1) self.edit_metallicity = QtGui.QLineEdit(self) self.edit_metallicity.setMinimumSize(QtCore.QSize(40, 0)) self.edit_metallicity.setMaximumSize(QtCore.QSize(50, 16777215)) @@ -414,13 +475,13 @@ def _init_rt_options(self, parent): QtGui2.QDoubleValidator(-5, 1, 3, self.edit_metallicity)) self.edit_metallicity.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) self.edit_metallicity.textChanged.connect(self._check_lineedit_state) - grid_layout.addWidget(self.edit_metallicity, 2, 1) + grid_layout.addWidget(self.edit_metallicity, 3, 1) # E. Holmbeck added checkbox self.feh_const = QtGui.QCheckBox("Hold constant") self.feh_const.setChecked(False) self.feh_const.stateChanged.connect(lambda:self.const_param(self.feh_const,3)) #grid_layout.addWidget(self.feh_const, 2, 2, -1) - grid_layout.addWidget(self.feh_const, 2, 2) + grid_layout.addWidget(self.feh_const, 3, 2) # Microturbulence. @@ -428,7 +489,7 @@ def _init_rt_options(self, parent): label.setText("vt") label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) - grid_layout.addWidget(label, 3, 0, 1, 1) + grid_layout.addWidget(label, 4, 0, 1, 1) self.edit_xi = QtGui.QLineEdit(self) self.edit_xi.setMinimumSize(QtCore.QSize(40, 0)) self.edit_xi.setMaximumSize(QtCore.QSize(50, 16777215)) @@ -436,14 +497,14 @@ def _init_rt_options(self, parent): self.edit_xi.setValidator(QtGui2.QDoubleValidator(0, 5, 3, self.edit_xi)) self.edit_xi.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) self.edit_xi.textChanged.connect(self._check_lineedit_state) - grid_layout.addWidget(self.edit_xi, 3, 1) + grid_layout.addWidget(self.edit_xi, 4, 1) # E. Holmbeck added checkbox self.vt_const = QtGui.QCheckBox("Hold constant") self.vt_const.setChecked(False) self.vt_const.stateChanged.connect(lambda:self.const_param(self.vt_const,1)) #grid_layout.addWidget(self.vt_const, 3, 2, -1) - grid_layout.addWidget(self.vt_const, 3, 2) - + grid_layout.addWidget(self.vt_const, 4, 2) + # Nu-max. WIP ''' label = QtGui.QLabel(self) diff --git a/smh/optimize_stellar_params.py b/smh/optimize_stellar_params.py index 7b25fab0..92a1223f 100644 --- a/smh/optimize_stellar_params.py +++ b/smh/optimize_stellar_params.py @@ -96,7 +96,7 @@ def feh_optimization(func): def _decorator(request, *args, **kwargs): - params_to_optimize, previously_sampled_points, total_tolerance, individual_tolerances, use_nlte_grid = args + params_to_optimize, previously_sampled_points, total_tolerance, individual_tolerances, use_nlte_grid, use_FeII = args previously_sampled_points = np.array(previously_sampled_points) @@ -547,6 +547,7 @@ def optimize_feh(initial_guess, transitions, params_to_optimize, EWs=None, max_attempts=5, total_tolerance=1e-4, individual_tolerances=None, maxfev=30, use_nlte_grid=None, + use_FeII=False, ): """ Assumes these are all transitions you want to use for stellar parameters @@ -625,7 +626,7 @@ def minimisation_function(stellar_parameters, *args): stellar_parameters : [teff, vt, logg, feh] """ - params_to_optimize, all_sampled_points, total_tolerance, individual_tolerances, use_nlte_grid = args + params_to_optimize, all_sampled_points, total_tolerance, individual_tolerances, use_nlte_grid, use_FeII = args # Old way: #teff, vt, logg, feh = [initial_guess[0], stellar_parameters[0], initial_guess[2], stellar_parameters[1]] @@ -648,12 +649,18 @@ def minimisation_function(stellar_parameters, *args): transitions["abundance"] = abundances # E. Holmbeck changed so that dAdREW is w.r.t. FeII - out0 = utils.equilibrium_state(transitions[idx_I], - ("expot", "reduced_equivalent_width")) - out1 = utils.equilibrium_state(transitions[idx_II], - ("expot", "reduced_equivalent_width")) - dAdchi = out0[26.0]['expot'][0] - dAdREW = out0[26.0]['reduced_equivalent_width'][0] + if use_FeII: + out = utils.equilibrium_state(transitions[idx_II], + ("expot", "reduced_equivalent_width")) + species=26.1 + else: + out = utils.equilibrium_state(transitions[idx_I], + ("expot", "reduced_equivalent_width")) + species=26.0 + logger.info("Using species: {:.1f}".format(species)) + + dAdchi = out[species]['expot'][0] + dAdREW = out[species]['reduced_equivalent_width'][0] dFe = np.mean(abundances[idx_I]) - np.mean(abundances[idx_II]) # E. Holmbeck changed dM to be w.r.t. FeII abundances. dM = np.mean(abundances[idx_II]) - (feh + solar_composition("Fe")) @@ -675,7 +682,7 @@ def minimisation_function(stellar_parameters, *args): for i in range(1, 1 + max_attempts): sampled_points = [] args = (params_to_optimize, sampled_points, total_tolerance, individual_tolerances, - use_nlte_grid) + use_nlte_grid, use_FeII) try: results = fsolve(minimisation_function, solver_guess, args=args, fprime=utils.approximate_feh_jacobian, From 55a69d2869337feca709379f43447b2341eb4bae Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Thu, 22 Aug 2024 10:21:45 -0700 Subject: [PATCH 19/41] Beautify --- smh/gui/stellar_parameters.py | 49 ++++++++++++++++------------------- 1 file changed, 22 insertions(+), 27 deletions(-) diff --git a/smh/gui/stellar_parameters.py b/smh/gui/stellar_parameters.py index 33f38930..2ffa7fef 100644 --- a/smh/gui/stellar_parameters.py +++ b/smh/gui/stellar_parameters.py @@ -392,30 +392,25 @@ def solve_feh(self): def _init_rt_options(self, parent): - grid_layout = QtGui.QGridLayout() # E. Holmbeck: toggle for Fe I vs. Fe II - ''' - from qtwidgets import Toggle - label = QtGui.QLabel(self) - label.setText("Use Fe I") - grid_layout.addWidget(label, 0, 0, 1, 1) - label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) - toggle_feII = Toggle() - grid_layout.addWidget(toggle_feII, 0, 1) - toggle_feII.stateChanged.connect(toggle_feII.setChecked) - label = QtGui.QLabel(self) - label.setText("Use Fe II") - grid_layout.addWidget(label, 0, 2, 1, 1) - ''' + grid_layout = QtGui.QGridLayout() label = QtGui.QLabel(self) - label.setText("Use lines for parameters:") - label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) + label.setText("Use lines for parameters") grid_layout.addWidget(label, 0, 0, 1, 1) #int fromRow, int fromColumn, int rowSpan, int columnSpan, alignment self.toggle_feII = MySwitch() self.toggle_feII.setChecked(True) - grid_layout.addWidget(self.toggle_feII, 0, 1, 1, 2) + grid_layout.addWidget(self.toggle_feII, 0, 0, 1, 3)#, alignment=QtCore.Qt.AlignCenter) #toggle_feII.clicked.connect(lambda:self.const_param(self.use_FeII,~self.use_FeII)) self.toggle_feII.clicked.connect(self.toggle_feII.setChecked(False)) + label = QtGui.QLabel(self) + label.setText("Hold?") + grid_layout.addWidget(label, 0, 1, 1, 2, alignment=QtCore.Qt.AlignRight) + self.line = QtGui.QFrame() + self.line.setFrameShape(QtGui.QFrame.HLine) + self.line.setFrameShadow(QtGui.QFrame.Sunken) + spacer = QtGui.QSpacerItem(QtGui.QSizePolicy.MinimumExpanding, 30) + grid_layout.addItem(spacer, 0, 0, 1, 3) + grid_layout.addWidget(self.line, 0, 0, 1, 3, alignment=QtCore.Qt.AlignBottom) # Effective temperature. label = QtGui.QLabel(self) @@ -432,11 +427,11 @@ def _init_rt_options(self, parent): self.edit_teff.textChanged.connect(self._check_lineedit_state) grid_layout.addWidget(self.edit_teff, 1, 1) # E. Holmbeck added checkbox - self.teff_const = QtGui.QCheckBox("Hold constant") + self.teff_const = QtGui.QCheckBox() self.teff_const.setChecked(False) self.teff_const.stateChanged.connect(lambda:self.const_param(self.teff_const,0)) #grid_layout.addWidget(self.teff_const, 0, 2, -1) - grid_layout.addWidget(self.teff_const, 1, 2) + grid_layout.addWidget(self.teff_const, 1, 2, alignment=QtCore.Qt.AlignCenter) # Surface gravity. @@ -455,15 +450,15 @@ def _init_rt_options(self, parent): self.edit_logg.textChanged.connect(self._check_lineedit_state) grid_layout.addWidget(self.edit_logg, 2, 1) # E. Holmbeck added checkbox - self.logg_const = QtGui.QCheckBox("Hold constant") + self.logg_const = QtGui.QCheckBox()#"Hold constant") self.logg_const.setChecked(False) self.logg_const.stateChanged.connect(lambda:self.const_param(self.logg_const,2)) #grid_layout.addWidget(self.logg_const, 1, 2, -1) - grid_layout.addWidget(self.logg_const, 2, 2) + grid_layout.addWidget(self.logg_const, 2, 2, alignment=QtCore.Qt.AlignCenter) # Metallicity. label = QtGui.QLabel(self) - label.setText("[Fe/H]") # E. Holmbeck changed. + label.setText("[M/H]") label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) grid_layout.addWidget(label, 3, 0, 1, 1) @@ -477,11 +472,11 @@ def _init_rt_options(self, parent): self.edit_metallicity.textChanged.connect(self._check_lineedit_state) grid_layout.addWidget(self.edit_metallicity, 3, 1) # E. Holmbeck added checkbox - self.feh_const = QtGui.QCheckBox("Hold constant") + self.feh_const = QtGui.QCheckBox() self.feh_const.setChecked(False) self.feh_const.stateChanged.connect(lambda:self.const_param(self.feh_const,3)) #grid_layout.addWidget(self.feh_const, 2, 2, -1) - grid_layout.addWidget(self.feh_const, 3, 2) + grid_layout.addWidget(self.feh_const, 3, 2, alignment=QtCore.Qt.AlignCenter) # Microturbulence. @@ -499,11 +494,11 @@ def _init_rt_options(self, parent): self.edit_xi.textChanged.connect(self._check_lineedit_state) grid_layout.addWidget(self.edit_xi, 4, 1) # E. Holmbeck added checkbox - self.vt_const = QtGui.QCheckBox("Hold constant") + self.vt_const = QtGui.QCheckBox() self.vt_const.setChecked(False) self.vt_const.stateChanged.connect(lambda:self.const_param(self.vt_const,1)) #grid_layout.addWidget(self.vt_const, 3, 2, -1) - grid_layout.addWidget(self.vt_const, 4, 2) + grid_layout.addWidget(self.vt_const, 4, 2, alignment=QtCore.Qt.AlignCenter) # Nu-max. WIP ''' @@ -898,7 +893,7 @@ def refresh_table(self): self.label_Teff.setText("Teff={:.0f}".format(Teff)) self.label_logg.setText("logg={:.2f}".format(logg)) - self.label_MH.setText("[Fe/H]={:.2f}".format(MH)) + self.label_MH.setText("[M/H]={:.2f}".format(MH)) self.label_vt.setText("vt={:.2f}".format(vt)) self.label_staterr_Teff.setText("{:.0f}".format(stat_Teff)) From d94269cdd16a0e8b5244dbbaf6b00aba588f5799 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Thu, 22 Aug 2024 10:28:58 -0700 Subject: [PATCH 20/41] Small edits --- smh/gui/stellar_parameters.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/smh/gui/stellar_parameters.py b/smh/gui/stellar_parameters.py index 2ffa7fef..9297e341 100644 --- a/smh/gui/stellar_parameters.py +++ b/smh/gui/stellar_parameters.py @@ -400,11 +400,10 @@ def _init_rt_options(self, parent): self.toggle_feII = MySwitch() self.toggle_feII.setChecked(True) grid_layout.addWidget(self.toggle_feII, 0, 0, 1, 3)#, alignment=QtCore.Qt.AlignCenter) - #toggle_feII.clicked.connect(lambda:self.const_param(self.use_FeII,~self.use_FeII)) self.toggle_feII.clicked.connect(self.toggle_feII.setChecked(False)) label = QtGui.QLabel(self) label.setText("Hold?") - grid_layout.addWidget(label, 0, 1, 1, 2, alignment=QtCore.Qt.AlignRight) + grid_layout.addWidget(label, 0, 2, 1, 1) self.line = QtGui.QFrame() self.line.setFrameShape(QtGui.QFrame.HLine) self.line.setFrameShadow(QtGui.QFrame.Sunken) @@ -430,7 +429,6 @@ def _init_rt_options(self, parent): self.teff_const = QtGui.QCheckBox() self.teff_const.setChecked(False) self.teff_const.stateChanged.connect(lambda:self.const_param(self.teff_const,0)) - #grid_layout.addWidget(self.teff_const, 0, 2, -1) grid_layout.addWidget(self.teff_const, 1, 2, alignment=QtCore.Qt.AlignCenter) From 64e2e6e449fefe4cad43f9b6aa618e561fb6b737 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Tue, 18 Feb 2025 17:44:26 -0800 Subject: [PATCH 21/41] Preliminary fixes: masks and normalization not overwritten when RV is changed; added 'synth' and 'ew' options for the abundance table; custom sigma for plotting --- emh_smhr3_versions.txt | 94 ++++++++++++++++++++++++++++++++++ smh/gui/base.py | 13 +++-- smh/gui/chemical_abundances.py | 36 +++++++++++-- smh/gui/normalization.py | 18 +++++++ smh/gui/rv.py | 5 +- smh/gui/stellar_parameters.py | 28 ++++++++-- smh/gui/ui_mainwindow.py | 2 +- 7 files changed, 183 insertions(+), 13 deletions(-) create mode 100644 emh_smhr3_versions.txt diff --git a/emh_smhr3_versions.txt b/emh_smhr3_versions.txt new file mode 100644 index 00000000..e0c23f06 --- /dev/null +++ b/emh_smhr3_versions.txt @@ -0,0 +1,94 @@ +# packages in environment at /Users/holmbeck/opt/anaconda3/envs/smhr-py3: +# +# Name Version Build Channel +appnope 0.1.2 py38hecd8cb5_1001 +astropy 5.0.4 py38h67323c0_0 +asttokens 2.0.5 pyhd3eb1b0_0 +backcall 0.2.0 pyhd3eb1b0_0 +blas 1.0 mkl +brotlipy 0.7.0 py38h9ed2024_1003 +ca-certificates 2022.5.18.1 h033912b_0 conda-forge +certifi 2022.5.18.1 py38h50d1736_0 conda-forge +cffi 1.15.0 py38hc55c11b_1 +charset-normalizer 2.0.4 pyhd3eb1b0_0 +cryptography 37.0.1 py38hf6deb26_0 +cycler 0.11.0 pyhd3eb1b0_0 +decorator 5.1.1 pyhd3eb1b0_0 +executing 0.8.3 pyhd3eb1b0_0 +freetype 2.11.0 hd8bbffd_0 +icu 68.2 he49afe7_0 conda-forge +idna 3.3 pyhd3eb1b0_0 +intel-openmp 2021.4.0 hecd8cb5_3538 +ipython 8.3.0 py38hecd8cb5_0 +jedi 0.18.1 py38hecd8cb5_1 +jpeg 9e h5eb16cf_1 conda-forge +julia 0.6.1 pypi_0 pypi +kiwisolver 1.4.2 py38he9d5cce_0 +krb5 1.19.2 hcfbf3a7_3 conda-forge +libclang 11.1.0 default_he082bbe_1 conda-forge +libcxx 12.0.0 h2f01273_0 +libedit 3.1.20191231 h0678c8f_2 conda-forge +libffi 3.3 hb1e8313_2 +libgfortran 3.0.1 h93005f0_2 +libiconv 1.16 haf1e3a3_0 conda-forge +libllvm11 11.1.0 hd011deb_2 conda-forge +libpng 1.6.37 ha441bb4_0 +libpq 13.3 hea3049e_0 conda-forge +libxml2 2.9.12 h93ec3fd_0 conda-forge +libxslt 1.1.33 h5739fc3_2 conda-forge +lz4-c 1.9.3 he49afe7_1 conda-forge +matplotlib 3.1.3 py38_0 +matplotlib-base 3.1.3 py38h9aa3819_0 +matplotlib-inline 0.1.2 pyhd3eb1b0_2 +mkl 2021.4.0 hecd8cb5_637 +mkl-service 2.4.0 py38h9ed2024_0 +mkl_fft 1.3.1 py38h4ab4a9b_0 +mkl_random 1.2.2 py38hb2f4e1b_0 +mysql-common 8.0.25 h694c41f_2 conda-forge +mysql-libs 8.0.25 h115446f_2 conda-forge +ncurses 6.3 hca72f7f_2 +nspr 4.32 hcd9eead_1 conda-forge +nss 3.69 h31e2bf1_1 conda-forge +numpy 1.22.3 py38h2e5f0a9_0 +numpy-base 1.22.3 py38h3b1a694_0 +openssl 1.1.1o hfe4f2af_0 conda-forge +packaging 21.3 pyhd3eb1b0_0 +parso 0.8.3 pyhd3eb1b0_0 +pexpect 4.8.0 pyhd3eb1b0_3 +pickleshare 0.7.5 pyhd3eb1b0_1003 +pip 21.2.4 py38hecd8cb5_0 +prompt-toolkit 3.0.20 pyhd3eb1b0_0 +ptyprocess 0.7.0 pyhd3eb1b0_2 +pure_eval 0.2.2 pyhd3eb1b0_0 +pycparser 2.21 pyhd3eb1b0_0 +pyerfa 2.0.0 py38h9ed2024_0 +pygments 2.11.2 pyhd3eb1b0_0 +pyopenssl 22.0.0 pyhd3eb1b0_0 +pyparsing 3.0.4 pyhd3eb1b0_0 +pyside2 5.15.2.1 pypi_0 pypi +pysocks 1.7.1 py38_1 +python 3.8.13 hdfd78df_0 +python-dateutil 2.8.2 pyhd3eb1b0_0 +python.app 3 py38hca72f7f_0 +python_abi 3.8 2_cp38 conda-forge +pyyaml 6.0 py38hca72f7f_1 +qt 5.12.9 h126340a_4 conda-forge +readline 8.1.2 hca72f7f_1 +requests 2.27.1 pyhd3eb1b0_0 +scipy 1.7.3 py38h8c7af03_0 +setuptools 61.2.0 py38hecd8cb5_0 +shiboken2 5.15.2.1 pypi_0 pypi +six 1.16.0 pyhd3eb1b0_1 +smh 0.2 dev_0 +sqlite 3.38.3 h707629a_0 +stack_data 0.2.0 pyhd3eb1b0_0 +tk 8.6.12 h5d9f67b_0 +tornado 6.1 py38h9ed2024_0 +traitlets 5.1.1 pyhd3eb1b0_0 +urllib3 1.26.9 py38hecd8cb5_0 +wcwidth 0.2.5 pyhd3eb1b0_0 +wheel 0.37.1 pyhd3eb1b0_0 +xz 5.2.5 hca72f7f_1 +yaml 0.2.5 h0d85af4_2 conda-forge +zlib 1.2.12 h4dc903c_2 +zstd 1.5.0 h582d3a0_0 conda-forge diff --git a/smh/gui/base.py b/smh/gui/base.py index b79ff3b4..99dfd4e1 100644 --- a/smh/gui/base.py +++ b/smh/gui/base.py @@ -125,7 +125,6 @@ def __init__(self, parent, session=None, self.session = session self.label_ymin = label_ymin self.label_ymax = label_ymax - # E. Holmbeck changed colors: self.acceptable_color = "#d92653" self.unacceptable_color = "#37ae91" @@ -754,6 +753,7 @@ def __init__(self, parent, xattr, yattr, error_styles=None, linefit_styles=None, linemean_styles=None, + sigma=2.5, **kwargs): assert xattr in self.allattrs, xattr assert yattr in self.allattrs, yattr @@ -770,6 +770,7 @@ def __init__(self, parent, xattr, yattr, ''' self.exattr = None self.eyattr = None + self.sigma = sigma super(SMHScatterplot, self).__init__(parent=parent, **kwargs) @@ -838,7 +839,7 @@ def __init__(self, parent, xattr, yattr, self.ax.axhline(np.nan, **linemean_kw)) # E. Holmbeck added shading fillmean_objs.append( - self.ax.fill_between([0,0],[0,0],[0,0], color=linemean_kw["color"], alpha=0.15, lw=0)) + self.ax.fill_between([0,0],[0,0],[0,0], color=linemean_kw["color"], alpha=0.10, lw=0)) ## Save graphic objects self._selected_points = self.ax.scatter([], [], @@ -1008,13 +1009,17 @@ def update_scatterplot(self, redraw=False): # E. Holmbeck added; shamelessly stolen: https://stackoverflow.com/questions/16120801/matplotlib-animate-fill-between-shape if (fillmean is not None): path = fillmean.get_paths()[0] - y0new = [medy - 2.5*stdy]*2 - y1new = [medy + 2.5*stdy]*2 + y0new = [medy - self.sigma*stdy]*2 + y1new = [medy + self.sigma*stdy]*2 + #import pdb + #pdb.set_trace() + #self.edit_sigma.text() xnew = list(self.ax.get_xlim()) v_x = np.hstack([xnew[0],xnew,xnew[-1],xnew[::-1],xnew[0]]) v_y = np.hstack([y1new[0],y0new,y0new[-1],y1new[::-1],y1new[0]]) vertices = np.vstack([v_x,v_y]).T path.vertices = vertices + self.ax.set_ylim(*[1.2*lim for lim in self.ax.get_ylim()]) style_utils.relim_axes(self.ax) self.reset_zoom_limits() diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index 44964f78..05903f9c 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -43,7 +43,7 @@ QtGui2.QFont.insertSubstitution(*substitute) _QFONT = QtGui2.QFont("Helvetica Neue", 10) -_ROWHEIGHT = 20 +_ROWHEIGHT = 30 DOUBLE_CLICK_INTERVAL = 0.1 # MAGIC HACK PICKER_TOLERANCE = 10 # MAGIC HACK @@ -741,6 +741,8 @@ def populate_filter_combo_box(self): box = self.filter_combo_box box.clear() box.addItem("All") + box.addItem("Synthesized Lines") + box.addItem("EW Lines") all_species = set([]) for spectral_model in self.full_measurement_model.spectral_models: @@ -756,6 +758,7 @@ def populate_filter_combo_box(self): assert species == utils.element_to_species(elem) box.addItem(elem) + # E. Holmbeck added filters for Synth and EW def filter_combo_box_changed(self): elem = self.filter_combo_box.currentText() # Update the filter @@ -768,8 +771,20 @@ def filter_combo_box_changed(self): logger.debug(e) logger.debug(self.measurement_model.filter_functions) raise - if elem in [None, "", "All"]: + if elem in [None, "", "All", "None"]: self.element_summary_text.setText("") + elif elem == "Synthesized Lines": + self.element_summary_text.setText("") + def filter_function(model): + if isinstance(model, SpectralSynthesisModel): + return model.species + self.measurement_model.add_filter_function(elem, filter_function) + elif elem == "EW Lines": + self.element_summary_text.setText("") + def filter_function(model): + if isinstance(model, ProfileFittingModel): + return model.species + self.measurement_model.add_filter_function(elem, filter_function) else: species = utils.element_to_species(elem) def filter_function(model): @@ -778,7 +793,8 @@ def filter_function(model): elif isinstance(model, SpectralSynthesisModel): return np.any([species in specie for specie in model.species]) self.measurement_model.add_filter_function(elem, filter_function) - self._currently_plotted_element = elem + if elem not in ["Synthezized Lines", "EW Lines"]: + self._currently_plotted_element = elem self.measurement_model.endResetModel() self.summarize_current_table() self.refresh_plots() @@ -794,12 +810,26 @@ def calculate_FeH(self): return np.nan return self.FeH + # E. Holmbeck added the synth and ew lines; TODO: make less hacky def summarize_current_table(self): elem = self.filter_combo_box.currentText() if elem is None or elem == "" or elem == "All": N = self.measurement_model.rowCount() self.element_summary_text.setText("N={} lines".format(N)) return None + elif elem == "Synthesized Lines": + filtered = [] + for line in self.parent.session.spectral_models: + if line.measurement_type == "syn": filtered.append(line) + self.element_summary_text.setText("N={} lines".format(len(filtered))) + return None + elif elem == "EW Lines": + filtered = [] + for line in self.parent.session.spectral_models: + if line.measurement_type == "eqw": filtered.append(line) + self.element_summary_text.setText("N={} lines".format(len(filtered))) + return None + summary_dict = self.parent.session.summarize_spectral_models(organize_by_element=False) species = utils.element_to_species(elem) if species not in summary_dict: diff --git a/smh/gui/normalization.py b/smh/gui/normalization.py index c4e5131d..e1efca5c 100644 --- a/smh/gui/normalization.py +++ b/smh/gui/normalization.py @@ -887,6 +887,24 @@ def update_rv_applied(self): return None + # E. Holmbeck added this so the masks aren't overwritten in RPA data + def update_rv_applied_keep_masks(self, rv_diff): + """ + Make updates to the view when the radial velocity applied has been + updated. Keep masks. + """ + + global c + for N in range(len(self.parent.session.input_spectra)): + self.parent.session.metadata["normalization"]['normalization_kwargs'][N]['exclude'] *= 1.0 + rv_diff/c + + # Update the current order fit, and the view. + self.update_order_index() + self.draw_order(refresh=False) + self.draw_continuum(refresh=True) + + return None + def update_continuum_mask(self, refresh=False): diff --git a/smh/gui/rv.py b/smh/gui/rv.py index c590264d..210fc4c3 100644 --- a/smh/gui/rv.py +++ b/smh/gui/rv.py @@ -772,6 +772,8 @@ def correct_radial_velocity(self): Correct the radial velocity of the observed spectra. """ + rv_diff = np.float(self.rv_applied.text()) + np.float(self.parent.session.metadata["rv"]["rv_applied"]) + self.parent.session.rv_correct(self.rv_applied.text()) # Redshift the normalized order. @@ -779,7 +781,8 @@ def correct_radial_velocity(self): # Enable and update the normalization tab. self.parent.tabs.setTabEnabled(self.parent.tabs.indexOf(self) + 1, True) - self.parent.normalization_tab.update_rv_applied() + # New function E. Holmbeck added to keep masks + self.parent.normalization_tab.update_rv_applied_keep_masks(rv_diff) # Enable relevant menu actions. self.parent._action_fit_balmer_lines.setEnabled(True) diff --git a/smh/gui/stellar_parameters.py b/smh/gui/stellar_parameters.py index 9297e341..86926e92 100644 --- a/smh/gui/stellar_parameters.py +++ b/smh/gui/stellar_parameters.py @@ -324,6 +324,8 @@ def update_stellar_parameter_state_table(self): self.state_fe2_dAdREW.setText(u"{:.3f} ± {:.3f}".format(mREW2, emREW2)) return None def refresh_plots(self): + self.expotfig.sigma = float(self.edit_sigma.text()) + self.rewfig.sigma = float(self.edit_sigma.text()) self.expotfig.update_scatterplot(False) self.rewfig.update_scatterplot(False) self.expotfig.update_selected_points(True) @@ -383,7 +385,7 @@ def solve_feh(self): logger.info("Setting [alpha/Fe]=0.4 to solve") self.update_stellar_parameter_session() self.parent.session.optimize_feh(self.params_to_optimize, use_FeII=self.toggle_feII.isChecked()) - self.parent.session.metadata["stellar_parameters"] + #self.parent.session.metadata["stellar_parameters"] ## refresh everything # E. Holmbeck added 'new_session' again; trying to fix update problem self.new_session_loaded() @@ -536,13 +538,31 @@ def _init_rt_options(self, parent): self.edit_alpha.textChanged.connect(self._check_lineedit_state) grid_layout.addWidget(self.edit_alpha, 5, 1) + + # Sigma plotting + label = QtGui.QLabel(self) + label.setText("Sigma to plot") + label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) + + grid_layout.addWidget(label, 6, 0, 1, 1) + self.edit_sigma = QtGui.QLineEdit(self) + self.edit_sigma.setMinimumSize(QtCore.QSize(40, 0)) + self.edit_sigma.setMaximumSize(QtCore.QSize(50, 16777215)) + self.edit_sigma.setAlignment(QtCore.Qt.AlignCenter) + self.edit_sigma.setValidator(QtGui2.QDoubleValidator(0, 5, 2, self.edit_sigma)) + self.edit_sigma.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)) + self.edit_sigma.textChanged.connect(self._check_lineedit_state) + grid_layout.addWidget(self.edit_sigma, 6, 1) + self.edit_sigma.setText("2.5") + self.edit_teff.returnPressed.connect(self.measure_abundances) self.edit_logg.returnPressed.connect(self.measure_abundances) self.edit_metallicity.returnPressed.connect(self.measure_abundances) self.edit_xi.returnPressed.connect(self.measure_abundances) #self.edit_numax.returnPressed.connect(self.measure_abundances) self.edit_alpha.returnPressed.connect(self.measure_abundances) - + self.edit_sigma.returnPressed.connect(self.refresh_plots) + return grid_layout def _init_rt_buttons(self, parent): # Buttons for solving/measuring. @@ -677,12 +697,12 @@ def _init_scatterplots(self, parent): tableview=self.measurement_view, filters=filters, point_styles=point_styles, error_styles=error_styles, linefit_styles=linefit_styles,linemean_styles=linemean_styles, - do_not_select_unacceptable=True) + do_not_select_unacceptable=True, sigma=2.5) self.rewfig = SMHScatterplot(None, "reduced_equivalent_width", "abundances", tableview=self.measurement_view, filters=filters, point_styles=point_styles, error_styles=error_styles, linefit_styles=linefit_styles,linemean_styles=linemean_styles, - do_not_select_unacceptable=True) + do_not_select_unacceptable=True, sigma=2.5) sp = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.MinimumExpanding) diff --git a/smh/gui/ui_mainwindow.py b/smh/gui/ui_mainwindow.py index 86a13d2c..69e25e26 100644 --- a/smh/gui/ui_mainwindow.py +++ b/smh/gui/ui_mainwindow.py @@ -47,7 +47,7 @@ def __init__(self, parent=None, session_path=None, spectrum_filenames=None): self.open_session(session_path) self.setObjectName("smh") - self.resize(1200, 600) + self.resize(1200, 900) desktop = QtGui.QApplication.desktop() self.move(desktop.screen().rect().center() - self.rect().center()) From bd8705e863dfce76461c9f2015ab642703d7a685 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Thu, 6 Mar 2025 10:11:48 -0800 Subject: [PATCH 22/41] Fixed missing lines bug --- smh/gui/chemical_abundances.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index 05903f9c..698721f0 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -763,7 +763,7 @@ def filter_combo_box_changed(self): elem = self.filter_combo_box.currentText() # Update the filter self.measurement_model.beginResetModel() - if self._currently_plotted_element not in ["All", "", "None"]: + if self._currently_plotted_element not in [None, "All", "", "None"]: try: self.measurement_model.delete_filter_function(self._currently_plotted_element) except KeyError as e: @@ -793,8 +793,8 @@ def filter_function(model): elif isinstance(model, SpectralSynthesisModel): return np.any([species in specie for specie in model.species]) self.measurement_model.add_filter_function(elem, filter_function) - if elem not in ["Synthezized Lines", "EW Lines"]: - self._currently_plotted_element = elem + + self._currently_plotted_element = elem self.measurement_model.endResetModel() self.summarize_current_table() self.refresh_plots() From f30743237f4f563141105ca6e2e08f96434a7c60 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Thu, 6 Mar 2025 15:28:59 -0800 Subject: [PATCH 23/41] Fixed upper limit bug? --- smh/gui/chemical_abundances.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index 698721f0..31e0834f 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -1522,7 +1522,8 @@ def clicked_btn_find_upper_limit(self): except: logger.debug("Invalid sigma for finding limit") return None - upper_limit = spectral_model.find_upper_limit(sigma=sigma, start_at_current=True) + # E. Holmbeck changed start_at_current from True to False + upper_limit = spectral_model.find_upper_limit(sigma=sigma, start_at_current=False) # Refresh GUI self.measurement_view.update_row(proxy_index.row()) self.summarize_current_table() From 5854e7487cf97ffbb8a34e1f4a2d190e5ed7dc79 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Sun, 9 Mar 2025 23:19:40 -0700 Subject: [PATCH 24/41] Added warning boxes for synth all/rest --- smh/gui/chemical_abundances.py | 62 ++++++++++++++++++++++++++-------- 1 file changed, 48 insertions(+), 14 deletions(-) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index 31e0834f..f4bbf575 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -603,10 +603,6 @@ def _connect_profile_signals(self): self.clicked_checkbox_upper_limit) self.btn_fit_one.clicked.connect( self.fit_one) - self.btn_fit_all_synth.clicked.connect( - self.clicked_fit_all_synth) - self.btn_fit_rest_synth.clicked.connect( - self.clicked_fit_rest_synth) self.btn_clear_masks.clicked.connect( self.clicked_btn_clear_masks) self._profile_signals = [ @@ -636,8 +632,6 @@ def _connect_profile_signals(self): (self.edit_wavelength_tolerance.returnPressed,self.fit_one), (self.checkbox_upper_limit.stateChanged,self.clicked_checkbox_upper_limit), (self.btn_fit_one.clicked,self.fit_one), - (self.btn_fit_all_synth.clicked,self.clicked_fit_all_synth), - (self.btn_fit_rest_synth.clicked,self.clicked_fit_rest_synth), (self.btn_clear_masks.clicked,self.clicked_btn_clear_masks) ] @@ -820,13 +814,13 @@ def summarize_current_table(self): elif elem == "Synthesized Lines": filtered = [] for line in self.parent.session.spectral_models: - if line.measurement_type == "syn": filtered.append(line) + if isinstance(line, SpectralSynthesisModel): filtered.append(line) self.element_summary_text.setText("N={} lines".format(len(filtered))) return None elif elem == "EW Lines": filtered = [] for line in self.parent.session.spectral_models: - if line.measurement_type == "eqw": filtered.append(line) + if isinstance(line, ProfileFittingModel): filtered.append(line) self.element_summary_text.setText("N={} lines".format(len(filtered))) return None @@ -938,7 +932,7 @@ def measure_all(self): return None def fit_none(self, spectral_model): - if spectral_model.measurement_type != 'syn': return + if isinstance(spectral_model, SpectralSynthesisModel): return # E. Holmbeck added a "none" line extra_abundances = self.synth_abund_table_model.get_extra_abundances() if extra_abundances is None: @@ -1601,13 +1595,32 @@ def clicked_export_synthesis(self): return # E. Holmbeck added - def clicked_fit_all_synth(self): - logger.info("Re-fitting all synth lines. This might take a while!") - # HACKY! + def clicked_fit_all_synth(self, skip_message=False): + if not skip_message: + num_models = 0 + for sm in self.parent.session.metadata.get("spectral_models", []): + if sm.is_acceptable: num_models += 1 + + time_estimate = num_models * 2.0 + if time_estimate >= 60: + units = "minutes" + time_estimate /= 60 + else: units = "seconds" + + reply = QtGui.QMessageBox.question(self, "Warning!", + f"Are you sure you want to re-synthesize all {num_models:.0f} acceptable lines?"\ + + f" This will take about {np.around(time_estimate,0):.0f} {units:}.", + QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) + + if not reply==QtGui.QMessageBox.Yes: + return None + + logger.info("Re-fitting all synth lines.") + # TODO: HACKY! row_count = -1 for sm in self.parent.session.metadata.get("spectral_models", []): row_count+=1 - if sm.measurement_type != 'syn': continue + if isinstance(sm, SpectralSynthesisModel): continue if sm.is_acceptable!=self.acceptables_only: continue #self.update_spectrum_figure(redraw=True) logger.info("Re-fitting {:} at {:.1f}.".format(sm.elements[0], sm.wavelength)) @@ -1630,8 +1643,29 @@ def clicked_fit_all_synth(self): return None def clicked_fit_rest_synth(self): + num_models = 0 + for sm in self.parent.session.metadata.get("spectral_models", []): + if not sm.is_acceptable: num_models += 1 + + time_estimate = num_models * 2.5 + if time_estimate >= 60: + units = "minutes" + time_estimate /= 60 + else: units = "seconds" + + line_or_lines = 's' if num_models>0 else '' + + reply = QtGui.QMessageBox.question(self, "Warning!", + f"You have chosen to synthesize {num_models:.0f} remaining line{line_or_lines:}."\ + + f" This will take about {np.around(time_estimate,0):.0f} {units:}. Continue?", + QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) + if not reply==QtGui.QMessageBox.Yes: + return None + + logger.info("Re-fitting all synth lines.") self.acceptables_only = False - self.clicked_fit_all_synth() + self.clicked_fit_all_synth(skip_message=True) + def refresh_current_model(self): spectral_model, proxy_index, index = self._get_selected_model(True) From 6e8044fcceb2975b8d53ebef44013ab9dfa9a394 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Sun, 9 Mar 2025 23:48:33 -0700 Subject: [PATCH 25/41] Added warning boxes for synth all/rest --- smh/gui/chemical_abundances.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index f4bbf575..4785f709 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -1599,9 +1599,9 @@ def clicked_fit_all_synth(self, skip_message=False): if not skip_message: num_models = 0 for sm in self.parent.session.metadata.get("spectral_models", []): - if sm.is_acceptable: num_models += 1 + if isinstance(sm, SpectralSynthesisModel) and sm.is_acceptable: num_models += 1 - time_estimate = num_models * 2.0 + time_estimate = num_models * 7 if time_estimate >= 60: units = "minutes" time_estimate /= 60 @@ -1615,12 +1615,13 @@ def clicked_fit_all_synth(self, skip_message=False): if not reply==QtGui.QMessageBox.Yes: return None + start_time = time.time() logger.info("Re-fitting all synth lines.") # TODO: HACKY! row_count = -1 for sm in self.parent.session.metadata.get("spectral_models", []): row_count+=1 - if isinstance(sm, SpectralSynthesisModel): continue + if not isinstance(sm, SpectralSynthesisModel): continue if sm.is_acceptable!=self.acceptables_only: continue #self.update_spectrum_figure(redraw=True) logger.info("Re-fitting {:} at {:.1f}.".format(sm.elements[0], sm.wavelength)) @@ -1639,15 +1640,26 @@ def clicked_fit_all_synth(self, skip_message=False): self.fit_none(sm) #self.figure.draw() + end_time = time.time() + duration = end_time - start_time + minutes,seconds = divmod(duration,60) + time_string = '' + if minutes > 0: + time_string += f"{minutes:.0f} minutes and " + time_string += f"{np.around(seconds,0):.0f} seconds" + + QtGui.QMessageBox.information(self, + "Done!", f"Done! That took {time_string:}.") + self.acceptables_only = True return None def clicked_fit_rest_synth(self): num_models = 0 for sm in self.parent.session.metadata.get("spectral_models", []): - if not sm.is_acceptable: num_models += 1 + if not sm.is_acceptable and isinstance(sm, SpectralSynthesisModel): num_models += 1 - time_estimate = num_models * 2.5 + time_estimate = num_models * 7 if time_estimate >= 60: units = "minutes" time_estimate /= 60 From ee68994fda41e27536a96858e3e1c84be54c2bbb Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Mon, 10 Mar 2025 16:04:34 -0700 Subject: [PATCH 26/41] Fixed synthesis bug --- smh/gui/chemical_abundances.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index 4785f709..c73b34fc 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -932,7 +932,7 @@ def measure_all(self): return None def fit_none(self, spectral_model): - if isinstance(spectral_model, SpectralSynthesisModel): return + if not isinstance(spectral_model, SpectralSynthesisModel): return # E. Holmbeck added a "none" line extra_abundances = self.synth_abund_table_model.get_extra_abundances() if extra_abundances is None: From 14a9b4795f2c6c815a4839d028f1459a8473d38a Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Wed, 12 Mar 2025 08:36:15 -0700 Subject: [PATCH 27/41] Updated time estimate dialog --- smh/gui/chemical_abundances.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index c73b34fc..3a78f236 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -1601,7 +1601,7 @@ def clicked_fit_all_synth(self, skip_message=False): for sm in self.parent.session.metadata.get("spectral_models", []): if isinstance(sm, SpectralSynthesisModel) and sm.is_acceptable: num_models += 1 - time_estimate = num_models * 7 + time_estimate = num_models * 10.0 if time_estimate >= 60: units = "minutes" time_estimate /= 60 @@ -1609,7 +1609,7 @@ def clicked_fit_all_synth(self, skip_message=False): reply = QtGui.QMessageBox.question(self, "Warning!", f"Are you sure you want to re-synthesize all {num_models:.0f} acceptable lines?"\ - + f" This will take about {np.around(time_estimate,0):.0f} {units:}.", + + f" This will take about {np.around(time_estimate,0):.0f} {units:}, but this may be faster or slower depending on your machine.", QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) if not reply==QtGui.QMessageBox.Yes: @@ -1659,7 +1659,7 @@ def clicked_fit_rest_synth(self): for sm in self.parent.session.metadata.get("spectral_models", []): if not sm.is_acceptable and isinstance(sm, SpectralSynthesisModel): num_models += 1 - time_estimate = num_models * 7 + time_estimate = num_models * 10.0 if time_estimate >= 60: units = "minutes" time_estimate /= 60 @@ -1669,7 +1669,7 @@ def clicked_fit_rest_synth(self): reply = QtGui.QMessageBox.question(self, "Warning!", f"You have chosen to synthesize {num_models:.0f} remaining line{line_or_lines:}."\ - + f" This will take about {np.around(time_estimate,0):.0f} {units:}. Continue?", + + f" This will take about {np.around(time_estimate,0):.0f} {units:}, but this may be faster or slower depending on your machine. Continue?", QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) if not reply==QtGui.QMessageBox.Yes: return None From c4239e50ba0fac26c78d78035e45c50fc9484a4a Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Tue, 1 Apr 2025 18:00:12 -0700 Subject: [PATCH 28/41] Fixed review tab plots...I think --- smh/gui/base.py | 144 ++++++++++++++++++++++++++++++++-------------- smh/gui/review.py | 24 +++++--- smh/utils.py | 5 +- 3 files changed, 119 insertions(+), 54 deletions(-) diff --git a/smh/gui/base.py b/smh/gui/base.py index 99dfd4e1..8eecb662 100644 --- a/smh/gui/base.py +++ b/smh/gui/base.py @@ -371,7 +371,7 @@ def key_press_zoom(self, event): self.ax_spectrum.set_ylim(ylim) self.draw() return None - + def spectrum_left_mouse_press(self, event): """ Listener for if mouse button pressed in spectrum or residual axis @@ -768,8 +768,12 @@ def __init__(self, parent, xattr, yattr, self.exattr = exattr self.eyattr = eyattr ''' - self.exattr = None - self.eyattr = None + if error_styles is not None: + self.exattr = exattr + self.eyattr = eyattr + else: + self.exattr = None + self.eyattr = None self.sigma = sigma super(SMHScatterplot, self).__init__(parent=parent, @@ -868,6 +872,21 @@ def __init__(self, parent, xattr, yattr, self.update_scatterplot() self.update_selected_points(True) + ''' + def zero_out_plot(self,linefit, linemean, fillmean): + #for plot_item in self.ax.collections+self.ax.lines: + # plot_item.remove() + if linefit is not None: + linefit.set_data([np.nan], [np.nan]) + if linemean is not None: + linemean.set_data([np.nan], [np.nan]) + if fillmean is not None: + path = fillmean.get_paths()[0] + v_x = np.hstack([0.0]*len(path.vertices)) + vertices = np.vstack([v_x,v_x]).T + path.vertices = vertices + self.draw() + ''' def sizeHint(self): return QtCore.QSize(125,100) def minimumSizeHint(self): @@ -879,7 +898,12 @@ def reset(self): if error is not None: pass # TODO!!! if linefit is not None: linefit.set_data([np.nan],[np.nan]) if linemean is not None: linemean.set_data([0,1],[np.nan,np.nan]) - if fillmean is not None: pass # TODO!!! + if fillmean is not None: #pass # TODO!!! + path = fillmean.get_paths()[0] + v_x = np.hstack([0.0]*len(path.vertices)) + vertices = np.vstack([v_x,v_x]).T + path.vertices = vertices + def linkToTable(self, tableview): """ view for selection; model for data @@ -934,6 +958,7 @@ def update_scatterplot(self, redraw=False): xs, ys, exs, eys = [], [], [], [] Nrows = self.tablemodel.rowCount() if Nrows==0: return None + spectral_models = self.tablemodel.get_models_from_rows(np.arange(Nrows)) for i in range(Nrows): ix = self._ix(i, self.xcol) @@ -943,7 +968,7 @@ def update_scatterplot(self, redraw=False): if self.excol is None: # TODO: Add x-error, which is a function of exattr... ex = np.nan - else: + else: # This will never be called (we don't use x-err) ix = self._ix(i, self.excol) ex = self._load_value_from_table(ix) if self.eycol is None: @@ -953,20 +978,27 @@ def update_scatterplot(self, redraw=False): else: ix = self._ix(i, self.eycol) ey = self._load_value_from_table(ix) + xs.append(x) ys.append(y) exs.append(ex) - eys.append(ey) + eys.append(np.nan if ey is None else ey) xs = np.array(xs); ys = np.array(ys); exs = np.array(exs); eys = np.array(eys) + valids = [] for filt in self._filters: valids.append([filt(sm) for sm in spectral_models]) valids = np.atleast_2d(np.array(valids, dtype=bool)) + # All four datatypes: acceptable, not acceptable, user flag, upper limit for ifilt,(filt, point, error, linefit, linemean, fillmean) in enumerate(self._graphics): valid = valids[ifilt,:] nonzero = valid.sum() > 0 x, y = xs[valid], ys[valid] + if np.all(np.isnan(xs)): + self.reset() + self.draw() + # E. Holmbeck added; only works for yerr though ex, ey = exs[valid], eys[valid] if point is not None: @@ -975,55 +1007,79 @@ def update_scatterplot(self, redraw=False): if error is not None: ## TODO not doing anything with error bars right now # E. Holmbeck added this; shamelessly stolen: https://stackoverflow.com/questions/25210723/matplotlib-set-data-for-errorbar-plot + # Still very buggy. ln, (erry_top, erry_bot), (barsy,) = error.lines - x_base = x - y_base = y - yerr_top = y_base + ey - yerr_bot = y_base - ey + #no_nans = ~np.isnan(y) + x_base = x#[no_nans] + y_base = y#[no_nans] + yerr_top = y_base + ey#[no_nans] + yerr_bot = y_base - ey#[no_nans] erry_top.set_xdata(x_base) erry_bot.set_xdata(x_base) erry_top.set_ydata(yerr_top) erry_bot.set_ydata(yerr_bot) new_segments_y = [np.array([[x, yt], [x,yb]]) for x, yt, yb in zip(x_base, yerr_top, yerr_bot)] barsy.set_segments(new_segments_y) - #pass + ''' if nonzero and ((linefit is not None) or (linemean is not None)): ## TODO: Figure out how best to save and return info about the lines ## For now, just refitting whenever needed - try: - #m, b, medy, stdy, stdm, N = utils.fit_line(x, y, None) - # E. Holmbeck; tried... Still need to iron out the kinks. - m, b, medy, stdy, stdm, N = utils.fit_line(x, y, ey) - except ValueError as e: - return np.nan, np.nan, np.nan, np.nan, np.nan, np.nan - #xlim = np.array(self.ax.get_xlim()) - xlim = np.array([x.min(), x.max()]) - if (linefit is not None) and nonzero: - linefit.set_data(xlim, m*xlim + b) - else: - linefit.set_data([np.nan], [np.nan]) - if (linemean is not None) and nonzero: - linemean.set_data([0,1], [medy, medy]) + if len(set(x))>1: # Holmbeck: stupid check + line_fitting_data[ifilt] = utils.fit_line(x, y, ey) else: - linemean.set_data([0,1], [np.nan, np.nan]) - # E. Holmbeck added; shamelessly stolen: https://stackoverflow.com/questions/16120801/matplotlib-animate-fill-between-shape - if (fillmean is not None): - path = fillmean.get_paths()[0] - y0new = [medy - self.sigma*stdy]*2 - y1new = [medy + self.sigma*stdy]*2 - #import pdb - #pdb.set_trace() - #self.edit_sigma.text() - xnew = list(self.ax.get_xlim()) - v_x = np.hstack([xnew[0],xnew,xnew[-1],xnew[::-1],xnew[0]]) - v_y = np.hstack([y1new[0],y0new,y0new[-1],y1new[::-1],y1new[0]]) - vertices = np.vstack([v_x,v_y]).T - path.vertices = vertices - self.ax.set_ylim(*[1.2*lim for lim in self.ax.get_ylim()]) - - style_utils.relim_axes(self.ax) + # Not sure if these parameters are ideal. + #line_fitting_data[ifilt] = [0,y[0],y[0],0,0.2*np.ptp(y),len(x)] + line_fitting_data[ifilt] = [0,y[0],y[0],ey[0],0,len(x)] + ''' + + # Reset axes before adding lines. + xlim,ylim = style_utils.relim_axes(self.ax) + xlim = np.array(xlim) self.reset_zoom_limits() - if redraw: self.draw() + + for ifilt,(filt, point, error, linefit, linemean, fillmean) in enumerate(self._graphics): + valid = valids[ifilt,:] + nonzero = valid.sum() > 0 + if not nonzero: + continue + + #import pdb + #pdb.set_trace() + x, y, ey = xs[valid], ys[valid], eys[valid] + if np.all(np.isnan(x)): continue + + if len(set(x))>1: # Holmbeck: stupid check + m,b,medy,stdy,stdm,N = utils.fit_line(x, y, ey) + else: + # Not sure if these parameters are ideal. + #line_fitting_data[ifilt] = [0,y[0],y[0],0,0.2*np.ptp(y),len(x)] + m,b,medy,stdy,stdm,N = [0,y[0],y[0],ey[0],0,len(x)] + + if linefit is not None: + linefit.set_data(xlim, m*xlim + b) + #else: + # linefit.set_data([np.nan], [np.nan]) + if linemean is not None: + linemean.set_data([0,1], [medy, medy]) + #else: + # linemean.set_data([0,1], [np.nan, np.nan]) + # E. Holmbeck added; shamelessly stolen: https://stackoverflow.com/questions/16120801/matplotlib-animate-fill-between-shape + if fillmean is not None: + path = fillmean.get_paths()[0] + y0new = [medy - self.sigma*stdy]*2 + y1new = [medy + self.sigma*stdy]*2 + #self.edit_sigma.text() + v_x = np.hstack([xlim[0],xlim,xlim[-1],xlim[::-1],xlim[0]]) + v_y = np.hstack([y1new[0],y0new,y0new[-1],y1new[::-1],y1new[0]]) + vertices = np.vstack([v_x,v_y]).T + path.vertices = vertices + #_,ylim = style_utils.relim_axes(self.ax, values_only=True) + #self.ax.set_ylim(*ylim) + self.ax.set_ylim([min([ylim[0],medy - (self.sigma+1)*stdy]), + max([ylim[1],medy + (self.sigma+1)*stdy])]) + + if redraw: + self.draw() return None def update_selected_points(self, redraw=False): if self.tableview is None or self.tablemodel is None: return None @@ -1338,7 +1394,7 @@ def set_moog_option(self, key, value): if 'moog_opts' not in spectral_model.metadata: spectral_model.metadata['moog_opts'] = {key: value} else: - spectral_model.metadata['moog_opts'][key] = value + spectral_model.metadata['moog_opts'][key] = value if "fitted_result" in spectral_model.metadata: num_fit += 1 try: diff --git a/smh/gui/review.py b/smh/gui/review.py index 1498844c..6c42d96e 100644 --- a/smh/gui/review.py +++ b/smh/gui/review.py @@ -107,9 +107,9 @@ def change_measurement_table_species(self, species): # Reset the model (and its views) self.measurement_model.endResetModel() def refresh_plots(self): - self.plot1.update_scatterplot(False) - self.plot2.update_scatterplot(False) - self.plot3.update_scatterplot(False) + self.plot1.update_scatterplot(True) + self.plot2.update_scatterplot(True) + self.plot3.update_scatterplot(True) self.plot1.update_selected_points(True) self.plot2.update_selected_points(True) self.plot3.update_selected_points(True) @@ -175,17 +175,23 @@ def _init_scatterplots(self): ] linefit_styles = [{"color":"k","linestyle":"--","zorder":-99},None,None,None] linemean_styles = [{"color":"k","linestyle":":","zorder":-999},None,None,None] - self.plot1 = SMHScatterplot(None, "expot", "abundances", + # E. Holmbeck added error_styles: + error_styles = [{"ms":40,"markerfacecolor":"None","markeredgecolor":"k","ecolor":"k","lw":1}, + {"ms":40,"markerfacecolor":"None","markeredgecolor":"k","ecolor":"c","lw":1}, + {"ms":70,"markerfacecolor":"none","markeredgecolor":"red","ecolor":"red","lw":2}, + {"ms":0,"markerfacecolor":"none","markeredgecolor":"none","ecolor":"none"}, + ] + self.plot1 = SMHScatterplot(None, "expot", "abundances",# eyattr="abundance_uncertainties", tableview=self.measurement_view, - filters=filters, point_styles=point_styles, + filters=filters, point_styles=point_styles, error_styles=error_styles, linefit_styles=linefit_styles,linemean_styles=linemean_styles) - self.plot2 = SMHScatterplot(None, "reduced_equivalent_width", "abundances", + self.plot2 = SMHScatterplot(None, "reduced_equivalent_width", "abundances",# eyattr="abundance_uncertainties", tableview=self.measurement_view, - filters=filters, point_styles=point_styles, + filters=filters, point_styles=point_styles, error_styles=error_styles, linefit_styles=linefit_styles,linemean_styles=linemean_styles) - self.plot3 = SMHScatterplot(None, "wavelength", "abundances", + self.plot3 = SMHScatterplot(None, "wavelength", "abundances",# eyattr="abundance_uncertainties", tableview=self.measurement_view, - filters=filters, point_styles=point_styles, + filters=filters, point_styles=point_styles, error_styles=error_styles, linefit_styles=linefit_styles,linemean_styles=linemean_styles) sp = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, diff --git a/smh/utils.py b/smh/utils.py index 553c9307..e869a4e0 100644 --- a/smh/utils.py +++ b/smh/utils.py @@ -185,8 +185,11 @@ def fit_line(x, y, yerr=None): return np.nan, np.nan, np.nan, np.nan, np.nan, 0 x, y = x[finite], y[finite] - + if len(x)<=1: + return np.nan, np.nan, np.nan, np.nan, np.nan, 0 + # E. Holmbeck added + if np.any(yerr) is None or np.any(np.isnan(yerr)): yerr=None if yerr is not None: # E. Holmbeck tried it by hand, but failed. yerr = yerr[finite] From 2fbb92727ec2feaffe4ec838b69569860dcc5596 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Wed, 2 Apr 2025 12:03:59 -0700 Subject: [PATCH 29/41] Upper limits added to export table --- smh/gui/base.py | 37 +++++++------------------------------ smh/session.py | 46 +++++++++++++++++++++++++++++++--------------- smh/utils.py | 33 ++++++++++++++++++--------------- 3 files changed, 56 insertions(+), 60 deletions(-) diff --git a/smh/gui/base.py b/smh/gui/base.py index 8eecb662..6398d601 100644 --- a/smh/gui/base.py +++ b/smh/gui/base.py @@ -1009,28 +1009,16 @@ def update_scatterplot(self, redraw=False): # E. Holmbeck added this; shamelessly stolen: https://stackoverflow.com/questions/25210723/matplotlib-set-data-for-errorbar-plot # Still very buggy. ln, (erry_top, erry_bot), (barsy,) = error.lines - #no_nans = ~np.isnan(y) - x_base = x#[no_nans] - y_base = y#[no_nans] - yerr_top = y_base + ey#[no_nans] - yerr_bot = y_base - ey#[no_nans] + x_base = x + y_base = y + yerr_top = y_base + ey + yerr_bot = y_base - ey erry_top.set_xdata(x_base) erry_bot.set_xdata(x_base) erry_top.set_ydata(yerr_top) erry_bot.set_ydata(yerr_bot) new_segments_y = [np.array([[x, yt], [x,yb]]) for x, yt, yb in zip(x_base, yerr_top, yerr_bot)] barsy.set_segments(new_segments_y) - ''' - if nonzero and ((linefit is not None) or (linemean is not None)): - ## TODO: Figure out how best to save and return info about the lines - ## For now, just refitting whenever needed - if len(set(x))>1: # Holmbeck: stupid check - line_fitting_data[ifilt] = utils.fit_line(x, y, ey) - else: - # Not sure if these parameters are ideal. - #line_fitting_data[ifilt] = [0,y[0],y[0],0,0.2*np.ptp(y),len(x)] - line_fitting_data[ifilt] = [0,y[0],y[0],ey[0],0,len(x)] - ''' # Reset axes before adding lines. xlim,ylim = style_utils.relim_axes(self.ax) @@ -1043,26 +1031,15 @@ def update_scatterplot(self, redraw=False): if not nonzero: continue - #import pdb - #pdb.set_trace() x, y, ey = xs[valid], ys[valid], eys[valid] if np.all(np.isnan(x)): continue - - if len(set(x))>1: # Holmbeck: stupid check - m,b,medy,stdy,stdm,N = utils.fit_line(x, y, ey) - else: - # Not sure if these parameters are ideal. - #line_fitting_data[ifilt] = [0,y[0],y[0],0,0.2*np.ptp(y),len(x)] - m,b,medy,stdy,stdm,N = [0,y[0],y[0],ey[0],0,len(x)] - + + m,b,medy,stdy,stdm,N = utils.fit_line(x, y, ey) + if linefit is not None: linefit.set_data(xlim, m*xlim + b) - #else: - # linefit.set_data([np.nan], [np.nan]) if linemean is not None: linemean.set_data([0,1], [medy, medy]) - #else: - # linemean.set_data([0,1], [np.nan, np.nan]) # E. Holmbeck added; shamelessly stolen: https://stackoverflow.com/questions/16120801/matplotlib-animate-fill-between-shape if fillmean is not None: path = fillmean.get_paths()[0] diff --git a/smh/session.py b/smh/session.py index 39c93b24..aef6b912 100644 --- a/smh/session.py +++ b/smh/session.py @@ -1661,6 +1661,8 @@ def summarize_spectral_models(self, spectral_models=None, organize_by_element=Fa I cannot imagine why you'd set it to False unless debugging :param what_fe: 1 or 2 depending on Fe I or Fe II + # Holmbeck added: + If None, use I or II depending on the ionization state of the species X. """ what_key_type = "element" if organize_by_element else "species" @@ -1806,10 +1808,13 @@ def export_spectral_model_measurements(self, filepath): ## We'll eventually put in upper limits too. spectral_models = self.metadata.get("spectral_models", []) # Erika added EW sigma to output - linedata = np.zeros((len(spectral_models), 8)) + np.nan + names=["species", "wavelength", "expot", "loggf", "EW", "e_EW", "logeps", "e_logeps"] + dtypes=[(name, "f4") for name in names[:7]] + [(names[7], "U10")] + # Convoluted, but we need to be able to print out upper limits + linedata = np.array(np.zeros(len(spectral_models)) + np.nan, dtype=dtypes) for i,spectral_model in enumerate(spectral_models): # TODO include upper limits - if not spectral_model.is_acceptable or spectral_model.is_upper_limit: continue + if not spectral_model.is_acceptable: continue# or not spectral_model.is_upper_limit: continue if isinstance(spectral_model, SpectralSynthesisModel): assert len(spectral_model.elements) == 1, spectral_model.elements wavelength = spectral_model.wavelength @@ -1817,13 +1822,15 @@ def export_spectral_model_measurements(self, filepath): expot = spectral_model.expot loggf = spectral_model.loggf EW = np.nan - e_EW = 0. + e_EW = np.nan logeps = spectral_model.abundances[0] - try: - logeps_err = spectral_model.metadata["2_sigma_abundance_error"]/2.0 - except: - logeps_err = np.nan - print("exporting synth",wavelength,species) + if spectral_model.is_upper_limit: + logeps_err = "<" + elif "2_sigma_abundance_error" in spectral_model.metadata: + logeps_err = f"{spectral_model.metadata['2_sigma_abundance_error']/2.0:6.3f}" + else: + logeps_err = "nan" + #print("exporting synth",wavelength,species) elif isinstance(spectral_model, ProfileFittingModel): line = spectral_model.transitions[0] wavelength = line['wavelength'] @@ -1836,22 +1843,30 @@ def export_spectral_model_measurements(self, filepath): # Erika added EW sigma to output e_EW = max(1000.*np.abs(spectral_model.metadata["fitted_result"][2]["equivalent_width"][1:])) logeps = spectral_model.abundances[0] - logeps_err = spectral_model.abundance_uncertainties or np.nan + logeps_err = f"{spectral_model.abundance_uncertainties or np.nan:6.3f}" except Exception as e: print(e) EW = np.nan e_EW = np.nan logeps = np.nan - logeps_err = np.nan + logeps_err = "nan" if EW is None: EW = np.nan if logeps is None: logeps = np.nan else: raise NotImplementedError # Erika added EW sigma to output - linedata[i,:] = [species, wavelength, expot, loggf, EW, e_EW, logeps, logeps_err] + try: + linedata[i] = tuple([species, wavelength, expot, loggf, EW, e_EW, logeps, logeps_err]) + except: + import pdb + pdb.set_trace() + + # This was an extra check for bad lines/upper limits #ii_bad = np.logical_or(np.isnan(linedata[:,5]), np.isnan(linedata[:,4])) - ii_bad = np.isnan(linedata[:,5]) - linedata = linedata[~ii_bad,:] + #ii_bad = np.isnan(linedata[:,6]) # Used to be 5. + #linedata = linedata[~ii_bad,:] + ii_bad = np.isnan(linedata['logeps']) + linedata = np.delete(linedata, ii_bad) if len(linedata) == 0: raise RuntimeError("No lines have abundances measured!") @@ -1865,7 +1880,8 @@ def _export_latex_measurement_table(self, filepath, linedata): raise NotImplementedError def _export_ascii_measurement_table(self, filepath, linedata): # Erika added EW sigma to output - names = ["species", "wavelength", "expot", "loggf", "EW", "e_EW", "logeps", "e_logeps"] + #names = ["species", "wavelength", "expot", "loggf", "EW", "e_EW", "logeps", "e_logeps"] + names = linedata.dtype.names tab = astropy.table.Table(linedata, names=names) tab.sort(["species","wavelength","expot"]) tab["wavelength"].format = ".3f" @@ -1874,7 +1890,7 @@ def _export_ascii_measurement_table(self, filepath, linedata): tab["EW"].format = "6.2f" tab["e_EW"].format = "6.2f" tab["logeps"].format = "6.3f" - tab["e_logeps"].format = "6.3f" + #tab["e_logeps"].format = "s" tab.write(filepath, format="ascii.fixed_width_two_line") return True diff --git a/smh/utils.py b/smh/utils.py index e869a4e0..d21b5bfa 100644 --- a/smh/utils.py +++ b/smh/utils.py @@ -185,32 +185,35 @@ def fit_line(x, y, yerr=None): return np.nan, np.nan, np.nan, np.nan, np.nan, 0 x, y = x[finite], y[finite] - if len(x)<=1: + if len(x)==0: return np.nan, np.nan, np.nan, np.nan, np.nan, 0 # E. Holmbeck added - if np.any(yerr) is None or np.any(np.isnan(yerr)): yerr=None + if np.all(yerr) is None or np.all(np.isnan(yerr)): yerr=None if yerr is not None: # E. Holmbeck tried it by hand, but failed. - yerr = yerr[finite] - not_None = (yerr!=None) - # There are still x and y even if the yerr is None.. - # Also, do we still use xstar when we assume no error on x? - yerr = np.array(yerr[not_None], dtype=float) - x = x[not_None] - y = y[not_None] + yerr = np.array(yerr[finite], dtype=float) xbar = np.mean(x) n = float(len(x)) - - ((m,b_bar), pcov) = optimize.curve_fit(lambda x,m,b: m*x + b, x-xbar, y, sigma=yerr) - - m_stderr = pcov[0,0] - b = b_bar - m*xbar + + if len(x)>1: + ((m,b_bar), pcov) = optimize.curve_fit(lambda x,m,b: m*x + b, x-xbar, y, sigma=yerr) + m_stderr = pcov[0,0] + b = b_bar - m*xbar + else: + m = 0.0 + m_stderr = 0.0 + b = None + weights = np.power(yerr,-2) ymean = np.average(y, weights=weights) + if b is None: b = ymean yvar = np.sqrt(np.average(np.power(y-ymean,2), weights=weights)) + # Added average measurement uncertainty; TODO: CHECK THIS + weighted_uncertainty = np.sqrt(1.0/sum(weights)) + total_yuncertainty = np.sqrt(weighted_uncertainty**2 + yvar**2) - return m, b, ymean, yvar, m_stderr, n + return m, b, ymean, total_yuncertainty, m_stderr, n ''' #raise NotImplementedError("Does not fit with error bars yet") ybar = np.mean(y) From 85be329e397a57a2169327b2a3390fc184538b42 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Tue, 8 Apr 2025 11:39:33 -0700 Subject: [PATCH 30/41] minor bug fixes --- smh/gui/chemical_abundances.py | 12 +++++++++--- smh/gui/style_utils.py | 6 +++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index 3a78f236..604f4469 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -1505,6 +1505,7 @@ def clicked_checkbox_upper_limit_2(self): = self.checkbox_upper_limit_2.isChecked() self.measurement_view.update_row(proxy_index.row()) self.summarize_current_table() + self.fit_none(spectral_model) self.refresh_plots() return None def clicked_btn_find_upper_limit(self): @@ -1522,6 +1523,7 @@ def clicked_btn_find_upper_limit(self): self.measurement_view.update_row(proxy_index.row()) self.summarize_current_table() self.update_fitting_options() + self.fit_none(spectral_model) self.refresh_plots() return None @@ -1599,7 +1601,7 @@ def clicked_fit_all_synth(self, skip_message=False): if not skip_message: num_models = 0 for sm in self.parent.session.metadata.get("spectral_models", []): - if isinstance(sm, SpectralSynthesisModel) and sm.is_acceptable: num_models += 1 + if isinstance(sm, SpectralSynthesisModel) and sm.is_acceptable==self.acceptables_only: num_models += 1 time_estimate = num_models * 10.0 if time_estimate >= 60: @@ -1628,12 +1630,16 @@ def clicked_fit_all_synth(self, skip_message=False): self.clicked_btn_update_abund_table(row=row_count) try: res = sm.fit() - except (ValueError, RuntimeError) as e: + except ValueError as e: + logger.info("Please have at least one abundance for an element, otherwise, I'll skip it!") + print(f"Please have at least one abundance for {sm.elements[0]:}, otherwise, I'll skip it!") + logger.info(e) + continue + except RuntimeError as e: logger.info("Fitting error") logger.info(e) self.acceptables_only = True return None - self.measurement_view.update_row(row_count) self.summarize_current_table() self.update_fitting_options() self.refresh_plots(row_count) diff --git a/smh/gui/style_utils.py b/smh/gui/style_utils.py index 6adaa835..3f2603f0 100644 --- a/smh/gui/style_utils.py +++ b/smh/gui/style_utils.py @@ -139,7 +139,11 @@ def relim_axes(axes, percent=20): else: xlim = (x[0] - 1, x[0] + 1) - + + if xlim is not None: + if xlim[0] == xlim[1]: + xlim[0] -= 1 + xlim[1] += 1 if y.size > 1: ylim = [ From 6fcb797afc35ab4b3ad44080124ac4812814907e Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Thu, 10 Apr 2025 14:27:13 -0700 Subject: [PATCH 31/41] Added mask removal --- smh/gui/normalization.py | 24 ++++++++++++++++++++++++ smh/gui/stellar_parameters.py | 26 +++++++++++++------------- smh/utils.py | 6 +++--- 3 files changed, 40 insertions(+), 16 deletions(-) diff --git a/smh/gui/normalization.py b/smh/gui/normalization.py index e1efca5c..97471fff 100644 --- a/smh/gui/normalization.py +++ b/smh/gui/normalization.py @@ -588,6 +588,30 @@ def figure_key_press(self, event): self.draw_continuum(refresh=False) self.update_continuum_mask(refresh=True) return True + + # remove nearest mask + if event.key in "wW": + if "exclude" in self._cache["input"]: + exclude_regions = self._cache["input"]["exclude"] + if len(exclude_regions)==0: + return True + + x = event.xdata + diff = np.abs(exclude_regions - x) + remove_row = np.where(diff == np.min(diff))[0] + if len(remove_row)>0: + exclude_regions = np.delete(exclude_regions, remove_row[0], axis=0) + ''' + for i,(xlow,xhigh) in enumerate(exclude_regions): + if xlow<=x<=xhigh: + exclude_regions = np.delete(exclude_regions,i,axis=0) + break + #else: + ''' + self._cache["input"]["exclude"] = exclude_regions + self.fit_continuum(clobber=True) + self.draw_continuum(refresh=False) + self.update_continuum_mask(refresh=True) def figure_mouse_press(self, event): """ diff --git a/smh/gui/stellar_parameters.py b/smh/gui/stellar_parameters.py index 86926e92..1e513f49 100644 --- a/smh/gui/stellar_parameters.py +++ b/smh/gui/stellar_parameters.py @@ -289,31 +289,31 @@ def update_stellar_parameter_state_table(self): ## Fit lines try: - mchi1, bchi1, med1, eXH1, emchi1, N1 = utils.fit_line(chi1, eps1) + mchi1, bchi1, wmean1, eXH1, emchi1, N1 = utils.fit_line(chi1, eps1) except Exception as e: logger.debug(e) - mchi1, bchi1, med1, eXH1, emchi1, N1 = np.nan, np.nan, np.nan, np.nan, np.nan, len(eps1) + mchi1, bchi1, wmean1, eXH1, emchi1, N1 = np.nan, np.nan, np.nan, np.nan, np.nan, len(eps1) try: - mREW1, bREW1, med1, eXH1, emREW1, N1 = utils.fit_line(REW1, eps1) + mREW1, bREW1, wmean1, eXH1, emREW1, N1 = utils.fit_line(REW1, eps1) except Exception as e: logger.debug(e) - mREW1, bREW1, med1, eXH1, emREW1, N1 = np.nan, np.nan, np.nan, np.nan, np.nan, len(eps1) + mREW1, bREW1, wmean1, eXH1, emREW1, N1 = np.nan, np.nan, np.nan, np.nan, np.nan, len(eps1) try: - mchi2, bchi2, med2, eXH2, emchi2, N2 = utils.fit_line(chi2, eps2) + mchi2, bchi2, wmean2, eXH2, emchi2, N2 = utils.fit_line(chi2, eps2) except Exception as e: logger.debug(e) - mchi2, bchi2, med2, eXH2, emchi2, N2 = np.nan, np.nan, np.nan, np.nan, np.nan, len(eps2) + mchi2, bchi2, wmean2, eXH2, emchi2, N2 = np.nan, np.nan, np.nan, np.nan, np.nan, len(eps2) try: - mREW2, bREW2, med2, eXH2, emREW2, N2 = utils.fit_line(REW2, eps2) + mREW2, bREW2, wmean2, eXH2, emREW2, N2 = utils.fit_line(REW2, eps2) except Exception as e: logger.debug(e) - mREW2, bREW2, med2, eXH2, emREW2, N2 = np.nan, np.nan, np.nan, np.nan, np.nan, len(eps2) + mREW2, bREW2, wmean2, eXH2, emREW2, N2 = np.nan, np.nan, np.nan, np.nan, np.nan, len(eps2) ## Update table - XH1 = med1 - solar_composition(26.0) - XH2 = med2 - solar_composition(26.1) - meanXH1 = np.mean(eps1) - solar_composition(26.0) - meanXH2 = np.mean(eps2) - solar_composition(26.1) + XH1 = wmean1 - solar_composition(26.0) + XH2 = wmean2 - solar_composition(26.1) + meanXH1 = np.median(eps1) - solar_composition(26.0) + meanXH2 = np.median(eps2) - solar_composition(26.1) self.state_fe1_N.setText(u"Fe I ({})".format(N1)) self.state_fe1_XH.setText(u"{:.2f} ± {:.2f} ({:.2f})".format(XH1,eXH1,meanXH1)) self.state_fe1_dAdchi.setText(u"{:.3f} ± {:.3f}".format(mchi1, emchi1)) @@ -608,7 +608,7 @@ def create_label(text, row, col, rowspan=1, colspan=1, align=QtCore.Qt.AlignCent return label # Create Header create_label("Species", 0, 0, align=QtCore.Qt.AlignLeft) - create_label(u"〈[X/H]〉", 0, 1) + create_label(u"〈[X/H]〉 weighted average (median)", 0, 1) create_label(u"∂A/∂χ", 0, 2) create_label(u"∂A/∂REW", 0, 3) diff --git a/smh/utils.py b/smh/utils.py index d21b5bfa..bcfdaa80 100644 --- a/smh/utils.py +++ b/smh/utils.py @@ -196,7 +196,7 @@ def fit_line(x, y, yerr=None): xbar = np.mean(x) n = float(len(x)) - if len(x)>1: + if len(set(x))>1: ((m,b_bar), pcov) = optimize.curve_fit(lambda x,m,b: m*x + b, x-xbar, y, sigma=yerr) m_stderr = pcov[0,0] b = b_bar - m*xbar @@ -212,7 +212,6 @@ def fit_line(x, y, yerr=None): # Added average measurement uncertainty; TODO: CHECK THIS weighted_uncertainty = np.sqrt(1.0/sum(weights)) total_yuncertainty = np.sqrt(weighted_uncertainty**2 + yvar**2) - return m, b, ymean, total_yuncertainty, m_stderr, n ''' #raise NotImplementedError("Does not fit with error bars yet") @@ -235,7 +234,8 @@ def fit_line(x, y, yerr=None): x = x - xbar m, b_bar, r, p, m_stderr = stats.linregress(x, y) b = b_bar - m*xbar - return m, b, np.median(y), np.std(y), m_stderr, len(x) + #return m, b, np.median(y), np.std(y), m_stderr, len(x) + return m, b, np.mean(y), np.std(y), m_stderr, len(x) def spectral_model_conflicts(spectral_models, line_list): """ From 6fc4bfb1e582dee37339cc9b1f56df7afa2c1828 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Thu, 10 Apr 2025 14:52:03 -0700 Subject: [PATCH 32/41] uppercase --- smh/gui/ui_mainwindow.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/smh/gui/ui_mainwindow.py b/smh/gui/ui_mainwindow.py index 69e25e26..9e7482bd 100644 --- a/smh/gui/ui_mainwindow.py +++ b/smh/gui/ui_mainwindow.py @@ -591,7 +591,7 @@ def __init_ui__(self): # Create radial velocity tab self.rv_tab = rv.RVTab(self) - self.tabs.addTab(self.rv_tab, "Radial velocity") + self.tabs.addTab(self.rv_tab, "Radial Velocity") # Create normalization tab. self.normalization_tab = normalization.NormalizationTab(self) @@ -600,7 +600,7 @@ def __init_ui__(self): # Create stellar parameters tab. self.stellar_parameters_tab \ = stellar_parameters.StellarParametersTab(self) - self.tabs.addTab(self.stellar_parameters_tab, "Stellar parameters") + self.tabs.addTab(self.stellar_parameters_tab, "Stellar Parameters") # Create chemical abundances tab self.chemical_abundances_tab \ From ca28e3f9e914bce35a9efd85d0f8f4f2b798bd52 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Thu, 10 Apr 2025 16:00:05 -0700 Subject: [PATCH 33/41] added normalization guide --- smh/gui/normalization.py | 64 +++++++++++++++++++++++++++++++++------- 1 file changed, 53 insertions(+), 11 deletions(-) diff --git a/smh/gui/normalization.py b/smh/gui/normalization.py index 97471fff..be9f3a29 100644 --- a/smh/gui/normalization.py +++ b/smh/gui/normalization.py @@ -277,6 +277,39 @@ def __init__(self, parent): settings_layout.addWidget(self.stitch_btn) + grid_layout = QtGui.QGridLayout() + #settings_grid_layout.addLayout(hbox, 7, 1, 1, 1) + settings_layout.addLayout(grid_layout) + self.line = QtGui.QFrame() + self.line.setFrameShape(QtGui.QFrame.HLine) + self.line.setFrameShadow(QtGui.QFrame.Sunken) + #spacer = QtGui.QSpacerItem(QtGui.QSizePolicy.MinimumExpanding, 10) + #grid_layout.addItem(spacer, 0, 0, 1, 2) + grid_layout.addWidget(self.line, 0, 0, 1, 2, alignment=QtCore.Qt.AlignBottom) + + buttons = { + "Click+Drag": "Add mask", + "Left/Right": "Change order", + "Up/Down": "Scale continuum by 1%", + "a": "Add a point", + "x": "Remove nearest point", + "u": "Undo last mask", + "w": "Remove nearest mask", + "c": "Clear all masks and points", + "r": "Reset zoom limits", + "d": "Do not normalize this order", + "f": "Refit", + } + + for row,(button,description) in enumerate(buttons.items(),1): + label = QtGui.QLabel(self) + label.setText(button) + label.setFont(font) + grid_layout.addWidget(label, row, 0, 1, 1, alignment=QtCore.Qt.AlignCenter) #int fromRow, int fromColumn, int rowSpan, int columnSpan, alignment + label = QtGui.QLabel(self) + label.setText(description) + grid_layout.addWidget(label, row, 1, 1, 1) #int fromRow, int fromColumn, int rowSpan, int columnSpan, alignment + # Add a spacer. settings_layout.addItem(QtGui.QSpacerItem( 40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)) @@ -580,10 +613,19 @@ def figure_key_press(self, event): # 'x': clear all added points if event.key in "xX": - for key in ["additional_points"]: - if key in self._cache["input"]: - del self._cache["input"][key] - + if "additional_points" not in self._cache["input"]: + return True + xy = np.array([event.xdata,event.ydata]) + points_xy = self._cache["input"]["additional_points"][:,:2] + if len(points_xy)==0: + return True + diff = np.power(points_xy - xy,2) + diff = np.sum(diff, axis=1) + remove_point = np.where(diff==np.min(diff))[0] + if len(remove_point)==0: + return True + self._cache["input"]["additional_points"] = np.delete(self._cache["input"]["additional_points"], remove_point[0], axis=0) + self.fit_continuum(clobber=True) self.draw_continuum(refresh=False) self.update_continuum_mask(refresh=True) @@ -1058,13 +1100,13 @@ def update_knot_spacing(self): return None - # ----------------------------------------------------------------- - # E. Holmbeck added these update functions + # ----------------------------------------------------------------- + # E. Holmbeck added these update functions def update_blue_trim(self): try: - trim_region = int(self.blue_trim.text()) + trim_region = int(self.blue_trim.text()) except ValueError: - return None + return None if trim_region == 0: return None @@ -1107,9 +1149,9 @@ def update_blue_trim(self): def update_red_trim(self): try: - trim_region = int(self.red_trim.text()) + trim_region = int(self.red_trim.text()) except ValueError: - return None + return None if trim_region == 0: return None @@ -1147,7 +1189,7 @@ def update_red_trim(self): self.update_continuum_mask(refresh=True) return None - # ----------------------------------------------------------------- + # ----------------------------------------------------------------- def update_high_sigma_clip(self): """ Update the high sigma clip value. """ From 7f2ddcc395b7f5e28b8faaa60626d0d8eae9f7eb Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Thu, 24 Apr 2025 12:55:34 -0700 Subject: [PATCH 34/41] added zoom cheat sheet --- smh/gui/normalization.py | 1 + 1 file changed, 1 insertion(+) diff --git a/smh/gui/normalization.py b/smh/gui/normalization.py index be9f3a29..b04f318b 100644 --- a/smh/gui/normalization.py +++ b/smh/gui/normalization.py @@ -288,6 +288,7 @@ def __init__(self, parent): grid_layout.addWidget(self.line, 0, 0, 1, 2, alignment=QtCore.Qt.AlignBottom) buttons = { + "Ctrl+Drag": "Zoom", "Click+Drag": "Add mask", "Left/Right": "Change order", "Up/Down": "Scale continuum by 1%", From e16b9722be199074fafcbf0ecb3fdb9d512a5640 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Tue, 29 Apr 2025 15:29:41 -0700 Subject: [PATCH 35/41] Trying to fix RV bug... --- smh/gui/normalization.py | 12 +++++++----- smh/gui/rv.py | 5 ++++- smh/gui/ui_mainwindow.py | 6 ++++++ smh/session.py | 10 +++++----- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/smh/gui/normalization.py b/smh/gui/normalization.py index b04f318b..4f1683db 100644 --- a/smh/gui/normalization.py +++ b/smh/gui/normalization.py @@ -857,7 +857,8 @@ def _populate_widgets(self): keys = ("function", "order", "low_sigma_clip", "high_sigma_clip", "knot_spacing", "blue_trim", "red_trim", "max_iterations") self._cache = { - "input": {} + #"input": self.parent.session.metadata['normalization'].get('cache', {}) + "input": {} # Holmbeck: HACKY!! } for key in keys: self._cache["input"][key] \ @@ -960,10 +961,11 @@ def update_rv_applied_keep_masks(self, rv_diff): Make updates to the view when the radial velocity applied has been updated. Keep masks. """ - - global c + #global c + # Holmbeck: HACKY for N in range(len(self.parent.session.input_spectra)): - self.parent.session.metadata["normalization"]['normalization_kwargs'][N]['exclude'] *= 1.0 + rv_diff/c + if 'exclude' in self.parent.session.metadata["normalization"]['normalization_kwargs'][N]: + self.parent.session.metadata["normalization"]['normalization_kwargs'][N]['exclude'] *= 1.0 + rv_diff/c # Update the current order fit, and the view. self.update_order_index() @@ -1102,7 +1104,7 @@ def update_knot_spacing(self): return None # ----------------------------------------------------------------- - # E. Holmbeck added these update functions + # E. Holmbeck added these update functions; not sure that this is correct though. def update_blue_trim(self): try: trim_region = int(self.blue_trim.text()) diff --git a/smh/gui/rv.py b/smh/gui/rv.py index 210fc4c3..ad79e2e9 100644 --- a/smh/gui/rv.py +++ b/smh/gui/rv.py @@ -771,7 +771,9 @@ def correct_radial_velocity(self): """ Correct the radial velocity of the observed spectra. """ - + if "rv_applied" not in self.parent.session.metadata["rv"]: + self.parent.session.metadata["rv"]["rv_applied"] = 0.0 + rv_diff = np.float(self.rv_applied.text()) + np.float(self.parent.session.metadata["rv"]["rv_applied"]) self.parent.session.rv_correct(self.rv_applied.text()) @@ -781,6 +783,7 @@ def correct_radial_velocity(self): # Enable and update the normalization tab. self.parent.tabs.setTabEnabled(self.parent.tabs.indexOf(self) + 1, True) + # New function E. Holmbeck added to keep masks self.parent.normalization_tab.update_rv_applied_keep_masks(rv_diff) diff --git a/smh/gui/ui_mainwindow.py b/smh/gui/ui_mainwindow.py index 9e7482bd..19f6c740 100644 --- a/smh/gui/ui_mainwindow.py +++ b/smh/gui/ui_mainwindow.py @@ -257,6 +257,12 @@ def new_session(self, filenames=None): defaults = yaml.load(fp, yaml.FullLoader) except AttributeError: defaults = yaml.load(fp) + + # Holmbeck: HACKY, but I think ".update" overwrites normalization. + if 'normalization' in defaults: + normalization = defaults.pop('normalization') + self.session.metadata['normalization']['cache'] = normalization + self.session.metadata.update(defaults) # TODO: WE SHOULD REMOVE THIS: THE GUI SHOULD READ FROM .SETTINGS() diff --git a/smh/session.py b/smh/session.py index aef6b912..6047fe53 100644 --- a/smh/session.py +++ b/smh/session.py @@ -550,7 +550,6 @@ def setting(self, key_tree, default_return_value=None): :param key_tree: A tuple containing a tree of dictionary keys. """ - if isinstance(key_tree, string_types): key_tree = [key_tree] @@ -570,7 +569,7 @@ def setting(self, key_tree, default_return_value=None): try: for key in key_tree: default = default[key] - except KeyError: + except (KeyError, TypeError) as e: return default_return_value else: @@ -597,15 +596,16 @@ def update_default_setting(self, key_tree, value): default = yaml.load(fp, yaml.FullLoader) except AttributeError: default = yaml.load(fp) - - branch = defaults + + # Holmbeck:changed "defaults" to "default" + branch = default for key in key_tree[:-1]: branch.setdefault(key, {}) branch = branch[key] branch[key_tree[-1]] = value with open(self._default_settings_path, "w") as fp: - fp.write(yaml.dump(defaults)) + fp.write(yaml.dump(default)) return True From 14e5439ca5d845cc6238a9ec022780682476acfc Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Wed, 7 May 2025 09:55:38 -0700 Subject: [PATCH 36/41] temporary --- .gitignore | 2 + smh/.DS_Store | Bin 6148 -> 6148 bytes smh/gui/chemical_abundances.py | 82 +++++++++++++++++++++------------ smh/gui/normalization.py | 14 ++++-- smh/gui/review.py | 12 +++++ smh/gui/rv.py | 21 ++++++--- smh/session.py | 7 ++- smh/specutils/motions.py | 33 +++++++------ 8 files changed, 111 insertions(+), 60 deletions(-) diff --git a/.gitignore b/.gitignore index b1cb1601..223a9456 100644 --- a/.gitignore +++ b/.gitignore @@ -159,3 +159,5 @@ cython_debug/ # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ +# DSstore +smh/.DS_Store diff --git a/smh/.DS_Store b/smh/.DS_Store index b9f4aab47c3a732abfbc4377ae6cccac3e62e961..92ab8b4484dde2e41693812eed50f10aaa85c060 100644 GIT binary patch delta 262 zcmZoMXfc@JFUrEez`)4BAixk{P+DA41my8DxNJ^jUd~t#l452^XDDUJbPqz7W=Lcx zVMt|AVDM$gXGmelWJm+zR3HnkKB>I8ASow52`F+RsURn_xWvHVIwKP^3o9Et2L~4i z7cW delta 245 zcmZoMXfc@JFUrioz`)4BAiz*ukd%|31myilD%hOJyqwVsB*n~-&QQvbnN*G}os(Hy zVqkESk%^gwm5rT)lZ%_1n~PgOkSjJgBfmVjB(bEl*eS6n8qCW~Nlltu%H&la6AWS| z7KLY~lw`yUhz1m;mSv`v2PEdDhGiCKCS~SimQ-?Za&mHT#tVp7S6f=>C>R@?)aocy zo0}WxD3}00Utt4Wo_%8O)pI In4gIN0OlS)GXMYp diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index 604f4469..87cfbbd1 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -1058,47 +1058,70 @@ def _get_selected_model(self, full_output=False): model = self.parent.session.metadata["spectral_models"][index] return (model, proxy_index, index) if full_output else model - def selected_model_changed(self): - self.update_fitting_options() - self.update_spectrum_figure(True) + def selected_model_changed(self, **kwargs): + self.update_fitting_options(**kwargs) + self.update_spectrum_figure(True, **kwargs) return None - def update_spectrum_figure(self, redraw=False, reset_limits=True, row=None): + def update_spectrum_figure(self, redraw=False, reset_limits=True, row=None, selected_model=None): ## If synthesis, label selected lines self.extra_spec_1.set_data([[np.nan], [np.nan]]) self.extra_spec_2.set_data([[np.nan], [np.nan]]) #self.extra_spec_none.set_data([[np.nan], [np.nan]]) - try: - if row==None: - selected_model = self._get_selected_model() + if selected_model is None: + try: + if row==None: + selected_model = self._get_selected_model() + else: + selected_model = self.parent.session.metadata["spectral_models"][row] + except IndexError: + selected_transitions = None + label_rv = None + else: - selected_model = self.parent.session.metadata["spectral_models"][row] - except IndexError: - selected_transitions = None - label_rv = None - else: - if isinstance(selected_model, SpectralSynthesisModel): - selected_elem = self.synth_abund_table.get_selected_element() - if selected_elem is not None: - transitions = selected_model.transitions - ii = np.logical_or(transitions["elem1"] == selected_elem, - transitions["elem2"] == selected_elem) - if np.sum(ii) != 0: - selected_transitions = transitions[ii] - redraw=True # force redraw - reset_limits=False - label_rv = selected_model.metadata["manual_rv"] + if isinstance(selected_model, SpectralSynthesisModel): + selected_elem = self.synth_abund_table.get_selected_element() + if selected_elem is not None: + transitions = selected_model.transitions + ii = np.logical_or(transitions["elem1"] == selected_elem, + transitions["elem2"] == selected_elem) + if np.sum(ii) != 0: + selected_transitions = transitions[ii] + redraw=True # force redraw + reset_limits=False + label_rv = selected_model.metadata["manual_rv"] + else: + selected_transitions = None + label_rv = None else: selected_transitions = None label_rv = None else: selected_transitions = None label_rv = None + + else: + selected_elem = selected_model.elements[0] + if selected_elem is not None: + transitions = selected_model.transitions + ii = np.logical_or(transitions["elem1"] == selected_elem, + transitions["elem2"] == selected_elem) + if np.sum(ii) != 0: + selected_transitions = transitions[ii] + redraw=True # force redraw + reset_limits=True + try: + label_rv = selected_model.metadata["manual_rv"] + except KeyError: + label_rv = None + else: + selected_transitions = None + label_rv = None else: selected_transitions = None label_rv = None - + # Update figure self.figure.update_spectrum_figure(redraw=redraw, reset_limits=reset_limits, @@ -1106,11 +1129,12 @@ def update_spectrum_figure(self, redraw=False, reset_limits=True, row=None): label_rv=label_rv) - def update_fitting_options(self): - try: - selected_model = self._get_selected_model() - except IndexError: - return None + def update_fitting_options(self, selected_model=None): + if selected_model is None: + try: + selected_model = self._get_selected_model() + except IndexError: + return None if selected_model is None: return None if isinstance(selected_model, ProfileFittingModel): diff --git a/smh/gui/normalization.py b/smh/gui/normalization.py index 4f1683db..74a9266c 100644 --- a/smh/gui/normalization.py +++ b/smh/gui/normalization.py @@ -365,14 +365,15 @@ def __init__(self, parent): # Additional point markers. self.ax_order.scatter([], [], facecolor="k", zorder=5, picker=5) - self.ax_order.set_xticklabels([]) + self.ax_order.tick_params(axis='x', labelbottom=False) self.ax_order.set_ylabel("Flux") - self.ax_order_norm = self.norm_plot.figure.add_subplot(gs[1]) + self.ax_order_norm = self.norm_plot.figure.add_subplot(gs[1], sharex=self.ax_order) self.ax_order_norm.axhline(1, linestyle=":", c="#666666", zorder=1) self.ax_order_norm.plot([np.nan], [np.nan], c='k', zorder=2) # TODO: Make (0, 1.2) a default view setting. + self.ax_order_norm.tick_params(axis='x', labelbottom=True) self.ax_order_norm.set_ylim(0, 1.2) self.ax_order_norm.set_yticks([0, 0.5, 1.0]) self.ax_order_norm.set_xlabel(u"Wavelength (Å)") @@ -969,6 +970,9 @@ def update_rv_applied_keep_masks(self, rv_diff): # Update the current order fit, and the view. self.update_order_index() + # May 7 -- added these two lines back in. + #self.update_continuum_mask(refresh=False) + #self.fit_continuum(clobber=True) self.draw_order(refresh=False) self.draw_continuum(refresh=True) @@ -1016,13 +1020,15 @@ def update_continuum_mask(self, refresh=False): # will also be in the rest frame. So we don't need to shift the # 'rest_wavelength' mask, but we do need to shift the 'obs_wavelength' # mask - + # Get the applied velocity to shift some masks. + ''' try: rv_applied = self.parent.session.metadata["rv"]["rv_applied"] except (AttributeError, KeyError): rv_applied = 0 - + ''' + rv_applied = self.parent.session.metadata["rv"].get("rv_applied", 0.0) # ----------------------------------------------------------------- # E. Holmbeck added read-in BCV from header try: diff --git a/smh/gui/review.py b/smh/gui/review.py index 6c42d96e..c76c228e 100644 --- a/smh/gui/review.py +++ b/smh/gui/review.py @@ -119,6 +119,18 @@ def refresh_selected_points(self): self.plot3.update_selected_points(True) def selected_measurement_changed(self): self.refresh_selected_points() + if self.measurement_view is None or self.measurement_model is None: return None + #logger.debug("update_selected_points ({}, {})".format(self, redraw)) + row = self.measurement_view.selectionModel().selectedRows() + # TODO: this doesn't work yet; ideally, update the plots in the Chemical Abundances tab. + if len(row)>0: + row = row[0] + # We're only going to plot the first one anyway + row_index = row.row() + self.parent.chemical_abundances_tab.measurement_view.update_row(row_index) + spectral_model = self.measurement_model.get_models_from_rows([row_index])[0] + self.parent.chemical_abundances_tab.selected_model_changed(selected_model=spectral_model) + return None def _init_summary_table(self): diff --git a/smh/gui/rv.py b/smh/gui/rv.py index ad79e2e9..c87575e5 100644 --- a/smh/gui/rv.py +++ b/smh/gui/rv.py @@ -669,7 +669,7 @@ def redraw_normalized_order(self, refresh=False): rv_applied = self.parent.session.metadata["rv"]["rv_applied"] except (AttributeError, KeyError): rv_applied = 0 - + self.ax_order_norm.lines[1].set_data([ self._cache["normalized_order"].dispersion * (1 + rv_applied/c), self._cache["normalized_order"].flux, @@ -771,13 +771,21 @@ def correct_radial_velocity(self): """ Correct the radial velocity of the observed spectra. """ + rv_applied = self.parent.session.metadata["rv"].get("rv_applied", 0.0) + """ + self.parent.session.rv_correct(rv_applied) + + ''' if "rv_applied" not in self.parent.session.metadata["rv"]: self.parent.session.metadata["rv"]["rv_applied"] = 0.0 + ''' + """ + rv_diff = np.float(self.rv_applied.text()) + rv_applied #np.float(self.parent.session.metadata["rv"]["rv_applied"]) - rv_diff = np.float(self.rv_applied.text()) + np.float(self.parent.session.metadata["rv"]["rv_applied"]) - - self.parent.session.rv_correct(self.rv_applied.text()) + #self.parent.session.rv_correct(self.rv_applied.text()) + self.parent.session.metadata["rv"]["rv_applied"] = rv_diff + self.parent.session.rv_correct(rv_diff) # Redshift the normalized order. self.redraw_normalized_order(True) @@ -785,7 +793,8 @@ def correct_radial_velocity(self): self.parent.tabs.setTabEnabled(self.parent.tabs.indexOf(self) + 1, True) # New function E. Holmbeck added to keep masks - self.parent.normalization_tab.update_rv_applied_keep_masks(rv_diff) + print(rv_diff, rv_applied) + self.parent.normalization_tab.update_rv_applied_keep_masks(rv_applied) # Enable relevant menu actions. self.parent._action_fit_balmer_lines.setEnabled(True) @@ -1222,7 +1231,7 @@ def redraw_normalized_order(self, refresh=False): rv_applied = self.rv_tab.parent.session.metadata["rv"]["rv_applied"] except (AttributeError, KeyError): rv_applied = 0 - + self.ax_order_norm.lines[1].set_data([ self.rv_tab._cache["normalized_order"].dispersion * (1 + rv_applied/c), self.rv_tab._cache["normalized_order"].flux, diff --git a/smh/session.py b/smh/session.py index 6047fe53..966840ef 100644 --- a/smh/session.py +++ b/smh/session.py @@ -611,8 +611,6 @@ def update_default_setting(self, key_tree, value): - - def _get_overlap_order(self, wavelength_regions, template_spectrum=None): """ Find the order (and order index) that most overlaps with the template @@ -791,10 +789,11 @@ def rv_correct(self, rv): """ self.metadata["rv"]["rv_applied"] = -float(rv) - # ----------------------------------------------------------------- # E. Holmbeck: calculate the bcv if it doesn't exist - if "barycentric_correction" in self.metadata["rv"]: + bcv = self.metadata["rv"].get("barycentric_correction", np.nan) + #if "barycentric_correction" in self.metadata["rv"]: + if ~np.isnan(bcv): return names = self._input_spectra_paths diff --git a/smh/specutils/motions.py b/smh/specutils/motions.py index 91be8fea..172204dc 100644 --- a/smh/specutils/motions.py +++ b/smh/specutils/motions.py @@ -400,6 +400,8 @@ def corrections_from_headers(headers): :type headers: A dictionary-like object. """ + # WARNING: VERY HACKY! + alt_obs = headers.get("ALT_OBS", headers.get("SITEALT", None)) lat_obs = headers.get("LAT_OBS", headers.get("SITELAT", None)) long_obs = headers.get("LONG_OBS", headers.get("SITELONG", None)) @@ -428,7 +430,7 @@ def corrections_from_headers(headers): observatory = observatories_dictionary[origin] alt_obs = observatory["elevation"] lat_obs = observatory["latitude"] - + # Get the RA/DEC. ra = headers.get("RA", None) # Assuming degrees dec = headers.get("DEC", None) @@ -447,13 +449,15 @@ def corrections_from_headers(headers): try: mjd = Time("{0}T{1}".format(headers["UTMID"], headers["UT-MID"])).mjd except KeyError: - mjd = Time("{0}T{1}".format(headers["DATE-OBS"], headers["UT-MID"])).mjd + try: + mjd = Time("{0}T{1}".format(headers["DATE-OBS"], headers["UT-MID"])).mjd + except KeyError: + mjd = None #except (IndexError, KeyError): if mjd is None: # Try and calculate it from UT-START/UT-DATE keys #raise - try: utdate_key = [_ for _ in ("UT-DATE", "DATE-OBS") if _ in headers][0] if 'T' in headers[utdate_key]: @@ -468,33 +472,28 @@ def corrections_from_headers(headers): headers[utstart_key]), format="isot", scale="utc") except IndexError: - raise KeyError("cannot find all time keys: UTSTART/UTDATE") + raise KeyError("cannot find time keys: UTSTART/UTDATE") try: utend_key = [_ for _ in ("UTEND", "UT-END") if _ in headers][0] + try: + ut_end = Time("{0}T{1}".format(headers[utdate_key].replace(":", "-"), + headers[utend_key]), format="isot", scale="utc") + except: + ut_end = Time("{0}T{1}".format(headers[utdate_key].replace("/", "-"), + headers[utend_key]), format="isot", scale="utc") except IndexError: try: exp_time = headers['EXPTIME'] + ut_end = ut_start + (exp_time)*u.s except: mjd = ut_start.mjd logging.warn( "Calculating celestial corrections based on the UT-START only") - try: - ut_end = Time("{0}T{1}".format(headers[utdate_key].replace(":", "-"), - headers[utend_key]), format="isot", scale="utc") + mjd = (ut_end - ut_start).jd/2 + ut_start.mjd except: - try: - ut_end = Time("{0}T{1}".format(headers[utdate_key].replace("/", "-"), - headers[utend_key]), format="isot", scale="utc") - except: - ut_end = ut_start + (exp_time)*u.s - - # Get the MJD of the mid-point of the observation. - try: mjd - except: - mjd = (ut_end - ut_start).jd/2 + ut_start.mjd # Calculate the correction. # --------------------------------------------------------------------- From a17754b7de706c4fa2b7922d2a576e975f8c4898 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Wed, 7 May 2025 11:20:22 -0700 Subject: [PATCH 37/41] Trying to fix RV bug --- smh/gui/rv.py | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/smh/gui/rv.py b/smh/gui/rv.py index c87575e5..f4dfef7a 100644 --- a/smh/gui/rv.py +++ b/smh/gui/rv.py @@ -771,31 +771,29 @@ def correct_radial_velocity(self): """ Correct the radial velocity of the observed spectra. """ - rv_applied = self.parent.session.metadata["rv"].get("rv_applied", 0.0) + def correct_radial_velocity(self): """ - self.parent.session.rv_correct(rv_applied) - - ''' - if "rv_applied" not in self.parent.session.metadata["rv"]: - self.parent.session.metadata["rv"]["rv_applied"] = 0.0 - ''' + Correct the radial velocity of the observed spectra. """ - rv_diff = np.float(self.rv_applied.text()) + rv_applied #np.float(self.parent.session.metadata["rv"]["rv_applied"]) + rv_diff = np.float(self.rv_applied.text()) + self.parent.session.metadata["rv"].get("rv_applied",0.0) - #self.parent.session.rv_correct(self.rv_applied.text()) - - self.parent.session.metadata["rv"]["rv_applied"] = rv_diff - self.parent.session.rv_correct(rv_diff) - # Redshift the normalized order. + self.parent.session.rv_correct(self.rv_applied.text()) + # Redshift the normalized order; will look for rv_applied. self.redraw_normalized_order(True) + + # Holmbeck added these lines to resolve an RV bug. + #rv_diff = np.float(self.rv_applied.text()) + self.parent.session.metadata["rv"]["rv_applied"] + #print(self.parent.session.metadata["rv"]["rv_applied"], rv_diff) + self.parent.session.metadata["rv"]["rv_applied"] += np.float(self.rv_applied.text()) # Enable and update the normalization tab. self.parent.tabs.setTabEnabled(self.parent.tabs.indexOf(self) + 1, True) - - # New function E. Holmbeck added to keep masks - print(rv_diff, rv_applied) - self.parent.normalization_tab.update_rv_applied_keep_masks(rv_applied) + # New function E. Holmbeck added to keep masks; this shifts the masks by the rv_diff; + # Basically, if the saved rv_applied is different from what is in the text box, shift it by that much + #self.parent.normalization_tab.update_rv_applied() + self.parent.normalization_tab.update_rv_applied_keep_masks(rv_diff) + # Enable relevant menu actions. self.parent._action_fit_balmer_lines.setEnabled(True) From 5bcb5f25b7b9ef041d0488e2f619b8253f43cf02 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Wed, 7 May 2025 16:19:12 -0700 Subject: [PATCH 38/41] RV bug 3/??; I think there was a wrong sign in v/c --- smh/gui/normalization.py | 19 +++++++------------ smh/gui/rv.py | 16 ++++++---------- smh/session.py | 1 + 3 files changed, 14 insertions(+), 22 deletions(-) diff --git a/smh/gui/normalization.py b/smh/gui/normalization.py index 74a9266c..4310d779 100644 --- a/smh/gui/normalization.py +++ b/smh/gui/normalization.py @@ -971,8 +971,8 @@ def update_rv_applied_keep_masks(self, rv_diff): # Update the current order fit, and the view. self.update_order_index() # May 7 -- added these two lines back in. - #self.update_continuum_mask(refresh=False) - #self.fit_continuum(clobber=True) + self.update_continuum_mask(refresh=False) + self.fit_continuum(clobber=True) self.draw_order(refresh=False) self.draw_continuum(refresh=True) @@ -1022,12 +1022,6 @@ def update_continuum_mask(self, refresh=False): # mask # Get the applied velocity to shift some masks. - ''' - try: - rv_applied = self.parent.session.metadata["rv"]["rv_applied"] - except (AttributeError, KeyError): - rv_applied = 0 - ''' rv_applied = self.parent.session.metadata["rv"].get("rv_applied", 0.0) # ----------------------------------------------------------------- # E. Holmbeck added read-in BCV from header @@ -1041,8 +1035,8 @@ def update_continuum_mask(self, refresh=False): _ =self.parent.session.metadata["normalization"]["normalization_kwargs"] masked_regions = [ #np.array(mask.get("rest_wavelength", [])), - np.array(mask.get("rest_wavelength", [])) * (1.0 - dop_shift/c), - np.array(mask.get("obs_wavelength", [])) * (1.0 - rv_applied/c), + np.array(mask.get("rest_wavelength", [])) * (1.0 + dop_shift/c), + np.array(mask.get("obs_wavelength", [])) * (1.0 + rv_applied/c), np.array(_[self.current_order_index].get("exclude", [])) ] if "pixel" in mask: @@ -1297,8 +1291,9 @@ def update_order_index(self, index=None): v = session.metadata["rv"]["rv_applied"] except (AttributeError, KeyError): v = 0 - - self.current_order._dispersion *= (1 - v/c) + + # TODO: Holmbeck note: this was -v/c...which is correct? + self.current_order._dispersion *= (1 + v/c) # Update the view if the input settings don't match the settings used # to normalize the current order. diff --git a/smh/gui/rv.py b/smh/gui/rv.py index f4dfef7a..c8ff92de 100644 --- a/smh/gui/rv.py +++ b/smh/gui/rv.py @@ -771,21 +771,17 @@ def correct_radial_velocity(self): """ Correct the radial velocity of the observed spectra. """ - def correct_radial_velocity(self): - """ - Correct the radial velocity of the observed spectra. - """ - rv_diff = np.float(self.rv_applied.text()) + self.parent.session.metadata["rv"].get("rv_applied",0.0) + if "rv_applied" in self.parent.session.metadata["rv"]: + rv_diff = np.float(self.rv_applied.text()) + self.parent.session.metadata["rv"]["rv_applied"] + else: + rv_diff = 0.0 + # rv_applied is set in this function self.parent.session.rv_correct(self.rv_applied.text()) + # Redshift the normalized order; will look for rv_applied. self.redraw_normalized_order(True) - # Holmbeck added these lines to resolve an RV bug. - #rv_diff = np.float(self.rv_applied.text()) + self.parent.session.metadata["rv"]["rv_applied"] - #print(self.parent.session.metadata["rv"]["rv_applied"], rv_diff) - self.parent.session.metadata["rv"]["rv_applied"] += np.float(self.rv_applied.text()) - # Enable and update the normalization tab. self.parent.tabs.setTabEnabled(self.parent.tabs.indexOf(self) + 1, True) diff --git a/smh/session.py b/smh/session.py index 966840ef..8be5d9f8 100644 --- a/smh/session.py +++ b/smh/session.py @@ -789,6 +789,7 @@ def rv_correct(self, rv): """ self.metadata["rv"]["rv_applied"] = -float(rv) + # ----------------------------------------------------------------- # E. Holmbeck: calculate the bcv if it doesn't exist bcv = self.metadata["rv"].get("barycentric_correction", np.nan) From 01bb1fb83f01b250fc299cab1796a3d340f07e32 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Thu, 8 May 2025 13:23:21 -0700 Subject: [PATCH 39/41] Let's reevaluate the RV shift... --- smh/gui/normalization.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/smh/gui/normalization.py b/smh/gui/normalization.py index 4310d779..b9357a56 100644 --- a/smh/gui/normalization.py +++ b/smh/gui/normalization.py @@ -962,8 +962,9 @@ def update_rv_applied_keep_masks(self, rv_diff): Make updates to the view when the radial velocity applied has been updated. Keep masks. """ - #global c - # Holmbeck: HACKY + # Holmbeck: HACKY; this should be shifting the terrestrial lines by the rv_diff + rv_applied = self.parent.session.metadata["rv"].get("rv_applied", 0.0) + # These come pre-loaded for N in range(len(self.parent.session.input_spectra)): if 'exclude' in self.parent.session.metadata["normalization"]['normalization_kwargs'][N]: self.parent.session.metadata["normalization"]['normalization_kwargs'][N]['exclude'] *= 1.0 + rv_diff/c @@ -971,7 +972,7 @@ def update_rv_applied_keep_masks(self, rv_diff): # Update the current order fit, and the view. self.update_order_index() # May 7 -- added these two lines back in. - self.update_continuum_mask(refresh=False) + self.update_continuum_mask(refresh=False, v=rv_diff) self.fit_continuum(clobber=True) self.draw_order(refresh=False) self.draw_continuum(refresh=True) @@ -980,7 +981,7 @@ def update_rv_applied_keep_masks(self, rv_diff): - def update_continuum_mask(self, refresh=False): + def update_continuum_mask(self, refresh=False, v=0): """ Draw the continuum mask (relevant for all orders). """ @@ -1293,7 +1294,7 @@ def update_order_index(self, index=None): v = 0 # TODO: Holmbeck note: this was -v/c...which is correct? - self.current_order._dispersion *= (1 + v/c) + self.current_order._dispersion *= (1 - v/c) # Update the view if the input settings don't match the settings used # to normalize the current order. @@ -1539,7 +1540,7 @@ def fit_continuum(self, clobber, sender=None): regions = [] for v, masked_regions in mask_kinds: for region in np.array(masked_regions): - start, end = np.array(region) * (1 - v/c) + start, end = np.array(region) * (1 - v/c) # Holmbeck: + or -? if end >= self.current_order.dispersion[0] \ and self.current_order.dispersion[-1] >= start: From d5cc16e9af07bf7650c8b642140f3f1117da6193 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Thu, 8 May 2025 13:28:25 -0700 Subject: [PATCH 40/41] Let's reevaluate the RV shift... --- smh/gui/normalization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smh/gui/normalization.py b/smh/gui/normalization.py index b9357a56..9a94921e 100644 --- a/smh/gui/normalization.py +++ b/smh/gui/normalization.py @@ -972,7 +972,7 @@ def update_rv_applied_keep_masks(self, rv_diff): # Update the current order fit, and the view. self.update_order_index() # May 7 -- added these two lines back in. - self.update_continuum_mask(refresh=False, v=rv_diff) + #self.update_continuum_mask(refresh=False, v=rv_diff) self.fit_continuum(clobber=True) self.draw_order(refresh=False) self.draw_continuum(refresh=True) From f37923fd2d6ecd36092abfa41b9fb29eac852491 Mon Sep 17 00:00:00 2001 From: eholmbeck Date: Mon, 15 Sep 2025 16:16:18 -0700 Subject: [PATCH 41/41] Fixed error in line fitting --- smh/gui/chemical_abundances.py | 2 +- smh/utils.py | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/smh/gui/chemical_abundances.py b/smh/gui/chemical_abundances.py index 87cfbbd1..eced76f4 100644 --- a/smh/gui/chemical_abundances.py +++ b/smh/gui/chemical_abundances.py @@ -1542,7 +1542,7 @@ def clicked_btn_find_upper_limit(self): logger.debug("Invalid sigma for finding limit") return None # E. Holmbeck changed start_at_current from True to False - upper_limit = spectral_model.find_upper_limit(sigma=sigma, start_at_current=False) + upper_limit = spectral_model.find_upper_limit(sigma=sigma, start_at_current=True) # Refresh GUI self.measurement_view.update_row(proxy_index.row()) self.summarize_current_table() diff --git a/smh/utils.py b/smh/utils.py index bcfdaa80..f037c3e8 100644 --- a/smh/utils.py +++ b/smh/utils.py @@ -232,8 +232,13 @@ def fit_line(x, y, yerr=None): xbar = np.mean(x) x = x - xbar - m, b_bar, r, p, m_stderr = stats.linregress(x, y) - b = b_bar - m*xbar + if len(set(x))>1: + m, b_bar, r, p, m_stderr = stats.linregress(x, y) + b = b_bar - m*xbar + else: + m = 0.0 + m_stderr = 0.0 + b = np.mean(y) #return m, b, np.median(y), np.std(y), m_stderr, len(x) return m, b, np.mean(y), np.std(y), m_stderr, len(x)

Hd}J%_IFT>5GJnfv=!f*;ml#4;k+`dNu;+TdxDM``_QZ5y?5@=^q3fIP*nuK?BPn~3X(c#&8q~6tzx@K zoHWNOr8q$b30tYs)5*BPL(L&|!k8DQ?svZQ5SN+2a!qb03Zt6!sTn{AT*=ICDlZ^O2nr&BC+H3(omoh0-}c>mCW<3kg*zqxRf4j6-Dzbfpc~w zl%LANF9bRYew>zCm&Wb=2<=hH#45SNhf`^XhQ$%x~xBPlJolZ)SE zi4f@9AJ&J$uEwX4R8#ypLh~wSeBx-%8B83OX@QH~moMW*JN?GiDx8;S?iiEo5!=Xu zJQBYX>eoK40Z%q=`{bvP=2UuC8dJV&(eSf=}j**`S#Lj#M8S9CLa zu%-x*c`MPmf46|tSCLGQ4eb#N)`Qj+Jw@5 zTWKAB6_NAre*r4BWOimoP%yT{9^tf~weHCz&LuOJj;1PIvVVr@gz@&(1Khx$c@$^_ zfkT^#9C7Rganw-z@1ty2mnm;>4x-#&7)yn1pSgQq?U>NMeYfZ6DY~ZWecc&5@3=|> z>Qm_Kl+<(C_cJkRz?Ld;EfGTi>51RqPQYS^;glMBt*lr=vS312JoCf~1~63kFg6Zu zWJ-ztcwp_Po|p%&&S}e<`MNft7)mfTHLm2ocqN)G4^Day_G@nqXtLe8KA#vpzuK3c#@BV<>}CdMeo}l3n=(Oe>&6#ttdtAxqoc z&fqRg8roD)dauG$YxG<$AGXE{tl1Q1F2u5D+F~qPqQ-t*8K`o2J_}>454*U(7j9o+ z29s(c`jK7E#_oi>w^S0r6XtEe9~QmzwjNM|L^bb zwhrC{YlH{cbDQsSoLY2#9)2U7cXxQ8#htjTis0VY)y7+;6laM@_hS7EPT*nIJN#HNx*C*E(lE7}Xk~?8G>-{gK*;lV+!o-<7g<;+o$B<0I*hIKPFY%eFxe%Y zn$Wy+OA!rI8rb3iGrz(@IBen2e7$Pd&v7_Ti@=ar;D015REspoua#ixXE=K$&8{Vz zXV;`@w$zWsj?h8lUd>z`_~CA(@!LzA%TEA>0e<~k0jewgVeM-7ZQjNF2gw$tCIjm- z5OkU&;!V8&{4HMK_1M?a=%EICEDs;A$HG6xq6PUChRYckSSaLZQfp$0dk>W@%-TU!VN_6x1PJ( z24q$ZkZhObQfew4AKEYx0v7KvxN%$y$^%V&fjbN@IC@4sKhn({VPx{ zKxufzAI*=-<2--qzaBxv3IDx^AUr?Ia;w48jX9;Sb-w?FYB=(faxMV)Kl1;cA=}k2 zK+}=p_l)9)lyQ&~q}OAFat#=%xm(7+1!qARzbF)Et1YL_?vGSYFB_J7P*Wk}(+A8Q za=5>JN6-J(8|9j3l;CgO%y1a~`(?IqwuSp37>|v}xwMQp&~wT!EN?Wx@|fLBCH7e+ z*dzADiCpc5oWU23f*Jlv3B&($mxQl2SSL;GS?(HaaE{^+_sZ#~4o$lx+;^EE7c+^s zOLyxo5H<@;IL-yzmrM7HwKJ7Aa@rQ#QptIMy5C5u3J1u9OB>=$1l&ct$b5NvR^7cZ z>GCyO=;h%iZVNhxqEX*rTcdr*siIarE_pv3(LbxM=RN9g1t`-7-SQWD%Ep0_@}{G^ z7*^WIVTD>#<9QG9&m|F1aBdAUHOjxbjr4h_QDuN$lZc#>{c9LTLyYNgx;dsjlhCHS zc^3Heqv?v|G8L;|n|L3krV;`P348GqQiNvsRJ10KCzG^}Fu+?KETnk(3UGUrSN6b3 zY=+}|vU^ZFfgyYUq^A)yAycfVHVs?U9G26g8YwRWN&85b)f$R|(DEaPEFw9vSMT^y z?5Xks+o*uSNr(uo%k1S~J3%UE!4rqDd;NRU)CcQ@o|7UD@KBGkV?5UWcOWI`-+Ufv zY6mdB3G9m5GNbB`KqsDA^us;pc8kEG+~LAo>iC?U-vLN53YG?kxgERz?9-4&g$1;0 z0Z<$~%wig0b>6>i)`V$|AYKWxhYh|ZLG7bSnj79y!;MCr<`9itB*FV26Q45%Ie{}uru)4v zZ7q#vVDJP01XYI6!gKA67l09yMQdt0NZ;J_$k-7}g8=8=)fRDYQFR&ewD0KqKpdP` zkSefO`6zcBAD|wFc;G*{9$1J_Xzw~V_Oc6xIGx>Ffu=H^+`ZkrI&=gcT$%pNaA(F+ z*&w<5q!grRJUk`*eswBp&m&tv$stfdkc+3n{LRf1=OH64H5Z4Yj*;(Nc?PQLBwFIF{J5p zt+=j&xl!bEN9Nr^27ry9gULX}JF-Ky5H|#Tln8`VoyQCN&$BUz(ELn0~#Q#4bo*f4uEx*vYK6k}C-u%qrfkg;cs$sq9Td#wW@zpM9CrWV30X0b?vV zNw@Qw64D({K;DBJen%9>Pz`Ni41hciZRP6xj4&oF&ADdjXiYg%fYShYRtXKtIZk+2 z!@8bQVu#yu&qD8PnL7&u#BKXYHQ#ybcy93sg<^rz$S{x;PQ8EIo~C(MUNpB5IcEB2 z$HhAhwvjfBMS2B)@7wa-$vH94?DFnj^K;WLBNMSM=5Tk&n+SLgB{F!{12)XyfX}pn z!19jR2l=ImmbBf~G~S$lw?X4f{k;>WN~vgq5g#cQcuS^Ft%KC4*Q=>xEe*oGs6B*> z#(uGXT#5#lq1V~_4|9V-HyAkSN4 zVYw__+SV5HP#NE#a_i;JjiadlXcTCRfnCo+wKnP9f#iO@>FaA*%wJ9Q&`?32GGM3S zL3IK=wSX~~>sD6_9uB!D_}7yxN~PBoxuO^qk>VvhEstjfm&%&7>DIFOyq)M@HF5rG zRH8IB;E@9J3YB3s?^XFkxy4|`ajmq&_F6Y#;k&*`K?(P;4kd}~cq`MnbO1is2I))yaee?X@|GSU& z9C0uoXPoaHYhCM#!Batyumtj*fO7O-?AB79i4Y1+qmaz@2jedq8g|<(ka7zA*BfrF zz@UeC=^O?T>LcQK!?Tp1CpvjDqqbREiNFRk3h+)~w2)e$WSFHgcJLX%qG0L4%r!si zr~5tHdJe0o1?v*&NyoV)%h~#yd1-Bfupt=DYBy|4$+!Q>hK&2tgBW+71PHnJ1-Op= zVr$~qm~a0|mMu0#@2Bp!?T|t0QdCZx(iydD11xB$Y=f~u=E%g{9Fm0&=yS=^1Yej(E=IBR2I%_A8gJBicT==nof;_W{4cT4bMB z>N7}Y{VL_~cTy{BBXaU`>ma6A8WM)vVR=DBgdEqp@3*o)K5ZfeCI?t-oMHUVx)HpA z4iiqzI>2XgWlm4hmiABKwxaP$vSInh`6K(+C;PV<_r9CVE_|`f5X>AaWEoDWu*cadg*woadp%)*Lfa|=9XKyrc{qaSG zVAa>q%zF~VXyOAWI{{K4gU%@-tWnsw2sgyhV(M10Tv8D)2u675-a`o zN|WWc6`-@qpmY-UKim;`@*h3FfMhWjCF#8deusc28>~X_vCE!h#8&q(z*;uflf=v) z!MiEtFk1UWiGlPJBYS#$fcr$@#w>7^is3>FEhp19odUbkPxdKBz zkotyJTMBZPf_;_=^f5`J>Aw_LuE~M(*N!pie+gJ=xFa^t1`&EQj!!-2%9Cq_z&)mG z9V1{>4=bVv7z_aSjdn}2F@XYKFu$bhAVtf?u(Ny_ z0yQ5P-8Zes;0iMcQoe74O#;@9iHDKwLm9 z*Sx&ktJ=5Mq$^Xb9Bf;v5#ixY&oOtKH1>xxpMhUs*3FbTzBX%OYp1Jw1&*OTNaFxT zXrE%@$yPjMo^{i>ausVMgLvoHtE<2w2_WYHbF)ZILRuB(BEgv zRnOxHbxQAX9z}Ps!++Il=J45xjKCxXky%SZJ}B#D$BQ0PboV7M1`T~j&!juLE1c77 zbpO9u`d%rkLQg)Wk=D-)4xaJor~4^o9%7*Y2Fx1DTVa7`SAnxc!PY9QIn7@J8k6a+ z?d{|_?qMNt!Ja5h2(+-rh|F+jrLrzg$uHZcT$;1v9idzg4_G8wbSG{R)sK3bY2>dh z{u`c(TUyeAUODeK66COKefUVtMo=fF-z2xF=-Wh1jUEb`88F!gV8*oC-Sxjqjngw( z7K|tCJF`pI7;h=-cEq&N$S2zcR|4CXAXkpPYu0 zf=z3pC6%}Z*3bOvkwHmE_GR!y%0x6!LV|((QI75Xc{59`{lOybo=IsnfZY#PpD3Pg zCUt+RyaG;BPE%YrJStyEH8ITkLN#5{r$68 z@@PfK>q0a0wugPmc_)eQb@D(>w01>nAlb6JdFh(L`4JnpzPIQ0Rqmga%CDIKk+Gl* z1V8spnZTVHIAPM+!v? z0)IfE69DvIkTuz8hQ8r}__5{7WbI$RdDZ^W1j9{nu>o&8~-5qvA}1Sn9ZC3glN=`$x~NdBMr|72W_$9eAP32j}K}EzzD2NgOxvWOj7dMbY5j?a|@KZGRBq`hM zxA|m?nwuH+yWT^0fiwo>54(ZemtkMuKxv+ab)WB%H!)SpnWrIMJd95&X)Zy7T97#NL z`FpQcA#1pMU|it7bZ4%?TmSg>xjD96avv9?Mm=g{EbX%Sx6UxSsWRFI0xSS5?3(JC zcr@9<>hRT5^5#dt1&y%{Dlv%et=o6EU`sji5CEDby@iH|q{btonJOothZOCb>q6lO zM)$|+MML+KZewBNet5jIO&UKrO2U4@l{m`!7BUc&rW(!rxT$UU42pJEN-tU{0)yw-KAecpDucs8IBquvKEK0?Zu@I!N?J;rasG*k6}+rOeENI1JE10>R;! z#~0}1>HBSN|DNwk?Bhgo-S70GRqaJ4rwZbI!r!N{k4}T=Fo)-=Ow)6AOP)p7iL16? z=4@usa({pEiDYb#a^&eR(g>eDKA-LmRGfyW>1;sJc_DrBdSY3>up*~-cG6 zSdNgtVDkon0dykP`;^Z?p!fgwc5V#1W|$$NW6l7~1jb717mhqbH_)GLF5^BzcMk{E zZnZ2I31QftS9roZ4V8XTL80jG)_{lvmUp_11X|Ab#>T(ItDOj%FYhU1{>yO|0y)l& z968+S3(`;p5>mE+=0rUAN#NpXcYx|_iH6)Eu^kDcKiSF9-_|sAl<)g02=u_9?8cGY zyNojnk{=xUhK*?f7=)o+qMn|-piA};7+JJ$?-zbLrH8QiqRXoQU-5*bq^-c9`9oGo zC5bCd(i-8u)DRKTb1TA!7oJHELuQ1ysl^tog!tQTF1NKnqX1^sz=Z&qJC^Eg4=Hu= zb~j-)8xorSEySvll&xbuwcaJ zCI0e>Her_Vh0s;3^Yx8;XRHP|GRwNVVmdF?p836i(*~3(xDl*Frsm_t`^NjCOI~Y4K1<^&O zrltT2({1>g<#%@g&c9lz*9U=TkV=pE zuhe5>2xu{D54ni>rTB8lGJ*k^aa?#DBlNnRpV!2!_=Wr_Q~jJ<&HXL)=XNRcWc9 z+EM^XqP|GDruMKZ%5_&5^eFvx1m1=3;XS!(XCQbYHo5wTj@;V;SP9nc`^O22*wug5 zHZ?%<1&(V#c%cefVsG!9hrc8`VH>ZNWhZ&P*^Cz@C}426G%n;PLv{Y{{(> zy5qj4Imz)@?Z_>{%%0zAkqYvnf%PWakl_yYBu%Zw1yUpvY*L42I`@^@`Nm8JFvaGO zC*qhdn52m|o;rC8CjGG@MR&f;pxxH9r#3G9BSa)aPo6d+6e^e_*VzvmaWHCMuS(*K zdNKeZ7Jzvg>xzK&@oS5Ryvisq2|{~7o(xNA;G!k~vG>mHy?=&~j6dv}`nGne%)eNb z++^TiRv^z@8}{YA_f~vU&-Bq0`28;(xSNX}{bz*GdXg?c`lA7)rx8`Qd{ycSJt>#Y zl9=QGT2>fc(n|hViMYPi`|s!_Xgf1$N78dE{rLaWXFe9ibdt{frI8vwb`d7yAYChO zX$Q)jb!YWBN~tK~p686vp3Dsah^sY)bmYGjnymFfcmEXBG_JblhYaZIdM&qKgZ83b zbJXtFW`hYh8RgFA^gG%nohW-fT=6R#5w*j4B8XJ515HKz5T;C)i7 z&0<wB`K&{ICKY2DB6l2-g=)K36ck#kL>&OAPId9;$xg<>*68 zd=c~{yF({J`~&ay^P6G8SHUWB|6jfIdtyL6Fm7CQrg{%>5F!j4&l3=9d++DZ%w9HU zW%$vORZ6Qs2+LH~R`Agz?$i4Zv49Vl?C)8o5-@HdQ8{})GGg^?`^sj%c$m9sE1)^J z!p8!py^z;`4x7Z--x&AfNZ;q6v8(5e(*g+EG4q|D!=n}tfNnY@aoK0((}tFE#68x^ zp|7qVfQ(fSk~W{lXol_Xv&{#Z2C^@sI=*!O#g%i}GI(f*=dN9P#eN?fb09n$C5Nrr zix_(g09Qbcb>RcMq`B|W!N%OqrXaoarL4-#hi6_+-rXyDC9}C+wy9mq%hdT~x-b?7BTu^9ZKEJxdEY!FN>c*hozxtRTG+SZ* zwBKDhot%hDp^?p(+tS3#BvyW2$-8uwD4bkJm3k#%1aFF|PGUVYJemZEXS)A@1n|^v znJi^jARhV7W~fGxTk8KEyVc|h;obegZD%|`h8Imw#CI5oQS=>Xr%n2voX0R&eh zQ_1iZC}g0-eH~Av`(0Yn6?SL!p)Ux(OmcVlNO%=+2Q3(+ST&PbCHs;wyNdW6ilh$+ zEO0X%5um=83{B}NeQTH8D{Eo;Paz&;CZldt8kX6`P9hy`YW#Gm-U=~S<^Rhs$g_Pu zM*|&dF#FcN29_a)|E)u7eS^Q~@({P#D=1Hm`)N*;A!qg5a~zECJJ4vJ-@M;56{>gO zOOhi~tZu&%F=Q*Ra)J6iHaW2)`u^4l2}Q!XLI;WFUhN?Bpw~OR$?nz!I5xpG_XI2$ zuOmIJw8v<;ALdk7184tujjSS-U`iQKG6EtfwBw9RxY_MhrUF_t;DS8c{=*tHF7gw* z3xMKNuX3kdmvhN+r42+7b+p%pXwom+J&6KGh|sR&OEyq8nmzZ$y>IXwXHyDK+o9@! z4?{=4-xj0mPoU2lj@aSC-W8g#RpHD}a({BnayH<iTt5MaoLDMLAP z(Ry0O9VxN^9snma8r42;LQx;pA}yU5 zHW-3S>m7qj%karebKaZZyU#7Lk#cZhV)^0md%osroQb&;r0v4V1NSi{)pp`bR)yBC*KB0`-#o|ZR0Y)D30iEfWoY-1|99t3O$Y{x%SHg9p1 zfznf38(0Y2-Re?=zvJcQ1(e#y^Vk!;$oWJQ|v`AASJ_%lVN_n5763Y(D+$2v2 z_6KnE+z(V$)#_U8R{}kC&f~2otlWF{-vD-jOXxH;$V_is9M%A;&dJI6L23wkNJ_mG zJ7E;{Ru4^ekz3(p&-U$&O|kxmj%xg%-ayLG;#Y~-ad|sR(zukt6qxCkb~Otav++42 z>l=BHClS#rgEDwLw#&l<{wdNgGYMfuydDbSxwy^>`ai$pX(88X>*sMBkGbSkc^eME z8v5BWW7DK}7nCo~bvT<37z^v{x&o!tbY;^;;5l|fmiLU-YZ8uccVyn_B(3gbqr@deMK8v2elRDY)avzhR-}%MDw1ZBqrvXh6BeKz52I*g zb!AsHgY^R_dJIe@#CD)q0xrLf%dIEZ7n8ir(v5JA7}*iie^{i^cUC49Md5(+p#b5Y z=BC9BP47FEkJh^P#~GD3Ru5>f>)n-@Ni4ta7`U7^TWcK<15M1#3OL>}Bf$c;b`|CM zUg|%e#y@f0G^LH*eIB$x{3#QcywI9lMhV|{y4*UkYzM~Q-7$`nn|?gLQpS6Z6d>`6 zk^4Xv1CE*Boc^f=nh57uMVB;^JTM7emNT49gf>nU0=_Cs>aNu>`WJqk_=%==Od2-j zi1A!jr7BK+Wu-`|@~!P{Bes;Hq_#t3VuM0|VNOFlgrI=KLz}a+vyBY{S%`EQzdA;&7zno7%UKx0u&lR%mUlJp+-eVLL{2k z_kEmcKgw)S+WtVSKT-E@RG_|Ad1;TAD=Ar{-^EK77R`8av@2LW#Bg-FRRCUhty{Pq zg_Ep;PX}>Tu7+f#x_4T8OVY)&jwjdKJ5+C2TaC7meIBDx9Be&NfmEOS$c?k0^K0nm_hLb>48c7?a!jIL45+on5F5cmKwh6!bco zP*HTc3C1HG2c{Tb=8fLs$6mKl%B&83>!z`8I6FF=C)xLY+~^@Gsm%TF}Bz$Sf~BsE@>g5(K@fr7f_Ek^&hPMA4t( z#1$KWbS*Ezwsseio@Rn{q3ovV8cdn(*h;+G)|u%NdmYB|!$`mOIMN_;q@mr#wAq=m zzRgo|8LR*i^7SU7*9f3hK?urGiS|C!x%Be=F!5W)HA)H_$}v1VvN3Z|X?S?@`>0{I zvWbR8;6x+y4jSsyn0+*54Ymeg``4frmKF&hb;Y;@(Uy_zj%FFidy9mgG~7u4kNxpTyA8-mHL z#tGTJ|Ix!KKB`O2rFFV|qcK)m^o{@VQKS?_aEKb)|K&vJPscP+=-j8+?Z=Jm+V=|T?sTh6EEinWRR4P^ zNWh^%6B@^tt~QK=l!iaJrW+tmsp8PQ7sd^!QoNJ=V)5ZnGuK&$A)pU^_KT{jf-3L| zf75v6 zmy|fEyq`Hvi}uD zOXW}AR3m-Or%Q+m?(_RF<#0aI#rE#a59|a@xbYi`TN(+kx;}V{TUO^w+m0UMI&61<#T+Gig)uTS>ayytmT# z3Qqhe5n@fG*z8VXO{{M?WA@#c)~4P@6RoQ5O8k!#c|J~PF$UoBmzIhrnifEhdf;E) zDKAOTs^J7*s&PK6b*X+#zqofk{YaYPM(A5ptEowPNy5(`Oso8b;K8f*R^*Ler|^0^ zcz;jnjN`giymlFlRn%^IGm_Dru%y4!e10UMQ2HXI14T>S!~I6eO_fH$E#@6P9GXQ= z#|s_AbTN*Ws-OKrGI1E=W2>=|XZKeafPMSxB&X{JYW=i5?k_ZO=t&~0JBJlW{yifD_*WVYuFyZ;ZsYwk)g)Lc zCGsi{u}TW%Bw5yw$o96q-M|&1>ad6aqmWrd?-{0Rrq5RzX2*lEpdtg}q-E{wV zmEF##WL8)u0a{J3K-a?}tzS!249&ZTbW9DCq_Q(MB5`O^RBjA^H#dqmH&*gOiIj{* z-dlvh>Dnfuz`-`5$%r!|!3sBDVELV&XEnCYb=j~v?&v=bHI3(8_tlQB%l?t&(3Md7 zry=}A)p>tYiPbL2=>=y@t^7CWU1P>R7Y%;W!BD>d3 zI5dhg0W61q+uIusJl7tVxI%jE!I;7DICD&2O;d&ut%{taCy&$Q3a+8hww{PdETrj+ zT>AgLLURkQRb^lhze{pt?|T_=kN*^`%$35;#JJal`{U9CJ13(`qVJy2mz(Rfgb`6g zH!=(^{FuYnZ~+wic!gMiBUU3Pbx0TP(-SprA$=!UT3JbhgUs6OkLjMl{Yn=FlQvk( z%`TlS8hoFnyBnW$G(^vv8%ybvd@(r;0b*a!8=akYmlmCPq#`d+y)!`Ng&&{+u`;n1le$Gb!@FC&`ZNY^%ajqbX{5b-67Q0)cQe;@SQ8rF)$`JsJIsd<&FqdJ6`apaGLgn0oTSx$&a@|UMb$G)vWbDr9$cQ{R1}9B{|B1A z3dZWW*ZZaW>!pZR{1J#YNKGXKO$q@4!K(+l@W90*YQS1CAo{iE>ldT2cyCif=!CE4 z!8+YqqD*M5f?KYWc5)vX4@|fA!I@tdLJ?n~jlqeOODbvS`?mXR+8Rq4XUD|Uac9`y z@P2ok?vnH9Vv>N(fE+6P$dlGcwbPu0?Ah$OeUHy0Gz1$JBqh`IjdXCGq zt)Zcx;iP}A8t_T-zt2EFpua>=@tdO zeMDrdFIiq@k=BnFyWp#l+oZ*WWgbq(T#2a0fh_7eqJVATNQM+p*+mnBUk-XhJ20|l zztg~o#!~^tCZI@1{_R$KM1!E_x>!J%cAQIVm+nwTa@ka zg-e#t?)Hf^YutrjvejyX#*Hn%D%m#^!R%;07_>P3=8TCQ7fbqrQ@K3&EO@wkMIuO_ z)E1oxpL2d_!xOw`*(uLoa|9;ZZNtb7wT8cOeKMAPfNhvzp&Xq<$pgTLbP;MIc0ykK z1ncUrE=;O_(7Uh?Sa@iMi@7{V>`lXoKbJA-1g! z%|w4~;-Z!8hwVA@Evz{_1ePAw#C=ZXjlxp})|j%77Dpsr|5Evt@~d9NcGE2kNxO{! zYrxF%oQ~s)Mp6F**|~$;%}l<}axyrcKf|uyOP*_A`tv9Fx1X?N`tHqtCA!D#0(2-6 zDCL%-$M0sm_datD$B%c*hjaB5Th$GrU^+=b@v?Q96fcgy#^N0Y(wb9qYS_e)r=l1~ zegmb9iMct&pwp7|r^LM3=#mgypV~{M+a1LMjS-n$&S8JW83@BK2)Z#_J}&Cf<&9P= zs}kj+hSDpMZis*p?AtH7b-v~4jUGz(PxD$@z=yo^?{L3NX{DWR>&ZQKjPsx%l=|n% zA#Gu%6TSPgn?`AItua#I7b$bGF^fDp=^rzAoLeRfO%Lv~4U6tc_d1y^J1lJvr%687 zThPBUe(KtU+VrcdrruYd8qCpq1mk7b(W^Wc8*o*60D$xSBG#|t9`)p?<*S$aHG2iy z{VChl-{yyLcs+3>d0W{jM0JhPfN)JrUes&J=~|p7+TIN_LtL3RI+@p*n&17{<~+yg z`kVaqkLecWlEzu3m|O>mcP*+|n39-!z3+^~(+(Uvl8Z|EM`%6Qq#x(qR zUs8e=*pip6^P9`R{GM=eaO%Wdbe{VUreL5al6=8TICaL#hVyUyDA&24*A*6ivT$sx zY_i#E$bsA|&ys_1lUaAG;x^$n`iK1 z5Yi6pLD0irn>Vd~q)+jXb_wuaBNUgE zrp}}daU5K0LtREq4OL?KvPjc78BVTJl>Vrmh(sLHoi1Ht5_34CC=o2MlQZi-3o^PX zrcwN$O&pmsZPjehJ5ORo5h7~8ww-3T9Tu8tp+RgDPP-2P9t@6he~o|U)c(E`7996y z11O&VD*Zq7LmMtnsh|%JqdS>}H7$I_Tqb?hg^q@uN78xOdvJq| z|K&IlpRp<_y^pX^HI#{eszh*m!Ts_|eZQ30xCrxWzml9$!Mitaey9W11XAEHyn_bk zt?Rck5r|op5mHP=k3rJFKl$t8(RQfrmJVB!Ehe=TIhNtbu@eX3X_fa)JvhnwvZvqM zIzWCN%td+?pfQ@w^y-4VvOK;=W1!rr`dmIWJL|l<)FZ%iscI846EnCpA!xFT8rd(a z_vJ5p3PFnYuZ0DAkZ03Ms_yW9!F!huuTI-dF(~@m>jkvkX%vkzTj$Omqp*TNXTMO% zB*_3)uN6y4lAf7Z9BpZ=#GtQRFKA&)iS<8WGxk{3lXATk#0mpNF2QU&%1xp;bt8O0 zB&K*jJ}*v=%+q#eu+H_JKKtmp(eDyh9G5*Y9^!(6f)IPR1ShAMV;QKhb)Q}Kr8PA0 zjWw_N0OboDEh(jca9N!un$1^hce(JSuy#3{rAsZat1yZf^0EZ+cJG|N^}`GIVY^ig z)`n-GGHC6jC?-~XX*mh_SwRHk2VkfuHKtVKMYO3%nt0I!roU7~A1A!zp{uUK=9#f8 z3ta7bqxz30c*w1IXa8yy3#NP50Wo?FaDhXygPUF2Y4S3wK1)U45CnzjeQS{UIR2$G zlVq{ORJ=cwaqbei@S-Jgg%=xZVWr`1_tc1gW8w!lk%hTF0ddS0bcCXU>YLNfnUC5nX@7yDPD7~}i49}HQXC>>cN zbN~KbpJI=UBxL)7M|#h|y>v+%jf1E8Q@p=7O2_ZW^_9?I`P*X4yZ;{$@_AkJgj`_Z zq0}YWD;G1U62sN|T6m3{vVi;{z#|F z`aFU2HoP`UO8wycfOlgs^R+5o@!B%$IVhC?un*96xbdamd(PN^laI#b+icn-+1dkY znj@mPORZ*nYPQYC9L|<6jPskM=c$8x%1d_h-x#YJ-`1b60qB*{(z#PA?=3$+5qwI| zG^BQ%6Vbl=ho;on#%mG-nIpt0I9U*2GG`OY;%acHc{TJwC%v#bxu4&gJ|!=d=35YJ z9WMKm*EO?U(-pmhl1SlX&g_AfZ+0A;`Ca@{O>R|nNys!}3DBOE-|AG%H~nDo)BHe7 zjF3=Ay%zeK82`ziIfDYN7lUZgnvm>Aehl)ex-J(*&4`iMasJ=%uMEU*coz8m0pt#5 z1?3iNLooh^r*br$hypTEg$)&n(wRP#<<=@8f)uvT7`(2FR_Nj`BaYl}S0` zd-ke?#Gc;;-EA~aE`Qy$qO1Il5EG8{zGJ+x;xK)0^Y2Z%@8jk!s(NDLLmHp`1|)?f zO`K6rb;U-G2{T&a+U_@7V#PehDzyw2SmmX?e`elny@1Qul=o0~HDR^VL-4zvw@c)X4cKM~XM4sBKhm;DHIi z;1(a_3_=`Z9958)&`hx9`T62^Q->{oNlQEG(92{? zVKj{3ta0VKhf_(r)6y4Xyhc!q`JERD3|1h}^W8G4e~XN-4^tPd=0ilj^9!W}apUyb zHIk`S@AZY#hJ(dY(xykM+Z4&K$WP!)q~}+9rE#*be|hRfPlEtj&Dhug0782R2sE2e zRhH2kN+kJ2erBo=`4Sgy_0yP#$=b3#T8{vc=8%&QC3i)l8zL6Fh}+3vy+5b4@R*Ab z^jpMDflHw<-u9Tv#+ij`^wU=vYjJf-s~~Tr4@#`S<~=?()={F;I)tD?@C|{5re9NgvR_k_XHWR(v6r_~%mKaS% zS2qg$hfUZxBNBbC%AuZ*N9ZCLJm(kvOTL3lbnOKM=9&FxYNaoV;1XZND_iB*CcaRU z&vfTT|2Vh0Eb#p|L1AsNP;*@tunUq@N*+5PJS%H2EPf zDIX9oh4$O5zRE%JRR9hX&hv#Dt+tT1^SZ#NogY`(hxF)C4Go*&8?`q9>V=eVUW}(7 zqdToKVGM-m;L+hHVri~ZTi)c}-=U#yJmm8}Xy?|d?2O8e%snf1Y+4yd|-vD zHVa;h72k;dnBm*JR6~1*1Pkn|0s~=zXIaO$?hV1al=jwiaHL>xq+Y}Az*L5Q2**Ue z6R;z{*(AmOxKBSAN3VZ8^S1v5Y;Po~<{6^V0OOy}@8QZ>YlmARG=5M{BT7jA0skHw zJNx)v-4xv594PICR?Pxy&;dEt&rb+ISE0JZktBnHmv;0%ehoNon+Xiee-@&7<`UjM zc%N^GyTA86qXS;QCGA3wXT!uDa}C(`o943WIFGtDu?LS(PBNP%fZWO*&Sw<2N8m4( zql8l`>FX=Hs;NbASJvc$V>}{>Ns)fPgf0{ryST-=t}o}vm7P0A=D?OHh*n~Dy8beA zpe7O&9c81r<}=CSS9DB5F1aZiWv@WZ(d3YT2JG7;W%2TLg?rnA&-s?5%)w2XmLVHD z=w0J7>w`Pu*`{@47o68WL~j)1j2ckIZ>Zn?^rD6_55sp=+qbT&=pF7`t7*-XsXMym zg&L@(tOV>O6S58y2$2G44UQFg%5Ky2!OXgyg++t!%3G!2;u?d~IEB-D*XdTxMnl~@ z_(joJtUTH`l6H~ga_Ii#e^XJl1Bx0=M6Vs{fU8evCS>J}5i^(qZ92%()e$^nLGz6OsP7nC}Qtr}Aq^ zN>WM6QDX;^uQ~C08auwSXVLB3&D8C0z&{P8NH{G2a}-nI0A!WmfpB`A(1Ha6>T_T+ z?8cKWz~fKHYla74Y@1HEL*vHghHXQttsj@T_KyHgHu+Jc=hL@`y=$ucQgz^Peb={UhaY{ z<&5jYoJ9EZR9U{q2v^)5yJod#@rFUks;bEtmWLOJ*LE6oWOhs8lY0_M3AhxI?LuS> zvlUwjr1M;&=p?{~_ug@w-`kV3sw?P0kzcOopE!-B@@j2(hyZr4{$&!ng6H7cuL!pWB(=G$#wcNhgb03-gz7q5Z zGz4eV&CQLK)wnV6?)^J3@Q#HA94dj6WCn&eLZCV`_f2|p1?&k)dEm0 zrObXpnhT&ZzwoK?V#xX66rY`yWJ7@y`(8V`!hhrR3pvua+;8fo^51SFB=7umJ8FA& zlM|EGI#BXumQB88P~0_C=6FG_+y-NI4f8aVR-fqzUb3W#Z2{jFx*uE>@U-0$sRb*< zL0kP_r_4*glQ3^%X3)9vT2Y1AW&nPYnp;W)*PwPDX^?FYs!`SXTYUA9F;l=BS;Y&F zQ&v3Pl+9^tOjLmD$c2%Q=sO&=TZ2LnOSli_K2}2s^_;rE-6GQ?W+%prNayAmzsPuK5oWbXOtgqH$U;f*m1D4QB;ZJlti;k$(4A}Eks-*x6?VF(f)y|3rk*-(G7&+l z2q!L@$fzIZ_Hcu;LpD7Mbc1j~qQDkW49;-KyM~>2%Dbir+Wm81t*Nof3WA6vcHvFQ zwF0*1HB?(t5*{s-f>gz}=ySP$bW&QG`ER|w1kwz^CLsC9 zPzD}(q4X?lX7iIebLL8i^nMejxX0c)KLNYT8YX@U`0n6vc_lN6lN*DHT2+EbYJdNv zxu!N{P`VjS79mmuYO&W~8o@h3cda@hj`7t)RkcOW7l79L`&PgUZvE3YLwHZQBi(LG zNx{FY1gAGXQ&UsjDp&>LQc?)O+UsU<@MiLEwc2F1!|X8(Oztu>YU8|xvJgeo-5U0V z=R|WKz4^=_44bjjvU8dmlZS#!lb=Qz(q_)~x53DnlAneqf7FjL+;pvJ&qHV0=i&l2 zVdyD28)A?kWtbSNpFR=ws2dj}hXaSHVx}lJ?>h(1I(OlWA1=$rn1JIVpAoOCUCO^S z^XCWEDVHEAI<+n}GO~&{UaaXy=JvJgW8FQw#trBl&>)-^m4J~brOd`s?lIg|L;64! zCvvNMp0%jx{f%6lqpCGgutdOn*;UjCF6h;_Ty&}LuQdRz34%zOEt z8KHln(F`h+;Om)n1&lh&*^E{LyU;tuq~tF;8XD5%7{4lpW#{}o+G*guaI+?icnjIR zD#8Op>hFY1N3P62;iL==y#_=vpSI@Z+xG@TDX;OJsllH>CtOrong@K}Q^+eUbr{!U z+onSDa_^s3(iL@0ouCub_4RGg$Hl4Ew4@{o61;TkOc$&h&*oQ)iDf!6?@^!HJR{QX zjF1C=aSAtwBxQM~94~)XDEGQl(>Ncft^71sUgeoa!qc}!{TOr{g7A2`AzLupbGW%?h6!lrmeni#{*8fw1T=9&!Sz(I^G5SSOh8qb%yyhQJy0 z(q9s_fv-YI-2K0r3+*}g89WlWwGGh+o<@JNmW8s@hq$sTCx3WQy#Bf3qp4wx&&bHA z@c<(~z<31p6cY(!c!&A822a9>RfDMMHyFIN2{H zjY>qq>B6eLYdb22lRdCwD(%aGnyFq&#m~>b^=&=5?`L602%W~tpL@kj!}Y?^>Wk9Z z-En)4cpCYQaN(6NQt>NM!6OMWvqHv7(VIl^p!DJ)rq-B^LLEdOGdJ)HUC?f`A^`;I zQx6O{RNlmQSIs&@yR!^?Tpx8W=Ljb;W~Zh&7N3r9hjIKKsX76hC83uq-<=hrE-5_N z`sMQ1w}j6hOh~F)`_GTJ19-&W9NKC2=&e#yQemwonbQ_y0ocqR}Nl^+jy`4*o@ezD=6VK*r&iFB^*AHy~r(k3&sN=osd%If`m0iNu?q; zd*|0zmprvCZB2gYOSg(NMO#~v=4RekuvPyx__ZUoDW_LTRYar@U5nq0&Nc88#LJv2 z3q{YKJNN2S0nf*J4eXKX9kP3dppa{nnW$u6@KA%xbVBa z^Fi{yxs2A)(C)OvRp-5}lk!o*@%*SQx=?>&Mk{v1^Ax-RCzSEUEKDIr6f>h`&FH}; z7IH8shLqW@i;5_JkFp3Rm9hxY9NlW9b4Te3wmQ#ZvlMN#fwdchACL!u@u<7gkcnH7 zSS{m}@P!wah{6)c;qf!?{%_$%YXP0~x&t|^yP{Bvehfh@V2xTx1iTV#Ila~@basld z1NRDub{a%&5LbDUsGXN{4T@>j9=x_Yx0^XC6|0<$|M5f8&#!|X&Fvj)?0ar*y!d{J zAFF+F1HOzUbA8cXH2;4Z=0xhnlvVxirPr0MzPO&Dzn|x7pIplc0^=3&M{cI|3)Y}X zTts7+qlq6X)Re;OzGavZI@K0znw>uWp$iLjzIbRFf?%70rK>b!@h)ndOOXBWXa-&4 zoj{ENf&cYBV#5qy)n^piV`swlJB7EMgWo-PGm6&x{hvZ1J0tS+(-xG(f2yqr;?LQz z8{9c^565oR9(9L`eKOb}d@Ux)$$Ul0wFpqN4~+s=fu^()F|HsGX+@JFmliNfPlD4A z9V-;(@Z#=0g3w?M(Vei->kPWPDi(Ua<>D&}&SU!ckqxRd$~Lb&PqpOXJ$aOHsE+%% zI5uA^477i>5ufU+PP;LnZ|d3;oUhdwoc;3hZf4CX@g*>XVczdb%X-eCilgk!@?|pD z_a@T~N1$S~!-NZ9?g`?(Te!pbzpDSB3>VrJ`yR90{^Amq0W-0AwrWsc;S<{1!H@Tt ziSG_iNerr;-&9l)<@JBf>F3P_(g(&KG602(A{RnL35;*{IpKnSn=R`5Y|4KejE{J9 z<;eij)g5f1O>7#uf5MdyG<1&dLwao1JNO}+EBwb%g$R{JWd?%{Ofrp_#-LsKP($p` z;VX<=p}A=1E2(ttGGkM5-I3326=Bt^ib~7Qg)l3h9pqY=WOJO*sQRZ7KP$U_lLpSfj z{MAf$f3$cSDm>IT#>e-0{|`}T9o2OfZhe%N4k;<=_|e^@%KtzX38Xr5J!-SDR7phNA5s_;h_I&o=KtI!3e&X8I{nE;wA(g(`8UMPOpWJFD*--L#* z#o9OQF_7VU|NN2nY0S&3dgqjab@vttO^Fg4bfZ_6fDtpjcd6=0x7SS1K@(`_ zQ8?tahA)w;*e7pepsgy_E`C0Sio(wUg(Tv|fk4Yd{RynCY!|->o-`0;v)yBTQq0}4 zJA!0%nzHNH&YjemUmxc$DX=~nyz@qbtBhb(?a6}d5;_$v)wN)WyE_J_ENRoy{Vdjr z)5gvaw^`Xud-Q9aw}mEYI^lI$^kkcvJj8QS7_pY~nj2|mD%R}F*;RMHNbEm9BhD%7 znFb<#Qu0bZ>XcI-=~Q>Vx03o6DgI001d(G~TZ=PDh+<^vGy!B7Eeqvul4Sev#RM>C z6QWM3A3tIwsQLcY)P7R=E@Az5V?Z zWbik7cd-xvj=gwn4nI_H8($QY-c<`$z%o|asP$~#cwx@p2v&ceA-#8|H9c1jEn9ay zOIXqBQO@B&0(T7-QlHD+#d0swUX@#T3*7}6-$7=jE6%mnhR}kp3}vl#ifa7x-5$Jg z-+UA_oW!lgc;ybJpC8aKzzPZ~D@XIkxRWf9)1=rLy<5luiknxjUj6y=M>uOj9&F5n zK1+VegH!tkEM3^x*r3gxJ+K+_{rLDW^7M@?-vhQA;cF*EZSk^xnEh30bx($-`%1Q1 z6s`D@pcg(1PB|gNo4*^9V$HYrg4!N?9Do1zsWXuGu|Dfd$LrO#(Y@y0%l)@X zF5q4e4cfw#`N4nj?cm>HF44G z_1D&>+Wutmkp4KoW)bgRkR5Nxsmwz8xAh9n=>_Qc%G-2T*3DsHO-*iWrmw)9=OCxcPkNxqf z|97vCIQHD5o7()HvgTlOk;WM#g6&FMi)W1!b=co4mTVUc%GVQh{%;vcSfLi)(i&1< z?hiKZarLAP!HkAT^0NCCxmZ*A@L0TSj8-r~J9w{F9CoE@4OAJwm56HswaM*ozWGWY z&4m%3iTJdaQIxw5c`q)NeQiDrl*Jl1_*2opfHog-{cZZNxYo~JSuyOLV=`FDL%eEX z-j>lW$SBx+;O1Y9Wi;VA^LE86p8P;6FW2>mX~^S88f<7}M0x#=E)=Agkk)$WymCji zoOHIp#zrBl)gUoP+XuW;>D>P-6U;d^lfIcI!{lD4?GV`)nyfrKNLe^lX?SsqgNt*pF>Rn7O@XDKJPqp`Jd%Hdr25@)P#4@FF_}A8 zd7vD#iy(4EzP5_BDkoVhCz)Tun$VdfYPZXG{6doT+`fVa7BA!mg>p@861z}au4G2E zy5Z+l!dp%SV2;bAAuczSe&!qVq!O#3!$5GP#^(mM02N%J!3+^<$&>3VJ!3Q3K}*ZS zBOhpYfgIkH{pX-Nq69XWnDuRB@|V3f`1%!kgR$YYQH_S&@b-wt89E08(#_W{=R>bm z#os-Dug}Axu6xTw3==aSO)4^n(UCE}Q?x7sS*8LW`}s@u;wmQ^=%D1jZYPq{iA$~f zhwu>3aw}>btEH~*i(+*zM=XS;roN@(JHI;MyyVD%^}yZ!p&S*`X3&Y7}Kp)g;s(W~6#%!~~FDrC#j#^#bXvyVq zc_=yU%sqG#H#@%LXg9(bKZpTu5FBwJ0ISTgBPS-7ZFEVTm+9#PE4HAa{dtr)I{0@5 zM~}@V!s{Pv(O}M%B>?loI2b`fpnQ4cP=``X{3Qv-1$jUom)=-)yn*jXn_3%tCfVwq zgsmr?S>~&N{}EgweuxQ}+Kcdz>;~VoT}DY|*E=zV3I-E)j|(x-x;tsP9Nll%=Wx`PD}}eyM(LJn=q8GaFlNZLPJvt zi@)Zo>&$o@{H{k<;Uq%g)TutHOW}C^9jDEnjg=6_bukPCiI)ML-j2LVg$G^C1Z*_B z9MKDWTPqQwcw@y#z%`|KV8z!3Vx*EsEBU}!{8gLE@~*Ro#hYf8PO}FODlNew&g@j!I1l637byLOUJ^NLFb4@k?VvBR``1ajrpr_u&G)=qTGKl2LwJa+BL>FX}( z>miDig@D!HFVN63F_m^Ic=Qlx)Y#+}H2n0tzrRG{dP^n=QLni#3pZOC{R&n#sE9gX zg1z$_BRddi=#T<_v|;KhQrENw_^;{~2?1fsq*_%4g_W=ELfip+)tSfp|HOWjzR0?$ z-z3?2k6)*6%-`F-IW{%Gmlx|WApTSU=8*~tJIeae7zb`~M4{B!nUhk~`1pEEL zIeMjiyDU&+$vym055-;M1+RniN3uV#Y{tjuQcNf2ZqGx7P!ggpXu0gA<4T%+Hev;A zwfghdg6>DS`?MNAm6H;85`R*M4wp!Gx<@W3Z1YjFCfR^Fb6=FahB0;w~FTj>tRMX8 zv}eo3P8c{M`hd%~>%e2v-ZY3WO`z%d*o8QR79n~-6I5ej*@OyYa8=S0iUEx3iQZbT z!H*FOeg)4hkC3{biVibXlAX`nVwJRQO*9K}0W2NY94IfN5IFq)brac2ApQub)i&ee z&iY0=V=mt&gS}=M#6a}{KI&B{=IbX=#Bq9XiHAQTb~RIFjO?x%-3wCl)p+#;#-IUs z2TkZ`3A}~}%*z)*j!gD4mi3OUTU$EtQa34vta3o3{pA#AftU45U*XDg8=?Li->|_} znvIrPRrldtWMl#%{}?wCOk}vIIZ3q?SqW=x#z19YU$A&_CiCx(T5@wI zhJqR0@Yo4j=G3}}0@2Ji-%nHXg*n__JTLGaMQ1}7B7gF-{Lo>>6IH+-Je+zHk#LW4 z6#m$JW7r3L%ujk@gdlcGmpK@ueBmK?*CHX{$$$V~BtT=1z~LqNw^ZWxhySenKs@2g zimjh!<7=JscwQ5kkz_`iw1@k9&nfQ8P?|!9vl)E;coE{@Ld`TEQfa`Z+{#z|)be!} z`nedCfbiNKW{PRroruv+*wra&OvlnW;PxA>285VREHv6M@wpuBuVYlpsi@$%EZS2) zt0>=aTIpWQP6(fCy2lJAPR2;`b6vPU*d?8+i*0-;_ZSjHRh}3wCS}TYuYgp#{xA>u z1zt%qQo;-Dtb>~mg@kP3WIuV&jWQJiddmV$e}Uw69bZ1Qplh|_h85|bu1U~OAGDS!4w$SV(snkSgpGK@xp72jifgrfl&=HhXUQl z2dXZs_7h+;KProl8zKtAW=&zD)0}w{^_9*fi6cl^r)N`IHeU+nsmtcK!eRKn#fMGc z;JsH2IBI#KGV*1{i=zc{IFU_9TDVBB)|yLjxvy_*b%~Kml)>e_$mG(Amu?L8YZ|8- zMHS1PuwNWkx^`64AJ6Ii+4UzxD7);6+ql_~zVMb|k#6gli z$C?~w)%PoVB-2}tSaH9;XCg>hXhIE8os3=R9++3BV|5v0grtaphk3;o-HczmYZG#c zqGE`Bd7Z3$*9_uAkl~<#X;K36mw{^dg)*$O!HA*mnBj}%AM=FAHfvve-Z)zc;#g5F z1|x0rAN5W<4O!PxA3T|Yyg-3V6>sr=$DpBQE&$1 zdD$GE&UEoag`VVUNLOF}u`2+sn1_yJ0TS!T_e^zirQD?{@YH=zo^MHZza8kmIXrUZ zC$6Zd7~P%PIs;k&HhYOG8dOd(CiD7CUH+k?hZmC3btSG4ca~c=DoywoX=nzoR!;}b znMO~F;cGrXI(kjnyJ2CWnq_-_vvl%hN4e|l!86uc2vMc^@Gbc`awTy+Mge{1ynelK zdg|$D7xt{x=PGrTgVNvWBge;nMu?>wU9T;6%&VE3q#T$yl0>2g(y7ryj?YIwjl=r` z1}0dsRzQG44lH33stJe_+zB|}pKaHTg}zFxcjH5IT?cB9V8WK@oC4^>{EhzQ5e43k?lz$Hv`znrR_M1LXF zHymOo!Nq0_$e_2(W59ddYvdvS$ihHv@kv<`nCY8_j_v-*?Lcn~)QMI>?MurFQ$LRk@m+ViAVvBcvS zY)55o%7B;4;*{kabd(?%i^L9M{O5|e4mOAJ&X?j#DLJ02A9`YimyDiPw0YkHCV6+eVDngFG$ft%Jh9;Ig=vbYLgnbAgiP8 z4~ZkCTyAmxWVWAU)M{*mj%=nsCKeKdP_hBzFps}C58j4q#_mfk459u|Y~Tgk+&u7X zaz~1V$Ig&ho$l9chE-E2tFet;9QVJ#j(I9pSUCYkxbT$ZRV4*%pn|P{oQ)Ba^HA2- zso{&D3SZ{Qp2x)`^kB1)b3PWvl$;5Y?0^MP#3Z+;;Qi@nb$0~*|PAMu^Ke}H~6v=vTF zA&+jUf3}{a0-Qy50*0BH{2Omz*PK6u6Ba3C8P3vWcTY*wot6?ia0h;)XE^r3r3yI~ ztjKbKROzZq>y6gO=*5Kw=e2AT?bT{7owcQ>2bWxN)uBWoY9rsW%nCn-xlyN7=_o12 zx?eLjK&OEx=*YdtRRRwve_4)@fxLH_!mdpaet88RoN0xIAhg!|RHPi4?&-f*p2(7M zYHAfBY7V$086)|?MBvEC=i+Q#;Pm1I?*mH#BkB{zH@7PI^ijdxg`j^sR6P+ewU3SU zAKO_UW8k}9iX%cE7@}MVy%>Y*s!lJ}pUjR{20<4c@#4 zlVh_&D;k;bJ+cf^4VC_P*c`N_4VH-iDo@wuMOR)4s0c7*PXgDe#JGm}?(dWPm05b0 zq)ZH2#p$5QZ!JT)bJXQa7-p3KBa4jZ#Ype%8q&Pcx5K5Y-tkzWg{0PcDF8fY^2?RQ ze7&^^Zin-1<=YqhjgX%mL#FJ&EDjEYXPF&6=v)3CGv2KKlmRusn?eg)*i2fnf&Uy$ zQ{SfD1hRCFoOPz+Le*36t?{|iI9|xS$(-hT<8t!&SLS5OjRqheMbNK}d#u4sgxQRw zLv79l`k)k9_BGI-Qb;C8PvwdMwMZtZtx*()GR*w`C2w9)k!azBe&r0WmnMj@lBW@k zEYT&>HFwDU(uk&bWAn&fV^ zIXeN6FW7Pu?rU*tGrq{qKTT;P|n#v+J@NvNkOl zoip;kPPtsJd#A_LcsXG55Sa*M^;t9@!)O(49>$6pUTO8FPnh1c>O7H%353->Mc<8? zXHjl4{Tv$bY2wLd&ypZ-HvQ!EDQwO}It>FC!R5uCF9y-J$@8Mm0jR@%>)$7wIMQx+ z%)>gE9p{-bpuv|mKM83+EmvM1y~T#Dhh8H3@2wTmpM0ql^0+TE@u!xntYJ*z*J%E~ z$F>KEx&Jme6`a(C{w@EaT}mw^lqO92Wopmpy%U4-)XNdc+0UU>jspA2yg{FL8~TgZ z$!_!wjd3Z*<-UFv{g}#Fou|+^8K5vef^L1t!Npn0mv*@Hr{QZFtK+EHHp)R*oQ8_` z`{AiC0Hj_fd~kJ_?^6HmHEb~rYmEjjD~RNXMgaCz@Js`)J!ev}(yawjW$z!7lIECv zEG(>L$&5(EfVso>By z;9S!!izI_4)U;Y1j4f9)_Zt50x_W>mQu*hy&kzRjdC=_3Vq=lTqZv&`ZjXD`BGc>G zOoL%$P+H3WjQ*R1va1;d)tbLDO&+zG53ivFg6n>OtoEPQU19C4+;m8g3irzN>T|un zNXy(OAoEONLpyUr+SYNi&yRyb{Uy*Ti%X37h#)b8b4JUO`ASQ>+?9i!5 z^Cw#)1xIh*`{6=5g}>q9Rk1E7es7tCQpnF@@yGM&Pxs6YuyfjTVor6Dw%p0%E{e(& z{gl|RRxaH01!wtN@d1Ev8mawyt-nUm(pgrj6#$?Bf+Rit?^gV_gp ziLn{2wh^^hCCTnZRkJUU{&U?1UQia8`bOmgp!=%FlizX%coqCjs9$Fql$1-@B8Wg4$ME z`oM7|=*VO-7xA>)>&w zHQ{XB?8dZpfBM4lb`myTU{0lcIo1S&;A>7KSb5pjYbI2wKifWcygZ`y`0=9g!aqQ0 zmim0SEHer+UZ}-^RGOd-Hr?Sp*VDt+;YO1)?0Ea>sLVeIw4zp=+0EyfK@}cTo?s^H zN>Gqj5-Ps9L+~{>+XGGBwAOBDCwI76p^VmH64>)l{oB!Tv;K8B2AoM)C2!q$)T9ad z{Hz-LW?DSt)Jsi7ZUkAS;k27J35k=c11K9W%bn#Y7uc+jw`2Upv3Zuwb;o=Opxg~- z+>Te-T%Fnpa1Q3Bz}}NeR=rpS45Wu38e)LH($B&>1`T-kU#A_^R);%=mP-p4Q6O4(zDf#pIBJ; zZ{3^*HhhwPCAMvMoyLv%iq469Gvdn(NT2eQa%@`sJ&Sb+z$mqFR*k?#n%ORexcecA|q8wwIT;UdJJIXLL$<1UOQ=44@g z3aRo!ul32^%S@*z3b_216Gk-{t4>BepD%&NH|;YRn*7m!KNSIPeG1i1ZWhGthyrqfomCYfNq{Gy@vzw+NKKN@tZ|7r)ab zw!4WD;NyXgm$v!R5P!B+E^JkItxy;>w>G%@&9@niIcN6~yuqKWP@0jf&PT~uxbSax zIq*mZ-qJq`%~TMPij@5@;_;q0XbDxKj@Y`OK3qYY((ZEbX-!$ua=_=+TK(Msq$}XZ z!S1R~k}D*v7ngz@8y&=y*wHtY+{e>-tGIW1ka@K_P?95xQas*1crI$RCi3d6vY<&}o_)NsJ>zni)>I1WHQX)x;6=ky zUSNSl{7nY27bE$t(4j4qWb_CE*^M|oN;GLFYr|=-cP{I1?Jtl%(5g7OYKCT}r|V7_ z{<;?cf2}ZnFrL3iX+->~KU_0iLAzEfa}^1@8%*?;y?;vbbzHze zD=rjABVIBUMQMHPDs_A8-NFJOrA(UB!nCJQ+@}jN0K_5uit+6HBosJ3JJaxb{yW@x zxH@0eFSuVOtyvG+!rJIEo#*07qJir;7|Sd~-$vJnI(~q{owX4B%XxXpWnec3KGM0` zLH&;3Z(<4n?QpKvJAxF!EL$vGEV$Sy-obq`{g)TQR9&C^7Zx=Jxl{|7XnK$E<;MXb z`AQ$^%Ecz!FoB?w=Af*J9k9QgZgpS?%_KEv2MdMg{as)E##}wW_vB8|v`+i}!p3%$ zI$*`}7w7dFt|nIw>J2Rld@s`I)beRaJgvhR&IweX9Kb1bP8SiwBn9ufD|9l2 z^_(0}@{E7=TsJad)jPN41Sz{SEzlB%O^62ZMw5*62B+sDDU&&QY#AdO80?Ix4Oc3} zo|jHICETa^P|&`nzqFrHO>&e=eMSU0rje<`LXjZ*79gh~9yCB#V5a97yc!%<%Gh+Dq$TUi1qb`FO?>)QU@za;R5OuRs zv-vc{aI5<_9tKR%<0O1NFQ{XLY0w1}_!^6zy9OY=jA+*t&KfDRxU&=wzeS{SP-%3! zJW%s(e1xKkr7iyMUtSeW92Ind;(=$xWL+yOj9QtKK^QCElTb8Cww_Lh9)UMzUJV3b z_r%nEQk&gZd(V(xDb3$z5w_gnV=JVXXQtz`EMZjG*t_H?fbHdqtviJLCaaM%3ePlz zurh?r{bGGCB^yXsWYe%0H59~d9$$qvxLDaepEjD0e>>J2Qk;bE3>F#<@U45i8-5ng zb3InUFty?dSUP+28De{}Rk%7iAo`?o!23}6iD$K&R{~d?KZT_9Pv+>YR8IhCF)ir2 zZGc8-H<$k@fpbAiw|>*QG>G(c6Ku1|^c=(yO15+e**JX*U5jFp+d&)lkR*eW6cFp*dzE&|1PQGQsS%=%vcQKe8G*gVe)#Y>&?!A^IZ+$A;B5RDJvs(y!{2{ z>C6%S(D@YM2kjExr=lz}^zH{;s{;>JPRg-KwhZrZr#F)zv*FL6>=8G3Y*mWYCM+8v zeSa!IzeVlXaJ*3%59A)hdswAJ4|kWja;1X%bP?{dElB5N4F!&`%TVzo9Rq(cELxrV z6sr{8vXJB^+s)$7+w~DmTlIR-%@uJHw;bsS-kq|gx8%#YIb}ML7 zFl3lH6yyWO=X+hX0PS)25JYKixDr~8tukPQyn{_b7%dBiH*_hYcxIPYC%MG zjdFjtG@;NhZ8DubHDK&#^ihxHjvobFc}V|xVK(eD#?0LgMkEsLA2$%WO7M9WzLE1> zr(}P4Yg2g{E)MN;GcXa3FPM<4{N-)=Y7ps3Pcp%+v#paOMKr?@kBmaF@(mYHf$PuxTC|%yX-!H z6PC+nw7!zBlWW)*mkxEcIzz~4B)ENqbp}a>sSlqJNa}N&PyZI0}AS7E_a$Qwn+hGaYcm@b{5T8-6~OMtpMFVMtwG z)ObwRUf>eL*}9GidFV@y46h=a&j@XMLruNY?Y%OiNCeQE``U>P_*Hi!WNgdiUm_YIPfE7Hn>Gj_1NKos(GnOqUfR>>Xkp@-$M-yt@yR~CvjDKIyo5Rk)mJR9OEo9vicp zWg;%#RNC2|`GZo^>x8HH5bZ7*Arn<$?omd~N{i@9@Ra7$UCr@K5*Mra=)^gJC+}>| zR$xzWjZ@|4+G{Pc6;d|$%Z%yN#PQE2*cU5F0*%1w2ny`bS02Z`Nj9-_S=n8|q~<6I z4)Exf+`@So6E^??H%PV@Hzge3%=!65>TJz20O=X(RxNwsGu zyA0CA@&TNPC$5{j41YrX1Q3VXz?&<}&dT#dz`)OQ>{q%WTJFt z;(ECGh@8j}WwQN6u<81ki2q^M1EQIzIiB)Q|EqMk^e&E5h?b>_AKl4fPj4R=Sd&?e z78yQ7q-716*y#7C$C{P$q|m-GFqVTU-`MkGs6F(`aN!Y^3ApV`Md-~CPGJs!U;GZ+RQ1z`#&^5Rb1V3*zY$1c=vK zgxvCeWKsxz0O_ZaD{V>;AztBN52j-fdn=Q23%;%#eoF#!46%+3q?6j#g>Ig)93sL( zn&GQ^rCxmH{)Tv=cAdSKZTP1rqb1o;M3}0e>WZNl>6^}ao_m20@AqgLTyH0k72JES zqc_ZsMiuNsoR4OP9t#K>aH}A!H1+}MjZRN>J}tMXX`T>8)fG$B?11q4f(3i^96)d8F&D_fZDS ziE~9@gCXwWQU%B7EkPSfXswbXrHv}L_+WDQxE0o~T^HVb2$%Y~$uC}Y2Vdn|kV0YC z4q7^t2A#RvX`|7+=OhffRdB$P<$Tv2Jy*tvX-w#K$c<9uP<`F=?+Pv=F~m*vM5gP^ zb@n*7Y28l>kHr$kruB}qvCp}7CI{s8WMuf(b2QopLD!LscyoH%g3d~*D)WyHRpiz< zzEa(31=4IpL$zA}{6mk<*+jBf)A?Wz%=>|*s2rf+0?bmU4CwvyAH!4p6*3C>^Q~V) zb!k;(sCXJo4MD=U`Rh_U3kT&F%u-41?jSq20hQ9;ujRtu_FakE z;qKw8O9_QU7VzRgA$H*5onEHvIC@bNFCo?+SJGQJRg$x)B?rv?+2vrB7gwwaA_3Z- zd4$_|Tn_|+sh-4>{r*$0X)%qbZod}Y9}02PNr4$}e}6xgIE7}J;fod9x*7e14F90h zN_wB}Mv|tvj|1xfnSgj;GF>E1z!f8KM?X_$WfC-}%Hyf5qN=E=Jb&U`psv0DtZw@6 zmwlZA?7RQ&TWlVMhj=i&u&y;I{|xFPu!((^@>~Ha52Pl%$_ritB%{d7%YOmJ-MtIN z-O?Aj{eLh#um6xc9?jYp^cS@VB)C3Z6uF)G+}lh-TJq-u`7i->-k_HH2zDGBEJ@s( z5QNKVc}SQQ&}lg@byG~({-;H#)i9Cs@~X0?ChmE!R;ACNn(CwS_ku!F|FXmAc|?jk z0Aob*!#Ih|J-Rnb;diykHOdtb(D)US@x zD;DH(OqXFJQ!PWtG4pI{bh1Wl7r!g1ReK|Wbd|KBpq?#*lhgK%jU}-aL zS)7|MhzaV{Od2Sn+f?Vq1^$QoG0msKJuLpsf`UStC5^=*Po`zYOdnGZdRE zqS#{A*B7PrJGV07lVmlauECqC5Wwf9z6eMhyj#IwGQbOufBZSCzmqO7mt5YR!l0PD;WMAU*wKtU}?OF(PNjJLg%%f%$cE9GTeO~U{usbZ460ZxP>G)6WbpyE2Nf%pa=5H^|_Zjk@jikW| z(m;J9rEXSk;>{T=C-?+YKEgG=1+MNA&JDU{N>b=L>^kD>^xntkws?nvjjd7*rb4!G zLseD#4<%a;g=L!aE=)HHNk`$)Q`8YIqm?~8iH!_x#7)LIWWTqUI;DSf zLyFJN@V{F1fD{2y`zXjiz4f4oEF*ol)r0Vadzr!wW&Ks#3s0CT@Ap~u(zZ=QhThW3 z(Smmpv#tNSehkuQ$Xdg<*Z41@Jq>K63Ft8>rDf6y0o|%+jc4T^+~2`SG(oXBk1AS7 z4afWBPrBpV>q^QmpLIaV?9RwnLYLfp&b2Adx%xOPz_ywyObi6iI`(^eq zWoQVXolHeR?z992W{5dIL>68 z-neP6mGqO@*j~BaaF9GU4C^@@T@x``Me_GFk}u7wrB#4Yvt8`Q@G2loC60pMW{2Bk z`hedP0OeC%UqShPA$hz0E)s^vX?JJ-W}EH%VIlCKQ$4r^hrl~)nP0tk*3y3WAo27_ z1N?K=7xUXwxg|WWeW=6Y8Li8ui>!yjFUc(!n!|wY++h2HcQDn{KI!FK_Rs(x z9zazFVl!C$12loIMQDYLNki7IuGBF(;<+4dg!I~V z=j+Ps5&Y|$PpWo91wV3)OaEKCq_QH=0_!DO%!* z)y;bWDCZd{D=s^y*`ALRTm9S?;*BrWC@@!o>V=Lw=Shxl9zO5$oRbJ-5Ad=e8^3uk zD;V`@sns96DwfuKpKMKlnGBSF5mUClC1T`d(`V7y2%kK-R;}^?^GA<0arC2a0nIB6 z9sqlc%tejVdyxw5{lbnq4SBh>&2brE>gohG?dHy}-sw$w9^OAN?P$!~kGmTOMrf3_ z27(xrKRP5{ak^M1N*mj&w!8p!L6jvym4RCFE;cVySSsv#eCpw-d^nXwh4BDDBo0qpu(}as9Oyl42*>FE6r4o2b*cu(Xayg z-4XxzRQDL61v~gRoHje_(NsaBgO9hu-x`gXNGT+P{e(Y#`sA6WQrM+m?r8pM3JARI zXLyui8JQ$8g&^VLET%BNOBab>wBkKKcE>hivjQ0JiRV1OA zpxI%OOQqRd3Flq}9&bRSP4f@GCjT9FK#C7-|3D!x7iE3i9qY4|IJLA z!4f3s!eKGjg=Ep=OrWB27S|O84*JP;o1`E30DOGTkBD};R!^#RXb=m`i6nnu!Mp$% z$aY;)Hn!NET$$yo);dfjtZ4h|^heM8zp?xew;uf(HM}czs#DcVQ4pudbp3In#Jz?A zM$9N?Fznd=Q|4%q|2}bfG zNfe8&Fpg<#c?yJGr5z0Izy8-n5e9*;OOp|oK%~d)MwN|wtqRy{gvm{J^zi@UYn71q z$m3m&@GXv*Rck&~O1VDz&fRoYtDf!}xUe~`UdtYkbFR?6BB0uM`rbEGPi6&tbK1FU zO*>;_B_vWo`wGZyQyYBIKQ7l5fkNkqQRDY!aZ)USfrjYI663i| z2Cc8-e?<$$vFi^_gf?`d_+v-`Dh%dD3N2Q1F_44$CY3(H9yK4saE9T7pgSuoEB?_6 zN`10YzIpzFa)$X80`IH6rIU&N(ilwmq{yq}ovq^;__UE~(vey=XYHeWm)f~VpCj+@ z-5+Kn%S=B>e%xR%#`3xAECpp^8i1Px9kyP4d!V1PvgXR9+jq%kkBgHx42ga~s()ev zReKJOUNWjm;SWE*d()4aWc$VHT_s*;GoWUK!EaoU6%i3pT-617=j z#pKaCD>c|{Gy;7be<3-A>S{MXM+Vnjs;{k0Q5>Tac^ousEUA8)+Ft zcKBqXh!Mh~)AIS}gd|TF;$4rSlSyo2=*->Ux{9S`oVjh|au&f>dinx-SA#xYZyr;a z)wgNTVhYpic^h}ljcRIIzAusQE-m2DEb9jh<*~EHFt+z*kbor5(9n>=a%iY;Emgxt z@AvSf0WJqGd1f=;TN{Q>xO2VBAe-YQrp@E+*3|5hl1KnN$9a&55GM!xu>H#-+1{Yz zrl&WZMnVEY`4tQbU_BD_bn`8&q#>ABf(SiAcEY?GLbudo(-Ubr79@`tbaGVsd%n_R z)_`VCwS5u#6F`3%+O}%nUj*)L$Hb3W&s54LwJm!$yRP4G%_!8w3p4*IxJXLmc3y9P z=LZ+D7*2?o`Qhz)85$3!=y*;VF9&8GJhm*cK=KxGUCPqZ1r5sLV7+m5AlNn-SL#)( zW8LfW@e!SzgaZU?oKd&j1B1YwjA><&c;VK0*x~w^s*jZa9uyFw3|M4=)#cO_mquAM zd=qSPYzH?=o06!FW+|+GAKbk!l#9S4L`vm{?NHhiT4DBsMGGl{rsL!e@~%dIN|ZpF zEwMNm2Iw*F>wa?+V(ii>n44Qn10r;1Ao8BAM)ZeYECee5xgx|i65etQ#fWMOm&y_Z z{nc9)t>Z(FJpJdH*nkm@GXfh%s)&?#XX(Fow>hXn8OYamW+EkWQh0p<-q8Y(TfVb_ zh49y)!*rjc$YR?lF(W)tHnF%BC`%13N$%+r4xzN6pFf;oQYj>9>>VHEw5BCVJg8zD za9GQw-fBT`Py-4+Z)$gbbU}Q}LwDU9DxK)V1XW*OufXyVTg@pwW~Q-Et;s~FMcl5; zC7w|GX-tm$=~o8gDyeYJ#P6X&ygqs^Ey-+`b$2Bf@| zDgsB20y_$Z@W%{MnD|ig!-i{Tv4o|TkRy9n4f6jXJ+N#l8JD+8HqP8kFZ5NERfiY8 zx7QWDyJXag9o^%>rrn04Jed!H@l*bB*uHnMdPbBioW_5Gz36^e{|oGP{b=;dHnP~Z z(lKC5T5MmXwOjz#*0L?PdiWzqFaeudaDf)Q>=m=SB}YkiT3r9tGeH2F9C{{!I(a2@ z7y#DRQ`_uwRxEjW{rAc-?@5e)it3XrHjKA@yW^wVR9Y-1ya6^CZtmP!uZ-d=fst^# ziDFi*ZvTGdVvIja)*D_2PEvI1w;k-SJ0AVRU>nvqn7s{6D7s}L6L5=E3L}sLf|3$~ z*YhA!`P%-Kp|-<5qM~`zSHUVKhHZIgV0%1)kH>!5;kr-*D#C#lsX>^@=%3)H>)?CQ zmJyQHnp*j7j@X?wy9Vx@aWgyU$Z+~g3owby9pp4L5P*hY(J=ccxEGm_D{P#{5pM+X7JDauOLh_MGjyILRYoQ0 z@qk$gA+`O-L?-kHCSYu_jCdz(zi;^}aO1Q~JbhC{lXWY&^} ziUp)o*V|ML*R!mlo9n$9$y{-ZkH8ZVXB2usj`7v>wo_hMf9~hUz|>^#b;V-7KQ%;r zfLKRM@&u$TVEYpTaWJ1EPF5NZ()Td-Yz1>Sr^yqs8Pv&1mGb%Kz*x(y>CGjX=J7AR zh5&nzHMIu@Ums$=qxWWvnYx|=?tzsB-@9Kf@tVZugLfML@qing7M%j0B_f_@VTrN{2${U1w z%@gN-bt0Fjl;2qvab+V4oqzCUqITkbaYy%uMp`-| z5yBvb26wr?b_n1mb3-ldz;4BwSa*JZc5{Z(DpiOERXh@yH-Y7-I$UZ(oYwRR!PUO= z0M3@Mt)%~;7@3DkR9ial16$H3YW!p3yEu;43R(%l~r7%BU%!>+muPy_&5o z4vHM#NrHo5b#le@7e&P+Pc;B0^MRR#(#R=>IIQPQXeMCD016qDrTXRTwVWqHnHa%< zH}Re?Y(-n1K#oZa1&i%9@_FETR`DH*P}mO#Z4k8xGI2E+rW}0(aaxmICVv352)^@r6mJb4DWBtjK^?n)iqT0Kxe_P0p9(lw8bhPrb*H_4jXPEn9>;gNx zvLw+Tb2DFA{yW<}3_)WC)N#fmB^HM=lQ=k5IAlLvAJ%+*y+YkiGWbCGWMEoN;C&Vw z=5}4P6#FB(Apygq6;+_+P28beeR0lr-q-FZJc+j4^ZiT(41m815FNd&t$57gZvrDE z(c#}V{I!>NW~`0;*~TO0b^JjPXPn7Ir|e~lZ2Y(G(SNi+(4L1NS&xaMrIXStG?_+> zcp>4-C&-bar|0Cr0o+hj2eBqtf@#{XP=*r;#L3eHfNFf?4gDujSAdSEZoyg<#@=aR z+k9IrwFO;{q9gvbMxDi4EdoOL5dCJwp3U+vzQgpP*YRw-HZCz-hs*U!xW{LoZe%|$ zTnH=wDLQvk(^8U@kEu)F)AgRQ(DdU*kgwMFQa4ZqZ~c>q&J6J>gRw0Ap$G-$TkKbM zCvLrB_|;$YIDRXAx}@8GXBTB%d>aX}QJ&R6eJ?gYH4oI>cEM!-uE5}tPRtFc|6!v@ zQnETn(sFQ&2Y9wi1CNY$^B}3nnG zbp6J=w_rKD=uNSCA`als;J(WpljJ7s&MRMam?}3INdC18?}cKieoG0Ax)>+4mjX$N zs^1j_{6|8&Ql}1&;8G5Czq|Y&o0p5PPUlGFV{HT|#%*u$fzTXadRp7Ql#gM8P6#M+ z>`We#r5=x&9O2j);|n{N-q6A4=M^k>sp{+x+X#V3y;f6i>d24(^MYq9xrUhHboD3} zx$r4?)Wq|7iPEL~Js}p!%N#}aZy!GVCEAd`1-k1<6!o)d;FJR>(Fp@;*yqJJ2{b(t27U8`tPui%A6zE70v6`%a1Uy)j zEP13kxH9avN)7mty(fKWJP78&t&|Q(roFu(X%1ku15iBL25+Yn`(Ip9K{4|3xcQKY zpx14$>+xTXScZm$x*ey&Cp!N96>#RhRg%(lF{p8W*X+~Nd>rG|ECb|y&!hO)j_0gs z*-05(yeH|ZNxww%kmD3~m;S){r}?zr^NK;=c3oLSh~GZl6BIPApPa9um75SDm<(LvNP>rPj3F(L;L|ze+M{JvUaA)yw;Q?CK z-Jj;69+w~Lqu!g%>e$%$LioekTh66MqD_|XtsXgH((Ku_!>-@$@^LSb7ana z<&32#^BJ_a*Fh;C_Ui_(txKHRz5k+pxC#H+q%G%qgG*rNZP(Hg?Plb#{yH=4`x7Fr zy6lU;qCTpwH5Iep5rb|=KZHYb*4V?)l&mJVa63tRGQFC|g~1RD`8IeUxBd-b0%YiP zDIKNKfGHDj9Lr;W6`Zs?FOLvI7xm6_{ZUWyh~*)R+i*d==>G5}ibo!X09<&xnv0R8IPLQeQyAtBH&tc}ntAk_2d<9TVn`x!A9bOM~K*;RhbAD_i1G(b&T(!5Hl+Kn$_YX5Y!J1_FDw@GFO zF$QL)od!*mnJ4}dE`y>Gr2N*Ok^13sppKwbDHXPGmTSLYxgH#&$Yit0!@m206`9Cp zQlpXMadkd61^yd^0{X;!<)%c9B16Z1p2+GbvOZs&eoTPl0E~RX#>Q0QSu6)F`dAN# zwkQku31v(WcyLLu`=K_QN`Da9jo^-s9=1@#HIIbbl1}_y!;MGI#TOf5AaM+KZ<13X zh+2oXG98y+xcUd3CXfl|C^zitpjnl$2aTa#KtV~0iYQN@U;=eL@pOLCdQ^(i*6S;o zf+iY-WQ}<)M)YoNIcB`y2hIkgM$A=vJVoXg_5s+phPZcqHK!_e_Shiuw4OnyZM-18NvoNY0xh^+i!k9L9 zlbE{ot$BVd{i+YN*YPbvv`Q!eF6(@wGWLwMKGDf5JN<}Y*dH7t{@0&y;WmP zlztXtc?)Tm#uv1;Z?h?2|BDjG0mdNW(jf2^ygD6|3PLGr-lD}X92SNB4j%&eKQYAddf%HMN8hwF2J9$3r z|8ez}Q9*rQ)UI?lNQZQH2oll_B1o5XcekQ+NJw`o-QC@t(%s#CH^2XT-*LzN41+QB zoU`{@bItWkK5StSoz|VBC|I3C4kMiW@8)|}-|!<+jC`g?6WO3cc06@TtS7?H?e;To znl0U-iKNKel?xsYk9|cvj{$dej*E?lT&V<|1KhInMprwPH~?k(C%2HuSkGI(=-JyG zMu-)z&~j}$>u}@mT50`IOFGxPP1rVl?=K)o6dVd*#cZ5(VR3qdXh#wJhH**a}ph!)p=i4X>+^8d`gb$}uR z#3pdMkhl=4p%8X;r7ewfCH^YCxVv*P{SPzSxkd(HZq`v_`mAK|khy8q$W@ABpDC~J zxhopKa+TO^wL4@5lOND}Xi0t@Hz{AJgniHcESoB9dS{mVF9LY;u*C=XsgOq!h;H8f zFiRSDg6>G=+RK#%r0Y+#U8_af4I0t15Qwb&H0j#eiF~a>BtJ1Oj*=F4T#NoaKtMv) z$LXqYSy^W1*4#PF#HRov&#Rj?^nr!%h1}(EvAvQ-0Ay_T8kAEmxya!W+a!Yo8hHH* zyt?g~&_uhLK9>asX8P?7SHbP>S>4TMw3SdKF@Wyv5PT zJ3QhE<|JxjvA=)xsx6GwSdjgDMjYma^i#y^qSNZxp%aA|vpaXJ9Xpdx*<|7h>^&Hi zgOtvVUMlWHpWPq#uSMB@h0$A+8dgE+^+6528V#_~#@w=MU<1}#)Q7CoS%80kh*r$9 zY{NB^S)22UR94a*s`mXj!&29& zNSdgaxMs+aW+d?a)MNhIo~kJe0fF$xR&{#Cd82RT{(~#+p%4MM-KF05J*QIL3NVxH z*PGWaEMN!0UX%9yY8O?nb9*<^m7^ zCbUe)#E@&Hh~F&`s$5c-hx_Gq4$7MaZy?hej5dp>5<$2h9OC2Xr_{y}j)uGXrsCUB zPld?F_1};E7{s|Un*ZM|pM!{NR#1iT;s2M{YHFv8dXvtEP}y?Vr5rKer5K22;xr5S z%SHG(5pC`cX#9oazh!JaWO&PuKMJOp$7 zS8M`#3m)X;>zQm?kA3Z2Y9NBOncX|3n6ucp zBaC1%umU~DnV7(J{q|?fvZ#mMleb#btiau_Bp9WWKA)h4k#eLxkk$(^Lprh5oP4R@ zs3h$p8B0$2W}WX2^9$0a0M|=0XZ+xk683YgF`RA5QczBx8H~V^9Mo7atVl(A!ACj( zvYnclR{E8`qHth+NytabXAz!gwSa-+8x!6UjPTw1_ez~P#Q=CJQSX6S$D_;aH8|dY zGjiT)yGCfKXMS=-;jd2dcm$O%D}*V2R0d&l^&9`@58uhex*;X;)4d;-ArwCY$uOue%h-rT|-4Zn_ z<@`a<98XjRGc&1oXavn%e-SX~4r$a|S-vhra}oZ^8M$h*4rXAk|4vxiiUCsADW#jP zuPvLNju%poYYS-+0TK=a#kF! z@>(CaVSOC#6yMaX@$j5>O)8!a->gu^)}P%I)}K!>XjyMW@;pYJ8TMSX8KSM)@qrfv zY|fQgAH^dl+le=p@?fG?xKF>VuLvK3LD)Lvnyx<8nElR>*$4U2BJ=z_d}*X1or>>a zCGj~bG>vQ%f~gmD+rEV16S%a8JcyPif>CxsArmNW2bSO+0P+v$WPF`4emd@qZZ%kz z$o?I<4?p<(x7fTjGNRxry;F3cQh|B_bB9O0T4NJG6ylWY$6R$wz;kxAV!67~ zm+q(5bYTe_S24Exi)|@M`<@oh`>oUg5>qG0X1(LTW?}*#EOF0Ua|xs0!sCdqO;Q~| z^l=mXJ->Im8dh^(&y4dm-PziK_OfqLP^cAw%@-RqI=cSw{Bw*pty!ri z8gmwcgv5gzLwvhMenmMYwOx5KpL1D(5~Z{Q^Caa^n84v^w12*#JM_qnisfy zyo|Fa#)R9Fq9qZ|AJ>}yqS{k|GYE1Oi4~>^H$c+yX1gbeTq97y_#Z}1?`Dx+*7tVO zA|#K%fdO1trTiC&-Vc=VGPN2D1jO5mKG3OO@Yqp(1Yv~RQYJ$We6Az~HOmNUS^Dtf zUlNx)0hWY>AJ_3pm>F*}HD$=(pj^VVD`g>FUlb-Y0MTiiC=6c!z01E>8K{24q+u&x z6uM5Vws{i~Lx`v`gYt62p%;I6{}mTv(M(L~HE1xJK~@sY~AcOdX6SPb}yLWCz9^z$&BK`_!MD`H`FRLmew*2Z&ZbmPP8n(h~{j_h`N z42M7F`_U`;|F9u*%4yEP2lXpHxfkk&e{7#TC@;lpqW^XI!0v_Orqb!|GiVhUc3Ko9 z6cjzKlgBIs=r9eIUr6%W-QR?EN5}rL1^)P1nIMTL=YWrHyO&Fe`89&a*C5lGJwPui z>0<&jnAHS!LVWMrr4#x(*M(HJ;}m`pp9`Ox99IGE(Lc+LC>nA7BO`(~K3LAMU|m95 z<2Ceibn2cafWGN z*_3e*@H3E-g;#uF^goY^oDWe$2IkbszHXuISMfVapIxuH;mHeciD(YMY+5mTd&n^7gM!gZaH}*>km{kr2 z5e&^YvzfeoC!1M^W+Z8L??WxhifwSz6E_Ldn-xSQ9r93~JCLAc=(cm^irLkk_nLd) zs_PjzNzHvjDIcGpR;UyIcoPqDG$(fq0Issnx^>1eKYehav?-MgIP`loIBsv3BJXYr zUle4B!lGhQJ2@2jJ4tPCDL@iIM&IMmC9*|i| z{@{xiPE#}1B}h*iBkX1VqD4m~9*eipnb4|RJ-b(LXn;1oT8`c4C7?J`J|m5#L;yKo zWI>?S4oq}wzXBzr-=Fab)7!t=_kpIgB>eA=2R+HrWl@NO#W1~a(Tsabh+j1lX(sjG z#)-Lu@#p=f=}y;n|1Bk|{1Xn!yX8+pzQ%U1xV z^M^e?0wsNq72T#vAC7i?)?zbupxtNDF7iDY1vpuHo=;hfU7U6+-_Bd6uU~k8p0IZ~ zrwiqO(#ZjTzXr~Kr7=O5<+ymllZ~^Qk2B(ZU(2EsXEMU;$Vo9AHsY9eqoe#; zs=RmFEP+oLeRs)%DAZM9?HH|fW7t>wqlC>zHJDEwE0v8*SIGi0|ju>Gn+S(bZ*#OHs>T32Bj1kZ%Ep3VoEX`ZA@(%AGl>?Wi@VQd5Rtmv^1S}Lz#-H zvUcq{QenLCHDOL@fwrDpfpK`Z7@qQ#Z@jVwzk`Tck?2|?#Ec(y9jEMwE@T2pPkZ%#B zhAJrm zNk-qH*(cH-a9d|LWg&WMdhy=AiQ6vj#m!bO6$CW{lU5DTmNuOD=+2LS?6cX1X9(xd zDk*vVV$rK3X`L0f3=Nl5c>fbwdFjb=k}zSc90{sY^K9xICRR-aNUs3Ig>v2gU!`|z zyu)pCC{Wg3kx>WdJ73SFf@_h2hjaXtaP>EHhue@kwKCxI@$z5~6i5AYb!nZ+rF0nn z6tS{;-J(Naa(aBp&SawR+Uaeb?cyhoFG!QK>D<5CiM1SGczhi$ho>8?_M5UU2F6s*O2TP-+^O!yp z^+e*QS6zQTe4FNb#HR3JOXb*OpSs3oMP_zHCuYXSJ0-y|-%^(0t^Zqp=6a#$YCf#E zs+ztmLb_G+CK2q8?qzilgflC6SCQ93`&m5Y}$geNbR<6Swt$LQ^y~HBlp{ko~ zU&SuVTu{pO%^l8Pcgec5hPu$umU735js1Z^*!B=ym+5!>B&e9wS~$vSbN-qi_S*q#P4!#9=4kq zgp$WyzpKoSXQe$VB#E-tjURe_vej{Q6+*LGj-PP{kmA86A!rSIA_!zdn11qFy4XorJa~w60q%Ld zK7}O%>ezgebOe|G7vqOpqaBAZYKj-v1))TzaY{|2*&mx1_f3y{PinfpJI*efC#x0Z zre{-?ia#Cjsr~JQ_k>nn!T?Z3KtRC2m&Tt;Hh$Hiu`B`0wO8D5U7W%!{z0I1_%^(x zmb3LEynbyLOHWsbL^eb?4m4A=P|K%GbYHh|ci&>87YK1NEb*xIbptV_9N8BRy!Qr} zOdl@cz4MGUwpUBSi;|x7YPN=R>*{_K6%Fx`e{JMGy4`G6l#&l-S~Rw9*mPNoxe;8; z`(R^m5x1MENJ!x}GI#J#O2}TW*&Y50mT6~^KUR6<7^nQPB9z5&_g5xA-yXKuf zdMekSF2e!s)DO3sL_DSpR6x^RBpJbL(*HU*(|!{v_9O0I+MO zUn>YL{7GAo043ct`B21?Br8UPl#|J^#R&LXc3(JH`7s6KNg|@8lyDI6*v(YHg+wE;6{Ba7n@OH6K zj2JVHHNFbP5AiNLD8lccZg<>t{3X^Ygs8e}WEc+5+W>15BO4*9)mXX4cP| z{61URN&zRiy)A(`_4epy#eiOqv~p*dnt>yfN6#Y$ZRPnFSjzdiuU+Wa0Ec)o7l5FO#cSkpCMA|EP;+7ZM?`T?X}l zqQ5!65zT;lF95xWBNg4%u~m3y_^kKJkJcfA7C+R!oXyIqMPk*rv*or?;HNx|3R1=O zbyK5iGV>bgyc<+ya5heynD{KFWYkw@iRU_uRkc6IA>xM#{Y^F1gY7tp29N!iK#c99 zxw(02im{K+I&5ltxAKq!+J~&B z>9+aam{=0TO$}u;hvh9C^{m z-kblgtB5dz-V!{u6O4}iJ{GaA!cgc_^wGYwzm2plN|yNT!7;!GLGb z6^8A~y0Os}x8NVsr;CrK*k4^(LzbN&KOtyCr_2sLDVviQ`2TMr5(JWY!OeMVeSlg* zIK`63mqp3pttChxY&Ip32U*BtlUXq!Y(ex@JHB+@Z^6+Fw)49?tz^vswpw%4(TDQC zP0+Oq@-i}=?^J-)m#Co;`#X-kRUhpF>H1f)MSk^k0AuG!fy4C&oTz{LtRT!qiH1KJ z1QHxvvAaGrUYZMhGcXmbtZg3NJ$5zZqIIufg#GaJPcEm-f&s38`|KD8%Pc)AWI6*4 z#fVU=D!=1-H)3aaQD9Br0+@j-#RmX(#?h`D(g4#O9s zoZ9)v@3!LUCG@ZYD%oL^FN^QK`{gCV{NlaXX5AlBlD1XDq^j9IG6d6gr~Ns)y(3ao zBMn$#B>NxdSWjm^aj)*Z7zY>L&~`MgoaDcr?d;e4u-!BOt;c?CA%k>2AIF26K8kBE zAfwvSAEv^QxMv<4`-M_v#h@HG+ve5T(p9|Q9x-x>td<1}@a}A9;)S93ZimBC+&o|C zULP*Rd?HQiIIOQs_9mo``KypHE{SQD@8ULoO5`U_W&F6YW@?D|KsV?hW%m~PTU8Y& zXaKjwJ#RNIOcP#~w5pES-!!*}6&Az_XsMFR0(?$DSXfxjw!Fa1FJoX){zhi@{-I~5 zY@QHR*&4jj8nf~y|14{}u**OG&lo{vjtu!MhEeMBhNClX2QvH9k9ylrKMDf+ikU4- zeVQxo?=tp#<=e~%T&bzEQ}tgWv0;@c>Sn0n#F2k1{pgyW9#n(md83!zv~!Zw98Zss z{eO_%lKj*$2;mZ)Vb*urQ;l$R5~A78Zx5Gc%Lj?oB2w+XmvlZxJ1As}4qaXUR$IfR zlDqGDaHD(|f?4W&j#I1S$hK!5{z22_m}#~1#cSn}xR82R(9AS+)OvCx2~(++&54g# zV}2e0y}-=y1O4E<(h(*0r!ETs|JE&yq(=q}-p|U)e~XI9Y*!+yq>qN52d?B+Zi&1# z70GBWD3LYAyDp#$q}cHH=J^;m^U3s2d|~(e11QY)`Sf6fJA+!~*OO6~)KhDdB)9oH zrdaX=V7>j*ou#8+sgj(0|B`-drw|*yFIlT9(^PNtpr)eA1vtR2FSsAyJ}sW!EM%2% z;34y0uNtPf445xovd7JSYC=s(<*WoXwhtg959SmPfY?gXp(U zn6dx+djGb^qZ4H%jo{8bN(u^!On#HIGVmES39?9tI>05>mJ0Z7vYs!Tw4Oy0K1WT} zpy7Te%izd+cc0p4V1@N|eOL%^w5>Hw$_;M>QxvE;_u4RG3>@+hzPGil#g{SJGArbB zi0~)0x(PzCjT!YW{aPlz+x;o&{uJ}VYI+t@cfha{=_Df~b6a@pi@k6?R(fRq_|)RK z>uRB(ZC!0km@KOiXKXT*(q2?wiRZrEm(aRWjQ|Zfq{k_g*>Lvh!_Y1+ZT7pfbMa#C z>{MAy`vtInZ(%_X+L-u3K>ybFTy6@o)=-`R!vusSESQ5>qB(puf!az)HDd(Lqj9Xd zzLT3kYKXbY1uk6(v+2LM)(#KlzP$vmVClNS|M;RNH8x8gb&VOH;ZOpF%JgFZ2wj4x zDY)U7`$I_Ok;JM9wwkUtd1fks(h1b64>phXuN|dD-vy-WZ*@wqVMS~M`Wc{cg5H<$~Kx~;}V%H|Fy3x`5h5_Piz^#EqU~={B=dt>bML}rm zGN&e)NAC{h{vZqlV|_y}5Et=B87~z_MaP~J4;##SSF-!=%mLnF zEsd=&ABtj1CMsC%0RnPtT-;|$tL+jVJsa+L^WWJafuz0(C%(@lex-Td-R`F8y_1Uk z@*%}v^Ife~i!_CezZh@8Bukw(tlH5spUb!5$XiwNYI}h`XlhF3^XJbZ%%Z~Rn3yn~ zAUoEqN|T!@xxFlyCxfTQC9?9YbmbRi_cw1^(7>j+|4R(Y>I0*7EW{gl1Y>pfdTlpt4iDnoe^6Jbq(5gziptyBIhInid|PcEDG0hhBZn86;#Z9ZXD@jc?My!dtV~}^ z9FtabQj+FT%BKNnN*2$-i#er=1i#JpwKFA^t&WLunxm0cCTdWpftIXR*FBU+*CShj zq;fUG%u*TgFJE_gRiVhdtBtQ8d48xvBwYD7LycXhHB{(Z;~o~a8#)Z|Cb=JM)z&?2 zFNm(p>OYsYKY5&W(v&(ntPp8aY1zkbQOH8%_{IC>L-wDDU8<7Zr(pDEIx3hxr+lcD ze%g=4S}l_OTz@@+JVL}zP%II-WF!_%2?Vm_Cr?((WIk;2A?sn)cP>2BBeR0TWlz5M}H ztvxEeC(e~F?KheH@x$`H*Ti?Xsga3~yGF0Mp@MD~Q2%Po30*&M-M!r)931#FGU~>t znDLp{sjp&j)jJQ&b7Yj2&fi#|UQn!2{&2xAx23*9QWh43XTXxL8Z5RcY)ZRYJ39Pm zKO{bAnNZ{sAtpnpj_ZXsxUZp?wpj9q6Yl>lI{$n`hdy-q0O|+(VejHjMW-* zQ>R9-*9K0*Ax0VTn)A8<+qO+@GOj6O-j}5CW$XP>(T&r4x7)^f6?dA#ZK6LfGSjnN%`WLLC_inWBIe|&5$RLbx5WE0^7(k7BRp%#ED&H|gxHeEEgG51;yavIxF) zWzBNX*HU0LY)!PN!cVN!(A!j^5b}IdQWDn0T68P7>&{`=O<726B&`FQ{OUduwZmE0 zIEMcMgexyeF-ht>hcXRJ0jX%x)b@Z+N7N~2JB-Y?3oBVRvgl6m1WeJp6tv3$6td)> z+n_#rAbkVMjO?pkx>^Imm*Q&HtrPpTE9^LIyj%Oquy zF#dQ2H|ML*@-xlr-$G+0O)FVu`^7)XNt79tbJuOht*fht2BXzv*YsW!dF>)RK`Z!X z&&$Uc<)%ZxWcJqqnIWn^KKJCP0Xl?TyO-y1`Ke&oT zj@R#j{!>dM7--B0+PDYO*3rtqQOf{E2pILhqF;!(;J<$a5+wNhpxo%( zGFUq%zd{G#U2V1K>(khvHh zL7cu{{J$Lr4VN-M$bA2qnI6$z8wM6*Wp@OyrOVeV({yGbD`!F|WmTX< z3LFLNL0to|SwZcD#x5pH=(d1|{OTpoq)49P@jG5>m;|e;swJw&gZ{jnNc>+89o5Jo zNLtgw#i@)4KN!s9lJ}E$r!76!xf2T6Ecg6bj97G;(7)6~K~0au*SY{}GI(LIX`WlW z$4@)WMn+xfp{yhUsQ3eZg5Gu4-|a7VC+G}PGr082jI+mQIQ}q)LO0=1p&t*f4( zhc{yJ!mQ9*CimJ`woZ*^6Rz4NZ^Fi#!wB`~CB>C;gDXT`-)AaVG{O3Q@5tZt7p6SB zAuw}#>TgRRiLB9whL#0eiOtRCV0R97z%WjsN zoeti53Rd2~S9fE*Tr?>Eq@mHjzOKW_xExF?S{s|WnTHH^4Ju}<(}*K*+;Wn<$T(aN z4UXCkNcf*91vSe95KDPD^#whbtxQIf!&R|($()z#))w97-QTEJdS-EPGKHnAoa~(W z>IQZj1*w;CmpA?yQ z;x4`8y!-)yygwgK-kcWcliL3iOTuBPdnaRZ`Y;~r{%XD1lw|YgO zk1|%hYe0m?23rdKMu^@4Tm&d;x*k+K+MZB+)&@fTS@m%KX5n-Rla5jdSW^pCHl3cf zO}&8a5cKyYQPY;T3-#z9TYVuYaRFp%uMwgY8nJ<3}kiSsY}epj{_Y!$sslpMUV zx_%4&D2RAIyIw>K8+-7H@qt6>{`z=OIg(%eK(&~V$#bTza(A*2&2`Zeu28iUkqH+X z#iWvs9P%TpLHoV9(0Jwp0^5!0QdYXi)fbg@VQle`(BBWe%ul2Gt3lGQ4GQ^wSGx|O z2G>KY)nKx$y*+}4Mq+^!h@hL`gbqJ{zvwNM61q;SwcOUQ+Aa7N!_xigWzocHM`}|m z19B^_nMgc=IGh}BV2Z^-SH1Z;a{DApMj3s|ZJWLqo(4kp4Yfi_U%{6`0=g0)Zcn^l zs~mz6hW{ClJaYW=Ry6i6XE>1JL6*aw1lG=$%g)ry5o;jI7~iAd_R-3)>j&hgxWSg;M(mL<1fQA=6%t;UYJSf(x7+fb@aPV+xU{&1*v z{V?&T9ULswi;{j!3pIArC~D%24D|FJCpQ!sU)8Uvs@Prgfa`T){blX^EYMN?R_Y<=NVzF`N8spN0Qf^Q(-tW}i%JK9Q?*LLG$}t9m6S zCdthSONPOkhlegFV)#sugst^ybKhq_ztL}u_h+#uCAHdrp8Ul#Z*)l~eG>ayTc4vo z7JL0|x2p!*fZ5}C7k(9tgW9fJ&Wo2f$p-YKVwd%_bWEAzg#i~6-oOa==(*qPb+IH?!Hw&4M{5U>KAuf?K)R9@$n*EIu>g!4&# z$3+M3tNbAO>dmX}q5WGXVatZNmo?|68d?mEqI;jvEze?Ke2z{$c_hH^v6f{p$i{dVj`GHPq)m=lsq-K-vTc7S4urC z`JxJ2T&-3_@ZxHl_V2QzJFWb!cSniuALuhDT<|LxFKou$0gDb^{ zT$7hu@u)j3*Nge}>P_7E-m0aJ=!#!bZ|&kmv0ysjC1W$%6aK-DYzxhBMbgJ9;f#D4O0*-ET^8GiO3AgiL31{eLR3qwZ)Fl=m` z{fdiIEiI%4a3Uu@`^LqgWFZEdZ=c5S331>csCC{4e|v(fuvycQ58qbZ z#u__1xnJf?Dt{LQCbf2;nK=hBx}WVb$eiT91)W6pZe#+tk#P3bkMVeLp{z(rm-cHh zgg}7Hq^)8lzruL-#H|S@MevqcBIWkY%5V#DerNFXzf&VfoUJt4_q+w=zf$|R%i%~2 z7kBLurn&Ht7ww;%Qv|m~p4IijD1#3d%YJON`i`_O5rUH!$n2lGzNZVi`CZs}<0Lmf zUx>Sp>-yYnDrM|pAgM%HKl-#fFu67!Y|wPv*7NX3*xI7 zl-Jq}6{DS0v060xU-DR9bJ~u)c|N!Qr*oVc7XsZN@*y3u!>_8z12Wib7ZCcaA-6Yz zAs|bRqHxeFoF0|rj3~8S{`HTjs3g7i8DGD?15F9Q1m0Km85r3}DxA!vF^1yD4~i=( zVSpWwl7|?i3dh)e&y>)rvXYjOLG&?-!+pzY`$D4nmiXgaXrQ2* z&sP`&rQ)&*Ti5GW;r{BdXLELWV-zL|i$M91+Qw(o>Dk3tsETjPF$1T{iIuK%B`WhM zD<(P`xEPFgMy%!c4-Vaz_XJ~H38F%Ik?fV(f660A^?!+!H;RM*^?Q|oY=apvd_0bICFXp!RO=(6|lA*=bd zIlYvq0sHWfu(Gh*VI%NKn?H{C;})V^U#`fq6^Or&?qvV@Lo2fQMm&g_o<1ZY_RWAG z9Sci75Ey_m0b@9_`8&|ISF4^>BgBbHBHLt4@cL$=+0r#2g&m@q3ahw1fXwXl-i!Zk zXhYj^g9~Fl1Lv0Klq%%C)YZ$&oAftp>1ELqm?bS|7HJ;WbU>o-&#NiZ(pBnDYxX=i zv;?`|Ilha%|H8E}muDuLP|T|N;uO+5F6k8Q^mhV+P68MQiRS9l_LS4~_b%zcPubbo z0YY{yAI-MnJ^T~~obxua6_ZCdB`R!r{=EBMVtn1swI|+Gsh$*(3isIUP9Zmld%CLC z<5+t{aPDev^y?PGh3njlU@v|e(Hxw$R_~RsUFll(c8)YZeb{hmq+?)^%${@{8D;^~ z&;tsvNL#EbISXOxFfO!`r&B9@D0qr%S>xs3pCA)|-HAbk5lQ2r+xv;|znK#{)HCeh zG<8DYxjGWkpK&wbA2O@{XVOYjp;?R&>c57(`zvHY3ARGcCSAF1HDb2^$deviX`qw= zmUs|>b)MDi^|UXf-gpYR{8etfM@T>PdQTeYC)^f3J!&~x zF$C|aOJeBR?y%+@Gp%5qR;ufZ74n`&<;535T>TL$C@rYoy|46m5TOlk9~Tbd8M@&O z59xQGznmD;!halwFl7If{DVSz6zmrIk*%;Z?z{YBSd+p#>{iRQ;c~=e-_lpft4)}}kf!Fn+PX{Q ze|OD?J##w#C*RsJW(IpU4qsD2kQ5oFzI}1`i!zF6fy{|OV1XeHpV{VQRjji(rZJP|yrvzePU;q#Z zoXT>~yHM0PHV-l0xD_Ivs^W0g$;+DHI^|Wt4o-ofKxk1KuM$kKAJ?CX#@}}@pG-c$ zIgN5X!(bbg9FtN-__-}~Qw{cnO4?vxR_L^+S8od8h#)7YD23s~E$G9u5AUqDmxA`) zDt#eQ(Na@*QIQ}bT zo`Viztt{rRw~V}zMqW-1G&uQPJb3P1c++_c$R}Z;Sn!gM*f-q?Rp&#^ z#>owT&+>PFj04|9-pHn_WcRbE#=V6~Ei?DP5&Xr6b+eW`JF3C$qmG>F^(Z0~8_Q4W zB#WLGUyS}u!n+MbZJ{EdoKLx+L1r#;|Gj5~jE>Y9;b$*4k+>ZCtISP6M-2sPwv7ua z%e@pE8X5tVz|qly@BSbQea%iKa~8_{o4;^LXe8lOb6<=stjG|nWHy?;fsJl`Cg@C)AAFIE$MafKMog6BoSaPk*;)AY8+Ybn54?!7N$ z3~A~R%#Lmw7=exaZzwAT>~e&zdQWK%WG&vr=;FF}`t+e{n`c8%uD?>}$2OM;-WF?z z(#n8i3v?Xdp8?QSU=)WI{5>N`>OW}~{Y*oAdCb8N9;|{tuI$WVC zx}xQIT!&Mf2}PIqd{Ma^f>gdMA`MkSSm@*q{^Fg$j_bsyA+ST(a4AGVo$t8ZWE*9S zP{>t1UO|6FAwzzFJ8Zgs8!T_JQ`&^$MEo8A(432OP6aG+y%cY-dd5Jxr+&N92x3dX zWCBoPD>Z`2)*R~R%4?`^3Ka4w0LhH=tAsce0k|_jb;MUAn5Yc5{7qHavE}r>@RxDa zkZS6BgDD2|x1kx{SEYnfx;KSE19UTd3pHF!>v9zdZcnTuEk5d>|4r;AKRt4xQ1R~| zO-KHVr2$nN{sO|e{MG#qq1gjr>}gi^C!*-_<@694Ik4LK-?EK;adD@)t1AewYrk|*VZC~R;oym%k~1TBf5Q_>AwEG z2cep36!84cqr;oUD_y@?T9r#5%xv4+{~S|fOZRToqP3?Pe;ub0k}M|N9EyRv7_*+8 zZZf6w+jY#~;68jGCc*iQHN`*8>oGdM^8QM6w#|N0(<))XxkpReueIt|<%8=M_&EB@ z66!4Hg5OB(X%LkepYHp<37+g(=m^z_2^lPboZzBQw1`fTBk)vA4`MJ|1K>Qq$UTr5#dtGi;# z{zyhyc!ZGw0c;yqP+JM0Eq4~$whSykc|zP;{8LMDy>{n+>YB`%GY~q4aMkE|@Hh+M zXRcdges+E#PH~x7m8h-O*BBOq0`qu+aNrTCB0%Ycy@Apn58(>B3X;=Jj~ADH%Vy!W zKJG_39yp^f9tYW%g(iKOIgXEMgBE*|(H+;WbMrz9<{AR%D`)C8UK+dgsJFPMzMKN- z;+CtftK!&EJi81tP_r0M3CBwn(JxK6t`a)eWT_shQ~D3hfeJ=@C(85nzDm^}=iY;1 zMCJSt=qD1Nt{9M8H`8D{Z*8>sQi0Yb0um8{pMQ|a1gTSzRKZ=GH}qL^O5e@;H-X7; z^0d*nvDBFudo`iAQT}!p=PULu#6c2;okuQ#DU0P|jGvT(1876)v~4D=ta+W=jzHlW zGH@o*8$q0%#$l{sGFze(m?=q5Mn-9uZ&IGvXSGxn926L&e>?mTEYDwwl|H7n!Z=}6 z<>(vc?0<6hx}=|r@W+)F+yJ=Rb`b9F?%}wv;nBi(O6v}MY!=mWyKlAXKKQE+&I>f0 zj!b;1(=L(dlpHtnzvV0#}7gWAivG%{aPv6tEBe zf(bCu6SH)j=`QzX z5>1z%e-Jm`Olz!=bNIXFKiBpjXHWJx_grLh?Dx5`7Fo1^^M9;gWsykJFkXoJ^^1_G3OOY1_p`xwpWg}^S0_TU3W^hoMBgMz4;u@@8T7A27-0pBZCKz5 zG*biv-sXpAwPt+n%AGyGtyDBvY=T`$^Jcy53cC3!XO1)bK)X_dRh(-hr8FL&@sala zqp3xcK9p1z>G*6JQk9^WpirszCBAa&9i2fvPWP1)mkgf5pZI*zXB-}q3F-}!8701NgXqWVb?OFR=g}i%1rWxE0e%IoS*?#o59;gue zvL~qPb~H?VbTDx)^L(~CsqMTrzv%w-8xMJ0l<%8b77E4oOzELQAOYjwLs;z-1JiJbEXJH8qoiUSl=AaC+Cy6 zhtycdN=wVeF|GYIO%Lfi!$)ej44FL$ryK4lZv#7~AnEfR1dDFU@|%YNY_%$hY^vH( zI;TT>@<}1@5MoPQeO3*OC+E(2iBR>7tO;}(W{X4;-i>jK16?)HPe2RHN(=jFXNnkW zpl)$~5sIXjL|U6|v!j&$4AX(PH<1e97i-a(N& zKZ_WHYP;F1c*p%82e`3A!GzX)vT)6+0gqC$Y(i?LAWG*gurW6Z-vopSBaQ^o4eRCo`Md(iSbPnmj0G z*+tGl!~e#WZ`ySpo953}VayA$=5HQMv4Sbbsk2hB8LIR8Z#N350laJybhyO#EM zHd%z7_@IwW|HcvO{vWR1I;hI;|KbH{rMp2IX_4**C8Rr~y9Ferk(BP1 z?vM`YZt0Rdba&p(=li=ecP=yMKj(}v``LRx>%G=%4PoLUrcR-7lH3rTXv1uQ4vmr9 z#Eh|4*OehTpLSqA%nk8{`-Z-aDtFbEaW|sCsNI@@N7kAuf4G=4L4Z-~4qQgYKYAEu z*U`jZ&*v)e{a7q-gRLp*dVJ5>_*Vg->w(M43kM+e$y-^RxieOQKY2{(4(QSzG3^PD zI8%a1?fKswy)NDOLH3MfD#v&A*laB(5Gjxne$IVd!loi$&CK8+KI$wJ?^*uaso;lV z_RrKvKm@JTf@!o-2y4CXKXtmE9^ z-d-Mm3~57ZMcM}zGM2T(sKjnv7D8S4+O6bcJMhpyPE$6}V=n@>r~qzrxF;0P9~7vf z5z1Rw;xp-|*){q50GX=kk}d4gV}N15C~D_$b=a+Y)i1!&0w^R&x&bPQ?;X&-DhjR z!aIZqIXh)<@xoM8AAR!zJAeZP$N65F!40(*D%d(HV^ zje|@1$!!WQ>8*4@)%XHR)z)|RJ;(G8=~d-16q1Ssuz&!wv!z8RJ-iqbD~9R|yIJn+ z^zp&riUTrKiK!RPxz|+j{GbX)$#hCuBqytx2)=-*9hD)7+;f65A zzGH|k1 zQ$9QK)GXy3RW%x=KT%TzJQ{N<*NU1Z)Vv~5R3X`3+CT=f6S~4B-aPYph<)L!6P35U zmdmm=uOY8yTyu@5a3}G+@1h8*YfWafvh6+?Gla-&~F&wDE-(#bURXn3FVf18SxC)dyZmUZan)>`HJV!mFG_ zW_^s_DFRW8lGi25l1S`?K0C?Z>oLm&tL!~uu!S#Xe1*7rmt_l&OC%{4Ghmi za3nJB3|P4?9iQA2cU|z))^3n$si}KEA)Uh&*LBs$HT`Eo z6={@uhDYF<88SkgeM>4=S*STg`yY;FXEP_<4{2X}{LA2`vg4#XFH+Md$Tt@|z0s4f z<6Z+L_?cOjCjw)F64lK{DYEtMr&ci=INDg`y+!{-p_{aiQX{{Cqyj7^fV+geHy%19 zzbDr2!sOuQ6%r#`JRmF*=x?WPyI#=3^g?x4&-CEP-{0Cw)EUi!_II;BGdh^Br!~}N zoW)kere|hG-5TM;C6NTzw%$XRJ`$zrL#%mat@ei5^X@9fhf}Ygluqbm6}EEm+XW`3 zcGU;EFS;6dIXCH_E7^Y>9jqRnB*?4=o^kh9QZeFag-BJK94gBJW+^eO|dR zIwc0HS1DMLZnPu$&kpx~xj4opyy~o7$UjDi`MOc{!jE8kw(26AGRt-M_+0!;+y9`- zTMabal{F~o=Uc}K4bcQrGm;0WpWQ>kr{oRoM0Cw! zHeG2qBhQ*YMpIXv`Y9qd3~jvgS#8%VqST0Zbrzyf`I+O% zs|dVIKGE=-rHC`{&Yli8ohIr$>Ls^pua=Wh+K1K6MAZ4VCyP7hBlnZ+@%>Mud{GsG zAoG>kkXdK5U^uWBNnOLf9Zp=z)*M?HVq!NOXiQ0^UNhV}WyY827Jlm_V%c&+#>TwjG{ci#ax} zv!%aC0d&U`CvruPXwK&-rB!jfRywt5Y^ zBjVR1@v!*NNC!Zg1NZSa-I4p^Yh7uSq}uQVY^BK>q{O-?=X%qV47#1PkAHc}V?2R| zjp~Z=B>b3DOOBZKt@HUyP3_A7MK<#c7Qw|fggdgD(a8Yfp0DuDFK?#$W7BRmY>rrJGXf}WIisOqU+9D;7-Ige} z!wJkf9zwP$vkv1|mLk;xo`tHu&qC7n+I)nJc{!7a|F3bj0o0G>PFW_`JE6^@9pO2V zcFx~6pN6ipMf{MntT)J8Aa3>A+H6E^rTSfvXJ* z+}KCCdn*(&j_JN#y-PfxMR~0>jAgB7K*3?V=+dLE7M{UOe>&otwxSPG#*hJ`6~}5D zbgsunX1ni&$r;%F6=zoi>6^WM)zF>IBZ`pFc&Yd1U>a`kQs{^JGTGsyk{tAl{H znZtEb?0#k;1!66!2Tr36U*Ft@G$ZaC1^x@zU5j1Mi(M(8+)gL|oSNh40c~k2Dgn#3 zea4|)lYJ9^{?koOZIBwiaFW@7(36H2;XYeViJ@BipFQ@iABPqbZVds*7pZCc#6iVx zgK(a*s%lT9*ST1>cmW{<^{-SatHoT_3`V(#iy zRtz0iPMY&zF&V@6`w+W)Q6pKHy1rBC?Yfr;jiD$yETbBOp5o>#Q%eCTdE)Q8gYXs zcX8x(cu-3~?;6W;+MXo3K3 zKm0(}Vn_hw{z^wdvc3E~gTc@g5o&ec?yA(Sn2!eiwe6S^_UHBoymPiTnO zX_tE`+6ueU#z3A7`y$+e>obyybIPm7l@xyVjZ9qEp|Xfsmws3^TIT$CUr>P3$=UKk z?V`7~5LHKH+@Q|&PufJIUa;+=?5EDr8FA3sSJD2Mf&@`0q(tSsbSqt~jBJ-{ibJu& zHT+~Hqqa|&xLhy(risvO^#?Yh0xa(gm_=_G=+oK6GP9IZm7(ZX+S5lEOsl{3$o}`f z_C7i}Sw>B5#(@d-6}U};C&q^F8j{1en!o>N4P%|04ssjYr$5wK-xe-!2Ml-o`A&hL z(^|2|i*Eg&92GMvJkm_2ch0xxNoX#d#aGvQiT3ExV#-%}R&pv1-n6}yM9Pf38z?!hBXr>=U zn8%M%yMxRbAn929YG=fyHb}4G)A>GPExgst+w?Nst-|%}KC<=TOdnuN{`-)m$93-G z9qn~HWU;zM75b(QYVe?)L-?8ILMW=AjJhfSuT1XH$P&H8?YM}KmB45$kVt-&R5$sm zW5_LG6v6J1$4Ek5bqSJbA9Hx)%$p8o9FtR16T6X5U!XJ-zO5(Iy6rU<6q5Xsm3&E8 zM5v8%D9Cmh)OI_otu|Q08~%wRNBr6yK-p8a>(~hVy;5Mv*}228<8`K)WOFrs_kC<= zMzu!c?q22Hr`G`X@%L{xB}^ez>@tLL|Fv3@y$K^au=@@+s zi|#tpCq#w^+b~V+Zj!Xc&zB^?uCrm?JkS2If)OhRe`A%Ltx%A@Cz_AvDKem1*4Ez9 z&J-0A+rf5uk{$_CNi%blH$r}liMV2Xb%JgCj(O#T{u6EK`})6{+@(7~g$Ra|K==h) zOFq8Oy_?Tjk`JEkP3?Te`;np;cutD2z2cq4G@=E2HfZpEZ{0sC+TNOBep@VZjLTjz zA=aNO!axv$npA9?OIP$(X#4KyH!trP*g7$N$aO`hu+I74UMZP7@iQaZ7nz^kj*W~_ zf8?pSUqn|iMzhIP2BpPcb#E7eg?YF)oQfUljPQa}H=%F|<)_ z6whjwv)vMVou7r=Yl(eD3XtKYF|BpU^!1{}4lgVfrj~g2xop<$Vwty6$-GN9UePg} zDOEO~8qKg5aOt<)G8P~o_%2DeNz3rJG{$jO&}V^1(~p`VW-5zugMKxFs+ZG>|6h5x zb|cHtNI3uHX2`7Ez&suZpTmk6tj{MJjP8VHP0VW3hOBCauj-P>A2|U8J@Qj+vtogNS3zIvn zX3o9FQ9_$m$_Lla3O_i5hqic4(@a4A?4x0~SPa!mHEVtB?>9c-yGvVNRZnN_ zp5a60xTIpVr@)!5rx!Vq)*1Nh8HOdPOZuY!AWOPue8>npc26v=(*?Jw2A$L8)gr1W z5S2!ThiQJDaB{y+JLh2!r*vt|7*!D}lpt$*mm@W>S`XzB=Hg7mA9_R^o-Ywh`qHgB zGz4Cn6qoI$fkXh{RoCM`@WJuuy~k?~JM(w=vn~+4EMc>0hIhVrPXW zOAe<7olO;#-hE>ZMdaiTY6FSBe|Pb8q8s;g8yAk3&(~cG1KGFdXnJVYD2rDSbZ?bd zioKusLuWp};)nUg>Exr5;+yNUm-UgKKg!Xsn1%EF@vrCFDr9^_6wFE#c@6-F8VqW| z@v#*ww|MhqiWB&|assDCg=6M4bUsEa6BvMSAc&oG32rcJ0(3pt-UHi2d3PNRi-D#f zvEu(7eOC4x5O1e;jdgFWl`b@EIbFf#ONXGLbtW(>Oh7WFKsBZ1%Ib2?%kn56E^xe@ z?cy%*eZA>NAb5>pu1~!u^GSmX!(+dV4wk8!hnlObuASiYKzr}d$D?k<#?Z(i(f%fV zLd^$GQ#|371Jc_8az4($GgmMQYX{&OW@NTHI{nafZ;Wov~bb<>9m<>RlS-{ zsmc-Q3QOTf{bFtZpn>o)X{la2k~F`W{s$@wxX2C|gsEzYPf+icZFuheez-9VHC)HV z?#x$k@oZQPalSvAJY=)8yXSh&Z5D`CN)Ng^T&QvUO|jj#2mc1`p9h^z6Q80t6IWjw z>ECvtGA&nG?)rRkM11ANtO@P$y%BR~Ijp?(j$`I7-6sFMq3733eAs=toBz}%wKqSj z6(SnFpi{o^t@Y)SjZ=@_{f;WqtB{h7v88MzLR6W~s)6HW?m&2PAI}vi{@7?l<`Y%8hJP9Oys!iI-sUzX;(#m-WbF(VGM=;(wl-}TEI z7-rr}-eeI_ARjkbTlsuCayQt-a1o#&^P?=_NU#aDU z&vVtYa(^dOWN)Y#Dyi4jdgRB)oQ^aUZ6c$-*q8X@IPU;O2fa%ph?#*Z-`I={Z&{S; zm!Yf{Q_l*;gOW9BwWALY>45({*rzE$IlQDKJmUMXur^bac|IBr zmE8IrDBsBi5k@1koqyihkkjo0s}PevE0wcYy))9V$pp##u2XWJ_E#G2W@b4|jG|{; zX^_IV530-yjpBOu_e{f&Hk=iL&z9YH8f`3VTv5TDc??sY_wGym(O@m2;S_Q$q7`u? z{&P*FG)^g~32#98L$UcN5UE!2J}G6y6qkAIQ>7FKn5?D2 zdE}N)B@O>V;feSwLYqDGF>FZ2g^nZ>19QyO@N-FEJhD zo8zsEl1?_H1DMm*mz}Q+v2nF=`if;G#?5b?cwzy>bY^K^7Lf zY#R@9;0`=aH1g|LeRzqUWQlzC9aw`R0hV}cUpzmA_0Af*WQC{d2NfDBh_+v!hlDI&l^ zubKb(bM9bHR@jm|JevKVaj+E;6sIo~G--RRwVsFxw*B@4Rrh^v9d&4>jnRRh+W0OG)lB7&s?Uo>?~!{9olU9^C-Kq5}& z;^u>tn_}!h_mjVb^(v0;QdoSuTA9hwUDK$J*bwKO0*SAnSflBHQkFdFV30;#i{#Nv zc7RW^$ogyy`K7M1XImGMT2o_D<0`s_0K_U^&`>w5R6bY#`V31+sPp>YU+g+E!!+r??!O>#anXtW>nG3P zDi*08FXpFL(Pvv9n_QGew%{t{t2}lqmD^YIOn^7OzgYvA<8J(?tH3Ax^3&ZRj19^9 zPH~Z!3oEHLEu8)uyY(#$^`DUM6viu4r2?ulgrFqz0Ua5SaENOEUwDu>&E8Ayl$ae% zuffKpRd$u+h%DJN0LU~()9&J$)-eW_toY^=)xBk! z2g@V25Ur~w&VSLxAONjne*`ytXM;Pt?1Eb_Puknf;E^*m+xm6Bg|kibG*_X*0fVz( ziXpn=z&@wZ>F(kH>CYVw^}##co|yE^ssih;;;k;}$hGFW`iSoc23GsYvl(d^%}ZA+ z1+(3u_7h2=vN~JI&^2o1rHZ=3e@mbt*WoJen_tqrY;YR66;U`o zs)9EzZXaIM$fdLKDV3Q)?G)rwO&X%=gLaft19KjxFlE@5MlW9FkV3CTrL$$6SXdfCC&+dz@ z-QqG@nTO{(JSEj9*{NAmp<{b}&?;?3_{qCN^}$_CT(h0eB~dR^&r5U+EpX#pBke+k z$iD*}mqc`|?eLqm7Ny{#P3%R%UK+?;@CQw0990a;V6d`N^=rPR1i zNwlwIw1_g;K)&DCOfMYW2s_fZiv>RJ53#J$Zd zb1PhoQfl^Jmu>V(+SXJZeM0>Z~AHiJ{E7SB_ z^1@=e8V5w&P+OmHx743-=pcnrpT(CMz7KNOE8n{z?@YyxrZ-QtMr6n@Tj>O(7B5C! zSMih{iqq))70h3|b%e0!rVEF?&Y`L@?;+&G#XcWA{)Ar2c~Fq{qfzXFxDDj*hiw$_ z)hXpjUiU#xW5O5~9wl$OD=0_GcAa^nO@3f`=!>Nuct@yz=CMTFj*}fRmk2(h1>$N- zcmj#VVxtg1^DFY#mS0f*_{U?loU?PSH-X**MU?R12a-hQ{IzRssw#jchUybCVdQ~& zHPQb8JNm@yUk6R?Im*e~L5wF>q(>zSQx)Hnn-0Cl_S$UG>9}Ap#g%q@J1AqSb-B@7 z>HS~55V0vZpgB0=0mj1+9BXjN?|ta0+YH~m!ZH7BYFbvY?uB; zvcy7cmW`Yw%8g&oSlu&YBo(Joi}?d@S}@yvAb+;P<)|*)ypl#ZV0uQ@1bH!b=DInv z%lQgyQaK-NCi4#7%@Hcvn(ZoiFQ0tqiS(>HSQAw%RVly+Um*h zi0_iB$;_nEXjbpR_pXN+fFFKZ<~k32>F8UQtVZ;mPcK^px2gNk8+%AmpWTHxN^_ zaiW`QwPcph>qtxyxyuWEM(di8*yUn@SjjE>eViZel{vBDCpl}gWy|+yl^(0U0e985 z=bTiqAS71Qs4GL@PQ$Bh*}7#ipzw!CJ89yMICFqPtA83mWF93OJkF#Ytp;Db44sAb z6M4(Y*;}SYgr7G8LgQm#Za-!cI>-;a44y-B3Y$<;2{aRA?562WuMK{N&lD5=wdTy7 zFxP0mF>5I=PTI59<#}UfB2!rYvdMf@fzN?ehU$TvQ?V7Dz=MZ@i5buM$R0EI!74r% z<^D@CkuiEGtA@693%W`5w#1)dDr>11To^UdOU^-A8I0FN5=^LML~|!T>_=IG)-2~W zD%-}j1WAMmWEzsh)%W4GX-cGS7tmmbF}2(8SeL+yHMJN?D?6@kH$(y8F2%(dDx`FI zG`ep(en+|a-ED=3Di)S*iiP{57E{GIT&rL4eBHYlg6orZQ!`-5U1z}8H>th*A`(Vl z_EnadPZO2=6NR57k&};lg{GW^CcV$-Z7c&z>-%kR%q5T-bos8*UzBdm9_LRL83i}& zAxxNGYP@e=XC9*cOfsWz(LkSyMZa=DU$%KTKctb+PR3@Pbr^?*a5mxpEM5`T7DX(N zr_g#w3Z`{rRs2LrewYciaFuoLxAlLNky>L@?nK;Oj%5lW(?u&Dy@eFK?&zT_f<=R4 ze+Tw_e=j$+24|#2MD47=0leQvT2>FEO4PI|Sv@JsFcIZnd;wymH;QCT`?wYEZ$rnr z7n#_4sj@!b+NR51cVs%B*nZ6K3J>S~j|He4nIbZ0+0)|kp@ohrrzaa|=Z|BnFelTs z72L-M=WcgD3MkXYL?Bs=x6vl_>q*4#dLu~tHX$^@ddDRNOQ`>_|LJ$rB>WX5-RPss z$s$J#C;G;lsPD-0g43-|yTL|=ZXht}rqJuWFPPdDU6TM|tGdvk1xa3Gqc0tk)8I}+ z+O#1Fl7=c9INyO#uZtYZ?iV?RQ=$en=;0Q)DO*|LCHF#2`dyW|5ydfV>eN4t=WLa+ zU=VR5{kLrQ(j6q_M$<>dOUjVc7u%-M6Uy(o_HiG@fzKj>=fZ2;LUr{D`~m+PDPu+F z&Ka;80M1deY@cV6S9~tuW`R4Aifa7%P+t`5X^i$he%{ASdQ_csL6+S8IZm>2t|L8dWgi9z#`QIxnyH zZ2X?#+IuL3y^op^6&|q2{5gm|cZ>8jO_L9i4}qa2i=2LUJegNt%%MkBY6SA}N;J}A z^Vzyr{n^ubRJ5%^N&Vsd)8$7Jhf0^x;uF}>s?CEEK*_LbMu7e`LvrKP#|(-$DG^`I z&ug~au7}As?ZgxcHNc7ZcO(R^q(qFy%@lIajn{2tH#)*T**r9i?;9WOJLFQ>eX`=S z1kc?F_=@1}4)WE<3zCg7lCeFG60xCQmFRgtxSf1ykgT(iFBVI`_7s^zenJh#tvLvb zh_^R5c(SJu-d~h(<^ZO!+$Ed!S&VCo3 zw11N(0n3lWMl!^fYbido?fj3F;i$tNqRqb=zi|94?O+9etUPHQy-Hid77ogiyXIRDnfdP~-fSEb&3ph6$jPAqyug`S*(OwCk(cRj-4GOTb^*H`HZE>2 z4(adgYaB$_bwT+)3P1AC?gq4uY4U$2{pOak`gmVb1@pt;=J-PSs4Gni#1C=aLUK{Ju};!)9AnwyEA)xm+`gT!6s8;6*Coy0 zj?kdM^o8`=cDK#2;&zSFw7GrO{dhgmX0s@{I73j@%`UiDpiWkvY; z$7lOjIw;eHx1#l4&s?+m>at<)Bu4}c1{pu~zi)Xyy>Gc$2)pF{=KBA!ghtFRhcM0{ zYkkaNF;(O=yw8dH-u{FhuO;@5(B@(Qr)GO}{pkLOOk z9LNOC%X)UJR!#$fi6;|rQKA*kut78WEqaC+W-bRSLv1jDwKl3;*QQ>jtJUc-)vuvm zfBI-K%R6J07+zvb1O*ak;YBw44b{M`++Id+*k0t?eYWlRk96c!Hb}I33W7yxThC{h zK49DlYTP~$5;?cQb%ozO4!T~L+gn}j@kgh_g(aWPPo?=RmKguu)v?p8&rJj2W2lK^ zN+u>ILwzuG0Ukr3J|>X3JFX`&?9S~|efXjX^Dgwd%4H3$G~*nFnwt8BZorD4V^jQs z-`_X|$#AiI0&L$QYfjJ&9K|<5lY~}Nd;!(W#Zq82HrKYChu~6W=dt2&`~YV{ws7bI zoELcrXUS}r^uu+|3og4+@^;;tnw=|54AB5v{L$1jKgHt(UYqCOr}(T!TQ#CO{ft0e zB^Ph{@1}`}&zoK$D^dVy@iD(C9YVCz#YML!A(gEWsc*g~SsqPEUD>Lgiv`n=RqLyDYn1)pk|VtR}0NUEKLsFmIh-{Bb}Z(>e7**5Lkk z`a9^jB3C&AqO~b>I;V@eFFCq8 z{=8X+XVCpo6I#I#LDiCSBU*a4ty_h_{guP~C0Br+&!;KaPII1De06qY7^WWx?wg$C zK{Rfb#97GRfaRM10_uP0BY%pI^6)NdEN@_6@!wC@09KM_Jq(RWh1j64^87;VA@IOEVMG^fSpZLhIMQ~@Qbs$8^eEf(uJdKn)auQ( z`on63dQAHK4J-f(gt?jR)sFAO4V@=BUnM2oQ<*yhtju_F4uqkW@T-oSp%t%b%59mK z>+5SevuHbCi1ZN$fCiBL?hL1sl;<5Vj~8>%-s00%Ye?-B&<5#Jpc;cr03o(AxLWME z8jY7FBeT`f+m2-Mm3As}ZCILWF?ZcP`v;b+Zl})LK|u0<>VC6^b@3qky?17CS&3;4 zP`d%tAKWUcG$_U<;^X6i%gFIQW3ZuwOsu4Y;UUlD_tsx0+iV*M^o!gC*pe~n=_EDW zTbJ%2EiD!k=cIRkL~9@i_SWlaJ8e>VDFSd?DVhFgX}RZs)B6`B*Bl!)04TD{yQMb*b0M`cWgOEC#d-pN`Hnw@O$-^YRpST z@@!ctYxCb7TIh`m5p)ACe$YCy7D=7$9+yy+^`$!)pnr3({Vnx(Y9}0#kR%7-T4s-F zkd-uahJ!{@iI~(2eEhyon0K3h0QH~IR7jc$^nf07NKY$3i6AmQUN1$c<}_v6`^lT- zs8t(!JkNC8@TMoJ+Di0yvaIPsWCNn>G1f`g7P=9>>UXvRG!&$O%dJw(&%~NzD(&)A zX8JaJPG)ceqkuN{2B%fp8?Wkh+l1pjhqw(_5+ht;44PqeeJT5&`TVa|O|FN7+hv1Q z=Hh+aWG9HX3+}%o9%iC4Y$H@I^$Do3bC0 z`bfFYr_XR4w<6T;37Qn%$Ptl4((Jj>^t2*UZnE;DMSQy|Om8v6iB+II( z&HS3@!CXoKcv(PDz7lZ4pYu`@Cl&oZdMGbdz)?wetc&~n@Yd&%Gw^B|{!88b>HX5d zay4d!wgYm(uU|mPrnmyVfP(@`F510%x8^TB5NU#4_?)NkFF|6^mOX)p0tGT4Aa+%& zB|sb58Y3u1Ygl6zJQD^j1d_{U^T(Nr?&M@LF_nvleGxxF*no{N;$Xho4^F6Ms0gw$ z`OiaN;F^e&@fI#!-u17yYwDYHdAz|?Qhq4}Wh!t1LYcGX)T+1j(x@vFzu|9zEN^Vq z`qUaAd_;AnRY64q8mcEc^O*^HrZB$3ytt<3fy1PBPg?#sd$U3xjE;-htpw8+zDUNdsUXEz*Z=+fr&*lW zEoXv6;}!pZ5!sD8k~EL4>6gY4ybRYb-BBVUxe`{g60aM6zCwYZq}AIi#yTN@77eu$ z(7FLDA{--rRxb}(yFdE!IWxaN(B*L6j}gA|>#o8~WqUT8_^Q=*0uMfn-csJ}H1l9D z!MDAEhy4gNv5NM*a$&@eq@89tj0$lJYZAF{5npMgBLVi&PKjs&VLM)o1lf)u9wP9U zs6f5XSq&W3a21`tQKS@m_2s>8(;CmKz9>>0OvKoZ21SlnYnkWU%4&L~(e2plPHXWA z@u$~|wvZ+UX2|nV15EBe(Q$L5L4O~sW68>}T-Z_oSLHHY zOf9<`-u(^r4{4)Yw$#pmDv(V1@;)TNr;_t`PrJrkN_#4d1a=(TAvvC?%1JRPKW_sl42IC>02wbir6cISJYmZ0g7|7l>+u*&dro228 zFujvtB63a)3MLSUvy}q|w@iTuNq=%gP({&W*s*3`X>&~6T2!v-lqD##^~7d z#UD~0;S)Gx@j(k@cGXHaiWkSW907^xQ9*!AS75ep0qFRgp9&PfE;fxpY=wmgO9wXO z0xri;dbcW_`Ufyn2!n4|ei z>U~UI^2WHYGe1^S8+#0r8#2wBup9t3y957QsdpV7pFofW1yrYqh=^%s8c9{m(k`=R zgW3ttmx&U>mP0~)uz+2tKdV|NZSA%aB|c3z$E;4*3&D%!KkL5Z9B}1-djoN}x~ajk z?b=1Dtf-Zo+Y>mjKAUCf+;!%pLx1h}9njb0U}b`osiog9EAjlHb@-(yq6IoL97UZd^*nefk@CJpj=^nLWd4d3tc#bUv61 z$dD|k&Iypp^iCo3etK*8jgu9QTE)EduPdrUPD^{+@4-F_gFZ23C%qt}Dh*7;MjXC3 zi51&^r`6isfH8Y2E)APQvndS z>vv(2eYl_Uyc&+@PLGcWjq1Y$Xsyyx#uqR};};}8F2=XHCQ{W4E+Xi#gRidxI+6FC z!98X&YVf!WsBc|V?0FOa2gx$3$eN&w>Ka&E0h5E*FUt*!?{jy(4q+5Mv7o5>iVleq zFn}m3LMI8>xx~VDmLce3bPAhV^&sGfQFdE%a)l}LC)*ZTVI6d7(!r#wzw!xUdR~K& z0lkQA>yiHJ9&qiz#_A&RXbt(Q=_qwp$CnTit|6pb^4+OR?->Xq zXP^m?6l0Pd2(!s-PVnGG%5XE8l7P?By4z!NkLin_-Qy~p=Ed8cbu>+yPZZEmm?;Wp z&AG25bon5hVv&EAczIsY3O%rTTpgO7*V%v+JTPd(08j41Qalk&rld=1Z&!~tBkqBP z1xPv73qAB3jq&@>;t?#=6fpzj1LtYIOyb!M44Qq%>Zq+f`4Z$>Sw~4URjrKhknfMs zack=QIYf$)2u>Cb6GcaLmB-j-?mXzsh%@lcQIE4b)9Gom%f}~VF&A-zFd~1xYj{Lo zt6jKoA{i5So@DX)-cq5{oToT`XhIOd$bf=JX{TCmri6cRON;NX4j4!YmDfKn?& z1Pjo2YPVFK9C=I%d1QYE`z6*qIey7fA_o~40BO^gCamBy+J!@lxWxE#$fVhBx(DYn zZ)C4&5z-XB4D=PT&geqfb8f98Eln(azK%D@9euL%`&H;SSo~2MJ3a)WLsL4 z>`e55BHtw<0oxrdz5h%|uQ{^oUizR3P8+XqQ5**I?Dj>zM&bXu@ zMfI1^I*HwJ+#DsGNFZ`xOb)foiq1?GKDwryFvmr>=M!_wFFl7!;C}0h5*of1@{jk-Tr@8s3J&9z3241tAph}YDgyD)Kx;D#MpRt$ka2!2UXINV`9u-Rp9QJ?J_#l z+pt$%!hK%L{tYI~ z$B>S}R%IwOSBJqLAm2t|I=%#a^5#Fspp!lczRbp5UM5y+?R4}Gk}xbEl&)ebd4Cwv zx?HdA>^(>D5dBx96DjiGE%YXlG2C9bCv=gvy5NJ7{X6=81oLqo3K`72yu6!Y5>d4X zf)X_huBDvRcQP0xpiS1LIUPGSBDK6RNLfLU-qHg%EU@;k3a9N#no7M2T9*1Nn}A#q zjMsW_sA??xi_I=S|Il4J({!`?p42C^V__;uC<3Q5V{L_Ys*<^xnxi~!L&@CF%)THw zA`n$EYmIEsuqf7+&YjL>Up(at6CFaXn;Cv$h?+kaM7=E0&-5 zlq^N7u6Yxh<9j&4W6NmEy&%azF~gPk=D1*Y%7HuG^J1GwaeqX&;iteoxPE$E?{w%7 zCBpoaa0JTj#OPa*7!tkOB4_he->8+l5LY43#Ana*OqyUi8)VG{%}T~7r`|N6goNyr zeVmh+``@t4)Z@v8oM#rhOl`6Bt$J$MzkrPJg!B_`hMUXPs2ZQ<_l;CFUr{w}u+<$j z*KA+-dy&82^xMwH*E~J3yw}?LK!+~+E3A@dDFx(OwX{O%LXinvQN()nbfq3Zs`>wF zqcnIolmRZyuWKz!BFq{zcLQ@U4E28JpcNPjXq3$~h$>iqASB+BaMM+FXhihCRzunP z_9j%Dpp3U?iCOrg`=<*@_81k9*PT^jZf!Cm=sDiF)BNr)+aD(MTBU+GdP>}-I+$u{ z7QR|L?c$n#mYT3nQsfK$i8vl7JO^SEU3H7-Tx!ogZAgpY(EvWo&}485i~5b%iQ*}h zovvPndA};0ji!^q{EwRnU45CnnZoz8JS^>-K0%>jff>tv3&M#zzvty?-=>S@QgVWI zy^8XZ{~9BOqk&K79Dd7Z#|V5n_oav5o)Sy1(&$0~6&W27b|-ZvRFSDE#z@Ajq$c2- z1mB!KNzPewX4^(9+N#xGj9CL$YNWSFYp^C&G^NIW#{Hx++{@+LCDV8)sL+ETrNyvM z(4LyQ&y@ch|B+<9{gDOqfAexinHaa{jq7ixzwyN66BoduOg(22$n-dFNqotWcb`t~ z4I}!YPN)+oN?kNVfpJ5LFR3KOC#B#1tfeIS7p%G2#J;PZi&RxK{A9U|Lx_aB{W!Oe zV?wziV%N1({Z%NxI@SCAa#%EVKA^O2e+<3m>n|oTRTE(d3{Tva zaNAun{cCs;I&cXFdxWN`22K`pCWUpCWrs-4e?QR7x3KnHRohy-V$P3rO43 z+Rfh(u7%FW3gufl%NE5M?{QCFB`UeX&*1$r{3rC6EVTA2>#QLk-uN}dbP(- z;tfRtBn#P4;s2vlGHSGZe~H>AFlhx1S^;W<2oe3$oen6gGrz>G4eAwZmQjMT>(TpZ z1>uN0<@+?DJ&Exl8Z~49O$dN_mxBNaU_5z(27U6cWmQn89C!}{QVo^+sS0kT?J|wL zodXVm> z9Tk(s@ve~)4&}J*iZt^P!mj6Wt$WnAg&==0)j%f;O%wyj*7*H&CM8~3Xa*0o_}R(y({*zX0znnyn?p;*5h1pE|E zLKasP$L`4;&BI>uxvzt~y=z4#bfE7VZDZT>wwY+-Gpg_mIH=PF@GFna3T?y>2dot& zKn1py18>5ZQ+~Ht2rt}3GjL@C+{6HoO#>G({D@x3Rk4>W4hRwTr-DQRT6)OnxQ3dl zM*R-$gCH6p=Av8)&9zU$@NMiVtImr&=(+BAk-h;#1_=o`=EU`-`h3$#-g+|LR%n2? zyRR$DX=zCtEPgk6cxANLT2d&U+gQ=_4vF0UM$EJLoHFtQtij3JQNUof6b@n(i=HqN z882c#f~~N_&Aeh-;F$6Tv$c7X4Lk>PmrzdWsxKzz1sXQ=DUD@7H_7xOejtVDb`D~6 zZf1mY#2=`Yf>{U#-#F8UNrrY~PXN>y7i>^rib`hR&eT*8I(7#tx17)xbF%c!m_XfOd-xxhy?vGOno7p_|5%6U zg|xr+p8Os$DpnCP@@&29$oal27p_L*dV4l)x#Xz2k1*YV1HIw?shOUMA)=5Skk_Tf zFk#d`*?AktI5e1~XOS-$eLpr2OTDrR=q$H#}MY_AYTco?C zyK6Sj^M2o~nKjpcE|<677w6vRar_d>e(?#(VNFOl_sGn|R9Q#)EmdZry3|;MOpW8f zPXJ$_V`30iK@7V7mfvh0Zwuv_xSkodWj61~qN>HsS11=4Z2S%L_CFAnx|0@0Gz_46iUj`<3Rg9vFC&kW(gF%EXj6UaTn?=ODV!P228$& z|Bv!1TV;mf1wi)$9WzGnL(aVcU zAF9f&J4Nnuw}*iGy}y-cx(>~3S~GhX$+eZ(O3EVo)>_Zd!=|#mpFf9n8UVeQhgAI< z-7~(*LlX4jmN!YW%gJw}U_@tiSS=?gZL#ON|DQ+#@tJhPQV>{-ZO=5}iS*su4q(?C zsLi(@r=~Pyrh;^2tvg;Tc1{&J(!oAuTNl@TsQdVU{-x&co@w7b0oVq4 z0@Nh}GJJLHKcY#1oFjIu^wDA>@6N7m_iS(eDse31wEzMcs*A=(4tz-FgoT{?((emf{|0&18()0WV zdZ@(cfkw;iyfb)UwKX$8(-+r|pKA5#UZ?mhdVqUN%3$n~JJ`uHhE5b6#rC>o{sUZ~ z;!VmQ>{SNFthx0ljo+L})cg(Mz*fSaty3k58t`2o_2SBN?Nny2#!5nVd(_lXidYs( zxRTaQFlD|-MTaDl7{<76EE^b-$)rCO9k2qCpb+uvbbfms;p@ZNO#Bhj{!eMMkF4xCe167M!9HZ=9(NZ`Q`Da%=KH!Xl6i|MTCUo2+V5-Fj!N8 zU*PA5Svd*Y0#6@>QS;u4YTI8RSNQRZFDPr#-A7Fm32|=hoKEc+cG(jqwY@0MJhiNP3bN=~#@dl&`fHVWo z`jQTPdedZC3cxGo)G-cMq4ud7k;o9W%CcE$(K?#aukBkhglm*drcC^!R}xflY34^q zWF8RTRWO{Iv5rH>GMYSa^Z2{>E7{^*J+rO@$-6FF>9IAR^wap4J+U)X+kRQp7CbeCQYEz?K)s= zla+sP8Hhm@xDMtfw9K@cd@M*0M8g z<4ws2r~5^mkY}123D(b%G=x5n>lE7=?@Ug?ifLnfdwTYGQvcM@f;m(E6nUimBF31+ zb@Mme{kfHLau1hq$>zTTUDMto455prQ=pb#1$JF;Xn5<(CQuvWe!fnLDA;U`oz#}2Zn!!#MF8Hc3BHk z+J&v_;`);D&5hkCqRt~KTQ;w~Nq;hFu5<>gYpXu}2jf?s4slswt>(hkXskwEblo^z z-t1o*c8@X3Yx^HIe1DG*K!ds8BC`$U;xMP+CJ z_4M`i5rYi2Ydt+e)aa^GOb=6&oLLL5e|BI#!Ok2HRx2haCEW}mtWkncDmt(MbrPRN z3_q)`T{R5ow^JFmf)@%sed(kT(7$r%Iw_TZ#2nYeq(Fu>N8n&vn1dSjPxINw@tUdS zeT@h#CCCE~av_=2_%fV5D|&j!IN`fp^AxU+Xxt5}?Y6!PwbrwC1k%5}9(YX47RSuO zXDiBEV8eS+QM3+ibH~^EWX6kQZHrBx_AU?qgd*ubpsRSm=GyQEFWz76 z^YC1Sks$akwEyBqRqkYzT&y(L?3UpzGF=^rd)==~Cb3~cIEl?>e`qO)xU@{H=Y*H{y%w0GK_XKdon%T{z@YWU3Z@bkGgAJoTOROwmK?2emts)Zh?+Q?$6=&|q1q7i}F)+NUH!m-L&#(D& z!;Dg}g4-O)EX@T9iT_z~pc0npeB`GpchOvPyF}aQUR?JYM1W?C6Z6CMiKQ};KPav` zn1Bg{26QH9tg%@~5|XoNA%##vj~_r{z%opt0^(-?DJG5Xh!Ro=%-^7QK7I#WjicQS z1t{0SQE3fm=1^|&^{kd`2Q9F`oFfjCD~B*{%aT0s-)<_Cb_J6=qRgqXMPfkC03qnL zwRXg!5+YS(_us#NjruS^$s)=-gjV^;r=rp+yghDXzT#akxzwe$G>0+z*S@J51!K(} zP|{VB@}v*iLGl_J0!vEzMBDx&2z~XX`KQE5|My9L%?8aJ@24hMIA8k5iu0$;Igkrx zf}*!Cf)ai$dn)*?qMFviuleZznM*tvk+-_|bG6hiFZzH;aj}k>~QH;SlV7xBOyv_x4rS zQD=pN+kiJwj0bX{6lFJv{Z?YWk+&iUjwE%iQs`<);8{3G(!F%@auJU-Igwe>`0##pgr5dv^4TT7Q}69Y5tNszz94U34WcttqP0G1fkA z#p>W-z{a!k_>dkbB=Qeg3-$vUgveX6Xk-h&iB4=L1NdWtn-%N980#zgg%#5_q66Kp zdGR$g45y>sx=n}a+`A+5$@A2^+~W_*inhsQ!+Z}zi%ZuNo2t_qu`51QbdHPUeMwvz zpN+O>f(du$)mI|XpmP@w_1cd^mttpE9r!WgF{Eu-hva5gWK(!hKeq^gtH=X8; zkUw+P1x327e`Ukn8A*$^TQ0fS7*B}xM!-pv6tPFnn$03ydfCv0=e9(qfDi2c0s_~* zP^V2$Ble^{)6SMznT?ZX1M%PSuy%Qic;X|&NQ;|k8W+sZi7qhi0v8>o68ha9g5Y-g z?8^GLW}>yHm$q??L?t6z%T;3le7oR@N67V*}7a2i=gJu?3Ks?M+ zTU!fe>otc)CW~p=!>I@yNKfWENr5VK5IUo%sbnu=hXOiAEyeANPgZBnV|Tk`Fk=Vb zbtI4zkxlz*Cd^k|b~iLp;t3-w7OGZ;s$V_)N!aB`mzT7$Vc6T-E10JFbYpFN@;wND zsR_P4KOrs--NC^DH;C~in^YS0dz{mc(jOP8$?9)9I?k#G4^{+iGC`ZCUgw*!_C2H@ z+%FVe>&R-wwWH&cu;A120d9Tpso7-1H}&b^!umqtMo&>uQOF*dh6;Qh{XPVDyYUk? z{mwf-sP4;BVi&w+&DIu}MIso`)^-JX`#x;zKjbkw4UnVy17pDgC#I+FjdsUklNHrBc^Pp0AC*C$#N%*+)9QIa$o~KYl-&fD|NRHQyGLwzSl+ zX@C9i%j5M}COLZtO$crc^?ZXjgwIW|Wb%t#i$WPGfxTXPW@#{043QV$~*3d4C3fs!dEY zT&md&)%fjlTKT!BHnq-ve*9#69BH|i+bGrbD-S=DvvE3hmEkgl&&8!+CAS5djSBHb z0pFjj^xqB&bz*Xj1aD;OeljdO%@yPSGE0pu@+{JIv+g_&**dh4it;DCJeZ1VeIWIJ z9Blb6wNCsSbL6&9m9(DE1qetwf(hsl0ur~!OI4dRra)rKMpIO(DKTeNcbw^(;1Wo1vnh~Pi_jjp~uGnm7Bb*qV*^Z-i071DE|A>zBU zwgVE6uKe@aiLZg{93H}wF4y+qFDUiT3+PTe@*x)VHv)e&@cA?&8+x0OE*583!@Uuq zb>s;1c~9D_e{#81-CqeXy}#u?)kNLSHJ)VNFhD;O^Gxs<-VYC;AZbKfB?ZyDy3akF ze)pPjCD&R$cLSNX2kooG$S@R38Qq_6UWAAT^k1H!>ILufx$G;RIc`us94y4CqK@+4 z-Nr_3B9XaBu>)d;;78_6KyYSi=XU)Mq4FDw&q(sEaOLz~&9{pbv(vUO#(JX0)OSnX zXl9wCW+!bj?E>B@bh*lf4Oe}5Zr9_!B)tWev$Y(^FidA9p-Ye9sqW{t3KUKyn15-B zV1wMAdw0=z)W*3F@SkrMUa-0O8Yg;3KT4y1p_XOBHh${6nzKk9!hSCIs-!)e3x@;C@D%Y%Rz zOpwkH^Ue9<4^nKKZ>9y7o(hb=9f@sP%GGMiAgAr~xATo<`&H2dlc8|ev(Z#vgC|bg z9OXg~sFAND6-)L3j8e|d?BM5od02Ld!yVC<`#W~ARM4lL2>cEJY+`dfNyL(uvEV+Hjsf<3dw-XBn1)#w`+2m|!~m!N23wvHWd^O?~Fi69jPi3L?vY z3t%b~1W)i({g4*g(}FMi6+T%o`}rWRu7J7YM<55 zdUUb=G|n=y@j&X;2jo6*q9BTkd9~_AO`2O}$Hzv|4TENuOI&sZJ&qtY(To0i1sjU? zWM_`3G3~I`6G?E_8{hEEjQ9q9sJ6Afer|Oigg#uZK(5t7L&H*_q=^qJDUk(O3b;9U z*Xp*7osY#$^9LN2Hq1NxL%kdJ+~1sIXsIEJ z9pf2Ss|K>8#O>u<*1r5lgNf>(rm14PGlvJEJ^LzI*5y5S3Qx9a4`1FnL?(jqcs1Xt}?(_B>HabzG zrlNVuKS4O8miWlRf)>!hPre1IxGSC)Nr>Oua#WqNU2#SW(L*GC=Xp#0!J zaJffl$Wr1LMjkle3tW;9xb+zwK3sev=SYnh8QBu?t&0axRZ(#<^)*2+!S$c1i3oUS zFGPIFfkBj2rO3Ns6me#b@R!k>6{E|7$;*BAiqXXvn?YB)CEpO*`^D59DXY>pUE z+T($VZr9L&?dKZGrKdIAj37`vy-#uBQ`<9ypv~=j9%wpT;C!}@2z`Cfe}l*QmU0~B z1|RwA9-ffvUG11G*FOnF&LbAy>8GOcX0da;Hl!b4vmbSMB#7fe1La%UJDWVeQHBNz zSVx*a_XL02#VgTn+rsI~xPtSz%D{X;7_1t35zy^2yU_1D2p7bhwAT8D(~$#pbVW>J z$`64~`EPh^nK#*ak1peO8BND$a9a-c-Ll6`*XK&oYfWVKfvU92U*VdproHdF3S!HA zmDxAHmd0}8yo>)X@FdAj{qKhQP_&$|l}i;J1&?O~S9z{FS|AAJOg_QnS2Whb+UeBS zS{=I;cl)>N?|0Mtb?cYICJjPpX@ej`O3`7SAOsa&p1$gNUeq>hQ>=-vN$iu{itARf z`tkY|q~SZ4tT;^3^EthU{;T;Z0FqwiW|w;g)=BT4GJO;@-8GBv)iVDXJf{+knh325 zILX^S{6fp;?7+Kd6IHe3uJIPPY9ufB%Lo`Z-E=)kW8MHE{*?HLte$rIbQGe)7=CB1 zO%v>-5xFjupmZEO9UP4AMA{}FNPp{y=Mx5O`pm}XJ^nJ~=!XPI> zH3i*@py)xBNDv+E{YR3m6j_QIt)s7d)uX1Q=&&qXX);M}gXy4ZC$(g(HOXaEbj#^r z_*@~Q-=Y?{W4!wgHzPZCFM5~U{R?um+nKRdSYh6K;qy1VPb|g+U6Y_nvaqnwes$S^ zNm2X2xPN~fo8=6(rYRxljvueB^Q6$^(tS2px&BceXibyTJrunkk=N~RRgWo#BIqUT^fkO2*yDJJYT|T&T;t|fwNl_1IwbxZuR)2DupCa3|9=VJq zb8*`wxP2W&5qLcHUU7eD|NB>CaHJ*;^QU4A8Bh;3Qjj8LvNB|IX=Ezhr8k&tA?vL) zM1TV)l8x*QtrM+?UlK(e@*~|24{;G?XxIfA9%`~i`O+HPComBbXdirWOR{M+M8k%p zifG`(SpPg~&wyv*Qn|crM0rvW23e6@%>I{PrK?dE?O_gzq zyp>9XnVB4ER#u~ZRXvX<=Qr1HXKPPr!Njq^Cqy^QGOXqsb&<#!lk&$Yi9-|iV~F$a zz{uArLy@IHyPndIda9}HMwtG@Su?+hgV+KCY_cl-9Eu*Mqq{pa|8irc(gAq>FzcZ}e$x}OO$ zz9n!(7^K4Qf0WBh6U=&Is5u|vVLTWwYmQ7UyOZv6s6sc7FYx?#`ti8sMc(Cj1*g8H zlwtlieldvX*eO+C+1Sxv8mZjukJ;B2&EY* z+!{XlvKBaBxowzezw|gKdE3h155cI_`k{0suyg|kuiZ0W&YKTMY_-!A$(rY{l_-ci zyq*wv^qiOQ?<7u6P6me}%%$wN`K|?>JO9AYNzfY&+D`>MO+;MY3@r&@n+4Al(1wQ` zQBoAAAGdgceXxC1!DqdKqPO!Np8LVDWV`oJ;|fP0v%DAd!N3BcH0U(Y$~79fn`JRr zdY|-Xzo*`gs-v@XShM}q`tWm}R7~K!4(FgOy0|O_DT5~l-17r=wa@)KTpct1fjN&V)eha%tTI z`>YeXS)Z!N`yfQ)C04ss$BS{z55t)R(bAe43w+%&xn5B>}tmkrXOSwi9XtG-0~oa;mfe*D_Hh( zT94?q-@d=+_^xr`#>Zu0so84dS-sr_p|G@j@jDIgrm@w130Jutyy23Vy(JE-3udxs zl2Lm4c8>}Vv4qr7w|F55-;P1A*yN-u8;J5gI3PsycE-lrR{ooCP-D2GrA>US{mF&B zyra6-hGzX23tBrCvQi+^_m10j#n-IM`C~bOwFRZJ19Y7hejpE)UYzUV8CG5!+==lN zihS?=B`!;7H@k3`@utEJcTEEhgk{}tu4vmqmM_QKLmOJfTSd4;!WI@SSQ~lD?EUWdAE>xaS-2NIz6Nq2 zr4MhXJe(DpBK1m5Me4mU33x27Ie%)h@tIY^mP>Y9Vt3<1sgy<+2eF_Ov4y(a zHaQyxU{^EO<4}h`?4M}C??Hof=&a~jDZ<4hq%r)e^dVcZU>>45k2b+!eFRQ>IZ9jx z>t}3icY1q6Y(Oy5`Mq}e#SJ^2oAZSW)UNU5oe;A^I&b>7r+fQRjKqs)N`Ml^0AU?_ zqW&0xV0+N~?)Vy#!b?2(qxCvx?x=&yB^FOGgH(Xd0{d1S}A2>2K29! zKS}Ya=_9<$3W~axe&A`tLL+~cTcu5Bpo|i@rUJ*yed#>XX^>-EgT9=~R{S6W7;qZ+ z3Dtb=Np?!Snyv_@jpq$I`u$%7z7OjKtt9nDe!hUYU6O6T{%IPNmu|TON#Bgf11s}A zXmD3{rz0EEYOxXlU?KgRp~LGgH2($$#b5LRlan-}>2xAkx7|g_WVSt3dqM@k#UG*d zg2o{Hw2F@PC?$CCXr_F=ipPki+V`2v_GM4Y!qT#^v^1hrrSLCy1k^j>to=D*%*PvM z*{{h?``qtpCBldGdMg98_woN!{h$a{{G~(_d6<2F`w=!+?svc6*)OegyLlRE1=|Bo z_1BFT?7S~ONRVkB|1}&|4bQn4PAGt}q(1_j_id;1-jx8^lh1w>q2EHwZ-^+65n~e) zT!zdnB?;UG8+SY|@3+nobbWe1w_KKE0k89~U%%4+2!JE^U06Yjb*ws?Z2b}%Mh2Cd zhu)($Mb_Jxn1w%AySR=rjAmp{_pHG(NgxY4yP~HqH(q1e2K-M0zi2i022ThNYR<<- ztp!HJ-~a=rflIyjOWZDGG|X)+667pgjH#XO^WY9&Z>+^La(71MmYcQJidsDCGq&K_ zG9{_ASslV6@)cGy#eBo5@5_4PeMxxYdnr&X6Zxg2>O5=oJ2`0prOyT4arucOeA;qjh(W*gyFhD7#u{lbq|`@2e;RxFI)G-yk`E{J(5FiDB&R-J z#<_vp|KMBiRe~>oW4UzYSG?}zz+ee{cNUwNBn7H8bT~Lbrn1xih}=Ei8YXNuDh#r& zPVBRlEhqj(;Lo>4My$4qPESH!Vmo1~l>0=N>%Aa6aQMim?PmN)a&Ydtrj@yIyzDT2 z1sKt+cu4+kZ#hz23_wO1$cO7(frG32e48jpLaNMU$LC>$D~V*)XHvc)RU4qkjYD6f zA*obL5OP>;K2|G4yunbrbw$i8=zus+BU3=P95uenYb5$3BUCJ^oxGkmXRhffK6y6a zk2mPK--B)~CztLzxQa=bPu2^Fh2yi4lFolgx|pvsWN2Kz|M_!~puJyu@Hqk)xBinl z#twWceVwH;M$YWG2%s@e3B6LQ)JpRlVt4g27}M7iP;e$+jf*DNsu@I(#p&GNbCqtF z!VZ>XWu12CR#a5XUx@}ITBnCAazTpx$T&WtrJ{NhCRA`r+H-P4%MFEr{+yYmT*!nS z5jVr*ZhGb6<2|FnR`ff#eKrn%(|6G&8&&*A-}SDN1w9zmA|!?nxd(%m-$_YJZ~McU zT@3aUp~6Ec$S`z?;n&UIdAxi{z$ECzDuVOnVPnKof#zZ*N^!@uP$EN5&~UB@te-tz zv-@l;q?oYX5M4|Y4+}(NljgEqTo|xHpv&)aaAa+)k`y;I03ms%*bh~b-qBSO3I{En zw$mUw-crrs`SK$6S)QRjT>tSBiy6>6GCo*@EjPl14G$1$wJtULO#2?Yc1`p6XtxXg zS%1FK_2N4L$w5qvGVsJAqm+6J5SdnUXCvdbX6_uoeSqpZoLBCvIMYpC(&JhaX8W6- z%lcb(o6$FFd~*gxM5kMQbtf`_nC)2)9H2z@L%31i4T0pF53ys(=x8uVC@3`F>na5k zRVa}&zzN#TSJ%3 zipz~A{DcYql+V1nYdvVK$pw7hh)TSX^S8?hE*6!l!gti~C(ZivyGITcjMeddfy5Rt z&^n-XkEg7!>T~h!9l|WR)m)mO_khRVq7T2<{$nBgk*GmY0 zxDk%uvd^3<=e)Sa58=kjuI%2(o7KxvAJ@A)o^I~FwkToux;Wz0@w}>ym;v7m-5vA3 zG0(^ zfJ%WKTZ|*MdFgzLBczX@mr3?~YGH6GqR-?GXp&LY28{v($T@3Vp%0)dmzUc7}P7e-8PRX^KGH`-?pC zyK}hU*q97CD(tMoQre7t$x2V$7F*F(9gafh8JH{e?Xgn=Ba6+fKEdCy5^$ndOY zCPSmjbiI|6IM;b1REf zez_}YyPd(!xuSP}Us{y-a|%Nk`HZKu(!|4vrkg@vxU=JI#CzQaKN9z^g>%k@k=lJuM%ZdIt2BV6-F{gHdPY>Ycq=yfCN-_mdl7)z+HHO1c0_(Va z!P)um=bIvcj)d2tBY+eZ#39u$&TCt5M-9(JTeJKT9QM~jFLd&p)5JMTd3|YP4pWcw z--`CW0$JL_IiivcPC`VF*-Y*FRbjgE)9@e-Ye@JBdy<=ROxmGjX7JHFIH~=FxIfA| zyRMFIk1w$Q6X%Bgtlin^t(7s6?b2v_f=y4fq3Pu%-apQJKBvB>({B)&!QOc7Mo(S! z1*Nql!wx!a58HN2Ob&L6p4wRy=n8~_OmXJq78|g6l(M2B z{w0ygR{2x@{kZcx+jhvs{e~IzIH0zTGI=1Oh!-{nN9wt(4D_p5>5a|0CLp}$>pb;! z?o{@U_o+zQWpEseKGX{2cBh5Pp`16Ls-B1@E_~3{+Kp{0-O*?^fi~uNvgFbrU_=hX zC8cp57K!?lx6_!Px!D@EvI%Yn66_y3H<;xbKjVa`LbQ-cW|OImDAVxJU=)I6TxNb~ z0-=OjiPq%DqlYJ-5)Qna0>j(5VxUjNS7zNmFZ|y95nw=HHeFwgW*6?<($q|sA0@@& zQ@}-CZL$|!l6FHPdF@36XN`>r1zug%^Jz@*b!5`2>a)nO@AqbG;d6iMitg%(ZuSHL z0${G`5be4|UkFeQnwk;1Zi!=!am_aEaIIx`(R&v012x|?oyJ)z>?AQre?JFqXY!4c zW-_cN59j|hHRl;PeGbEYe!QZ2_i@9bX7R|0h^b84zCr*XwsL^Z@Z_WeV-6+3!qW>a z;HK+yQ%F7A^7}hJNKf0V66HFrf^__&uOAq3ojW{QR~mLPO4Y&#jYZ05Gf5^vwM*qD z4}UWp*5l;|0iS0V&?YbP4VmQR6&nTyUkAHI2Sgifd9__VW0!phq5ok|qQUFs6`rDS zqLCKY{y!_Z#3~1o31*V{dg_$67UN-|lA*)kzTtilT#CqC8T^Z~M zl%IRU-q2@3B9CU>m@c2ySPQdgeUk-30XB;plsv2;vyGJ-Y_HTV#Za}(yF*?}ubE(I z!icLziEKkBFb0kh89RR}?Xi1kb}U0U8Z<oFPFznR_ClrmKG$v>MIsBBJ8hGZCa4ip3^ z1Q}zaSB1H-2gRv_AOpRw5z(RFt1kSN;%Z0h&jWch2R<$Y3eQJ_fPscSHcV1M|k(O&o%fB^Cwl|FNF zxmG<)#|UAQ?}wx=^xQ9ZWN=)6<#gU4{=2Px2!p$$o#r!kJNGi4%GRcI7rT8tR8mj3 z4^GrC4-wU;mrOd5HmQHBS+hQW>Zj3xIKmc-(W-7FyU1W`g*2qVdFNM8=e>^OHhatU zhNaUHsy%7B-i`MK#ygaF283D$j9Lzi+A(;MEguct&nW6Ot?irN*_;N)k^};*dF#GZ zFD@**aN!GlL@Y}7UYwF`INi11AQlsw?#f1MJS@ZdH{;4C&Z}N+)9DKVHt<|!%TumW zK-)#<=voRTNXf{Ma&p!W;x__5N|9TukCe~ zRf5Q*!4d}a5U=aD>DC|5TlD)#o~SYYVBor~n70C_q&LGziv*XsQ%i5DsBMl$MnTM9 zs%88f7HR?@wU0i&v9UG8=Rb%>tJ6*Q0&826yi+kNZKp^8N{o(}I+EwgH@{l@o4Dwj?|H+k40z-wAf&!?KtLObYF-W`*jCj3#Wv$13zxEq++>l zu?pup(0pNQahmI9lDa^LBT0(<+BtyTD>{)0Yhu94q8ru-*hcqsHM&q&R8av9)uv00 zrt&hIKRr*@ODfOY697|2eF)9n2+?3Hg}!1tcuu}_GvTdaJ=0L74*Bx&T;LkP?w7E( zOB7PIaDRL*RK>mlb^npPOXCa^!_!-U**{eoa?ml_oa-Dc@CHl1c#9r7MjbEjEjDvL zAmYDS*bNDviTVSi##Ft6{))#oy^qVoI28>;PEJwG(jh*v1HUNp z&u)l!@jE@gf}1S0$*d}p6+3#ng7is>{z|P6lk@hbFgN*on zJu=5u%(Dy8)r@^wdLxmaGuJQf2F8YVu6*0&XCHry%5h2->5YCi;?13UOmJ2HGk?3> z%-3kZ&d9Lbacbj^&1PXmNR%2Ghmt_j$iT|N0)(uf1#U$1u5_q5VY-nr-2*Eas+NaC+10+n7`6LK)JnE=ez^K1y97v+_|E5z9v#1pV-;hv#MgR``5l_<% z9>J`-wh8s3`k2wfkUMy9Mkjy$$`M>Yz8fAoz&kq<6*3{6LCZVqWuK!jmx#mmg`*$I zw*TO&PrSiA1k8}z4oa5vn}^)>Q)b4-`_U_LVV?+AfuKP{x^con4YsO02=bM*SD z!P)+x`T8PSmkcI`0YjQ9%`^@>HoEgx>&x*AZm5^s8Cdc+0M%{=B3r>El}#Qn_n` zczoEVJXWWjgMS($`UaAWI$CrWycCY)OB^$}K+|BXi;sFjY8>}U4y2i|d)DoGW}>ip z0y$r<3`y-Pj)z^-xTuOE3Y@=ILOA($jBhFkjLFrnpi?5I_`SS6fq3v+@93AS**m?z zGvBn4a6J(_!H2UcOfWn-ZaN+&mUifBkKpAv8%nk9YveMMFTUsp!<>4%jph670=SZ` ze@X(kmny&I)8-7@jSUD-9oMSK9-Q5aJup80BxM+CKDxCW(2+uhDRpK816_gb$Mg#a z!_12d2kg1}N-+wiff{UF7v>PU=~gzaQy>Vjar>KdIjqKD>AF}&w|V9^fj9L}aOd&YzPYmmR62Wb)@t{2 zM7W(Q5h*?_P(Fd@llfZ(cMiz_P%Fu5y}=Q<3)5J(H|nd^#Q#A8^R~M=6^HY{Z0Ys^ z37g{%Hm&Uq?R8>>-RzecECNYnQk$Z*B^`JuQL&0d697z=3Y^fn|740#jwx$+83#tr zEVbhKHU~oemUAY6uYGkIE#`5F7C+(d1=P4CI%)QUg2^#2h!G=3&KeIX)HyHSrNU;a zn`}(`ITbIRxZHck$qyx#k(tW#3^?V~(a2Awc?KPT_=-{h?J#K}t$m_?!XS%6Q08 z6v2iQBZfZqQ{PBZM8STe|B_sM;0u)GCVuV~YlHRtj` zt-8)6gS{5=G>rd#VAk{{aoDHSu!5pRvtUG`jj@Llw~_L+X$PDWDnwgpND?h#MQ^0)rrcPwiu zQAwS+)(&TDtLl%Gq^ld3p%J2C@`7gg&DR7!v|V1$Owg*P{Ddw>z134f`VSm|g6=vc zRgbiAUk@yvbj0d;kV{mu+!F8{(4Wm*=iQ;6K)z)MqqJOOM1hj67;=)}1?}Ha#HiPm zwjAUS5lYFe`WI?1#IH=H522e_qDQe-fPaNLNo=gYQuO|8ve_}&(LG(}$+*#YJkv*D z(bXousEOvw-OSp}1IT0dF&dLB{d&)x^%1gvbmQT@ZH4bJ>ftmBb0fQrJFtcgritG? z%gO3V`*G7|mU&AmHQAE(4@Xk!mUCOQ{_JU_=z64 z4gRY_`E*^DZ+zmx;?VSSIgity%CMa8len}o4|rbt3@h1&EWB673+za_ z%Ixh&E8P@E^o*uJ!U%Y20M~w11q>hYFe-rkQsv)6QZKiM_MQmJfxjKV&g}DbN_g^kGCEgsml=sYVggChc=vXlsrLB|Np#T^GcjfOs)^b8Dm`yf zv!@^!fJ;hB5Dy&Lj5YPbK6ukY``?4#eX3*u-WC|B09Ey){3Z)uD{sK?67u=JeL82s zLnzbW|0%pVg2q}NOJ1$gLyzpN0#rJH<;gsnAD>@7S7K+4CIJ?TW5GZ_Ax_a%is5NV zbg`zr2SWwgoglO4q3Car+S9Aw3)m=n(6Zl)Ym(sGk&mfRg)rMICYT63UmE$`^qg#@ zdA_-MtMFFM0IH%un3X>y#8BZ)?}vL8RclFdSgC=MT3_*#xb-cI=3LYqZf0_wb*&*U z@woe&kECBf1WIY?wp~Pginr$;zY`Zf94wa({(M(6W!<9IKJNysC+44gCT=t8j^Cqr zc3k*>XJ!mJQo+v1yep?lRkB(x3Xb-q%zHViVYh<`xWoI1ycA-FYqz*PSdOij9run`a^~PmuFE z*==E6++aPgM5-Nxgnce;ZO2ie$5#Gh&s|g~-~*$iN=~q%^jeY86|+d7WVK9|GtxpB zcf2@ooxWIDQbb1C?7jQ%Ijkwo4~W)<#IV0gTUDu{lMXu+k6~E4D=qTek&=550_mFK z4-9dX@LmxxC>*&MmDBX9X`*VEPwg=!%l>m}QrX833`v4!a{6OZ@OLouljvAml3e&o z@8%f@KiIg(cRt5e{y{B5fkH`i`_mWypVLxPtT~=*CrFa@3cm9WOb;6ejTfvI_|#Z7!@$kWBmQ!4EtiW;GLqS*N+%@NM70?3Tv!zmFHH z^Va;4i_7uc*s|-h|56LzcO;@viQK%BLu@?G5@-_04}iq2HFE{;rC@p!46oW3%ota~uWXhk6hr1s})2)sWF98JOO3K-A) zDf^|pjY8Lz&G|2+NzBePjIGZ+6U>nf$-Cqygzp-h#`3u8ZMSS41$%Akf&TzdYCu>! zylwHho#tDAipH$kjRA?IPP@R9+fBFYA~`yc95}1%zlNC2HTyD7RNi4eT+(G}`{YZQ zG`a4{o@6X@+i?jDgW(FCq>t@z)LUl9XpCn)L*zPM>%Dw8BNu7BcYFyYn&afV3f7H3 z#b9XIzB>WXy<&CnyLGeChQXI|5k2qqX_syJh^tjg%UGe?(Hz^?g&$;-%AoRy!lovA zb?oF3{mHY#rrzTY^oJM)N(^*L+q8*}y?NGH!QP!rOFMC^qw}kaF`$wdz;#VSl5m@P3F!@yE$Wqzx#LB zzP|r?Wqw)LcG_coYg80u&@ns-seS61R>|?{S|VdUifCb|PyB?%Zs|R^5H|0T`TMmU zy|LawfS;OPxnORja1{uGwy-DxoB;quOa{0UqkpPk^@=8tMIJ79fIq6};sy;CtdWtv z*!KXomM8JIyMNy`)#?rWB0?xI|3$Lpxq;&rfNemZ18f9EL!a6-Pd{6=suf2xt^m(i ztf$j9vvftiK0BF<2}afsj;bV*8Ik_FB?Zj%`rEz zB-02Y$eNdK{})wf8I@JEMr%r11VKU?X=$WOxraM*7~fudz46RBg?^|sBF6l&fYwLrH}#eX<-FTxz-jh;YpiAWjy3=ZYBcUa zwOuE$8y8QakcKgO!$vZ=0RKnZ`w2^S@s2G*T3}zW`8*f@mK30R#6w)k<7y#oNWv`o zCc~kEqDK~glELni(hde&4`qy>l+{Npwm=w$*molmN0px^TgMyD9(mNNEG0E>%zn=M zzG!&mS|;cL*jlnIJ;w-RGCc_sC>JQA*8rVF41!e+FoH6~y+A$q79m%f*R!GLAjt(h z8|rLu=yZN%@DUlyWng0>^7u~&;=DkgGG}PIw&!lN;=NzAFF_NR;f+QPlpTv7tm3zN zgNVtsYTdYl{k)$|lSAl>JNm6IBZdiHV!ThQXUu*~-&iYs@NZ|CmRH>p-Zmo`>`_L` zQ=>b#G+Q8Qoi^8GcXQ{&5@%#%U5!cIn#ww|=N)(Z-`sDmERR1A5WKb$*^vTit&riR zW0Ln~%*r#f@)&G(Ua&H3qd#BCLi{{HXLnR2VliOOtYiW>x|8v4I_)}6$mjqtnLp#C z!DS+Su>QhSW)G~1Q1tiJI#((@GPL`CQ5vPk;{ zG;6=>HVUS8jWg7Cm+?6mA7bx2^dymxG$7NmZj$8aQt^T0l9gU(23S=8;=Fqf9o!Y) zY9WVYPw$>^T0OVyoh!fvE&luWC5eL4rv>LGP^4x~BiA+sJcrtbBW5diS*0$gM=jrSiBG;I)VhlnGLazt>!8@=gK5$3nRtZL0#dCX z;=$tgMP`dD2N)xW=TFpf5$vTnqQ(oxlY`+uiNm98%$UcYbulA2g&f_Vs!f-K{VqrM zL9iN-zqXuU=q50=sQkP${dDaU^KXm#d^J&ma0}z=6p-HgheXsdR_b|Uh93lR{I1g+ z_BMv2kRZ@GBSteJOe%&-50^nQUZ1sZZ%aopj5d0&YaFI z6Q}+$%Ff{2yu8!FjHRI$9E(^SwkG>a2v)`n)h`HbN|pvj*mTGVG)=>`kc`bEvLuX+ zDM77x@J89PydX<4JZvciTPf>f%0%~)xyAUrX=rU#T@)LbLw{}H^_PWUO%*s9cL;Jo zd$3&|q%yxbH}33d@_WyAZ1NZSFO)5GMXn$Z=pe&j3Xp#e|AZqu>?lPV5D~7w?33CG zJ`v_@cKPz*VkCt&KZLRVV5{|lC$58qTTplGbYti{SAs=ZL)w)<$~(K@RG7o_E8N>ke2qm$Rt0hs0oW7ylvM`eo7Sx~PGC*>-VA}baBW?E8 zrmA)*jXA+Y$CcgMgD?)k{+8Y&OIY&xZHT z-SowaE^vVQoXhp)xUx1`$qE8Nah1jsDlLyt@LH$6LP>LYR_30F!;|NlOWqe&M0aNf z01}G|9}tRXXko~8+5!-jSn@*U4nN=^a!|0@_x)&x z*;eSY6Twt3^DiWb*h_0wL=j4D(F|5_`t~jW>VO2l*WnW3ANmUyLrdOB zyEP$fzs)Q4O~zw_@2Kd}isJQd z)G{>rkk7RNs5wc3I)O+x4?AO7nU-y$+zZaajhW3TL{e7vK``tGSST5)en@6CUDu6tj}53HQDxGD|2oUnck1c5L2*oOp@^Co%-{4a=`fKCoA1Xc~AfI=29 zZqHm;d)+~L$yE%Z-T`s+pD?b2R+IhgIQ zNxj5G?y=Bbm|HiB`N?>mv%~lO<(pTdj|l_g59^LrT+3;-_lTm+(?IaKY8)n=M|6jTtNfUJqbQiuEkSiPE zx7@42s00$;TO%h%IV3g0B>RegLO=qfUBNc`Z)P_V568j$FM=}-7kWrpJvrJhw06eW zGP1@E?2NeQ7TFF;*8L#^RYM)3C~8%nNQzYQMm;rnAIZs0gbD7*xaynoMBsgki;93* z!)EZ{R^|lx6%US*Iw~IDr@hy&P`5TVPmZ=8hkc%|bg(^}eLcLLq07sFpMFohWMw`zV1$I%)cO3LWrBj&5*ZQl^GIQhVbl0BO+h5sm1NZ~L z6_x7*_-jJ&b^#!%CHvD~1cpUx4xr-%DzwJ!y7nF zM*rQL`unY=T$OvMUR~f@s-N@!^2Gr|DY+SDhIQ6-Q*H4?^-fT$N)~~UrQUXzwA$&) z^79HU&spZX4v-;WqX#vqdF5BX0&C-ZLec-oK|gT@*ulfd9L(|o%?+_2dV|~bUsbe@ z;D$wOpv{I)3_d%%Wf>WNso09Q{%9L2TbE5oy&N*UBLXoR-whg4DpUet@Zkrwy!Fno zSF*TKO(}leiQ-ajHh0!aS$|Cb+U({?-rtV!Fx4`VP=}HUG#-k%pX2u(eRqdcmp^KC z2&PcWX;7T$c)`V{5^9ESPBEtrN5R);!Qw0X8C+AmQWun0KIRnnx~qiWyDSb3=hbp) z+P;g;tNWznw#gT|zTXz6Ua$CZSY||DIP|nvosgP{|qsL{-4~8Z; zw>O9hqT=Kqc0T;2Ts^~qs9U&QHajhFcxk?i`+e}r_6T9wK688^nSZgtd)HL#k_Jlc zV=0FLGdTyVCZr?qzSi*&tKViu8zH?t@3oGR+Wy(l65p({nk@LI*(YGyJb22bi+2qD zyDCjfTv&YJX5wu~#n%pKrElw)d0bW=FQ%h9MAVlE6Hd~S`Xe^#ymWSAP(O+j&;;`V=kL%Uz?rYqfr0ocS8)hu)u zf{@i4gVza^)SU^Ve4{<|8eA^pjiAv{DbdDoKtcf;2wXdexI?ed;zdO8#h%+uJqO0Q2NWr#HDv&>N-3Ut zjpz!54bS2sz>iSoOEUsG=1r;k@JvLKU5hCP6r}^UwK$u((>l+cCx3|wepaTw?MnCg z4*$yp()ZJC-hfaFZxy53u+c~cKi z=vNJkhk=-OS=OqcX9b%x4HG6@;Bg5SzX^4tSz~mUHfkL|?QqDId-tjwjzw_igA*FS zpO!^kb$3^e$8)x+O4Jc-seR86g>%0zKg=Hj1NOVNEA;>NyBMghlJfHMQczEo0M`P& z?KvSEVF1mI?Sq$?jM0Y46F_`vVg5M}_;=8V{jbY}9ZQ*c_L0%gUf{eC(BUTGDg<7# z41~X_DAC0bOo3PxQ07Xt(ajzivftZIBI@OGjfGU81BTr0*M8E1_bI@(7Ba;?#4Mk# zelA)hD#M+O!AL*-G?jYeGP$xo_z-e!zbptR_%l8Q?~Vb!^}C1n4T`aB#`ksYa3{a6Ka;roTqKPmmS=Vv&|`OtNQ^+xh_^S&$Yf3 z&8HbewGWqBKP&WoOhgsJwO(Pj;E}xc*lB3Sz4ppOt-;i89Og%Xxz=Nv$To|E#Lieq zYMkE53wR;~+=-V}d#5I>Eqf8aSKJN1e=II~e>0n# zRKFl7C}MLMKK*sde%2k8n42JDdB*;ialP#4Ro$9#K) zqoAUI{iUw(-s;(y=hfoVr@Pxl!F87r@oX^Z6YUUl4wSB|Fd_9q-aGuYCCe8h2n&DG zOy%8M#@GDz3+3yc+Ppl<&9`abkfEkea`KpoNL-_UayIm)oOkHB{|n1@30IEV>2B?t zEO4UOz3b=)Cqd3h8lPA=Z%CFX9mc)>6K-Fo*lH;Z* za>g+;Ir+Eh%UEHr?kUfP?Gf7+^LdxUc!`~t>t-n<4NdvVA3yqM*bjo*vBCs)#)$>S zyUF7HgKz&7cqu3;{&wTN;p$XtI>8$#b^(!zYn0Ltu|R(!vBCs9@;!`{g0GOf6+S~& z-IywE+8%H$tKL`t_IubUgWo1A-L9|& zG{{pXcSS%B=8yE^e489GX>epIYMBy?(CQ5Z=%q!H_}|5c8$#>$@5#mZt~#?^Ks`9UJ!D z7vkt}z>LAUIbBPcZC}0Vn`S~>n;Q0HmPF9ta9Pn?U(5h|$e*8~D%mUD?fkMC9UVFC z(q1g%6K*Fv0%xgI-~UGSGUQui#BE0w0tII@_?wvi!U{fH3@*B9gVH*S+MXBv#8LL( z^Us?__i>6`>)226M$YQR*Z0TX&hyc*75WEnfn_OY>=L4yd85p0I06;N5p^*%;{H7P z)Ya*!QSm=ZGCJwLHhw0doc3AJLM{ZQk?+6gJ5{WHL=tv)-1HmF)9pJ9H|h#1sIf}r z15|kz8&yH9f7qEhrS!pfD=1eOL2b?U6wtui?eUBo?NF|=+(RTDL7|?shZ6X3d!Co6 zQ6IRmUO_xZijMY{DRi%_EgIw{)GxY`l&A3pJhpnUtAV9Kz|unEFYJcH-96W>0GHKi z7e}7N{^g@pvv~0f-K6 zL`p1FFr?%;oa^&)x{O^~;Ipz!^AK1p*eV>%w;wJ(vu)M{Cga%Uaaq*yiHSkO#@V3g z23tX@fB3QcyHK)!__2tgYpr@zx4zkW3vx(jiE69=EUQU<1;QRUUHfy*5ou{@>^i;5 zw90e>o4*guc%7GrbMhu1mTu4YM+Ar)gYus)xHE8Okd%RM6_}dR?$%K(ejVDNLirItyVh&eodZjf5PIgL=MI#P3O_0*OMy;230bAQ?_a5~{%Syy_|5SS)TP+=q* z_0F~!;6GHeq;R{-yz^sget^>CG5WCCX29%B_}dt~ zacFCaXtu>5{)kq#81VZlEkH>4etEpR|BhvU&mu1H3Ryk zcBA8>!f_X)_*EKbxfOU)N4}k*fTs8@fX0saoE-Mk`uF&u9Gr0s)v~G#883^n0j3FR zTX5`SxF>7WDi@a><6vuZ%q;G&`eox0x(UTStQdRPGOb9Z;wBx>J| zuqUIXeUHgtL!UUswr*(B3-6M}xJh_pe|UBSbe}lbSd@T-eTNKFe@-k`IMM$@9ba0d zOh$_2YwpM91zV`Iw(p}EI1Je&d{Ki8*887m{&@|#p+u<(r*k4Q70TZ~s#Vn|W5C|o zjmf(FkgWA3sk`%l>9aTVl|@FF$1<*QKDzw#$WN64ZJLb^*YxGj;XOy_8#_Av1LlVSx-KA3fsPhLXd5Kh&4rU7YPwuFp}u7*n6=Lq zkNjsm(W7CrzFnCO7a$nPjbd%{2Ha?UeO8Y|uSIjGSynnUW?K&}Jin`ZyH9`GMBS4v z(vF}FgFc%Tz5`0J0N2)~94!qXF|t3M#*v99JT5CLTLs@yB(bZJy#I5v=AeSR^InI| zVM9t;`k6W%kKGXB?FHT6n9+6_5Xqvp<8^Jlh^eH$muF}?3GcospJVe2bzHHzYwBpi z>h1iiq3*qlN0JvE(H%!um_T~~x?k`RN7b$(Iy|{i@w?E&_UiQg4oixkEgX?$7-Rt$ zn%+c~%QGAUG-@n+L8&$<@#G3>YGLG(>y8J5K(1zIyZ4O!kKBJDqNK0J1n>-L(T7R( zL24cXJO5%Ob5Qnzlw3NWET92Cy6T<7e%@5d1KVM+%>bIz&OFhh_+<}HnoUcv#QiWu z9|R}jz(=&u6zRaw_zoys?l>4Jw*?#kE_F80w0NkRtQD%s`0}5|K5jx?@JF_pSsLpY zk4H5yB=}3B1n2xBh!uJRE$=wn;BX;W*ea@jbX4F4p8{CNgo5fCi1tv22Uo5Vs50e` zVN$GE>^mz2pY_UD(kcpjwoso|3#_Kv&{`C7oZdwIH<16i!27`AfZ5mx( z^~>KE>N=nUof{A@auNF2-%{7joOU!Heg56*yZWx%&S-PI5=QTVrvxf(qS^XbBi<-4 zog<)^$Q?0CJEma#ow+)iOA_j5PG1u9IReP<%6vJJeWQL|anU!n=9&<#P?uJ=9KE*c zwg-68t}fS_>SlUhPl^1q42nK~TQy-dv?}8l%`Rx#4uv3(Rt% zTNI<6bj+W*J{)kYK~hcAFvn%OR=8jrU_%EaYkxt>+o(lIp(75mh-EWFA}r>=KTI|) zI$;D_EIM*;D~Eru^y7N!#;Al>hbve^SoBImhP}p1^mX z!qieHMBZauT2|SuL}@7$iuh~uxI65n$qrXKcZvZ|2(XI>n-j2_n5J$wB|B_B=82efi`rWMG@RTdTV5_c|7$Z+3H9#6&)G_Y^I7;v?{S=GIo~}JaDRFI-XX%*M zJpCSSWF6y$b`n~=1}ycOUd(eUffhskRmYroju+nTL)=67x;jOdPcBsNrw zPDNDF(uyLN#6rdG9ZG!)RnN}8I;H_;NnK!QRBf|X4+2+f6nJ)ajKRtfbb7^8Z&BFN zfwA5WmlgmOipC%Q(7wCD1o?FTj6yrd9#Yrlif9J-3wfZ>dMo4|D4&FSITi>8P12xLyt%>FCASORL{oc9EY8Gkb_y%4_)82kh&FT zbzofv>dYbI>Q!nbPBY*JbL{BykBAQc-#SwSut#go33|WJ=EK%7!vikx;*&ZVdr`MC z_Sk=XF8rgVEL^!5=Sb86){O)%V)h6?PvqQ8%^h!4{H0!+1QjSr)$7Y(J(NIDAQ`x98?WTRR+CWmc)VmF7I7OwJHmp48I8r0ve%iXWmOtxlAj0^>r=mF&9pxTISCw zbmm!k;Iiuf4Ra`3>zb6`^6~|SLxk@YuoAwB05N+1(ZXX`z#ZCt1QKpg=ZMjmhkRYL zY!J6~`wB9Hbx-R&0c~Pmx%Dm5J8^kkQBkzbl95U$u&Q*u;(nf?gh;FWeaV^3a{EI? zzJn7J#012(#8_-Oj8M3cD~m(Ooy*dR9i}AX1DB8T6=MW}^s9gAjsqiQLhJYr*^g105fjKF$YdY(j?3 zh}M&88~MD!s@lm>7fM8!EGcKJ#ZrMO8Nd|t|(OMHt1UMn>r&8Q+1bsQV zT}|f)EU8cgi>Hn*;W5*(XX^%NtBZM4dUM=r%WmW&XT|R?S3h7|P4cYdlJE_`j&zQ*VFUF8roaFnn zO`wU8e+VnurG-GAlDs#ocdXw=ij_3O!%+~6FYx@?Qx%;%t;S>3*EMXMS+e$HqU$fY z_lDK+ybvw!+=QXiXpF=!Z>`kwvh`S?)2NKpODOxhA7RtG6)gf~YK6w27JuCQ?rLe( zoTsz7mOzYEN+F7H`;W(EN>`d0=KNw$gWuw82%Zk#q9m5`Ie{bg;$75cYCX}`akR4K z+=D<5Y7<_}j1K^Me_*L+^^6u_Me%=24Q z{wE)&8!7}u_=5EVy2zX8U4ySUN1#dt^D2N5m@2hX0NB8}87%72mCc)8;fDM&q{Kb8 zcYHGbw^NOnoKym%7`gCRif}T})&X6!UNhJYKVG2 z&XF)ms{6bHhJUv9Riae)YNz=2_wPMMu&>>8$-rRAr+!~|?c@{_C9|48!%-H#Ih{vM zS!<|aXkA#Qw2T3sY)0u>`AKK~syjCqE9vX!-=$W18<0}%iLwJKG6FP3EiGA2g3S`^ zo5=02gDA^3){XkC`vR`9#Xio`9W4qk5!kk}S$pE@ISs zG7!E)XZKtrQ2xzz=aM zHT3HVtYqd-F^p0#0}g#V#TkP ziXK#^3F~_KZM08Gi}`(!YSkxh7kGYt_wt~A&nPVwX%*frjgz3rlw8etO92AofU}Ks z2FCN_WYLX5*Vw=4A$@7}b1N(mF{Awe3g^{P>iLDuV_n~RCgc?J;ZtErWn9u?i*y~u zy`G=%S682+Np)a-z_aABX+l7)HuRhSOGUdO2Fa7|RUrvtPO=Oj;8~ug#2dg0KZ})} z@1_vYMiEOM$RNuu?<^N?v96W>z!hsUN!&$Ra=I&p#V$x}yPi z5J0Lbj!mLO95~EWfgOnD^`VdF-AD!!$cE&$kV}}K+(tde_aXvnJmGk9_zW*QASeqG z#yU_R1n(GyCLcx1M)l&}WJp+kT`+J!!`uP~vqHVp^WxT~;XK->tML>5QNGl(#)yPt zAfHO|H5*%8UGq87uRgPx-?dkv4PpAzr}}lJ$%7+oX9hR;32%@9qyq}*sF9!G=4A%t zt6hgJ_1`TJ3{diPX=QFP5KA5gz`6vo3P5vIRj~kQ+*0QT=mou{fQC@A+EEA@p^&pG z1gy?WJehEFfXQutnzwAD^prW9SazlGlH%KcW`$uuMV0<+)G222*FS^**VCgtA5jt? z!>z9nT>EmyvF2Xrea(}OsaaaJxAzq5i_)?i6SXLnn{>eUA^mT{DhY}ly~zTkL6)+Q zPzhoQlM${i4u+eBU^Q~!eAcr`NKiM|*x*C#ZZbU_4>3wvRA%$6vLN1zNrWaL`OR1> zP`E3Bzw-?>oR1x?(R@2`{1i%~c6nH(*ACU3?U!vbsOCYrY+T*A*eD1oSCbX2FV@gv zBtWaSKbUj2Y6kKXPznG6j3$pElmOmB2FsVODaXkTOJxl~8kv;dFjWwe-H@XB$)B1G zR$7J5toGw}g_<29*Vj+Kxr;Tth5U|b=BRx8KVY{JWwiV6^}gCnTUz{GpyVq3Dyvqc zg8}5BCc2sy4eVn4h>!-am=-fW5!oCXuf-h`<97B(-<`GLXR}#LMjU`po6X1PEH9T`i$nj;9gsPaY+{kAit3-TP^)@M4aauK1?K3l7i~ zgbhThnl_Cyd!q5=*6lmyHS`U?0<=9+Uv$_cdE(spSlBny>$HB;S@2X$*xRtJ(BhK! z3(SIkM(|p$Ha+gwbe{emTrB}aKyh=CSfl)Np#-a_x5uMyXwve-SA2$MUo6aPg5KY` zo22BV!9;~8Rh54Psd4{q`_Y37k0QjSL?rjKUS$nm&U{tkVEk=5dp8)vGI^dR+6CMP zj5Z|$^J?G;AuiK;J40VbD*ajmB4*F)yvOma(_^~&$2F&cdktNtN;9u#eKTUM)D&gh zdC1S*D2+zT%}M84yBw7Oat^QPf?Dq2G%x1&TdjR z)*UzgkXi`2B=@fU+OP-4TT#;97X*1VJ)?yHz6Gvg@rSTIEJxiQs+av|s@xZu4x_(h ztvRZ-1wv*Vc&EP-ZWhn@L}YWHdj2l#B^hVoc_*z$D|Oig0sGO|goFTUu@S$Tnh)j& z%AV&7jCfv47w5!$@8oP>UN7t~0`L#JEvnayf{m?qtZ~hj(^07;8wwfW5n322y5 zad{#f%A1Ipe>siDfBD(?Wl3K9*T?5237B8+@9$%G=Y1sc1(cGB#Kt&JMhr^!ThY>~ zF`s=IWccW<>LjAf+dqPU6-b!5yaW(lUw?nk)|u!bN{9Hd%h5;yW*H?%n_4d}E zUserT>_7=cnGgo5iUn&I*28gG!rSk!MIlCDN&#|2Zlkyv3%S)>!vxn%s=ZeiGDMH^1`A46Hlo206ehOgQXN02T8%@SgTCPm=1@{vL^E2Ppyh5&9m z=O~iTbgee)Vqx*l^7LGGl*9$j>wfE)yQ69dP%cbW4nz@XZ_XY^_yDA7sAfI$vE#XC zIN6;>37mI1=s2{k(X4m_+HT-sYvMGxMHO%doRZT&%V4RG&nhWLPi@I^zgoEsXVLsc z0>XMrcRRr*;~3$7yQcru?ugDc+kD;O`t1)`{FgQ9Q}h`w^}X%B#AIZysJRE0u)8MC z6Q&=ql;_<%AEj6#-GiNnbML0fyagO#Y=!>p{v-(OCkvt@Po#D-FOB{|>|`Xpi&GFXMoe#(Ga8gH^KT8f92$c8x>D5XFo z1LzRYF<1t_W+=SI7u&MNz}L57|D>Z@ zy)?S<^*q_@XKH8|=Evxk!CLg9rrpwm-Jk~$XaloufY*{0E6NAUnY;Uf?pMX@@$*ps zx|678puA^e{8srl!Sb}c&VYG7exgT1X1`Ck)wB26!ydKv4-jXRzz{-u0f!4>z5uo} z9pjlFqe#Im0e>VRvvgJ*%QyS$-!t0m=^*FX6JFZ?=vny`c>)dvLMvq zAiWGs%T^2cr&k^#g0bI-zNxnH;(liEq^(_ym+r+kAI}(ods+ohen^3eVzZ>rs{t5c z@&lhG7=8}mqLNIyrTKd6IFTYO-V1-WW?L(oa83*?L9ruVfG{+aUNzu_G~mWqbvgKD zXU>Ei7;Ji%M?Aa!qh5bR2Ra~&b6(tk{&?%od!yi0kn{{XJuz=R>pRclU&X&pT{!H6 ztHe0#*YPq!P>lil2^STZDUWV-0^w7*xtLr#L~xCf zoPv)>g`WV~-txWi%!BU;7{VKPe4&Y_OY>%-fg3XZB2{lasd(mh{Ez0{C^O(~$H9HfwTB zl-I8|i3+K13#XowCJ^CZ0K$l-c0f=yXJC}gxTI42CMuIuG4;)iN)dM=jKQmLKGA!x zC*+aQgU&xghdBj%r@Pmkr0jFir?NNvmV%5)ul5Jmi58(644-3hw@!Y$4BBxL0KEl! zGZq>F|4?OB753Q~o8fHHl+~QJg9w5m1O6wR9$5fhZBIn_l+1Ve#|vxDn|yMRg~G`H z>;DdeG_N)Q8rTe)Jl)XMFS~ot<$rP5UusVEdAuY3`b7y0%{RuOy|yzF@%DT;9NuzK zzDu;0*KBR9kteaF_B1jSfiHRHtYboq?xKITy}Muktp@XR!Zp zoJR%35dxOECy#>I79?MYBqA%I10zlp-wB+*(O1~Ei`Tz2nHo5DdI0o@60F)(50FM{ zfHZa(vOE+ZWM2``<;|H>4aP6!-Tq=CaH{iMoWN5ATt<(A7eTA`GG*nXj4&sus_5bw zQA~vJyh_(}F_6C%#_<-1b$v?c2cy84sY(b=t@+)GEg~41>%%|`pd$h>aGO=1c5`U` zI||PgfspmpBi4atz=VnqBat%Gh}V3cH@olP?uka4AM4Kvxk?oX1+jLP zd{DLSB6Y{^e2kWRYzoWDdUTndBO(6*M}JRT0nLqdP=w<3T(Zf^f}Ab(CV0_zDp07Y zo?Kb9jd~40(_=6=9s_a-h9BF2XhXX^W=M{2XS#eNZ3BvClkPS;Z3H+;041t?n4(I2 zPM=4hSg&ZiXYdFgehA5zLN?%j2h{Ov$xplQ2n1?gdWEOFKk_IPb=k>hTnOmYvzYOa zdT4`D<$hCBq%Gyn&TW9a;v0V|CJ6m^>&uXZvsX+9Dv_7{Y2i+!zrRqz|7{n95I$>Y zM1YW`Uc+^853^QgzQ1+n`ar-h5P^nswi4aS+q&!F`2&56txp~oHRR?{*Uoa2T?F10 z?5}~s1k#BX+Q^#4g;eFlg@oYi;Mf>iKz&JIymX>9#5ga!JZbrPQr&X}{Z3OE2pcA| zehzmcIL!K9`yH2Ue(+|s<9+4bj9NdxScY?y`~HjFV&az?&0{z)S9?Q6+EOsOm2DE7 z!k=<-7#a3L%gv{ksEv+a0!Q&}!f7+xY&7{`OP$I45c30E)ZhkBn*P(9FBxauGdfHa zPakhDc6tZc-h&THPL-W5C@yT>Sxv(|tv0upMnXQDWDymSpppkTo1$Zs5!pD6uI`B| z6i-zir2thtz%KVa@16T!gLedy2pmJ=?RlW_1b2&SjaZ4F`6+5EZn_-?bpIg6jPvDm zS$N<|kqcS|YSIP}U(`sGCvKpdr*koo7m$P&)D}vR60c-7&)zPXx+(~gd+Zu*SMg++ zW*fkfDdcu1Pa%|F*mg0`K*h|2aIxjex^3PczFoT3C3^CF&=Okd(qoT-D3gRcE$0%b z!lo@2(X)-d-R%~YGAUv<%I0t}n_x~N4>NiXsaIcsX*liJS+Kw8M*Mu%QAvPS z!!u;cvTnF_yt=HjJ|@6B0D6Me={J|O>tW0Mf-(M0ciP{$5;Go7JXO3ZBN(-{#hK8Z zMv!rpjR}7ADQxrIYd+geftBi%7nNEb(4(a$dH-BFcyGYftX@rQq-K0mw4v#JvQhe2 zhSH|>d!5_Cn5wMdPRH}+)@HU@j}+LwkpsU(V3Yu)`~Zg3Ev61joH47dY|$9=_*z{D z`SQhbrMcI@PiW5Lv0G*I)Ji!q2_mh_qxOK`u^8ylH& zO`8rZV^|LBCk~(-vYv7Q7CmSYF}%aTOmVFvL=21;_7{)op;FS{&3pr9g`Gy_`jh8- zufbXgL)kpStGYMPX_zAsdzn3yD*` z4aM>59cEJ)(2S8`A+y~?;?2ge{QJ3FJizPAx%>{f9Gq1+Au#-;8%*=qct8SK45k-i z4EM7c*ULI(;_)5ZsKesh73)AH{Q$1mIRfyq|8V5UKQ1&1)nZ_kE%UFw^EE_PHg z#MUjS|Eca-Q2|*!e~{PA6}4q7x6;x<1pIh>)ymhZpuOCTdklxT375Ua&QrzrS8mA7B^9qv3w}94+X> z*yuZma4Flc=*OjYK3oN4Ac!2yrWvS5-uKL)w3jL>89aE-G|p_w%iHKEC24AJqCo7= z`%-+<*=Q1%HFcb!mFi}7r4rp_zP2~WGGF}u=B#Imjz5Q) zqW?1Sa(ggC|MYmpnmMttp0btkYr|~6M<$qSf(&+~3X6QZ z_T69@f<_KDTvxORmMBBIgV{pWAVXW^%+rN?8X(%Lw@}xYa2QF;Nm$H4QrfhNPaxI0 z?tPHJ);&HkFb*WO*W|vy?JG$oHUUpGXwAU}$xuzMCX5oOoFt0}VBrEtu^F}eYfEq& z!_umOx8QX@Y&pwTUHiDfZ#D4D{{&j`KY&cC3xEBY#U9kdSm6JhxVHk75-e|lon%74 zh@7?c`Vv{Vr;cM}P%~Pkz7NupZYVe-_6`ou>No`?HQ7r0P6+!9-~R79O++9jZy-5X?nWtt@P}f z#DoDbe$b$kgyxvIm?<|%72K5#^SSgcSeGuwP@R5|8eShdq<&s0U+7B>=8T5YNKTF6 zDdKTH3f&V?fm|+|O3z8Hxuq+tf+U~nk_P1qpx(bH`jSd{2S#t$S$bmfGa1jwqu+nC z;y!IdW&IFk%jzS}Pm^^=VYO?{Pj%Z)tK@AmeR1YY{5LKvu7YcR@V%Sa1Gb1DC(TO7 zWY#xcFRB(jMrA)KB7P6LPVNo;adY$pSBZ?-W~#fQQo!b@Y|Tfk+Be@!l@kLZ=jT^P zeaKy5o<~zk`!Ht`6{J+}WK18Mm_83E1IorEfHGjeLUAPul^^K)0E{&EHNODx5dfP) za=$7<;W1%Jab0zhXL6oYeS92kU%OyKQ&d`3Ft45kYBW>0xJ)|c>*?+m)RAzx~cP0#u-Ri$bwc`bw#+fSd6+FpLHER z4lgg=#{X#bIG#BxhYsENurHAVw;~4%?go|8)uM=z7*FR!OxwizKhxn(sn^33PhFd# zPyE1!4|?dQ(NC+NAxOLJu)NZ}GQp5gfxLGiF*(wsq}PPKp>SWLfPJ@a#ra1i3aXER z0opCoof1Dn9X7)?h;^4&$iUM&@3<5qL^?oQ+}B?v!tZeq*mBtw^dfFjPFP-TdwKgx zQc`kd41vgKAP0gF#B)($dlZp$eB(2Hy3?zp|LW_6NtcqCY;#?=RaEK)tNB1U^<3jO z5J#ety1)$mr_Ku>v{KI$M!GOU+PZP%>c@V45SWwW@zjMjVfv@z@SztS`Id%p=~?n7 z3=%sV*T0NH$1RxTBCuDRjWq)jl43IuOOzR#{{vqAcuWdC&!uiHPeo3>HH(}?I45F) z-e_|0T^o+D{nd!OA%rQbYju~?Q_X@-77W{|x+lsv=L_`S^l8ARy7s;AN zAI@e0mFaBWdSELc`p>I!s_V{i?}|%XTAircHLAj6$>YAqjTQa+x~&_;k)}Bk5law$ zPRbafl+I2AeCeCHSWKres-rsNCs&vIxev!4oVr#_?eVpS&00Qqz_+J<@WV*A=lWYw zRkTlSF&Lw;;$*;t+cz)}{&KYr!d1O_yg6tC{K+mFZ8w8jE(SEt4;JfZowHVq0;;;S z48-kc8sd2EM>v<-J=xu8oLDcHt$KB^0R1hN;2H}Qe{i}htKCk6@qLLi1%xz{yWAIQ zt@ba*!xsFpOXD!`Za9Ufl22>qy40oD(2=AgD)wG$`{MqX!xhKtELgZSR4Y7N; zV5ex`xIFBu6M0>0s~m!9L!DLJo2tpfhxu5*;G51~F5anCxN&T}QI@O)VDt@07X5oE z{`7y%^)N6HxK57le&T=Zd~d~OOaB{VY3k)iuP`rQF}(fRp4sS1m=_~Y5y;OCR5Eh9 z1)&mqd};CpOefSX7hl7m?IDr2I_ZP7!+-g!@6{SCWe49t8HUA{*KODniU6kW;qGz^ zBr{7&5kzK96*jIOIy4-d%!1hts3Vm>U%&~5CPr;0%R(x!HVaKMvYIIET(^RiR9tV2 zA2Dv7GoXJ0Pf_+AvXU4OK((9~I^o{O<%A{;y02*$ES!f^o98hsI8U7lTZr=0rRN5D z(>sPIMMoN1HoYszLZ1ik-eVmDF-?nv={(x^Oo~Ak&`8*FdiDs63VHfuk9wHbe%s%- z9G{rLfb*juevIlS<`tHmT@iDVzOq@3c;f9Vt37+(&F1G*Eyzt889fuUPv!$;H!q^h zocuw8P~?=(eF!7aTuLIdo{Tr+a_`uatP;WXS>|@im5%9+4D_y5F|Vgd#~R_q!P)2k6K2VK1iJ+xb(}dG)zndzs-r(QMXLJ4)vW zcJkc@%Oek|bMC*uF|YY#K4%w*N`M_q40U)uxnZ%tP%}ml>)LY^OHDTCfBaHL{#{-t zf9;yrItB}sXu;}TEc+x9b^i4mGvmv{6h}hfHvsMtM(_3%kM^)Y4op!DX=CGJ2NN(( z13@tZI+7+{{Hrwfq4%GFfd(KX z1N-;RL2NH^FXGYJlouuSkgP!$W^YUR%M!*;?SowL0mPz*TstS80V6Jlo+0*{apw>2 ztVR2e4aLsAL8k<)o=nSa7mS*{dm_9v1Rtja^~8*5MEZ#BL=kCUW~s+uomaU}UC~`% zE%y(~5_s3}|BtBBy(c-dB@@ymbJK*fhNncg!?7-{KlCEox<&YyA;y-Fuh92r2ZJL= z%A)J*A~8_LwVN%rAb7i@5rq1Gb*c`(cU$Sv%Iv=UeE9p z2nMzt@n1dyWfguYj_8{$Z8u_I$_32vN!i#gzH*h17-n(deX&^_eS=fCPgXP_ zHSy&7Z!p~HrQAOz+Gff!Dz^Y%YIKmK#ZUkI>HZ~(k3iD0RGI_; z3CyhF6hK`HUC(e~h;*v!-PAo#6PzgALMV@wI zT!#)4fZ9X4Td1QsgpIQQv}a1ixOOf~===K~R2mq(8waM4j1^{)f2Bc6s1#Bzhg%*b zqtPoww_A_sOPQXVj3M5;SsHK`n5ir8pF-HgOmWofI^EG4i z1cI*PE6b26B^Z6jDPv);&y1_)T!Jn)o2{39M8qsWG-5y4voM)f)IMDEpQmz(QmGDA zwL+>wg?2A&e6EChZ*Xsg>sklsgg^23kzil)!4TBFC8=BWrZ6k(S?Rc^X1=>M)7hzY zNIFf%GweNxVD(}>rJDH78P@)b|If!icaY%*7)pP<0HRMm1FET>0gnHxyugAog_d$h z1YOA;h$N}mFz2Q$=i?>HZ+#tR*(yaYq6}vsZMrdZEyTXN&wnQtljxZ9c~^hHhI(%_ zl%y(NP6j2;eRRAirzX&6dyo(Iwb-xUCGfN1l(KQtg@{s<-c|Mu>F?=eKdx(NdfYVsa_|-Cs$_{KyVltjk;1#eT@Qvz~5VhRABzIU$$Kv2_>$^2hs! zWY;l3c1!hHi$@9F0%(Fh`1Z&whsB-F%pKOBk@(MP4X7%aD>l%U4M0SIW`Rgo&ixUQ z4}fG?vG3oF2o_czK2$Wkc|ynq@~q8&a!3q>9JR9Qj6DZ;ckcfJUzF}*R}#n;P$hkX zfVww+aM~or2%Ki!ik&~R=8-Lba7R*^MTkg5S~J5bF~^@`S8Pm&x%esnok_5CN|eP2 z=9NqnTCCl3l8M|Xz*y_<|3H5I`0oNytjpmjjEl>P8rGaN5h|Jr1K^%s$K=TUKDO0Q zNX>;;wcB04t-&?o7YSPGHx@2S;Y|ZI!Gjte%F>kOFl;>4@&#SS6F};i0^0i0P(1X> zlJnAh(%V71a05imM9->hc=A&j`QDAOq7uu4%e2!1<_SG`@FOo>LDEt7^X?odn&JXD z%v&x>T1^_juz2<}{9{)mOyt6j@3B;1c3F?4=g|Z0!R!neTLN{RU-pZ+#@^!WA z{w(=i%<0xIk0FVYq#XRx9`=~<8&MepOG8M1HWb~6RfnKKkjN7|WhPvB&wtnd(=R2- zu1MI%utt;)>bQ;{ToO-9{`bCp@otLLI)$^lD%M?MhVC>m4}UH0@vcQNxUAG`FlXF4 zXvH+XD-F_Y&0)LheGfBgT{IS}P_Uyy8&bp1&f}zccQ9%&S-3@IO+gR1bg!GEf2~h; z_LTA!Ri@n=G!a0#fgy?1!c9i{p-AcD{ruY5;KmZ&YFqTi$^pRRXc;>vt*NK(^j zM)w~XYim5U^rNVF{WgDY!ezoQ?d#lu=BqBaa()YwtLm++WHa`?SwCWc1ezVx#DHcE z({nG>w=;1vyg2_JD;6&*oSIJK&@bb*=)l&Ze&KhR>ETVZ{n)?eu^4AJcs}A@SnC0c zxbW>20?`mdo~xSfqT21`Z*iRh(N6)tlag@hzSJNF6JQOj3XG9P%V72E)m*njAHU01 zZ%{8NZv=aF82VB-du6rA{NC@oxbqcRgZwLcf{!*|mg1SR`J){y9r&f9G%`2wVxjJO z%Cl{dgBpvQ)FI|64_^d|3qd7J=3V{k>|TB!npuYTUdu@3`t0oQ7331)Q=9vN9U)K@ z4E?C6sNVNgMow2MS=|Y-GbUboZhS_q_X4lPwuZ=_5##wHa>ga3H5+hkkaunf#5;e; zB^(*b3`Qq<8eHceV32}zPXF=Iff6m+8PeSBqW(?l(YS7E55aJ0qBh~QTCaDGmx{pQ zGgNbvWxj)YQ%^`-Xz za6Az$_VB<#v7I%@LG^8&4TFgs7=GJtMui{tqo_X1+TqPi07K2sg_IeK=sN}&Z3Ewg zC24e(;tz9JEjEAWjVvWVLyBtpoHk7WmE2iau?AV6n=Y!ysx!%jh0-VYwj9k^uFn)- zNmsNxjNhKvFLkDMzX5Xga!s4AC&IY_TYD2G?o~$CmYVKtJwtm^b=H(2OJtFV=!@HS zNJCuHef&kA^U~h>ZC6*J(cg-2=`&K^dOl;1*8t5yusPm~s+WVivo!4J^DmZ> zm_Ge{u=|DRozzvYT#wi0YR?d7eqKDSDwb36=NrLp%;xS|8)E#VzkKr7J}bMkhVQcl zl%-d%R_emIL|d)K=$<1S@T=|pB*1swsV737v=Oc6$F3+YD7{Ch|BLOW!ptX>>U%Vv zj=;(c`Vyl$tj= z{|Pp;dz~ByiS4pgK@TUO{OyzO*^4GH~J(Z8O3qWebM|q4=eTEyI-7UqlvSw?M z&Q*oZQ3-v$a*t+tMx???;J_47Aq2)?kPmVFx4ZS`Fedfg4L4H1VW_mn2I2Mv?|jRd z0ynE~5ICnJ4v%q$L4EZ#Gm@a|RC(dpO;#-!+#ji&Cs4cVFv%{QiU$}m3lOnd#zaRMed{EbG40LS0DZ! z^HrYQcir0F-nh5}aZdnV<7!vN$=k(R%N@%1%}aIotB$t(8nDuT@!|F#c#Y_*8%*iqx<3|H<(RXP;1N$nIc`-I!@As1Y)eNZbZV_peaMfM-jQHo8tYLKJU(Ypd9fAP}0%U7oBw*GjT=(&T?6Sfh3 zZ*SU@Czl{-9HWAoAihVdZa(ibA#$(;Qpo#>qMRT~8&aL<_q>keEGie*sgTU*7JDcz zo=Wzsz|g*wFS>KrcUl^sCd^$ax9YGFc`>=9QD)oa9rxV+Du>%aWG2C>3$nw6wGX(}m~WozhE%pZt_sYgbGW zYqvrLEpyJ7f4D~$ga(d2gchr<7Yj&#SUC3d(n)e`$_)^)uE>g2ueA7WE)p7%P($Uk z^+&Vb`;kTl-5yA?L6QnuNW5G2V>&AGvqY8H=DU0ygx5accqRI?-j5`LdQDy3#ZN*i zAn?7_kZgDr%0ZxW=X%0Z(_1grkvwkr86&&pg-=?l|9F({RLvV}&X&vdTVH-6F^r9I z!lH9xXBG~~<(|cBce%Lvdb=e8{8-o=ZEvun|0`1c?~r~4@?+qD2BR=LIU^s4C*47z zx!mjP3zrxFK0#2m0!#b1xSUC#t0M1f>{R5+=HOv*WkJvC#CO>_S*k!F<9y}Ia{=4u zG4AkNnmSzZ?@Unj%K2yK8Gh~$8Xq|cffNlq@X`DR%e9V(JW=>vk?n1hJmLOsaIoG! z#Tg#%N4?l6AV6M4p&~9`u2`i+(`nT|D}Ub=gs^ZYYta~FpPxq*p5>)iiIpimr3{V_ z?#x({ZC1QCI`4Rm3@pL`V5O21he5hrFe^q4HV^B5f-IAwXGvo}=_U^JkggQ3)+HA2 ze}n>Al`SLx83u{hgs`_DHkVFUoaB5;pMW1EnvGJuwyNd)w*o$wH-3!Z6=%p0kf|fq zQj@t+o{5!lIZgJ)sA+lmKYF$2TuwMYop-ie5(;H}cG>xPm!4=ImeYcJ-}NovasHN1iw`Jb7!zsb#zSHiH1Vx0H1v<{ISnpp zXOG}Tbo?TfGd;FLuUpVeGOuU$!rRM0G*QJte3f|%8_ivd;Fjk4O6&{chFFrhq?jb_ zo~*h|f2{RUtt_vs#3-m!U3IX;tbM=Sd}shc!Oxt|_jc*;E_qNioqL+(s8qPW;kRC_ zv(>vMC5_qri5y&Qv%0rGM{ReM!UlsFx7LaaFXk(b|DWDU_+vVN4yQS) zX}+Qa^$p}{AGAFVF~AixIyQsccx~xNU9<}WqJ=%yJt1hs-8CN1BUz|Mpg|0)W@YHc zKGZ>7qXeiRLG5fNCha$?Q6*&HvwH2~iuIe*n99rd`e7fc)@S{#G`#gllsM{^saK4f)Gs!`AU8V&yV;wT9rs)y5QMpYc#J^u`ch0W z?Oq+$7w^Db#&gHPGRJqP$%VPj|wrqI8DlN3b?zzMkvm88?6ILjPVXL3Bnen0BbjUv0WlVx7N5uy)s?QTb0A|LKGtQ?v4f%&mom6G*^cZ^m@o5$Hz2shWzW zCoNSX;;5R+(<3*qfj%T<@eGG(*Hm28q<2IYAqg3IuF9ZdDqI@)9QxhzVMi{h00_CnaC9 zM&<^feBdt-nET^C9cwYBY`qo|uDO20FW~CuSczHotk-TSWFzv37ti|qv8*GaLSgOW zTA@_&OxhIg{MHS0GJWKdjE{L=_)`+`JzBQn;MfdE{hqQ`-@CY*Aoz{{uGtRShu`PQ z_$aNM=Lu!+T6Zj34Jy+p^|a7)(L4uzPR>odKkVqc$Fh^BxqXh|!Xq?u_@A0eKQM^L z^?;)`-voI9MsQlnG9oo9>xKPt5jfH3*r}AqBX}S&Vtt0mHz3P@UhTPpj8?9iG` zuy#+~A0DB78Uuw%eUVqlVKE!Ebwx@n(r&I(*zC=^l+>o+G>Nq8buFX+Je)kR&j$me zs=;<~Z=`0VBY(Bt26(OhBMAZP!L^0GD+ti~{#ZJ))qUXqH(?0DNA)JeN&#RZ*Hb{) z<0ZzM>#3Nw^k(@QSi}OEzww8qYQVQ6J#nvOSum$das!3GvAu$mkKDNO2ZO+DR zqtSLeIMYXjE1YF(+>EZHzw^8CJ=Xh)qD2n!ndBB}&dvTsI-eO&7pHRMIH>ttT60|> zL1mzjwzJ}+)>c74%^}LOA4C(I%E|GiGn9UliUnPq=jZ2R0}>wP!sg1&v3|?W^mEZf zapY*Q_;rMp#Oebg4owNiJDi{oRNvEn-gNav87^2jn zC~R)K(Z}lhmIDRL>sy;X@Og~p1pVy>B#X~L8JETcrnG@yfo|L=4$n{5*SYZ=OX#vGEv25$Gia}qw zZS?5>UYSK^M>_q%aJ7!LC!hiU(B}%*chZ49c^jR^@9&;_M9`5`0ozZ8kxUlxC%Bx? zUK*e|8T4>sCUU=2ooSad&`AmnPHX6~MFxo0@3cn8p*zH372Iup`OPCl|5vT4T}F{F z9^u|ui8{|Fl>mX=0BxnwoWA?#hv(#xjL7TT{1)Bhj7JBTpIXF+bihoYibKFAsCecJ z-zf^MoHFvQ!vMZmy6|%7!x|Ihk*yT{M8OIKG9?zY+-}T-`~yFtEsM?Ehp0TK3pLFA z7EHv~lg1s`kf4$_)`|D%{YSfiIBaN#uVGUCxe=6q%_!Ant9K?m;qEi!04~^Xsi|SQ z6&44-8}1$w;rTRc^1`@WM`ItEAe%SkcU#$^3~z817y`&hC@JK$ogsY(5i|;#4SPb% z`|U-ERERF_F`5-b>6DBevS3r}M919JYm_TqJ zh&i*b>NL9v4YvVbz=fO*7keK+AyKT5fXG7r^D zH54x4ZW-0npu+r$$G3_iyW^akoa1cc#PQ67^liuZw_ukPa)d2Bl3LNhc9xK?LueqgFXr&7n+}cZYegw zXJF$YDgBO*0v9HWg@<;SY>d2!TMNZIU9)Qe83JdA!S%WI<2cp#2`c(R@yAKC94F2k zih`eynA$J?(vHp+m6tS3*6JCC^le_qOLDeR?r5XOO_N#h_tW`8p(^C=Re|1>MWAe`;&Xj1J1!e)+Y0_$r13O z=;HB-N~_64^F|+3s*AEj$RZcNtu$1Lh_sV8HEU#ocsR*G`v*hTdk$W<8Qn)Q9e%cT zrchlCUG?AY@oH3(R9kR5UB?LVpN?8qYKQw8BR_hLXZ%=rwY9Z{5he+WS3v_&B&fQNoic@)eSkH~ zdD2F_N}SYf*R4nz85vQo9RqZH{9x#k!FV{cpGDs-^nIBwt{O$ZpUsC(-Ebdsly^9w z(|pCPiTGUVU_|Ev8K3=Z1GnL=9A;A64HH+$&Bu56$~N2!3;yy2;g)2H$GQ^xm0a2v z(72U65m@6gVa20K>`rzyDsck?5@0>qV@p-E;!NYnk}8-GHsLBdU{tuhuPAEVTSEV7 z9R+b*V&`VQXC)_>!;+ve>;f*n*p)UBn3<59vpYug4JSz(m)&b(Nh)Hq;kX7M?Elj8 z9XE8)f?%X-b&zt0^kJ?hEV6&h*z zDDz7nBlN(QDKV2+`ZT2LStGV|%<$jaZyMQ|yO44d41aH>Aj5A`h zr-%B@39rjNCqn7moSbhc)xZfF62F?XMP@Nfm;qidB&EN_o`U5<&bjrWpv5gCE4tHo z?}w5q6FOv|m?)y1~k3)d_Qa7<8ZfP5p4|wRSWCm3sp^ZgskJw1V0_IzO#=py*f| zz89J#7pKAzHT_wbp-NNAiIAHrJJ3D$lBH0|szZpS=hcjrMfc&S-Tv2Il)q?XPJZk#D zQ61^CSaV{!XQWVNM?C0|qm1C?%uQGMn6du7EH`h%KipLHLw&mHRAnzj5E(hQ>u>B! zz4@9g=4jI8uRx`o5x0HD6OtkeJ|NJ+&Xzr~d=&yf41Pk_xzC4NH$A-% zIz$AiZ}=Eg^S@ss#5&RyFm>H;a-A#R2vyL53MU4H5LkM1%sy-DtS~Pru;YOcgqrng~V$P?BiFRd9MvWMDj{v>6>{Oyt!eQr1JOokE>mxd06QkKXd=@J5()h<`C z(TRtDvg94`q83Bh9i(Kv~QcFOl9T#bh_8aQ~ED2pIW z$jri`ehHCUnxS7+3jz)!NISIU7FgdT_}SD3AD_B}tdmqC1i|of;}gzC|4#=ZRFEA{ zCCACh`R7K4dn}_DS*Z(@KJIB0d2u;6tDi4D?B1%$vz+Kg%fE1r$}u* z(&Qb!W0O9Upmx`^FnFvQPL1VS{j?;*T#tCG!@?M)i!9DO?uy0!oxl5g2#~pMm>iZy zE%7s9;5snSC@A{EIw(TOH0N)sa~}|rQU1cm1t0ukVV5aj`NC-lD22SqZ<(1sDzo6%Epiep){_Z-kQB+DwJYHKI)XNxi>+!i zC3gAV207N$&aaK0ev6WOHlk2@Bh{}J*N7*33==`1yHW$=m3`A0?pJh@RqGb!eyaP+ zZvw8$F|+pyv;swX-a3QpNDQUcd$HLOIM0&H8d82oe?U)!#3Uyda}n*inCo&9dI@3gv-vAUsG>qygkAc)Cgh>+;JK^UHq!DCQ_eUjQ7Vx_iZA!b9N4l-d?b zDT-<0g_t}RLPb}G*X1r>`ucfes*9&6)zO z5B&P05DG+ynOb6Ae%3x6f6i<6M%U4qbw@Nh8`=D-i~F?uk>&At)9UA_kzbH652*~v zf)L!dIWNcG(18Pv;KSp`5&`$noV6&;wa<0(<~n^AwLqFVa3BEdN?XR@ zHBdl}TyK-TH!@Pu)YJ@-68};UuCVEuIq+>l$$FPOIaNhjwEOE8qLTz>>7WXQ)k53x zdv*7$pkiKa@So^#a%G-XBeQ*w+u))U=&+5;SS$e$1eQ!O*X91~FK?7dYN*zocx4qd zzrFG20Qq4wZYg2-!4b-UHT3KCkM6<3 zaCs1w!!P@{jixGE2kkpnV%ip>QL< z1QmpolvdD+(7Kfg!1$4i&O{^C#Ep=@l2t!oEB!g|L;H%Vf0cwDIoL2e`HE<+--w4t ztP+Io3=W1Zp&gagR#%O|NybQkRALaE(O#LdA|RY!d};yr=2HF>anu>k$?o6pLHKKw z*-$*zegXtFh}COS4-!gHzI80rPoqr7MQpy7H9p?}<&Z`>9G{=0oV2_a%WL3l0omuK zBZQ(820?312|JQMK3~wB?({pHB@^vVti&n*k!4$aySb4)xnVx6-EPgrQKW1>R-Ss~ zTQxe#OT>b8NiG!_S~?{lhKqQ2D!`~~M`;~d%t?ZtkIx|(ZzsSYK!wpK%<4~i*M!1I z{OkB}(rWMSm%6KMmMD!XIn$xhuQlK2^qqdJ)6IpBkRKIajaOmdMq2sX$ILiCe#(=! zRI)=we|{ijF>J@Q4V76mFm>s! z&$Qyy{Yyga{d3C~(tb|Yu)Bq z+9d&O?4u%eSD`oH2W_Ua(Yn4?^dqNaf*Jw#ZlQZ%n6RtQ;Q6E99mS!$fR4^l3z=0| z3U8~=9Xuf4NUGmJhw-HtcPWRlXw>_e->L(*Bq(`WXy14V7o9m%YG4Tj31k#Si(j{72$x2cqwVaUwE#A6ez0M&^}Ef5S&*To{=>P36FLB_BD-? z1hNBC-T(!6AC=P8+whE**t~CPJa*ifz<2_V)};5-UkPBI0cAbS8D+ywl8TLq6qtnu zK0JAaMoalo%^eFang2KO+M}SC zVKrLO*5o*obB^Qgn#LYv+N=CHDGDZ6pY=0Ai+? zD(zwQ+M+4uwr$yY-I!#Va}&NA7$<0~a@XTGyj)GX7-FB+s~ z^}W^R{CwzA+4*13rVY2l?xI3m#9xtAuJn3Ll;9kaZ4$ywmIalb6Nv(qrwgMNU*;!& zk?*96rk#rai9ILwUBT}5Py2!09v}+SvN9HJcjB1uim5gJh~y?f>#7f*d;P6#gg}tj zhy8}tkhG#hr!Ad2!aY7IOU7OKZEkVjQE6czKR>3u#;3c%{9(3jG&%YAQ-#~PzYErD z6Q!Ajh@8rslV~fmFsoGdh13-9zd1E7+k+-wvRkutahO%;9%W_gr5fqu=*#>fH|2bv z5kpSt`8j{?imSzh%+8pTCsLK?`^x;K;n+g%ilgtH1SSq)RV&zP~?9{n%PV7qb$ zeSB>&+ek6bYYbtUf#fMCeyG`?|9~o7o5=#De>^N!+Kr=s%db23*r>ZnHa%RKN{{pg1HTGKN-Bk9=9C6W==@rs+&`U(@EN# z!vO(7?*&TFxC+WtcJ3d20hj;9XNU72GL9ihgVqrQccWT*;DL?wg`aCeu|gBr8;XTn zlg&?rhDV5wl@Jp6Qrn0+%np8gfRn#>bu_-`z*>DaODgm$uHkupL((tuF}=g&LdyZL z%+0|;Az%ZSwUy9 z?nl}O;Kc@CN>!VmjYQTZbgN0H=?5riZz{S@+yMAf6iy`v0R0g@p%kwJiP7+&sC@x% z_IOt43mf4(TEnUvqGx?~hOo@tuUR5hI!-?Tbo_36h)mr`rwfed{EvcoXd!?(+qxv~ z`C^yB0fW?U5L{7;LhqRJo-W@k-Q7QFhmW=WRQ$NagxFw^jxk>DR`4uYt6=Ow2Jx?h!P8zE*WcA2OQV0m8nDkmo zRyOafw;|RNCFVBG-M+1{Li1yeU>IvtP48F3CXyz677<%<&Alm9=Furr9;IdLqt5nKN<`a(LWjK8D`;Je+JlJM~w1Shm;hclFa_5q!Y60n9$7rZk2+c13`gxVF>nnGDkV zPY^6wD-Ez7^~GeS;j`w%okMS!eAyH`##MN$o5wbweM~Z!R%(K)<8HEQT#sj!$(!ki zGGq{%?3Pw@ILMZ^k%vd7e)bVx8|ylVT78br@-4yP{^+DvJ!QyYXdG{qF;a;LY zuK7G%uNoDypovc#{$zZh2PR3U1eE_mh`z9hjX3x0yPj8#Ng)fu5xMv@$04s}2zTf5V6PuGB5|TPgqhy|eV^1H|cf0#Q%m)c}BjRD(ez;J- zXM)j(zv0qx2aM)nRV^@~rbq2*m1qb)&QB?(vomi$in-Qwe_Mc8t)TuR2=~j}#S(L| zEirT|03;i(YIs)Q>zzAuxB+8csRhg{m zu`h4V%^o8N#9We%KL;g0L)qsZ_MWk5bZDXoI)&CcQX{1a=E0SjlS3=jyAAr1awVXv zUhf#9PXx9s&*!JdJ4VBbd?4JE`>F~ACse?zORq(hCi0iT zfN};i*L76er5kR;ss{CAoe=^H()$?+#Z*D+cEtj=69iX!S zKjJJ$UdfYAYy!W@QP&d@2C@8du(BNuix{8ueVLw_iOXN7%?xq_*j7-WJV&l`Nwm<+@ z@P+5?96HbiztFCCCWxb=3@^!4H@VJ@+Bc0RRi}*zWIK1hSY!s%md#KUa_}cyHF4);wV1 z;KJp{$Z)%aavxel;k3u-S1wzI#jvTPw|SFSR0NuK%d>~)>N@c^8rY*L-w2j(urx}y zdSbhTUFMyPg|jxr_(=GK`=SW?DLXy~XB_T~YnjT#Z2Pf3$Ixbd4otMstZ%N^FsT*2~^jPJnSGsaP0T9a@u zr}j$E?Q@ZcL!E{I7g&gkrUvT^{v-cBxnzTE0lS43n8>szW;C!;CQ&>5JJ|o#Xg7^k z57cB}lw%6;D8xzXT9ERaT5EpSS;@WWiNy`9RpyDxP9LAOQ8rynM`aA90GyA0eW|k0 zxLjN?khEGWS##l`d`g`!8%{*&LZd){*4GU>`%^9%bpcYJH<{APva*wvz&LP z&RzVVbSa%Xi2_Q|u3N`q9^klMGlLN552#$HN9A&B?8ivvxpZW?kE>Oy!5oL1_aDFD zb1FGB{cRN{)v1S*OJXZ301sWv9NuLw?MsvVvRZumrf-<>$c<<1`zh?op(>x-n3pfQ zK6sy>T>XH__^vCztOqiS&j`hUSx2D5gSKJWQ=!Yk+l!?}o63?0QPgSXH z%eovVFChp5BpEA>rwF_5{&y8Ls5~RLP)svWbuRJbglew<(->rUz%ad3Ry5;>#|}F?ZB0a zZSnKwi674%89#;+yy<7)1#;~WO%1jJy#o`89z1d^l<&W#zfkBPVIwxH9`I}W(NhWq z(USSZi9Bwrc>nnGl2{p!B_`Q59uv4plkzQkGm^k%^V&wMqR{9B3h0mI3T^ zG?pykk|VVKGw=v6w+j^bWTM`B3u`biKSC6hnqxFgb94I5&`5Mvk4FeW;4}L1?Tdz$ zY4^U`1>2pNj%P|Trd$7xr_HKYfl79vAb&bQ)SvXFbORk4x5ZXM*^dv2fKmtywh0$^ zwyM+pscR=L?W2WuX;V?Sw(wQHKpgm$JfAIqCR=XqEz?@F zzHzSu(0pDI{h(aIR{zonkbUH#48TQ#kjxAbDV+L8jM!eagjW<`%>!Wb$9mM{%2N>GF6~lWd9x;yCO^UTh(>K>3wtNykPalkrFN6 zNSf77?`)=*&JRz%WX0@}(kMO9$ACOFMmGLMeaz-JEmqhM*HLLA z{7X@N1q)Q5Fy%Ba^B_C9AIgedp!1N%xSXNU&ug`g!=o9UwhB*WX&y&nZI zK|P+`?n79KUK%&eVT7+TFeB|6`3B92+;Vr9zS6Bc*l~J&3wg5G@!2)G?3>OlQ|~pCmsqpGh|NjQ zX{nq!VcoK^Y7o6$ebCwrOrr}IJlhqyn16}>Ek1KaTICzXTX93Lhyy6zWv)XNX##1O z{j*YTYIe!F#irf$LI1@1X1W~@2)S&(H^c0>TdBG`tyKXYCW{cBb`=0%wb;7o;{`m|G{Jr<+H>p1Sr47v2goC`V+47EBEiYwcQ@!Oe~U zcVw&gBnFy7pjB96qrZ@8SR?u5<5JBH z9gD7$cRA+r_5Y#(sz+g70kn5&8&*d;Z)VDJkLo7``$cv-C6s5=Rr+K-quv_UP)lAX zxEc~#w3+gW1&W#T{rih-)_W9VcFU=X6NG6(=Hst~fC5#1HxFv6C^$GS%8`HAIdGRV z$<3DzVFZr}jfdri=2Zqd(tT6I{XS08hNmI9c%3(6EuccI0o;^U!T;yDvH=eoV7g`F zdX``KG?|>jATiM%ngDs9j2rXG(PIB~DdFFPgTbL8wP4QIATvS*r-zB*yNyg)!pEZu$-XA+U_Xo1#XJ*SZD@X9)n0T3^wx5PAT7rh0jy08z3`P5N z&N%v)5NgGZ7S8>x(dK{$!`F7chTUT)-IP_nWY1N@x8B>{JNmpKMvv!ODUlT_t^kRb zH#Iqk781Oj4`KvGfVibIRmg5K;Lp7#p%?6pnm}6l z=V?u3cy*&^@PtkB%degG&o3HZrYLf@IC|x|RXv?3t$N-Fu`}aNGrYN3`7Gd4Sf?_u zT(^(^!YGu)=7#MoSM_L7nnAL5XxeJ(0s%?_ycnbP$j~EWWtN~^HUW?S(jJ$Wmv5WQ z=2m_5U6ziD2@O2-?RmiHnDr>*w0}b?Qx=1?J1NnJfWL2#<3}Rk=fJo)M)rIM5wEx9B?hskz@3BeMaAqzL~dxOv1r+hnv*N?TDuQ! z(#Wcr<&6x6WX2fMUu$&ONfc9na_JUGODkj4{yjoFhMbn9x|-j8by z$~t6|-1_^z^t{ThI?u~~41I*Z?oWn3`YP_&-lKdX#F)a`IV8PgARdo>Ob?T!Fp%dB zHxK(Td;Dv=M7|mAqtvLTw=eY5FqS$m2LQtXQzoFrO3v893VO^IO!Rc(w9nR&HE7{Cc4gc_ooxG~1Jb$B%CH|n!Q?rYMF zwPkjl)o#vN`TNiHg5<4*##^@sQh1||N6w4(8)$wX>7^I%k8MT`h8g_W8^f%gj}>zZHFn4_E=4Lkv0f(>kDhIn9>RtLF3(S7 z0irp*kTlX5_>Q&l`PDl?rz=I2#h$^$%T8=M-eji5{Si)Lfu`w6qbU_zF8u$-OrBK1*#p;yhcSUB+hbzUz4s&ujsyJ< zDk7WcevdrDekMu3g?`10>ZuEV`33ni_v<1m31m=NTiXDaN%``RIv|Fg{JK}IQ`54Q zfE*0U$`w?HKLEc2K2tF#T;MUVQB1OHBEg3Sw-$4jDB)D-wV}v`ugYXRv`G;n%E1K% zh?0xm1yr;`msL{V?P}h~WQ5CCh)G)LXJxZBwOe#R`KD-qd}r)WTvIaDjQ#ZG0@Ix< zrpW!BLHTkG0l-``$3s|&tvMnl+=^l8aij(9$(R)0cD?Wza)V6=4<}NhA2S3qW7S(sK%BElst%GfHoE2R-Bx042FZQ-(D+M z2I0o)R+7zRp)|T6s^U07tr5TY09DMQLCEG~Jc!Y^7*AXIr^7WY+O3ITjR0nfav~c; zvL33M_eAlDYsugVqm)xi#zI(^Oq$P%8|QWCxmmJh9mevK7mm64!0Q3>Y(NB-fq~Gl zh-dWQZYVz2qpmX~13@#+JT-jd$X4eZH{`|+_~7CfbmC9w|BZ>m!@yDuC`oWi=~$4u z!mv<)OQYZdL>6@ai>9B+wDG+c+)q_HI&3Km!YFWX z>#J`4157QytJMir=>I&Ih^*sVT72INlAslC=xVXMuf4MX!M4^#5b)uY3F2OyX$PezxO@!o|)r}GmL+rKHU4> zd#`J)&*H&a0Y}tSTtuQ=te1zWJc+_f=bPFf`D`u3d9znz^qiG>;yU|Joq=Kr~EP)Cq)rqe#&vPr$SOr4yFr$Vmi z|2}2Bd{Sb{fr(g#y=g$m$#{VtwJokvylN03FGo{xzlMA0y{t$2cq^BgE=W>Bp~d|% zDdT&#nXN!xFcR;Z7d)$Wr#*wtA`>zpFb}sUe<}_Olq!-1vm+P+F+LYT`J4VR`CO!V zUR#Z=25j(lSa#&mS;-*^AnL$-Ar@NJmS<;w>!qKzyK=Q9XQrpmW4&#mxI8NSGEWVc z?5N88T=Sxsp+Sa?Nc6VYd3$I9*?l(@9y|Kt$7p7?NTb8e%pW!&je!_;IJVz^i4+V8 zOl?)Va6Mnt4_Y)vG>RLG+RWK3%vp(D0l}#I{TE528xNy+uJ7OgD;v0d65|;N6?kv% zuP$7h9;b~SF>EQcmFbjkZmByGnUv&G|zzDGFY57qNN-L-8tXg1IK#vWt{<(VaLbaCDEenMV+I78Pw9U*I4 zi@Ew(q}`@ZzfhN0m-RrTjH9HA8b zeozq8MG>TLCs6}^PvAlNsk|jTf$RadVn)uxV{6tw3(at=NpMe?_P4e$SnTz^^*|cB zUGueD?@0XQkol=(3RnRxqDc)v#Bx0+?NF)li6`a%OiS6kZ#mG&gwiX^Yir}%yrD)6 zPs1iRsZ$xW7|&24VyP4vwU0c(AeomojE9d9`Gzz1>BnVZuxK$RX(c_QE<@EI0i5pAWu(j(hWe=No{xCY3Wl>RYyO=i!Uw_E zZ)Q)A?AL-+x4#;Q932jqlYRUf?t8z&E%0=j#-RC|cZKKb#tYo9adQ#AjB|Q36VhpP zWV~wggu1#vbze1^tzg-Zaz+r@GzGQ{OysPZzUx`3XkRb85?;>G^*n+9kUYEz56Ryv zZ}BJdz4~pgl$!j5QnbefDZq8flUpu{SwX`E^O)~%nV>C3GUEOVo0o|kT89@NH*>aG zs|&tDapRYl_^S5(t#JfGLLLGE4~iTJa{N*=Tq?hcM3BglDCcX5yI=$b;>F5#*<<56TKuk6MvHO0=ESGnIs#O!IV&JM06idu&z_+DuJ_`kbbk7J zLD2Q|?8uv_qT+%t`BCHt+0&(rfB&cb@>Ew`*MBaEFKBX$bg#JH*9B$$d(>^Kab|y^ zPb$uYs_=9!P?`%;}E? z3m#an$IP3D&O+XWk(4Lkqaq*&ik*}Az)at-ThTdszRua|s3I0@OmKbjqTL$3)0?cW z8N2CHR_~0OBKuUk>iwcrQ?r1Ih&fRqC1ob9#P^gqKO$dL+v5|0k*S_iR`%A(*pg4@ zDSBrAd>J$7nKO4u`!L!be}SS8ih^T75vxhtQGH0(*6yC>&6s`>uZQ3NY;efoiogcv zQW(N0x0LM#Y;Yc#>}kVbL%Oupi-774H-@(<9Ce)_*I9$9>AuDVCOD*v@aT0>*r`Ms zg4^1M58ZTxYfXdoB>eWxI>t^x9c3C3U_BB`xr>3lFu1Uyf)?jhj5UYdSxC105fsHc zHQda2ISxe?Z)wXk^R~r*EMkX-@ z*;_UG0b@40xTIGZidB}_5|6qA9P3$jSnkGOmi@E7#)fOrtO6 zDRGugWQcA%PNN*hy1 z>)#{RW( z3PHhEg%|^%hWv9_;7sSv`8mwW)t4R<#hZJ99KEsEKtAAbueEaFxicnsF&{?zEX=a8 zvx6pM;y zcLLE|+mo)i@|1G09fF`<*B0|rB8MCrhz3gK zO|Mp~D%%$#g=FHhv$OLv7;{MtX??~~)p_hLNCO8lqv5@0RLURH6;}qJzQN3!8l5lkA%^v(|k*$O+f?4hpr@6z9bZ}VKZkPtIM_GYe=lSa2-SSwneDl&$h4@#SvDd+}UcxG4t>)~q`eoPR9m)zQlHQ~UB5T8~3 z6uhw3xpo2y(7||A_tN`ax{x7uOr0n`@BF$iJ|~4)t*}L+daI=Ov3ZvV_A&Reiy}N@ z>bHh(O&v-wwz-$K?N3~wS4n^2jvkyeRj2|EX7yg3ek$2v-SZDcrQaVVdphCczrqJ$ zF6jx&0Yyt6*x66@h}N4a*htQXKN=oSh~F6Dd3aA)zUoNVtRdhugm3rVRI*yCqi?(4 zg>2SUZ(PnrpfNHScPADqSaD^%MeDd9*XEibVd9jt`!3?j!zRLBv5SFg*wbW%r%ux3I&BW_aVAy!i{LVoYw+g=d5)B^ z%KGN+q)j&^uBK=AO<0j-$jfV|;s3TKawJ`~{X=;}MdImu|M*)I=Ws2dzFk>Q;tP(VNK0vrzLnf5?ce zbI#prvH}m6UPTf}#24{8{ENNiFzXJ>37N8>#(A{@syzPRkzwC8ySSW~!GHBY61>a> z9buf7d`je>gHcNY3rDvD#!_aFfXY= z^}`ySrrGPmz=chV^MPMRGhiFr?>dN_ZoQv}lrA-9wm`tTIUXVS1WczPD%<0*w`$68!^- zhLZ0MHX;dE=3ITIRqMBJc=Q&czow5&vRX+)5LinWnrlKu2rlO+axaEfH<1wk^#?9Z z+TCj7yMMM|{4P0c(%UFaq5A#LFID$Z-os z4*XD1+$0wljqF#Kt7Ej#E>tN3-H~O}KBsO1e`0$kZ68`fLEOD^9O{ul7JsB4B0bC;bc3}Jox$fF8k#B)|OZ{NOs)DF|c z&9a!!dT@IwH<*EE`M!YPYdEylbyt@m)RohCHr_dj9VIdnk10(Sos zvP{MPze3j0d`-CfjNXXt;iHiHNXFdZQkpDIlhyQRp(hJo8(%-Iq@?uod~`QaZCnZ| z!8eY3^|A%9AP!chB;*E)4DI_HY)$`dD+^o>v6t%nPTZ?#4(o*^R(XN#S}|iVU6Zy) zkrzuO%p9|){%yL6Cgpay$@DMQ`^P41$ks#??8?356F&SmlmaKk*MI!h-sQ+f%TBn* z?J0YXt;37a5evwW<5ZRmou~bqRH@}eIA=Y%`F(V{Cq-&{)F}>KaCh9YKN>yiH8=Ok z5wjc;E8|?LOP~yF8LpQ>(Em#9`1`_CbO+`?hr1?{f5&M8gkOR@V7u-*O8dy*e)i;k zGiJ%I@|yfYh|F1)w)72=nG%C`Lm*0DwCQPM%*kFO&LuYT&Bw2(bO-$VN{f26ti5&C z!s8~JP8ku%8H)Xa!mYt2Out|Gk$E3U-LIqwR~lY~vGZ4|g(!4^GZ}c0fMo$xe$1#V z%~jQ%xD1$1|EZ1uE*HhyL|IrL{NoDokM`j|9e%?)Ur078t;x&6cY`11Z|!kwl~Tb z;D`vP?|)sX>uaX|6;6qOjNldXr9Nys*AqL9Cs-Ee%c>6sSz9x(b~aGo`?Rx>CBSCe z0pc4Mi`ixhGL=H0?}PVY3hA?v2atam-R)TcA-uX;@d>_G zjPn15WdKm14Ub0zg6~g=masbje`s!wAR9d&fpXPL-0kM6e6DvWiAm7`Wp}HmJ5B6P z1`tY2YffyYJZz4H666&i{q72X2k84#6VpXBK+L<-6` zHGjMFxBuQ!99JpCpHJT9Bl2j?6d~`};zv8pK#}Bxj(n;of)su|n3s~`;ay|Ultd%y zqi1gE!1ldm-{ZDfjSED9aXZS5ZUo#N_j7LaA3g$i3|LNe&1HTiZ|IyT=XtoHgWF%e z&$W4yVc?!;<~gR@Q(?XA8tZ;FFtD5crd5TQ}sSN@?pm5vuL4=dvPc zF{6#F-m#17Mx`luj~7Yp$Lo%xC%x+WU{u`rlzErp`2~vp1c26bW-KsfFGXF?oXzLE zn%dL%5K&h`paY5X@4-a{q5zfcj4eB+hx4mJ#0-X`U1_-qv@yX&w z*(e4mq6psqVwFU*OUNM(|CqQj%$*c*;88uiRk&io8NC5ITwa%@!g3BC)>g}d0+Gpq z+%i^#@1g>vO4u;czFrX^DJmCwob4A468gC+ML43n925|T@VW1-;K4QgmPrXwuQ&vf z<=gel&O3WYH5|PfTYset%mdGs?paSivM90z)4LF=v$4hR;2aaF5zwMp zV5GLRPV*~L>va<9Hbk5MYW3=l)n$_J!%C@S#Y`MX@K5ZlCxqe34>K5l)?z-7?1}fo zF$~^A3g2_Zq&V?<)fQ@`D+OE<3s$m8a?(0^m3)QW0_nZ`)+F6gw zf%CGw$B=K%$Hp}iBbTS7Xd-4+MvcG&on`Jy1vSJ+}D)x#q zk}Fg2;J#7B4Sp70-s(zPsS?>-r^w-QQYNEvYW;+pSkiVUBVPKQ93~~5@rr~$?R=O8 z$$MvQ-dbzN3zH;epW4`dQm+Wog}8<%TyU#tqP5UP5c2#wE>;UB@cYaKUu+5e$?Y^d zU(`>kfg{yli@HWZ8!qd)p7k^SPP}?d!X3h)R&%C``>O;z==pwPfASXvg>bk-i_gtY zlg;O*9@La_n6Tx8E)R!j(^OYHW)*^GgxE8>&Lpl+*EUY`o6((?6)lNlZ>7%u8lfwz zs5zucC513RfP^iOS=eF2wM{U=PnMw-IlN{9JcYz)h)hW+08Lf>V7kA^UlO^W3^zr} zM4Xy&dYx3RGrxNqXDP)wN!qFB$kV3xf732z4*}MI$Z69+HY$zvEXnVrxQlmDyq9xb zwJ8J&1<0nx^J%=&^#@qDVN+V-C@saUOHz4L8zBAWKTDWX8^D$W_DZ#qy56&9wGxTk zv5)nhjP=D1r8m~X;ZwxC9l)6l$bV%B2;!8O`!1e3cB8w~(ffyE1{=4|2mpU&4jqWJqnQ%Yt4cB7rZTaF+g%^ygoesctY?8vGuW%>&txOL)+8FC2rP-bbcZ>7S3818i!zhVAql6#*Bopp`t^fP> z@T`k?31xv1|BuAPAaW!g5=FeJBjZqO^aoU40`b>AbmE~Ei9fu?ztbMW+mVf(z9Pvc zsw8kjaKi`@9I;twYS4vR+BLtM_k5v@!G5b!;O?rOR^Xf)kR@_;eEUi6Pici$5F3`JSAVHdZCkpa;wxnI zus^vmK6(gcyu}z1-no$Y6c=54gxckUcvzefci{BNoXJ`%YFF0?T}gF!;;Ylc8) zWsjV%H*#IE_Y6s$5ZtFj3;|A0Z5-s*1ZQH8hj46^b?p8R+0@~r`A$*pI)D0U&y&iu zrgvZ|L}b1q1A3FaoS1ZNOf4r5Qt;ctDOv@eL9E4QxD27pI66f!@`!-%#P75Mp36*0 z@IyZJrhnP&ydyK-efbG$1#P$W)qB_~X*pg+@wy%eF8Jc40LC^!K?uMU-CAa9lO+&a z1m~G+eNHmd)as??^n;swzsI!ZOP!XIOr%hQuvp-NQuNSzgZKJ2W*9nd!<-@pJa`75 z-*=N$e7Jy%2iz4f-&olz%z9p`e;E-{Ci@&q2{wqX;iEtJj5|UCY*o&{ zrxAnnop#9N{Cp1(g;?73K(}MUzQJB>10A#`v$>hCx~4|EB}*3Uw>AxDJMCo4saZlw z9;Of*rl@8kug5{#wFfOqtkCCVD-Uu0(x0M;4EMM0t%#1bZbU$r12BxQU3W!AMWKi) zRCmzvy$gUw2Pt6=>Th;4^GX=-F#vVMt*Ksb23I2N!|L%=CZM0mm73;xcVO!a$&D6D ztsFYKqKExLlrAuO^H2C`K>zWg;(AZ{t<>q_-BH%zmpWON+1nZ^o=M(O8t}N257Y29v1HA^i;8#Q5SK)+PYZQkNL@zbdo9C5a8y35HwgsdKLK5 z{c#`7KIW;!*vR)EU17hH=>1{ECq*1VLAtc)C^AHBZyr`Z!m3ujBu0hxU=0{e*l59X z9*tpHEf>@c3U4~&VOo{Bu_i6A@W-rmCPJe=NqAN#gZXgNQD?A5&6f{dr)}aAQ~&?1 z#R?VLDt{)72}Pnomme;g!PVpT`jyu*9p7fu+lkNQLqoMr2H_cURNE3!sTfCAQLK9AZOVC;C!FID(^7{v^Wo!yB;ztVZ0;)#c_fY<3-1fV0HmK zhJ#b|H&e{MQ!DnIG&rwLZj!R%tT|Yy_)#Kdf6X6!QCA=Vyaq5$p0&s`KZ5CtBpCmC zr;x~pKigt$W`c91<-Y{QK(FV?h#+E*3MO+){+GTU&D*Lt`f&AcwC4o-rkmZjW5*#= z4F>Wb9E4!;ZE!(FYvtVj;XcRPr6vO$>|2+u#jCb1n}#^>%c)Wg6vVa_mk!s{098d2vl&s0k@%8yLxQ)*7Y>z3`JEnxHw~$o~ zK#9T39c&0Sj|4}8p1^jr*tdLAGq$V5GYa3rbZMj2lizE*e8mG0b>^(epc@EWAb|M+ zguypjM`25CKfl z{~XGzalKWcs~QKi!QC(-fE|}S9(tz_LAJ**7&*T*p)Xsk6@2s+#Q@IGo)x=~DwbO@ zN@}rRC)tbDN%`u+w36`c2W*7A?#_{(&!uSY7`^MZnBbM$`_O(z!sQ7T0ns;KSkq;# zWvPzek<%4=?V0W~OC9Xd!hI2Rv~6^niBV=4k|!igy)^|Pl~gAM%rjM69og5-AH*3A z(khmdi6umg*gq)a#E8TFm4L-DMh0y$c`}0hJCS!wzw*}`lbNL2mx>w&<(rxwV85{7 z7>+)Aqmpq|FF-@aQV9-b^)tuoL5j>p`}40IhOl~@ReYl$_Hs|5_a{B5eXL1oqnG$+ z18s)8d%GI-E)#^9NcfEUGSY%5k@Y595rd}(rFW+<;aAShstJq$Je@Asa)zzV_T`#?j~=7w7{7cnq9sUae?#$3_nXN_;!obOT8u)o8Q~-ae%bmWslG5(RZN*c`TP!9V%>J;m#gLoTsU?_?n$6*X6@p<}xxEV?yT`sm zVV)f8v^kz;!o_TMmaG{0ofVQ`JGVf&#J{L*9Y z+&HP+6EU=A1myx63}D4P%aGSz47OBJ=I{61fo-Yjaei-XPYXZPxXC-k6r(QdoS*(j z9!5^*xapk;%bzSgw{PlCSEgMK|5LpM&QkuTdVkZ8ukK%CpG=`;i5AIJknRAC#R*UtK6^TB*7c)9bht?wJZYYR4!{ujFvqdg6g7?^p=*!1$<-nb5v7!TJ*Ux@BLZ?uAV3m_=O}!R)K5H?wcbGFRd% zq>H1qN{rSgOEfRWmO$#MOp76Nk7H!k`p`!%+wp&6{ED@tl$qdkP~;5{<2j5e>spcL zbfs0@e6>}5^pF`5SG^6dY&x}LC&%>GQ%0Jn&D&)(%!pPxaLoPXuMxalvWFrEr1*NTXtkO?Q_dq&*V+?dqL5~ z1v?<=oU{>3^08N86^<44{Vm|iv zgiEBn3_E-Q;b@8E6O(58qS>4vDE20j#)h4b%q?*QSw3DGC$@T6bKO|;)8fedutb1% z`z(wB) z`#obS7kpQ2HJi`L9^!1Pt$x?(vt_o+^cJauq{BF8E)Yso=6T_3Tm9t>@A35f)A=7Z z$)#Wl?5vqy1z)d}-1@@fw4#Z#^&56KLx@&XW9~P^vv2(>-rbSr_pNB89Lc|Jn=v8{G)qRN77m+RI9FYkEiUYzrjEbg@82ERUv!}Iu`Jc73DWg+QU0VI7i+yf z5ODvx_VeC&Qw8A7J-oj7?4|<(N;YkeriZtkx*2*6l8ICTh^bGgM)HRX-?gP)ueC#6 zm21s}je;AP!|i%+hutL6OlE&R%3Ku{7OzOFz6KMGJTjrE&UhK0Bh11{zLs*n_mBoK z@Xslvgjfi^twSuaD4w^8hi|>r9mW;(iMP9-nISd48hIH{s-*~`=3x4lLFw0*Nx?+M zSs0l}`!SRxk$kVv;AWEU&r548kt0E)`3)ySocSXBy3 zUPBfiuuJe;q$|4Y&7CEIzg7y(iUJF*_xnMFWGA7#FfrAnH=ji9zt`pQv23p8`-;()^N*dOE0Uln>3j@;dAFlAQ42%jROe5H+Rh5l6 zCygS-f9*lCfEW#oA+cz@MkL-S4UxidIgh(=!$=Xeas^JDcsww2+Qx9Exz^s0a6Gp5 z({M5neigWdkeyt&x;l(r+2&W~y>X}xU&*6XUx`#JCLb>3?z&-;PJ7|-B<)xST>D>GZr!~QD7zJ=$( zaEMQEYr{GE3JSNcaA?i7vfg&al-a+*?Ul7b=F@X~pwLSJnh!jtJV+lWmNct9KEz!V zpz?~%nn?)>txVzFx$c`Sc+zX@EXBIb;;l#rOzm-#L)hrm%FJiDR-qP7L!5oOdNK?7 zf{d4OCMlzXVFM$Bn+f>(D_gD)Efb)WQvHU4QqMK*fQe)hy-c=ub;AjVGPwiDH*3C`l7+P z&Kx%s>nMu>RM1$O(!}CyP9*vC&MQ3yP9(l7mZbawB2O$&%)%SMVGV5JCZ`<8hD+Z$ z+ihhZocf%`8F=mOSFC7gVu62zO2*>i3KL>nQU-jo7qK=6eLt)4Rd{@!4FJ(vJkW#5 z$?3lDl{kEorBO@UJ4>t8WCAkLk8jh`w;Vjsj4vC=4Cbd?*PQ3C_m|MgC9sZ8;FWt) z_5Bzc9!Y4=d6`m+rgj55K4~TbH~WdvrZJTatY#mu+xU}LI$rdPaHO%!Jw&AtTJN23 z=vy{734weysKkiL%#6Z8`&ey+3v2^9R-+#9#{Z)!ghS1_UCGMqZh^$4FoLhHV=r-^ zsQ?mTy||%-i`gFwL#c~^yzk#tBsK8tD-8xEs$Hfv%3BvFGq1JX-63d_u8`isv1L^F zSv}1U+t#GL5ldX%AROpTs~sRmUpd(4DAdUG-thisKwg81Bdz2 zQUBTrl|VWu(Q7Ca#J3axpKkgHc4Gb6x6q8rg}7m@p^Di>C-D?*oy)zJ` zz_;Ml8X;+PQ&fCVY@KZ988a{i+Ry+(|Iq%~K4Dx+TX*UvN56st_ z0VYfhX~8~E@L4`LCS9k*%bd&OIF|)*nQ%<7ZE%w$`iB=c*TZCwJwYUhH{H3uY7Oh*?;?s_D;vK*pzWQO^v{j{Q!4vniUL5+f@ zGz;pH`aV(%>0{w8K1Wo}m{R*b2tO&0rv#nZ+#xGHZQ`Sn39xKb1wANsJ#HSP=6yth zRtI|3?O`Y}>U0}Ve0-(Qnr2N8VaxJq4Uw5ql54w*GCfYm=X_NYVQn-b+7ox|ij{yzxL>UbuQ(Rru~a!;?&Aw|T~GwZ3j> zjeR(uF%5*)NnS}pz5kAhWqyrcd0Ua!sWy`RT@K{h3OFjaLxu8P~m8W9FMwm7$EgLKD?G3sPLr5Q_SbZ)T&);w`Wp8GbHKzl7qT$x=OTbf$ z%SdpRg=KG}1HcMk189BK&ki^;4L50|z!$#zUT(JL(GeWka-aSbW$*zo0I{&CVq4pP zYR(7X^6J>j@mi96uD(%g@R2zx+3H|TcJx>- zEd04JkPI52x#*+*9mzIL8m|#xSCD>NSbRNp1NAoGe*jkSND-nXFw*vzp40JN?o-6Q zqe}TqoDeQaV3cPgtA22vWitA~QjOoNWR0DBjYJY`-nioYZ zq$BrbZU*hT_h05DI`%|7O;X)E(3aHFX;*{}|lVES1JreYnh?6X* zVIM1JnC(zhLZ((txUb!{Y2Ml@sLk3aQSX0h_ug``av_=?nk;jXvuF*VDlB0D#Ogod zquEEqvl2}cBP~L3+qObq62J-s4h11bdQ(RQ>KT2{2Rd9t7_{;Q@uG!Jl)Z-ItTO&4 z-$C&{7u(0PT@d>$`Czg?uRnC$HNDrJK2)p##nNlwcBD&W9m54RJ{A(7#?0d2JyVLK z%%6J!+ET8YlRk-yT^NtZJJkREkW-fMX?fY%;P5BYF~Dc=tzP{ z^qqL3zXMoyP#Jd{%&?Nw!~L-kx^l314!91u!E;#SzUr-i)t?bB;!) zI$7jB^?k`HGc{%pTl+e#%1Qd;Pj{JcC? z&&&M)6UWUV0K8-LLG8PxgI)P5h9UBqK@u0#w*6<|5igmF&B$2DgGULpEb>~Gccp6nzJ$o1|Lb( zl~rKy;mWLBK$QRvpQ7cA3{N^&9zb9U?{%2=S{wk`{WaJXiX7O0?Laz)A8YYr&z$eVNvkrO{V3?j${Z;Brxl%zh&;>2%wcl>Ffu&Y5ca7jN$Gqkqo$ zmfTkBO;V51n)vB6tDaHw5kc5Aueh!GDU1uh(fZwOH|l$H8?YXujxls3SN+W&4n?T) ze>d)UX*C3g=&;;g!OmL2k0P5(7an=tk7wr1(L z=EytkNXM5NAT|38M8n`i;dM@20CBG0n62vTRvTW!l%D@oKT^9X1FR;~i0vP#3@H#U59vA;P1J-=kSEV>;8eE}xIVah~3Phb&Fm6S4u z#dF#>iW~`C?iX5oaURaGm?i~aqb*agSOMT5F+%vv_r$-{9o_<1d>FAbskT?(7u zbl6I1E%yd*if><_Gi!H0d$sQM7PR*ptQIyWUv@=8=WU!4|LSax2b1~E+I;(afUK-H zcIle&m64p*7O8H^b4`=_pcfE!ukLPYw_mu95J+jnx?RU@l+p=>apwAA!d2v{FY@$A zYR=o(G9nJP8@dh@H0s)bB>iB0IjfvY?pU$`qC3}A#-Xe^#~X3wXW^l0hB!ON&C@GG ztE9m0pF~9CvaEv#4T9zVLT!jNPr%ME%hNd!yzK&yzkCCm{ow&lR941EUslj-W;Im^47a%!mRM*s6xg?~g^I++BQ8sW>E+U)~{g@7LM> zu*vwNaOUrIvE~A)TvH;cxsg9#>Jy8&7D$Tn;TR z1>yZg7rlhm~CL6~mLzlr=w=I7kP$9-vCjb~B;fMBD%I zjkvAE1_kf{X9TPn_eZT)b9LNJyOH2D-2Sk)G)wdbE0I~Zieuv>h!TssP7lpSH>_Wi ztev~5-j^a;K6!9dO3}c{g*13Uar!fj9(8tO=O6zGC^~m-{L1r{AtSJ$ zIVz(GDyBqd3l z-kRz|Cv{4-?)O+|%E~PnHr~OXz@6-SpI!)E_u!#(*2zegPsdh;koY@{*2kdlFo16H zj%hkm;o7Us+|)qLwft#An2>d25HyeET;NK9jNsnU4I*GRr7N2Ki}eQ6RB%%fNCA{_ zQ5;n_flSA?@{1y|L=(0%l-Lo{h%X0t!_#L?L^;qHDo{^_PHs{KfMmBy^I`@e&%*>+b`u;v;B57yaD5r|6A(r(2^(Q#>>O`P?OFIlXBlZ{u~ z69%I7rCSo=V48jQjxidU;NZp54cd$@SMX??UTDQwcO3%+49~z7 z17sZaS%#v?yxzB=k>j8OD%4mwO`qvd*H778E{#sKtM~cFxPPUR`hwP=C9u=5pR~M# zi>mOYDSquy?zRl0_pj1l(DTa4ydBtGAdw9$Ufajl)p_)Zrx5*x@544q z=ALhll{!#$ib&@Rp7Hws~c!$|Vp3TigHf~hluT+gE`9|3!LuMB>%&p*Zlf@YbP87sOmg|;BvOR zyB97!E(m;-&^6H#Zu=YbOmQ=-2OmxlgkWmEnPIpeJwgf;1J4lJ(SnGink$%4DeG&- zI+1jN_{K_MS%(2jy7Q>d*8750pY`=E5%75S;_Lsjg32*9!GG`k@wb2Lj1&2K|6SO- z1yo(ppZx!K;Ch@E6o_rO(C()X^Ez@`Sb?MD2;*;7RJcolr|+}4h-n60mooy*DZm9+ zB038Azuffjz12N5=lgwd`en<>kc?AtkM}?$8Qtr(_-iz_*SMC;Y=__<;@=TcO3dc$ z0ULvKw}0_}=upe2T`)tWA3G3#Ujb|JJT5C4HaTUCbW7B0aZ87b;o28=lRG)Hrogd~ zJ7x|n&>1#FKqXKtVAq?GC{V%VVfu9dkYgX_s}?kt2-FlH7t{Bc!clf`U@N5?QY>fE zj*f7mx!4^6Rl~q>Qr>8;6~|R~!A0t}`*PZrPF7p!_~3m2jx8>wnSJ&*n|~+X$UBHWtmW4H~yukk*k}j)^@RisV_sM z;(t{KaBIwtr~CD*eV|NjGZ7f+?;jEPpKg{sTWZZ;W726cvojuuD?p5Q$0hiF*yDzZ zyY0>uT(@UEk*Qfi`@JH&A!p33J@`kD8PZhZp#BdqHH`GQ`&(>0@=X5n3%)M~!KXQ8 z{qCsSH?PKr|8Z{$R7aWh0DJKWX9-}6Gu?V%VzV_H;Ym;>GIC%P zWF#O&c-Q+4%Rfe1Oi*1WQHJm0fC2mfK@pks=+N4;Ek{yqV*W>O9Zb-ry!CHA{p9ht z17@JRXRP$!NMi%=mxE<@sWuJAlK(`^vAb?TgtpE5-TH13P&i^iid{`nvK~+4?-aPr zqzwl#3=B10h=K#=B%oi1ofERffL`F!3#hO0(`IkWNlzIlCUxRl(4^f5wo70>1v|AL zr*Kn89I!QP^V%_hw$NVV5z#W4VJvR?c0WVD%&I#DKy9^BHTe@84-hhCY^h~4A3fuz zvhL$f1^1o-rl5Rcj2*LmDHZOw*DCz>9c8A13hXT(|Jd1 zcc9Fs>9uC!Ts^}ZwY=F0m)BtN*fiY5KP56Zt;gcEJH`$4fVDX!Mdpp8kB5p-R9w6} z32OeNwX{-ImVjO(noWrF?KrJ>LcF(G7z=k#aZ??9l@#?fY?H5`zL@nabAF{T9hlQf zOrA~+tWwhF$O~T8Gz7Hbc;o$8KO(j~s5-srZmO)=~j0KbA_b4KwE|NYwJa4b?z!iS{r_RFe4YsO1Y^vaffByg-X zHZjRoa~-jkUgLY;$~N9)--F?iGI2A9FSlyFiH$poIc+Pt;5-?(MGzudvEJjreCZ z&q)(-q2LqgGi2qy83BbV0K*>KJ>YYMhvv~>gfn3;N4m(@k|ES5KiGPCZFa_xfqhLE zbFCQ-{5viGTDb0}Ca0;845~u+8Co%iV_ta-{btxORb~|O>RaIO zIi?@K-+*{~-2WSE5xnERy*LPF%H^LXeFMmf?B%=FdS-$fcU*5FV{hyMr_$c@w>|HTjvmVoQ9Mh30_9b!CYq^ zu0(35+dW^6iE@r?`x6y-bQRggq1-9$c4K0uCRYm0t?!WJM|Qin67FUlO2dl0J*qD4 zUfSXuJRc-SVk>I^>g6TVU1uENTE75iW-(0U$oDs)$7TG3(k^Y|HuSmm9?X0h<)7fi z{xbjo3cWEh!g*?flYW9M#7~cX?$aqD;FHL-=9SA1!E}IKvdRUxL4c+Q?vzRRDBeP3 zV6#7|vHhw>Y!y+c;<%!4WmNJ$513HFRSMWoA?^Kfq2Bu4wECGU?Evk&wcS|;-=bh0 z2YMj@dH|HH%oT$+QFiYjdHLe3vf^}*|0}HX5b~w=kn(isP_OP`s|!+)eN4s_k6DRh zGCMGPq67)qgoMCh)3+e^Z#zK=`b15@U|M^h8Sqzxy+c7p64-tV>V$raodt+xUwh9M zZO(I9=;?bN)FH#J6oJ$eI13LFHf*u!Qk0zjH%bG3a10;EZK+x`1GwREXI8@$AAHQZ z7YiPV`%2HPgU?y27^ z&;HUMW+7jE1;Nh_fW7I^N0Q~+*E9p*YS?bt>9)p3Emo$=_(7V>cx&Bh@Pnv)A#rM4 zZ!UX*!KB3xlax%t9b!Q}=6!`6Lf4|xO_>TySkCpGQ*0|q(9lRRDWX7b@gpUFYV{aV zdcs0E)VjT0XtS^bv|Ivh#LVrBuYV`TX!|`vh41lKG3aNuxqBZ(xi+ul?CuJ~{hp)0 zW&Q6?n_ruCr{eQg9?5}!Hz+Is9b;4>R-g+WBufFF1l$p#I9}KRCcccbq1YBuC9<@Q zMTs-l^W4y87(`6Kz)Q)EB#nxH)g^YP>a9dqi1nl@Afa3ddu0Wa`hxMz|8O)-xc@&X z9=VF9c;Mhj-z#s6LX|_aZMjEKdfbuGyB_8L=eu>VP90;drK}0@)zj``KD-rD*AsyA zLt)PB1{nR$X$6zdH{mfbmZqlu$D|PW-H93^^oRYs^MffkzXe2Dx82^SkGf`-j!Oer zF*$_4!6X@62tcGxFDVjETWOMR(wrk%o)G*Q=sp0CIRpj4VWJ~@I1}a8MB{qr&k2rk zvin&FFr?IH($Wr#zZl%-N@UXSQccp&IMvW)LQLbbUJhCrATeWY-pg&DV*C9a;7h!! z+X*xuH}Ra&1I54@;TDw_*sd87B?Bng^pDDo`j#0`=j&_wT@M!rCPsxu3jv>e_f3^& zf3V1w=`SRIjIxa~neLx*jFtWAcnV1Z+SMhLF-R`I1@&yFVi(hfA{Jlp=-|$#=M_xC z{H*z5LI{F7?}`aH%Pt1C3En59f{WkUUPGpM?pS&Pc0!d$(*N>}y}NVn!~q|^#aAQk zl??jTKwq!Rg9#>Znmn_dT2cCG6C@g~-D{@}c((fuSiq@w-g`(kHh?_Dc=J-WNWT;z zhf1dK^ZV+W+`1tW0Kf(Ce9(^-k#fT5;F*C`1b)(k;~AiW7!7oM*VC_6(c9H0^_fRa zI7g0K)akfr?!kB_>ADaCx3J8@(WlNi2Wuhg^oQVTkl3O9i4?FzY?$EtlpqdG3Nd|J z5V?E#d!iNe6uu0c5M%JHY+_(_*5X@WYK8rD>)UTXjeVv(dAfa_(s(sjM0Eduf$kH4C7d8M3Nk&@C;|3O9MH-0;9!pwG3=0XF z69$$FLyUcSvE-li+-`NVi#qhqOIYpqxR!~ls?|W|U9*!+D(}`%%EDX?`xfu$9l~48 zHX%>Zid6&G^Y@&tSuS`_4UgFAFutgmft_DcvC5Atl|?NP~2DNK1E@bV+wB-QC^Y-Q4YW=g##P&M@Hko_+ROPeL)& zansBn6mG4cs-BlfB`|Rnn3JqMBu^Gr^4#TC8Gl*A{IAiK>H8F~&0j7Y)^W@%z@WNl z!M`rJqy6yvW9i4OSTk(wjXwNBF+{`iK_L{F5rk2E?U-~t*AFAE=P7&f-=|sM0fQqLOE6)uRdbY54$%U(zXklP(iju41X0izk~pf6@ae6 zu1+R>1p;LI4LeL(LER@nwjz7coddgFVzb`CMLL@4I7ytkN=6uMr^Lg*_Sz-YY~d!K zC5M85x1WJ+Z#fGF`%%3ggjZfx7vUE#f9(1=Y?0ERX=c-A@T1l^THU(vdH_9rwej-@ zulqH|ekPN%KEKGb)YaF(#rDV8yF62WmnO*Jb)e{V7S5PG=_KpE%R^J=ndWQHd-%s69Pc`EI{$7~#yA;KXlTYkI^s?~jGy`PQc=;AG|{9HqvtD;^ApSt@G2EevfH*M@^sKGErY9DT)z?Vsv| zpdp=HT9RhMA;a(2{oBEKgY2zG^$KE*W*QAzDO8pEtK}aDkLoSM=7X@$_n4;^izoocejP323b&#%xryMD{3C90MqrNRd| z7FAvYtkbp^#uL}I0%c`YRM&QWbVPLxf>1;ysT)IOb2Sac0Zo-{>iE;WJz_LCrbW&` z^9yWZcs@!hJ5~yY!Sq2+Z4~P|i|xNEhxdajgG^>kguev%3}`ZyXV#pWVad>(uoc0I z4qop@v6Kcg6#QrDi!#Lc2tZ*8L_#3rDh+}%3MWD8Jv3GvR*WU<8fpMliRDJPXON5i z>c_J5PXUZWnTsVk75OY4g~V{mv(xsSsxPRopJ+{C4-L)DOV{e#pGi=kw?0}mpD0>b z)}OW46aC2@=)tU-SXhu05*m%ls2pR-riuZ*wf%Mbc2E3bP;p02F_UmWs%74`qme^2?kVUYs(p!?c z95y^>67|Q{ucwx243wh+&%AFqwA`VrTdu_-3w5>#mL(_>qe2|L*#uZyOPP0F3^4j!~Z%~zHmYdt1oT( zGIiHaUEa}N<-lzI;oz>Y456rcB%+D{bgBTqPRv5^(Lz&36n@t9DTQ3>gKs#@x2tMy zeo7EmZ2w_bmN1k9XJeU9{LG=LQw~N|sJN?aISHK_(-5}`p%NeX+o`=ub|%! z5QU-L%w{7cJV2BTIs})kz^;9(zEjqGqW^Sv{=J?tgk(3voxvp2(@Apsv~ibkMBvq9 zrc{%IIPn_@H{dYEH;e5%W>$ga%u+x%jEOe|GMql@-U(O%!cpoRE{Ol^Ox&z4bs2d>+v{;Qj zBq8;Ngc8a}_LT6CMx>SCONA&)EMf0+s{%_3Ux(Ii$GB=x3&dg z$9mVSY(iG&E~U~ed6vw;$VLb?y6dYAd8+_TzO02lR5m(6^cOP1uM#;i4UX#;{A|_; zjrj~doM;HuH#YQ)R&&GNDERrEySuMgne&@}ubw*<3UmQyYE@5pgoi@8$d=g@NVNLQ zk~ULoq1B#& zhIelna^#{6un}c7V*ZF~hvIrKhUWgQw9Qd-mYV|e3~|j0hKRWeP7UQL#q?xwZhGO_ zC44yixlXU2>HN8TX+*tXSk|pYBG2G%Q&?cFQs6n=yY=$px0apvZRguOV;^Edza@UN zL8&f~-N5$th!|LS$lZpOvJmyk`r9}3dnxWPoW+EBIz~oaQyBxiiv3CTW~?kjGr#>t&vrVinU9>)ff zH>YB~FITLReQ{t1M8s672nI;jGY#W%?ZrwPF91FrG-zYFCalz)goD8A9Gdox{s^Ee z*|w{6?&Jx}OkNP-{j-8Rj934eSC z6e`2R-Db6lt={O`SRWSteuu?_2a$`jm$Oto0DaxTAzGg9A)SJhchHpy6L$-Ex|7Z`>p7QIGSwrJ=? z*&`?|JRkh_QYB~0L`u3Dr`eSU*u^N65J8s%-TkL@$tqm;`gY0~PHPUuNWf(LveEh( ztX@liVl15@a$Zm-oVYsaI!%<>dJeNQn%?Ob$uB0XG#Pb8dn3r&V<=mqQ?~L$HU^H; zRrkUrJNbBIAT3E5Kg`y+2YP04(6zqBw=)RuZe%V{_+E<*2T2*@N4J!HU>|+txxziaK&^}K+bKv-#&7EZz?GS|pU>|!~ znvw^3t{`6+WVP2GOu zF>*L_F8ytFf&HkefOrJC<7|v<$-2*}XMFjp6BJh?*LNA;FnWfqe%RBUdDWGT(rwRM zbE=J)r< zi{=fvx-?=cb_&)(&s25463utzLIHb9u_e}tn_=c^slTc3Zh)E4GL?2%d9i#51+3$M z@2$rE)*XY_7D^>4o#IXyuHrsl{bCsrSK47!0?~wj2`=^6SQZOeKCmNqu5Za-+vP{L zGE#CbD%t;E4IClgYJz5Etgz$4+*ziu{he2q_Rz@#CSNd|jjybXWLXZ{&ZlraZ;amb zg_>BF>D?~8R+ubn!ew(B%GN2R&*1>P(YAS6P1CHBeYWfN(19D61vN^YzVt$*%LY+N z9IZa_n`qhLxy6!yPY>Zcw5j0$ZsVA?TTf9`9AqFH1r!z>iR#Kd8oDw4iGmmgImHNn z(8RvU#a~2$0=rRe;CN0>-rp`EpawB_MJ&>ubOH{}+}zv^`}wJAZ5~|hug|AJY${?+ zV6|2h(+Qc=zCwPwov%D-brg9x3^eP*YiCRy?Fjg0~ebReQ=Fy z%ag^n8%ghPCq5lnb_I<4o7uMEf)VSj2nOu^jeLD>PAXiop1{ST#$AaKE9QsfvP^g-1|?J;|Eqr2ja*2%(qccRL2wS* z;>`#_S0nx)OjDQ8-g|-0btdzf(*4?zw07Fa?9_%=sR$d#!c}jJgmnz@B3K8 zKLT!jsIE0OmMc1KNTSABITsUR%>`{RShdj|nXrI_VQ znknaf>6}!3@kqBgKJ%y9`%wX;+T>O(9^;qJb&rQ=8*X7JFMVN|xJ zoIw8w{PiP^4<)T&!Hib^kg)uM{&GKuZCk?uN({xPl9CueP+Ch1FFuO62ZV(4%T0ZI zrPVUGj_0+CEYESx=IUPqDq7mjomA_cu`J=%6Am0CP|p;0aBDcH@cCbMphGsCe*w&L z?CG4+Zv#r2nd|fhlP!EkSup8|ib7p$a9>5Z!~d=AOO#uRe0Ct^5sAk4d_t}b7>?$@s$ z8yg${z76PPcmZvqx*#S2>i%Wk1*HR$EiUbh>m2Lx<7>{+m2b zW;9(+H|1imWj`w^p)b~37p!bcYp@qik40mrb6!IG(eavmqKPkFwNU^EG^bD~T_MJ; z;6wV>d`{zsV;v%g)RNHcH81g^W)`3za{7 z&U!;&i44*bdbZO7a}|})uc{@cJ~3498j43uMzCY#_N+iSY@h7Y<12puPCY-**PZ|t z+G8h!vBD%y6N>2~>9xZ3o5M2W(Qz#H5Dfr=H1o7bXSBb$Ez<@&4P?42Y-D|`<;HIk zeve(xmz#;zId4+|AX0dKyuDpW079w5YsI8^p;-C{!V_4OH&D?s`i=&<2ZVGCG{*b) zQm*&YiT!MQ_tWH3RLtU(&QLKSbzyW!mh4wOZ2@4e+}I%By{P`?Xz3oCg$dUjnhDUJ zqZp$%_(j|uckr9Iqj!XkR&5luXeFK9(}@gvn=7QkGb`Z3eBVLcd!aGYoDLd-&a^E? zM=5gmA798~zo!Y)RY}iqzWP_(_$sAD|`F#I`4P!m~fD&n<<*S3%Kx6XlRuX ze`U=cCi8o`NgBZlgO4^m{5j|^uuK7c*;AdyRzf-sa||LgVNm$_J(!fWajB>@dN78WF-b~u6Ad5Pi-kwkkjdCE)IXZXzkh!gnrfp=@by#QzYlV_m`#g z6t`!WO^m-tiJVit{}yFbW$%XS%I$bCr9(Lj-heups9gW@Nr&b|O&wvtb|!1i0^#kD z{k8NfrQ>k`U>J|)W3SS(SDl%6GrjrMyDcRKop)O-m8VXJKLCmm*6L zf)s`eg}v_gml*V#$!#OpAoBO`-w@lYl8ME|#e{l2 zkJ-7o{!dRL@0ifw0AEnFc*X(NH!+=lLo$_Fmk$UqrlkTy;Ppb6!~<1&Q$zSMnlu^? zRN#O|nJ#Fq$&nP?TcEiflnoS2UUS{ZCNt-Ki)Py)jP!&>@(1RoGVNwX1_A4p7CmfO z(0CJsN+etK`)i5O&QNma0?|+Y0(_aOyD?K%5Nr0+WuZ{#5s5r@H(H4kqH=K#^UU3} zh`u1tjw5u08>&@DU@ZV)dU|@!qAqR#3mf}31>3!l%VzBjaAv=>(+z?s1i(^(@g`mV zE4ryz$QA#q{q=RdqP;E)7#8I9dH}ER`#0V81rWI6P6UuHe>XMNy**jxTk;P=A=vm` zJ+d*|{=&BUFjFu4r4NLrx?c2CHr}qdZ;r|?1A8JcEP={X;3*GA4-$w~u(Y%^QCrx; zz{FHgOLA+QbD*N3(Z4>Jrckz^|^~ z1nKx93S{q5vL^PZk~tHXHY7y0m`bn3v+vcn7_f!O@I^30Z))p4&BTl!o_D@WMvYK* z6jOOuF>k?#3s+=et=ZJ%H~Duio3** zUAX71iI9EMp#P z!sSj3B?dEvj(1l|Cl=dJOXQ|gGzrr5d2{+F=dP&!9m@62zhcOgX;j+FQ^801&mST9 znR6l{0tF0?icZ1dxu?s8YKYrB{Kh>UgJTDeSa44|*x;{#<~04;JaP$;I$)@)y6o-J z&H&-7l5h{#>Ye&4|+5Z1Dv*)k`Q|y+X$@iHK?B9t7TWUHf%+?@AfiHg_ z{pQD}zIO6{Z!Z_(E4aSpiV>C`C^k#33~CTHr3jEQo6k8*&zHPCwN3Uj?60abbP{xg zFgCL4mAG`8JUD@n78$k^=Kg76}WS?>3x6Vbx`VIXq75!ArZhN?xGQ6xEs%9|g5|bw7|= z&Jjr#TRow_zkfZ9WkmP&1&T90xDg)8=gsQQ_OVH#3F6~du&1kp z&)$RhgN^b&fs}fe7}^wBgouXzfnm0@9W@ThvwSA6yu$bCM8!)=@a!IA$g(^&dYd zkN&LJZ`d`0NOW+J{m(z%q&Nr^DEEztiZ1=6>$QjJUJBt(j{tvM<~O$uc@oHX>GqX~ z!@>(@)A)ks^F+f2N3-k5n?5`d37$??JYPmydCO&RCKtsPw%Pblu8P_wA(h8{lN7 zPVZ)i3d>mfliE$-D}4G$#qI_0)2!get|fi|tt=rYCMUao{<@6{4Yo~i1FYFsTTeE} zNvDWgor~mJxe|0{y|F}&2XnY6)f&i~?P|BzUuEGo5L=2*q?r#uFI;K=K4&k`(_2bE=f8$G%@K3^a09FE}oL#MoV^IEae9a+{L@$F`Q4u@0d z4hevX2o1O0%g5y_5oidFLG&w(-<)O>exol{_OzM1HjXP@r6@@Z8S>pd zmF*CEUmrE-y+RN6w^d7pgYf`-@08hf)b5zf>-lO@y+ZeIR873oi5z)X;Xh9GA6ljN zkq@HWWFjNlv*qKcaQ2oOPCD3D0K{BH$MTUj_Io2&*gL~2-tn_gP&`nc7tV1*q<=V0 zv9PevH$1E&@;M;x{2uCP+55*l3oIeR;aD`n5dncP`v~|Tzz-QcSryG#>AU)!#yjYgy&35b8mQq>l>m~<-#F!osgIMK@WYR!lsxa{jzkEh0S_lu&)Aoo`~GI?Awk2;AUPW{yv3 zk%_U#YQJyV+5-(32F0G7W5F-|%jQY&X5N*({{a{@3v+Q2n;$o34cXn*N z8JnuM6K0~8i^S(wtRYRo{W-;q$6kBoX_3qCJ$5|z9{dTXoPC%kBVXuHKCvVF8NRs7bGK1_gAC%I7;-66FLOnvHQJ+lc4WS_c?p3b+Ai8R zdn7(yX_W|_Qr~97F1*s*`l_Uf(F7HXlIzw;MAD;0RlR~gDPf(B54Qg~{(_VLf3Ze2__hUHM@$=-pv+b(vFAnwy6;TT1eMPh_L#? z-qq>RYK7Yc=Rcp?D!LB>LT{DT<&F@%KhNz^Xdo7P_m%3?wJ)HFXlW5krUw}7N_P+7 zmDIS6dAXVxDCMc%>$yvjs(A542oe)+z&8;h7-TW9#eDJU_m{*thxTP{=EJ|9ry4UP z$!Gd*^JiJ`ON7n#lmtG=Wj++-Dk(mUA_L>kQ7$^_C)F=vvhRAr@P7}pu__;ZHtExS z=rDqhl{udkEX}HLph#%>ggoh@V0qz;_D7>eTKGGrD{Icx0cJ}sXA9FGPig~LJ(d!78j%=L)^`iF7ZX3Aw zg-Y_7Xg@U7HVblMbl5ASM1P0vh zaB^=_%%?YTr_13QXq%a}Cnv$WOg~pocmG6l%cgQsKSLqD|DZ$|!+j7J>hA}wRob_n z!KLBWd3vpfB6^wyhRg{M6DXkktg5O4e8_J4K__cNx`){l2Eqlpz1PAMKgwe1RAaWD zTyH|y_Q>dR|DEloyCnxDPtd97vwKVZ6Cc0U`Nt}{oUbLo<|I+*&^|A*$Mm5Dp zVU}Exi;? zf`d!gN?-II1qSYJiL(0;Ygm9LR+af}yqNeURuy| zvKG}G{kh(;>H0g|9m8WGe( zYi(vCE8#VO4!JEeu2S#0ZIjI9_&&AHF(3oqic-`1XrY;Q+o>SDe|JID-qn5bM0qms zI)oT*$?4K^D1(dVxGB83K6Z7~%Uud@T^FvXohir1G-*6ZPz~Y;W+!hsmB9%je)%P` zkrcGBF3)vgZc>h~+1dV?31q?f*-QyGaY&L{aji6VmR5rhGrkW748C*M^Y6*o7Q#q; z32F7bFZyB44G_t3jU8yaT!DuDAD4Vn%M5pd?s%Oh=pU%%oPb`+|_ny{0=Lo#^(FcxQ(Go(w?^WIeF#NT-+ z;U88})k8$F?dtGl@w@{q z#iH!{G7EY~L+rSG2fCozU~oyI_iT-eaN>(47}-ftfX;R~i=FUf>F4!yAV?KL^anBP z5-~Onc&28n;(8;$`FHmXaWyPpD|rqBEfgkg(Cu%EL3l>gzArJ*sGxVa(IOF4iW+a4 z(4VN_A4TLUvN*mdI+Z@6{{7`WHlp@6;4j*st%vENc$)q7tXseE98W1SCLlypVg=Vw z99JHc3r;G+mHee_f$tyuSX zVfjeKrGu}Y5X6Tq!5vof^5=YCsYzlhsOld)3h=A2Gz)*L=e@%fVGQW9RId1{d@P`h z#|qt!^IV#@H+IpRs;NAAV~z& z(M?T#&uwt_mn@)MEx}G@4dqI-yK-YlQ4V2ezn?8#7BvX5d4ytZJa*}XkaXlSEDDEP z=GV@s$b@MRcWXyZHqGcXbB6_HEHHzgx)MINb+1UZj{BD6ASbrQr*)j~g%vg4fDt4t z`5wQP?Hx6Zu9X+V<_J${X3Oonj3_9%u3&|O#VmApOXggBZr|g(=a;+OLNW~#g{}~Mv<{?=ew~t5U-Bq7q#dAtfYv6klYTDHc+G8cDfQYuG^(wnd@#A zcg(OUFT-}97raZ_XXkO0D6B{0OrZOe_PwySRW5&U{S9_{bJRD1`PyR{7)mrk+5w%) zBLrVBfo;5*_2UZCk4!U$`SRAf+6DxcZH0$?_$aYO19?poVpJGnd6Gu&bp$Q@KIa`i zYk;7#@J~S%8ghS@VeD2nbFNKU-s^rXIfv%$G-e0>F>eidz-n`OpHI13<@_?1q{^e^n2dE^5W(WXJvE$}A;v$jc28#A%(nwXdHE zNSFE3helgGKfN!{i=Hbm0O+UR-yf6vhNpqARl57b%eOafeBvE?0C^z2we!wofND$# zd~gh**V%utI@o{6bbcwI&R|VM{dUJym$2afOh7=e4V^UdC`!pH^y12B|3qnSsu<@U6>D%3#0UmE}$wxl-@x&FOY} zis_hS=zw4_JE8Rap`mDx& zj|Q$I!tn{`Prj+oAXp1zn;-<3T3Q+n_8|YCFv5ff+!y~85v}5y0AmCaitgKRdWJP; zRF6!Fbdp)}-E;zMxS+}Y8NAb$TiN!_3;-mY-d^7H@GUuZbG`WqIW+j*XGK^cutSgV z<+4{zTj%2P(!C*Tq4YQoBQe*F8@{Fe$&($wY^%ip`m+qDNM)%MM(>Pd=gBfL9B+*o zlx8G*%p!eF+OlzIU{w5+ONTZWu{ZxOopw&fPj_-t!G@IBmWqAEqTm zfHaXK5|(I7bat*?y9!8lyuq~aIz4Sg@YgAK?pn^Qsjr`0S;=V86#ybVkS#Dx&(F|s z-u&EjaAWyIWK^;$7^Cdjbb5GjP*_rO=(rl34QSMtdQe4gRiDGak9Qe&{=K%^cJeEv z4($E?^L>Gm!EBi}APOwlHJ9#-<-w#9%g7i3x%v5SLApkr0 z(9qN*3esDU8G?JkzPPXe2O~VxxKjZ4ymYt~FTIn0DlnY#`s4!?yHa!5gX;WhZstIR z9~B)PZRZdGFh%fdIoR1J=H@spjv3Xf$hNB>Dfv4JNK9y`!jQz|hCT%Rz0lY_l~SZ~ zpZw$~)(J#?Kgy=n@_~WiLV}&<&~)d!ckscV4)hmvAnSU{WAe z{I{kqhEj6(guN}o6pECAVbbF-+N$TZaK^XxQ1(R1ELmcVoz3TXkLT^%dG{L3R-H_y zdGGnRp{@s6j~g4rf5>+kB~3TgC^ed{b_@?gRm@ed7rzcUKHTK>Hbcfvh$BH?w%&87Jy}p*HNVG+nek`Op&|#B!NkR5Nr>|M^n5q2 zW(R@^@S-FD#r{GK_b3cZ!te&uN9xtEbSO@{f#%jfU+EDb>$RQVj`BVjv^@uC-Yu3B ztu06~erf#HPmu>qR01uJK~Eb6?O$k6oJ=h0GDb6b0*l^?A?;XPQ4Idny5`sV7gu4% z_Q>AW>HTWQ2z1`=OOdr~$`}15?Z(~a?Lru$c6KqlRRl#{WjQzb2ZWE1UZ}E~h=c{< zU&zi^{%qE4IL-&LURezFr-Jnc$o5Wt=N0P_sEE(%IV$%GC+_a-M1+iGBPi%2;^`M* zNAzCGSPX?MyXS>)mAt9_>Ma@W+UvL82BTj#o^*I*2>ew*q9+t_c2X^1e5~o6okOn> z7U?gne4^f)D(4k6z;_4)OF1+qHr^sRgCZ5RWZ!giW)70=76SO{GM!gkg(nj2NBQb| z+0$h?ia(b}y7<4l$N@6C4h4Mw0u*b9m$syrPA`ogb94hNIeRW(CPbk0KUmNxHaEu= zu+kcEJSfp}P;oklYP9-%)2{L-sV*A5D78XGEz^ob;uA?N9E%cmcjx)5oA~99 z;%u|VeMTuxTTMQ#W<=DW_p&{O6n^o>(wqzjE@$SdWk%(JZtB6OR2dr@qISiX>N{LR zlU8%afoW3V@HO(B=gUV&R@Atige=?PUOT1HRJKs}_IpQ!DhFHaJh9RpJZF!EV*CQ)9|m_;#Q<=X>sN*yTpmY&uRuVS^(If6^D;+lfuaf#jiwj&A8QcSW{dP|K` z)BEHv2ujMI%I`M}2@EJJ+@+Ok8^C7Z3MIFv$T>-%E$=?rDh+pcaqVXRyw0RPKM&ss z+dMfp)#oD&oAimkl|`%4?Jc0m!orXi@KIh){VT49%%1>9CE0~f zXyxfqwyepLK};zdtz;taMEVdBj6i7QB!AzOT_AWM%lMNrzjE2&=!(Gki{nMuHEh^q zay=;;O*g45y?U?i9>{4&5{uZEKM){8YiVcSWxut*A7u3IGw^oxse0aiu9@KgXB?-3 zb1vQ0ARHuzO&us5D$rBBhk=9uf{mLQx1&;RSq%d*l!T{BXb&rmLsWxWjYz4v!F6IR zn5AvIiu2ZXg|=q{UKCniVrJt3Na+OL&wt+lVJVg7GYlAcbipww0sx>8T96hoZ=H3{ z@wM_#z&hG+rV|eqvT;kAFnrEo*|=>g|~lE!Fj^cQGgyI&>J zeoBZJh-j%)$_d@pIQU-1_X9M;0t3L(gALR#0pC=sY|D_-}RxsnJkbq0YVn|ePR9V8s={- zB5W5dbq zhsQlmd^w?yMr0D7L5x>HV|)_|tbq~+uM;c#9yn^=S15SEXR z7Fcq3TA4=8;&Q;Fc#*I-FsS6omP-uh@lb_$zacaGOO`q77uLFOC1FpB-|r$0w4Yb4 z7dEGX&S*aaF$t(noz z*H0zquR#O-PWM%9m#Fz44wU{wrn0FN=ch*Gblf88VtwvoCC7?YYIv3`c(lYt65feM zAEl+`qI-dq+Ao^KVel!H{q#Yde_0lt&O1h0hiHd-e^0NWKvSEW^apAWIme6Ut-TtW_Zu&mI|HvOsKaI@N4>7_rlNxNY|D+z)8Rvmk84(J63L)6&lg zP|HyLVLLf$c(YN0%W*6{wNQ5252XD^TG!m$ivszjrQvC5X$l;;mj4>5m*YyGu(NYF zu0jO{)9lN7(xz(#LDP^ztuxeOLVK4F{b}zZH40OJfh~7B=wJd<5f($U-**!&U$NP1 zt<76bt_DXg&4l(Z;^MGXbhnS`oM?c_@};Wso@`EQJhK0yXqMUEinjv6Y1G@2MUt_o zT(TP`Wo0lkuSx;OoAo2JlSj3}=suKlA&1M`V4OY%=mkv8%|S~uv(>}rk%qgkA(X>X zg^M%tLi5EOoE6)ifF120Ch**}bJo8NaBFQ7=f90r`Sl(eB6j>|=lWWD`^qSrGhg7$ z*kg80&j6o`cCg+Hn2F|ETTdYM0ON)RM->YH&kq-vH2!E=$|NsKd9c@ z!AjS|jm8IAj7o!9C(fiOBZ)?x@a1TE?_X-nLreCv$7x)Qe7nPBQc)g$v2teNtnO|r z6Rawy1zC0+CK%W^a02QEk=&5A`gVGCJ8uQ%=8qco!P94^XOrz$L=SAe6`;%x09{+mdNB z=CB?YxEaHzL*Ud5duw8|vu{F?es$x*_jFn7t*EU;uxfn7n*i3jO{eN@)5K7v7_uQ_ z7SMQ*cUbcuUGyH5#myg5kcoE}!g!Md!RMHRPHL5Oj4Pk=juc^NCzNZ#^RJg~p-w%rad6l>`1THRsUnkr}?Xbqxqqi?qxmOOdb(1zmA zphAELl5gcEq_BII^Z63^`zEc9dL4V*g5k7*@|P=KnbM+QuPQnN_Ck2rr7tOem!*Eb z+~_$6hbseVsc|*H64WZLu&};e$LsV)1L8%^=`pgOHhJjb_2q5Jw3v?0NnvUY<{KeJ z`)O4|y`>r!x1&Td%-G#@x&5$!mfQMFd3V#p^V8gppS_3IV(C6y-5w9A?VV}yt2tpa zy2dLphqwaf?_OUvoo(hc!PX?)Bq)O+isZ&;CC(G%{9E@SIgz3ioP~KH*8aIs#I=Kr z3GgbAPxsY&XL9v{ps_pFEl%Nk%@F6IUC*dSm!@}HYF&;vu#Zyny^8g26WfnAM_iUa zVtr=3H3#3^a5qB~C1CZTWc3bYJjA!Ov?y>e-1ZdJP<8&NJ~S=k`qS?9=s2R~#1p$q zFO+xketRjxX{PemDx8i--&DOp>GR4SdAa)U#my@JJx6v0&+WatMMXwLD(tpRS1%P}k%+=PBIDRvNFH1sxQ+ zV#Q|^_UmGRM_1QJ72LI8d6~C}*e&_+g;276b=3LfSytIp#?Jj+G$~&f^B%&k8S975 z`)d6TOKx-}P-F?9#@WN;YtDU}^Q3d>zKUGso7g6^Ux(FdJ6gjYmjQ*{EB3r6YDy#V z^^AnduUpatM2}EUhkls&j$)z;0Qvd)b*4hbe>nA10FlS><(9GL#^Qy2_5F2Z+u-1< zSETC7%a6WK)<9{{`AW}{AJ{Nj9?;~j7SpePK1zXoyV?01YE`-)_Fc^6S zmS#$p`Xt)Zr?=&NFPKYKw^824*`Yx#zn^9|fzDr%*VZc22#O!|^>H!syy*xy!(%^x z;Z|r^9)D^a1g~zL?!PB{GFW8~1LZE~>zcNWOE^e@Uf&-7W10&LFTVeCjwidH)T*Tx z&sU$&|LdZAieT2i9fO0snc?PlyHEW6JW52J?D4@YoG@}y@;K|5m{LqViP;DNJp3p1 z$KFqyL>`Zes~{c#q``t@?=x7d*6SJm!O>)vp#E4&`>ijk8CK=9sa2OMAK@YQhmTNx z2o}DY;{RpMaRj9pNT~m`Jc<&mr>p&Lya7s}e*h#B<+qlG7t|kb{G1+Pn=D`|TJ+DQ z8$7c7z6qSmb2DT9{{#i*x{v|BpOO6j3Nqp3b}s*ch4t!A%ci9o=Jtd8_<8+}nS?m! z`}~O}pVsixcSw&Q*WQ%1HS|p{B2X!lNdSG$FulETRGu8add;>eDY7iKTdS9RY@Eqx zCW|hBL8$(OSqM1Fvhhd8LTU2rE?y*_x#D|V4^1X%CUL6QmDOd`jYI`LYT;2$k9K8C zYONo^sTW-mWRHIn4gBiYNu-@jK&r}v;ztwv6Tjy`Af$KFr*~7ReAb{+&CSzPyS_Bc zJW)Gpf=k=&WupP;28IUdK1T$*{JH1aA5q9~lbQGrvl=R>SqM=(Kt*TQjNkPAQ2_ z`&NHlJ}P9{e6H!q=(mgt5IUl_sadfCqxQL*=N5*H;nEe0QnA6nkkP_^Vg(qnB(PPx zdbaPey(o$}aSUGGa#R5`8ldmMJDwbPvw>S;-vRR1I4(850HU)v9yl;GPNl(#n4-~r zpAPrR+Fu^{+w0S1DOaC%I9$)Wu{Rfi|19(Q$V44zQN8aviQHOG-$DBvmbYgBg$`>Q z{rg}vBpA87%j$m_S^fT?E(XN9#(`iGJ3ISI^-}Q6c2dT(N%xOrlXZrLN#{+=rsrJl zsQ&8}(^L;GWg`2B;)IaMn((BW>F6sB4|d^G_r}D>vyl*{7@YJ1NwQa+9Utm92SQ`Z zRa9;91xwyGFIq@HXMwsJO;{Cyo)&CA!H_dOx4@vg}u5ik*(n{$wZB2DY387OR!W5@>ga zFX>zR$kLTp1XgqCNEa^i6iZpU9!G$00m#1=10^`A)Ywi@c_ZTQm7z)aDMko7H>fYw zTJ=aX@qP*7z`F&9OU-_>{e&o&I?VWThaX>i4P{m?fN*KoaC(?&vJ)39F*pJO69ir_ zf}U>Xy(_#H%kFMAKcYc?`2f|^vfrSI`VL+c``s10SU{&9n4|x-w8*7|QWcvP&WXAk zkXyIJ4~ET~d@O=Z_#djy0;uY(4fm)>O9%=`OLupPbVzq2NH@|gAPoZ24N6E!H%K=~ zcgLnS-LT;i%)-OX@yjMRV8_mbE?(Ngh+$}A?@>e8_8o|~3%i?*g zW-*!Cd_}j5arkHN9R2zWP^L=C%cFCpMwSd1n9NHuvzzWdjlky({NfWuOxv+n@l2^F zdkx_Y;i%O+Q*ehF^B^)~ZV3aec@U#aAsXSO)R=ZNG4x_pOU< z%k>sKuA!^G+v;;J>zO}~a+sa`OEgaR;&(_&xY=(p(Xsmf76Dh*e=EK7aiyQ09Nofz zg9Ba1hOkCL^bYwO=1WC)8Z|toiP)(3r=KTc(S3WxbJyXpcsbTe>yvJeLngZ~mmUIj zwuU#F##qf81pm%A2_RydKEvI5`kJ1_MfOW^ zrZko)e%wK_qSULogX5Fc7`prFOVVtqKoVxHK`rAjo*C24#S@gNsfl%TF(*2dKj8PS zCMKlQ)K&dxkiKiP&5neu- z1aV1!NOXS6;XJUAfsvL{XWCg1=vQkvxQ`C|MLFv9jt|L0P%Z#Q22=v(`r^^S3GawN z_9CM14Jo&tFE$)gBDTo)81lBN5pF`Mv>ALI-QGBirJ+hdThu&G?t7D@h`X~!gVprt>60_zB??S5WuG5uH@W8#wD@)G%xdsT?`;O#mX#D}a7@Re z1d(q){UZsX2eX=PjVYEBgly^e)26%&QUj$Fh9>Dkvnw@`{AJdN@guFLf+0?iMF{FZ z)@a{e@Dj<`*ie4;s%jU1a26CbPxX6P&SZ=@UZMv->6Jg#27k>rMc)FDJqE6youZY~ zM02l~aZyoiLE~hi+3nX$0)?>_1QcqDiNnYlK^+$ni?MHu&D933<^Yc+hJ_@_0}dS! z5a_ZBUwYe(jW-xNst2z`LGMc#UV8UZWs7-p(qK9Hw_iCJ+XmO+hKgN1MybLsmr0^) z{yzGdOhWv_^Z*CW{RxNQjmALrOcC{sa8lLh`qYM4>o&7-S+P3fQ; zyia+{kJqDs_ZX7)U7hDTq@;zz(lJTJi*mhkSd7vcnWH5uy#M0GzJ(X=BRg^c5A9hh zsGZ?OLiiKk=rLu?{Ej!PiDxZiAxW1BT7={lmk0f3AV+EcR!`EgibPOzxK%+Jj<6un zSn|xw8R2Jl{Y0H>WyP-q=!?hUI6#sbo!-z`S%yNmQe)G*W{tz2B*i3l0KP?w(*-`r zU;;P5;zh4Hm74onV^ni)q-T7L%Rj!df6!LWLrwOoeY6FqlZHWy}z^Fh1xH%JRSMe`83CJf4 z1Q`e%q000)2Su|d=S++9Y*4=3ua9j6LDEzUvhI=EL({^p2&B?fQ2t(p-XCl&TVGnxl_P_23>FVwx>$X1E##|n$;^*NdDNi zy=xV#`_juT=H}!t4&&>GMn%m5<@j9|B-|UWueXet`T~><=hG?!v1p-t3->tx(^TZ@M6#@kUxJXjt zn0iB%gbIs|JVn_7A|*Ll+DD}A+gAy_T4zYsZkcv#vS?J~g!=_6`MOu$Cx&hkoOSQz z(HXS#r!?<^0cRG~xPUUox;ct4phd&sH}IzVsqZiE&>+)MCF4FFy;JT{cF7_PwlX}( zir=d>+)F^j3Mu<-a|YTj$OBj@-b_E%S)_4MduEoFqQH2X)KswmUm@F6z?2q@H-aZE zf0k6+%%q`tJM_7m9p?uh?vbHC4fG;{U$E(QJXr_<_pFB|7?sM~iz_aCe7>?uB(}zR z9nE>oo~z=JI7(2%xbolKv)%CeWaf)8Je^RRojHMctD1c|Mfl4?fB*U%ZaZx@{3+UxKK_N;A6$zDny5;MkMypk9A z=dlF5ELm2wO=?Dia!)X_S?mb+xmpb#Oy{pvaIoKk z_?_I#pglY;ZQ1Q`m=e9wV1Xh_Iy{z?j|=BX`D9{F*2kR*yKEJ+Go7Uz=B=hsgVpsD zYS274F}qC9-*+RIR$i#baasz?;jzZJ;=d$rhaTs>`udyS?Ct4!(5d^U%O~hOQ!MOG z$QlV=(eFBYZl*MTKYs%dD1gibbhj1`o-?yEgF9V8wABXltA+})1lJA7=07)>njN}l z_se}Jtn@SOdD`=cJnPQxD#wLJ6sBxJB)gbiR5}zSwLH#+iH0S{2IWBZpVKJYm^LkQc zi5y8$o}H6{%e9|3HRlf~MIXy4VGULv4;gy19Ql)veCD3ng841wO zm=$ZQUVPC1o8UqKHk|<5{AzZNx&i1~soiqWcZ$y0xK{VrameMMQ5@Z>9|12RDPibu zBhMUCS|GahJv&bqutP>oTpZmKb5#re>eS3d;k;{{0`9%bt*I_LJ$|=BbD`qi+vbA( zqvW3=lG%iRdH}Z(aP5f~O-7}JZfhD~*k1dIYb+%@61RJ&E{P_PlfU&XZ|?<;+(!y@ z<0?`2h#YL`BWVA_eYe`70KY#vx@rjiHOc9qnilnUq5d;Iy$MzWV3Y-b4EaK6R88&# z(cD*wT&4E#DEp7^=l8obs2M?Kk7U0(wKY8x)7F0F2o-4O=90id9K?fA5*jqEtXMH* zK_X4to~PP`swm=NrEO=w1Nc$^F#SPVbK~fBk&MS#80!6etI&j?8-N<38lC7~eJuK_ zMmPCez5zj$jO%cLKdZs0m88BpogTo5Y7?1%{xvc2?Xi5*9PAKmJ@YgYV590*aIib? zn_HWL!+$d`@!8|~h2~9&AyyZ3k$$>J9{&VQI3tQP^8Gdo)mHryGQJZLj)N&kjjuVY z9HXp*r4^M(#N^NNG89mGq9!dtRsdB*=AY`!h6DwJQ;XMWHGUU{j+7 zO_+zb1uRtS&R%7fr$&|wCFTCi&TPb_8#+&kyLBN}gS@2d_2JmJ?FcmH2q~2gR z3)&2T0mus3zU%q?aD$EL`qj_I}g~s?R#e}H&=dA z{k_LOo!&sUfd5TMkp7uFA#hcQ$T&Y0!tk7KjU){TE6Bx^%pJ{AFDhKBePX4ujH=x* zuB;&sF6YRXk|?>j(y@Q{oU6Fil|AjPWSn)0YzXJ>v0{I`FM|5|zqhtttUod6g>BI9 z4-c!AQBSDh)pt6ry^d7So|;n)YOZE7ns=VolN1+!9*)a=ph7sY^BKTgfza5((lYD; zT+RXd?(fd$=BeBBGT$LyNSf%UPn3@t4(%<9G~YQ;g26%k<-H}%)9iNXVD%#LvgylP zAkWBRndnqEkniJX-sJm2+BtCR)nc?WZEggG>xj5{le%t1cp8D=Ao&$${yQS{W4(RQm;|}on6wf?DDo^(8{^7;Ij@89d)p=;$b7ge1swCPQ+yb z4=6=Knq6_x!hMItw?uZ$7q3a0PqDa{-PjL)2SB5u?SuJ23o1*B-yeKHQa^NDMreR* ze_sqz#qtPIIHbbFlJ=Hh-p%72{Vtoum072=cTfaHrl zKipo;_wyNC0%o8Tf2597FsS&tQ6CCls@yvsZVFtE6Sy7Za~~yomaTNC?HyIcuk$nr z?nGCXqh;ngNQq63MroHw@Jy7p+(2s;Do zFbupxYQEm%M!4&_EV*w9wYR}h#jzGXqjx#-94 zyT%M_*+YzuMF$Se+3P6}q+lL)D~1P~nP_^vkYJxz@c#Sz)^qdo*JgV7lf(qL8y|8s zmtSqECw%JHvth7ff_$rd^)CceddF+5%eEF94dHtKL+0jcrqF_wd7*_${_#vlG^_8D zm(S5Ui6Usw&n9aq|4J3fZAGb_7u=7N*{h9b^&Yztsm8Ll6GwjzI$x>7X??pVZ@APa zVywp4UFC$brQp?KL+{X<6X>_(wyH~R0VU1rCPe|`mjYa@cCbvUNCA7I{;w)6C}D8{ z@!9c{IUAyV`ZANLiO^@Z#*0&DixDL@CHqT_sr8kRJUwp0vrf^f(mlzQL0ZD-9;400 z)`z66lxJ`ouN8pL{VC=U^t_WK!{lRjGCO2Q#zVJudO&#j#&3%Z<&ZB0yg?uY1V575 z^0imijMWU99@yg8TNDwajLyL`^}EjfwZ0J)(k5nRkqs=yu@o`s@j;W8o9X$!f9_E2 zK3?!@#KkPWx(84xFz^)w17ESdQS$B24aC_+uW-&hK;j}2u+2YstQ9@Za^-~AUve}s zT_!BAZ~U3Um~FVD^g2KX3Ui6{g3`a-z;pqy6N|Qx$YtL+cBcABEi;4AC6mxZWCSn5 zrTSRV?&%y|3IT#FLn%fM@BJlr0M9bC6YSr?U3}lSG5)f9aVl4GrWybpt*_yfzJn$^ zvGe*#p_Bl%tud!K_D!o<;kG#Gqb_^NN(;olgCrx%YCa1Rc#%Km9DtDeNPqq$-ZP>d4u!Vw`efu%u7i+rtf#+uViTrYy;uXU@FZ3M9pheu6 z7asLq{bDtQkzZd!8LMJw!X9I0tF>o6szOU7Q}I$QOg|<(f8w8uP94mDnjxa9s}f$= zIAXQvi9A3yc+*0nsbMoWO#g6Al0$lQI-B^Bmr6q`ce<^i#L%HI$F)uR`^?b4ZLTke!Qp}GpI`XwIN8nHOBB(3np&^JR0oBK_ zroBWaxF6WoAHVL$NIb2@y_b;9N_Y!}XH%;WR1+#~+LtNjq9@?CBRuhWTD+*-ozAVt zU%++u;RRe^J5~yj?PtqZp!vd;m`Lz&Lgi5%CTsR#BV{~~m6f?@#HBQaJAS(60LV?0 zR24Z2gt|f~`ow1l_G;oOovmNtzN*|V7XJ>V%gy=ao7fKM`-lvf2^v!@PP_1VL9(;I zy>VCVEsciY)JwEDN&Q*2h!-^UN3EFt%!rxMY(FlDXTZ19cbdQgPI8=xRN`g8k{{wk zyy`kFQ>unMVRH=YWlR>^JaFE?#W}mu?XB?AZQqT0O(Ff3ni>&UHz$|QRiSzcpz#5A zaWc56Ep6?+0srlp#PoFF71ssM6(ET$pM_dKY-H|h9-{y-i*dyU7C^!jFGS9dqWiTO zlCra_B-?9j$7?b%1&?>{a{JtQj8nnE757PtiKzB`eYg)|RZ);E;$FSvDP&xh;K2iT zWw5Qq|Ba?5LkM^R0RF(*d)3-naSemu@t=P_qe5--OT0NDx@sQ%J8N2rAJ_N&#O-CH zYt5|n1o6UqXd5F?(~$%283^uOQdV%X`P>!(#zLSIj%>g$1G3XW5AnkG%C7Zkc5`*c zMR))AIl}ErwS9LGM7VNH5nb~VmHn5l)iVRAFyD+_Uqc<=An{KlR!h3q`w*9 z<1#a2fLxDxXx^N0?i}_jzUT0OTkGX~V2?GBd%4N%#k*;BGt7UmQJD`;UDfY*LQV`mGYwkye* z#S*-9H%6fuhZD1Kj}x-u22=sR}5Kb z$Sf61KN=wzuS*a44;_2wPyqW6fUrLEIKTv&r~Un_=E~-3bRAh6FJEh;4D}+SbFk3{ z0%^-nWd}D1%5ck?{Gir#a{_+_y*rZYzwC+tnLQA>_B#AI7)~zQDm3`*sybrHX9(0U z!+^_8mNrK_Vktu*nw$FO3hcN_-}8Y`1sz2Fj6BbK+;*EnKJ*gW>ZMk^qZwe^WE@pw zl!-z&x3qzj-uli`*33acHpY_2worEluds!;bUyh*Eb6yY$G=Ut4r3=k12t+6$VxXR<>{JB_cx_7!!w)lbbzy?p<|sqTJ2BTL!2Spveum*{&3CGomkI;`*+ zzq#5=lIhJcDW2EnGW2ILw=wqp@NC)BhSy&)i9kNHt@<>dm8yuo%8KWuk*wM?X1lo# zYQ$gV4c-Evsc5bmI_+mPsH*RN3=yqS`~$I7XpCy^=vxYC4rc1_?Ol<)ybGa(FooL1 zQG_xt9#b+kZm{`W?-^9&T1!TI4B4pn(_1C+m2*JvH%y#^meYmY1$=M1yalc=HMHu> zA9QWt05f-=|97+&du;G!gp!&{ms#u8rcW0@?E$(te1H$th|X9MkDK*1SgwEOG`nK- ziajXyVVs8T6}?^gLZ0eynwVg#z_eK-=RU3&g@07{>oio4C-_jF-!fh%a5<0n>#Xj4MOM@KjX)ptgGQPy#FO^ZcRJOa;OI zA7kaT)4(bw9s7-f*60g)jrN--T-D8eO!JPqZJn1I3FI6e7^h0>;~Y2W&y={A$0%j% zR~rcG_QwW*PPa~%33#&{cnHCal@!UXU1Z;XyJJb`g(ojqXQMM8i5t(J4!==JBSn9T zll;MJ=gj@itq)LA{#aIDB)3+SIlW;54PZiac8j$iRq0Hq@;ZNnGasnAy`jJ09atoQ zIGFhX_Q~fAmWhc34}4O<7xRLT!I-T_*OzD4@_MyZ0~0C8{b-lc%V{V1ak4`Z#*o7C zb$QW?RyHr8qOvA5U)>fun&5GAM@IC_DenJWbe6h*|j7@e2^qvUVA} z?S|&Nt=uDeG!G-3zH#j-n09*LZuzrlP*3EIQZJKv)q%~y!S!Rp#aM+r8g^0sJ${M~7gCmo_SBcVbU#KEqs^whcHii`-@iJz9u{o68VvV3A1;eZIy6$kiQWV2 z!SOB9(;S){KkuBLsol~0^2ETaHMcniC>Fh^ zxKoF~)fw&jvH%<;)YSO~PrwiVqF1Zn+uL@eYbC%fTctsN58$O>J&z~UF*bSG+ z4TW6tuPwA=L0&snud_%ciy;}GPp>2M!?C=H@H(|x-q<3rm58NSx*8#9Ivc@t;A?D8 zY|v!_XnRoi0;SN`i#Nj~sl7KfmSICw2fPr532EZrBX3j&A&`-+L;edOoR@(0&oX=8 z%i^7V^%)4s>D6etqh!+cqFrvj_1rI9kOAUEetyqC*eaZo1cg@SAFUmX=A0jD9f`Q2 zqnR_gGf(rP_G*i@W3N`@Au2E?nS@l(Rm+?z+o=GyrOggbg{c8l>H6)I^=u!mT?17~ z%URD)NG2G)V7qM;LU?rbrp@XB8UJ`kM>vv#DzkW(UTnAgALWCz)`ac(`i%=ViLA&D znqxTi=#(Os0b!Q?N0!vVg-h6N9q^*9&5J2*oYs10JpSLFVF-V-hyB;xO+)#g5I~2W zULVG}w{(MToSzW|GIE>Ce@*knQgn6rqvL`tf-4p51~bqLeOw6;H%5te35V&2?JfIj z0gE13uO87?|7`(SI^MIZRx2=AtBJvSu-jc|J+_w!?rn=!xn+TH3AR_ z8?L&eUSE?7L(IL2P)|^JTiqDUHgL1!R6+Wm8(va%Nqn(Y(OVkHI?FkVs%D;TkM)y2 z?9oCBz!}a;|Ll#0O7aRN=wMwR^y6&d;TD>U)fzx19 zu^`&hjC$3rOlD{U$+W7?RVk{wsj{G*9Q{QhBNY;S$8Ye{=&fVIO1~F}%w? zpqA>kGyT6J=WjkIx=>@HoecL_&6Zypdg&O6kon%jGV4#BT=U|Kevy{>aqIg8C>X$Y zu4=w+sb}0y`yRV_!zSdSS;e2<9hkW~!8UOzU(L72*pFqZhVr60q4eZao*;jD2i&)T zTsTp}PG%#UU9Bxiq~OgD7xOlqO()h}wTDMLjo?I4gP;d{9yuOD;+jMG$H#J1LN0`! zhUSko7dFaG!A$el03G2U)h$hu?m!2iufOyg$h*KmbYpY#JS9Q2ujm&j7Fc+`Q@#d8 z1bB%)y8Lm(#YFyKSCyY`x6ZnsEf_$0Nj}EY5;QsGJSBoa@JKfIN%* zHjYC2SU{^e2y1NTb5%|C$#H*l{oU9=aIvspl<~yT3iBZ~xyDGG!o%yzS%H;4e@>nL zy7RfS8*SgZG=#=D&_U=fmW4UDnoNn^H+k^WqpP0IR&K4FAYP67s#mm@r@L73^Um__ zxU?eDPZv|X9k@FwgkV0Ld7b=ht4PDtt}4h1fn@q*0Fr?RF9D0ikI*J63lJlZu1zkF2V1;$?D9P z4sJ4HN}Ygu&Vm=^DFzQDUj6;;z%ArhA0qY^FS2``N;%_mL?C9SsIM0)3)b&v@uEu& zU)rU^Dh7cc7`%*-z)+`(gM0lm->B5v@b1^Z2dNB>&_J5Nat}*$M`C!g_aK!TtSEA2 zLb)DRt~Bd~^3)?t9-Aq z(_vzj!7glBUQanzx<5Og$HvAY=Aj3pfO;>O*(!87{p6CC$hP&|#l!?W<$m)8#U+qT zJ72#Mh=MlgN@U~{8TBZszQ0pd?luTKp#NJdDK0m$Knee z)%#j*^`D$v{S|~5BR`8Bg zaA08XlzPzzKT-miPiYw#D9CdUzZ0Xt$dSm`&5(Y>DLktg&V;^uPWp`G3F?^jA$_{d zXS>6t;q{0u7aW`$vHv^Udzn8T3cNG2`RfVw>~;3-JZOvRIgL-BsH;vL^=CZexdU^3 zVu!d+Z{BWztz2Mr5xBK>t($Q=LdqW^yxQ1r3$xUo3mz7kApkBat%Q2$);v(Zw+h_i znrLl3$m>YOls_!Q&hiOf4jXhX?g^8%AE$ng5PR!DEqY`rO$G5EF~lm=%-6J8j8vY zR2z$?O5c1&8rVwM5}7<4t|}aNTTRBTJKb|tR!dK6?S^2i*f;dDU@#$C6-`cwZV)oT zi#$%jfC0h@DguVOKUB-=w*bWN6|ntKKCC!U2s3BmX1Mz^$WHm~CPvY3&gN%qrY=8F zHC`SNuPxCMVgOtW6bkhNEkEH7;PIejujOeGeu=CC5+Fd!PtFPIF9NB4oZ9mw;}6d8 zm<}fCXHo)mZb?Z=Pc<_N^($0Ag^;jM@qc<2YZTy_sOSospDZN(C<#sf#F+kYxP9j- z0vXZ!LrLLE6;%bk=UBE1Q|iav0qhU>fVm6$3E6$UcFYF-@ha4m;4!3%d`v1?4IM~` zwfehm&m$o>!={x093~vD4J6e$f7Z$=bveqv2T_V6#UP;v2W)L^iPTpifWFhGfFfbP z1;?G2*v5JC88Xf`oZ!d#(L)_Qj$I}78xva!4|yw+A7ChG)c!RqR5U(>lhO)2y@frl z_u6^n;P->f{g9l{pK1KIX!viOb&>dU>%I--%gJCOK8bk4nVG_sOwFVtlQ9Ya68jE} zI{%!%4_?sBh5MiLTD1;(7#iJeqKJhBzohnbJ&g|=w9kG;koE1k6n6k=q?qUvGc)79 z{`V!L_H|wTJ&3<%)JR^9{+fqc5OrW9jqL;7=&0h?>+5R}cna#_c~{%~j#1W?dlH_{ zerB1zE`QFAi*e)*!Oaa`~ zo2j&fmw z#?H6yDF}WBZsGx0fpQ^_@9|r>DeD=)YLqEl@+4^j1k=Yn9Bo*W`Mz6C6$fU7n5L3e z$K-ha57iNDq>5h+ucc#^`_ng0uR+o=2#rkL8eFNM#qQ($98~|}E4g(se}9oD`jNw@ z7ykBvp2K=GR#)9m<6<)P?9rFqF3EM7G}@~f{?N`IJOvdHNG!3m zw3<<>3E&s(>-QO)E563`@MgWc{I|~5|Z0&r1;;74j$Sl)aaM5 z{@POPVhX(GS6a2_AI1E^jrn5wT8{aXv5g?YT~;DYn3S$taPitnI#ww1J9y@m-`DRw zZXtMGfN%)}67TO>g4QJ;38H8f_HtP3Y$^l3EWFg=?m_N=;_y8vfAwv`inrX?Cntpoa=`Ao~0G-0K(7?A_)Em0o2%9L{?D zhlIcWkjOB)F5gPh9S5}oec=xym-pG207+3oaU32#0;zGYeAFdXQ#jsVmEUbupeCnh z4y2^;0bkSa5w0GyPmUfAB6m)I)03orJBJjWt_%_sDh+x95axNs~c5h~Vz2Z(G{WFkJ;EDA@6IQ10ku40+8eTNK2wD$k zkaQaV#mQ&NEI;(**O+;-=aTbr!+#YwHGA&DJ99F+3vanYP-kT9sONzkpO0ob7eW`V zcKNa9Gh<69Z~krc$`V-ro_-1Z^3d>_8m^R-6mwhKsCy31(a}-XAK9xoH`K4Sk56cK z#GOOp71XNUpaZ$yrXz4!U@!?LT6;g(c9$pP-xZASth+QuOXB+b2jkoDSg(yck!)7Q z?tO!Q0iwxv0+&DG>UCBs2=!Ib#;woiDI~Wq-ycy7Brrj%@DrWXvOgca0+P{7y$eRXyu-Ug@s)$FxDR38o*+u+*Z~n51iE|>RhnNBEWv6Zxq6c zhbEQNyF3+NUen}T&W?wE8tyu+Yz%!@#(jqW(q-U+kwZaUi9O2GC`xSKBR#TQn zfCClJ1v)FPy`Eg6vXOy2##Dq!2^&2|NxEn> zrD&We-2af&RqRY6xw7{}_{QDI1K(74u|0erd$OP_tIIRGmi5OFr#+nCS2*S4wIrXf z!Vfd4VFEti%Pj_hgnWMA<%xlon5ih>ng@!6$8H!qgO3ue)OBGAjlRoD5H!H?G*X&+j%e8m~t$ zA239j-^YnOf~tKpGZ(yFqhYZWpjzWm^+8G;c>b=LU(i2)_|=drj^_vNDNg&t6E*8! zR-}Z|UV3lRnKBkz!h_XqNS~(5=iLVdKSHtB$#lw$`>x7q&-;Fi+V5;2g93DFa^g~} zbRrgC7~#yz*SIsyH5ngY!0o|%;d1dXYkKD!`Oc;;kbq1E7uws1zmt-tAhHDfdU}2W ze7BX>qO0|=l8O13P8vbvSX`P&ww=|_?jkx?PQRmnEs#o*1)6za+^_kHf^PGWB>HIN%?6(U z*L5@sv<$iD+jE8QxP)()^zK%yT#tYh(Ri(nmAXNvV;BUiA*lHlELNfP1kYSrxU2?N z?OMDrl}l(M>$CFA2@UE*4|;$6cjkYOKQaJ-c%^;3J}?Sp=-Cesf-I!G=PyV6LEtgV zJvOJLD1}e?uj$fG({^|X?DbgwduH;R{e^Kf+f@63mmn<&{>3soBDWGU`1w zO)z4B$ltxBM;8vAhsyUp<8qqgAg;S4mI(`st?}F$Lrvy1=ED%W!9(mHSf7uSAQ#Gv zb`|!*6~Vmv(URg6u8h3~CsbI3kTvshD;$#6z4a^CtEx3NSly0vB+E=fAKg+qr)$$x zL3SdPQu-xm0nu)9fND|9Bw3bP;hhXQ4rEh>>ZGh0QA zUKGz=L$VSHMNHz(^ZSBE-X;|Ydr`u{pA)46qIbGJO7l_qHk}v?>0h(PCh4l8NPe}8 zY3t{t*K+G_7paY75LmBS1d@Zh?ay;nbIx@O`+SNSO)D&8IzBQXVLjwKjjp3#>b)KY zGATP2I8CGfzv!+ad0oiYWM_hDAbeEmAD<%tLvfZz69~Ay3lJ-`e`JzY2JaTMSY>>~ z!A<*l&@f&uc^1YqNH<6S-0iHZ1msXvUD9^%ZgHNXU&=}nkN|M}6(4W!IGE_c<+Iiy zf1crHbl`Ud3HF1%F{hl8frf4)rkVgu(2)W1uuMnX$i7pTjFSlcMCJ3U_<$<~*cUpf zB9({I@yNFldRWRre{Q%$Km=gfLH2ee@tIawDxR#ngDJL;?`D4EQ-8%R8xm z-=D4R-5n7aWU)w_%lV<}Bw;*^kGE-jXN{B7VAZ;h0Eyi zIIoWLm+w+qTdrP~HCTsxZg6>KJdNQMK{6Kg+^=G?u?aw6lQ23X4jdm^s>jphc`{Zpj3<)bMul$|MzAjO;;KE@VktGXU7s+7!@lT^A&EV`C(}I{ zJ%5kq(*DY!Ue9{5CBDmyS-#O0^!E`5ZihR5u{ef$zb^RzY&)l(X?6Q0x$5tn>UDY2 z??cqqVZ`Z@(X4!`c*w$X9L5I3tua`AFsF)1=-qA#8-)Lw{aAwI@msMnxF;RFWdDGxr?D&XW=~1eWx31N%UK? z5B^8XhcNn2l1s;=TYi&!=g8R$5-D*EM4)TL?+V>GyUxd`i&S0Iu&UXY(;?Mu{IrrS zt?*n%HtcGZyY&ws2S^WO2>PP?UT?w#ZW3{6=UumX&JM0Bzz%njM9BIY`>z8f26nmo09K6U_a>f;p983%8%Ia7@ z{*k6YbD=-^<66JAPS7oYtO5uveY_mUT?p^t%oG?_`*fJr7iibPMZ<5cDb1%##80YM zl7dib#|sotzFs%cGej<+7M1vM1#}v*6lBt4A^Qe=cL#;bN*V^-D>sE(zB-Mcs56U~ z-_v|w;KWA@aVgrw4nj4jui}dyNJsh;hFVsr1|QJv8Ic4 zL}>_R8kfQ*>Az-kqx1wMdGg~Off!L=m0#E>SF_C*!p9A{$Ys+6&InsLr^yeus7}Mp zdBHTlIFpiVH#~$+n}vb22H5P@4t)PT@+z1{fp=)asD5Ri@4cs4Zz~#MHVWmn0VDZ=^kmmzT9Ayn)q7amCR#L=!^bFWjw2P}y<;aREHkgdLfnuGzMArdj#~4h7 zXRQV590gk&Opx8XTd3nf)dr|sWcr6C50 zM#}ArOW2@7Y5hNL#FxVMq&GESjU3fZKPCA z=c$75$oD=KM z*Snu0NK^(Dd~ZMZhhs|c5k;Zb9L@}DnPtQ~rYB6jzBpLsk7!oLvjtwD{}-NEWQS|P zgR|0+NSu=k-9{d=;#UMMn=hpHlZhm40Eb~WJGk(%wCNPL>EcQQd=IpXl8+K3nl!gq zL0_xtoz2tNnDSR2C04I!0?SY+G~H^#v?BQ`+k)o{QID|DDGu1c8lcL*a;0) zdYUwIgcM;0(IQIOvW_hb3g%)K!+)~F5UTvR!{*j6sgOa#oj?b?hM@4z&!0ZJi$T9; z)NI zdwwFK`FmT{897djA2eYgK&RN2+v?XINS@@dAkrZH6D;|Q#fmdchmWddkqD_G=hs(U zmje-m(p2FW=?$6l(pudb2B8jP#ouq{aILtk2~}aEehdR(^a_Y;!Bm2y7*N*s7?##+ znBCQEw2y?6(TRP3UiVq^Jf3ZYCl!_E77CQ-ecLOS zzBhu=0#`^s*JGo7ff`ldrZbm1@}0-8w~tBRv*5HmePj!Q*tjIm15T4I7ePdccCufW zb|2>@AF}E%{)F^er80ph*pQ_+a2E1SFX`?Ep_ha|9%MZz`nn-zD{co$RDm5|QBf+A zTrw(cn+eW-^^R4S$5-y;3oU7A$9?fB-{^u@wDUb-xHp`QwuH#PjbZ`$f8HMuv_&{1 z46#3gl<>RTLTu&f8U7R~t)C$RDI6dbi$+{~LXAyzzYH6P2F|mc`n!+f~OF5l&LXVE+iTvX~lgBU_DN`{+6b-d}Rs zwi|pD6nGjd>o$_8um0b~{0DB3B2)hALsx-`yl4tc31Bf`gc^m?M~ty*uMzSgp2CRb z4QM!!w+~fV9Ws?RZt_vE*5`5)N)ywm8o8NU)Ux`>?eaQ!c0e%xuI?{S^3N3%mu}?o z+bWkXtDu3q$A6CN3bltE>&ZQk2NcfR_|2Z?o$;hT2tD`1il62p`e^hX7_I3_JU}d+ zIPgNaHR}(Wp4xx@@NYf`Pma|0%=PT6JiQTX=1kWx?Fp7Ws}jV}4p;^?r4+LEtSA@% zT?rngw)SHVu=D9ktLakg#TP)DVVrf{LFgmQRfeIY^~y_^C0R}{iZwd;!}*J2Z#rop zgf;GzJL>@#50Fi^OC;ZNc~8B-2Do%`c!`+(Q>&M!4&pD$4g~%9F)7&D*$Z!3x2(a_ ziHYP{XE7)+Jg}E63}9b*DW^%+{hN_Di^Ud2Yscq0*E>OwtQZQQ$B3HQ7u*FRQ3~mt z{)XiGE)AohA& z*s%wBVqpAaWsZlT6g`2HP>dz(^-BP_!M zlulqE2bAc*T@t0f|0Qg@GKVw-k01AA#MIx(@*v9Dp!M-zi7Fgq*#PwhdN{qNCmVgR zgG_EaeHpAtgm7le?t>EyX`NUaLoRdBeX!L8BcCneCM>ty%!)X@&H>mMfvWluTh%YQgMA8A4Q)N z%MQY30Ejbqh~Len2RzS%Jz47ON4Kv+OH3Mm<_@i>O;X`WO zTCA+HQ077Le3ixDI7&o=)R-uz_e&^ZN^<;iCGz><{IvRuPJX^n z!QQ5Jfr@hvU_tRr0fAhSBo`49#tZec^VNhe$Wq_Nuq@@q<53Sv6}7TXSuf03@k}-? z2n-8Dye>!A ziWvd2oa_DS04K?^#R{hokK8O4Hb71S9RQHo1vGRWJ>4zSkMlDyLE{6GH`qOgIDhsj z^#}F%$;w~FLa?xAMQy{a2cb$sskvQ~x8OPCvgi9vF757_0@Z1NE$R&t{QIuDddpe= zozQ0>eF85+LI5NgM63Q(?ZHJkKFAI;U*v!%3d$zidaY8ZO73$a4bnYL*+EqY*o059 zk|Uj8JRX!&xgUCSq`(jp`~j_j?BXdGnPB~CfSYSe*Rs1{7gvT%Ic{R#%o!sHy@@^x+eE-F|g)Hil*)G z>=*Gsf`k(0)nTdQ0__$G%-omKB^o23jU{VO28drlLEiOIM7a=nHQNDRq`0W02OsSt z8%)^ql89tl4f62deRxI{Ng?aVTw%=LjaH4C>4d~sQ-=GXF%B?j zWyEYA4|*?;@QQG9au(LqTzv2E8TU>6Fs>>oP&jPz>&H43Mx@tBg#Ue7srPC1O&^9& zPV~c2&pFJ_*TDBS(U-o~YOqX*h`Y~3d2w+uMUP;j_F=okqbF!U9vP96cEfouZ_;c} z$M;N~^XuI%cXM-@{fLVPCkpP9;-1z}B5J=k%!(z0^;UAsMbc~nDbyp@M7<>g9khQBwK zbG?Mhq&i#NY}^Z^BQwSl#RY0j^V*p*GZuWM6iD1Y99yfmh|n3n=urIdA@Y6pHxD+b zhwVf3StX^ZM1NWTs~h(}GwvTvz!h+7L4>pP|24ehD+ z8Q-S22A@$FQ;{NLBH#BoFt&qXr*>zB)!Q42$|i|_hs#W8Zf!j=n9M%8u(04-R9F~O z8A$gjb0puZZLCA*GU4;!L=241L>5)#c5nA!DlbuiX><43?JTtQHc;qxXM_%qN9)7o zQtEP%=lv=1P&#|E7HR0H)~ZeGn}TnM4U`O$8?nO$A+n2ir8 zXS;bF(5WngA8vzyLP9;y^RAD_3Jp%huVWQhPSa6hg-$ywZX4Y`*my>5Ey?+0cuIA{p*m1BH(iv?3rkk3D?isXW`=jOCIxw$dio-(8k>?Gsr(^y5t zp6#PD)1?l?FWQl2D@y5?X%Ju#j~m=y83~p2|&lKbu5m zol=s;Q*yo2JS+LakLlKI$q^N^#ig188mMpDDbKa$7P8b%&FIoWet<-)XYA*timrxR z)XcHv#T&_+H6q`iBX^57zmVmln$cMu_w?s#Do};2LBM@iD4KJ zyj@t;@+o~G>DU%Z_)0m%|9QB-RT|PY2d5f7uv-4Sd)>^&Na(HsI z)F$^$5$6=`qat}sBj~+IsMz~sxA)g~ecw7)?RyU|t-2!+lJm5tmZBAkb@KO?&hjd@ zE;`xw`aRi1SjK4sSP*OoQY|1#S3o)_D7{JV5$PT2Ed)hCP(W#s4$^DrokT@Ih!9#pYNQidq=ZNy ztq(ec5|iY2;=n7) zdZ#`ll+$|s3lAcf6z%>-lkhlU6U)(8Stg_p^c@3QgeEl@Wf=zTy;6M&aP8zN1*kTn zb={ZT3k$Kc;M-I#YtmeqG!~MZf1q-c+gK^@;YPQiYKAna5n)jpOBa7XRg>=;pKypm zrc+uFRc7W3W82ypDY79Q1i2alJ)WCP9Qk#FD^9M|CdbRKfm7E!_^FoYYLv&6j(ql* zHyfI9`-Fj!2#bLjD;BXy$)BMZLyU_nody~*H&k}h2}d|&C{5U^t>Z8FKlVX(WvAHu zR-S1deB9-@t;Yn4cnzHB%8_qr;>U7-+%$0HS`2i zfBf&YEMe5D=eZ3`A=CwHx%Pt`uXb!+VRzXLW6En*+@U)b;+H9O^aoN}(Qe6DVQH>MYw;)@i{K13 zY29mB<%j%>Ihv&&c2v#2fJs>Rhll!L;_K$7m=d&&GMBuh7Iy*{!FR7_r1Mzxi1Fn> zGhz}RXz*8O$>OPN3pW(0(^TYh##n&RSxQ7wLZNHOVE9CmPTLm z6;%X z#Mo{Dj7qXbyr>JxUJd}JqSA^ALoF>W+^ZN3q_%RTbukiYRc)dv6Ysk+j0#W`eG@tz zGM(RyafLXRF)Jup)zw;5E;R8U=tZbEHOvhlWDC!^|HvEp=fuGsd}q@SMYYiDEWaan>1m3 zLyi3o5z8VE1rs*Gy`}x35cu46H5VPA5Z1ugEO?x<^UdvywNl4PfuV)i5eL*EQ+<6Sqtsrq zv4zx}XVp)<&+0TGpfM}xWrfgZDGjS4{mhcOM_exYmAW7AD~($iWoBlsZmt?N2?-#^ zWJ+xqivBsYqV5##I|x4a?Bq+`d|f6vr6p?UzldF(sj)inTURK6RrBew%B$`*S+;DP zlE8PBK_H_R7|V$-9?+viGKoNWs)MYmE=LxZ8~YQ6!x`mD*$|=avKR)nGS3f44qC%=>^82LW?px zD_oP~Km#p$=oF&8d|GZJ zO?>&JC215xlG|&=g{XJOxeiVqt?!(Q45vh_rtR*Tql&2n4K5=c9UapXvj#S4g;xG} zp6!E>pt)3sWbGn;>Fj;)<<)F=YE!?=!MgRNRn^M~B(=|DMFT?hm!nL5ef`$XR61bg z&*xti)gQ62_Jc0{J=Jy10%EJ&fe&t!Lw(81?2pr^3;t@%)7zy81lQO{(9Fn}sEtO2 zL^vBk?L=7zrh8^zA zVvr^&=P99Z8cj=vC?$Yj08Aw)Cg_pu&d|Jw`Ca^A{QF<}#-EkHS}REMQ^Dogdow!N zS7Em_MG1;b|zJpPtEJIc00a29`7%+Iiv%b{BkO~c;ouNccCWi(na_obHT z$Zsbx6ioWqZJd{ztk)V;H2@T#mvr~C+xA?%2cj^!i-*B{koVRL7s#^V3?|z!);t=rEr^yQ9p`ut%aBvwHSe^7YKlCTRuX ze!$;6?GADd6r77S$Vf$TrC4rQR0%}?Wh|ENeEiY*3C-8Xg#om)0nXSJl32!vd7ALs zH&4^h?Hk*m+Yws3ox43kj@AiT$d9i}o$=KrtmF?GtzT!4shl zYZb7q9&NAwbXy8h`cxE3HH<2Tm{DZ$&X$(DwpIjITlqzkSN&3EEdkXH?zl=-?%N#+ z?rzNn{LT)1HKAogl&MG>`p0r>Jr#z2i+1UN}G!e54mi2jFkiMGaZbcncx;o{E*; zZwZy<{tyk1ua3^z8-Z#1!C77rA09S0#rbUvcpt!Wyp7uQ`$RDu@Z}`+f{~e-O4qx2 zM_h82LT~^+L*#Kuk`J0Zk3uMD-pzrzhzn6}!JRztl>^*iq&z7ZHXJEv-UW5Sj_1lbrt`Gz-h0hv&t>!zMvi)g?5?UcAKsbNsc|_#cQibpSCSBL8*GG3 zlq;n^5+wDFMP^y57Y*AWqx2o&hu z@0{P#PpNxEuLO<*eEs;vM1>>`O`@8=zkfkd*l^X4dtqNn{LjgO|I^LY)fIy4OJ^Dh z!TE!;i`AU{lPt=XjJ9Wb-#OxU*ffOifqGFG-2>hucL)&S`vBVx4&)$0kGxwpI$#1( z9S=gHo(F8FIw;F^@gtC>d#X=C!R9`k%kLnt9$fwrjsMr>c8660u35bNH7j94sJI^P zsK(zIS^k(q!{&00X~dg}Mo#vczBPM+q)DH9pHzR=2vo4y5pfNc!A#Mq$|5Er0*U zpr9aw`M>y!zGxpS&&sK#o<_Q!5ask%##Q|9<6LW+Qte(AHK%gS&VFd52x}+5z zt;i7uztCRT?SWC&n=*GpR-2c18(~|^d93r%zLvLNyQAR!+7doBj?!yiD?P(GSUGyi zO#1u0JY}x%GO=S|sXwcX06hpUJ%^>o1<+`irK|+wj+aflF!xUs$R z0Xye&6-EQ5W27cKCLgh86`7XN`)RUY6mxUPWb*y$7BB;OPiSw2-R3)cf`%p6QLGgB zObUjbnmG!EQbje48wCayckI#2KF9Oe-ac)$^e|n{4wv3@^OI_EQIU$M#S_YSMp<2{ z{p|hO9PWM4_ReYbCH_}v_(=v#jnmgGR!aXr&3Rz~={dgiB?h1|B9NI$X%V zvTAw)(g8dMZUL3{ea(*%8xzG1O0DWa+MjIb>Im57x)9}dqkh++;C}PU)=F638}~-! z(Nxd|{$1&PmVqc?i(E|GzPc2>(x9rXMQNw<+O!1HZN#Q+b4UX_B56Z!@9ibr{W7B5 z&eWN(GQf{;=fXDW$RB9pFt8M1pRRc~^9Fu6A8M%9B^ZwlqLbc`W1}#{e=!X{m%mkt zv>*+wd~djlV82&lx#eJbI38CR<2kJ%AS}&U*}Bwn8Ssr(@x~HJyWQZ|Cx^8_p5?ys zNk9oMfmB%@v-DP%yr&jv?c4w>sdPU2Xn&A$KU2HR<;~t-TAG|MAJn`~>ApJs_Ol-d z${?VAl%Qd$Q04w&`>^EWWQDmgVkCYBns>CXg&4+JzN$XjD&^lLc(j|rf2H#1M}p0z zogtZP(;bKZ5q&kLd!7mMW~4@dxV!r^DVNmOX7QxR|L30Q)UD~EkZA7voLnK)+S?r> z3#0?=$cT^nK+QdiJ5f%K9x9rJ){dBd9Dg>3LApP187H7d?(?TU2gF6Bti6Ao779s9 zOt8bJc*99hRDn==JR~rBJEb7o12;{gTyPLyYj|%|`ofe)t|;2?5Zq!L|4F^z+8XuNi=>m^yyhxGVNiC1_;PXfwe5%tJw3mFH z&pf3d%CEjRsU&do?uIIRk~Pb`ks*2aeYy%3MM=(uGjr@V-Jw70-@wUI+kW*`>3ny5 ze2-*z92Z;St1x_i6JjH9R>CQTP=0Gtn!ZTLDWK?Ne-O`HbPP)66wM!>j?CqZ5Bzg9 zpIJ>_UK{QYXOx$8O_%as()_APqiHNBCkGHmDJhUx;DQ*+NJ})-NwLEhnftGF3!_Tg z?0VcJ#V19TggQzLZsm30{e1oWO3TVLW<8r;G7H*1ya5=BOyE?X797djBF zfE~%SP+efT?<)`PWJ0%y+y8Wqeu4eAL#?w>?e(`V zb(?=&TEu;k->qaWwcBqgQapEz{>zWKYW3y66EX5-&n_qwgJT+f|p5kL+3!cI{sIx z=|Ow$(naH5_*cQXfrWotlgC=%K@gs*Fx$>qP# zJ9Kp|YcL8&LJr1m{c5>P65P}o|1GOeIQUr+H18|%b5eL}@cv zpPTaTmG4T#$lg)&YPJBdDCmBWDk05#^TxrYyV_58e{4V!UYR+Po=#d()_)oSAQkau z57$|_DFl|av$ti1yg!l6V2$I@d1BO2)4wA4c_Dq@-mih-OkwoL2b;W+W9@Z;PfyH7 z!!^vU#8NS<1uM5evv9KoFDyj|)l|JcAJ;HS%1;z#fXR{C$)hg(q_)|1r4Qz|IgK4fXo=iM-;#Og1x_gV7c|(;k zL)aFGE$cjGY4(oeAISQg=B@sy<5618xYb^Nq_@xRkd?HZ=AOxAQ689emvVQz?Pc}n z4DBLtOUJvVVFgc7t=fgMzcB|1;?0<;9k+Y2Lcyr=YLiej-lw!us9cr1RE3jV*DpuC zD=2ethW1S?WhoV#OToC1;=oBjw4knE^uDn%x#tQ=FMRyiLvC5tvN2%rqxHZWv*67^ z+tnlj2Eoy~ES9pjIaxFo$38eU-eKH#kvp+(b)4CX{W)&#C~4=q5U4i-<5$`Gr@BQ9 z%**^y)bN&nG5o}Z;rJAeOPfw^SQnLbJDc|!Lw^4LE|v$Omcz1ty*!Oj3VE8h5Z&>F z=eHmq$JPvyFR0oFlu!_I>Xl`Pjf@I~qzXy%;}pqK+p8@2w##WRiX@)_ol= zcaUl1L%cc0Fg|ev^MxYFR6gUh!4YSoN<&@B$Y$yurT5ylgF&bKzkzwPz&$-n&&?X^ zZdGo5G9D3%xYMnI8WB80`ZpXO&v!Fqu7tPC{oz-!=OOX>^UmyrizQQq#_|radbE4D zPSa=#X{2NXUUr4?8&?WAJrk#qf=) za0FuzwT0u`O6@&VK{3cMAz}V=jqYHqOzx`j%}bJYQo0=?27vbhd%LaG90GH1-<+;` z#{A1QVGM8Jz*o`NJ(0wJ&34bKG3X}LqR_e&SsAKWs>;YNUwSGk-uYXGDGw>ouG<|N zJe){Qj9~7uV?efnj$#!e`VOL3tWUHwQ6FFDPMw1#)rFMWnbruDE$my{W|@(a+^Ol4 zDsA~2^Ez_!U7{yxXujHtP6hVYG$xDiL7u3dyCouZ3D7{gkuQ@?t5?fc7Uy|)&5RrS zxBCnSo`cKqYNswbdyW?0!5VI7g*IDggTvRs_k?5UWgqp1&m_gq|EX_Ns|wI_0mBc{ zLwJ^t5NDa-a76@i2#%BfRF5bXCfe@dcP>gQZc885*xvuN_WWV0?!(k1pj&~p`Y?55 z@D6X;SD+!^yrg^c(n{GXU%y-`+PSi5_x#UOnR`=fAw_2%)5)NNwXfnq#<}t8@xLD} z4v`*WVPMl3TavE#WmrylC0&4L=W)&Wquhfg&6()wQALZO(DVUd?o}@dlvrTB9M5*J z8Dt=x)qI!SbzMA2I}YA>equDx0wsggpu6%sP?i%wpcNmWYFs-{jEL)bs)%8i^}f;d zMxZ%Ei1y8i!1kGQ6pnxK1ZuoHb%m=euz!g#GNb!{X zu=|yOw@(&CoRrpAy`Q?4&>_A*!+1=8%)dTPTMzz@94RH_FCOjlkU&lBKzH5Ia+x0h zlk@af%WZ2-eSLh2b?>c^dEW2Rq2Z3!O$~%s=$c(15w&=%F}TT(76O;DxR@9{OAs(M zb|J3d7O(Z&V7TK=cNX^_r(Q6UqeMALt{AnG(sqzl4S>E>woJ zf1mwZb;~;RV^}Y!`*L%i09G$P^LJUd_BuA-QK@>w#-gZ!Xhmnj~3YOVk=x=txv)7A7Z^JwHN1IlCj65UK zWNQHddo5PkF0BwOe|CoMFfML6&iD+5sI1@qx*X9%DFai-nCwT3&*EY8d6K!}_TVUG zwZ|6FLA)Ce!Cgx`>wjalYXf(LOr1~(J^9D%9cX3*XN^6to<2pa)*6Y&KEY)Y|aft}bO@a!5XOFro*oS`Iiu3NUV5 zGt7%nwEmrLs}R-FA}#*t5#Ob=;KR4BfMIt0f^Su_r5y&=bGqH4xze; zlWjhgW>^UTgtlZXGAkC?IGJlECU+9(Z#W2G=xJCo!F}j`pC8PBFjrDiDkw6lk2zso z;6cNO*mihEL-Sej%@di0paB21x116{+=XM-IMDDFa_#kt%P2v}f9rnJ5ip>cpU7LQ)D0uXPvvKF&?a8#Jr?MosHKD?Nh zzie!FsuxlR0<=dXyYNA&o$Ob#9%}bLbthfGsWqK2ef`IYb80Um8|4p3u zT@Ok9USj?7cJ`om^)z|rQ_(d{k)gS{`H)^lr_H0_rDQQkhltp)sQ=IXEP2x7n>nM7 zMMrzH-Mc?$DC*1F7f~-uk~Sw>lp3j<=ZLls$qI1Ge4dNG&TG+Ybm>-u3JML{foQ$y zOTqP8XUrQt#&lpuI|+}ngs%y>;jUo|9VYBpBGVK#e6Vv0V^X4swXy+r?Jb8_RlXjk zJ5xC4C?*@|OW&rLA!j?5uKd!sKUNMWVMpm!GKXerZt;yAW0{av?+l02nr@v?H#?J{ z%^%PpDe}9Znos%@*UI0-ar>?I%qt9iTIhd5s;8xS(Nf~Gc$4Yv*M)DKfN4#-&q9A( z0cHnpn?msuWnx8l^Cbi_ilRvC!*M^Jh_|k(vv$`AxW#jQw55v=?^*N$Y)(r+zos~? zI%IEksJWJDFK8rF6HqRGUmpQk2k5nBt>!3qTsh9))$l#yIp=W6(_49?3+EOEgK-U> zk`_ZX=KCR5shY~-{nCLP9Rx!YgEi-mXixrRO|{wFN!G~Rv^3V#!jk#vX)@V+&6f}< z*z&?Yu}!;3THnb{-p``>4Uf{$cGsEXL;();C2m(=t>Kmeebm0biC%G}zAIBJYPMs842J`C8()IZ={MU9p$?H7jiNletitM?}|& zLaLvhro8d+G>GE5S5)=Hf4^(%66 zw$f5X)YYSF%1q>&au+ia)=j}N%%@o}+p2gRXV2fRK6ozP0xM@4{R1aY$K&&vpCN0k4wzFfQW zfoUU|u8ETyMz=pn+M!g2#TJ3_;_PW);sX5kE(S(=0NqL_6(g;?a^^WFP&(Pv1qD?; zH<&sN&0W1$5Oa{!6?1QvHI5+vS)HH>D-}JV5z@l01l#mu*pUp2e)9M%&DXOa4c)(X z9)c+8mX5S$*_I4n)owg~B)|yH)V#k| z?4&D{J~}IBevJ^##~IHLF6zB>c4goQN}h}l(Ip%tniIR$JU%w!wsS2rA5>6?!o)+^r;5_v1t~~>^xn_R!?^A!dsDER&m;=?&R#%pJQqmL z`dca#)o}|bXO)@;B_TBn(6chN9KB|#342l*Lf^%oP$+4Pt3wz1*%~(HXuXNCn3-IU zqrXMuBkE!Kx=s7_;Ab0K(1#pC704xuG+~>KiC$t)E(>EPmhe>7+zw|HU_66xEwEl<3E}V#|qbn6T@Nv^JHi{ zK&lc{xv#}{*DLszBQl5a2KO!{V3zsU`1U}m0a`M|6;~k6Y$@V;01T6W{n=cT83YOz z;7{X<7@c0j@Kqav=%MOe7bvvsTj@^9+B_HKBkT8i9@19O6!}1$Ya|eTeT@wlTD%ZC zjlUYyLgbXPbZ?)>pvuPum$L`EW__ISr4lZ)QgFO6DO68o&;9wmYkDAkw=3A)&UMHR zDMz$}#{!ld(*ynEyi3D}UTKdl5DJ2`hTe}WeQ zPz&#wUhVH(*a}!+wN35AFT}ztMvIPC@7&phQ4Eb8ozN$tR9t+oM?Y%=rGGx2AM$f$ zf&_I2#kWG^7=n$u>rF-ohv;qvz~6lPlQf-u<@k|Bwrcjje~e!~ucW~6;-zP^1gKSt zn|QOpu|XFMm8G>Uq3xQ(Be1rrC)BOOGaH2IohqOhxyc7vPh}{XO}mD-Km)vQd#hkHZ(St$lWPV0=5%Makq(> zM_gN9MMndAad={KtNf(+MYERGKAzZ(ttg+(MTt_~d-qZ`)md9{cE=CL z$BWN_8SCpcaMg;KO&9&M+m|Ws82RHb!R+S<)7+f%DFt#I&p9?5l$ze#V@B%VGq1qG zkWWT4fS&~$NYk+x9ME>KG?^t;2rh!7Wxo~35ekO*DN?0GQ859Gv4OF%vABj|gYVOB z+YGJX(H{7RwT#rUixW$#V`aTdi7kI>%x$IBVQc;~Odexol_T>W+XM>jvDW>9^;XWQ zo5%hPk%Is2*OjN{>EMw#HZE^C#;YbwG3bv8Srs>CVZRiJuJWkC`_l7Z!Am@HzJESS z%g6xtA8!aUHZ~S0q=5gADQacH_><%|{|l!JUd^SYw>MIW>Aro*@DI)(^4vBi>PcbS z5k}9hMEUsbh&!JZSP7o05y)H_FM~5u)e{U9ysb^=qgK-vxBnU3TTm9)F+j{E)TP)F zH-^t24=c@Gx|52UGJpb*&-VEFsB>|M<^`Yn-9$hT$a@}1wcs=CR{L!iMCc=A-KBJ7 zP7uVjDAP>LYcCv%_PSeuxo*Kz@~#gu(i+%ddcoa>v}Y1ZgHn6p4Q-{ie1h3yqH_;M z+v`j(in4-&re0zD3y`S|+F?lNHc=k6!5_DLL0OAUdYu3mFHqAS)R*G6yM*8xz?29) zXwKBlQ{WL7SvO^iy7gz4)rUoFjs8&r3gQ{RDnEYbwET^Ziya&?B;|eg#a$YaJpr`d z?N1-kV!rb=oxqE_Eg5xG^~dWoIo!?xuVD2%2Ver-dty&&6I-$*mvC~q@g9GodvM30H}OBIy{D(VXq!^rU0^kb#v2b;rCHZ7a@+* z_)(_7LC4)vxSc8RyX(nv!nya~_@>p`7Gwy;&slN=xs53UAro*bC6$$NI6?3#Ij4j7 z)^7}N-R)PC&gS~6K!g^852s)6GuFDnJBBb5(;>P42BMMaV3?=Kady%?PA2Jn zdr+L1=KkT{!+h=K-Jr>u%}%X53}+|rJlOc%3Q6E-36kXul+8N9FLoi~P0-w{cJiTz z&lZs@A@2wDY@@u3u$J_1Y$+NpG}gSFQC5^4Xy(Q{p}Z?A0tE#v2&;e)Ag8|f=^=9I zp=0Ts z)03DXKWlD35}i2R5!QAs7U#s9sa@NBlScD$iGlhjRf9t7)izU!mGUl$dw(hk!EL%f*K}QLt)$3o zomZj^?_C3dL_$#UyDeV@5#c(N7@auN&~)v&CMQTS}8ps4V0|QSNFTSO+TOEyrx~G@9S&5SmQ*QONSwr zVFz-+W@~v}EF0}S)}`W09itwn)K9=;D8jNHeCRfY(mM8~0v3ca?KypsJln1?GLG&S zI*_t<)&Rli+IeZxHrwJByy5MZY1vHqV=W~Jsemn@#QpJnw9c$a=tAEBj6F~A%Y^lq z4p5ifh|C4BWRkk)X9*(`J2-7-G6GvjY@}6l+;W5s&E1O*G%VWcAn`dR}GOPa_gApX`>P zIi7kPHs~>xSc{AM7XTuCUtiz(s17e_4(U4YcE7e=nT_$ow?olFwBg6iLBtJWz~=b! zDmbaVIRAfERU0nKXJqK|m?6YiA%spd5Cl%4c%9sqr5Z98WAS_Jc*}hKAwqAXH$`K> z2{sFj<^w<|Y-Mp${w*4dBN~(u5E1`@1^~bz&^?}wc;6lZi6r>k%n2ZQ@L?KhR=iQB zlp4Q?QHx=Th{R4f{h( z3yU2?i_lN+@9vQIG}3*W)<&TF+q4?O9P*{WkeHt(?Wqb784$Xe(za4#o)}kn7@1NI zH>I07_1UQN8VnKD8Y>Qp9ZyM+1^dt5!)@*Pe~@GsaCUYbGBmalFMS}g4*-#? zbjjw*Rt@=C9B3#xri5R-Wa(OHI#De9-;*f z`hN(=892GYSLWpJoTV3!!7$29-jU|iQLQ0mU5M%sn0;Ntu3%;LTlBL{cYJJ*H8dD3OJe?W-6NYL7b#hKGUP$m-tbDS@_@OunDb)WfOo;84`k(sGR<3XBJz z?0hsJvPMQm@dLiRN6#ofi*YLR)7XF7xZF;#GqXdpyVXrrw%zr&Y6WVnpCDl$pY-B0x z!+;X9ku2K+G++{N?P=cCF-88K-vZU(&-pFQRg`fu*xjIHX=%0j&zkYSycCXN;F>w8 z;Y1N|wk(AwUw=K_e+|6e)s19htCHPoo@qT*KOBzHPuF4#mZv;%_K#e`s;%*cV2Z73 zi-uoLqp=O!y5*$Ik!Ry?7S5}mb=TiZ$OEArB!V|_RYE20R<-SdAj&2zJZd*vkuhe* zTJRUm8VOw2znfSx@PXf@n6hv;{bhuW^jHOy0|Ou7P1JDKInaMduWyC$&j79GHMU|qT z7r=ya%(Olu!6?G@F7r0M%i0uE;*W{lLl0CDl>&nyEFM*~v{YqiR~nxNgm1rB^Hh!m z&11W*=(d)r`!eip8bchXWJ9AspT_3QWc}4gqAy~=MU~*tdG#Ojy|uzKpF#TsSVRvO z2O`8hk|x=uFP)cKtGgW#@yJ&pH$YaXF`efguMA*^0%UWU8IPVm(aEzP6=17#6UrXd z4@OnkHfVs;=1|607q*Hx#{>yTyQk2rJ#Vc7@DUHP27mKMhJz-WvL(#Ofv}uT+4Wxu z> zy%}uon4epc9g}TZAuB8E@8C;dj*DrOk`aH>r{H3zu;F1&@bUs>3&O;djqaA3h%N_W8kZ!0BER(sqAFWvuLsQ4}T!9jHdk}c&K-*MEngb-j z2(KB$ZZF;dN}1$7d*UdQ#x7~h@@_ZH?9TTa))a~_96vQ4OCD0f+`AH8TwVPshb#uz z(S`=2*N?v<1MUu%$fak45@yls{-t7o57M_`pem&aE9qUKAcnkYbOXWeo?n_d2v&Ct zZd`ZnAjO1TV$ppCX)6qa5X@gS%v5=1wNX;k)-((18+=hm%gGyt&B8M#s&^9;@}*{Y z{uAH4Bs=y78GSs zC4mj+?>x5<+AX*;ab4+Ky0}mME#2gpgE_(Cib3W|X!!S2>k&q4#Fawt6#SQQQDU@8 zmVvktdOP9;$&RAkY)1ol3TA$*xVhOBJPe3?-7WsRa`vnsz=VMq zlTSYmx|m)Lem-yXq>x^aQM_by@p<9LG0->wtTxAHKv0bVV89cR-Wj8huCYy9s>)S= zMb+Q( z^c^C1pYi-RqlxrN5Bb}FtSq!_G8daA5;WPm(9haQ1qP=p3GE&?ikfNkjUF7nN-dP% zS>mUor#mpeREg!af~CsW@7+IsE+q2Mjx18IYbpIO(t6i$lBwf?T4GRYKPX}x#rWXX ztAe8NwU`?huK8ushtx*2HT;NM&9#y7k)6o{3?}GCSlI#0Jt(r(?@SbuHHtqTf z?uZ2w2^?17H)LFnOfM_}7ZIUw3U{q%BemE@#>Y!0CWbo5%a9POXxo<~-JBkv5~!Dt zpQ-W*?SZl?g<4hzRE};)%jBc$AEhnCBLTL?mN1z|NV)YS1N<0fr2r$YMrnC^y&d0H(i=ONDSuY z>BrfF0d5qrypli;G`sF>AapEl4sXqOgH{}n;C%kqiwJn-pAKgX2=03At!kkvx?rbR zT3P}#^}o-D|8-s9%OHB(dcEdnOMGEv$gK^J59Fq+xgRku?v}9@c1F#D&h#2r5cvOg zz>D6wgyq#smAbeuhBe{ehC8~_?FhaB@AKm@XYKfX?pjoQb6q)n}156q49-AU z&EuH6_U(nIX7?#w)(#OMOklxY*0R)bH0(=Xd_;%nUF&~FRL9gN7<}T>0!xJpT>~WZ zV~bH&;i5G4JIQ%(3j6TD@SCqM=U|*MtYTv_v}A7&I5I{U&E4SIMRuksRuVS3zaDe*QRKk0b$Gq{TrPaX?Za`GW=PjHCQjmg#D)5rr;n@ z-FpVx7Tsxfra*85kOm4fjsdnrPyvE_8Qw-kfD~-G)s!{it81LyUYsw_+j2F?kKh7a zfa?lp!LYn|`sQ1XeP5d4CmXhhy<`CytK)Q;fh}gJzPx)b{@W|A6^$BY^tQ(elp2HL~#CJw%Nh8SMM?Y@#?cd#-v z)t51cTOgG|56W<2eCTt)p#Wr}WHiY{Ew>LuUzoCQI_1S`521n}4qBdjZ@gb%d*NPW z4t7|A*su&DKRe!0RBTNd@yu1Dz}MEc z*Swqae)z@zWH_r(^5E=Qg~M4!m*GOKJdQIgpnL$0lmkkw<{AuV!6$q8*Q=-fgKiZ{ z|DUxCd+c_b7j`s$nYU^wx+s#-drdFKHXfb8;W>iE5(TH<^L_dgLp;|qWc27qxoXeOa@y8dGqG0<|p`R)BS0PKN&B!+G@&~Onl z4iDbE&wKVuYTm>&v5kSJp@j0ZmDOHM)5H!42B2MZcrR~*yh_L(!$JI0*_GbDW%QUX zqXs&GPT21JAh||?GLP&&1HO{bNmp>f0VsqF^8Xw3zxyGltinv&iYv@w7gLm(t$<6G zvIdFoF|p~yvykUBqQWtEzuG>2Y!cY$=z8k==n3SQ!a|vG;0bFfHx*|a0@P%Y?(^5T zz;OZ?pde@JEvV;WGtY)N33#WRW4l0zFS*Hn0&IFfR+A2x;=7Yoxkpl@Mo3NI&2L^} z-Bs#-n%hz*3)FYeRS1$~WIj`0tn>MQ$$iYbtI>Y-yjQ?>1T{GzP3-8{K%YxOK`n+7 zZVj-xode3y{L#@ss!>QR38)eG}!1@6T(e9-2 z-io6`yu2qq(5(K&=zWdNb(eU&16#wIu`nUUDGl_!B39P4VBi;nHwRoyf*1;^tdY)U z%Mxkz-p}b^&=0hX0E;YkY^+v*59|=##k*hL{2g5rx`8`I!*Vs_R&iVXRnHG5sT&;> zB&QawbqP5tO;Gv<%gID-0LlTU3=4J5l!x`P87#B4#VkB7*N23V1J%|Yq|AUM4N&Fz z2t}yI3KJZYPH*@C097H-j{?f5$bA1yXv$23Pqlr7_7UYLvp~Dgzv9pq-&Q~0-_}M@ zDAW|z56~<_k&2+kjENUlBX9Au_lTh^%XrY5lT~ftMvYNX3#xOA=X9IA6OSL^A@1yw zZ@d?ql=ye0c5Q;Bq1Rb@%t(>1iFqbl!-y1QTrT#I+LW2Kq zU(0Gd$B&E*UGSxhaObaTS|obfu2j#l*Nz)S+3BhF`U z#k0JXu+`I|=^(~x_y|7SDr8X@Zwc)Q;Kb!rB25;Obm(gvU;M zz3|2T02{5x9;k(kb7>dDz5!+|J{ABmLsq2oD?^n0)!YKym;vKU^?RG|$3~|sr~#qj z$ktiAii~mYY;;M#fth(+{eANnkTz#UUneK`cE?3X;b zS0F>iobKq1Q2~&%IwacNqTy++PFcW|=fdaX_5G+0Rk-P@4nzL)Y7SERZVSY7vuxwr z*>ZN{;26I$K&m*%FsxM6rZ7s;HR280CyP|?=4OQyDfWA+dB-oeB>$Xz0_V}-e}g`* zn!H)HD;O#U^sAYHPyiHpG(%zxHsy&!JF8p=p&Gc1-1WkPE2W1JM8k7B+`z2}YylG! z6UdKECMB}tz?TXFfTai`Z~)l2{jHiT4kl%Y@B3tu)eHXlp97;;tfx$HlU>|VB0NY% zY|Gty-Sg5b8S+AwQb#(PxH5qx)ydzvER^T=O1s1G(aA(*5EPb{>_J;X!FHfr@Jbb@ zn_Lc2C9db87I4IsHaDjxRvG>PEBeyeT|@X0P<0Eun)N4q3WtI`C$%XZ1WsdrX?;U% z0f>cw)?f2kiL5n?B;4$o_gU$(`+vIo?s%%-|L?a-8q!pfkwV#&WK$^_**klr%w&^M z85vPFh05L>vJXlKWoCzDb#yq%IB~-7^*;3Ze1E^k{qKF>kNdtJr=s(o*ZaC&*K0hV z&vyuEHKs-I#?s;o6(MyGX1U<2`xlpDJ&3L$GUnG;KcC?3O9MA6y;sahe&yu1(S_UQ#UASQ> z7ZH|5(~QYA83JCDSym*;*@L?5R>kvx*)wvy-D&P41CVKk8Y9yzi$?^mof4-Vi-kV3}%RoTzyp222of_)}vtaq1Bp;ePRmfs;h5I7Q~C+ zTy&QP3-0aXuJFe65Ab$B?OJuly?({zKzgoztn2FDTX)tTq`;kM7MBP>zaWV4VOqbQ z$*>U;>4Ka8Xv*4PFh?17(97pSrl zV2W)T>$n*kqc#8CMR;*}Qo&qK{^&icd;TT;eXIpIDEIb31PspGur>u9xE4zuZ;Ge= z)@}RL2k9hotDR>SLT?>f?RloXl;_n>^dj7zdAa<)EK97<{n`Z+<$Q&_d2KZCiCE1( zdL_)aWz5lSlAqyp_5_z9YiFV@U)EqzZT`pIatThPP$l+;y=q4VKewn(wcqIsElh3E zx{ZQPG8wK!m}vag!ZB|{!1dFwB*sU%EWLQjCdO}_ zSrBVNH}n0w3inXHPN{+9`IE`rG#hFweuq|=mKC1$a4Nls7YRzu3@q#DR>>4*;#C1PiDW|Ffu zL|1den#3lZL?PP%Zq>W7LI~3!68RRCD%2460{;Utox46vFD&`DLR}6V%^4g{6>~uQ zoZ~%Zk#0dS*?{V{NVsJ*dCOHYU)MrB+*~rPIy$zSVPL2MTtkSIh7H;Q|HpLkOrsMwt-BfHOnKrgtCipHu34|^GQOCQl**^jE22^eZ*M_VZ%Q(;UiKD z=hmiQ$$|<6h{=o+-+qMrCuD!Y5%e0HFdn-nu!DN%qs>B{m)VPv5vaKEQ)6R9v)O9= z*$7wM&e{e>oi^ChH+c^TdY-`$G;aph%O>!1ii4LL+XgIYtFtY%X zRzK&xsG{4Zo$Y47Y8vENAGJ~^Qh*-L`EBp!Rj4CNm+?{Ui`gTzOeMB$EqAUExmt8U zaNw1yzcZ|MP!xd-nrOn8w3KFpY=;Zky*;eWDz2plMR)&i?*A^G0RzDVSlzK3~(?TlQR7Ye4sD`lBksz5xwZ2%y`9N$_=lS+5!*16;GB%IllGr2rp6CA)&NuLDalpB-A@o*rtQkHB# zm{nh7hb2TTIK8c&Quhw?96aS=T<;=L?Oec+E=P7tRVJzH&)%Vom`~d7+j9CO)WZ$~ zm4>Jpy>_2uw`NMROY9T8a^tNpW~JItqVv_Vj9LVC!$6oJzdw))EpRD^uUoeYeahR7 z3tn;DY5N>v*=S3{&#&_B3^aeShW!cj={kQTH3+zqAaW*(e_8 z;%d$p&IMUY$hJt?*YN6k1sQ(%`I?4FRQR>oi2#=Hrqkg~DR+gx91BfIZ>FkO<-ehh ziZnn76haF7-ryyR29lN+`dS4Qu}5dSATva0Fb>=vHA^?)q@#vN30R>m{M2Z?go%?%~uv00wsDlX&X2c-w5@EMQ>|FE=7*6CEzQ&yB|UUt#&Y=(dnQu@lemUSPA(BlSzi-4!_ zuJ!3i_PpZtXdQQWBUOQ~rlcUb8~3?Ma#g?pvwFyDDkNEzl|KGwMR+tY!60)WbBd!? zwBln<>!jMr1CWS%u2K7_9xe*50zNTU$pei)k(yZ1InH6fM6Vv9I~KlMozSId>~ZSk z`;vvPkM`3H-D-RBHumv$6~(*lp?`N%(sy6c4y>Z1J za}CptUNvUT7;c~_b3QBFZjfAS2pPiY`Y|o>k$f{*BeX!Rtz9-V^Nx09;doxN26;U* zUR=fxsN*=0xOCJEXx3x6EzTVW6d_Q6)R`7Mu<)E9Ddgu*r*Xyj0k6SN@5x`s(-s^= zr~@mz53YGPC3=Wg8Z1;VSuKC28I(#={?XKwq}|4uDWoH2Qfs{lyL)#1Y-IDI*C@Z@ z%34iL@VnabCBDU)n)98&UDy%%ejZzOsyS6Dn*TPIc<boaZ$=g>hZ?xbRlRDYyth#0tBy)8gwPrd4H?D4`d8?Vwd(Dhv zQ;4Bn`P~xDrJ$#}4^cvA&L*zTSAAl^{Y_aJ$X5J#_tVB;*eT}d?|LuokAThv&L1Rl zQf?HT-m0hUqU=ED8^AGaeUy%UbkAT&{}I)6lb$!S+v!Jzm(*u7@Vw2<1COrI)7~wQ zF8VbXEB;F3EltLiS5E;0?WbQ9uarR>B*PjnO8D~}4Td=AtmaS*Uuz4#S89Fu$uE*@ zDf2f>TI*uHr+22*T8LCn%^Iok_LLd8v}c)=KQPC=x@fqNg%XQzwO6Rb>U%#=@|k)L zCB^KltoWDlsEbjT6(H6QXKJNy7i0%^(UAk&BHvAn{G>vBRROH|n^qFZk9dv67gdrda2xUo}?s-z05)VYwo$wM>i;f=-^V?Nnc0SC#fimcmr6 z5eq?aR*tDJCh5u`lho_bUw~(WN{ZImBMDFM@+Y@*(La$7$jT|$IFnbicpAlim?zKx z$nJzJh*_<8d1IF<%K*7{k+$QjR@$Kc& zSk2W8L>d)EQ*?xUDWD;a1z7$Fh;I#`z6IBf7RTVpSriYbFI#Pg@-lV(=hZ7j-0i+) zilK4_Lmt~o`98i4zl1BTtE-^p3yMIuF6XEnCZ|hyYZluDEg@no4RL<*iLg>M-qdLR zV*V*y7+rb{cUAs`Bu&OmxUihduT++4E6~vdB2K_UM~wAC(3*43^ES>bD+u2VhD#=* zYJ6ECmVs&3jQQnZL-eugwwBUXt{jgN^1p0Im2zTO!RsE-1n8IRZTqU zY3pR4ZfhV-Ln#4AA8968G1n|`+*16=9!mG>H@{ZiK~=r)(3+Z>b|iD+$+pYJ z_l);nM(RqS3eFSGf;3Ab3B0%Gu!IPsFhk!%kp~Bv?OVBS zeje$R{I-sEL3##|7Qb4aikUB9xN@zb-H}eluP#*@hzD_{!J1OV)swR;pmA}Fg!e5} zIji^`^EB=c)CYly2oD|d;m*09mZN3?CP3mu@kzMcFGIQC2;Sv(m*i%RhI=k#`~Czt z470;%ka0qKSC$f6WDx`wW}T0`*3hvLW&fi$FFI)(Vtil+K>rX6$Z(KXD>m|Kq)py5fi?UVJ;xg*H2E zhoadMjPILdO#95;Y~Ys{MUWV;%Q(YhEa+3<_vL`tqg9Y`um65kT z)v^Q(4p;f-NpnKBZu3-nqzCmnZF5O^V8_&8I|HV5&G) zlz6*r9CNNev939tA9r1H(H#a~2r@(TZA_K}TVR1Oc-EkPL&k{kA&(@qb&8qp%wZ;AVMwNwn@U)dNXx zv?2h!%FG8!{XQ8$(nXEcgq#b?T={kmshRE2T;aW==z86=&u|BBE+aDV_!eNhM+w8vw$JMrKvvyCsqRpUbzkkdiSY{*$-E+-&E;(rbw79Q5}1W|H3ANSWr#Jh z8M5u@VIb?7$XosM9R;5n_mMq=C3n;*ZwW3@yC!u5TCzh?K9*ombcf&n;e|`*Dfo|| zjFtV8zrPmRPJxC##d-3Gf^$9_DzmhhT*}k0z@*alfT|R#;?;!{^rYTQDIsyc{#nXFg5#|= zxNC)p6<1J5!e;Zm6M|~qZMJM*j+Aen2NGWU9f+ewduOv{?gZ$uUfSCsY>nIB-9xXf}kN3 z_hKxX1#iUPN|Pcl7k~=btYd@ksdxggKv2X^l%WbKos5o z!OTVg!sy4JDR%c4G*=@zY(;w0A+6^OxDN&z$Zcr3HInZ_QT(sjCO-ppKs5w6m_klG zLHlqQbH4D+g6C4Qyn!hNH)Ky`jm{2akV@x3;!hRk56f0RWFLiT2Prxj-5_DmcE_f} za>Oa^k6qt!Tlzne*o{AqC7_YDPDoLPs%SR6;{ifTfAYzD8V<1CM_7f%p!3uLyn|-c zI%d11u=CES!Z44$O^1<@i>i?ndF$*TmMa0OV<#xs_&Lz@p)UtOSOCj}N^u4gi`5I+jLcyN0mC ztIGa$!Sg=w<8QKQuKq@B{vGks(NLBLOpnKH*BnXA%%6zWiM=sQBgM+;CQ(>zGz$ay zh&$yAFK|wkx$~iNh3{`~lCq#=nGTZGT-}0XrRCO&R@z_XfwRS+V`inyN={|wmXbk^ z<7q&fZA2zbV=Od{g%IC$bduCX0r4LaqyYI|EKn9t@p12t-cxSysB{zUSHX0X(XIF!J#z^pL_yO+TiNM5f!SNpr~I1@)^44lVs)0UANV$|p368? zJBjBA3TVoREW1QL7^m6oy6mp7JUF(%-4q0!s|A2OtJTbGmY@iyzcOpCEE^NBlrO;8HrW>cYLhjF5ta-X5j&lro6 z&^Fu4U{uw9vq{tPdu)1H|6wxe=>kIMNBj!?M378zG=WHNb#V(T_a8~dD6*fq%Z~VV z|9hgwFTW;X&`up6<@;;Gcf`<9s>r}XzuDk4>~9aHpvG?~K6ZCyra&M~>c|79mfTB2aBT^*_yiydi+VQb0B!DT!&=v0WlMi3a&uxx-j(?85Fk z^LN&Ve4B4A&GbMT3F`NQg(jdWay|_|P@Dk^9sdou@UzVc7pw)Xd$}1UJfil;A?%cf zpvBEz%}x=g=yqcp|3I$Z8vs0ChZ@fgzewLp`Nx+{I@GrXm!kw_U7rpWN0 z`v}O{jlZbE(3hux2^=Cp1hSPUUt6> z?>JO+F!b;oqgixn6>E>29=F(s^B%Q*T|>7{HF8vHrR8#gYx4kYo_(MN5LHu80J*ryt-Sh(P=NP&s5h9#I@P#(B zyBgg!mfe31nICI=ujKiM1~OrDNxlxg!6#4V@|rpOU(I@lZQ7$yDZ5O2B*((&YUjqD zU~Izczbh1?$d(qB`DEJmNN)?xPJ+sc=Z>Sp+@$K?dIQtBR0|Cwqzm+JwADrQRGD;8 zjylxcuWzE7EoM>seVC2J8Qgy-eDqc1iKcs$f1h9IX|sqw+Lsy@I*I$cdDA0VCK4PN zHg`UER9h!1`|9#uL&Ylud$(}Bg=|6RZ(iq35-<2+c72N@WicJg&!Ax3 zyE!a#c6DW@j>PW~hlIUvRUDN(9t(J^f@s&>zb5U5Y{=q|GR8f9x z*8~jT0s1>ir)kye1{wH*?oYSBXoR%-ihfD2hw!7j{bqQN@Y?Wz*obY!(N^A4eQq4@ z!1NGvXES#H1J#s=2gX_SAJo)*JEjoJ%h)icFg@?KT4PvoFRcr==*Li|1{l84HUDFV zI%5N&$yO_lc`?%*^ZFUZR&EB_=~C)RKNi(_+KV&k4I@)${`r>6FfyHa^D9R%H=EV_ z2#7}nLB&TmMsqCwNx1x5Mh@P#!Z5~=)_E^dF!6A}!*2aj8Mc|`8 zD|3r3=4Xq;2NyS&T!fz{>He=~ih60lJ@;s8YZ_nc9!Zv89YIEGHM$lKi^r-Nu;cty z7x{>PmO154c+@g+-mWs}YQUN)xZLgY5z8y0m&I^V)nkcyS3Y8OF1ZEbvo9NKfc16T zrHzt7$&EAQz=6n)YjXQP(BPS(o!+!j6YXLdg$#2d-;UsH8?6|cY5vHoQty)DfG1A@ ze**h=t@_Eje;oZ#b9qWs&Yo#fCxcX!njAVGw{^(uZW1fjhq}p8eie&%Ox-@fUZrL) z*yzy~;WgqsL>I0b3~%y4@*}XAVZDK9&n3+E@+Az{+A86gu!_Z~&J*=)(@B$Z;?WZg zItaxWtBSs!W3Elq+UxVWewrhDHO>8+M0l(2d%ry7v30^YZo{XG7Z1BtGd;08u6*a) zw0M$f#8HLHo6C|9`xd=xHM@>EV?+tBy+@hb9prmzeL~vwvyYtJOJOoO{JLo0E?Ls4 z^G8<$?=Nxko#f8=XW2aMaFf83`=DLn*j@*wxR(yTyRQN;(V9!*fx`i=Vz2VizSDUp z|61*r`bC#&Hj+k2$x1(kAK_{>IC>t@T`2B4jOH=SZH{B2^J+%>ii(o|&SHeEO4r4t zRqqLJ=n1~8h*-Sk5I!oZrrXVO|+>QaV;OUO>iQHJOv&kTCXO3QA9q*|M6Py4eCr;X)MHJQG! zW|in7EnSmyC5H73+UJUS)P~9F@x;(I&^Z7ZIW9s=Zq=O7*KjQN!50>i|4(l@ZR@Yc z#^FUgjNcu$&WOxdP~F+& zhUq37mX)OMn!9cMNRx*>!3&F@d2g!8qWOr<5f-Ynt6d}K2KSdvSc*`*a=LfC`@!AG zzY}yVx3l@H3}$;+vX%MU-H350cnq&gzE7NZScvCh_RfBF(S6I@^S>$iV5rIcg|u