From 09b5c987b0c68cfb7abddf7f4fb068d8b26cbeb3 Mon Sep 17 00:00:00 2001 From: Julia Schumann Date: Fri, 6 Sep 2024 16:06:02 +0200 Subject: [PATCH 1/7] initial commit for trajectory parser --- atomisticparsers/__init__.py | 2 +- atomisticparsers/asap/parser.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/atomisticparsers/__init__.py b/atomisticparsers/__init__.py index 5df4d62..03f15bb 100644 --- a/atomisticparsers/__init__.py +++ b/atomisticparsers/__init__.py @@ -74,7 +74,7 @@ def load(self): python_package='atomisticparsers.asap', mainfile_binary_header_re=b'AFFormatASE\\-Trajectory', mainfile_mime_re='application/octet-stream', - mainfile_name_re=r'.*.traj$', + mainfile_name_re=r'.*.traj$', # can this be specified here? to directly check for the emt calculator maybe? somehow we need to seperate the traj parser from asap parser parser_class_name='atomisticparsers.asap.AsapParser', code_name='ASAP', code_homepage='https://wiki.fysik.dtu.dk/asap', diff --git a/atomisticparsers/asap/parser.py b/atomisticparsers/asap/parser.py index 9143bea..7f6438c 100644 --- a/atomisticparsers/asap/parser.py +++ b/atomisticparsers/asap/parser.py @@ -42,6 +42,9 @@ def traj(self): self._file_handler = Trajectory(self.mainfile, 'r') # check if traj file is really asap if 'calculator' in self._file_handler.backend.keys(): + if self._file_handler.backend.calculator.name == 'VASP': + self.logger.error('Trajectory is from a VASP calculation.') + self._file_handler = None if self._file_handler.backend.calculator.name != 'emt': # pylint: disable=E1101 self.logger.error('Trajectory is not ASAP.') self._file_handler = None From e0e9f0b75a594c933909e40dabb438cc9a8db163 Mon Sep 17 00:00:00 2001 From: Julia Schumann Date: Mon, 9 Sep 2024 14:48:55 +0200 Subject: [PATCH 2/7] suggestion for new parser --- atomisticparsers/__init__.py | 29 ++++- atomisticparsers/ase/__init__.py | 19 +++ atomisticparsers/ase/__main__.py | 31 +++++ atomisticparsers/ase/parser.py | 192 +++++++++++++++++++++++++++++++ 4 files changed, 270 insertions(+), 1 deletion(-) create mode 100644 atomisticparsers/ase/__init__.py create mode 100644 atomisticparsers/ase/__main__.py create mode 100644 atomisticparsers/ase/parser.py diff --git a/atomisticparsers/__init__.py b/atomisticparsers/__init__.py index 03f15bb..acae80d 100644 --- a/atomisticparsers/__init__.py +++ b/atomisticparsers/__init__.py @@ -74,7 +74,7 @@ def load(self): python_package='atomisticparsers.asap', mainfile_binary_header_re=b'AFFormatASE\\-Trajectory', mainfile_mime_re='application/octet-stream', - mainfile_name_re=r'.*.traj$', # can this be specified here? to directly check for the emt calculator maybe? somehow we need to seperate the traj parser from asap parser + mainfile_name_re=r'.*.traj$', # can this be specified here? to directly check for the emt calculator maybe? somehow we need to seperate the general ase/traj parser from the asap parser parser_class_name='atomisticparsers.asap.AsapParser', code_name='ASAP', code_homepage='https://wiki.fysik.dtu.dk/asap', @@ -94,6 +94,33 @@ def load(self): }, ) +ase_parser_entry_point = EntryPoint( + name='parsers/ase', + aliases=['parsers/ase'], + description='NOMAD parser for ASE.', + python_package='atomisticparsers.ase', + mainfile_binary_header_re=b'AFFormatASE\\-Trajectory', + mainfile_mime_re='application/octet-stream', + mainfile_name_re=r'.*.traj$', + parser_class_name='atomisticparsers.ase.AseParser', + code_name='ASE', + code_homepage='https://wiki.fysik.dtu.dk/ase', + code_category='Atomistic code', + metadata={ + 'codeCategory': 'Atomistic code', + 'codeLabel': 'ASE', + 'codeLabelStyle': 'all in capitals', + 'codeName': 'ase', + 'codeUrl': 'https://wiki.fysik.dtu.dk/ase', + 'parserDirName': 'dependencies/parsers/atomistic/atomisticparsers/ase/', + 'parserGitUrl': 'https://github.com/nomad-coe/atomistic-parsers.git', + 'parserSpecific': '', + 'preamble': '', + 'status': 'production', + 'tableOfFiles': '', + }, +) + bopfox_parser_entry_point = EntryPoint( name='parsers/bopfox', aliases=['parsers/bopfox'], diff --git a/atomisticparsers/ase/__init__.py b/atomisticparsers/ase/__init__.py new file mode 100644 index 0000000..0d5d438 --- /dev/null +++ b/atomisticparsers/ase/__init__.py @@ -0,0 +1,19 @@ +# +# Copyright The NOMAD Authors. +# +# This file is part of NOMAD. +# See https://nomad-lab.eu for further info. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +from .parser import AseParser diff --git a/atomisticparsers/ase/__main__.py b/atomisticparsers/ase/__main__.py new file mode 100644 index 0000000..67e321a --- /dev/null +++ b/atomisticparsers/ase/__main__.py @@ -0,0 +1,31 @@ +# +# Copyright The NOMAD Authors. +# +# This file is part of NOMAD. +# See https://nomad-lab.eu for further info. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +import sys +import json +import logging + +from nomad.utils import configure_logging +from nomad.datamodel import EntryArchive +from atomisticparsers.asap import AseParser + +if __name__ == '__main__': + configure_logging(console_log_level=logging.DEBUG) + archive = EntryArchive() + AseParser().parse(sys.argv[1], archive, logging) + json.dump(archive.m_to_dict(), sys.stdout, indent=2) diff --git a/atomisticparsers/ase/parser.py b/atomisticparsers/ase/parser.py new file mode 100644 index 0000000..12ef373 --- /dev/null +++ b/atomisticparsers/ase/parser.py @@ -0,0 +1,192 @@ +# +# Copyright The NOMAD Authors. +# +# This file is part of NOMAD. +# See https://nomad-lab.eu for further info. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +import os +import logging +import numpy as np +from ase.io.trajectory import Trajectory + +from nomad.units import ureg +from nomad.parsing.file_parser import FileParser +from runschema.run import Run, Program +from runschema.method import Method, ForceField, Model +from simulationworkflowschema import GeometryOptimization, GeometryOptimizationMethod + + +class TrajParser(FileParser): + def __init__(self): + super().__init__() + + @property + def traj(self): + if self._file_handler is None: + try: + self._file_handler = Trajectory(self.mainfile, 'r') + if 'calculator' not in self._file_handler.backend.keys(): + self.logger.error('No calculator specified in trajectory file.') + except Exception: + self.logger.error('Error reading trajectory file.') + return self._file_handler + + def get_version(self): + if hasattr(self.traj, 'ase_version') and self.traj.ase_version: + return self.traj.ase_version + else: + return '3.x.x' + + def parse(self): + pass + + +class AseParser(MDParser): #change inheritance?, does not have to be molecular dynamics, can be simple geometry optimization + def __init__(self): + self.traj_parser = TrajParser() + super().__init__() + + def parse_method(self): + traj = self.traj_parser.traj + sec_method = Method() + self.archive.run[0].method.append(sec_method) + + if traj[0].calc is not None: + sec_method.force_field = ForceField(model=[Model(name=traj[0].calc.name)]) #does not have to be force field, could be DFT code as well, or machine learning potential + + description = traj.description if hasattr(traj, 'description') else dict() + if not description: + return + + calc_type = description.get('type') + if calc_type == 'optimization': + workflow = GeometryOptimization(method=GeometryOptimizationMethod()) + workflow.x_asap_maxstep = description.get('maxstep', 0) #is GeometryOptimzation asap specific? rename to x_ase_maxstep? + workflow.method.method = description.get('optimizer', '').lower() + self.archive.workflow2 = workflow + elif calc_type == 'molecular-dynamics': + data = {} + data['x_asap_timestep'] = description.get('timestep', 0) + data['x_asap_temperature'] = description.get('temperature', 0) + md_type = description.get('md-type', '') + thermodynamic_ensemble = None + if 'Langevin' in md_type: + data['x_asap_langevin_friction'] = description.get('friction', 0) + thermodynamic_ensemble = 'NVT' + elif 'NVT' in md_type: + thermodynamic_ensemble = 'NVT' + elif 'Verlet' in md_type: + thermodynamic_ensemble = 'NVE' + elif 'NPT' in md_type: + thermodynamic_ensemble = 'NPT' + data['method'] = {'thermodynamic_ensemble': thermodynamic_ensemble} + self.parse_md_workflow(data) + + def write_to_archive(self) -> None: + self.traj_parser.mainfile = self.mainfile + if self.traj_parser.traj is None: + return + + sec_run = Run() + self.archive.run.append(sec_run) + sec_run.program = Program(name='ASE', version=self.traj_parser.get_version()) + + # TODO do we build the topology and method for each frame + self.parse_method() + + # set up md parser + self.n_atoms = max( + [traj.get_global_number_of_atoms() for traj in self.traj_parser.traj] + ) + steps = [ + (traj.description if hasattr(traj, 'description') else dict()).get( + 'interval', 1 + ) + * n + for n, traj in enumerate(self.traj_parser.traj) + ] + self.trajectory_steps = steps + self.thermodynamics_steps = steps + + def get_constraint_name(constraint): + def index(): + d = constraint['kwargs'].get('direction') + return ((d / np.linalg.norm(d)) ** 2).argsort()[2] + + name = constraint.get('name') + if name == 'FixedPlane': + return ['fix_yz', 'fix_xz', 'fix_xy'][index()] + elif name == 'FixedLine': + return ['fix_x', 'fix_y', 'fix_z'][index()] + elif name == 'FixAtoms': + return 'fix_xyz' + else: + return name + + for step in self.trajectory_steps: + traj = self.traj_parser.traj[steps.index(step)] + lattice_vectors = traj.get_cell() * ureg.angstrom + labels = traj.get_chemical_symbols() + positions = traj.get_positions() * ureg.angstrom + periodic = traj.get_pbc() + if (velocities := traj.get_velocities()) is not None: + velocities = velocities * (ureg.angstrom / ureg.fs) + + constraints = [] + for constraint in traj.constraints: + as_dict = constraint.todict() + indices = as_dict['kwargs'].get('a', as_dict['kwargs'].get('indices')) + indices = ( + indices + if isinstance(indices, (np.ndarray, list)) + else [int(indices)] + ) + constraints.append( + dict( + atom_indices=[np.asarray(indices)], + kind=get_constraint_name(as_dict), + ) + ) + self.parse_trajectory_step( + dict( + atoms=dict( + lattice_vectors=lattice_vectors, + labels=labels, + positions=positions, + periodic=periodic, + velocities=velocities, + ), + constraint=constraints, + ) + ) + + for step in self.thermodynamics_steps: + try: + traj = self.traj_parser.traj[steps.index(step)] + if (total_energy := traj.get_total_energy()) is not None: + total_energy = total_energy * ureg.eV + if (forces := traj.get_forces()) is not None: + forces = forces * ureg.eV / ureg.angstrom + if (forces_raw := traj.get_forces(apply_constraint=False)) is not None: + forces_raw * ureg.eV / ureg.angstrom + self.parse_thermodynamics_step( + dict( + energy=dict(total=dict(value=total_energy)), + forces=dict(total=dict(value=forces, value_raw=forces_raw)), + ) + ) + except Exception: + pass From 4c6c4942d15bb36a1dbd894ebb18ffbffdb33231 Mon Sep 17 00:00:00 2001 From: Julia Schumann Date: Mon, 9 Sep 2024 15:52:52 +0200 Subject: [PATCH 3/7] add traj examples --- tests/data/ase/CH3OPd45_0.0.traj | Bin 0 -> 73115 bytes tests/data/ase/ML-NEB.traj | Bin 0 -> 76644 bytes tests/data/ase/alloy_slab.traj | Bin 0 -> 282487 bytes tests/data/ase/initial.traj | Bin 0 -> 10393 bytes tests/data/ase/neb1.traj | Bin 0 -> 63626 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100755 tests/data/ase/CH3OPd45_0.0.traj create mode 100755 tests/data/ase/ML-NEB.traj create mode 100755 tests/data/ase/alloy_slab.traj create mode 100755 tests/data/ase/initial.traj create mode 100755 tests/data/ase/neb1.traj diff --git a/tests/data/ase/CH3OPd45_0.0.traj b/tests/data/ase/CH3OPd45_0.0.traj new file mode 100755 index 0000000000000000000000000000000000000000..a8daa73f366a41dab21c1a87f9b7d87dd16fead9 GIT binary patch literal 73115 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 literal 0 HcmV?d00001 diff --git a/tests/data/ase/ML-NEB.traj b/tests/data/ase/ML-NEB.traj new file mode 100755 index 0000000000000000000000000000000000000000..fbee37e9cf65b6eb89f222a05b30f2235acb85f2 GIT binary patch literal 76644 zcmeFac|2C#y9ay=m3at}S!5n=Zey}n5t2%ZWC)pOnKj-@B~hu24J4IHDM?anCC!6| zM}^FykusLbd#&BG-}54>`V>b*w~P5S2QwA;S6E zh*EaLh$!Is!BsjHb7WA#(;8m4u~tG`aaD>7;2XDX+`sIoGO{!OTypz!8!`Ga$=nj~ zDL-bm`U|uXTaT~UJq`RZ!b4Av@aQ4?W**TQp9Rq2Qo$c~p9IkG{+MCW4qe2Vjl`IX zWzb%A@o9@W1kqqtv;X^7y6CM?j_1Xb%E(ar`R?dBf+$K@_T(t|k&SnoVgId_*e3NP zMF!$pLjL5pfa_WtDH=YVB8YNcU1;15{&W{`N|}Nma~D4&PCXeEeg4~`Rvj6XA<_RW zqgfZ(IXw7!1^mksL%9ViGN`0!L_-DqXj*XwJsoHxrm(K7s6qQ8gLUlO0C#KVap6`K zL^q^HZtsSAsoiJ%r2zlnQ$Kwa>i<+f(^>*}(fDy0Ex`9a729_CurhkQ@S1WANG^*# z7QX;rw37XC2_FZN&YY+Jm6rp_^`%LIbnxeQbl!<6;76zWYg5P(apcJQ8m$4cAz0DD$X62;oYEZWUZaS7zHHRf2mD^h z52yB6O~ls}Vmqx%75VqAIavz0TlsM%muOA&EId);GsN-1dj;DY;(CxwoLU0$EazS< z6$f^60wb-kzp}8|wH@Hc$9C==DX`NLl>5p6nHZS%{UX@gZod|p1o405X%h`wt%zI# z9=Jw={pQ2FHT;D+(6U{+rMIE{ahpwlFSKim^J~o);Qvz8;uZW57tbl7oe>bvMDNzy z>!E&C(Q~g5u-6ye9JLMnm>6Eq$_IVDKw9e-kjv~gv+AKA_^I*HPS7$Xr1Wi1;~Zq) zJ58Vi?(byWj>2XB1&{w!f3NR|^1tA}=kIoc_DB0){I~zfIPHHjPWzvXPyai9y53~} zlW|(7C2ddpr}15X_rvcz(oWFjv^^dFWPH)z{X^rlA6lm+jh`Cawqsxh2cl)S{s_a= zSP3Oi{VD!0_?`jf;*Tzh|AKqJ_y5oh_jR(LlYjfC{Y~~i8K?bE#%cdF-t%{yw12uD z?f-W>#nEJ()@e!mq5V(BPy8J}T|U`AjnjVU`jc^5rzLIwIeAtyvzdX;pH+=~)5JhU zjq>|%e9=Y5O;gi5AYZ6+-Y^Q?%Rn1U%y#kr1U&Bk!w>$7XyJbCBIkAn>blz^e|k_C zo!l=x~R@~f#$44MWj=Dk82-MYwXIahok#Nq8Fa`ytn^^`rb`x3-+r17T5JE$L&c2G(J{Dl|fo{0cI*^dj% zGJO=$4Np@P1Typ4pwgBxT~y54uCfID-=Eu=`E`{d>d>CTRO!`4Swng^jAwEnbZ9E; zDU^@K`8*c_e38U+?*NFyzP6a@3;2dd%XAwc9=>6V*P8Hrrqp+SF$CPN?aXaOu$P}z z_azAXFE(9k3vz3H=LeB@x=2pulY|#XJ8{@|@zAD;HX zN?hY@Co0_sZ8-yAUP!P>sZo_d_YziEsQ+jqwv!j-tH54k_4x!*n4iYxhJD!kwT%#& zp&?!XxXIuFrzw2xMAGT-v_0T&;P_|PZoprZYfcc7JHbyL(+aVmy+;!Ie5a1I5t@thpZ3l&;I=|85d@@dtugN$)t|sGjexUtL_CFb?{ZGbe|1?hLPuf3SkM=(~|Ij#XM@!ld z?SC>pIsedpX#aFQ+7DfSGEVEXr0wbXm6mjVqvyHFI6Xg2#_4%wGCq0!rTx?M7kwQX zr~OaHY5$Y)$@4GmhxSkVqj6fNC5_YmX`If_ljmRBp7u}Iqw&e}FYSl6qa}@RD@kAb z^r;Y9eSe+s$Ri;%mp@~4c{dZiUl-c`nUF^5`$WW^?G-|OPZsMRZDXRtmo{e=CJ3Qd z3lo!w!?)k(r|8nz^x)o%l{cBBS zn^mNlywaM`gDZ*r@tNmrzgQDjqn4*M|F9#5yf%!V+sI2kjpMyhH`A5ypI@HSz_*f^ zo7(s*t;w2T2yo4P^V5!;@nNp}ukCLwV($LcvDnFlkbHak(!@z~vbge^q}a^)#B-}1 zUo#pJkIxBjQq*{Fx|k0>^FLL`^i#WB4|m@U+qfn#EW~$D#V&)g!6#sqMbL~ zi0{tNR2POB5KRSJxz&bjNa1-Qr61*Oh?t}IA0{S8k%sm=td;NTk^2=$P1NN^R9?}a z@ocU)*-$$rUU}!Enk0A5mme=V5Pha|H(Iyb5I0jcO;NM9CZx^tEk#W22!EN)`?FLQ zk~Ucd zxon-Xn5fM>bKPjO6XAXM&iY64-b7iA*R`Svf>`K6dVVTeNR;aHJo5dlM@F!6S9YYY zBxW5%mv^?VAzNnmm~dn>i963(3hJaSu_;G#&iNW~VuRRun~wD?BE{5HFb_Iy$%@cH79RZODg*LnRr7aWO3$6KOB zX*Q&)!cT9JZY{#HcKVg+k2@^*@7=p~ZmS7-#(CL>^!iC^wKm^ zP+Yo?GC;@OKsE`}OIhz1~FT3f^oYK=hLTrbk^QTP!TL z@%usY?21nx_n00b`bt&gbf>>3UFQ89jN6z+YzsZq#Nf#yPFj6Ae|*b(((MqVu=`gI z5u2l06R(;}oa_Hs8?Dn#`k8JI-95IKRNK?k>@uz2BGYy|J~x_V9kPAp6Z< z$K!iQOQVbC@(tO9Ls+EJ_sbdNdk*Jo-KVgqXa>$2A|iSm2-@f%w+iG`%TwR2H7nbERtSiP@++*%!(oRc0$ zE}E#bQn=quMmj7VxwAHq$YhCK3|O&-5E~vju|v0qoOkK{!Mb0W#Ei9(^(Eyd#Ma~k z-=7zDllSco)k$)1A#D;G@5NYdCb^nUkB^CVlcj^F7wmiodEjGh|itACl`zeL%ts7TKp-wDkBq8DdrtfA6bB z&cx13PZSd}O~`}0#+qUSV#w&;=P^6iAoA4V)Y7MqRuffn-{$*?FCqjky$j)0awXmi z>m8HNbs)B6iY(V`upvtxNiNb=b0Z%UGj4s_V@2=|1?qTZ&n1$hmWjK$dJ!Dy9~LM$ zX%Q3iISo&w+7q=m%MC5(c#*^Wvo9M%KAkor=c4#mL`DuS5UF+yAcl^Gi_Ki-Oolf% z<~7c>CLAyHyPUMJBI_NCv(M>z6CYG+Zj_JP5brK6y#Mp88DX_r|73UlDx$y2ey8@0 zwd7VOV(_AW%=Hme)z6ZV8h$&EFC!8~i6AU^$zu>(;sO}pvYYAurIX&RrJ!(vj@t8jOA zr6<9VAnmH=`4DnDnmqZ+U5Q6OO$66l*b_k`wh`3N9PTMnO674 zc>7%9zV&0zm}@)97taVonWGiN(0t44KC4)Aa0z#zZS;M@g6Gao*7jY5Y#HIwHhU-G z$UNb-V)}DJu`o^V}aFv03XxuH1av zvUh1Tx$5PQ72Lm06H&!&+t0l|LoRuE{6hVb3W9tSbY%0oSRyumDRD3N8ksOVp5s>b zeL|~JexR07MjkG5-y_adMs9sBcq6E|im;gAeB@J8rRK8D#E> z80oy{xx}7&S^m2P8;Eepq!hwoCpk@(Ff3?XOula1b*4*k7iqnI`87}OK$3Hzzrfmk zxnwQB;({w*H<31G3ki;k`$)sF!IjEo%L$KhtE@|6A1$t|K7K7;B9ruvxg@t>djc`F z^i;s^%ZbF?6+910lLm>tfy?}FGMvfI7u8%I7h_4~u!M4l#zCUZ+rOjh`%1D-bJ5Wc z6?0;1<)GI%23ps84$_Q|ieek*9FsK-_vSVqSHBh`)+2k>>3@KVtJBA@eD&{zUpJ zBCheZ^NW@wBKfeZhBn0GkEWekcAbmJ-)wubed9)gkoUXA-7rX~%#*X)IDe2hu6DQLw15{`Tt1>w*&R$u9yop?yP8Risf4d;7Y!rUD~g{>?9d}> zXY*Ju9r7XE?vq#ivR#Slb;27}215zcPt!Fmp2rev%!Twml=u*b@~S$tt$j#)Ka;s9 z>X#GsvAx{|ZBb;2NBHja7ye|%o;MGUvNw^EflKdAaEB91AN~q5$yXJW4fBbQZmthP zPsb5l>!sHV)ovi1Ia_BKcFrdLrgQ#?KRxiL2mbWH|F{Q6xqnyPpcLm96&(~2u4Jab z)KXCLj`s8X4@Aj8M_*rusRRX)Ykk1PEhZ|~PfOuHetSSscx>2OaH0d{8?x46USqCM|kBJD2 zb_aWRrI2{1{2p{;u=g`gNbYC;~M(7hCZ&Lk89}T8v3|~KCYo}?6GN+2X((9qJv`K zzW)2$0=zm*<=;=TRCVtvXBdG1B zP5le5YVfa?|F02Mh5Ds$tfS|Fuj=C+>JuC44I7>Qeq`Y8<0m1`J35jI-8%}97xf3a}KC`AVagn5IervrVULo2wN58;AZ@3X1cM z$2D=)PzX8@l;1-_Dbyzr9$C=+y+fm6q$q{b7o`p2z2k6e>2kW*O-~0JK>xzs6dL8{ zjiXhX9~%>a<4?dN5C)T4Qwa&f zFB&%xx=D{|V5DbYq;Coy^^8mmO{jjOP(1@#ImC#eFGQ` zOzK&~eMa3n+}Sv&zXyk&4vc-4J`0zJc?X11T|yQAt^WI#WApzQjK;?LCRDTiqx}3l zCwC>&m}#WXGQzza6z-27_YLqAuJyyW3O}f^;XZy*F*v{C{{MaLAQ(;FI2`~2RX5F6 z&~4hB2K#*`Hrr(7ylx|$mQIOC;L}4QqiVx9Gz3v0x~iHk(MBu`l~^(p_NgRab@5&d zyxa))_X4jUtwf#1>WL!28~EanrULJ15ndV1+22NJoIV$^2=LFoIc_}CZ3NkS%H}xi zqZmIVbLJIr1Wyn(jFezSF`7A zQubfE=>84XbXV9%!!I*Xeg^#5*ZKa!`)|;^)G69i+lZGo_FRdu-{!U0i;`Nv;~aJD zB)J7q{gbAOTzeUGN+|H8{tI2yVz}dyj-m`&_U`q7AMlRrH?27ItWOusxsauJ;Dj<7 zu|3_L1%4(Dq<@_Oe)#j%rRB!kh}sNywkfnv?wdo1EZ`Bdy^~ie3ZfW7BINriWi;#; zD_a5Ws<*fBXomVNIo&r;L%d;}g@vmDuiMo+T>*H=rrQm-lMgAQi%G#=s?g6IyeHT8 zz`mb`krBT**!Od&SpRKjye4Y2-*i3(cyiAU(=E?_FwkIZDfcSarxHrslM00WGG5H% zMK7mupsv=;Fn8ED)BWVYuUEh)b6x0Z350z=Ndk8xlVE?$cWzO~6~7oLq2ZKTF7VW) zE~7tdU>{7I*#<*i&_#}y+zvb}j!rY=Z-{zpBC^Z3EOxa|wSU3;S%6UNCrBQ#p|6+B1vwA+9S{QuBQw{>-D&CSl+={<^w1 zzo#OSoFT{v27cG1&7tk5t0G#IIUsuiqwg(zMWCaO=dc9 z-FK2)a?7ASAFJb^&4K+r_PWWLO3*GF5uYA0i0|+n#o1Q@zg%@oCJOu?p2xVk4eGP% zrhQEZe?~o>KJUQZ@z<3Nr$HZy<*&>GnPl-&Xyu=MKj=U6xUg^U?|nNoFFTocr0pm3 zjx;`*cclH$d?PJsoaV`CN%NO9zdaeJdF9DC%_mRBX3X#P-|hVW|GuC8GqKu=uNY`gTV}l0O9o=d=c{K8=%V-TWUP3;IC^_v+x5163^c!t znZNL-E>bVZ_KXXF{e1_RO846sXkbS`Uh|+X>e(!_LLSE9S@k2r=CJSQ>Wv#paTsy9`PzLH`x^*~>4^dRSw#{Hb;0hV%7u6 zd>nWCVE$b<9Q-fKqzZ{X>b#`|J6yqN0r{Zktu``l7B7Vz$rqdthUooHx{ z-0TGVe&+4@{L~-t&3ifRG-1C_l*OJFIe9_EjlPQ5!M>k&pVmt*)sjJWHhJYe5`w6; z$b>16_XBYXq&9Ou_%{7wX+3Fh8D7j@j-G z`*uohW#37GeK}WMqP@9$+X#i7_R52B{eJJw4>Z7k&7zMQuOa>sL7}7fVP1aUd-S7$ zpC&rl5n^No^_^bo=gnMrw|G_wfxojE+$&;`Xt@gP8u~ItjQh9 z6GBX8uUx|$CYow4YIpLG5XwHW>Ko@m*yj@x@|_R%{mkQd+Bx_}8YK#^I4$!_8dVsc zeCY9!i84;OtrY8hu&U*{b&&*KCs&Z1HH8EjW3)gG>qDlgLReZ!w=*za zd*QwymcbKc!WeH*^b*B-%?1t?EEPhWh3(c< z{g{dMl94)TEXUH0@nT#lA&s(|etqL2z}b(j=D|K82IHY1=WJZ=)%#o#>mSU&P&#?| zt`^o4q%>5qWLcI`@t72OQ~ufAQR;xRJ7@D*fJCi)g-+ORic|g)67bP^A&{G4zKw+$8-$9C;29be$~rWxPR#O0~B z=@jp9J!>f^E-!U%(Z+a5ejO*4If_%KWBjID(C_{V)}!#dW957pcfEaD2}=jhpdswn zRkC&luJ^FQnu^QIa>*}@-_7?P#QnR^GExMWPhA}?hUEggB{OmTB3%y!EL#kEsO#J< z8vBatp?T}(V7sA|g?d=Ny|$I=zp+K(RNV9WR;%KA6P^#L`=MrFMcr?&_(1A;;I(m= zz~#P*K^$0`Cxuh}!*f`ex-TZpGvu+~aK&6nknFuG$t?oz zjG4Ssp`4K-;YK}YAH}38zhg$uRDU!)3ZVM&731Ilj(=7c7Zo2P_49Gueud7n6uvq4 zyD;|iu$Y7L$Ck}{h|68xI8eAAu}lzOKkd>jO0H9TqKxhFhfV$dBmeZn?+4+Z)DK#B zw@~>=vTueu9uMq+t&Mn`smto1yjVlN6R3 zQLB})oGqYE%?Aye<0Y{Eajc8VE9}{F53t|coWVHXcu6cr%R!>qJQ6tHqtXrX&e(os zj+YDxvi7YrW$!!f)m)5wx#WGo_1``IsfEi!b^NHj7P)C#2gV!Ld;PwS^9&JO&b=do z1@+jRifIJs$mcuk3j*E#Ifn`8>?bb`46y9kkZc1uLwMW1pEV%)r3|KG{i@eN6)bJn zno;@%&o@7Cd3y6FC5$__Xh@SF=UXIdVtM-^FK!n@Z}A~&o=P};i<&1CINb3(#9*I! z@(tH7U=>sOC-vK5svj$l@CxAaf;5q@xV-&i8kP6goY_j{-5!6J5+&cpNrB}+;6q9VOjWoGkmA;GjM%&{$u={p#y2WE*KwBe=q=c zj0=y?^kV6qs73Xs#pj*W{~N>xW>MEk6A-5AhY}i8o`3O4lDakP!{~1*=GhK#ZR!bMbi5>->6SJ;>?DQAs@D3I`flt3hvxP;X8L zS=(Zr6bRC#c!VbbnAJ0U+f1EiLdM@b&wh0fQ{93dF& z-dHK+GQjUHeSAG0q{8KlR2L{OIXg=}8FblecEZIVC3DLgQ$XHnTX(SprJ0`>p(KglXZihf3gYOhd7*4*0n0MEko( z;e7)iiC_cWj{@kdYv z^;8!vk9UZAuP%dF#x|#?!21V`%OX;ZUh1N-xgYF|fq!f_ChyG#Kh8~$O_|`wd^CNu zaJY@IV29pQfc80aD1|Qs+_LlK?c&*j=wqwgi^IS_HYYb<-VX819O?WZ2>j#si8UW? zLA*mY3>^gc*D|KF8mzBYa-6!+1^lDP@_d0o@Z)|wVBT`zAEjctma;$|xN4y72Ye!b z&9xu4z^^?$TDN2|@QKCu2mVpFfAz9tcuxQiS`)+sdxcUd2|KVqlx{fi82o3I#j~v;u46`zNGsqUKL>98 zD;4<1=AdNpVu)*AS*w6O@QH5kwIp?5eSUdY(pWpJ_dgM+=U)W;VB4Ysb8E0mcoUqf z4D!R#>T?9de`>JwM;iF|E#E`J1~;H z#kK|b$HZpF$_5x;`A(xQr}r?B#g1xwQ{WBHnER)^g!BEnN6MYw0`Ir^lATWq@Om!G z8rBxVxN__`)Py8C5GkVG^&H+iaMY{x#k+I{YWMVB{|NHQz>5$2Z;!)!3XI*#pA?Cs zkj(bxoABO&`8Nu}l3weg)Q_sYs_}|QF2<~28t|XhLtiWIkLn_=XCBs4;9pksiM+#h1D zg^ghUI#V!XDd?(!k7Kk!7OX8;*aG`rJlzz(%8kPNetM!=e*yp4UYZrD4t!b4!LN}a zz!!FU%zRzP-A?$J_`xe_ z(cTF7LZ`E0`i(OM(IIkcOi{Qdx|6K;*d2JgH!f?$KEQeZHBU^Ag@7NY2g^CG!~B@F zP9<9h;(AiC?7Rx#XZ@z^^AU&tKYWz0HUobeLMMCNLN!rVVxQCy@Qe&7`om%V5J{!!HRa=OJ@X_PxCwo(16 z5Yjm0ZYb8ugoBgT`-JU;kZ7*3_BtrMiO)*!$s)@cUmCX8$so-O`8RIn8lY}XWvIyKxg`RoY-dJxIHplBH zjL_wylpp2F7&VORwJT8VNXRqP!sY7^u$3@gzq1y{#aJIEO|7qf&HPIj<8zuPsQAJ& z^{M!+I<@sM?w&A0@sb*8`_yo~;%SK#|8{E=LA5*5dMf3o_=o_-yRm1V>%;x*(3MB6 zI}eDrb74QliXW+UWZ^f$RJ(x*PQZ5jK>^hIzgd|MwO*Tdzn$XM?&kDS_c5^f6m@@V z6Hj$xd-jJ9)cSDcp+Qj`&(7}+M%aJyk7P?M+g+Ndb#l4bS=9YW<+YlP@yFkO^O5GK z6RCCGSD_QsI(P8-2x{GbPWwCR`5DXSpN0K;sdiA;J@Mu-b-xDqk5l(uQmme8*DSqc zs-F{v4XJpvf?mtwdbg(~Y2fR1FWe%IrP9<5RR3@ZZ=>uPU;8F-JIXzu$Y6WPWqmx@ zPHmPrKbB(|vxKl@l%2eQ?Ib@RnnsmdhA;@w#SBuZxQCV&3S%9A*wpVo@=rhfeh~gi z{UBz`Pvz;tSbKFmPEsW1abvkrJ&PL8Eo=5ru{cBI9`0GiuIHsPeH76c&eI$&dwYA%bLPh$x{4cIsXBK%X^h?SYZ5FP8Y%w z1$-LD*V*@NjLMU7qUu^0cQ_J9@oaXQ6;yt>ubgsxFI2?-*^ew+alZH!(n94K_SxDo>{m3y zV;=T%ZM2bU?}$)2mB+1|hLmtUi~C9x{z@!M8{18Hy+GwZy_svdvCfs4M#atcKih@< z-#aUe+bts;+_1tO|Y}c1;M)8%kEBf2|tD4|!11i6pA&4=~&H>Y{AE;B=c%5$mN4b;3)P#^2TyQ+d58Wk-+-nl(`1jZpViqYChh&M2UKSDm$8~dGTTFp(WT(!FC-L=YYHIcYM9d zeK}OWH5wRE{o{z@sQJ>mFqE3#0z=;6=a#*=QD;7`KhP?)0AJ@|?Hy{~*nUM^ALAbd zm8khzdBL~YxLoVK1vP)o@p?ktM}Yq1f7}W1VN<{V$bV8l%u_p#^J48x-Go(myp-p? zz~j00npF^`U$EOJ1Ug&f(NUaFy+orggVM2X z8XM8)e*bsykNPY|3W`94Gi>ICVD1tDW-uQ zb%gid(~q-lGnng=Z?_Rv>%#@dKf?R9U+bTk03PR*<5#;HSYMkzed4KuI=si*ysAwf z@F!>48z+EI(&*k0r^JABc?Vyl)&qX9PizLAR{ISQj>Rqiw$*)uO9B^JheUpS` zEZ|?P3d_8I3ZVM&fXE`?%YGbt8Py1WLh|H^TN*NGRhNZFzo`s5ebhfw74WTQ?`~EU zDI?D#6Iw&izGs#4=M2ElRL#2#m$#>4KO zg|NQsY@XDp4E)h!31!t-;K`c9tG`(QzBziy-DhhxQJi1^ZyNArOsTYmcwIUvVO7B? zu(!Uoxnvvof7cAxIDt>71rB<`ki@^W3*#T8ofbS9) z4XQi<*A4N?xEv(Nfox2K;@82t^as5wd)uI0nYvBOc0k;ktj1;efZux85&8}Ivf=B? zt?Quv)bZgnINtP+Hgzk&k71}p59Y~Cmc(@L2B}nHC2{o+U-pMD`-k&ou0x%^`{A6P zFXy`pE%3hXoX3By{tA4VzDz~)H{h$}9i=nI;Jn@3t9-utz?XH6$m((eFXg(P8S$-y zf$X%tJbw=SRH%lP+dddqtGvwQ?@MtYWyMSGmw+c4%@F$mpv$`yRa9opJniu)@nFUmpFRl z)L+17om%R5kr!~ox%D2Yz)z_Z{wUiBeA#(5S=~zzSIIQVAW?{C$@cm=#hK#hhF@yy zs*Q@M;?=X!J72*6!{;Z1fG-=5vo&#r_jEH&BDNg>zHBp67#{%tw%&S*?r`4jtqO(Mt-ED-R%h}+i5ZB|KPe^;f9hE+Wu;9GjwVQH5FTr1F^=&`R5KR8}7k^V4V4&4%-Oxq-{B z;Q2S!F7!?%;BBNq-U5g}NA}10L;28dgNTtS@I4dkgU?qsLVe{bby(T!I@MXVwu0QYT{?B|LeeRIn?_q!9Ro|2zAtWzQ3ZLg&Ba>L@fXUC=fbm&KF~Np+ufG&}*MB6oTEGz5mc&|lAD2b1lphC` zotH*3bC+r)XBnW6m79~?9*LtjB@P+0d1fKaiOaicnkc@^?c$V0@OLI-x^FH1dzP_( zP+|qv9i^w>buIL?X{i^+t)C3oV_6%xj#|&ssazh2^?-_-5g^$ceq^|jpwHx4NBLp@ z<%-wO*xuy_@Za6+y2YcImqHJgT=l|sF&WC#-{UQBx8ZfG+N)Y=(I6RRTzV^^yp}6t zsUOxEQXeTl=db7Dzr)!(j2eRguiaB|JQ(Z!ciRI&GD7b>v;>@emv1l>bi^I}E)MkC z*o&I$K^7>=1RlirWhD<>UhpXSGA_6BJu&YD=xojpee1A%;Lqs+I75V8jjzwns;XQL zID^f?8$q>OLHl z`D}*mhx8<=^}pn zCLUKTlV07z@v)yaPK1Gu92N-UeyDv>AdCCCT`2M97SI_*du^73&bTbV?*bBef8I{T zq5sN)YVZ2hOAT>(`K~5)EF;|$my#ge+IQGt-EaI3zRwIT10!nPIq^=RKnw8cdsd4|77=l+UbtU?tCi17o!eCT&_{!xeVhB>y8@C=d?+OEC9Xs%n}n{knGMX4i~UvmuDDK^XC`kCM#^; zbm1(X&){4)YZ2CE&Yq+4(5tG5`B<+t@OzK_4JfKm`N~vrmMz8`Lc=AoWPE!jgk{2+ z59%byqn`H+u^byJr1D=2-xw9In*It!j911+N@IH$vr$DX_X%HNV*J#7cginYWQRP) z?{7{s!uT%H_tbsg9eZUN*3a?Z_Qz64Sa}t;yIIyj%`2Njs&IcW(l*_}{lISB;7i@t zoasy|o*_g~^G;2@D>W~areDMT!T1^HWC_xXv0Z9ANc6;O%opQ=G2ZxjVpx1WLFsY( z>{bwScZ8bXZ2yuI!+7c^Q++HsHMTFt5`Wm#??3WSKm2|W{z3gv)VY4N z0FRR`sq%Rs3)q_D@gVQ+EV`Hja_G#@)5k$F1h=jT0GV=ZaotT4hG}H~haiv)$JuYP zK$DxizgXXA#mQd`mStLN^u5|0kqJSzn}LHSPDX;_~k zKCjAL^`?zDcD74i68NUDU#jxwI=p|cQ=OjYejFmdYA*^ zEUG>qEDP_?+&q4WZz;sZbF#x~J>c=13LUP&S%XRui%`fQJZ43htu?D^n>E)t9>e`5mt*5z$mlLwSxe|`0fX%P@76Qzmm{N6^S6<0mL z>vfvft&i0Jz9FweF&WnD1`j3_i$h#uf}C?-0lq{bsmwNlD zr$`R?vH>&m!8O49*p=IbJqDiX+>gnK*6}xD53-DQ*W={O)K!50}cV;Q9KgVx;y2An18~1XF znmvT~TbfPt_P+=?&lCH=K76iiS;{jBSQl2#;W~c>)``{Dr#-ri&zD6Fd};vRF3gHF z;efaF{dO%!GFxPx-&<>-#flsc*hZ(YZDNEv>V=QnaX`44$>QbRW?-M$ICdfm{G2>g-L?btya{$4=Fv(m%X>Eb z;miK;W&d!#Y*4Y{0+K$l2{1Vcg%!_je0{_gju%yjEWIhJo(vY?a~-R75jl z-P&w{7kh78I$Ip<67A|rPXk}33O0_V$YKUNoq0ADt@lR_D{Y0q4uK zM7Ksq0AIEvI(nwtuQq}+$MNnB;CGS})-SvWeA&nY`A%El%d+lY*KGlQCn~P4vl#dw z1*z;zO*ltZa4j`t9pG=C>`&)_`KfZQwuA(H5A01B&IdaIuL^IrdIf$r33NpTfIrKv zW99h!Tm!9w=QsmTcD>?qSc9A(viov&ODFJUatoLTJ^_!FSI+D?FC~b6Eotie0({oB z*3pjBz%xB%9f*^JdE8Kf$9W3)d9o+#mnOuYbMSz|FW9egD~!#V3)ej%PE_PW{RKXY zE0W=RZDowPO!;BI#NG=|X1Z{$TP8SodMM1p(uJwp7Q*{2{mZkmx?w*_tEP}C=F5(r z+;YnzP!oyw7GAJ|FGlOM zr19Q-MyO{le4p){b!!jY5JKtDUAl4n({Lk`sil&LBW&-QmF0n zrD*?NX(Svttj{ORLdW8i--tF#qUuqz!Ycv_=yt&84ik443RR7`T=r!a+PG4hN9~9d zYVIlx*6wAYZ&Ieh`#R*%^Y-8z0U2rJAbUkVBG>@kGm1MVZzPW92>Cu1k(h;=HF62% z9?X}q(^E92!QY+eI~gkje{V82Y*;V_%iY~GrenOZKt&34_KXBK5sX*!1Wp0GwqRQ? z-oIX3uXA|@E@uxE<8?i@c}^X*F6GdFcNo?s8J_3#1TY?&F$4Qym>k~m3a<}7l5HCW z$zFePDYj=DE!{E=q=J@r(`>M3+?|p766&*m&KVK`ogK=1R2buHHWf*L9pj4VA_mA> zt}mzYx+2P1^80<0i|5GW_Z=dyGe<bGxU z+2Xid)7XL!aQ5ZfakyOw#d1*nbInW&+oLcQJId}0OH~lt@9iJO{m(czJ!3l7pYxSX z1<5Eo9L$CB$EkJHd8(RueEhh)WQ#2~#`iD0&VlU$mv}yceqwBCn85aIX>NG|jBjjH z!RO=H*X2_9vAwyT7v-ntf%7=@4}0ri428SCJWjp$OwL7^dLOA8tN9a@GgP1U{lb17 zE?H9N-CmgUaAN;eYrXie|B&%A{601IeWf!v9(F}85AJ7%THNXu>|cMuRR-V;6(e)1 zKQBlqUBUhs3Vs=s-)nOCelwiZ3P-WN@#fD#sK+oVaiyNK%eVFM{bd{s&f@?->}l&f z@pajnL76-lU-I}NetsC~p%$E2uM%jd`h)R~n_6#Gtgqz8xCWOe#dGE`g>bvritD&2 zKV_HoxNtfCu&LjF%f{IXY#s;FRm==oioXW1SC!&JUytQ+4B^%yxEet7(|FCS9H@E(;H zIlk?b2AoYSGotcTuICJ#Pte)NEGo~dUxJC+^5?0@VeqJ9M4(PekyN9G7r50oe}(AotiIP7G&Y}G7K`g@Vt)>hbZ9Zfqino z6X#)e0I5aIAG>(gP6M3bx^OL(_fKw+qUI&RinJ~q?~JdrsCXXBl~L#Hyatkr0B0xe zKZ@r?w)${4RW5z*9W^fuyJ%9^O=d5o+Lhn!K8)k~{ngDa*^sg1 z)B;@YyTKgiMM)dg#jXVC+PR{5UxVJ33Uwyv`)+@J>;kgDx@oH>F7KbU0RMk`;7gSu z=B?ZJ)kkTN;D6>k4JVKeRX4L(7{9!`$Ov?;qc@Z=uJ?>@qd(yLDjwSyfjm5SQMEhZ zE0^2A_cX(C-%(5Wo?m#4`O6SHU%=TeP5L+BPMVk#-{Unu-kmKDZZOvVO*F z->&94V+r6>;`)#40$+A{;El@sVF9$>V`;~>R#=ZkM)1~C8T93J0rx@RyCSrj3p{XLdtWm-RC^d_4N6Ee%JMVet&(hcdn~*cfZ!X?ltVa*E(mt z_Pth<@925p%W596)@|me;udW;_Ie9-$A8pT820rt6y5&P2A9U?9ol`kTt^x|CjEU>g#-A$i)ZS-0ACg}AwBm9tT$wS zj{oWg^|Vt74yb5{^KN9{UAbPMh#x)fAJ+l>P~VZ4%7p!_CaW)P90b1X=jB!}7bsVA zajmHjg8iI^9s?hUFS}qt zPtJgS2OV?pfIGl{x#W*;J&Vp8vgsdi;pD(`hULHW0q^tqq@GI>@KX5rEK_CRk;WFz zt2zeu-aC%%R)Tfd2t$jd-(ml-5{+I%D%j&UF8U?^g7}X9_W>_p{rl>3YWn?nSU)@% z^?WDrS>wEYHMd~B`hn_|YtLc*@JiVRL0{mvQc9o6`2pVK$9X;t_%-QN-~I03Uq;WR zcpCEEN|G`A2)vc2Va=6oQ2(efCyzr=uWJGcMh_Cy@x^zN=6nRZYc(17_`u)kQsyTD z%1w6;n^y#U){{gfGY*JHn=yYxp9S`Osx)4--&zet*^dr>v}JBQehc+KzGm7t1>(y} zpGu}$_o?8!d*fV_q1+V-cMV=Z{92C8f}E{@i(Ox}r2z1K4vJ9&uwFf7O?_Ymxbyml z!V7>G6MUt7odf(QIFt$@Kk?Uz*Z2PNWqh*(d9MAGH1K4jhlg0DaK2kW&imSO z;FYe78mn)I@xo3~KqfSYf@5ENiRqu(c*P@u-KYHF+_f*!)wla#5suqHboID4PQ9>d z#TVd%q%#th?2zKXRVwvYr2|jY)OY8`CfJWLb@WzYG>ixO<60pDz?U7l6?(b<0>rm2 zZ8uK_UTl|YRH`Dp&(QU~LVF+ZWopSiMzphHIKyo1f_G3Zuba=z82HyV-BNWI?B{NZ zc=ZK%tHAc|?=PNFaBH`xXS_q?pdIvbXW+}8I4iz?33l9d4HfY_A5d`C=x$G0(wA9@CS)`7|cl1vz9u`}DU z68cqelLyb4ZcuJWf$i)T8;%neAZ@$*EeN|%dRLn{&Wl2$K6?M;|lZFF^YG5An;Dh&i4?r zAwD;<{Z!s};LF;mn!og6pT_4wE@tJxXI-`~@%jw&SM}Isw{=>AxM*Hz&KvOa+Ia*jog&3FFuM?x=g5l){Z_x?T_;bnq0dO_sBs zLVVd^S5Ba(6nsBD{9}$d4bOC>iCRXA&v^vi?`NJdB7)GELW)U6c!k^X)4Nehs;SDd96;FQee z*9?#};Z1M^oRY?GXNL41f!pRtI-3h<0L}=!LH9uV&Kx_GpZRGjYZFL{*3Mn%cQQqB zEgxC0`nGFINPoP$8?6`OQlczB4D{oXJJ9ca#=L|SvY!4cVyppY{fOrYMz|>N0xyuI z_if8F0T=e&IER(~4>+?nUXEO!FbvGq1)UP#ucQN# zF+1v~C)iQ8nSCJ3^PNrZtH@lp{W|hP*~fW`j^w9Li^+A6D|=klg6>V32q()I*R&$n zYnz^!kk>28#4{M#Ysx*e6+fGfGmK=(;hkTwc2Z;rA83;YjZrR44n%{=;1b z&?)KP_bmrm@ceq7FVbJlnQesZKKy!SO2GA~T(M^}(p}dtw*j3Zx@|Ga&s3e4>jIKe zP@8`Q_*N%peR-*S%PFbYY4d`y!!dLHImQTE=dE9Q?%U4=RQ^as2kwvp_O;h z_&}M@lu<%bP*5NUB&+tvHne_9;Yn1~CO{g{jLvZpxi z;rxllhoCSa^!zhNePvPoS?5(_B2l{c*ILvraGb^sI&L6sOpZ5=>&#XH&KTOSgyth= zxO*qrJ_r8IR)FJmTKwdAOTF5xNZJt_(749<{%UF?*yA3r8l6BguofxQPVb>X=|F_j zvKXkHcvij?nnwx(#sg7(C<#F?(7Z)y^*?9`lA$^6uma)U-LF|tf6CBMnla$GcGgW) z4@%}t)IuZ&ZI+Ys@S$IVXntahSW2LNro7?ELgO~&+1M=9FBF!V|9q5wV|Xo^S1H*i zuG=8|MDTqy?lC@@caVNIM-vW6|8+|iT}MjF>vl309+PRJ?8^BW9dFqbCiz$806<) z`L`c_-w6MpexQai=S0JE;jOP)i^ef#w^TD4k0(BdS?vQ|c3Qb981#ahG#2{)8+r0X zeK|-s&edy=fQ-4jH7*?_<;{YgBm%berbNjXfgDZ?wJruc!eqD970|1_8aSgte-?YY zA_w$J$>p49K$f1}voRTP9zV~xLeQu0RM=bs$ubIZ*#bDF;+w`Xg2Kpa_VKs@y1dJ_ zrPm=nBe-bxRgh=SzIxIKQnJ1;q!Q9QCg*dX{eM3XPS;RR_kR#yrmF?JBEn&CItFwa zjjs3KQH(2b~6JzW}X&WMcu%lInlAuYJS4cLKPR;jkD7#FvRXB=jl+FIDrs z_Vowg-8QVgWswa$RQ-er*X21~7&bL&GXU?gN1u2;mI(MPC-Dg3Uf|1a&En+;zHCFP zBr}!^&NX|jvijgEX}om745!gDI7emf-3)%ft&Q54Ps$YWO}&A;CeeP4W>M^V*idkk^Xu*Drz9&?6D?qs$ds` zyp!E3_^b0zK1)b);CGv6xhsLajqQl5?F9bv!yn;t>P*tuNiw>lr0tIDcEU;Va;kG}Wr)27qsp9n!-@U>$w^ za?1s0fS)qk(_t_V;^SD-lf0I|fBABr_4y9|55{tB$c6Z{;3!_}An?Zuz^$!;7i%8R zHbeU@o@XddRfGLLk(eK?z@r@*_glvU@f*zWJ331Nf3bUo;Wem#(ISo5Zs5x{thdtO zgLUSukELWPpxm1_je%c*FH=`Yo$m?wuUNfxmjM6teR|^{@MYF_Zl!Yo?kyT~ZZXu~ zA#2Kc5!Amyz06Yp@GAbFw=VzX%l`6Z|8TyHqtCox<4gEa&L|TpmKcyb&pa*=ALbWyi=qLqm>M_0O4dcNTX?3-nU)s2QTI#Hbb7HvMqTS}j zz>C==ewD}odv5LdtG~y~;g@eS3ip?b;j87o4y(>+<3^?ndM?28+p}d$&{^Q|6Zf8> zXaOH*V;a9I2+my_EE8Co4}4jC1FJ3v;@u9Uoquox_%gGwsGxnjbDB)f;ZY_)5)?l(mHY5@-4Bx}XB%?2^%6 z(lY}pIM)s}gFq-Z_3@1kSs0&-jwW%P13c-f_a-mk(e@RHQOAHU(|Bb#kpbh3hRVYC zw&3T+ipE32;6JebnBqyWms`(y8tuoZ?7hcies>qf3Sw+Cm11E#Yelugf%l0~Xck82 zjn#|qrnD)uuq97&hf0Cp8N050L>%}swH-slN-FSP%I21&TEMGi{BEnl{M(T7WXxEN zg_#W9&3^}e)W-P_%!B!BTqHN#R$CC)r0Opy1bb&L$3s2vK1|HB(8_sGjzQHT_wNv& ztM8kqvP=W!_x7Om@8Nu~)*YAM*aDBXZa%N`ILu!kEX?oJ=m_GBxQibOfrr|ygL~?7 zvak(CR?9!ayeXTA8MyE5YZ$j>HVDnG2EI&x!+AC|vPZNECFQ4Gn2^|Tc_Pf4Y4hA3B|*Dl zU&P$f2EMF6eb%f~fcta>e@=sTDV&bl^#FLgD-p)|8-W*#RMu8l1@)O!>2_~}`a7tG zi7W*Bt?S~$JppI)TWtB4FHkH^MWy+d(c z5VuK6*x!Km+Yei3OE%8t``9=;{%iKX{Ik>9_H6%u;w%4E9vf%-Ve4$k#)GO82JZl0 zRwMppWU^Zb_TkmZdEKRh&vo6rPYm`~OuDned!wlkPL&7|mIc1-?)I`5;Xj4(s>mLW z@JCX3&S9#r|CkQGGqhSh5K8z@krqP9>(62wGfmOX2gGrqkul!-1-kgbGg3{yDkAuu5WiLfD=B<6&#W=AA(Ahv z+u$Vyzc(pG%yU%uy-CsVjgUmTtXDf3U&OCGA%$=jmMMy4!EC1!nX+QxG2cb0@?z*CpUC&$Hw1oDLFw-+qR9NW#O=^}BPG&Dn6#t#$3I8*=@%E1 zaR;{V`N;kfUz9}l^Y$4AB3Lho z?3lh2{m8H4>lTm1+og&PdciQdqKh7D}JE z^V9(8KZKVXBZ+G?ll{dxUQG7G4bvtSWLGdNbpc9$FfvHCx9;HYbB;1w){=PU#VdHwE z_5{-Jy}!?a^rE~(@;;2*x0Z}+0O;>}De46HW00SJxM|iqQxiSHAZ2K*8e3%N}Mvk|+)ME%CaQ=)pgsF<6x2ZJ~ExY@T@el>lzCr^H2EPsSNB!Qp!CoH200H1pISruPl65|fe~R;-;3eaq<_kmBPdRdVzxwstY?AKC(#hUGhK~la~EDgh8_!H7t zx(nfoaTkzeJ~kRa{v0Fqo%VrF&GAY=d>S(>JP`5U)Gxt~@u1`Ug|B=;7j8CJJBjpY z!YLVKXIN( z`ws`0p{*AGjW5&DH-Z2&9V1;jMBy1gEZ%?O%iLY-J`fG@joB}7CL*6~tT3RKPj4;XM>*U13hZ*Q83 z@8LeJh%a4in%@KMy_>jZ{v%1)-%9judKK_x>P7==A40pHEq=HKBjhe_$NV;77XVz|QZ08|-GD`~ZAY`TKyQ_h8?zc{PsGwy-~;)sU=2 z6!2NJP%iCZ*r)MyP`mmd@JAM>ixTu;J-286-DSNHM>b}AUfC7+GMlUp?z^xayUDZm zTA2g~-u%eCH52TQiZ#yarf}fL#M&?3gLUSzJruh+z+1iP)i<4j{lxARB{_UzE8xM6{!L|*QwQ3b9}*n?Mz6f7Sz8=uSJUm=b>rc`}I;GQ5|2Kkpw%u$>Bn3 zLfdlyPktD=XFJ%3cGKsf^VhtxAC6Bzy13(Z2VtncP@h;w9q?uJ*I9w}5U=szo^<4W zDA)L>xc$s=h)=1{?<|IO>5Y*M^SofaH@hancPFg(aevt})(ZBz$)gS`;AhV@f65)` zp9XHJbDIG7KC-Q;|Ht#-WDGtH;WhD)?jlh>#WS>wihUd#)%(K8& zo&)Fes(*GL_^+>aoRUwnDfo5I6WCE0e^yD(Y|jNhi|uCCJp?}9BaN541$Z+JjX`z& zVQoA}XwC_XL^(XcY@M7GBtz3oxNxrmPE}GJ&6(b6CcT z0rijmbadrC*pIQ4a;Vf5;@$2))D)BgJE#3ITm6#YoU+12Ckh}=P1>Q*;tB9%vsKzJ zPC=a9)co5bKY>THzY)Qpfd87W)Qrn8{;bzfmU#&EcMMZXd<%Tp`9M3gUS z5z5t&eV>B?U#5|CD9-=A3SJsnb2te0W0VjXmaqrD%v=0*)oN6YH! zBhWu_w+B{TgYhb7hrUic@MTmkjo0mP{uf`p>yaf3Syy#>uCJg#aIvm6zj91HMdl?(6d#O<36K4RvFJfM=|oEb9P1XjaU_j~2kMsh6#o z*9(61x`I14e(A#Q`M9>k;73MlJ#!}u9@z(HCW{D&DMnUeLumt8Gn>d>EbVRVb=<-Wjw*(Jt~#zMO$DrKX~ zATDl8?XxTgz}uqLxHm#S%+z|j&x7v)u3KuW769%f-m<#}>SOYmlk)}Cf9uUd(N6(4 z<2Pvz1ba45#+HBivcG&8+RyM$UX0B%{fYli=gTHB8N10+Aw2TuGBFw8%Or$y3lkx} z>`SFb;=p4m+-Y@e;kz~={NM=*e+Sri(X6K{AoaR1ezN$;PlrhLg-*4dTa)O_RAFzFLtAJ}EUi`4hv40=Llcp)IiEY!xb@KLmo+w_3 zFBmu@&h(JQ-J(O^ACsixwY5p6x8%if_l4=xZ@MIKPA4mo9i?>qGD|FP)5s!R#B1KR zP2g{XcgcXXkS=~MZNu6kkNNn64bc;0zohW%)0VTocanUWVPreG51y#*+lBDElcK)v zgaJr~j}SK<>2tO6$o0tdF>}N}FoJ!$jSyZ`y%(*&F~rnLmx81`_4krTxM81^E|R~OR zbZ>=6fsoGVqj8gdTZ|5?pmffZ`)J(_FSu~l2_%Cl_Q3)qQ<-+g79^`yQq2pc7dlRv zA^q9)vQ0>zeeLEN41VW#j*!2<8J`nI$aYp-%T)jz&k!p{>vuT4%^T%orih$ClCkK; z3w@B3?Qhx^AiU&B4O$PNSQ1qrk*7NmpT{^F)Q{G288`Hp z!CSDIcVLK5goq)l}nM0A9#$eL#T5Qy1tam z)v}90GPusZA=ihqE*+yGyZ7l0awxrX&;hlp;PsAvR6d0`T1NJ})%gJ}l)hgoo?KV8 z(VeA%^iuwOZjcO%&K9y?vT~o2<#6O|wTApmyZD~WCfnaC zy$9V_xaoICl%H{A-WoDLGbXPBW?XyV9%)3nLFArAn5}@P1 z&JLpI)K+Y>7V;C^$A|nd)MhuKam0I(!6R}Uxo!};7W4u=`{f=43`?}_AJMqrZToH$ z8ZQ}{pU)wk691$E*)g}xS>TLxog!0myfbW3RU*J{^4kgWInV5Sg~l&Nz}7G1{9!Qk zl3e$_tkbg`;ca@hC=Q9SZsg`hBtP6!L+vcMBY&SP#|)0%AOOEMC(8<@y9Ep{1)Xxz zOFS`6Kd~ghPfl8<9wzs?NR#W=pAU>!k4^Wf^f<* zjg`v~p6ru_cqxYE^Y!Go=DL%qhSI5=@8=?E>mMlwb_{W6W7HnXQNCfs=P({K1kw0N zNsOqMhja>VdHxRS|Gq(K8-%MH*^&M{eI=DqIwQqa6iMMNEptFJyfowVkzLVk3t5D- z4qw$o`mqW^5$QQBC6X_5=?p{tO4-Q_MDqZH_1z53Q_QFthYcVp5yvaY_T%Ysvyq)a z=LNF!1B* zHp!34Wk!-vWf|FbC27M|pWs0qw&{saD%T@^H7gK9F_*{T=sEC%_+r{QN8bLH)oC zy%`=(J|C+2TuAQPz8QUAdoZ-^WGYDOcME4_fK;81R@@9SbGzl`g9Pwf@h*4wfR2k^ zOfo|!hu!eC#;F*;Wk=#qvNLMK34m;U&f z4*1x$2z(#taeYhrDnT;qZG^T19@HnJa}0Fnv86f}AkNJD>Y}+3a^wJ@Hq32_fB#_{8Ym8vvvAB zUDy!UI%#>p`(;a7Tp_;fYyKATAH|(mwanXl{JfBJgFi&2yep;ryDBowIAd z!#;^?ZaxfNQ!N1T20Qi2fk(^g;vn44DB?}a_lm{C`|ynhg|eK$i`hwe#BA8wiOG7L z8omwtL<%hytmcMtU&cI&dwEL$zmhP>!%LIKcbyI%xd-c+8pq0`PP$6ttCU1#?VY6Y zp=&+%8>hALj<)@&KY@?i7*cf85Z;q-GSEEZ1bo>u>P&6TMK}*;!KZr>Xn&_u-_1n8 z|D5(M7uuu*aXDgJ-)@L|Tg~;Rasjl9r7++6F!ayQx5tml0graD>*0%wbD%#DC^OZe ze{#-^Ua^Mtx?43D(geXze(qg!0pQE--<`By3cQfX>snDC;LFlkG0ks*&)T*2d{aH} zUArD|Zjpd>%Y75OY~BE0)-F^uXCc`4`M#elNBbo{-BXA5Gn}lyY~l#K+vVr`hT_4V znft6lAI?8}Qo_Y820WKZ8UHtauxEZd>U|sZ_tu}^?0|J^t1BVVDX@O{yrMO0EAVBZ z-2u^35RbNP-Sz%Q;HU3yM#nnvALNs}ADtVfR-AizIjnQ?MW5R7iJJrW+r%Y{zy4A!1ne*QPddDT_2@XIle&wcoGSA}B?{2q+QJl# zJ>cJUU2U{Jq~A=6|DgcomgTOvmMXx3@5#7Vd=A#L^E?vE(Yb8x*UueIf%r0sY=s3` zz<)VMeAKuBaS*S?gC|)KzqVxV{-YPb{z60Lt~#)n`MFr982k@!Iu+szcwj|x%j3U% z*7n5Ji!+Zze1rXO2WZMDH^ZuK5DlLUMDJYCvFj(!{{iotseNGOyfP8 z(!jSBzBjqE7siw2JdfmV0RL6JX2ZxP(09t1oDl)OtoH)f@&~{xC2#q)>O-6yzBaFL zF!-Vvo{}5b-vRdD-Jcow!}BY4?@Mej#ErFDn4gLT-s;<|;)SBHFJxkqq?`-zcqi_b zCB*=LmpDChU^e(COy4zrh5Z=KGKFmC!#E$aqxSB8;LB2iboR!>Ic%#p-pzOe_6NiE z)&+q7n9EHH*MM)g6WcuZJ=7;q!s+8PcrPJ&c#TU5j2qdGC1(l&ml&^4;)QXrZJ|_U zA@E<<4|c2-f%&Ce^O-&s@*8i;+j$1Yr3{zw)^%VnZt6R<8vJWo_ugy(KM(Ta8W(-g zhWAk}Z5934h0Qie^%w=->H7dR4#j_I7&|9&17EfO)4=)&NfuUnu;rC9@ID@G*6xHAB-5o{8qRcK!ty+YHPF5vj{8gYLc3xY`eYTt_lcGs4cB!I!?qo7I z^ba%a*Q33Fzsfmleg^op#Qn6`6wqZw=5#fKYz?V#-wpO`o{TO3@@0SdvVRg^cHWMW z+we{ZZ$4UVQgv4dPwx1j@D1X~j_aP)v->QCm(+h>dB#8(j}T32_UY5XbJE5%#qEUg zozeSm$4N`$&#c1jq+vhCD7CH!+qI?eUgm7wrCL&W?DeWo`#5MYU&QY9QCooT+^lQt z-U;UgXSygqB6RW3om1y{moCJqV}Yl*w#njAJ%>JCk)Y!p*L$jTbQj`$AC@m29+bc< zy&K#7_t5dOWCiZJY8kxY=G7Fs`~rMX<_PXSR~Of%^;xAP%)@ODPQ1{+BaK_$|1KN( z6!B&FJ8A)1Ph*T`9asgwJ7srDZZZc+(fZiR2RO^I^u=1x8PSqu>Yy{dmVKgw6qY%8 za5dl*!uTWNF&IzmRS`~QR??6?9=ZOE4#G>;-qZ!@og~_X*0mV7c2A>qJ=T0}3tJ5G zkF3|BfR0=A1)%j);f^Dl)_}BdIYEsCNgWKf_rjoD?s}gMpfig7pQ3fX^g$jMcaYu} z`$SQBj@va-TtTubD-R>Ppex7PeL%)_$x(tp9@*$IF9T%3txwtOG4Lbt{B#IN#lsvr z34k*v(&zYsWTg)H+kx~>I72~_a>j8FT7Sgz4;QUR`Xc$=XuXk9YQ0w;q_={m5vs3j z(3f#kUO^=#*^-nIqNqRLzZyRg4w8~m_ztZzM=HMPT?abj=hYl%BpDwY<&f+&9&ki< zxPtT?4CI>qrl_AB-IPBgd*m#qkf=V^Qz&; zAbo9c16uDbIKDS&3*d}JWz0I!Lk$xhRrrS-xKl)>kpMT}we)xSO{Db-dcR8cF0-g)zsVCdf^WyC^c6TM{ z)dLhBSCA~JeFtnndh4wUK+mb;sd7;?PRrI+nOOnO&=jAbgU+Bn`pqLxoi0Woy=zu)Bj+`n6NZA2&NQ+4iQ2&` z&zL61sg4~XP6&_4(4vBLOf=9&{XrR_{C$8(pZ7o%{;X|)&z7sS=kHW z-fw&L$#Fh`{zV3Kh6dkf1te`BJwWZiGqk5ry>XSo8ZT__!kc8$RJS|I6r#18b*Ela0^Kr%%Vnw&v0UQr9k?+0$48EAf| z>{t$DPQY^7!^ovOnJPEwY33f|8}{oDj~UJ|gc|BNZOh4%wx7>7+kZE+cJ} zUUcFf;>EltMrV=N`;LDuy1tD2UwoErh=k|F(2ZB zQMzxZfS&I0;_VrbN2+QyGXVGSl;t}_P?){8U49n;KkOV{a{};L3*ts|K-aoZsD%7P znuaes0yu8^Xb7Hr=0NblMKyr)OeQ}L0(^?cFS-Quoga2pT_s>!+ba>vE`nZNS6~+f z`mPz%De%vbO27E13hdofSGOJde~&Li=W_jz;>+l|IyzK+ICYJtM{bY!-#NcbpJqV) zPkb3Vn(W{BGT4fdPB$>pH!{>SqEV^(=#aDjk}&(d-wTEESN@(^{%QSS{kz$ezw&oS z{L}iu{$JPsKS}oU@UPbzDE~=LW~Li2fpd(i+yuRzaR?!*|ErYgjNC%(NnBp@H+RFf^Xt?^&qi8cA(4&VZQy5{4Lbt{0E-a9YRXjWAh z*6WqJOBw7{4~ITH{kRj$?as&wg?0WFl@G)W09ThQ(03UZz`reue<)7_zFTwm(2uiFAB{b4!@o2N;KJrIv$G&>)Z^6QH-b;Jam{E>iOzM>xMWk< z>q9G~anWn7NBoDh@wLv{(Scc@XA!Z6Whxn9(0t(H%lDOAAFLL@oA|S2` z+ncfS2H?cYC9~xwDEQ)`S(lX|u4=`c&2uw=hsLEun1#T*|Dx`zVgQfDA6pzt^Haw~ z2bgl&z>^DH4!Lj+@PW%4R0P5PvH7!o`@w(Y1D;olfp49#C5AMy-cmwpn;m%Md4Aqenm*L@1N zL3@^{?crKzAwW>K^mO% zj#34_hkb4mTe5i-T#cVPWiawmsYbpZK5q%CY^h?bwoyv-vKzWba!S_b)#D zPyEkw$k_Jm^R@o8|MMI&wmsWFTe5Ms|37iIe>TqE7mw|qosaG3cRR)KKXJCsmTW(4 z|9|3t?yLBxe|A2$A9nsfakkEuYn)CN4di`TZP$H0px=H>m|T@3N&q67Sk zfVbXVoMW931N*8rpA4$562te84WFI`=hRjwxd%zZ^KUxMxk?bmrKRyHQ4PSmbB2WP zya4gCvdij-S5PkzdASUcUs?a`>ZOMZ;8xQ>}W_dtV56_Z$7A z%~c>BpPO*2LVE|xl+4XP|v_`orY! zfFJo#7;X;l6-89qG(3m#M9Ho0Tm+nhxLeK3e*@$%YQJB29PnF%WrLr9cMo=Ro_g%!MC|HvQs=HZtoB}#!OPi~v!(U=YA z8U~~;u>ySI&54znz$>Rbwtc)*jD_tR4(jLvUU|gzg+qm&sqz-yNGe&E*G%x zZQM1a4DZv~&;Oy+2t58V zSG7Ecxsnsg|Nez_x)AWLqAh(Mz>7-{Eppip`@@PambsAuenfIMKbMzfVbW+uH$R~KXc;Jsa?Q}C&ZmFtdwA31Lv$FPeOX}HYo?RpX_QnWBxa&pN#f7 zS{c+U)}XX|2Jiqzom(jMk6O{l#rUoCFY3}yWiSq@yWLI+i&|lvD zfA8PQ9v9f-2YY<}bNpeC|LpONosVtL&i^OQ*4dJ6&z>*Yl0Ck$=ea*|_WblG&YoBP z#Q&Us+5Xw{7rPub&i4N&&i4N&{^$J5_QUqi_Q%HAI$N@FwtqIx9-sf5f7$kI|LlBh z{LlH9?T2m0mTcUtWcOEF9%20TsBa2?xe!iQ>5U%h(7`R09}S93Na2Zrmxl_)gz-}E z>B((9I=I3t3vbItAw2)qEescBy@?=1$c#Q)$xpdviJ&f+Grpb9j9ls zd}4kR!xsy^OYY>8#51wS{VO-o@#Oq%A0uwU`!uWUrT4~*;gpNL*l7-3{Eg#tOz)&H zUbxIOcDzCck0|jYw6E*puk+hQ&K6l?OSD+`s;#96n>Qn8Y{#9jwS_I~&h}amp`lD2 zF%66ev)7DC(Qw3;w>R?h6zgM}xmnvjHtP{C%a83Gv$G-A2DW+0-BHN5GzUlU;)5V(5z2-B9h0(C#w~If!s_POD#wC75 z_PP;vmAl)&^OV}nY&Er|*p7ujb`PDJolocaBLH_@28bwJxh zAA4#&qMmR?ix6zc^r|RxBF3fp@v(jN)m> z@z&J<;}tZRO!uP`NFo?ZoF;dev*s#2V2*>H-o zz?g>l&)Y0a*U(+88b_|zObE*oOr^VXHlmXgH&BEeU0 z)0Si05h_^{T#iJtZ2N};ryA^mF4Kt>oR&{|gl&kgPU(Y^TP?7h^n<2H7Mo%A zVJ7eE@^r9`yS{LhU7%u%6-9V?Zz~f0(e1CKm$+chvS>0Bvdf8w0#f;JY>1u37QvAqxjU~3iB`v2X$Pz1kcLawTJ)<1rDkr9|jkf0t9wR)gK5WH3`-qoMeyIjz zW?=h$m$iDb&JYi;yUw$_)kn0<{5-VN^E77vWy>LpmOSG44CCY`+kV3Mtl^QdU#AGu zsvsVYmnFod{R`FTg$b)$l?K4EuK{37Dy{Cy5#|+68CkKg-a(q9kuV-WG?mxoB z`YVa?&JdgOpC1XeqgSd{aOPlfHm2G8SCtVtJGrRp-}(q~=juaRL&XF=L+P@0Q#zIy zs9NclEQM^5YrT(R^&3x0LQK-hSfV zHH(UsC1(lGcM`967v*9Hd%jjAO!pCweY%rSlxdaRFN#=GsT zJ#h?+W1U<6^Fkh$R&JGDNb4g~E_%FS#2hD*C`+xqqH_uERmN+Ixq6A7T+hy{$xE>{ zw52ms^9l&gm_Y3E`F>)Q*VS~ZP$71)pVw?xdLfZfI@{5#tDg{6?R>c?IRFz?kDs6S zrGgNBw(8v?&3=NvsQvYdo_xXuvzHDw*^DW*s7hw$^%Ld+^%4ONUYPWO!^%Qm1F7=u_AL~q(3@{UN^a)WoZcsM2>*;HKoA(ogK?(-5T z?Ip0K^BX3f77_{mvUjg%7h?{eM1R>=^b=MO%3oOKM-%?%-t2rIbpf-Om-%#$>pS9L z=$((u*3($MWA-_NjYZfFLOS3lvzO3YCAB%WaVv5BcKiHgk4|Gj(KFomtzP1%Y53z( zz6v6#cf=`oeKaQW?bm`w%KbzdvF>w+>^_1=ZF)OTP(0S!?=zjYua|graIEi0MlKfh zm3NDS_eKmO#JxTp=_Rgi?TbHsI)qRz3&Tcy%`n@5ehuYsfPY#~kzZgz#20ZMz*KO; zZ_lI5;?LHY<;Q%5`<>PVeeY$S@9CzP7Dw&DB=cq1*%jH^9b5Yvn~b_O%a*Ui%rBjO@;$K?B;7TELdP~TmH=9tNyGkibn z%&|bD#2;qevx$Q@-z4N)sS)NYvRgm z_l)K56bQXn4GX;DZHbyWM$v{Tjzo>kEQ6UaK}_ndZx6by zQzAs-u>gDeDr{9>p=tLbIjn!F#0Jw{qS!(8u^xP}754VHi=EM!BeDJhZ~WC`#)Oyp zbWF}-T}-Zf=88(vTH=AxjT-wBb)xR|vjdFPtFZvFv4Q5uUX9&FQBsiQ1im zZ$Dn56P;%r7Ph{Y$G$k6J}vF$NR*Xq$eub=ie0Eum;QdT5-Z=J@M(?lRc!fKeDda? zBJA@P@lRKrny|i4;x|oIo?s5Tl|R(NE)iF|w?5T0zK+cpymgRhx{0Mee)Mc;!G5A} zL}Z|8_65w?ctT*=p<+zUDtor4WfL~$@5pBvScp}6G#%r=-G=3@4iLr%3NWL)Wg#j{ zE?`>^&8qTv{2Vi8j^l$z?-T2c`!%c-%CVfXO}`>uJjF&S-#+lm?IO&aN|_oy3E26) zIQQ3!`><%qhO>*0T*a2WD(Khly+S11eo^9B4 zW561-s})!gu|uhM{T@Qme@>{8XFevfQ#5v9Q55zmw9fO)x;;c+)TNA+?ZJfA*_bE% zR}T^1O7Sr}`nO|mAMw-=C`1#ZnzB)|hPM!c5~ZKZ*2fboSJ*f@_;?cY77h0DA50?N z-!j-5v>=7JxzX*@akWuQQ`IuI@!mROW@gT2>xEeaFLxvNUdd7HTZsqLVMPSC?lAw# zTy1Y`Pqjy&+Ly1`BX#*2Yr6wjz1!_q+ha2^^Oeu+)<=wDc^uf-r&sAj+vUP>wN-({ zqGszNKH4bO+nct{p<)|mbA`+A<+wNI);Z;>R6B+lTn$+z7M+OIE!s2WRA)jsyZjVh z_WB#vUN&_;MD-vM?fYx0_V{Y-@Ks9qw-Kn1e1Kv0hB)j7Znl1R=SJcZ*NZ+gaVYnI zg?{s^2qJzyOW?tdRoFKoTfd<584x>5JeC^k8*`b7IwIwAFDiIR+UGO^0R+r{S4S4{bXx7#}X!`RlXsp>&S zF_?XQbAV&g4e6P~-y z=LwaV6K7^Ukh6b)VN23PTG~c+2`)PqnRd^$Si!)eFI9rBm}zi;-j?CjnEhpgm;=lW zn15vSd8Z{P_Ey?(3RvBr{t@rD&P#0Vp9$HSHD39BbN2Rip}!uq@Ibw4c(BXZr& ze~If1z%r+M#T8%rVySeCwUS+a7)x|?W*8f6Wbp3dSh8j#@y61QTX~lO7P9V6{@fg2 zB6Z!{eL`A#*kZ@0^$vT{`;~wH{`SD%9{Ae>|Nna68Taq}5bwUx7X`P+M8*1R$o`*C z6y+Ws8@ACu>c0+zN9n=gzhmI_^>q#Y^-d4O&BsLfKteP)m3L3@kPr6>^Y;M7L*6nN zwziE3i}rx9c@O!Jtv*qK@P7!h_W)0R!M^^a=B`VFAbVZ-2QR9Sj3C_z(v2Y92-0<^V4y<<3mqz$=up8%hYHSgsNfCW4MHDauS10l zI#iTH2j$Q~Ido7C9h5@{!2`r9UYWI2j$Q~IcO*c4dtMr95j@JhH{{Hj^IdG z^kD!yReM6;{dc!0&^MqP&^!|%qpyExD7x6NlYti1z`zjx3=E(GhNux#EvSQ`zb3q% zr6KFCN&XLt{Vy#4w-K3z{Gb_VQ9aQ;;p-FX8yo5q6A|^V{S)Bwqg!E%Pjn<%cb_Og zV&JwyS6<#f+&4A`{zoUb(vA)e4D$hvss)`O@9!5J5CEEvzb5Kwd7se02vFrMeWGKK ztH3~HEAO}hDZzfhkrAkI&~x&^(P92RQ79{^L;EB${Grl4g%%(V<8{v8wB?(=m9>V(eSj$hq4Q08*KI2f?CT?XD7Q;wV(m) z57bSeQT{%tw(_R2F%hW#ap)<8htZ$xq)4PVnvpGw_K%5;{M}m{eWJXYb2W9e=z2zm`UVF2x^x{~@bLTI(WGhV8tLik8BpPAhEzkih0#5wsi$RVKsC~( z>C-^!!efna)Mwa#VIp-)*k{}2Y6hX-#Ip-iW83a)T zR8)cqB`BguFu_|K&i1_Ld;dCht@{1%xmA}ccJJxcGqcvWdb8Kp-81mBIheC)+S(mf zKgO@&Y-DX_;_Bdho{f!!X#MBdpOW#)hCkj(Zdq3d{HbUCQ~tNT4#dBT2LU&N{8#(` zf7uiC1o`Xuf8MrVged0LSNM@4Wdqimeyn=_$0Axc5XA;acikj2`~GK}h{#+{@Jj6w zaqL4*^6ul7G(YVL`gQxw7-53mFhf?S5J{}T{<+$>$azE*urZ%lTj!L$=EIWew_I&IkKBZqFaMk^R~J3(vDsmEG=# zXn*PncoOUhxDoIq*c0>wJPGy$+z5CQ>vlVHC-?_YQl>_6=Z`q@AHmhGoK0XNPm)6UQUhM)EXeR7-T=XS*%KkW&)o!Q4{ zcjpG{PkVxX{eH3hv?t)km~xzB13leOdxD;n^Ap=1VE<`P!0q%n^_`;!n19+6^j&{^ zE*O5=6L7<#r)!R6vHi3s=m~fd@F)7?=Px`7_!IO5JPGy$+z5CQ>vlVDH4jesY?o}ee-Nw6p2M!=I`PtdP_ z8?K|Z_WE~i;y+D)SN`4jzaIbHc?kV}9q;ejgnqv(|8D$WkN@sGgnrCXFLm0(+97|4 z*{)&65oGyE>4p_25ryFe=2!k#V3+0G=-swinBD6o+R z>}PXDhtBiVR~dW3BhAyqmzd1J_`{++h{S?<|H{OzT7N+H#)@xc%1}vjwz7pw3o9r#|h7p!mb}x`H>5=X4)SAFw$o>-hlW8a+Iz@T%fieVAH5T1+jD>u5xgQjA zkAWz1{1%r_JIuI|Sw*=yqw`K1Mbzo1P=T=E{-U68u&mpkH_sCTp}g*Dw<-qFnZ2=} zYvw%=-PZ7%q1jqM&C^}GdA1no7jk?lG7pBj0AcyTjrNc$qopQ)s0q45&gC9;)j>!2 zZ~QPAutx#{R{JsiY&b|-E~cv*0W~qxvV885aA~=>s_J|?qzA1gvdCP5O!p%?{PtH6 z&w~g1#nWz~C#1P)r`bY4M7Qm&!E-0%($7(;QG5(&zP!Z9m2)7ZX8x6jrW0xwAC*b>8W3x!OVnrb4pe_&`+e7{J21h^b%QxG3$bdSlddXzwMOI`;NvRK4(3l3KJ4SzHOY(rWw&No6q#q}jJ2#e^YCfwnogT|44xF&~L0 zy(v;38HAw2b1nVk9)s{X@Rm;glQ!6>&qb0ti=l?o+nFdTC(#XZ?-@CRDCjvuI$bAp z0Xg-3=VIv_L{rnqd!fV(%)*lmtrQ)QdhF;EN~cm3Z_^kxKx=^F&v3FkCg>uQgfr@u zy-iRzM8=GGFCa;mhb3RO+o9e&O*A`qWkP@)*&Y&CZCDD(tG5`lhojGA=&k(IV5nJm zOKP$L%vP|!=kB@yz>;2~Z|4ogE0mOtys_ww;lcS!3UToDz9cQDM?Cys3qdke@nG^y z`c)#A1@hq>J(`#piLzc5*X@$ego(OG0mDscFfCwnC3+zM5l@v>?_aG#wJ*$;TJj%& zU(pkVS1b?VwD!~Q?MG@LXK-)qmz5^48hZ2b^qD6}BKeump2Q(&YEz|5{L&3n6a|(p z8dLC?b^haxq388nH`_JW@z!nDH_Oy)wh*H5lZ&A$;MF)*06fLHsGx_1>vtu!6faxm5 zFnt!>Z%*$qdDM$0zY=pz>UqMMf!4IB$zjAl|DLP3J`8jWhkFDK)6k(31C8;iM1<5A zTUs_$LpPQE1F5J1_&QOYdw1Xwx?#zbzI=NS%6w9C2K8D{ys<`Lg+>o5ea%{0m3$Aj zY&O)d_2@>dku%>zCZ|AbILP=+QvuYt#W5T?SdAW2P<7J#d!i$x>tATz9PVb$E>;fq z9MWt;d~6&>E@lRQX*fg#garkJIPe3eW-cbqR*tUgrrsQ`=N--PJ{%6X%FfEm=#K-q z-JfkU=e2`Jj?1gBb+$9|ba6Fv#8rXFFsMxGyM~vJj+B6iprp9Ckd&l^ zxQMVMKCPetK0p3~chvdgy_kT6D1K`HyJ}r8A|NI%A|W9pB_t#wA}KDZw>Fonk;VV> zRMw6W;1!Y-m0Uj!BU=+UTO&Nm@aG-D(OpB@#lghJ48JOqpU3~WR3m5nIDWI&?#5qE z^M4wx-JrjQ;5T))!aZ=U_nO%s{ahTa)*O_>-of5%?SQixeg;e^Yem-_q zCI(&(&PHp;UGSbp&KzqOVB%os=;mr>VD8|I-`}-C*8FSD$PIUOQ!7UYTQdU_2WMwI zas(?P7kO z-+Jp0HQQ-<`NIZh4Nf09cI^26wf9F2RE``oP**<1;p>Y}V`gvWY_ayS;1?4Xml6~e z5|9!Xmyi^a6v4fZWBuCyU!S1=%iDy7rPe=4_@~IsWeu-&kNU%X{_hvur8)oj`SbDk z7x5Q=Cd3QY4gTlj5rZo}eJ33!kV+5b>nJ)d*p}OG#e&Bp%;|Qv-@@Y&>_;>u;_&!L zxeAiw#`Pb9xdq)LNwB9KRYli{b^)`6fjm2vEOym{hjh-j2@UWs_Mco_M0`0X$VMq; zv66@TIO6em#KswiX@j={Fy#`f;)KT|*jROq%~e;>g2aitY|D$N<$Gr10VRY*hL|rl zMJ^z}(67d!bviJr>h(UY6T?;*FI9iU;}JzyJ}pdqUqo+|Yybg64QOKx1B)k*A;TjSI98(hUpDp1CuzJl`UB~*-XdmcUQ!`wKY73J46&IB$X&K)1yO*fEZ z8P`V+BOFgE_njf;n$(!XtoB$kem<3Dhm~&PcoO(C0apTU|E_q%=E97r7CavD#?^mx zwTKno>J(dY;GzrXV|u7A8~jtV6Zocwa6IdsuU(nN z?YmEGnEis|x!bIcBdCcT+i%Gx;JHAC8M!wXOyYj{EroiZc^@+-o%#B?Gwz=`ZaOA9 zxL!A$NSb(&0gDJWwuvAi$67_Dii&YO(+V;VkK%ZC94=mMK(v_4rz2i`-5B;OKmNNm zfd~Jt{JZggJ^s7%5c>T(-ruze{eD;e-T1#A|J`{A{bXbNu7?M=!?3{46DRbD-?tc%U9- zFf909efIwB6=bDVP;JQ_2U|*n7{kZnQI8b~4Y6i0(D{+jwr`6El=9(S%UO4{RhwG< zYrQ-Ca5<*jm|zI*DsIYjFQQ@m0n27t4=)%at1r^hEJc(qUz1<>H>13va($DACdknL zaJA`SKfH=PsV6;s3GrJT5SOYBg?r-svC&1PIFD+lVq@q*UeBzmPMFj}X5co3lv!ettbV_)pD+fc?KF&*rC>&riKGhMvwJ>KB$~a1yVf$tX%^Pj+WsPb6er&UP*(Dm)I{B*5IbJ~G z4g$v?PYl5Ou^q22KWu}S?^CPFOAe!;7%?UGs!3%2MQ-OcLD9BqN%<5 zU=T51H4gv8W&s@Np&N2_M6c8(21d+E5r^((b%xjaXzZ0-lG7stbo)U5v%n`!;N#v& zx~DM!VV&*F2Yxu9+g;ZC+;3)rWcbX~ejaVG+itcw=#B&2H@`%4dVd-u2Ikl7h*tq_ ze*dP~Pkt~uqx;$Pod?7=h!;n?MTCqFvSAbe4zs1xj2C|sm^tDS|2fG4mGS_Tt z^j*I7HhD!9QrL2XeCS6C?0jKOJ$fez%(JsCcZztSD7p<)&k`z8Y_r9g_s1UqSDgqP ziyeZi?F;M<2P)x+k7P&>Z4(rq+Z>od^cd}izE50Q1HhH-(Q7-=0W}hDj8AvHg#dXE zE1J|&_&WQXR%z%Fiss$?D$?==lqty_H{99*i{rx|lCP-)fAzzfS9m-^v3}>m`P(+o z@Vy-?O!5Po0RO}nq=Tr0w#>nL+z|B~Y_(LSvW6>Ki4y!=Wr*mtflgP8DR6)m_XQCX zFkg6ii}k{7*eqF87GmQA58tJQOkFhx%Z~>~^R4sXlak3!r)C$lQ*`fJp(GdNQZuGx z{~!}?{Lt&QO2#WBECn%s8%s*7d7^qJf?P+Ou3 zh>uzq?I?Nx`<-P)W2c9ZVRx9_)_ns|@HtU`QMVZtoBE$7G3i8Uty`^+RosP~(hLiU zOP%OB(R8NA7t-;ksXUli2f7kvACe* zf9dgm4m}nY5EK=c5ET|#3+DVQ^jKU>(aA!T_$v`%i2fla(H50E`MH^jHK%y zbV<5(d6r{cdJ3(}gg>8zYn9jA!}{xT*=}7j`mW3MtNQiz-xqH%414iTJ$3>O80~wQ z7-R@UXXc3+x}-4^x0%YiZ{(P=&9tKWmqk<Z_X(o z?ADP38Eo%Y5Gl9cM(vVCq%h+AP+0?EwjqH=*w!T!csRXWYV%c)JDV@AUx8sqOpDTr zaDE&sS=IIQ<0A5B6cySG7)C(yS3dXeiZ@&~n`LI#nLsA;CSO}|{`B-T@p1YdY0T!$ zvEh~lax9(hVZIQ~pZa(zwfJ#7shi!dobVyRq$_?<8?KUJ(zS2rjJL{S(c!OD^YQ1S zPkg6>xbM~G!H8>ykVqi<-iiP}Zl`^4m!{YhcL!V?I)QNtE(OS+1DT?S2V zoWbK0udh<{sUvJxfZyvyZ=7Ezo{oJYPL64ZL=)2&V_1io&e0GZYD~D9MVANXe=`}t zbEWy87jNjI9M6r$`SI!Zsn+#m+Hj$^dh{9YpJZMtvZ=|eSo9m7&l_=ncyUc4Sq|5C z-6Re*F=WABgs}&xavVdNzWwFdc>JdEvEQkjt#p{zF(u-_H;YJ4c#2yJ*Po;loN?`9 z$3AB*%SPNO0OkFW7F%Qyw(!QG`7tXqW-sxUnJ0M>@iP`K95h7OVlL+Sy^#UilA~Un z(3=i!jfwe7l^FK9AYH*ZnGN&0UlOvLYZ;x=iE7$k{}-OW`scqZ-jHW|z&-NR4(tdc z?e_h+|1fYXnk?ad=zXQHU_&}9R&-8x+UhVZCi9?I*1l63v*^23&K1pqnbdjQFZo7> zo!$4`M1oZo~w>X~H**~34tY*is+Q&Npj4-hwKAH~e4q9_!yuL`1(UfBjbayY}zSL+Iy|I9yHl0GdZ}fBGc{9oQIDNA6KYauY6PTjk4=Fbn;TapLnaH&`eh8xKC zy?C!%{sq)iF3-@iu^dV(()RJZ>40|uL|wUGixI1l3Fk7)Q<%DtGgQ^ti2P+#z7JJp zfz1-PN&ll!cor9N_aVs%)cSzj^GbO;Qbs%@+YhyZ7|rL{W67oHT4vo>cJgfGta)NO zrMCy(NYpCpUT%lE(tsavJoYHYtZQ-h;1qi0@nCuDmQe8ik~!Df8wVFzm^n{X4?OUlPAEhrS#r8a;AiV}}WeQFaixoh9@tM`Cy^e^ue(UQ2 zJWfI3aj)e;O&Yva()Xr69fZaz=Pynv20)5SB&*2waP&Ew`*6tyXDB`Ty3f)30(g0H zq*85vG0MOq?mJoX_DvDSLb1H znPZ)$yxxWm92CBjE_N9yQ8OKL<9!LCyG*RNu==4YCYBa;sd7mA;;ykW)ejMd;ZhMhnz!@J5r*CLe7|3y=6jo`4d}wp%MtrUIkPfzHT#k;rXM z`LvNh7qo;t@i#qt2VOI+_MWh>Mg5lALv1Lq7)a{i15K$5#pqs5{baSg-EUJXD! zd9Tk^eC$LjErO;LMJecwaQ<1z=P@ADzstq><{c<7>N;D--T{7XY8x-^P=oeX{jA{Z zNtDBriER*;1EjpyZcr`+h{V}=sz(RV`7n};6jb!6NnUaOEZ=!p=mVmmkuo%qu%PqR zRvpfG#?M|;a{=*uHbX|8M$lF)HK?0*0$~UBLMJ5;u;n0KrLFbF$0yIfASb^$ftVz1 zhPPibf+o^e-WT!bVv;KQ7^Uyz7~>%cKYg4ZzoILSq`{w~gHNb&R$U~)4u7CMxr;*+ z>}}&F9C3bpE$kCjbyh2C5->ddJa!Q^&yYvG`zC`ucdD7q!t=)xA-AJsW^|yPhg>QY z=W`=mftm}%tB8uHfx)2a-^7@4w# z8_rN;R2Mec2F@>{kT$$65L9ODYzXUB^3<3l3}xs5nK z=63Xcyc_4oJa*z+rExr6V>^key-2Wc!cXcB;r!U$r2ASE&W}Yx&bFo9Z9z|C`}n5x zX|awK+rm>svX~w3wVM*JX)we2n@S}_IS}ZN${CMOd$5~YzKcT?)(etHLHU6*Td9_PnG7ug0( z?nqvfq`zj`w%%-<^lh@9)O{^*Ev5@5*1t`@8n<&O_)o&m%)u z&esm5p<()78Wv#c-{`;9b`lBXoztLhj0gQ%s_Bzo;?N*tL>4j5kEPlsXE^nZ(WlSG z3KB7nsF%I>lc04eDrl+~<&Cw23JVH#iM{8MY}Q6Ecbp&J_dFVHFK+}6Nfz0cD!t(F z3QP6#+I)D!XCCpe(E>a}BU_}U;*lKnJ;8~?DR5kY=1S`ITvSSznn`S9iJqE1ruWiq zh7AhIBKs~zqF$B4y4^P~pzb@js5dd1qrI{nr(YjY0rl0#UoC7y5Q94D+~`s&aK$~7 zJ60Hld~R#>H;6?erjnNS$%92;9eYHkiMkE=MhE3)9E(ugQ@hUd*PcMZySo9$l4?zk> zLBnzf-f>KKgYP}BXO@@Rfp}GLSGKSnDjL}rr+jD%X-le^ZxjfHek~2^p}aU46iU7V zI6vNbeBW$YpA%YH7`|G!U=D*>pZWs$OOdnkt|)~E7r=<7RY@S#3#Q99C7dyBf`kI< z8TVmFWG`cXnIXgjT~JS%x=WP|W?qILn6{mVG4~!y8^L&RDNXu3F;fU*^c_3x_PV3= zNAG8LRwi0v6A7 zbPSM$qMm@xe38{bbi>i$hF`oBDB5Y(-4XLbgJu)YgHM&9Tk4M~UR9|gkKN5?$%QWH zM@}CT77P%7lCJN}hX}O2=5k6mk3aIr{xF}qoDU@q!``xwHKEpETdcON9SpIkt}q#0 zhYj7W%@Y((;PgTwIpv-)3VvbJQpe+jdZe`9EDxuFu(yq4q{cPG5iPEAGd}~_3W&~A zf60I&&FU%%Fa1#R*$XFnyS;(wvcsx5M=^T;Xri=J{U*9&LZ;})kqs>$^pL;z6*S*# z!Dl4W0Y*&42kj*~@i0pMfX0(L^#0vKr6AcY*g-aCw8d@+%9SrOW*l!tyQcUW_it%I zj44qG#@2mEYkO2)MQJMHC{P#q&RqobpGMxE%V>p|AXR=Tt`7L|j?Yx~tQyedli7FX zO`??j!uF%mGSI$Q&t2~o0=kicqg!!)yvKwi!uO0QtTNCV6fT|zeXqvJ^K)fLUFhCr zDAj;5+fK^otgb+ER8OzhxDmbwL)^ngS779=Ghn~#2}irnzB@gb30JE>%T22~qWd}3 zff}ohD7k@)PG(02jO(dqEjyGUC1Hz2<{mlZ`C-s)KW#0F>wjAM=}0OFUaBh43cdo!a^{~__L|oXwM+O59vNrCAul83rUDb3W}^PmH3w!vZ%PwZ=~c2`Og1S{`>OB zGiOg4u#Zik&!MBCI$O=){$V1Tx)y27Rb|4ZV0Uxm#8WVfvnPd-MEPk)XNR{$nnSXk01tN}e3Tia%$c6}`KJbSFu6J=*31 z2NXG{6ml?Zi~gjmi48R-nw`j3M81UHQ^%9ttH%Cu`Qx00GZvF)CeR$i!CT8@c0=BVa3s87;;~xow^tLzrA%#>{g(z7bZUzhCYkIp#}xibE?I!)$ICUpVDRjV+Lf z^m!hn#iU+WMReEw#pizYPeQ))*Yy;H`f7qbVO=+2y*I(0peL;NCfF0!braTm6YL3k z3%|E>!wNgF?`CAG6vl>d{!ZoLS2z#uE4pk;iLajzS$*2Wu(XI4d9OH#;CPBxsf`<* zWx-D9JxbYAY>4g`v{lXGyzQddWEUx3U%m7!Lnvf=5lOPr7cb!JDbfO!C2!ni#||k- z+bxJSfb%Wap6~p4yrIRcV*6fZY$L6*rKk*kNWEQ;?hH&ruW-}BR03S#i* z+HeKmJ0%!)`^DXDT1jl!-KYVvm7B}xa?;x<$O1aJj3H9)KL8HF3yi<3qoQ>t68uMQ76gvekH@kPVG%R zeLxmdJ5WJg$V`XbsWd+P{s=8zr*J>z1&-$z`Y2PkQg)1&D~wT1n+&^c<1MeLi?H$v zA|IPcCak|Yrm_?FPZ^cg*OYi2Nf6^q=)Fn?41z;95*d(V_b;@Xb{1looGP>TJRWbD zhz{w>L{DcwIBy7Y28zxtmiOqJfrFi2O#Dj~yxwk@BZfamJ8+Y?ea(FV z$D|{l-wyAD!NKYspC>AivcmpCC%Zhff#!JSr-j=nLrrAC-z*=_&(R8Q>fll|307FB}lrY9-KKH18qHl5zIA%DBX(p;^sbk)D^GX zeZtucB4U~hFWoCedgP=HzLg$8dEYHmUCR@cvV;Rxf||hexFi;R^g0?N<+Rxx<&7>( zKPCSb;|~k6I@;g8r5wM|qZOK%1~T(aCKU zu#*HDX%lav<9#1zYVi8%Ye^UD<{0t(b~8s?B4Y|@Z+g-{-FFR)v#W?M{uqF^JN?3A z_rpN6@@?SeR{(lpy%W>CHLz@@pH3lJj<%LBas-dXBHakPx4{7&K$#XtYB5*`e!3j5J?*^!}xi z-idzR214BurnNb3AVZX?WW7fL-K&_dBzroEEEH(ncBzEHYFoyn)RT+Ipl>RX`THQM zeUwD+Z0H0pB0@Jbg?por#MBz{x)LN>%H^+&%^b4J$RM2`#N!Gtvc1&u00xfk^!yZI zh^SwFAvZn}gp58;n9~ZE0=k>%Y~dyZJ;D4u6$j+OhVLa0+`0;{&$(#{s<^?4!E>@q zlNZpQ@VdL(V?*G59}4O|d>zaicVvlh$0FKpopLwQ8|azw6$b(L82IpDQ-Vf#4C+`3 z;oxMd1tk-{TrtWzlsyUezw&3G0QxhI&px-pg%wn#+L4XI-pc0aJS>74eK#7vRYQEe z6_@vc;Zl@SHk-#$9RTrXHRNqp9|MaX!`*f*K;pVba|>4LQD(JTK~Gc{^5d3UiQRn@ z$%}|86>sQ=fi5dfbJjMr(tkbfsCWlZ)n!kfT2TjfLcHQK)zKn2Gslr;Fvp&UDhRTud{M~A|eP@Qs==wmOPYH0$8xauS-SUutVfs55; zzKzgvt-k1h-X%~zKdd)XdjZlcBZ=dr(jYH=-}aVdH$)*x?q|8Ajvk)9(&w(4253+* z=>AFp5=Sq$za(=45x+^p$=yY$Y=*m}S@$OF+AV!p_+BLR+GS?Mwk4xYo*YW?i3O;P z5=6Js;Ps4&gEcxA(_!4}?L+yp60||J-Jau1Iy~^ZKz}2k6No)}bi;hB&?Pl(ffDXs zv~!iFN^bj0Ai8vA(%QHRImsFFRGy81Hw6(LGgSlNE)un4^K>q{%@=%3HYyL4X?~<_ z@NPrlt*^el6T6O%%Su0zd{&4mN|P=0_VxWfKNc7NbAheNzj-~kps3(~`SE|uf^J~} z32_NwVG&`8f0ZBO3-{LpA^%banZOJFPx&crZsrFZR2-qhH`+D5wx#wD~Z zpl1@p^L7Lrf8`(luKMc3rKRVO;rZj;))(I5nR#rxU;2|C9Jly9`xJkCJ-2*sT7#r4 zEyn4ZGd;Y9C;Qldp*;z9l)d4(5}u#Cb+5$rE*@_%5ld=*7}SO~s6`ek8q#9B1@+FU zFUw$iTAu4McFkIhBd zDNJ#GEOtv+n)A2;1lm`mPT>4laFg886W3X>ElEj{4)}fpWRsp>KH_+e4lK!QY2f+J z@i4~Z+m^_t+s-14({8KB_S+2DGo$gjkJO34>q#84 zg!AM4%>&pp&X1*1#NX}CTt+us>uQLL{=)ND|0Kj4{{LRjUGeyO$t%4bn3Rh4=JPl| zF51AVfZdnIJ~he?>f`zNb6QFLXYlw<@1taLeH`bb->z(7>|()eG(3V{FOy+@j~}r< z5|hR5Ch&S%?xw>=1O-bU3=?*kBl)a)0hkJbp7xx)6M~gaPCJ_%_|ckQ^H!l^wi_*EfVe=Q_@e z=a0AK>mKiQro{~Hb>G;v{g)sA%3le*^LOR1c>wBkE79;@mNF@&k!1yYn=Aq>VXPu+j(QmY>?;1{@IO; zMR@)*bDZ&rF({6grey~@qZ5gPM3V(gu+>_`BX&g>@?zeeiHQmT=VukGHy-2zeT9eD zV{?C`Mei(TNST55+Q^>vo+|@~Z93AA>r>HzLArNaHXVakkNp&rcb7wU``aYmQz@D+j74)r@!4uA`dr(U)mkW&WSrz|N8EU$xyIn@mzUjxwLR0=9CW^>S`4sg$x zse$J{D_Z=?=_tp zlttosWJ7n|P0etWCS*C~Y%4^y2IYzL+($Eaa~saol%m?|M@)Ol)6w|2AYGI>Dvj9Vt3sssA_`|vNv~*DygE53=coyhm%NhYPxJvIurzDR(&@(UPQ9gVy8Ri z2T{<%X}P>(j^I@Jnyyve8@X+DjV)L$K|9asFfEiE1|8LOGKHb@sKlPjcXJ^?Qrgww z%w2vEpi=6nFddAzC9-Uec9#M9L}2-~E6T`1*x1t5LItG_MCMh>T!V4XBa$qbD;RLL zzVB8JMjo|U5=+fDp|YNavDDZbuGCv8s(c8-AE>nSZ?T+5vk*KTV2?jH70-Q3TS!1? zU;O>Br){vyqbXjhxd9a?+%2h0OGVnYTSx@NdSL^j!kL)JGPLrz1mCk>I1bV<>b4 z6vjkDfX0|sOLSrYeScYP{9e-mZY78{d(-;DM9Vw!X5VsDv>?Y}FK+|OUfF(zkIsX$ zT@U|)OCz{c5La(piUo}SK$)m#AoQ7*HPv&cfXs!6FRU-TQOed?y*(~sAf+?g>)(`Y15{;RfvT8tQGL;Yg~kOFzFi z9%Xk{Y)$sd0Po9W^5&a*pk;<4zvOH&QV28NVtzCk6wN&5PKfsb6R*;Qxn~Q)YBUFR zGVY?s*AH}Vv40Lnl}NX~5e$X--QsF{&ikOd_eVXsy5gZYezoOISOKcrbw^EZ$91S! z{4^;vXov27GmhqY>m3n6>D6ybgK^IW^w<@Em_$R$R(m<@Y1OXv*r9xpdAUvTd%fDDZub=$~9F z{5;%_ESNiXr8_JlI_8E%syP|#ep>zeSFJQyxKF+E)8$aqsK2x`cOSyEf+J&!YF1H! z!85^V-9`NShU0t?&YMdm98@oj;rm4$&fA^j9gQ9U6hZqr*z>BZaMaJw)SOrN%-sS&YN|=?SWSc5Jr^&z;VO7NDTF zcWCB97|+}JacL1|jCG18*kS)7ik8^s?1k5>6N@Kkb+j{JG=qy<21sK-?Ka49;(n;s z_Qr`G=X0aUn(SqP%joC@un@=dpaeYsDg3wr+Zc4qcn5YfXs$pV=f^9=ADK$~r77)IB!&LD1UH|1-l&UXZ&!H3_GbJoR=jbixts!&xUf+ zVW$FZIEryT9pQFJ)N`XOwl!@#=@ib7Jtyk9Tn)*v_^*dFO_UM#kQ}w2onyk7K2a!N z!})P0t+P3X*Ri)oO-5ywGGJsKavwJ9l4I9$yS9_#xS8&v)vd$vTo~i0+IgN9vy>?I zOl$csKmL`!5_sqD%3sI(yY}zSL+B^caBrvZY#WsRV0MTlG6Y4%goY*iNpxuO9-Fk? zHBbp6jn<)xMw|2*Y&toH(6HSX4eQSyX!YjgfsPnU#QT_2uGX z9R5BNbgnEPu3GD%Fu`b~xu>js@X#wT6s;V-H&X=s>7;_U7abvNnCeg&TQ*$wOLg7$ zVFYE?()i3qSHQB0L);8k4;qfpQW8+T2S&06CsXB1QPh)c_rrLdbl088EQxJZQ0B{7 zwwzZCh+1(NqwNIaotOD%URR*Ya*D-IhpwXi94|w1ikhJ^g(DTT+CgK|@se4aF}f!r z)qY2I3b|d_WWb&t0o=t~6piYyK$7D9s`9cy^!i=Z_oz90^vF}sI`+CA@L2ZN+iRAg z&Tg3so)30#U+pNf#33h8F1GPKM-FfhV~JikmyKQ&KQFR7aRI%Xp5{C1>5WRd!wSPE zyihl#h!j7*PqoST!w+L$Z^Pqgy%UQc1<`h&ZqC9KH~6vpRZT5lJ=i(tlK5n1qH~)Z zuRpSmh77mm`82&!c-|`3P0^eT56vvE)Z)A^nL|Pf{df*-ZWO1NIWB=3{cRBex?13O zKmMT84d<^j`(_5UhLAeLYKKH!6}tY=rrETr1(6gvcQLWtg`K1kJWtZgptDBd%eBMl zsPkZg`lEz07|xd7b#Ac&JvLX1&f+eIM^pY=EyAv%9mKM9bTmciyp`*s*HgS+-SBP? zLuVTd_ok~mPOGEDja|+I_a@P3%8(?HwKwY>GV7ur)RX*ZGpu+44pGz~=*$m09xsfUFi zZYR~*ha=@MdL4X8giO#aVWJnixQq}vo$%yqmIUx-{>E(JXA3hVE=K-+c-&#Q|8=WK z4oIDoEZ&zEgcg*opW0U#A?6z<2Sz3?L)iShaa4LbS}H2*-CKPPEi9#de|oYDgjiYR z?%33#q|oZSUu6$Lr;B!<$rp*LPc1M;3aKCHH@yAB&0-^0xn8ek>*-`DdN?fBEr$z=q($0+Nzq;&_F% z)Y>lp|H_8o;&{^ek3xa}Xny=kD9l^+*c;?YM@G#aU;?5>@?PO}(%6jdp4Xb2DX=H| zY4fVdmXNS9@mXp7c{xdaH@Ung3AUx>v%pIhE0onI!@IOW77OE3)M~G7M}x8#!?rpv zqK}UTB&=p-u-<$3yEFQ5er(>Awed+98UfW8hxQ^Yxo$?|YyK*-&bjn`v;HE|vJjK{ zya!>DpBrZ;dY6zPZweQ)Y64nxvxCqy40~EVWJ`C08mnxk>+zLXLP2+{h@Rm4O#RdN zF?^PZ$u*il2MY?4p5gp>**~q360cL`2vaTR$LrNsy*6E&m!`!s!ry4?;r#gK{+Xd+ za}tcA_lq<;UN4=SmSv`m^S0r|;Hm23HuQ2r=lw1MAb)N)2N5FMm{`LQ~2=&hd{r_}*^;b3u zh&#Chqc5|WITfP{Yz<#rEpb20my0KJiDSi9t(J4LDDZlG%MZI3aDF@~J}x_}!h&s` z4mN+#>yGmMB>OMmdE(_5ZP_RuI?Ti~#v*&;657Wkx5te{7GvKW2{r@lSgP)AAI_a^ zFnPX5u8b35Wup-}W0K4m;}3t+dX`0W>L6FMGrmuF4b_}hWFG@|Z>!?TAgVwJ&`a=& z#rg3o&6DS!;QL95su?LC)?7yJ8uo*S@jNI2&wmO(PT$;fd#~jV?C4g{$WScG2cX1ENYvt+6TPe-dH<;LKpYX8!J@&mXBGmkG893pFfdd={h~uny zo(T(=eK0?7O^anOgkMb(MVQW5Wa+7L2F&X5ojJR+_={D}NpD@7ljR524@D zolhz(KD0qWy-5A+*P9ID9qO z6EPe=>CJ6wh6=GOl|`xr$ZFR3JL`Eh;OcLu;0?4wV)DzTq(T5>Tcp7ZyrQQ)C2cZ5q2M+IPhaVN0Z~L4f`-> zqr9vn;9S&v>NS#y*gc+YExL6XaYa*Ka)`SPKYTM+NOHnZU8cqAyFeo-`+Ab|=BXF( za*Oe~xcW+>eH7=U=3sb`nRZ-LNLiNO5EX0ZLNoEg3~ z3e4n&E$Z1rpdk8uT|+a#JlBZ6t!y^BG3s-s^=1@w^gk}@b!vduJNYW&ZEhf4i5T9z z-WVutKX||5!#JdLr+80`goB5dr1a?3T!=DMy4i898`y0$KO7qxM0W>v4D#c3(mPGE zPi;2oKvG0!H(&kO4NmfH`(McAK?JWzv5DIqBu%?CPL-1dOKR;y-6!kNNorN*b0Hn@ z^{Go-b*w*}HMw9Vc(nrYx!6(`y}kp_ZaubA7;A%fHFPDf_GqHBcWJ4myC#ulEpz?* zq>HeiweOz5%@Fi{^c2U;^dOQgj#(u)wSgjx?900oUWmoz@!cxCzMA<`kZp8>CbV)+ z<#@jFMo|k}=2*i3W?ug<_Rcb@t8QKUC2ncK-n;34gUsqBkiL-br3tbE-*|1R%IH%dhuu%S`7QzAtdnLn zaoQOSda$OenwGfd)O z0Q+-A)BD{CupwjId^*G!3Kck}-Px}I*iH5)NuQp>qr(e6?FQ(7ScYoQTEhf2-V=r&D`5e-NUVWl6yWf*8*e)54;rlM-Ys&Z!fpnx z=uwe$Si(;hwMX&{;*8a=co|GV-1KBYvFRA#*$ywyjbU&u=e@}Fj6OI{5M_~6-3G>9 z1tvO=K0|p`iIgp^J%N z>BnH;FUnz<>A)TIgD4i9@_W>uE`?gJ?Gq=ySpT`cnoorPpl8UsY5U zETSUBzJ6#oB1eAGhur-(f;+`9=Kg_4Yxi)mD{DVbRlaltj5tJrMjH~?eStBCov;qD z5OElXfDrv<*7A;0BlO08$#${wM=OYASDnE}Qss6E3J@e6cTil?k1 zeRaUi+mwf>kWRRhulh~*7U(>rX4jCM3X;R?=M$1JtaV#Z>P9sQmJ(sBtE##M#!eO4 zk>z990muE$AO9?UHLkLv629>q80G4*3POBbGoQjd)+UDes|aYS9V5h^Z0s||BR%u9 z#+fxz#Ch2sBqyOEE@pU%sAqf?A4^Icl+;9h#vhvr<#f11nvt;A_5gd$CeFbmdh#Wg3F<4+nhU)QCXZCeb ze{N|?+m0L$0T!D@qptlJ!}cZO90H$_U^Do~Zc2%gV}X-egMR-*4}9=k4>9fz5U|zurRU4I~XU+>VhavGY>*eHF>J0P!=2+a|~dE!|k; zFc;$E*H?0BeKftmUH8Jzx_C(UTiF&yBSeYGI)132rrH7~F~Ze1k-xfAp?tm43l{9y zMH@k)2c2+_%t3DX6u|b+U&!IY=&=hvf;90sn?Pl}pgutkV1BmrKHbl0Fs~yt)H@;+ zU`}MARsi)GzusRuJ(bRk#aYdh?a*!m+psg*<+*=9K318Cs(oooh503Fb;-d2<-Ow|ZtMw5EmyW83L>b`8YGtm`!D9FgBZzo&Q7bL7u8 zn8PG?;vVX6p1i6`kNN`W^!k?PD`>FxW)pq|#K*75q$FPFA-%ei?d9=QX6%HDW8{kv za;$`5=At?B1OF?2`~CU>m;LGZ`+k2l|I_;%toy6|f4_dP?oY?x_xr2)pWf$SU8HP- z7u9#f$D>*!ck8sFkJ!_r5czW%%r_qCor!|6_)pGE6^DXOyiYm##1o(|>~O>ktqZ_` zmW^9(hMqh~D+q*{<9ffj*8^J(J}kZJL;28*7YKXrrbAM_i`wpzldy^8 zyn2p!DGYubwC2BD22HxcDqAILVKM7vMK7^#P?#Qxoes}|g3PlXy0;sF8~>T`4wTP5 znmc~h^U6~YrRdy5ZrTm}?&8jk9;pQ^oa0u4B=vCKl+LW7ava9SZgm~4&xYxt`(HVS zV<0^-!47+1D{S3pCO&<&12%nmG~lYE548NtlB|W7fbpp*pmseBE{xbJ`pAUBLe?|Y zm6_u}|1oj6Sfm|rzdOG#|4jnQ{fMbl@-G8~i5sw`Zg&VJ)yBvL9O=?SbUUR|e;BJK)JU(laV$8h~0<-Su?iB1kebxIlyY zWY=`_S}St>fSgAg^oUjqqSEgCYw5-SfSFrALEa}vqroV30mQ>D0yId)}$TUWJ~h$ zUXKU-Q>j5sNcSHvecF`okS}1UKK06h)D==cz1DC|1og)k&xn2R>jfzRFNf}cVwf1w zHC&ff4MPNMtrl!wLK77Owdke_pz;0r>*?SW0N)>dYdSv!r_-IO+w?o3vIJ-6u}~Gr z_+hf3AajvUv-5DwX+}3Dcclc4ijAe|l z9JrW}Zs%&bL7aQSDHbo?pbVFfDfh`HcoxqgCec0@o(*&sX9)I%OLONYmHTpG95Z2E zgGvM_$31QLblevCbmM*^n#_Ua($s9_T)t2^@(}-Ar#$4%{L*TG>fK2k*>B4lGJss& zj^XV)Pr%G(cvWU>In4RE6l6Bt0QJ7Vm^`G&0>ctmV%2D8VX`^5^O@<#&^1+2@cn86 z(C(1lt|M-Pvc%>|ve(-{^8AM$e2EN5P0C9>65j!2EePGh9@fFrA?2AW>UV%^EiT^& z^;h8CGLfj&3Iv}06c;BM(m}NiCzWjY7{ts!G6X%10ikz{mA%*Vq0Boh z`B0Mc-@w3{pI?yg-~L?xI*D2Q7g4Y^N(~ng_y_C9{QRQA{|o%NhIvI~_u}V)vh6OB zLa-?;osZ-){kB7K;#?BN^ben>pWDG=@z-TwgCA zA;BUvgDEbXq3cQoir$&n-;R&F#hlKn=*=NxtS5o_$e+u*d%Wxg>gVn|Opxe`&Ko!t zqt|~4BEM+H`Q6$MF|6s1g|yf$TudZ|x%Sl}KE_3tZx}TAG0qG66KU)fYZ?EL^*nHYf@l!HsU1mjb0O~K)n0hMOXG3;^Uh)bxyRX zF=A(L%r-S0_XESrFyH)_1h$u|7p5soiIJaSdK=8L1%f$@ay*e3dO!moHdd5Q)rHz>M#zQ!Ij z*6f)SB0X?0?bj*tY-Y@4qe&}vWedokSXbIX@8`ku{Qdmq;Jo4gcmJ_W+}j(cT&S=W zzAjr1#K+Zk8#ekAVpyBREw($cCo!!=)xidIUXqZo=~|EYxODI7-j{Vo%w+#$jrm7> z?7{T&R7%u;d_%_6Ohl9t+r3rm@eaMu0wk*z3P|5TG1k#?y@>@|@T)jF8jp`{#F#jI zLw;wc)JBOLmg%s4$9(TRM{a&On%8a+FLVES}s7-PM0!%_u_Va2M^5>G} zeXx-WZM(z z7Gk+_!nLI9vVw9hhrsR(lJkE{D{i-J(XE!XxLSFkWQ z=f=C(50aP$YFo|Q0iDdCy%DU0m9G>?vjc{qZlA{Wy_!a7Z5do8lb#CSnka;+k2gV! z4ABWgR6kZx6RmT`xejK>O$AaAA3v_!a5`j!a;NXHL{Er?z){;Zi%;?6!0El5SsAN6 z5U4FWGMFm>)FNny_1((=o9(k57k70aZRV(0{m=*|*goGNZE1m1N2~6JOjQ8oyLW0d zbRPjHk!d#%$4DqRP0+J25CLwV<2N^$D}ejym&d2<`ry8OzsU23Qg|y+A)|yQ4fe@T z7kT;gLndc%_h(fpQ0wt*1s}s8BzfOBATS112-EXYjfTJ)Wl4i`-~Xwy%D4nl2zP%yHp7iiz#&C znQKAP;sDWhX$L$X+%8_g(E+VQs_e~JRDj2VZV6uHA~@{9@_MG-4@SGxwZ`}Og6j`b zmow(Zf&I#Kqo3^^=-GY3H~X~i9>jf%uhCq-=`(vDwwi%|G7$ruCJ_ZCIyI(8_c!QAU;ki3VU!UF6%&+|* z7L*9G8mXeZWD?Pq&gQZXR9C)1V60jWTBNGx@AgJP)8O282^_@V9f$N^gtdd>la20D zWu>r|h2B%7u^#!Jwfu18&4kwJN;eW$(x7zeO=*G7QYh2eI(9fN3sQ_~o0NC8fttx* zb2bDu@J2)ibs6UDm(<^mirn?qiTAQWRDjS2b z74T);nJRFbP1pbMeht{1eaXipF%Ipjc5+MII-%p$#^;sMvarF+b5%AK)#E+;#O~M2 z!1{N#I;&0IFhVnlCgkuq`1Szl)&saPOP{Ak?^eegp^^4A?U7EBj9;E3S|ve8SOvh0s9UM@}s_SpfZN2-S$Nz zlqYweP-5$W0;G<51G$-iM#VW)HwQjvHCerz9}e?10@G*$yz!$zo|G zvkBS{ZF()uNMLW!iKq|*;$!_6_eODCfpo+ITL2Bfx)iKm(i#5(TU*YC9Y|k&NjuxR zWM2v!#aC<7NA))sVn#L1sdUue{6PK!s&`%(J-Y2bO@bX`ixVle-vXm}%Sv_6{(gKc zax?CE#+5nHQus>iE6R5|(pwZXUoVEa%*b3;VkX4AI;nle`N=WzWmacr8sng8W@A;@G+qIX_D=|1ZMgA63vAt9Uzk8;j}U0mH5k27p_lBV9$vhHJ!J}u*(&n z4?Rcq=}YZ>Uoi zT%;x%ozpmUYEa8Yoy5{MvskHUwt%4XPvDF6)dGiZN&e7c#G-MXkI!B71D^QYJ-jGq z%=Oqb>%tXEtg-Qe2F8x~mEUun82QHy*M6!anq|RgKAj4SckhMF#x0iA=>2S^JnS>2 zNRRQ3SDh>y-T?0e_SJt%0PL>2fA@ozG?=Ppy?d9oB`B}4#Ailz;$bHLk?ve(%-yKy z0vTrnVA2sIYx;hO3N-k018N>nNf6@wV3CBhsjTOm6=) za~{2KTj|ekuOWTI8$b3}0sD;D4rf!N-wZyc&@wlM!z+oc_ngT1DT(^IWBekt5FeM> zy=!wq`Ub)>f!w7w7A&)80wzDj#|qeRbDPfsY^kax?&T~UmUvkE{(tlnyTOP8PsGOr zPJTF_YiO{SU8#)$cTnDx%$+1KoVrfpKWB)6D`~CU> zm;LGZ`+k2l|I_;%toy6|f4_dP?oY?x_xr2)pWf$S9m4}RQ;CgscxS6qyqj4Tinp#* zIHLM-$(cAF)svCXM^}WNkuVhKlgaWto*xGZ3B^WVqFumk!bR~ilqb8;M$|pvo&%yo z0@4XHjDX6oh(3T|X-3BIhQI+hs-}W>>UcXm>JfN!Z&M8#Cw&g!SSp3gCSjeQ+@74TRR?eIQvF9@?bpW>@l2un$&UaCB(fFD*a z;Px3*K`Z|;pTwV|D8Dx{^?iCd_|$Sy@}>JAbhoy$I%Hf6;u*;+Ch<;ywzoqSAIu^6 z)$x;;gSZ`VkrBCeK1_!z0d5tChw33~aShFGZyVea@Ku>AOoSe$D^CVotKdnh;ih7( z4tVW7L*GweUw@f_qs0;)f?KztpmTY8h(#+rbjCKY+O`TbQe_&1#RY=C zd(`74B)Kq`P+FOM@Ck4j$b^lxMerkQ(`;zUFeE%lLDh^~27}(0(yIGqK`r^GuPg@! z;7cD}t%%!YVEwA_+Ut~1s7avXFVH>-*ME$~zdtqxB3hfvAC#s6d7{IER~Rb6ZI_pP zA!p;@7{8sB3}Y2IJu!bGf}tKVO5xHUc~lB}L&+P+2(#ei8bjI5)HW!>a{LnWp=NN% zbV&*)ItSpMi78!`C38Nh6M5lo4 z{tx3|=7Qq#-mW>M8q@;YB@cmrs+zAP>Sr#s-^nT&wt=at2B*ZId4Y@OgK3YZ5WkYt zFL>FPLwCZ+GbaZF!BvZ9w+4+i*cz5eUr`hT=3fbx z)$r)kmpV(gGvSvp)%VX%m%urimzGVftADy;2tv3lZY4o6cMlLvVcGoQ+Dh7x@U3^55 z-U?I1S;dG($zO-LJfow&1*ZrA`rm?yK(c(#B_2OQd5^Fgrc zkU6f!5CJIzG8En}R6yqo#HZe%KI!e`TQw7XjnMG^+%`9H^PlsvsOUl6_MfV+7U1O* z{c!l}?7x;6Dm>TD51kVHEq$PZp1Pk~&);4l7ANd@u z^hC}I5@PN1&0n+GkRBDX>}fTKVN9{N=-hp9u|O{?QQkEh@Zzjsa>;}Qws>1I(2=zR zc%@`8EOTrE50`!aqi-cJ?VKZ~`E2CaFXH0w@=qRuu-@mN6;7b?DskU!N0VP5fUWbv zEUGt)Q*##x{*b~7;4z17jct%3bNEtMR~p!?v|XnS!mxS!)=Mt$NibtZ!>dsbw!pwy znV&LGvA8=l(8y{L8>{&kXe+ zN7KhX$;D9zycDzJ8dDwNm`@jEkj^gd5)OMOm8JooV&p7->77VKN)C-z*)KFHpj zR(6yUU@+YBU9&PhR;RIxqcpeyGA|L0yh40T)x@p0IzfXie%w6Mh$9Fy1%HNWp*rzf z;Q}_s0%pvnVuNt*(-ye+s>1wk@_#?izY8Bvwq}+-@utEymO>m=(fc{#P}etr{JDB) zbZw|m|FLYCUUMSSS1-M~cQ_mA*i+fZ&18NtV(o)8WHX45J>C{X(Q-**^hD>6_X0|6 zfHcR?TZkN6d24ZXaY+JOsOo51>|()=W>^i~kHg2jO+=QTBfm42Qa!SZZ|SgdnJ4P^ zAChAao7}8B&I9bW_ov9W$Pc`sGLBvA9sy?hsCg;^J+}ZHUP6HkW~@l^xVT6vIo6er zA1a6Z2L6iQe!qUeWq&&UzTaQX|MWfw>;7v0->)C6`_u9F{r+nHr}sHn=VV85T?+BB zam|~=(r^iQg_4b?-fkpp1Eqi4rhEJ536)Q!q-3^Hza_+VYFP}@0k%S_o1st2+R5S)#KTe7jy zPwJ7s6@f?CDW3#zZ28)ooQ8bhkTgm+@dWw7#^r_wc(g!?%MY;n#k){a07iI`7DG-| z^|dmBJU~u-r`7zqCh-2m7#2e|0UxC)g%2ByffpMOyf4w0!UV-*lg}TIg5=M#s=TQ0 zcy@&5Jp7Rjmz{l9{IZJS*WQHQy&Es!%)0$->tH>Qs*hdSpP7Jfj$gbk`nDAa#Jo`~ zl<@{v?LW*Wymy5`5=K2$PwIe1DvRffTlc^SH|2G2&Pkz`~VRJ^8&9tfn|KM)RUvWRsJOWasa|aC=$C2TX17RX-bn z_{S=g=bXd%{cbR*Q`zU&WT=KVEz1IL{9^!~UE=-ca>bBCf@8Uaa15r^D!I#%W)A|NApixjO*B)!aJoBk&qjO_23XiNd|n&@1BoTLhEB=g z{_}FMqTT_hKR-R!eIWpDN3rRNoGbwy3@4vGb42yI-QKB+@K$)`d(`EE)lx{PmAd?- zcK}wH(Uo*qA%D;-VwE0T`QQy-?-sRXGt8oX_5IY%$Ixb8<{tl6KE%_(e@;Qv38;^6 z=n*ScLVWpS!aT>b06~eBb_i!Vq#`<_@$(w;JHyX(rmtlITg~Q9uL@8;w>|FZs~*0P zMG$B29EC5?|0Z*+_uV+?Yn`K>}|W zabRK{WIuhBJC!3JXup5MkVa<*$GwE)2ADcwzEHl-;;CXl)KS?V@jU`M`5gVgP}>HN z$&LvYt~7!EEQ8r6EY+~XxX6hQ`I6@seK^XlQv{D+nO1!?nFW>XJ-t=$MuO(zy|2U8 zsBd3oZL08V2ROISXGK5I2VHciC9jjT0qqww3#rwepdkD3@YR?aIQ#8}#0q&HIO>Q~ zChM30p9C3ro^HcEWQH4T1<5>A?Nn zG#1Cli=flLo-7Ysy%J!8WA6VIurWwX+4Z}e>*2U<_mw}nx8v9-2&Zc-YL)x zr2#j^VVU*Aevs|NBUOnb^^mA{dpxP>5gg}}Bg;#$1WZFb!yF=$aIoXB)C@X@I4|hD zjQ)onwapMy8?XIiJ{CY3 zw*OVP{pa$rAg{o`{ki_7_*j$&MRE!7@&AK-EGQ`YzrdfX-yvPK_|`ng&y@XStan-M2{08U%G{awU!-lJ=e z&e{C}CTVyZ+c!{NvXHgloi!;;5x-~0G=3XQdg6ak5l;ir9rNdFeKBkg$Z4j}kYKAd zxdSQgTfm|sl}t1q``hs`T{*s67|k45{iJ55h4PHsh+|&Lm5X8g8u9Y$LWJ0RjSz8G z9&#+U?Nh>I#Ld#XrRM~m;9}zgLF^c+A9sC;tIU{`zUo~o|p?q03-l-cR8&Zgq z^%QRMZ-JNFCQUIYKL>ug?bdi7!!A*8ENPXKVA6%WH>#A$F;!ol@Z!Y(=DEKMAN!{r z$920xg(#mty`n)3qg))tss9T{Ik@8`jJ!{3FEmFkw4j`>qzt50~=G7%s1z3#tl zjPj4$$9m&4kbm_duE^K1$e+uslf(NV(y<%7e|@E6j}hCFYTmtu&Tk6o<>wXHB(dhM zM++*_l$fGB&-r%Lf2^mcp|pznDe~9#-7NZ9uyfgY){YVQ7>>K|uWICX)?PlK9sG_C zGl`55?QekzTaQX|MWfw>z?b! z>f~&-!=~~;>+~zUkg-_Fo$Kx*xSnInUxa*(EnnqNepd(wRAtxr8sRt)zo15Oo5ltB zM^i^9hFt@E>!0h3=&wLymGUgn##VQ?L9Z!LQ{ z3JyFfPb;b!g1-c9_!8bEfoLOS1brb7c~G33a5_{ps&6B>rkDO9aZ!YW8#k^iIt$eri9PZTx@r`pQ1Zf>>% z#;exXgJ_ZgBgGp1;oK%TbM0Dm)>Xtwkv5ELrm0|+()_)xcqjOgC+j?;+5j_nSC`A$ zLcyu>lw@}Mc$l9y{yrPkk9UGQv{UdE0e9uE!bap@eddi?- zad-L-Uo|)x{`dliYbdaau!z0V-444;Z)gp&#DR+X`@%a)#Zdf9)!G-fNjPac$!5rn zet#(*8)Us1kde&=Dj3v2vb+f4dk>R=c-Soa$S^M`>p9^^|8Nv86yTW3kN1K`cOm=| ztP|Y)6)yO)ECO6r@@5)zPXxW^t~Uj6Im3<3mz=NH+F?%l+>}ge8B{$Y zn})y-V`JM{NGp(f9_fY@vrQ8Jz-)C_DQZd!pTOAPp`@DqkIU#uW=vEqg-Xie0&P$h= z>I21wxakY(e89Dg-cIk)aUk{C;UZs|1H}8@`JkN89eAm@E8Qk51W#YD8n4pY!y`#2 zhn|Uh0kb=OXWm=2K+hFr-20#E;ggGQH_23j!Pfqg?B|pHaA^NUsWnvwaI)iLyn8Ja zNL|+3HePIjaT!$S#y*t+Wp7I6Gzl|kck!&okaP>IPAYD@Nu2?%IUGrk+>C%9rL!5Q zkneHd_=VlCb47sk?3|xPZW;VRmejzeSVZ3gDl(I!D*tWJ4{(Q9)jFy*Y7d#t+)P@FW#)ZWI zBNGm1(~kxZ$U;QhB>Ta9O3E0nT?J63FqIgZwFjR&1^jF%OW{@p{SlUyPIxgdx2Ka< z1RVRynD)qj5$q)=>$00_!T8YEI7tNFFz~wWhV|AMFyjAlNX^n8+Und-YcKPH$Aph$ z1ZS24w+Kxu@hpF+_w&Slt-U9Fcj;H&kW4cqEb!NV>f8dSZ#vV3#`?m`=_4e|PTes1 zkmIaKdp1xxB>mw1;3GJ6MO&+mw-u@!UGrf!@Pz)KVvg!4-v)_1WnX^mk3suJ*UVUy z%cktrQ1V?l0CW)J=@!eiL%atJDxjzfX5Z>EePK}w7;MRO=UK*KueyFWdDJ7A-uYZP zJ2D42?!nS}yjYNUJNS^~>`ZjJ7?yVG&Pcg7A$F~vgylHmEAxOyYG(_OFVYg{jk-x( z43ErLA6h#=y)(;RpSmP4RSMq7^6Tv&PfkFe=;H>Ux%ydyeoO+Z?bz8>I!%sUt*x8w z<9Q6In6;1H!39`eeqWhdz%PLF`D;*?{wDB?^5}D2l)@(7e#KfpZUZHT&c12RbP(^R zTFvN=VQwwb>r`(@u-ZSOyJZhP zRF7Zdl}((xLWm^|k$J6gkz;ReM3L$u9eYt)t;k*{E@tpXG&TpE-Uim;92#`X66<%O{G1 z6^;rE1)}`p^NH2xESIG){;*CQGx06(MTWu|2kBSG)<(V@v&FE)nUcD*B_!BhO8=6D zHaV8-MQWjg`n(T#?(f3KK?y+`dn#0zt?a99-sS6HsV|3J1f45%4mFU+q@2W*PK&TR zBmFqn+M!C)#(pS_g)Fv@q*U838_MI78Ful0uh*-1=(`AqZ-@}qv!mtj_k>hxi++SQU! z|M9qU{t0vB&y{W?MtF}}5-Yg!BoANNpJx8JWHaM_=Zzwh@~^FO`M!MeZN z|M%+$>;827eZRk&|LJ`W)_Gq}k`UNyhkOm8nQ}=-z`bMPW-^A0AajRGLl@~_ISHlY zl{X`RX10htU-CHM$EL+zGCcsHZneFZ>KLGWG37gzlnu;E^=oQ;yg>ffxFMQ_yFg^P zbo?svA);}h-dM$tMmkgD(~s(6pv-qsA z1O@$U(VfvCsVM9tg;OLPrq8d?S*-*yoCCo*9!XF@{?U+BW*TfO>$VC{sDlhm6XO$m zEg&oXDzC*{5O{ooXSz7I4N$&{%AFdj0FyUN^5};1Kx6yv7M@}nZ8PHU(8AB#ZuPw_`h9PO|(VeMEILjkO&ys*zsoCyy5 zT>f~hdJq`ruelOaX2Bzk5^cR@8G!#2&y0w@BOoJxSbgnE2NYOUt2iPm4GeB5pYNAg z0yS!<9+fNwK}ne>O4dY?a8QOiRQlF9P?cN~R}gmxd|@-i^|V^RRk!Dt(}!YEwX?~| zVCM^#Nrqt#lP%=D$~(qF-wCrf@L20Ms==lD-Rq(qkHNNbv*c9p7|dVs+IQTG2hzOn z7nt;l;3LjaIPEY6d1;l;4{Fr|ddNDIR+9i(GvrCJLsj5=God;|e-sQ2cXl{z8V&sU zojHqcw?Rn?TVpTM8jxnq?XP^s8@^^EP-^CC0cXX%GtH4s)k-``Ix`{|HpzZty`-E8 z-m2Ghj6Q6D76sX4F0|Ru7Zil?MVnow??#})Nhgs@ z%_X2|yx$!}mBEcf>2@mN=iumr<#DYHz6u9e)fh11eBT4anw%t@+i!vLh9yi-3tOR&@LHdjSSa{(LP~*% zZw%r-_tA`dUH}AaA20+sgahp1$18V>dms%^n7Wi&3wHg6NtK7xq0YlCmMM)Qc5)us? zX3)|gf~k;B!W+Imutzl>q^mzN>YOP6GCEQAIKZ?GJ6I-y_t4=uhgZ@}OCJ(O9v)U#(E&|%CBH%*%E%@u4)Fo!b!PC`~fmF!9da|s4 z!L~jS;&>TS5dkkKe2LqxDyjrbDzIOiT?~Md8-hHV4({-nfv?Rn2ZVDzEgZztoluf7 zk+yW&2i9vJ4x^14h1lmEWj6Z~pd+&2<$Ws45Gs!Pjo^6j($*C!qP@2aW8^l=-z=AQ8T|^lDcouzei-yrp6cdalF6 z_oj!zejnU^EmIBg1nI9NDNMoQ0RO#eog(1f)qOh~`4(JULqh1$e(-q7@K^0rCJ4JR z9+G*e5xx`nzWfu5{$oBCR)Ag%fpm`@{a>< zY#hPG!|ccP2nSwyLHeo}S4LV;eeTYJqsFH;AeUgAEk3#d7WWX4Ho(uaS;Ax$H~yjrd=H^Zk;dviTQW z(8vS}pA$5iTrh0M(sDuVB?*@H^PF5n0?J3W)OvRv^(7y0-0%GH&+@OP2yDi^I{y(k zoD>k`{fv(-2P878Wr|^{iPox?x`bFksPB#ObL7}FH{)26EHUf>joyifuecZwSBtO+ z;$s2-Oup?73Cs@v!#JT~CwP{_fhURdtNHd?gSMR#ShIoLiWwC-CS~wI)c+^}_9E~T zZ{U^`)=5=U#eD?_<4jv^r$YI%H<{f9$Y-Rm!4HB(lLA|y?AE2xU{l0HJ9^nu))*!& z*YjN%@iE8Z(cvOpa?CyHob+_~fAieIbN$cppO^2X>dmBaR*MR|7bG*Q8m9+rX%_2i zP(7Y}K5Mo;{UpX+Rqywj1o^8w(JoFPA2ff5uhIB!jF^gd)4Og44;aLr!ae&*0?Xbi zGr_q^21>Cl0zdFB@z_iW=XH_75HEoc&;sx10cxxpjq7L5#}&>}i=>^zp-+=x7jWk#%M=4rvmH+*cXGRE~9%9HNrjy(?si(*ZkhyiQ6A2!Lc;=W*AY zi{Q)C<+1SFA+TzR>&L=GB+z!cCz9(s4npvTs3bKU0gC`z>CaGda87mLn2SX=unZY; zjWh8Fof=|^Vf^MmYrUAsO05g_-Z{6ZpAZcL1!eBO2#SLPHboTXt8XCzm0`=(Z>eAs z|9;!zi)TQoDyLw>;T>$!Z`9G#t_I6xg=5Po&*qdNS>)I94sbY}x%Kpg61d5_V<3(C z3@hqdvM)KMfK9)j>fCf$fRr+Ujp1w#Sa9;V?@f^aIs=-`hUHp-Gg)8r6{8BEbVf4; z&mkAuoa0>z&5DPdxU6!%GO^(B=M;xGJ2`M?PomM9u?c*WXQUK-T?R&uos&o)$%BWX zgkG*_8O)*c`a=677))1q?{IXs1769&b+r_4AQEe=J(`&Xa3apedGQ5+{NxjDq*w<` zTbwTO`z!()Z(I&EK>BLWyQ8E>S_7dyCi#i{V8nw>$4dL!YTSQ@c;4;7iDj+%B31 zK`pZFA1Bo0I-Un^rX{yz zHKjot?Nq^s9gQ%xR*)<$yb&Zf2;81~90gSkN2&V92Y}N8w@j;719(ZciE&gp}&y!if8;HkPzm}HqG`%CRD4h<86F^(A3dzfw*x{ z;xy;;NX--46w?ioDtLgGoy{(9D)Iq$-C^E&=m6zw8TNn2FZ|VJjR#Yyal@K)8!a)*Te5~aYR36bV0?Y zvqad-bSQew>~70g25?stv;O842x%5NNa$JXVOH@@0DEKxn7X0N;bU71iYZp@8#uaP zpUztH@hcX{zbn%(#-s>LNtbOr|2hIU9zA~Zb0isZ_epqg7-WG<(n_mO7lPq7VK3{c z51GJ%i;1iJR2D3$XXf+%-Uu}0;}b^aJE0sWV`~kb5-{uJZO%e^k)wgR4|q?SL7L>r znRkefjUA~7Ddxw3nd7$p?J~j$$w8wk!I5 z#W|0yqx`WWA+J4$dSTw!+jVf-2Trh!)7P6mhcI?XqWo$FFzS+};4}1x9N=bXvGNEs zAfD4zr;UK|_^JkGv&>Mi{KQl$>i1Bm-?-auDFW<%F)dIgxC6_1GutC$9q_U;-EFm` z0;omu{RgYM1K_YV-Hy-?17x4+judv5fk#ZMJ6Rn8KyP_obW=YQO3M32SR(zjb0A`4!vA6?P#&WBMF zXDi6OYk}iy3WDO%To7eSDYq;1l z6C-39xc83knJx)NTK{d@Lj^^lyKze; z;{6Bhxlq3{&mY)xo&JBh<6tI$9q`=m`8i{FOiB2rd*I-cW^z2?wK783mz?BNm+q2b z2cJLq{(pX+7(4iUf1u$>JAVpLT8eDx)9aPS|P(_c996PZ)XYl!4JZSmQ()k+cew&G(i)^O< z0 zQfJ#Gu!uA5wUUUB?`hhc{tthyqlK5+<<_Mz!AqVQJZd|OB@1K=`2afhZ%3|oJCt$H@&B)07}_|}7H3rtC_YLFtHqbGK; z$#!SN_>|aQz4_(?Z%n>=&WCcwI)++iJPvhxquu zxqVuCVJ|#h&HeB>>f0_W+tR9arN?$<8Wx+iobk_sD9lNrH9 zeEfPgYM>YS$HnZ6_U9lzW@EgdyNvj_l=qE-4)Pl~dxR#!^&=x@hkGT{6zL&oe8w)@ z9+AXC_i_3jDp6tuJAPK#0QqyVjA&b+ehPIfW)3`*m(^5or)?n-AJe;D)b4`(z1FbHtQcj{LxiEoZcq^=x+~p z-@T6N$1}!G7G**3Ox7t@8L}vVcY`!!)@2;H*@%5gMt;jTJ0kCJ1~5RC`liqaj@h8q zuzq_E<>QF0ajcuFn1kV_9uxf!UC`wrh`g#11&_6wq!(+)!6%L?I%bz=pnu{l(c5FG z;GN%!P(XJQNL6fzr|6o7`;0Ga$7X6lG!7|H(RvCEDXI6V*taP>G;yWnH8dSS4%b+>euGwS~_bqGX7by5VeBz(6Ic?{XG%`qgFygV^SK zJiqAP!R0g$Z(f@iP{6ax(d~%%Vem&x^w2a^w>{HF#nAyu9~{%1pR<5UM<;UH@&`dP zDeGrT))E-&U+<9TggA;US_@N61FwRZPR(45gbhxGlf<_o;UUSqqZj9s0T{UPk^|*n zY0T?=id_wXbetvyD;(LNQRKuaL%9q<`jW;$f8+_cny%YCzmNw=Y35D`eDDT0>y%=C zX=OqCXzS+30%;(wN}5%7zUlw4_g+z1E!(;_DoGImi2{;D1W_a>kvmA2{b*UY7~!FB9|hz0*@*eP@FYz7>&pE>Q^## zU);Wkw5M5wT4H9Q_@TFk7V<*3*SBj+&U=IUQ*x?Xegm*HzItH~jVB^HpQ>row+Ev$yx{hW_L>4? z8)Q7Wva5U`75P3m5N+t$j52nbzBZ6C9 z^Ii&_Cz@DZ;Uv8SVvSRLW@&5SCH8av@KC2P~uh* zuA|a})agznQYSAiV4wnL!o!snugn4y-H4PE&i8g)9g}9+>4jE&7V~l@`oX2|gye&z zAmr-HCPU@xhNcD!eMe=ALB&jG)8TJ{h^Kx3s8XRb`oYUuQ7zVj?oof$9C+T1PSk5Y zu6yl`vPn!xL(ni9bfOS5I9mlznGIPLi#^dxvE7;*jQyz7;QahC;}}H4qcvrpqX-P8 z=8Dbz&4{07@jIgTg#(EJr(6%YLGaiGQuoAmL^%EU<>bi( z?=ZQx>aYs9k;wV{JN9wVxKhLZ35 za-oYp>yvGMFgniVntwR{F$yCbHg9IAK*c4+;QW7#UxW@W#_IHvL z5tjZRkk4fuwZM99`3<~yazC&m*$K%pO>O=!{kZUZ)dtH|O5*n5-J)xURzOQlK*tV$ z{&d$)u_g{uf;^@DwYs1OvU5?sqTeJ(uz$%F{etVOGp0gK>t22Z^~q}xf$M=cEAz7& zv(OQrtBSWiNlE~z<*tZ#*k?SFuQ|I?x&ep0=bnjqE<=O+xcJbpJfU!YuZ!>ODroe| zKU`nR0i)>(k{Zm%XQNhqMzDUYV*kWlx^M-0UFyBULy3PJAG>_Z%%|dc1A+!It-Ukk z#26*eJ;8h|d0R6}U5}EGeso5|N05$KINP3HhtC`Kc~V>QQj!w+{-mRyrpO7C&7oUe zTIGmk?rTauTkd1O?NuHc5jx_jYkI&H%*RYs`ZU&uuhWWU*qV)zt12wVf z+?RnhO*+D7Xs^>CK5zJ?cm7lOxMB-&O-7fIcwc6*FHl||a-*#KbjxH3$GkHdLRlO{ z?7$S?Hp&&4<&``djd@OnYoT@Cg`MCV{Px)z=W-Zs==D%ypYd8`lG>Il^u&kwn&#b@ zj}>-Isw-f<^GB+hvNEo(CJY@*a)r84_pb7;JFD^p?%(n9f;%gr_njxC3zmTbbmJ{> z4)c%i6T)q8nTedP_G^PncJOseqFn&ymj9ypyp`QABx6NatW_d zvV1kf>G!tJ-AO_Z6Ly-?p2B&(*-Dm{xNp%&Z_;+FfIQU95ShDXQwh)G&IRANWDh)% z28v{{S#VlZ{XsTsCc2#Q!>g4KL4W+j6*ZRNmL{&17x&aea| z`n<1x-l`5>pXItS8D0vK@2qV$-sVA(PN9RZd@Iln+e(&<`XVl8Zmr;m40PMoxl{c3*4`z8(tN zlW-*f9jlZ3n#LD}rj%;7ww)S)lgipNU)X&>L_+DqLu&&dz1Dqy*|-SgY%i|!jt0Zl zeN##H*R4^3|ExT-XBT36)V_AOuo^Dt-#QH>{_yT&-Hta_ zBKvY>BjVXOYNqaOyXn;euag$?Wm?Z8$2)4VZTt^F;vf@=C0`+WU1dEwoSFeW?3|-^ zp#|{Jw%BIvo+qks%)PSrygS;+p}bs15&>*dvT7!94~|fg{wR09h-N#sXKVdTgZ`t9 z>&Efrpcj#{c~5Z)c--VLw|r3ng9C2W7ccvxZKg$WR2&&d_*uV}o5%{SQ#+fmRk57XeT2#92r3_VaVj2K_u zJmOYb0VS^r3dHmLK>WPD71jHGRJmG?HMEI<&>b-izSerkoxKV`;XT0Gyb&ChFvsNYzLNmiS5RGmqRonPqpn0kM=E)vy;XLa+0`o64+v!~A*O zXjW8?UeXu%R0kEJy{Gl8#zg{=VoFIHZ`4!ts@na|QL_l(?d!fTbut-vr7aa^Z#W>| z7>Yx8Ut#~T#Nu`Nqw278B`xgrRowsh6CGRKDGT(SDX;HCp%=QZwMUfaWj|y^@(4XU zABenF(`boVS7bAjg?7#rf%IBfv~o@W`ub?wUWd2Nh~^^sL1VKPWX#e@Yex3~eNhjx zas26vSkjx~m)eJs&NoG>aTT0{E_GldvCJOLJo9G|JTZW}d`3hH-$Wy+u1mqhNdwS& z{3b(XycV6{tvTkD7zd;Ga>F#PTYgv7tbXr zE+g>=@m&8n{aDVIp6MXV3|QZIX2odeiJsrG;WEeECa-lW%+83CxEZ87bP(tLCf|`1 zx5c`$kiA=Zr64J>X^lTk{gwk#8`7-2)*wd&M1SDVlI(y`o&J%LK6XEb6Jghhp8aUg_Y=C;U$Mk{7Wgycb+{=gLiIrn&nqt_0 zY?j^ECuy7udp6r!$zwh?%nGVHGD=N&NOLM=)!=$s2eDn=A;dq9kEN1XPRW|Sfz;ey z_A^)ywy;a-a>I4huclvk+Ti-?Hp?tM`Ga)C#pjDIy!gD~mEZA=96C}$3Y%u>C&`JB zex?JoxL!To*>I=r=zUoIc7NxlLv%#rC((odr7IUzY&PCt#(7#HVdl-06hxgk!{PBo ze6FD9rX;3KLe!h?w<*N@5x=SDh&SHP*4_DopVd~tXnyN=C!EjqKl<#O%5tSc&gKD{u-s2sjrI8Hyt14#o~(qnc>>QDwPg^~ zm)82p1H|z8#-dM{k1thz_CvL9AZOieC6PoBhi0C-HMMgQ9G{kqw-l^^dreA{@qasS z_^0T{UXQxnK4U&sSi79ai}mB#*=$oSoV!PU_&Gld*5e~Zm#cj+AKUkJKMkvqC7yGi z{BHh=9qYw`^0knj$$uykvX)aP}NML7A5MFq)tvxDUl&o5cBXiMd=|X9l^6 z$mgPK9U0`rk>p@~CY&F)LjSr=hmnq`lFEK_zCN*7^Ks1V%MzsB$`?{t(h4e3tn^?Z%>scz-tTX zZ>P_WqdOPsSZ8h)!u3_Ys=Q-&5Rc+y!>h$|_^@FwaOzzeqPKioe=8~-xpd2IO<}44 zm3!nDEKCDHJI{ievndYRw7Xu%wR@xE+#0oF$+hrOt|idOh?zJ3}!<$>fw`qmdD;}nXrF2(7{$O1+HIBVJrD`AC9H_u}$UTKFOJ+ zed;gsk;2u-?vSy2_LvpeS@Mf33PeVE~v{=d6i(Z%{O;*fJ+*2yn1>Kc!+3 zTyd;Q-NzXMJokL|lRA!u21ABPP%_+>{5Y0QgY@>NewU&1x}l8-33j7jD2)LW#HLXWd9^K9vN&jew^G9gWBU{G>6E# zpm_20$500BKVBLG=kG;J*wqXmm6|Jq^ zV>%E$)AUzs32oG>{Orz&*jYGS|5?4!$P4YUv>c)s@P*p&C_ORr0fVWm*x4ur6(YT)(|7|1Ex{dI1yPUFpWBuk zgSNPHQ`dOJ!5z*yYZA(ERNj>9b!5H*RT{lXeBzLf5~qia=q{x~+0%wfef>K0NN}*= z(PR{yPrtinC=~*#eHFE#R@ErFFhA(qIPU+6P-L2$Y5EbF?pa9Q7562puhhRxECN|+_3;C%zUVT^xE#wEuCGpR_UGzuL2ZVf z2W%2Lkdyv<^gT2PCC{`7gd_|j%4916=H*KG`e0G$nT#5eoZW;ziw&U|`gaK|AA?b4 zpu`ak-Wx!ATE}*6DhGX2N%_GYkO|`teq0EbutibV2i-5L*C5@#Ckx`6oT0p_?ExKa z3`$Nhao+tt8L5Sguuvvv!BrK5Gke~KAveY5g5ueH6r=k}!(S&H-OfA2EOa#o1s0i? zM$twfrt6Xh@6Tr<11b&Y$VXvtA}Sau5%I_}`}LNfqd91xQN?STA`LQbxpwc)ypQ<4 z-B)?tg?%JX_Pv3C3S@P3L745h;UD{tC8dOa>9+q`K9&}f`cFRBzmt9}E-WR9-RshS zv%p$XT3YmfKt9(1{V+?l!VJ9JpULQ7>xY^(zo{zYe6H7av&A90l!P^Lm|GS5HTAbk zvr47N5|5+}cZ44yCE$BY#x6cfbmK?d@!j|2h}6KZk#T;VAeHme^!>_LuxS{L$-}u_ zv&N15pRxb=pk@f4PFxZQ5P@T(3%Kt0YjdRWhYg5iX~+=CSq9F>i{Cs4<%yg5+YR+T zuEIfK{btIt91y8^UNGZ85Q4WhEp)!3Cbp(sxisCj0;Zg^+sJ~6e;gmP)QVoJXng}! z_Pkj) z;>YzJpB!<$y05-)J1^4%NRZ-ryM}o>PRr@D1lE%J1<1QaJAHn*uUaN|I zAwF-Irta2XIEU+3^#)xT@Oi^OjgRYvw$3D9XC#s*rW`B;G$BUx*sENeYi3W;W%411 zgP3LV)EQh}2B~{O%r`LSy(@XpM};F~?0j$Wkz^Gw(t|s|z&xct0JPglYJ^Sc#nnuRc6$ungxe zjXUwzw7oM&^lJNC!T8y?0v)w}oD?kTy?MI5lc>>^dP0`aq*w>ST{ z^M-#49~-GAWh`Mnu6%r8X9VWsb4s^K^dIK=atQU+M1n}koOPvzpY0{tY=7fv*5bx5({-LdlD8RriM%P zIPO0d(&n;I8BGw=m(D(KFXJNk3l`HQeCY`7WA$G>@j1j_@!RkBe{tELj=!(>SJ!{~ zoL}?)YW?5u|C;xwT5K(L1;v zH=x?3VGPArNIuNWiiU}=Z^B9BqL5M`idGm)NAH3NwO}JV&YY`w|r=l%=Cz9E&yqfuWv}I(|}4#v_+j)9XzL9D!we# z!K)_rhb=qPP}Jh3H|@G*z*TISe`k9%EaqR%59V}&f>YT(#AF9N+@i>pIT8Zb@4Vx2 zs>?^zZ`?WZ`N~m({qe(-)$w3%-FHRtcr2Q~7yNq7@DBK$c_{f*w*w*C5PQn)M?v7K zw!8!X93($~Q?%3D7j@b1J1l-P8YM(-so_670Q+nhi~DN4z_hjc;MH{l_$1R~-%D2n zyR*(}dP;}DCjruHjqQ%;Tu0pLx655<@dBwy-clj7C=}7tKQ(~Om+j*PizkuZJw9wC8TdtK*3OP)xG#8*dQX-#v07>?(|0ajcmcNJekzJ_?Dy^F#OZ zuU=E~4T5qq>H2S5;8tz4-YqZv5kZN)~#B;>LpLb`wLhmniUO7_^Q7W8VEPhRl!Mlv^j)F;ko zqZ2813}oXO5U*&Kw)>PRyhvPeY+6l1EhKw&Vylv1@9piJTw)o(t{83U_^l2-_$-qh zGOmu^%Cf?T@5#`kKGG91pN;GuZGUFuUkwM!x9^nFt^}XMA}SIR!SKj>tmx#{e8e>W z^SkP7B3e31UbsM+1`2`Gq|{&UfNI#fWoph{v>MZvdrtHz8aAvMnvS`NKL31g&|h8# z>%vBiq2f)*N9!F6&x20XUG}r^QK=5J24-nz-<$=rl=7Y7uPsrB$>c+1?u&~3S>;Z4 z^g{>r>N{y>FH~S*zaF^kilRo3o=_Jng0lDK+ugo+qD;^Gmp2EwAq(Bn4~iPCXprq- zJ3H>1wce?xwD&>;8kJ|>UDz^=B5QjLe}+`T&pj?$_iP;?Zus@U!EeLJBC@BYQi%~9 z?CUwHENsDdYGrL|Fa>HEX$qur3vizNEB&>LQOIq^Hc!KcsZ+`zbqTA7H2s&_1*;@Cby3qQt2Q2od8K)+6l2pyZAFM!Opoh{@An}jm<7_J%M}3kRsCCQ# zK!$mjG02FGIUnanrAUgBT%aV@nAj9LaJ}@*oOPEl-p{h4N!3WK$G3_fSnkE&@48@K zF^ucgN6N=H)zWrD^ih^Qc|!k{Pc*Nuf_3FGi7VB6aX;y+{0lNwJ1`$x^h(fulqXDg zF&=WVAR&Gfhd+5@fa|M|D9?^!K7NM!YNK$T+4?4fGmaJ%#Hw?|Hfo&Dh0b*#-V z6%cztp)A-dM|8dy%DFkuO%%&&nD&Lt^1NQIb2`;Imav`iA*OW<>DVZk zM?1_;L^iEmv%q|uITzVD`Av>6{pbi5kV?O4*v9^r_@2AAm@%YSMZo0nHJQ!(h>AEA^qXF|JYyg+wb>(aoL}azpwXK*MIt)U-SNI z{on8Zn)j#U@9X{5^`AcH*Ss0$!<&nCbs&?E>`YG{2m#$ zG*0)7fp`xygBMtzvyD%?d}`JZ90szv+>eOC^>l`UF_~PrR6pm)m=Od_Bg{fU0gk}i zxLESEunS#P4u8Mw=!i}Q+?ygPi$tBrhD)SIr;wh}5kjrq8;%Q1miK**10};suTsM? z)Hji((@A0gvT-K5N;3gy+u3sKCb|YRR2q7z$|VFYZ0QmXJYontxtg}#QYeEj+y@&3 ze_(&~vjOEJd;L-U{izr_ee7RWNaP=&On`mIChxXMrNU8}@1Gnpv*3o$j7msJ8C+){ z-B%qMgD%xtNAB`Gg_>XG@lNQ3zf$JLC%UG}A}R?U`#zLNzm|+HJpF!v_CzK$RTUlBVS)YJ7o$~kcbtGnL&sP5 z^UgtCQK#aJjt}bNZ)0V!jY0V%DWY2>1|aq1wwU2mPuTHRJX_pPABw^_e%}352yZEt z>h|IK>PcscD;sWZ=uAO)UJ|Dx$?5$6bKA+tj`2 z&}m@mhbc9BqNvk&GE)WHI^ zWc`)!479H+gly$H0V9nb{G7BU$epJ=V&POQu#taAj^m<5lEE%l58udw*EOGAQhhqm z8N(AE3$IO(U$D#9yrfx3tJ$2)b;1MHJk2sV=o`uS*V zvu(|jE7?%VlCjL`B_<)a{ANht8D zD6)d$I>!>9ht<$=sodl%X%TGj>QPMCBqN$`pY4HaX<$S?6fP<@E9Sen3W>O|Pw71WlTc`r~ z59DRAWCx)PQ<)-XA`{-9Eb0$d^#clxc!R48$)KAxua+MX4|k?}?=?L@sBOh4W`}Av z(E6_QQr$~M-;&y&?(Hu}L;vRo^xyR#ONmSU(ry2>d@Ly<`k#ERe=9x~6PJ;cmJ}8F zyMQbyA^Gof2uO=HxoG89oV^sR+qKK?BJjS$qNB<2lF zou@Xh;5t&qQb){ll+I;+rRPYAbGp;HPmk!LQqqS5*yBVrp0W2_J=6tccivMBlP$wX zKiZ7{^2S`=}nv%DRGFT z{f#fyn{)R27m{K9xHD+`nbCl5Afd^5S&jAPz^s<5RG5#W?%41L^V1QF&4aSnX(tLgL{nKFJBuYj zG+y8IaML0+(K7Q%Lh}qA;Zd8S?f4JmLqYgx6JMLsEVcm;+lAHE^FXuO0R~ zbqhHN@0lZTe|{OPypA||;oPncDcSwKn2*1ZE!}sx=#A#J!cT0Sz&v+o^0cirJ@J}v zhF==jSAX1$p1ys8-`k^Z9o`?gi3=b47<#GiqxCz}LSu9CL~rHS$|u-=JSkRJTx78f zMb9%e^Von`vd-)r#`)D6F-8?5ZIN93;QZ=$ydRwY z+kXC2_;`YAD9<1BaYWBjV=(4pLyB$|D}3HCIQWS@9`EPC(;96W%*S2^d#;aTZWbs) zYqpq==UP?w1>t#^Ssqf?PdE>p)u!*RBj#gOg-v(Ka36FDiRTCWF&~d_ zH1BnZB`5BE=iSkQ`;U3|J$k{3`FQyf`)enxA4k-7s-DNbQB1{J1^_t z`s$PF>+BKO&waYI=}Z+D@t|cgWd!$2_SCaXB>fK`ll;!Fzqs>H$KTictLr~~&aZjb zOXzmhvvr^<3g`Pv6+7YVtt+ELr)Ob)bDsjGQvhPUsqDwe5(_j*SL8IYe!L#f-h69T zA3kkJ#Hg9bL8JE&<;0O(hEzO$nVFk?fupC&0D35~~lG=9duV>_YO-uE(qHa2s3^!#0j6ZX6B zuAPWJuaxdI_s9kd9-pb$n;j@sfUQeAx@Unf+nis_R)*MJw}nX;j3d=Y3%2=# zX^7WzZQAO+3+S3fyZIb%LTu_fbFw>v!O=MU(}pYVA9XqH;-&(2;fLC8A91dkVFX#3CH{MFTKgRT+y=!A z)%f1^FGr`(+t}Pz5Je}&`Fi>iU;)leM>Z!QTQBU*WxYV_u9&R1T4#x94-(5wcB+i{Z8UQrs;`cVH4giOs%3TIuN3_wkucy7$1NwA!`G&<8K-KYW4MST^f%lr> zp%1wKa6w-606WgNif*mD+ooTQjvu)@;vpRa>l!mJsHsNLH;Yp)Iv>m7a*iFJbcro$ z3k`kYv+^8qd}i#AFv&m@85+lQhTYIJ{u`BRlsV{#%x*5HkxZZ^{e13nR4kC|P!A8( zCcjC#rn?M_ziXvILzHNZy2uUih*o*P zd?5=qPTE!-<0%BY(rZU)@p(zkSH(E3JD$k4!D|2T-URe~%BJYOYZ-3agK zIHMKrpGE6Kik)gox#;W-5-KxAJJclEK+WHj2ABI3EWJ%Dkph!XlSXqVn#r}Pi1RfD zKMgAKVf$HlqVy%t!Q28(TsQbZ_uUV9N3>2&RQ3boCH|04{Lbjya{ilRhum>)m1XE9 zaa>BK~^c2zqeR zMJ-0I5@a8@3{EqvDpxClzl85P0;26UCK<23q(0+dPsLk;n9J8f*_Dv=q zdg?9>C*`N2C%0bBC{q-I+OE)BQN?AT@!qCnG9?T>?z2Oud&|+~i~0t^y*J@g=H@wT z?3=hLB6z8cEDf35$jG#EEdi0H(ybR3Bhb9`Q~F0VX~4dZDRoFV9s+VS{L7rup^R0I zbJRZv-7#U*VAackyj$lj6&F20Zl`AW!iQ4i<5863&zcRvOh?1+D#aq(!PaI9$ErW) zV`<4>y6wM~k7aQGs{iX1$SdY(e7rmQVx&rrVq(87*<9uMN!Cht+1aa6=STyhpHPNg2lB7=! z|9OlXeH8y2&;9;>{>oeam4E)f?~4<8JM8W#*X|;Ieg9XEdWCFu;65Mj|6jiP$N!bP z&h>x4|0_p*&z#Bq059hM`~6>^SFvrs&gQ^Kl;FTkcXx4U6sxuI#{Hxvx=2LhiaCh> z#9D^EAC^Jm>-p~2xK7w|Oy)ZCEu3Hd%9pSFiw8O#{q}A7m>l7kr^8%@`S@r1izaEt z6^QGd=wilvOxl{!sJ6&WI4wNi&XCZF{ejBCJeZH4DHonPn=9f%dS}OwB9y9VuJbjm=&D?4eswmKi60tfZxx5ntoiF zJi$AM`S|oD5sJ5%kNa-XkDkJO{DW4(*t&#+NT0fzDun&VE7uFDbub@O`}g!q;`(aQ zBv1b{pUH`Q@f17SRXO5m!<$$^LwaKW3u!h_>_2`PP;4)Z_fs}HXiW_FKi+0bMu8&8 zi4Dmt%_7XlzOkl3H!&Y;HSX_e)TblTIP%3Zsc{~-k09*E9^<$*x`RaAPq;U&3PE!g#b(P*`a z29b#c&6VfLpj{w90Rj2&=(3NG|NclgN_}oe)%PoCVlJ4@ZlMebelU)F(iRUFj>}RO znY*Lh=L>3lWRa-9EwE%%Ar+Afx~`7jwMH2xH0@NCmB6USu9P~G2D*h~6B>1Ks6p#M zxr<;X4B2|Mv)Xi^%0|bfgFL4o@UhmJZJ3W2mBTGkpLrurWhN_1hgj6B^;zJh=m30j zZr=3tn>!3EFY#Pq)PWqQR}nA27DArGrXNmwgW#<`dL7g6i7rHZdN2L03lVmD6<2np zL3E;+38&pj*eu8#bV*?fy{`7I^mytBPSv!^EoNn?c(l|qmwf`&j9iZsYl%gU9je0x zAKhU8w3*95Mhy}Rr*&--3kQ*8rR+XhM|6K`A#dODPu^2dVvzt~dC>BZZ6HvcYfL!hxn%Z7SMYp<&V4p=U&``Nj@4Mpy zg_Qf+Hs$M~64936k2HC(`w-2{Ip+@4Dj&HJ;An>0E1oyT-<<``^}eH_DsE`jl3<#7 zj`d?oJOI zYoFRt*#m}$9Ie%8h|xLjX?HY~%q1}lB#xq0cCUJ=x8?BuB4=2g$Q88ZL6NlQ`4`C0 ze(=%G!Zc)bdRK(;%bV!?;O#P6`&9Juq>$~mBk91Le57Q@ix`-2w<~`elnTckO=RSS zsvsoOY8{4SA#>DzcO+Xr8g*Edt5?-TWpb859(-6&YnDyvn?CwR15O(Iws8=7;$>gKw{MQ?Uv7>2dT(Im`l| z2J>R7js-GrOZ_NHf85m+$9mAO7glExyMwdX2f!Ei)7 zyUGJR?r^^7HX22Osy~BnR!2kKzMDf2rq80#Nc%kwUuvMiCd_kcAFfvn?fW3sorJUl zPUb^rG2~MJ_+Cp<0TZig-#dmJ5%O`Dx-*xDx+!^-6%Pc$eecTzaGxZ0;c5 z1sZ?8_XY6j_;AQdi8&}D>RWH6{g8-Rz{G=ue5jDC_X>NG1mE9ze$RPTgW~)RR*gpT zpgn=S^{luF5>Y!ySnP>H(P5fz$2_t?xKJs4pXY7#imZ9)^sTBtuCJCBmH4IG{!95- zS`35wfB5*{ijT#`#ihhVW&U13m$bN;$R7lB{o;uKcl_7!aSm&NZA^F6pvF;FjD6xwyW%yxYRq>c=whHSSJ`#D3ZQ95Gx}LP|W-Gw_yvr;EOEPDbvp zmm?<7@ZB4V4`55K((-neWw1S0*D-6UL;4XUl(+fKGp+gn<8G)Vm@BEcm8QU z=3{j$3HNENKRc@pWoYfBAQN#O>0SK+MOhRy22d%?Vd*_{`U9D9o!4jj|#k_ z?%^Wp?lCs6&#pjJKwCCPz(0?VAEip#&_pv5%Pxl=X_8S87T!J5UYL(dBVYY2uH+y> zGAO6_$YKBb<>~PO{JD30#u6>g=W4snYtM}PA73+24ZZeNj^G=a+=Ptji8VbBcYVy$ zJ6{dmyNmbp_4kK9bJ%}e)O?aMEQFjmSu+#&=BGSC=G4fc#=}ZjOU;~pj_VtaGI1OY zqXI&Zdu%r=DGNb8(3Eom_a9>w?i5qTxn?Dik&pOm(uKW>fbWu#X^BM=T-v$x@OW}0 zI4^t`oz6-E*8?w3?rgC}>&-0}t{yQ3;TE_2o?{j0>k}jXQ}lPiGgfERbKDyx7r$?r zFwI2_Vw|Zye)|nkF`@CN5(>KBs>#4D&I?Hr_CIA$M?B zX|QJ)(*pCIO4rD+|M=Os-}_#Q0MOgM_xyaW7y5aVWvTIT7jk6dh{}b#a74+^o^|*J zB!#W$PnJz0SAmB@8%q(8sNudr_N5HfKH-u-l{bL~NJyuGb{WE+SBLY%I6NUalR1=} zB@J1WCN&2YM#0S;v$Ll6-O=`ujj_)u1uzy6U2W`#b5ANyWN1Zrft*cWkbv185IihK zTbFDN{LxR0ANdBL9pc&3d6KcPzH>h8{4;wf_^dc}N+1%MP#u{$6q<)ba~Lo92PVK= zugcD&<`K~L;`*fn+IeW#N1y%L^qJ^mmSOsQZaOkD4(kY0uYsouJ%?1ilp&kddwUEU z6XHD3(l zcYf`Lj^$dsR=aT?E`3}*ziQk(+!=7i$b><{Oi*^i=k0Z z_6LFYv!z4bxXHj9e72b<)y3gFYtC6Q1^oMLt0+s@OgU+jS+5bTDVR#TIT2bOUj zr|+cDTX!R&sSlM_q+?}w8X)B%*RXTuFuRZP!qO3N7%32TY=R|veW-WKDM#A@CoE* zz_@wN>>B3dNO|q=;W)oq+GVM45B48Fa}uu#7018tKTqnH#5v&&Vu68AHAsn{f{DdT zAIS;-*h@;^F&}@e>`?gdvf;ymT*g8NKXxW3x`#fP3pn2+1T zE?cxv>>xf#m{+|&O-EePj^{h{59H%`4i(9hj*JAC@=?`GG3OAsVfBZL_`HGSr$p&Q z4F|!0t-K-r^D-!ueeY+*e%XD3^M(Rm?8N;P^@LMGS5T=7eJAsCIl_)9Cq>eZp4dEc zdb2S93LJgU#z=|#kL_>K@7`GECPr>VQ@=B9N2E56k+Yfx1`%&Z0u!yHmInCIxGeIIXn$VGJPp&OaYE1=P+l2q&W z&*S6yHw6vPVi<|-?w;FXFdtWZtDyXVIhZf=OBU2~5a(sX-mA&r^Oc|d%9{A|S_-Wt z_bGN_eUq4HJ$^sOS#Jt#TEcl}`9bdnOz8#0x8+tAVy>S{U^DK2 zd_17<>{FZ*w_B=6?P~)U5!YNVwAq}F2rf3-9~Ji>KK`9we{tuZj=!(>SJ!{~oL}>1 zTo!Lg?(0Bi4ek8TZi%9f(&u%9a8019(i<Kj?UHi1g^imWj|Oao@tD5`x7F(4dT zKeW%e0AzdjZYCp*!Z}2i0hh?4;ar8%IKNUj9R8r$Ey!7p1URg!BFdv-mS4kjSk?!M ze{SWOP{@GT-RP9xlo^UR$18FN_jT3qUf{Xu8jMCS<@So+HHJJ}#$^i3Z4)Hd3Ln*{ zLGL>rm9UL4)c>*g6VI)5^qMbcB#zw|#Lr$)m4+x->aP&o$I$?9Wfq$=FQkK=m`G}% zTMP=Y(oLh0?t}DuS#G({&{MXjF*l#`sP3HsA?LA2IEP( zb1@(H$9gQZ47h=l?;;&bq85B5GfA%(D1sd*$GKbD7p}9wc|mn=R66u_peC#fX$<%e zN1#+V@j`&2NZJif@;Q&}n4Ca1-nAU++f#wF=3T#RR5`LaDPN_pG>KMyTZVc@?toPP zDNY&zFJPf1*(-iH70R^*RusGLK*o(jyRyx^(9pDa-m76Fbfq-iOuDNW?OI?y9XsfW zmc9_-!TbD?QRnezC1-+R)`wQ8kVFy6NvD-sK1ZYTR9n>^CtpWGQcn`t-$bB^{FQ@R z_Lor4+u_nY_6*22CnY{O2S9Yu!p{wrM6}{bIiIZRjbHKOAb~Y~v5DwHC>RitoRj37bIv(Qk|-i7g_1!)K|us12nvWOBGGheowMDiZSRk- zxo*2{ee1UMYqlDrW}(HHz*BGU?<==_itTXz3{-^lR*xKTLxX2FP+wgT>{R@DR|D(E zJ9reZSF#O~a}}MharK6z2HCx*4T@o2#bN)rpADQFUECQhh<(591RSC*%9!QQ}AnY8Jib0RFqXJ6!%uZ7n;-u8rrMWM)7 zMwjR(Y=Dtqr>-`QgWevCamRZ($Y1yXZN;-pP+aC84Uo@7l5xyBah@jV#d8zgA*OJo zsj%_p0aGCaWy(AmcpD6=+L@xVJP2(!;3Dx>y9&1=25Y=@ZZ<-e-(;rfk& zL!1c}j}RIt;Vh-Nhcva9hlRoukS3oe@5fD}sO5ft_p?VeKq|F@)j2{aJy}cuk=XV96-geihB6Al|k}PA1eisEor6KM<4i0GVMyUP6TgCW%Lm|ig z)@@L_evvPsA_bl_Wf!jr$ASHk(TU!n9FP)fR(*On7oxbocPPA$0`~1oM*fMpa7X_X zg}Du`e;i)AdP5lJPjA5Mmp^e%7pZKB$cR1EebB4&o4${ZaBf`Gx>X1#9^NQ^z10uZ z-p(*t9EpMSk2|Uc&t*b@LmP|eqpR>K``ujmh4O!zkEH~Kf9baWQa+Z#F;oBX=lb{J zV@XjlDKWu6rdO30y`BuO69`A=)krAUo2q*S6ug>arZ68L zEKOe0qFjfv+~{My!I>bn_~?u$?myl>?yXX=N=xi$@_5jV^JS65(u&&OP(Kc?d$`%? z+*?p@GSKhEe5}f-MEWHEDA6&Wxs_Fml3-%vIm(023n(u#542&O-dS-~^R)pP(S0v; zq5CrhA%5RIE)na*=90(G8K3M1VQq;PW$a%~Np?%#0-rZ*q`*-R+#gEmP*oL;`Iu}+ zn`I&9x$8YP6E9szu<52-gdXM(vX(7tRhW4)gam_F_&hy+?@ob4B92w=#r4mrWfluCMM7HC2@|Spg2; zyG^s(fG{?U;u6O7z~X0DeQyR{gd%8gnZrKSjVCTxHefzhJbj#l_1h}&4YPNW{tfxK zGxyTq#YASp(060xH0I+@zYpIfaUHcd>5SDe#6hU3CjVfT!2Vg493OcxAE)kj-SBzG zMoezkWqbO8f{6X-%<214njq;Imw#%`NT^8llU@JEdCi!h)*-x~%6&|-qC?z7KbK+}rIDf1! z^JmOX%*QhM7q;;tF2bsIVksIw&lVoZ&1bL=+F$Y8@ArRk*+2XG`+9#h{%60=ulN1c z`oG`*^}c`h_4oDuYW&ZBonP-W=JZw2KGcHtJYqKs=aoR5*NXY4C1#+UojpamIT-s; zt@!>7PXxc2*v}DeINvFUMd$pSEXWE<-o3Ug3xe5}WM{()!G*bg=HUllP~3m)#@J^s zke0E^%B*ffOUU%;uGW0?s`N&23V9k*Ywtc^FEWXEYPD+1=<{Lwm9EcBi*azOfc4aY z!f{lqHMYaIIRhHz-;A%7r-HC^H^&RAJ7CkjPQ4+V2vtra8;G;<;f{ucd`cO(zqxt`e(^99#=M(fesanC_joFh&n1@>s) zN3)l2_M4+kA@B4^r~Qy&N^a`Q_H;PRrJDNLHXa=~P-R@-;SR#BdwAuJ6#yAyJX?Kk z6bv(OMox#SV1s`7$5)qZpiqpO;W?R%vcBKS;@zK#exCl}pMv|3y>j?s3oVpku(W80 z7WXVLXlT9hIpd4Q4!82Tr6eNK>Qo<2%*V{sq~AHYJb{ny^tCVj7hu$|JmM=+2EmQ? zw`aEa!WP%%4R$|YWSN*bIIG)^2FX)Br1&x+vGLQK=v80XO>S2`c6=NilcRm=&XotF z9}xL$Uln2_d#&xAJb`q-&RtCv&xWQg{Wh9Ad|@%2=^K4|8T3#nbjn~I`s|j7;8P#G zk*!BY3O89H8Yy;3;Yg}QGY_c?8atv;amwye52h@{Yu%iAo+S=C;^q(ce~5;OEa@@- zE5*o}%X^z`qdb!1Ft)Zk8Hn@^Q)n+f&V#7sD++hIb3q~6ev^T{4=hYX4$kdOgV(Pt z@7gX!gGF+Fu-}d_w0TFp^H%9Hc+w}4eyu+MB@eRBaQ}z}=Wirmp6`!A;WZ~ZSd3cG z!9$;*w#^ES{~#rwEtmoN(p>UOcCIMy@aX{W`$16i@S@#br2(i&KSiCs!yILa76t42 zc*A1TN$zC|%*Peo4#xNFK=*k7|C!Tnu<+2u`?XVJ^{tCPONvD7OI|M6@XNO)Cj7}fv~-WLMK7bD+xNOgVb{YFg#<={)F&c{g~o=NM#^_x99eL?by<{=43f zlOVcLAZ6Xl4@^gTyBb7r4%C1Bfc{f|E-6u=U%KtTmXF0mCI92k^>4+;;v%AwlA?cD zUM(diCH&{^Ts(if{NuwB?iM$ny@g;ZQman=IOI1%iOygSeoz+~{2k{zSy{h}^1*!k z<*8g>64pC&uBYF(FeW3ySDc>PSe}CGQ8I_^vETBgnSrWl(=O~Q`mM@WVFlbDWT{DG zK33hdl&gvLrBBXe?Dr*-!1_`ctt-|$_XHk4R4PG2yyPc+^X>5pgq@%MOg1b-PImeB9m8S#F8@ylH)|6wX~GBWSuADJil4 zQR&sF_}+iiQ3qKtc7}9AP_xQF4(>P3Iu&)e5%cl&-5qZpV?U&U&|v*_hAo6T9J;v| z^KrJ=3jF|%B6PKwvb>CWLY{w;ss;10MZJN!MfNIitOz=?nriw3_SdU)|8xj(Iz(FXn zaI5v==QHGBBOJzj%pCFlTvQkv!8Ju)&vfKxqgup)gqr8l1jC->%oJxvB3Ajt@x()` zU_iOE#}@OP`OnWgwKuqlSEiC*ot{5Lt;NOrV=*6ps5l~{>B&mGyYscr0rwwIPAYQS zVn3h@=V`Pi#-sr>On4&vNYeD^kS2BK_rRa6}F@vy#VlKXo$ z!da$}Hxlc|Pkp!7*e_te`lGKjGjU$l0`JjtHJFe2iJp6T9k|aztaaAz1vl|5ws{L% zI0cb&)Gk1Tq3w>-d8Di$Nk5>UX?L4IJd|q zd2*gd7NW8rH}}L8f**Z;%&z0U5S_8-?UT1&@cqQ&FyFW~^q^a(+H$P`)hY@`3G}6+ z$}UZmyLl1`6U}NC@AEe`X+!oY1++TlwhHsj@2zJsxm!oV6i7!3S-)?J7#azFY=0XAa3oB*GW5 z`q_TW(-He>sjWrxVX`vb>AQCsw0<#{;JzLJ#!d8xpCn|$9;w8&B4Mm^(;p4Bw@yV) zGFy(FwaP#lz-IEOkZdK zdLQyRZ_s+du;A+3Pn3F)rxcZ6dAba44Cd(SW4)I=TINo+9@bm+g7Ckx9Zk@Oq-=@F z0D*%E2k1ZfLN5cW{_ye`GS8#i9>|;zGdaFtRaie3ub3Q+h?_uh>`R>vLunvjqqLa``1 zovS?b>T5PQJ-hJ9M9&?f4XDmsqpyU!?ACF67_k1Gw)kPn!4w_mJgM$^Hy&U38- z`5_h>fe(vS$xyC-k}8lP9eHJ({@i5Hf*N1b*qdrvBVM=1H0O){kEE0_dT}ZKJE6(g9ghZ zNN`%-m%YXwlHAVjbvzmXmX|I+w(P+3PG&6U0OV z=0YP`{W%Hi6vP_zV`CsT7`TpBbj3L(fa?ys7dwBJAa0ZIeM@0^*gxL*EmdF|TI1Cq z>7P$RxhD!t9O_e0)i~3(PWwWzfA~Z^j4}}3vp<;=bH{%lMjB3eixxwTkdWFfT+eLY z`tW^qX9_s>EKD#qyQ7RF_nsYLP6pExIidPiAz;-^J26<=imHs<6v>3lp}0-pyOsy8 zS9gn0+MS;G8}~SX>5&H80J3n2)1a_|*p2 zx&YZdW|UT10k{5IkFS{L6t})jRXxr?m@thi9ji=zGO?L6n2(bzgCsX^UI*5xkc}OmGT}1qLh~%<<0WcaZF5pO!ZGp_Fk(Mu)%cth z^}it>S2%ptzv1~7C?)q4YmHM7UsOb;_h6p8#^Jj62KGDC{o-M$hxyp=KGAp+^RbgO zt&PzYGUCBInn(Ze2X?rss@8}3IM=tBS!T2wSk9$_kd3msuTpKMWu`S_m9ohN@sKHhhVFOAHVnP}yc+2}|+hZ5iW9URB| zdFh7tKo{0K2dmdjBcR$GYmbSBEhl--=p&USszVY0fRWQRDrTw8~gY@Ma~Ftoj*r zEmvT}xV>>J4G;#lrz->KS%}k+m;oRXOdU(zBQQ=EUSep>esE#9{ezNFL_TQ~@vM*FDC`1!PS*)wK^`Pi$d zyIFFPjTqUl99r~=f^eM)?#ufiO_ViVr+HFzpsq@l^F-y*e+l`p05g_-t&^1 zh$?l69f+hL@-H)JZCR5cPW9}{xNwY>IN+DS?|7YoXdUr0vBADw=b0!EnlZBwKhC}( z)y916;H#JGi23+#KC{c(BQ8Sh+OhdI?B~^9FWk_FbCLgw-+sUU-(2=zh7W%_{(Zf_ z8vp6~zt8`x^?$$r`}_ZN{QG);HU87}f1iIih=M~;s0HcqZeQ^m6~}(Q&skH&X0RWS z(h;t-U}VnCp8hs55j<8XlVh-cd};HkxFqLOU|=ez=I2B}>Na?23%Pv#4f znIw-$bG=~sIA zv2guByN#{qIMS{yrxrWzh6_Um?yox}L7bfLZr$)wpbE6#A~2KzXHOi1mAn|p7)x%b z<;z7IlJwiM!)~I3ch6eWcjP4`M$bzPyZTgA8!s{nRr-mW4{|!ZIG-%0V0} z=a-T;CqU%4yV9@DhN9K?_R-0D`LN756>*9*0@$#`4PMW&!|lk+!PzvUtM5%I$Pn2%pqFe-*f zDZ|8JT6JB_#~a%q47uVr z=x)P$xtHIO<~*?9OgYHsWDf?Bj7euZeUSmnk5bh^V-$&EaA{jAq?J>!{3OXnO5&SO zKfBa|F4d^B_dl>k>uo+l88>IZb%b+?DjF*DkBE$qxX{(s15PoiX~p z$E=av${U87eXq}O6a#l@h$f}DBgDLy)7zfq3X6*4tbX@fP?7jlWaFLND2S9c{<&HJ zu$L>V%uS6V^W&TXUnZ(xRe|#n<f+WzUzR(PUnzrd+2v931s< z*}@YCH>lUo(-;<@yrHQM)utS0p$&uBe+F9=2O>Pz#t<^f9% zle$x!Eo|RAPbmCM2PtoJ!BqYVYV4mN|;8 ztRJc?%Us-&98j_+)xBoyhc>uCJ(7d@SOLv>49lA#lVBBRxf7n~+Mq>A#g=AtNWbw% z0o7eJ{Yk5GvLhA^q%{DG;JG zo*nYK=8Y<=tDaolm5qwzf>;&|oFVM0z_AgW>vo7??zFY9KhzJkug{#T0@th7i+iHt zL5=mJzWwu1sN`wTW>blSh{Iho+wBS=?v=x^)?yxrH}ZEkah5>S^;5DT+e{!xwAVXq zBnO_i_FvSQh=aKTmZU53jxb}*Z__PR0KV>f1K-|Dfom@U6-o>vft;G&;0|>qYRpzU zASDnB`KG&uTq&ZVdLO?-^pQj~^j|-q|5QH~62u*(|0Uf1O95F(Py|OH|Hq;0-^rm% zTuMw#NKE1n2^oK<#U=jKqU(S9a{U_p>-@Q@Uz2bSlD~s5S3kJZ>&BoFK|awQ%)w7G zv%fsNMoA1ye~c^pxdPJ(3uWxM9+-V9kCy8K8Bwp17dmES21@!ld|xmhH}8JqHFUch zPVHP~fDa90{SVmifBCoXdpb`Vdg zH~$U!SVxZGP(Kdhe~fSD`gfMNt>?aZZIJuhv&?f{XI0t|rezq`1Z3NMTxr(4^o@-0ROu z)G{vHU$t3*^Y*WAq*DQ5^@8-rwp}bl%TQmOex(*v<}IEG#C&|gEYkfV=HpR^J>`6~ zYfwg#`R3B!kdIqd0y4Q%nTeq-};p^}^O+i* zI5TQQNHXlXNfn@M;3_IUVb5Psj(l=dBr* zt})PJYZh=wcN`f;cZ?r?N_O2Jv^OPK5dPl&Gn)s>UvVE4O^E$-^W<#g&1S*63HPq$#J&ijq;iB%5?1Tog+$X)f$NLVXbULX65 zrOG_C=46zEiAe+6Ao-i9By>NOpj13s_$oxQuiOM$yS6M{^bdx5gB=ateknlBM77pV zoduV^({k+$%|Y9)>CkG-N+ETYiy8-F+(5rhTebFa8uZ#HT4_io0*H+-%r_oFS+r4S z#X71XspDvq^XEbcGuAx5@Yn|!lCsrnz9pj76VyL8e+&Sj#n3al9}?i>vbXoFZ8|zr zcW$m;uLV7Q=5a;-hz(N9b6w{ynSrr8?Y?9`ozcTh)P?66gR#%lxc-#v06g@Pe!r8# z1brp^wX#gT;bT|71&whr^!iBG&%m>(P-*8tUpt6bvv5E4(dmK zv?f^)7Zcy%U>61ncVC!i(CDJmj(4UtO5D*J zlh#g&F|eT@Ml)3xk7h@oT<^G?3YmTb%9&XSkZCK)ZG(N>BGw~z^M?9^CvI$~63T)1 z=KOYAKMaxfUXnEay_GO(Yx1*>-4^y|x$jnCO+^*P!EH-M<*0MJlxS>05^Q;Lbcyz9 zIy|_m6rau)ji?VcJG2$FqQ%!2i!U_bJj7ckocp|IKz93U=`BCZ(1D(pW5+!M(V)bU z&sR%uzSApM_&DZ(3NkNntOa`@JBn=$A1ljYwW_W}@RKpJ=63wizsD10zn$Rwx}zD5 zyl6Eu>$!sxMqV07YD6Q(UKi<|;-e^T!J_}thgvw36tcU!z#koUTylK#bQB%=&Yq)r zE&}Wob|{ZCokt$sQ_dMF z_9rI^9={3UIS!0mT>@yI=E;-SbR2+ZX=fd;OEuVyk4&BljfT4|ZLI1+(a@%={hn>I z9EG|nzINw{0S=Du@(03W@#jYN@wQ~U{}+5LCh<$S{TK7GgrL-a9J>Ck6l4iuNl_tD z;Xmv^77~;Y6a7<*u3tp_KVScKd|XDRGi$>B4*N%V7dTyrLjDyp+P;{B-Cl2TTQQ>~ zPAF+KZji4+!C(O0Hhld~0kRp^!2Z>lU*27VuK6`$34X2r>-r`3YNhNezLES5`S|B&?Gt8h z%!D_uRG;S^5j6HhPJ#{hA5$q_Y)ZpChr=6pxBggxJ&n89k})6iwXIsd$!8;|Pi5== zsMJI`+^LyS{nCU$QVMmlCnGViIlh*bZWS*1z_}RA#}7`IEpvS1CX~y1Vdi}k+TCb& z+igmQ7*^VvDjv*Av{XG|7Pni0O(8lq53!$=l10}JjXf+x^tklnC<--ndG`YC3*0ZO z$2+i8f%#Z>YFgfhV-0QuQk`k{`}@^bA7!2R%9GAa*q8HCkNl({%+`e}G%yG6Q4Wnb z+s#2l7|N_?`N#A3iELo|B)B&n2&vJ+0?I`W+l#>&BVx?;`)b{ zVXF48GQ`-dZ=D4v3z2R@TKEA!pUUr#lAgimUatjMX~{ach+JuzOU3#)4{ESOt_tU9 z{T09ce*bqq`_u97>;2XEPuKr_{$H*C`~BbF|EJ^M*ZZsSpRWJ=e0n{7lh1-JNZPskZweCbHa!)Ni14u7@ zGCeTthL}Eur)Cz2Sf*T?-NzD$4lc$WEO#k}U~A(yY`Y!cFi+{Fsd`(a z*RgE3gmR!dsDHoVvsfrpF+Co`?hg_=iYrZ|sfcd1K#Ezs0P-Ds>76ckquVRIW6bsO zh|W0lg1#lzC8f%WyBw84;YX9k51jAB`HDR9r5^5crkeU@*`0{yL*x%e?!$WLTRlk@ zQa^a6Yhb+$Ixzpn(HY5>LI05(`l9mKr;4ul^S5vxG~;$^@-?onz8PZ{X)Kosn`;d} zPt|!rv;gU~$&=$qlVd9POi(VUFhuF>++U9TCaH>P*(MNo`>nhm>84=F<+Z_>8VJs_ zPBb+V8AzYShG{r311?MUsaSG5!%R#-{XVXAL}5j8t>tbAd=wTjITYawT(gHB$JpUI z_29}k>QB;OF`VXl?r;M9biUO7W5E-hkGJ|fXcK~dIDO}w+U5hr$JY77qHWQl)YWT2 zSWh*#kM&3{az>A%UsqF2W<#pZp#HJ@H{s)}ZatBs?%+kUTwD9V4=r_E_cEzWgVQr9 zdmW1c!63!p&Nj7Jr0}%cwE27sI$F}FW9ept?7DV`QJ2j?k?>yf9ao)j9lhd{FTBBE z+)pogju?Q5-M7enYfX`BZt~&{TW{d4V&Gy&#n2{Eq9{1;1kQzp2IuWvp^&*~vtoA( z+CnY(XnCm$8Rssk8ZSHI9I)qc=942R>*Qq8@`q~J|>$hJ5m7Y7IBx=)+xJ@{38pH?8Rj4LF&|8+QMRAgCTE?Yj5b9Fe)vJuF^G!S(T*>nXpN z!PU-$3znDdks86-bg3KrpfwHEEv!4C;B#B8x+0~)`pS}_qDU2J)C-Zw8+(K1H}|U~ zEB^4pZkT=KWGW&(?OfSw5(5uARGGfsiHEuJ_+WHfT`HVJW8I?%lq z=Q}+(v3qSD^Kl^!gAbk1I+RcD%hwFbgwr3`d2V7pKFTK%HqK5*+`DI&HyyGHLDzP> z?)@9`abKcGi2D7vP%3oSyMLO3VDJ>KW@-VNOXzMC*mLVE)+RK%(;+@AH9e z9r8hE$%vzJa*8ijaK7v_k=!qskD1T5OwsM_0Y{F&fsaBAgt1V`OaN$T*lk}$|d6%*P|i^R69H8O(%UqJ=si=Hnr=hbCf}kH5H!xoGy_`s$nN zd2RUlOqBi^H(wZg<9h#m zv4o{Nu$L3BPR2$B!%ArzaIz2??jeF&5a5daUuvpdaSr zts1*!w&U}LWl_*^HQGWv7sz^k4u7trm6{~oI=P6iyeBS)VLmpk$o$0dA3i4eonL?F z&p#dizTRJr|8)J|=V!kSe7zUIDJ^6rZ^i zv>`Da31hqac_=DM@#K7DJQ^>%bN$fT1fmhIlF;AC2Qj7w^ZRkpaIHO|q*H$!@sNr+ z-Psd>GWQ=`OxolCVfLfn^Mmp#K0|<^fnNA_)}$*F&072 zz+9lPY%&rXxjT5oLJ2MHFUWLTvxF+H&zEVp+Cn8`c~RNZSXlOQ$r4XX0f8wq%IKr^ zsA%HZPgn6A2x|^Ip(E-BwUUF*p#sWa{PEy<<(w;UHH>Dnz^o9udH8~W`sGMCDt0vN za+otJ@w-^G{RqyrO4;V3@=*mi8#DDo_V}ZG%K8xlix$*=@yRs@0~K&HL@x$;XJL?K zyK`oyA1eKBOI10Sh)!Fj+j;N|z$Z$}l>3E#5J6>OXk4QO*$EdTmx(fP^m%7Xe$xk1 zhlEyTVttU$&B6R?oR@XOLN+OqBpbG`>A!vI-~~HFRi;l{kE5`OH)Sr(xv*$hSgF3F z41JS&m6O3gfwpLq=)4hf0eh05Px4j%Prr?|eyj)Vwmy>Y5RG{pa zJ3_%oou);xhAtWATb}x}W_!W=qNU4-DIab$mX90nN{1d-f`mmX7@qxjJl+}W3GN5K zM6SieqmAC=)>&s~$gkd|?T7z=)s)BVJ-cE+zPC2MXrB*aUon*BRd7SAd*yQsjc!XI;|m-3o;fCLzcN$Ae=9*vN+Nk{gj*FyN3CA>CCWO?M)lR z$tdl3qkW0An$22dTe@rz;yEs=2 z9NU%S$M!nIZsDKz)MH%X$xHr-@MkTk^j-FW-9=Ss>xT4^Go<#=PEp!d{c!{-|BPT1 z6RCkAu*h3n^8-JL`Tb5VqlhJ+@8#7)*>I=JU1*uZ2;CjhoE8sBf+y1@#HU4dpxJ+2 zLEVA?5*zgo66&#NXHEWXlO!utv}1*BZ(|H76%Rd}*LFlHQ?Y7ubI z-$_NW)*E^Tj$Poy`PWa}=;kC{W6*b6n!vA8+2Cp}%`efD3;HjVWrK!|(Jp5nro8Pp z!9amUkU=8=g$KD!e=a(Y%7o5W`e$V$t$C*<+ifMV?UtNJSMm;2F(zDbeK80WClm9l zids>$_yMX(9xK>%cW`|e^YPNA?^UH=jnFRAv$X1YfhZ0HcX}1!{^P{T;+r^^vGu_C zapx9{Avaszvw7x@NT#L+IJgD9pXcTzIh=dO`&APTcfBp`H}OcC-ES1@#)LnJ}*G0?(QDK z{sZ)zv*w&}uJRQPd)i^va5yHy?JiwYj2@MWQQWf)0?(qtl#hW?Xp+U7bI*V~gsw?e zZ9xjql_g*he>w{BIxU4tvE%x6o%`CN^(EkX`Lt4Pf*I(`ZER8>Q3vs+3!euLTEMd- z;p8Q&j%Y<+Ygg|^E~MEUTRVB?2Asd9-F87(2d1WX`tPm}07WP!~-;0mMg+xWf|FpbXNK9Drk1e|X zCwKfB{p)J@LMnCHU3J5c4G zW+0pva~W7>Vj)>WBKZ)muZ|ddcCO<*2{B;tHI?i>?mxcztsrbvhUly?Ws*I%4wCFs z4rAV#@O5l2cOd3t`p6>=Ry=e>Sm{SI(|}bN3|0C#6G#xhcJP}zs^W766XEQrt42M*!}#Wb9?nZ96t>nJ#rrwuTP^nt^D*&J z@lFrsV|IrX(>%<_+B+(iWK&28Id(CTQzi_=ORtWMQ~10=axd+qYw7)r6V3~+q-+WDg%-HN+>MkZ^*}{evk8cJ(vl(tp=9dy`(7hfv15Z z=Huavs6IQacMd0BYpWz#1%{``U!BH0H@LN9Uho$7liGVjx-&}&9X@L)7l8TLo5HP8 z*@ux>y2;~Cf$JfZr`VpYVm@}c)XU8BgPW-RIj_RM+=Onn1;w&rKK{wHsd6=(mDv0C zp5#%?$70S?3vQT?2ZWM0wE0+wl&O73ROf9_>gMS5JlroE^ZDN566WI$ot*Ijku})g zyh^t9Z^*|Ve&}_gOlCqpOVW!2^YP2Y7c`2Pk5z=E=~Q|-2!-z<-}mDB|F4n)$2Q~r zl$tga^P*!XOm6oDxnMr-c$f6u67#XXC}Y8K4@P3GdcPu%JOd#`PDNUZ`M7&J@^ji0 zHzB+Dg6=5hV`e(t#Zk=1H2bU6wkqTEhTh~3T63J&bh$U`Hs<4L@*K@D9u~st1D)}4 z<1GYRy`V@N{#=I~ezDWGi;D>F=xyARULiphpl-_Qk828~QYU1U)enN5vYDK4QV<$sUoW`T{)s;lpmu1kbg!7NdEvZxw zGaEtL)IR6%5Ls|g&K2*qEP}jf)dHhHKWLayGd_363rwDmo#m`-LlaHnYZpy(5mT&= zz~iAfbX)Tvb;9=vL{|{+d9tYh9G!}-I?G}}?WXQmHQayvoXT6FyyQCS(z?5O?Y1>= zX)>Egx0RzDuMK(ni!s2X-T7GHf(lZpUtZdMOcZ=QR08~qih*?W9(y%MEUxo(>z5hF z{BSMKPX*UsR+dtne2IOvz2aFILy|X~_bWG*_JwK#3bi9>uBN2H} zFRf&755V%v{%F+^KR97ZbJn}`9NeTWC?3K7T+vnWXVbp=z|C|1XXSAI@q_P?=?iDu z(NG~Mb}{6@b-@i9p&wo_{n^<#%5NNzD8`92dgg(NjFaD%$x>7^)>tHskb*lGkIt@GSZk?ljb!$KFq3vRf7~zQ_Rfnf=zKD0F_1IK zs$U24j|XR7O=N%*uegdxWGXZ;-*BZzPVn+Tc5QB3Fx+A|FOor$fK=a=??3hu*A;Be z(+V0)LyS?0ft%mQ064vRr1RJt$sDS#QxM5URhGMTnp}$@TR&o#Fxf6Vdd@Ig@ z%BDYFcp(oa4+a=+er1F14QuHaOrAmXiR`QMn2%*EUp;WDu|YrQuld?zKGxRQ-K7@o zfLw3ATzWzi3_E*`b1E<&=ZU-@(vCAnKWWx^r2M>rlfH@i0!axJ&|CkEI`0goBJ{K0 zn_Quo8#}L$<9sKLEUs^))kr7C=Vex|0}S*B+TV~FMOWxH+elzOPTzI!(&zntV7&S` zRM&VE`9!{Eeexp{#$rOP_}vYWhxHe&FYU3=a)7Dt{Sgh+?xXsl&iD$%*wMGw$;F_r ztOe~uIeuuwyz0@?n@DI2TD#8r-X5|7G#Z}SB!H-%`6rK)vEWm9@N;deBP5VS=G?Ky zIn;wo&*Kk8qvPBHvBHOlF|aOPvxpkln8~x8{ou&-S`>D5Sz6bGHXKidzvw#^i|=Ei2#_ z)jjnb^KpG@!ToOUYbbC#Df5M-K-?E$-X~Mo51&V~4mLh>LdiRykj7+sqGp{UnU|gA zAUfUjY!{x-<1=!V=Zgn=a;0TVg=j{jWpT@67cd_m6rFu)%@a@j^eQwI9H4o9o(Ytf+iRTw_Zh_dj3%FVA)7$k#1> zUxD9w?$`WZb-%yrfq%{ab^TX8@UQv5>VALK1OJ-;>-rnX=vw7N@8F@EaLUr*P$Zu` zscwZixY2qt{DhWWU@J~`?M=3@@@sBd8q>!n9R zPu|6RJbvxz$vVu(LM3Xxy8Lv+v(@~fmza+qr{8hc{u}b~wD@ylRxf5ETf^JZ?b~9b z@1_T1eVC7zuHL>$i}g++di}&Zn^qyZ^n%D&%z4d$q+`8RY=orTXzWSVT__4<>vv#2 zZrg5VtKi3o>&>-1o{_G?)x$eWg>hc5s&dHIji1~E^HT3X(bk8k+|TPXf%(|My^PE! znw4nli#+}q_aDDHEbLc_`8ehI+XuD$EQILs^i1$`M6E$z1eh=%9}9~W_37gxR^l&_ zCm&mbJ$vqL8}|Lbdi?L_H^21w-_LJu(m5n6-r4ov_58m+*VRW0g7^Dz|3B*g7yfr& z0M~!d|Mj`%nZ4E)1RmxZWs*HCXT*+TF~GAN(HpKJR5rn}F(xrhHEN>TE`?+}uKx9~!cnezlz< z6eca^1)ozIfKAB*!*Yv!^kig>fUhw;BBhO*m0!Qv|`iPlMilf+sRw7etbdeJvDv61S)*!@lCoY z8Wf}qO;2CE0VE+-2o^c!Dz*{oa$nM3F3I; zTXU%*5$)(zl{tZ;p-aj2RL8s%GL-LhRCrp1WR41kBxAqx{DGs_^WI!S<`=p;@4hI4 z!#>UQmd;o|);_6GdD{jgz{#+Zuxx^)z0XWV)x3&DJ1(Lrkv6^c zL2S2njx+oDqx4-Xw%(Xuix$(~Mz6*}keR>obZY|KR7)L}42y%S0XZall`Nq3tPy!m zO98yB*c|r1*n6*_s=94$7Zph=iijWzk_1IjvLHws3ZkNj2nYyB&N=6tljIyE=Nv`E zPF6&eC`wKWDn_CTa=Pn3>p!*k&8fBb#rnRgbzuq2F~=PAnv)t&Z>>G=QHD@NW4Zk1 zmQN&H+~*tIcr6daZ}#cYX}iE3Ci@=o!*XEAet7lzoI8|ioD0aj91V5ocY#}? z8_m(a0m!87Vf@$ZewdX0$|>>10o};_Bxcs-fr4+ImfJT`3TllOtV@Erh@;QcT$BXQ z9~)=g=~Qe(uFRp^k9pN27Rh0Q!G>UDdbj;3XD{wcFWsI2d(FWoCEqKvKe$`yb1D!-L$NC6yUjDDl@; zS4OoYT(|60gCE1wPZ zH(J-e9F2gzRLSd25*aAY>uo~;WeWVP9=zATI|?x{zm;srPe5UpU1?p8`hu3AG^NPC zFr<(=z|2ZG?^YQ<)Z2Rx!V}5=ik^lI) z{$6~17SFEp3JCm*e9SL^U2K1IK5lv&bAV2G9`0V*>mx)Rh}>g;kxF2HwcCr!d)d4w zh_T%~3N`!J;M>Y^Dg(^NMFuzD=_}(rB5L)@RS{_*yA?8Rd*f$-BY(H%J7X=6#{;CFozLQ;Ry?snZOsEg)J zM`1ozjjOfDy7>c^rG>@BvA429@G^ZN=HslV>RQLdsR?xA;$srmHF%nqPbKviA>(G$B!Mo=?`wSCXV{_6Xl2gp4rh^^NzuC!tPxI;|qkYYYAVU_S=yG=?= zucu|J|0E;iEkHS> z4=Q?WYr{UN2E*kKPx48K4b`Y&L(Iplt%ISef9ml^ukY+%S_8q}kTy%q$I+t~9_+*O z$M;rh`Q8gs6B)%Cd+Oxye6y2UKJ8zSk4>x>lu3Q*2+qLmQ=GorfhMS3$u1vzm6OTt zR$-o7(!YPS8S`#QKvA<6=DB)wq&mI+2;uQDSi;px5e|>|P+Ini6IYg&dLWRNP%%>0 zqQl2eO0bOvVLtx6V|JVC4mP4AujHvWM+@34Cp{dE`FL1n&!9&FBk^fl+rAoHKiu}KKvD7-u2ECzZ{0s8& zvbN$?z8pFtk(d4SF%oiOP2y2@A6~bwPj@uM^)eG>`F2Ss@%znlQuvvC@i{^+qIOb| zk%qC*a9*@3=WoKeOj+)6Fcfj>{w!0q8>Wi#|NU>)V zRWup#KIK@FE#_mvG?$2;Ta1LrNq-VM%*Xx#22PPou69&U#RDoK=TV5KQ~5q| zocFT*Np})+2+IF`uVwB-JOq2FUq5X&0LEjk9EFd}A){uZR7UUujP=HHjmYQ2L8l%~ z*%y9rdgx3ty(acb)oqvE-;e#(;oY=Twh4&CyRMTPMWP_L3-w(erjgUju*m8gg+Miz zbUpWA5(M4jE?%abMj@JY+$++Fz`oFUC6hr9YWSSi0}O28d8qXL!c;wo+T$^BpwJNM z-Mlr^T6G_E9_Te0eyXW}%sdIZ`g{6_avpAWpY-|Kvx%op4Xvko*i znZal6c=n7)XXI-#n4|n53O?=2kubZNgIv9KMD;J-gOTdN?sw6b(Hv*tfzuxfPz|k; zisLAN3?9&9$y;^(g_Erqs7^O8VYm0`}q!;@eF&{gN zXh=A4$wNjn_w5|a$0d^->)R@QQCL)V#L18GNb#~{{_LRv$Qh=*A?WG{itnE=sa4&A z^Yq(S!|Y4I^6fMCv-p1hgnZnj0QPf1Rk+2f=@Ud1byei99sDeYcoakPG*3pF41^FCBEhKeO*Y5soP1`(j2h z_Z&3US2x#aNB#L9sGI_o#uVR3(3&$$73>S*^g z<+mwX4L5Z4kn)00j2#EsMT@{EYr%vy#2FlVR?e@KxWX)B=*Ajn2V$=ue4SEJjcA`# zwD?#0z{LgsPV!IVs9B}bYhOSWR55QYNZ>i#h=e(m)oyQCd1>H=gkZ`6|kM!*m$Td2b|46 z+qt-eAaRBd|{%r+;uO3){S(D&94PWf9mhfuL8d=?9>i z2bSDh_xoYjI|KcwOActWx#B3zCl54j_I*G4Q3|g1Nh;eWMqrOe z8+uePlJs1(9*LwDPjY93qQ?H3wMyf0RP^STj&nr~(4A`8vGm;@rPf9k{_q?_%M`gy z(Fg9q*lU-|idxQ)$V$DZ>ux06ztwVQ^MnSXSrcPbzGe)Kn(UX8aldvG6O)$xMF&I@ zqDPgPXb#;m#j`SFQE;417mPw9p($P^xa&qaTPC0bz^f5FE>eE%%l{+sz&SWxIcey+b4ABzg`3G(s@ z|Eqi~EXwx+bL(~loaKS#WNk$+yGZyQy3ukM^YJp{?bHZM5~B9qwr>4ueEenr%Qwu&?*%tr^xXLY zzXjmx8SPAnxtE$J;6xCbljUL@H>rt7Lcd{SKI{AOE&;7gnTu&XC zy3Uf#!;O6ry9;q1j)tW)ZxH6=D{ijC4M7ydAp6opIL?=?`XWdEsKMM5lI``$}|`S?eyG+QI)*YwId9oM&8p{d6|wxo$h97MI6I2#NBR=*r^;pgkm>*839gH*^Lb^$(*Z z)C+IBv12~Av;BQy0rT;E>g3BdayEjo>Cz&dKnrrMP`Fc_h}U!4zgob#pAT731c#hx< zGi`p!#zZ)q8^3*q`~Sy|o-%3qfOC$CrucM!T4GG7VP`7l<3YFL_3d~)K{Fsu|2r$u ze>jk~JC2OF^L%4lz={O1q!N+&Qg;R}&WcScp6QA=@8n(GW5f&3A?W!^eMnK3W+U(&lD-DaaLuSZm_UpLa~7J>QOS znDrLJ;$4$FvM27tx9Kwsk$0w%-+mnqbHOaQJ6R=1aZ3VNoPsF6d*p$)%wN4)MhY}m<#}A`T zfnqaBb5D~$;&r~1yx-XieH{-o+Sr!>=MLY5H-_GBP^^x~Y6jWe?D4p-MZ7zeDM+0GQrxPgk`eMjEN1i(o^mV8?2u-jyD zq5<=0C-Ep=nh$9m7=WuZPxf&v`GJzp z$nKxN2km2WlPXxns?!5iBr==&SPl)EVfP{kq2_8#YG z*|?dJjKobLqf6=B{_=$&G}&ZEf1(sIzF`T9vEGFOiN=*+68GqTX*=76&CG#tw`TPVl)T z+3$3;7tT}aQf(VfLOi9W{8h@iu=3igI6lP-))ee!&i35{%2%D#j*sJE-8SdCfb%`% zrD)q$`!)&qKfDq>tksUDHK&r+uUR3hEqd{{*kAoMUa;((kTsf-Kkwf#6bJ{3)c0K# z8UUpuZd7FQrYQLMa}D8kPoO4IU*0qmOSmbuP;dk8)t`TAzBN`pZZ1tSn zBhebfb4Be-MPD!ot2pZY-aCnGc^=5^AFG50E};ll4tMx;jyC%(au)lK1o`v?lU651FXAy6`x!$900TIe>#$Z$TjO_7#TN2)0VrLVVF9SBE` z0qognYQ<1wb;;(z>1cR&Q%jyLJQni2f+=sb-9a5xuI?)bL%@Hi)GED19^I^yFTR#{ z4@rwOGnF380Z$(_A@P`S@GvLu*_9lO9=&_orq!GQsBEx0^g{~BdwcPFU=Q;)x%G`7 zJQfReh^!;04(2R8zA+w^b7qSV#Zu5VQLQ0=oKv9Q?)(5Zae zYWdU?oT5*#k?W~I0{QI+r$^I4(eseE=(8l`clL|fWK9mTK4(CdVH*R7546(zpT>Vj z1Se?ks}(`|BagBRqawz0tp1bp6!MVnel%QVD$}BpfjI@i*-kM=P-u+eb^J9&dz#kS)pN#XJ z>V*}Jw=f^Cn2*uLsp9_No{@J~n$N{kqkWglLW_QIV*``A!3)u~ZWh z#3P{ssAXWThmh z9sAD6DDQf8FOd;jxuio@n2$>iWetN6(k%RNHG-*kP zCUE^&#jxnt9Oh$AT29GbJ9?qp?6J_47_Ju|f8Kls^Re(m&1^01hn5bXI%1Cbcw2f} ze;4Mty3W=1rw_63jO6y2GVJGCv|lor#(eziP1}onp>=roM#$4yo1DmzY2hoiAP8BG z&C5)3)I>sR<}D4($5E#$x?cSS`8Y@e2&3!F*gIAX7%$euQ8)ojNdn*&JpUZ@7eFKF%!so-YwaOC%h&nNTBL z18<|w;#1w?L`buq`=woML|yW7>w7+&?{r@Gl_1`4D7?_@wpGALcxkJtuR5)QLGI%h z&SXH$lQX}5ah`#w3m&A}9p{ANmb^3GVm{`C52-36xW5__Z$;f)hx7v^3oCy?KK}TI zH(R-cju3xk>pFt@_(yd?o-gKO6Z+Go*#pdk`elysF;N;~&Yh+08(!ywt;=EZCzuHH zZxUAapo#hT@R)6w`Wh=C;AI#-kVHmM zT=vjQT*f(L5)&pLv>1u2g!w=kc9}?DLqrJO+!d}H?^?*hmZgEd|Wl$bbNrl9r0Nd{yf%p9-SIE7}QKG z;J!`G?{v@b{kKp*7h7ID42y(5$L7ADG$U@zI?KDG!VtCNS1IVO(Vs_FP()W@Eqgm zvD(BpnegdTXW3n!Y2Ia3s$b&6hQ}it1UT zYfC0}KhNZVVq9dS!G|I^U9P_~TP79y&dkmk?~g?x%W9}A-UlqFHb_#_43Qd7n)rpF z7}S4p$33ofMK~$=OOwJj4kASA6%-k<@7bV6)*?9=n4~lgiyiku+Yr_6it^gGfG=M;h!|Fy1%o+JpVoRBYR~ zGB$5P>Di&~49v$lKPk@C-SI`jY0bAOGUL%4{mjt&y#o+?t(v{}jz1_fDhL$$%7bO- z^AHwP0`r?DKk3GOK^PUKXZv}hfUDnkP1!s_ZTkBLSZa!3=vYa$#(obNTs~!2<2;2V z7c=_(ri(xr%ga>tdcsx#=ENo~UX9Uq`}-CMgS)(O$x7>{GvlLGq!=r1HG z`=Sd!w>PBfcp&q`+2YQ>3*b`E;{~nWL||DVn^(V?jAnJtT;#b?jWi2J&x-b0p;K1f zja|>AL005I;A)>gVrOrP9WlrCwLK{sWxIXRvxr(BL-QP*7e&(8P@oH}&QG5Cnub8r z&)&z{TvG71V&B95ow;CoZkqDbW;p!drY`%f5R0zOtN$Vuj0V<~*@nC>e>Bz3Gh6pL z1&*;DO%2p;N83(0##HaOLiBWoS!0-w?@48w_{v+Ml$UbWmxlwvcYjU181DeciIDcS z+Z&^H5GbxO*zvs|Z|EW&H2sKI9WKCXU86Zm?vb*q0H~fri*sbIaaVBaOp{ zpEO><{qs%c)AQAn$c=Ke$5p2i_AU(h%zSr+r#*#!3vHt)@0#<^NcKo{IKK4)pSu-w zckI;BIFpBH=1Vw6=>5QJ+EehRv_DWbHhx`VjfG#l6~9O*eeiwL{JRpq804%G?HZU~ z3>G8d`!zEofmBnr##lBMy3Dd=`%-PtSJ7aFWz zk@umtU#~&i82hP0MABj`Jit)RCGEIECe+^Ll{dT`2S*bhdJUc|0)x+|Xhy4&U|;pt z1+AlgKs4Oar=fL6jip}-*Kqy#jQX3|yyq4`eGc)@`!9fy%QqwA995+7Xl5WrHUMep z&ZTfC^n;(Bd57z7TXc#j9^lLMKrTg7E<$`|U`JbZF}myq;@Y@H*4pBZKF0J2Z1uOH z3GHT$)x{b-H%#An@kj(>+E!gAt~7y`({DtSZ>xq~y$ODW%?9X3-7xEx^%y!5!MJyy zxE1J{S+3798A6R}fLgni9$aR)_wdx_J-9$`{@vHf0o@8~Iyy_41I*&prerTd(A|b& zn!uPSm}0uJtHy>8-NYK6rJV_IEB^}D3QY`}y0f4~86J=F>+jO-J?0CZ^Z_xKeYKDP z?I%9kzD#gB7n(S8C<<~Pe?MQ=6^BY_&)>|&Ub2NR^=4dY32WTe4oQ?XK!hP8lQ7AF}(!hLt|A67w!FUQn zrtnr;9L|ds>l6+l!~MW|-_(wbT9Fb4S5D73zEDEpW9mJ}F&}?^;K#~6^AgU-H8^$4 ztwQZS8v1XTkMnl9curxzPO@!%;mzboNO^bh^DfNCH7**)-#kc&vxnTdnafu};MT=Y zE4Y3<>CNyh#q51-_zfCo!Qqu$_!whRgs%GUWff$ zsW;cuD=;7PMfvQnY#|{kEz`Q9F&{spv$uMW`8c@yW5I^}I-YOwQ{%&YeBh@OyQ(EY zWQw=^WVl03JUygf%Z1O^F3e^#`4{BloVmPn3-{=V-(#lUw(A#xsa9UP4|AK%cel!+ zVP@hwmD(kyJvh&p$(p0G=p2#zo|~cM=@EiMWqhk zYw#rYS1U0`Iw@m5X5*MB5uj!xn$qr(-8cf%LW+SX>N&5-rEiCx-*+-1#r@Ua^Tuw*i&3+ip-cC-aESvN-VLl#clMSK4`wfq`q*Us0zrruC*i+Z=Iy0)- zALBjEguP~;G=5<|wjjO9eG&8V-I;p!li{=ko99+y7WP+r$nSdmr(az`^OA!b&XcA# zc>Ci<8qSXrSc(0#Btb|Q^-|LtG7_8(mZ6-uzd@g?^dVZu`D6XjrJN!R#1MUe#Bc1c zHeQKLD8--a)xJ3n?_n0=8XMP;h7Jw!#3yer?|=CCZ_mdGbTsAoJI=Fa*O`~1BmBRJAvS9Ghvyl}c8)Phd)I(aj0*r%~q|eUiq4_Si z`l)0aG+~@WMs+R)e(iY0|KL>t{H{J!&{~)XEfLezy!g8F`~v7cKX8GynV-ZYzONtm zJungD8;2fJiF0t``{K{3-!3>+-vbt*v2$bHIp}32NB)ph0B|4Bm+fu$LN8@@9d{bB zh2~8m=N-}I5UV9C_WDRNTKtwnVt*wW_1;W6ChQS}mg@PAq+E;y@n^4)(O4F=Ff*ky zTDBuvrHY|#)(WuD#g-Gz`5wLnBzZQl`XZ5v^L1zZ;!#Z6lN)r@1JHd~?8K2$e_)o? zOLM#+4<*bGltbT?fUv*L((|{zkoL6cw6~l$dNZ*1`f0-_$lIvndg@v+SB(i+7EpWk?>UI5QIqmFHwn!uw^ z)XY5g;n0}KY7+k;8cHm?J8unV!{DR`XX1}2(7bGLt&u21Biu@PE!e;2%EKn6bj1Xv zJf?89;7rC1Lc#3Wn2+V8IO+XrEm7ZaVf-BKuckf1&&i1_k-3ykUEe)8_avi5PcX4i%-YgcS-h%au)c$Sd)kO>7!P1J0~`p+d1J>C+F( zO-?)Lc5%uAntVjL|ET`s#$Z?pEzG20@B)c1oWtTesbGIbuIKI?&hLs_I%vufjZP(A zWouT>gYWlP1758}!cddGY^NLU%cuP1_kh_Qh4Xo2=yd5p>!57<3w3Y63h){>{wPG| zcs^b$5$F0Q+6kEcZ~!+QI%6j6P0QnY7;@Gz9bA@pNDf~JfH|h0xjIa-F#k?;q2oXt zv}rI!uy2orn1THwd5(!_59{ugprQ`+8PDA)0bo~RU=QI{m?_*!jp$sJjRgR ztftuAPeRDf!lLVohytul6blru*r7Xp!S|vb#=!&o;Ug2RPDnYqO~h2B81{vJ%gnD2 zL^+RyO)1_)fD5y*dwZKV&Xb~aGQfYQF4Bv=tUeQouF&ndv#gMWa+<@gbnbPA+#H8- z$wD90x!p~?MYjx0CGvZWA1gzDgSDUQr%>#FyLpOTCkfKCr$ukNq`;PG+9COmb|{1M z;e_fb2l)27_Jz}C5ZEzxBu+d$Dab>0qZfFkIv$PPT7~D{ zhlDCHA4j#b3=QM@&(kYG=M2oEKq*w{;!W)5I`ie5P);xjq0ZzIc(`~KvN-58Ut>Pb zE0*WH>h%LA!xlnFT(g0bht%K$=3|KmvAb+NsfiB)2mP4s*1(;%He~QG$j5KjYR@Yh z&%>Y~t{-Ebm>fH3m5upWxtNT#7Uo%?GVF!Jol|&>34B2P)yY37y%8TGeo}gj|YuRCwn0X_p4WSm(NF0lM^ACrjw1B zk0lwHwoP@D5H_56ZcVf16k6g?$LQm?*vIbu zTa4Kk^RX&Jx!}$HYy{uHjskDa7E}|{+J6!AF=O?iBAG@;!ch9*rj*|*oG-ZGrG@!; zvq8bgL6(8w-OW94_@^1-Jxim(iuw3yr0j9M85V-<#WI>yTZh8qc8;8XK|Yq5R{r{; znvT%e=dx>P2j=4*mEB}z=ZMj!nEW`r->^5u`dKUPSJ-g+;Z=d>yglwI8dVE25pG(> zUuJNBgW%k><@9@TVvG9x@BC<5;`SXy${RS}Ts4?2Cm!?hyYp!qlH1sb+R5YQ$1-vL zaeK7773O26Dy}>^OGZK?df>v0KK9c^+r->olOQ~Gl8qN77>K6qi*h&ce7upSr|C2N zxqeUUp29cELj2&dDihbGA=sOss@ErztZ^T7Mf02r^NDG+KEA|q_gDpNsAQs8 zw;UMBTzhI6J&mqNCb`{+$93RbN=Cu6UT8J&#BU?1VlbTdAm5dw0jtKQ-s@X-DB_Co zrC?fhFm@z8)ohau=c(s~WnP6tjW9`2%q3}1;pyp395MomO7Kg0VhT!-8!+dMU4hhAAYCK>l7z`Wzeg%hu; z;F1mpo5h24RBI4v_9`o5>R`&eCAsb_FA*D`Rv~AjXv(~m`YT7f`rz6PD)$i{8^iYbZ1XD(A*{|{+kr% zMjxk4UzRL|&u%m$XGBVn_R>dvTa6i{Hc$IjQZWoQ_SEyvobyGEWZ{GJar@z#3hCOX z3=fp+elR3O#veKFC=V#>On}iUmT5=qfs$zqIN$2-fEW}v-g)q6py%({bB#Xxp(AR^ zAM>>3;d}MZO|EuNlsqn7=i`O@X33RjTOF(cRRsCW9WQ{zO{>LjVLw>v_Zo2t2?1N? z=GNh-Ng%spp_drVfUHu2{Y+dWRM5F|Jv>m2zD)GX>OYKy-)B#B+n0O6$@~E8^Ca;Q ze~V4@6z1cL=~??3c`Q-Qomr701k~?^6wJY zL6P4!A}q4pK_dKw1Y1@S(2<`V&cypRlci-)FyaQQQ=>EEogL`eQkb;G#Y&_%za+u< zC=t3SiHad2!#`2R`IY=;n5fqTRRS!>R;g&}AkS(hs^$aQpLI z!`0_m=uN5RbJ5H&;3ko~bojSA^h=0F(!a_Ag)Gvbm1tWi4MdnbSi zQ*OWdtyrjJ`aI4%9}4Z=j$^im1Ci2^PA+*TMszYoN4?fN2vUkU%$lxvA@Y4W{6cu1 zx}xsruN%fjDC1t9_UowvD7o#q&#opO+ULwCBb2of-3djKtH+|z7dmH(lj@N$x5Q2* zp^*%$+fEKkxn-gz0V@8xcwgWQ+va`bW&xJUcT)p{7eGtl;;~)TD(JVE(cXi&ejK=> zwD)>+KU^{w7^BOwLY6~K^U3rcNT{lY{IpFO(D;137h3-5vC{$lVV6NS^y*DltTtIY zvcKzS8~UyiMFbsdc(d;wN*H-hem7zQ@pXwQA3Re90#C#D1C-awjL zHP``N*t%1AbB78#rJ`ePFdc==7<+yzJxGCUiva~OutU1_>eOLV6(F?Z(zuzf8`^et z*(TW@`?w?+r;ka8A>Wk;z$0Fw%=OwAJ-`*@D<3N70yrLos!c<3&KrCy} ze5r-bH|reHa@sl7I+2vf$RD@7pt&2wk^?J5FdyIAQ`}wJ*9*ylbw3U$twMR^6?H+( z$8$TW-FtCA<=FD;=hSu4kpJe)6>*$@-1lbx`3{^%WUOeRvYEXK_Z(tYW--q_xwh(~ zQ1Amb*T{m3>$72=s^OWo3qb@nKVol9pe96GIT=kH)*$w)wEXA4ARmigIFbG^X&$ae zkM?V9kP%XkCEn&@K5jUE?rcsm1rhVu>SQP8-sFLexyE=sU)5L3Wi+qD;BY27r-$puW>3$%Tj4xug_b=h zys3%PtT(q0V?N&Qa&5<+zo4Is=4FbBNCF+9o8Qc;8mR_bHqR>bFdv7Tbkj9YF%x7X z&qRb6*FeQxOq&YxahtyM@!{7;2tLg|2{HjoxOVY4Qxf)bSx{;i&E?P%9a$`QO7J{= zc)Y=v4$Q}2>Wavv7}$ufzMeZLF&`@(4}jBnJ*lsjZ45nQB+jdla2AKH0-a7)Hi7v# zn~r-Ls2LLVcR3+0UYw5%aNYY=gty_bfz&jsW9~={kHjNmL{I3-Ym8!-cAa z20G%i;;(^}o#ey>3)c=4%*Q4l#MWNm{e}-06qtl?zrs@|l{J3M#}hwFHq z?d&EQkz_4hnDn-*c@_3{4R1jA?yC$$scio}S1tVhG`%?1i9grY za!Wk!Q!GS(ZbN>O9)7k+)c2wEMReptmr_CWJ+0`9LCroKKEwc-F~oP(4Z=|XTZ^4FW5xO~Vz7MXWmH2}Q# z*51{)-~~6dZinVqb)uVM+;6V^GC}j3x(x@Cy^*Z(CA>=~aaFI* zg*k~bcFMGAG_&v0`+}@!I9pIPD_tFo`nbdr)Yh>VQrLr(a@G~Jf_Ai4ymCU+=&kOo zXC~S?(Ej8XM>OQ@WH+4fxejJ=V+@@U*av*aVJ?t=CkP!TZWqh?pt73W!#Ql2tACIb z1~yfI-hwNSjkFi~&QQ3UqcIhZNd3MR+8qfhuJH#$@9BZQFZ z%XX{&_*$1FY7nTn)}mBAI@= zQ?(b$A%)uh{f(R=bcvmXJ5p^18T1_C{Wh13B6Vu)*zyC>zNf6}%jY9d&W@KO=bzdk z4)W!5jj93YTW`VZm;D}yY9;lDsb4XS6{nxm<_QPoyY1QT-SO}{lbyOE*B5)$C^JMB z-O%k3YW7zoc5t}m;E|2d3Y=G@^{`*)9-OKg@_eqJ1u~DGvcyd#LUC;vZHBEEI1Y&) zwM-5G<3q-5;puTuzP~VTkkt!1o<#Ob3f3W+4ObM+mj)GN=`x{Z@u1TZkU0_<2|8i# z()Z%|W0~hXeu5DeD7mh)v#fjplC%n<;E*}Go9(ci+8+qx2h_@)P7J^|qd>#(!rN$P zV7o$9tQ)M8)!#NKDT4D_n*w}}-f(McKjkoq3hw z;RByDeO%}yq6!pU4F6aGCqusqOTP<(TTxA&D^sJ0^Hf ztc^s!7H+5Hq=dkz5G`3CpEr_xQGMWJPCm4-K2N#p>4mNr%6+^)t%IU=?0gjY!x1H) zAm2w3mI4d(*Ly~J9Ke1&;?vRoC{#nvAl~xB4(ToKn6v&A4z!XaT`ZsMfTmEAJ0Qse z4eCER_x5Qp8XjjBsZuTmgGxWM0kLq{rA15XJADuR7BrdMcewzqznEE6%LxFPu-A^# z5{V$FLX)W1o{rM1{O>Micc8V8G^7*?7En~>UtSiv0G$yXy{+9UXpiNV|3M-E9iTa+ zKpD{wKdHXjQDfhkUW%c?>T7p&h@9=hk3V}1mAs{i!BTKET>G`xq$~1Iky1E<`%qS! z848uiDo}d0RT-S zXQJ?Ai#=*__maJRI}3G|uRS$7mx15s1@`rGddS_{XRlCtHKf;&t#jl2^9`zJwryb| z=mnV@eZh5q#1|Cx_O@&yI9fkEn08klst@v1hdxR`9z$b$iBG<$MDW1e?*Mn?eU;*N zLr4Xfm(-Yz)h46w0_S&{eF%dEQ7PJeTn!M3SW_Q<%!UB&zS{JUalp(Vp7xqE28G(1 z*|Wy@L8-%_MU+z@(s}#nXxYi+{{V1n=kZr}PL0%cHcIa;JBgkAGz{Q*t*@5TR9b3zQsd;1Z^CLK$; zcJ)M_IbOG>2V}bw@p`_ddzu}J`FKwP&!@Zi=Mw|d*=-)A1gD(e&W_JyM1%lWML5oP zTF+{lF?-$z1nnTzuFEvUa>K1(^ndE~MiQs>G5>lkCA`?Po1Dn+72Wc|JXgceKTY

gG~Q37C&rF2CHaltxW#H59d( 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 b?dST3`B*|+LPYvM-G3}CEH3;X_H+F|5UQ*& literal 0 HcmV?d00001 diff --git a/tests/data/ase/initial.traj b/tests/data/ase/initial.traj new file mode 100755 index 0000000000000000000000000000000000000000..ee6d1a979d51f067aebb4e722c330e207fee8f8d GIT binary patch literal 10393 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 JX^f<#{{c`SsRaN4 literal 0 HcmV?d00001 diff --git a/tests/data/ase/neb1.traj b/tests/data/ase/neb1.traj new file mode 100755 index 0000000000000000000000000000000000000000..a517e674b8bb43c5de0f140f2526c6fa26769f20 GIT binary patch literal 63626 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 d39(-vn1)A;eNUD98E@lw@*mGJ{yBkZ{|`VVSK Date: Fri, 13 Sep 2024 16:20:47 +0200 Subject: [PATCH 4/7] Use common parser for asap and ase --- atomisticparsers/__init__.py | 8 +- atomisticparsers/asap/parser.py | 184 ++++------------------------- atomisticparsers/ase/parser.py | 174 +-------------------------- atomisticparsers/utils/__init__.py | 2 +- atomisticparsers/utils/parsers.py | 177 ++++++++++++++++++++++++++- pyproject.toml | 1 + 6 files changed, 205 insertions(+), 341 deletions(-) diff --git a/atomisticparsers/__init__.py b/atomisticparsers/__init__.py index acae80d..f2858f3 100644 --- a/atomisticparsers/__init__.py +++ b/atomisticparsers/__init__.py @@ -40,7 +40,11 @@ class EntryPoint(ParserEntryPoint): def load(self): from nomad.parsing import MatchingParserInterface - return MatchingParserInterface(**self.dict()) + return MatchingParserInterface( + **self.dict(), + mainfile_binary_header=self.mainfile_binary_header, + mainfile_binary_header_re=self.mainfile_binary_header_re, + ) amber_parser_entry_point = EntryPoint( @@ -99,7 +103,7 @@ def load(self): aliases=['parsers/ase'], description='NOMAD parser for ASE.', python_package='atomisticparsers.ase', - mainfile_binary_header_re=b'AFFormatASE\\-Trajectory', + mainfile_binary_header_re=b'.+?ASE\\-Trajectory', mainfile_mime_re='application/octet-stream', mainfile_name_re=r'.*.traj$', parser_class_name='atomisticparsers.ase.AseParser', diff --git a/atomisticparsers/asap/parser.py b/atomisticparsers/asap/parser.py index 7f6438c..206f4f9 100644 --- a/atomisticparsers/asap/parser.py +++ b/atomisticparsers/asap/parser.py @@ -16,185 +16,41 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from simulationworkflowschema.geometry_optimization import GeometryOptimization +from simulationworkflowschema.molecular_dynamics import MolecularDynamics +from atomisticparsers.utils import ASETrajParser +from .metainfo import asap # pylint: disable=unused-import -import os -import logging -import numpy as np -from ase.io.trajectory import Trajectory - -from nomad.units import ureg -from nomad.parsing.file_parser import FileParser -from runschema.run import Run, Program -from runschema.method import Method, ForceField, Model -from simulationworkflowschema import GeometryOptimization, GeometryOptimizationMethod -from atomisticparsers.utils import MDParser -from .metainfo.asap import MolecularDynamics # pylint: disable=unused-import - - -class TrajParser(FileParser): - def __init__(self): - super().__init__() - - @property - def traj(self): - if self._file_handler is None: - try: - self._file_handler = Trajectory(self.mainfile, 'r') - # check if traj file is really asap - if 'calculator' in self._file_handler.backend.keys(): - if self._file_handler.backend.calculator.name == 'VASP': - self.logger.error('Trajectory is from a VASP calculation.') - self._file_handler = None - if self._file_handler.backend.calculator.name != 'emt': # pylint: disable=E1101 - self.logger.error('Trajectory is not ASAP.') - self._file_handler = None - except Exception: - self.logger.error('Error reading trajectory file.') - return self._file_handler - - def get_version(self): - if hasattr(self.traj, 'ase_version') and self.traj.ase_version: - return self.traj.ase_version - else: - return '3.x.x' - - def parse(self): - pass - - -class AsapParser(MDParser): - def __init__(self): - self.traj_parser = TrajParser() - super().__init__() +class AsapParser(ASETrajParser): def parse_method(self): + super().parse_method() traj = self.traj_parser.traj - sec_method = Method() - self.archive.run[0].method.append(sec_method) - - if traj[0].calc is not None: - sec_method.force_field = ForceField(model=[Model(name=traj[0].calc.name)]) description = traj.description if hasattr(traj, 'description') else dict() if not description: return - calc_type = description.get('type') - if calc_type == 'optimization': - workflow = GeometryOptimization(method=GeometryOptimizationMethod()) + workflow = self.archive.workflow2 + if isinstance(workflow, GeometryOptimization): workflow.x_asap_maxstep = description.get('maxstep', 0) - workflow.method.method = description.get('optimizer', '').lower() - self.archive.workflow2 = workflow - elif calc_type == 'molecular-dynamics': - data = {} - data['x_asap_timestep'] = description.get('timestep', 0) - data['x_asap_temperature'] = description.get('temperature', 0) + elif isinstance(workflow, MolecularDynamics): + workflow.x_asap_timestep = description.get('timestep', 0) + workflow.x_asap_temperature = description.get('temperature', 0) md_type = description.get('md-type', '') - thermodynamic_ensemble = None if 'Langevin' in md_type: - data['x_asap_langevin_friction'] = description.get('friction', 0) - thermodynamic_ensemble = 'NVT' - elif 'NVT' in md_type: - thermodynamic_ensemble = 'NVT' - elif 'Verlet' in md_type: - thermodynamic_ensemble = 'NVE' - elif 'NPT' in md_type: - thermodynamic_ensemble = 'NPT' - data['method'] = {'thermodynamic_ensemble': thermodynamic_ensemble} - self.parse_md_workflow(data) + workflow.x_asap_langevin_friction = description.get('friction', 0) def write_to_archive(self) -> None: self.traj_parser.mainfile = self.mainfile - if self.traj_parser.traj is None: - return - - sec_run = Run() - self.archive.run.append(sec_run) - sec_run.program = Program(name='ASAP', version=self.traj_parser.get_version()) - - # TODO do we build the topology and method for each frame - self.parse_method() - - # set up md parser - self.n_atoms = max( - [traj.get_global_number_of_atoms() for traj in self.traj_parser.traj] - ) - steps = [ - (traj.description if hasattr(traj, 'description') else dict()).get( - 'interval', 1 - ) - * n - for n, traj in enumerate(self.traj_parser.traj) - ] - self.trajectory_steps = steps - self.thermodynamics_steps = steps - - def get_constraint_name(constraint): - def index(): - d = constraint['kwargs'].get('direction') - return ((d / np.linalg.norm(d)) ** 2).argsort()[2] - - name = constraint.get('name') - if name == 'FixedPlane': - return ['fix_yz', 'fix_xz', 'fix_xy'][index()] - elif name == 'FixedLine': - return ['fix_x', 'fix_y', 'fix_z'][index()] - elif name == 'FixAtoms': - return 'fix_xyz' - else: - return name - for step in self.trajectory_steps: - traj = self.traj_parser.traj[steps.index(step)] - lattice_vectors = traj.get_cell() * ureg.angstrom - labels = traj.get_chemical_symbols() - positions = traj.get_positions() * ureg.angstrom - periodic = traj.get_pbc() - if (velocities := traj.get_velocities()) is not None: - velocities = velocities * (ureg.angstrom / ureg.fs) + # check if traj file is really asap + if 'calculator' in self.traj_parser.traj.backend.keys(): + if self.traj_parser.traj.backend.calculator.name != 'emt': # pylint: disable=E1101 + self.logger.error('Trajectory is not ASAP.') + return - constraints = [] - for constraint in traj.constraints: - as_dict = constraint.todict() - indices = as_dict['kwargs'].get('a', as_dict['kwargs'].get('indices')) - indices = ( - indices - if isinstance(indices, (np.ndarray, list)) - else [int(indices)] - ) - constraints.append( - dict( - atom_indices=[np.asarray(indices)], - kind=get_constraint_name(as_dict), - ) - ) - self.parse_trajectory_step( - dict( - atoms=dict( - lattice_vectors=lattice_vectors, - labels=labels, - positions=positions, - periodic=periodic, - velocities=velocities, - ), - constraint=constraints, - ) - ) + super().write_to_archive() - for step in self.thermodynamics_steps: - try: - traj = self.traj_parser.traj[steps.index(step)] - if (total_energy := traj.get_total_energy()) is not None: - total_energy = total_energy * ureg.eV - if (forces := traj.get_forces()) is not None: - forces = forces * ureg.eV / ureg.angstrom - if (forces_raw := traj.get_forces(apply_constraint=False)) is not None: - forces_raw * ureg.eV / ureg.angstrom - self.parse_thermodynamics_step( - dict( - energy=dict(total=dict(value=total_energy)), - forces=dict(total=dict(value=forces, value_raw=forces_raw)), - ) - ) - except Exception: - pass + if self.archive.run: + self.archive.run[0].program.name = 'ASAP' diff --git a/atomisticparsers/ase/parser.py b/atomisticparsers/ase/parser.py index 12ef373..71e3972 100644 --- a/atomisticparsers/ase/parser.py +++ b/atomisticparsers/ase/parser.py @@ -17,176 +17,14 @@ # limitations under the License. # -import os -import logging -import numpy as np -from ase.io.trajectory import Trajectory +from atomisticparsers.utils import ASETrajParser -from nomad.units import ureg -from nomad.parsing.file_parser import FileParser -from runschema.run import Run, Program -from runschema.method import Method, ForceField, Model -from simulationworkflowschema import GeometryOptimization, GeometryOptimizationMethod - - -class TrajParser(FileParser): - def __init__(self): - super().__init__() - - @property - def traj(self): - if self._file_handler is None: - try: - self._file_handler = Trajectory(self.mainfile, 'r') - if 'calculator' not in self._file_handler.backend.keys(): - self.logger.error('No calculator specified in trajectory file.') - except Exception: - self.logger.error('Error reading trajectory file.') - return self._file_handler - - def get_version(self): - if hasattr(self.traj, 'ase_version') and self.traj.ase_version: - return self.traj.ase_version - else: - return '3.x.x' - - def parse(self): - pass - - -class AseParser(MDParser): #change inheritance?, does not have to be molecular dynamics, can be simple geometry optimization - def __init__(self): - self.traj_parser = TrajParser() - super().__init__() - - def parse_method(self): - traj = self.traj_parser.traj - sec_method = Method() - self.archive.run[0].method.append(sec_method) - - if traj[0].calc is not None: - sec_method.force_field = ForceField(model=[Model(name=traj[0].calc.name)]) #does not have to be force field, could be DFT code as well, or machine learning potential - - description = traj.description if hasattr(traj, 'description') else dict() - if not description: - return - - calc_type = description.get('type') - if calc_type == 'optimization': - workflow = GeometryOptimization(method=GeometryOptimizationMethod()) - workflow.x_asap_maxstep = description.get('maxstep', 0) #is GeometryOptimzation asap specific? rename to x_ase_maxstep? - workflow.method.method = description.get('optimizer', '').lower() - self.archive.workflow2 = workflow - elif calc_type == 'molecular-dynamics': - data = {} - data['x_asap_timestep'] = description.get('timestep', 0) - data['x_asap_temperature'] = description.get('temperature', 0) - md_type = description.get('md-type', '') - thermodynamic_ensemble = None - if 'Langevin' in md_type: - data['x_asap_langevin_friction'] = description.get('friction', 0) - thermodynamic_ensemble = 'NVT' - elif 'NVT' in md_type: - thermodynamic_ensemble = 'NVT' - elif 'Verlet' in md_type: - thermodynamic_ensemble = 'NVE' - elif 'NPT' in md_type: - thermodynamic_ensemble = 'NPT' - data['method'] = {'thermodynamic_ensemble': thermodynamic_ensemble} - self.parse_md_workflow(data) +class AseParser(ASETrajParser): def write_to_archive(self) -> None: - self.traj_parser.mainfile = self.mainfile - if self.traj_parser.traj is None: - return - - sec_run = Run() - self.archive.run.append(sec_run) - sec_run.program = Program(name='ASE', version=self.traj_parser.get_version()) - - # TODO do we build the topology and method for each frame - self.parse_method() - - # set up md parser - self.n_atoms = max( - [traj.get_global_number_of_atoms() for traj in self.traj_parser.traj] - ) - steps = [ - (traj.description if hasattr(traj, 'description') else dict()).get( - 'interval', 1 - ) - * n - for n, traj in enumerate(self.traj_parser.traj) - ] - self.trajectory_steps = steps - self.thermodynamics_steps = steps - - def get_constraint_name(constraint): - def index(): - d = constraint['kwargs'].get('direction') - return ((d / np.linalg.norm(d)) ** 2).argsort()[2] - - name = constraint.get('name') - if name == 'FixedPlane': - return ['fix_yz', 'fix_xz', 'fix_xy'][index()] - elif name == 'FixedLine': - return ['fix_x', 'fix_y', 'fix_z'][index()] - elif name == 'FixAtoms': - return 'fix_xyz' - else: - return name - - for step in self.trajectory_steps: - traj = self.traj_parser.traj[steps.index(step)] - lattice_vectors = traj.get_cell() * ureg.angstrom - labels = traj.get_chemical_symbols() - positions = traj.get_positions() * ureg.angstrom - periodic = traj.get_pbc() - if (velocities := traj.get_velocities()) is not None: - velocities = velocities * (ureg.angstrom / ureg.fs) + super().write_to_archive() - constraints = [] - for constraint in traj.constraints: - as_dict = constraint.todict() - indices = as_dict['kwargs'].get('a', as_dict['kwargs'].get('indices')) - indices = ( - indices - if isinstance(indices, (np.ndarray, list)) - else [int(indices)] - ) - constraints.append( - dict( - atom_indices=[np.asarray(indices)], - kind=get_constraint_name(as_dict), - ) - ) - self.parse_trajectory_step( - dict( - atoms=dict( - lattice_vectors=lattice_vectors, - labels=labels, - positions=positions, - periodic=periodic, - velocities=velocities, - ), - constraint=constraints, - ) - ) + if self.archive.run: + self.archive.run[0].program.name = 'ASE' - for step in self.thermodynamics_steps: - try: - traj = self.traj_parser.traj[steps.index(step)] - if (total_energy := traj.get_total_energy()) is not None: - total_energy = total_energy * ureg.eV - if (forces := traj.get_forces()) is not None: - forces = forces * ureg.eV / ureg.angstrom - if (forces_raw := traj.get_forces(apply_constraint=False)) is not None: - forces_raw * ureg.eV / ureg.angstrom - self.parse_thermodynamics_step( - dict( - energy=dict(total=dict(value=total_energy)), - forces=dict(total=dict(value=forces, value_raw=forces_raw)), - ) - ) - except Exception: - pass + # TODO add tests diff --git a/atomisticparsers/utils/__init__.py b/atomisticparsers/utils/__init__.py index 696b48a..d27b4bd 100644 --- a/atomisticparsers/utils/__init__.py +++ b/atomisticparsers/utils/__init__.py @@ -17,6 +17,6 @@ # limitations under the License. from .mdanalysis import MDAnalysisParser -from .parsers import MDParser +from .parsers import MDParser, ASETrajParser MOL = 6.022140857e23 diff --git a/atomisticparsers/utils/parsers.py b/atomisticparsers/utils/parsers.py index a301b6b..ec5bf23 100644 --- a/atomisticparsers/utils/parsers.py +++ b/atomisticparsers/utils/parsers.py @@ -20,15 +20,24 @@ from typing import Any, Dict, List, Union import numpy as np from collections.abc import Iterable +from ase.io.trajectory import Trajectory from nomad.utils import get_logger -from nomad.metainfo import MSection, SubSection, Quantity -from nomad.parsing.file_parser import Parser -from runschema.run import Run +from nomad.units import ureg +from nomad.metainfo import MSection +from nomad.parsing.file_parser import Parser, FileParser +from runschema.run import Run, Program from runschema.system import System from runschema.calculation import Calculation -from runschema.method import Interaction, Model -from simulationworkflowschema import MolecularDynamics +from runschema.method import Interaction, Model, Method, ForceField +from simulationworkflowschema.geometry_optimization import ( + GeometryOptimization, + GeometryOptimizationMethod, +) +from simulationworkflowschema.molecular_dynamics import ( + MolecularDynamics, + MolecularDynamicsMethod, +) class MDParser(Parser): @@ -174,7 +183,7 @@ def parse_md_workflow(self, data: Dict[str, Any]) -> None: if self.archive is None: return - sec_workflow = MolecularDynamics() + sec_workflow = self.archive.workflow2 or MolecularDynamics() self.parse_section(data, sec_workflow) self.archive.workflow2 = sec_workflow @@ -224,3 +233,159 @@ def parse_interactions_by_type( sec_model.contributions.append(sec_interaction) self.parse_section(interaction_type_dict, sec_interaction) # TODO Shift Gromacs and Lammps parsers to use this function as well if possible + + +class TrajParser(FileParser): + def __init__(self): + super().__init__() + + @property + def traj(self): + if self._file_handler is None: + try: + self._file_handler = Trajectory(self.mainfile, 'r') + except Exception: + self.logger.error('Error reading trajectory file.') + return self._file_handler + + def get_version(self): + if hasattr(self.traj, 'ase_version') and self.traj.ase_version: + return self.traj.ase_version + else: + return '3.x.x' + + def parse(self): + pass + + +class ASETrajParser(MDParser): + def __init__(self): + self.traj_parser = TrajParser() + super().__init__() + + def parse_method(self): + traj = self.traj_parser.traj + + sec_method = Method() + self.archive.run[0].method.append(sec_method) + + if traj[0].calc is not None: + sec_method.force_field = ForceField(model=[Model(name=traj[0].calc.name)]) + + description = traj.description if hasattr(traj, 'description') else dict() + + calc_type = description.get('type') + if calc_type == 'optimization': + workflow = GeometryOptimization(method=GeometryOptimizationMethod()) + workflow.method.method = description.get('optimizer', '').lower() + self.archive.workflow2 = workflow + elif calc_type == 'molecular-dynamics': + data = {} + md_type = description.get('md-type', '') + thermodynamic_ensemble = None + if 'Langevin' in md_type: + thermodynamic_ensemble = 'NVT' + elif 'NVT' in md_type: + thermodynamic_ensemble = 'NVT' + elif 'Verlet' in md_type: + thermodynamic_ensemble = 'NVE' + elif 'NPT' in md_type: + thermodynamic_ensemble = 'NPT' + data['method'] = {'thermodynamic_ensemble': thermodynamic_ensemble} + self.parse_md_workflow(data) + + def write_to_archive(self): + self.traj_parser.mainfile = self.mainfile + if self.traj_parser.traj is None: + return + + sec_run = Run() + self.archive.run.append(sec_run) + sec_run.program = Program(version=self.traj_parser.get_version()) + + # TODO do we build the topology and method for each frame + self.parse_method() + + # set up md parser + self.n_atoms = max( + [traj.get_global_number_of_atoms() for traj in self.traj_parser.traj] + ) + steps = [ + (traj.description if hasattr(traj, 'description') else dict()).get( + 'interval', 1 + ) + * n + for n, traj in enumerate(self.traj_parser.traj) + ] + self.trajectory_steps = steps + self.thermodynamics_steps = steps + + def get_constraint_name(constraint): + def index(): + d = constraint['kwargs'].get('direction') + return ((d / np.linalg.norm(d)) ** 2).argsort()[2] + + name = constraint.get('name') + if name == 'FixedPlane': + return ['fix_yz', 'fix_xz', 'fix_xy'][index()] + elif name == 'FixedLine': + return ['fix_x', 'fix_y', 'fix_z'][index()] + elif name == 'FixAtoms': + return 'fix_xyz' + else: + return name + + for step in self.trajectory_steps: + traj = self.traj_parser.traj[steps.index(step)] + lattice_vectors = traj.get_cell() * ureg.angstrom + labels = traj.get_chemical_symbols() + positions = traj.get_positions() * ureg.angstrom + periodic = traj.get_pbc() + if (velocities := traj.get_velocities()) is not None: + velocities = velocities * (ureg.angstrom / ureg.fs) + + constraints = [] + for constraint in traj.constraints: + as_dict = constraint.todict() + indices = as_dict['kwargs'].get('a', as_dict['kwargs'].get('indices')) + indices = ( + indices + if isinstance(indices, (np.ndarray, list)) + else [int(indices)] + ) + constraints.append( + dict( + atom_indices=[np.asarray(indices)], + kind=get_constraint_name(as_dict), + ) + ) + self.parse_trajectory_step( + dict( + atoms=dict( + lattice_vectors=lattice_vectors, + labels=labels, + positions=positions, + periodic=periodic, + velocities=velocities, + ), + constraint=constraints, + ) + ) + + for step in self.thermodynamics_steps: + try: + traj = self.traj_parser.traj[steps.index(step)] + if (total_energy := traj.get_total_energy()) is not None: + total_energy = total_energy * ureg.eV + if (forces := traj.get_forces()) is not None: + forces = forces * ureg.eV / ureg.angstrom + if (forces_raw := traj.get_forces(apply_constraint=False)) is not None: + forces_raw * ureg.eV / ureg.angstrom + self.parse_thermodynamics_step( + dict( + energy=dict(total=dict(value=total_energy)), + forces=dict(total=dict(value=forces, value_raw=forces_raw)), + ) + ) + except Exception: + pass diff --git a/pyproject.toml b/pyproject.toml index 88c685a..e4e1639 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -87,6 +87,7 @@ include = [ [project.entry-points.'nomad.plugin'] amberparser = "atomisticparsers:amber_parser_entry_point" asapparser = "atomisticparsers:asap_parser_entry_point" +aseparser = "atomisticparsers:ase_parser_entry_point" bopfoxparser = "atomisticparsers:bopfox_parser_entry_point" dftbplusparser = "atomisticparsers:dftbplus_parser_entry_point" dlpolyparser = "atomisticparsers:dlpoly_parser_entry_point" From 412962278b60302a27d8fbc60b34ceba61f539cf Mon Sep 17 00:00:00 2001 From: Alvin Noe Ladines Date: Tue, 17 Sep 2024 12:02:47 +0200 Subject: [PATCH 5/7] Adapt binary header fix --- atomisticparsers/__init__.py | 8 ++------ atomisticparsers/gromacs/parser.py | 4 +++- atomisticparsers/lammps/parser.py | 4 +++- atomisticparsers/utils/mdanalysis.py | 5 ++++- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/atomisticparsers/__init__.py b/atomisticparsers/__init__.py index f2858f3..27328e5 100644 --- a/atomisticparsers/__init__.py +++ b/atomisticparsers/__init__.py @@ -40,11 +40,7 @@ class EntryPoint(ParserEntryPoint): def load(self): from nomad.parsing import MatchingParserInterface - return MatchingParserInterface( - **self.dict(), - mainfile_binary_header=self.mainfile_binary_header, - mainfile_binary_header_re=self.mainfile_binary_header_re, - ) + return MatchingParserInterface(**self.dict()) amber_parser_entry_point = EntryPoint( @@ -78,7 +74,7 @@ def load(self): python_package='atomisticparsers.asap', mainfile_binary_header_re=b'AFFormatASE\\-Trajectory', mainfile_mime_re='application/octet-stream', - mainfile_name_re=r'.*.traj$', # can this be specified here? to directly check for the emt calculator maybe? somehow we need to seperate the general ase/traj parser from the asap parser + mainfile_name_re=r'.*.traj$', # can this be specified here? to directly check for the emt calculator maybe? somehow we need to seperate the general ase/traj parser from the asap parser parser_class_name='atomisticparsers.asap.AsapParser', code_name='ASAP', code_homepage='https://wiki.fysik.dtu.dk/asap', diff --git a/atomisticparsers/gromacs/parser.py b/atomisticparsers/gromacs/parser.py index 6fa84a7..832c5c0 100644 --- a/atomisticparsers/gromacs/parser.py +++ b/atomisticparsers/gromacs/parser.py @@ -53,7 +53,9 @@ x_gromacs_section_input_output_files, ) from atomisticparsers.utils import MDAnalysisParser, MDParser -from simulationworkflowschema.molecular_dynamics import get_bond_list_from_model_contributions +from simulationworkflowschema.molecular_dynamics import ( + get_bond_list_from_model_contributions, +) re_float = r'[-+]?\d+\.*\d*(?:[Ee][-+]\d+)?' re_n = r'[\n\r]' diff --git a/atomisticparsers/lammps/parser.py b/atomisticparsers/lammps/parser.py index a200800..3d9b7fc 100644 --- a/atomisticparsers/lammps/parser.py +++ b/atomisticparsers/lammps/parser.py @@ -44,7 +44,9 @@ x_lammps_section_control_parameters, ) from atomisticparsers.utils import MDAnalysisParser, MDParser -from simulationworkflowschema.molecular_dynamics import get_bond_list_from_model_contributions +from simulationworkflowschema.molecular_dynamics import ( + get_bond_list_from_model_contributions, +) re_float = r'[-+]?\d+\.*\d*(?:[Ee][-+]\d+)?' diff --git a/atomisticparsers/utils/mdanalysis.py b/atomisticparsers/utils/mdanalysis.py index a85187a..278b9e6 100644 --- a/atomisticparsers/utils/mdanalysis.py +++ b/atomisticparsers/utils/mdanalysis.py @@ -35,7 +35,10 @@ from nomad.units import ureg from nomad.parsing.file_parser import FileParser -from simulationworkflowschema.molecular_dynamics import BeadGroup, shifted_correlation_average +from simulationworkflowschema.molecular_dynamics import ( + BeadGroup, + shifted_correlation_average, +) MOL = 6.022140857e23 From 0983ea8272bfa18c65dd5b57fdca4c5d92417a6e Mon Sep 17 00:00:00 2001 From: Alvin Noe Ladines Date: Tue, 17 Sep 2024 12:11:10 +0200 Subject: [PATCH 6/7] Fix tests --- atomisticparsers/ase/__main__.py | 2 +- atomisticparsers/utils/parsers.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/atomisticparsers/ase/__main__.py b/atomisticparsers/ase/__main__.py index 67e321a..d527dd1 100644 --- a/atomisticparsers/ase/__main__.py +++ b/atomisticparsers/ase/__main__.py @@ -22,7 +22,7 @@ from nomad.utils import configure_logging from nomad.datamodel import EntryArchive -from atomisticparsers.asap import AseParser +from atomisticparsers.ase import AseParser if __name__ == '__main__': configure_logging(console_log_level=logging.DEBUG) diff --git a/atomisticparsers/utils/parsers.py b/atomisticparsers/utils/parsers.py index ec5bf23..77c2138 100644 --- a/atomisticparsers/utils/parsers.py +++ b/atomisticparsers/utils/parsers.py @@ -36,7 +36,6 @@ ) from simulationworkflowschema.molecular_dynamics import ( MolecularDynamics, - MolecularDynamicsMethod, ) @@ -183,7 +182,7 @@ def parse_md_workflow(self, data: Dict[str, Any]) -> None: if self.archive is None: return - sec_workflow = self.archive.workflow2 or MolecularDynamics() + sec_workflow = MolecularDynamics() self.parse_section(data, sec_workflow) self.archive.workflow2 = sec_workflow From 798555893683635f69691e348eb5b444f19f9e18 Mon Sep 17 00:00:00 2001 From: Alvin Noe Ladines Date: Tue, 17 Sep 2024 15:27:44 +0200 Subject: [PATCH 7/7] Minor fix --- atomisticparsers/utils/parsers.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/atomisticparsers/utils/parsers.py b/atomisticparsers/utils/parsers.py index 77c2138..ac67c27 100644 --- a/atomisticparsers/utils/parsers.py +++ b/atomisticparsers/utils/parsers.py @@ -272,6 +272,8 @@ def parse_method(self): sec_method.force_field = ForceField(model=[Model(name=traj[0].calc.name)]) description = traj.description if hasattr(traj, 'description') else dict() + if not description: + return calc_type = description.get('type') if calc_type == 'optimization':