From 4895e8d6afd4163fa62a8ff9a1acc632f3ad877d Mon Sep 17 00:00:00 2001 From: Sandip De Date: Wed, 25 Feb 2026 00:43:14 +0100 Subject: [PATCH 1/3] feat: add SOAP-based symmetry-equivalent site detection Add a second method for identifying symmetry non-equivalent adsorption sites using SOAP (Smooth Overlap of Atomic Positions) descriptors from the dscribe package with hierarchical clustering, as an alternative to ASE's SymmetryEquivalenceCheck. Core implementation (autoadsorbate/utils.py): - _compute_soap_site_vectors(): compute SOAP descriptors for candidate sites - _soap_similarity_matrix(): pairwise cosine similarity matrix - _filter_unique_sites_by_soap(): cluster sites via hierarchical clustering or greedy merging, with configurable similarity_threshold (default 0.99) Unified API (autoadsorbate/autoadsorbate.py): - Surface.get_nonequivalent_sites() accepts method="ase"|"soap" - Surface.sym_reduce() accepts method="ase"|"soap" - New methods: get_soap_similarity_matrix(), get_nonequivalent_sites_soap(), soap_reduce() Tests (tests/test_all.py): - 13 tests covering SOAP similarity matrix, hcluster/greedy modes, soap_reduce, method switching, ASE vs SOAP comparison on Ni/Ru slab, timing benchmarks Documentation (README.md): - SOAP method usage section with API examples - Threshold tuning guide - Dedicated ASE vs SOAP benchmark section with: - Method comparison table (ASE: 16 sites/8.4s vs SOAP: 8 sites/0.016s) - Detailed breakdown by site type (8 SOAP clusters) - Site comparison plot (site_comparison.png) - SOAP distance histogram (soap_histogram.png) - Discussion of why SOAP outperforms ASE on broken-symmetry surfaces Scripts: - scripts/compare_sites.py: detailed ASE vs SOAP comparison - scripts/plot_sites.py: site visualization with color-coded SOAP clusters - scripts/site_comparison.png: generated comparison image - scripts/soap_histogram.png: SOAP distance distribution plot On Ni(111) 3x3 slab with one Ru dopant: - ASE finds 16 unique sites in ~8.4 s - SOAP finds 8 unique sites in ~0.016 s (~525x speedup) --- .gitignore | Bin 3443 -> 3715 bytes README.md | 114 ++++++++++++++++- README_files/site_comparison.png | Bin 0 -> 263042 bytes README_files/soap_histogram.png | Bin 0 -> 30490 bytes autoadsorbate/autoadsorbate.py | 186 +++++++++++++++++++++++++++- autoadsorbate/utils.py | 182 +++++++++++++++++++++------- scripts/compare_sites.py | 86 +++++++++++++ scripts/plot_sites.py | 168 +++++++++++++++++++++++++ tests/test_all.py | 202 +++++++++++++++++++++++++++++++ 9 files changed, 885 insertions(+), 53 deletions(-) create mode 100644 README_files/site_comparison.png create mode 100644 README_files/soap_histogram.png create mode 100644 scripts/compare_sites.py create mode 100644 scripts/plot_sites.py diff --git a/.gitignore b/.gitignore index 0a197900e25d259ab4af2e31e78501787d7a6daa..81db081633e344f4a22ce7844fd9f4c64d00cc7e 100644 GIT binary patch literal 3715 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 HSF`^BqI3Ld diff --git a/README.md b/README.md index 120d32c..960ae39 100644 --- a/README.md +++ b/README.md @@ -401,8 +401,34 @@ plt.show() -We can reduce the complete list of sites based on symmetry (```ase.utils.structure_comparator.SymmetryEquivalenceCheck```): +We can reduce the complete list of sites based on symmetry. Two methods are available: +1. **ASE crystallographic symmetry** (default) – uses `ase.utils.structure_comparator.SymmetryEquivalenceCheck`: + +```python +s.sym_reduce() # equivalent to s.sym_reduce(method='ase') +s.site_df +``` + +2. **SOAP descriptor similarity** – uses SOAP descriptors ([DScribe](https://singroup.github.io/dscribe/)) and hierarchical clustering, robust for disordered / low-symmetry surfaces: + +```python +# Requires: pip install dscribe scikit-learn scipy +s.sym_reduce(method='soap') # default similarity_threshold=0.99 +s.site_df +``` + +The SOAP method can be further tuned: +```python +s.sym_reduce( + method='soap', + similarity_threshold=0.95, # lower = more aggressive merging + soap_params={'r_cut': 6.0, 'n_max': 8, 'l_max': 6, 'sigma': 0.1}, + soap_cluster_method='hcluster', # or 'greedy' +) +``` + +Using the default (ASE) method: ```python s.sym_reduce() @@ -496,6 +522,89 @@ plot_atoms(s.view_surface(return_atoms=True)) +## Benchmark: ASE vs SOAP symmetry reduction + +The two symmetry-reduction methods differ fundamentally in how they define "equivalent": + +| Aspect | ASE (`SymmetryEquivalenceCheck`) | SOAP (dscribe + hierarchical clustering) | +|---|---|---| +| **Equivalence criterion** | Strict crystallographic space-group symmetry | Cosine similarity of local SOAP descriptors | +| **Adjustable threshold** | No — binary match/no-match | Yes — continuous `similarity_threshold` | +| **Scaling** | O(n²) pairwise structure comparisons | O(n) SOAP evaluations + O(n²) similarity matrix | +| **Robustness to disorder** | Breaks down when symmetry is broken | Groups by local chemical environment | + +### Ni(111) 3×3 slab with 1 Ni → Ru substitution + +To illustrate the difference, we replace one surface Ni with Ru on a Ni(111) 3×3 slab (54 candidate adsorption sites) and compare both methods: + +```python +import copy, time +from ase.build import fcc111 +from autoadsorbate import Surface + +slab = fcc111("Ni", (3, 3, 3), periodic=True, vacuum=10) +top_z = slab.positions[:, 2].max() +for atom in slab: + if abs(atom.position[2] - top_z) < 0.1: + atom.symbol = "Ru" + break + +s = Surface(slab) +s_ase = copy.deepcopy(s) +s_soap = copy.deepcopy(s) + +s_ase.sym_reduce(method="ase") +s_soap.sym_reduce(method="soap", similarity_threshold=0.99) +``` + +#### Timing results + +| Method | Unique sites | Time | Speedup | +|---|---:|---:|---:| +| ASE `SymmetryEquivalenceCheck` | 16 | 8.4 s | 1× | +| SOAP + hierarchical clustering | 8 | 0.016 s | **~525×** | + +#### Detailed breakdown by site type + +| SOAP Cluster | Site type | Formula | Total sites | ASE reps | SOAP rep | Interpretation | +|---|---|---|---:|---:|---:|---| +| 8 | atop | {Ru: 1} | 1 | 1 | 1 | Unique Ru atop — both agree | +| 1 | atop | {Ni: 1} | 8 | 3 | 1 | ASE splits by distance-to-Ru; SOAP merges (all Ni atop) | +| 2 | bridge | {Ru:1, Ni:1} | 6 | 1 | 1 | Ru-Ni bridges — both agree | +| 3 | bridge | {Ni: 2} | 21 | 5 | 1 | ASE splits into 5; SOAP merges all Ni-Ni bridges | +| 4 | hollow | {Ru:1, Ni:2} | 3 | 1 | 1 | Near-Ru hollows — both agree | +| 6 | hollow | {Ru:1, Ni:2} | 3 | 1 | 1 | Far-Ru hollows — both agree | +| 5 | hollow | {Ni: 3} | 6 | 2 | 1 | ASE splits into 2; SOAP merges | +| 7 | hollow | {Ni: 3} | 6 | 2 | 1 | ASE splits into 2; SOAP merges | + +The SOAP method captures the **physically meaningful site diversity** (8 distinct local environments) while the ASE method finds 16 sites that differ only by their distance from the Ru dopant within an otherwise identical coordination shell. + +#### Site map + +![Site comparison](README_files/site_comparison.png) + +*Left: 16 ASE representatives. Right: 8 SOAP representatives. Coloured by SOAP cluster; marker shape = site type (○ atop, □ bridge, △ hollow). Grey dots = all 54 candidate sites.* + +#### SOAP distance histogram + +```python +sim = s.get_soap_similarity_matrix() +dist = 1.0 - sim +upper = dist[np.triu_indices_from(dist, k=1)] + +fig, ax = plt.subplots(figsize=(7, 3.5)) +ax.hist(upper, bins=60, edgecolor="black", linewidth=0.4, color="#4C72B0") +ax.axvline(0.01, color="red", ls="--", lw=1.5, + label="threshold = 0.01\n(similarity = 0.99)") +ax.set_xlabel("SOAP distance (1 − cosine similarity)") +ax.set_ylabel("Number of site pairs") +ax.legend(fontsize=9) +``` + +![SOAP distance histogram](README_files/soap_histogram.png) + +The histogram shows a clear separation between intra-cluster pairs (distance ≈ 0) and inter-cluster pairs, confirming that the 0.99 similarity threshold sits in the natural gap between equivalent and non-equivalent site pairs. + ## Making surogate SMILES automatically Simple methods of brute force SMILES enumeration are implemented as well. For example, only using a few lines of code we can initialize multiple conformers of all reaction intermediates in the nitrogen hydrogenation reaction. A template of the required information can be found here: @@ -678,7 +787,8 @@ from autoadsorbate import Surface, Fragment slab = fcc211(symbol = 'Cu', size=(6,3,3), vacuum=10) # any ase.Atoms object s=Surface(slab, touch_sphere_size=2.7) # finding all surface atoms -s.sym_reduce() # keeping only non-identical sites +s.sym_reduce() # keeping only non-identical sites (default: method='ase') +# s.sym_reduce(method='soap') # alternative: SOAP-descriptor based reduction fragments = [ Fragment('S1S[OH+]CC(N)[OH+]1', to_initialize=20), # For each *SMILES we can request a differnet number of conformers diff --git a/README_files/site_comparison.png b/README_files/site_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..678cde69ba1c2cadd177f83bf7aa76a15332c87e GIT binary patch literal 263042 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

iv4?yqcp3dMNY{-27r5rQkSAk!K z53NfwU9J6QnpxCnq1UpW%cTm;>^+kArD#D199$3344{}Po#~ZdeEu9aj+ScVo*$Ob1X!y02S3p}(}u&i5_$a67|aIg`o&D$wRN?){cg&&x^Oe- z$&DRjRD|=v{yw3K^<08ig;hdg-cF3v#P{Z9*bdoKXt1lt4s?AV-XUBz&+chOda^7T zr3hihYD{;cgCcK)D_w6)`44}^vG9ttfoPrF@gl#eGAV8T`-(!!2gvS25Nj3byGC`= zp=nsNzL~zaVYZ8{2I``B%*Ur&-{YDgw4&U7mJYFoWjE4bO569kN}VFz9-!do0^Rs{ zl+x2~c6zSX0alyW%pJ&h%S6En_*a_ED>CUHhKJ{}T1>zBfGGeRvgoGXt zkud%xBT-KuKZ{2d*&xyA9W)QwxK$!>(L#@*s?upT_yh(1YgunrPI;u`=r(=XEsX?H z&~V&?Wt+#!sGm`dCHC07G1U<`F`fWwf1c#zEtwce|86|c4eSe{G3S=j&U;^95#FT05K!|RSm0qNUOhEd}&R4xVdJ)md ztxyirfqwvIAVGnGB>m2Q7o9&hUXS1>JMJiAGEeLKXnj+yb58PkeoAxYIjO<%ZklwZ z#T}^GR}T)J0aBq;s?bH#)#>^`6k8uV3>Wpwudc5Ub*CXpKaTi3PwKmwrKOh^9h8J* zT9>mmB%h)wP4N4y%AkJt);L6TXFua)eov#faH44c#$6s_i2`k-0CA7Wp-JGSySZI- z7%U26U7`yBz}Y( zFCIUAPRz?q0&{mLvZcJW>3Z-{B@p;1l;Piut$eeI)3Z(fCT3RNU=efk0OJ9|O7C0j zfx=Yp+)+zU8*0{!GvyNupVfK=mdfxl4xVLh^u9rE5oX1~I_q!6)3>#%na43In5;g) z5R2o@FCa!`09e}UZaG2Am3`j7iZcb#wcQbrn>^kvL7PfLWAai)`p2AfxI`(sySo=P z@d)mt64*19D5WDO8Wy*EeXy#;q`yx^Zwg~hW(dY0i%rso2hgzmjf(DsP>EL{>uM4@ zCuKhwj3pw$;)|U?yT(1>#*viUNG8vSUS0j*#DbFSqd+&{4*A1EqOM`WMz;@{*~+rU zL)Vp(k55QM!%f0X$9e?4&MP);9V9A}xdZ6D78;HnGDzi!VWHlb`nAHR4y!=s)&b4r zlTDl5#uOBRJO+U9>jmVru+rbeIfhG*55MVd9;`hx8PEO_*xha&}#)Bv3&Pc-O-@mu7zE|hE+VI?{A8={3p4CwUOV5d=%-d?e zJ6}(yUIG5qCg0H-ISJtibpGQHTEEL4wZfKsGY1Yd*0WH~yR>M5)Me_P`h~y0LblnV zqJ8cD!v$mZGC7nOt_f{H;AHD5)`x>ZY}_#;*$UxBhV{;0`u}c1lRsTy3zB@HW)gX> z$ZEp(Lh9cxjsC!6SA5O4Z}Y{{;;>$-OfAyTz=?BO;zA<#*v!#H3;PMsNlFn&h zUa&5*j;*1&qV#nPvqpRJyx?pW6}5M84O1iCHPqf9`GkXoTdzhdDeN!{9?-- zh_>6Y*@!9%?!X0&+VMXB~-2;ES=IP@4hcBgc>37MYT&HEyoz z2~tr&WODi@=(qmc2Rk{ce!5TODc=)3we(2`mxzVm5yAuB-!MgRs7%l=3-Czgj^>FA z;6^Th*^0!3g!CxUWnF`y%@pG2l3&h!VnTCOb;2F!753HNR07EF;PZK!5@V*nxj%DG zhedRz-ZBC2!MHlP;GlF0D)assIg03I4C2|&9wp1O_$?Eta%E*Db+Z`l zMw>r62mSl~FM-Vbtl$V=JNEH`LVmF@tse>cA&&h1Z641BA|_CNb@P;%f{Q*Lh4EOM z0`%=T=p?h};n7>Bp0B{*o(}zHzzeH{BHcZg{jr!uXR5Kdh3#gaj_FSNp^|vNyT{O5MznlWmy!IP8FyxvW)mh8-(&7~u_^4Vc;4l^(Fv zRRXNCw=uJc9R%|rE{;03`E$agKNn~0g(E5#fi`%(R~6)lXgmwJ5 ze@fr1^T(b7Es*b(cZOf&qF1N~8&^Pe4Ha2X3+J9TOR>FTYK=j2e4L(9|b zA*y`L)*jI>K@a*6F33JkhbH=$FJFSht`=WcASgl6`ff1NgtYSB(#&r*-1uto#GX}_ z@cMLAeA@G#(&nPQnDd6`z~YwZBBg9X`weeX$MB?nK(>Lp9t`KzNN{j82NLx7BfmRk zaMD8(Z5=-xXc6Z^Tc0Lh3-v9|2)sQ=VCPZJtVm~OmFl%Wk{ejt+hY1@;#2AKXGYw4 z9YJKT&Pd({Qd?&g?~DDIWVlpZ#a4R9XAE-3(SjSug8CMv&n&=yQGOfzK7SqSfo!@{ zM+eMMEP7)SYmy!NKgpV0M5tP5;^FVv0%$N);Q~jOO01MlxFqiM`qU@qMS z^5v5*tg@cE@ZhhRnPni+DNb5`vm3{>?~eiU(dg>pl81SAh1)qZ3w)fy7*G*&i<#kQa{j~f#+rc1p&&uqYtxY*~RC% zSqcU-B?=!0TakW&%24DgxgHappIG`_@q>efMp(NwH|Ej`c&^NGOTJ3xC8#&hTIq@6 zEp%mwf48`udv5de`Jm9>An$Q-E84^)BpX0&N~Wg+f{ds2HUO7$$@mxJ3z}vz2n!_G zxWe;C@!N_t@XPt$4xEFQO3WY|ORtSXQ{lC97{U`Z$aY@Y+&tG>@m#tZU|=EQUT%o4 z_Md!P1nytkf13JUy#(e3JoVr|=D_t}wQ%!RRN=zHKEa>KThvPj@hb4uWumcyP=Qy* zIDfl!S?lS;zzHKlYmW<>IsM$h4i5>C8ELABxbG)5iLa>%p3=G%^tg$PEsuezeN131 z@(GZcDuH>Qed-pUkj=s@EefF=k7T$LjSmCj*2f&AV*!Ih1e5~5z_`{Y#hY0T=jt&+ zMCOGMHX>0TFjgbR@XGNTi+F+MwV12@-nPyU*3fSNTr+D#tQYX8*x8l*w!o%8_y9yQ zO~CwhwU5od(SAw zz}|u)TwoGzhbCXJWsa!4_!R&acl=xX&oT?&o$`ZPmo0TqFmcCxd-#VlurdiNy55-5 zk9`A`_afK2-#AFvYF!6Z-k19&&*?ssp{G3ua;BDlzvUOJ!E?> z@pj-|%JED$*qKqOvh0((u6sh5mBwxs;>qD(BclJ>zvn={w4qf1#vHX64<7WW@HDSi zHbN%L;LN-~B0AVQ#k_R#zXa4Nr18DZgAURk=Ed9ny`3uCSUY_p)aE~6sfmjFEMis7j}P3}6M#1s!teH!4tV*vbm;U6 zHHjanQ8;bhv%qz#rI4|_fO+IK_weHjCE8)DpM79UO;rNN(gpQGFF!tr4Tu1)5t}Q4 z9{S9>iR?VWcf>$;9#C^@dh7g^@BsOQ+puP3s1t6EEznzUOz1JyuEe!A9AAm|)1Cb8 zo;31++S=_m>jkXL@836b>d-V?z@kFrzSl*b@kl{tFogv_sUGRFuYG=n0B6$p@(~!; zXyh)FX-+jy-X}60{6BvJQikT6a@#8g&QyhlqPv7jxb-U{^z zeUhOF$+WonICY7l&*gsqF2kyk!R7Dozxws|pG#@4a!)1Rp>Y@3?xi7lov$8~kyY9T zV#PZl%EVZKqrWr2rbeVu`8)R>7<5|s9!Z(dn>^q6P40_Eh3#xr4|g9Am`smyie_YD z+5mK4GQIO1JpsrtdjWUqhJSG?+H*&vLZ6EXT>H{j%GcwV@s)7{1G)J7jC(bu+VBaG z282=qs_h3r7J3iXdg?NV_T;isT4(sPB;XZm0?!0iFd97uHL<}63iTb7@M~Sreg9oy?Fi*a_6gP1Gpt=B^p>Edl^ujJYp4^(Xp-F2j}@xm zu|Z#q_2jvbj#Q?o+<>E%6)NK{{2BWA8{k>5es$lUX7Jod9u*R82iuJMWT{yegq$t` zsCJwT_u2$k!yTmK{LQ9&HgROdpbBmYJgrv%RzzuU)NyzIwWgm}gZ{xTNZQ0tFOCyw z*;x8KqAKDFZ8^O6N5# zox^~6!;kWzLA5}X6HW%=EEFYuT`xqn7T;Z%>`YguXX|}2kd=3>!|3qpsWewHY+6SP zAoe=nWvN~CDyn02jr6&m=;r@K4L+sw`x~!9sQpkZYpM0|>PzC-WzLnDA0Y0nAFwaX z_1!Xwk5{LGhoCr=dAh0W1H;C_$63WZxwn9Hk3FB$t^Oobf*R*b#$&>TDi_XxSBH_H z&W&l`ZG4NIw+IMj(!W<%%0JP<`1htV>zmztZVq6h-tugu`|5`dZHSDM-}?@4M}rVJ ze+pIPxl;>$m*3_UUNWOAT*f>2-5LOQ7(?4+lyzV{4Auui3pJ?PXaqQLbr5QEk2uAk zE|sMsY((ookAq6cc3EhuKLB|Ma~Q7e#mBdrG^s&;0tY(&y3;?f*rAB>-%--a?It=ekkb80mWp6;PjyA6-bp6?a?vCCGNkq7LVey3r^$|-dhTy>5(5Aj{W zNy3RLFY7mw3%}ukQ!%E%)M6+$5=zoBv=l|v6Jb~^V`8;rTN=@tLwCRu3M<8dgDJq4lIQXmn{yDgw-FqJ6m#%&%wt5r%5YXrE`WGIFQ}tTq9Y zx&-hPe)h!jB8T+T9&ELx)1SX(taP4GR@x@+(RZZfV3kt-%5kbq2}HzI7e>wHmk4 z3aUV234O4;#8Z4tF`_#G8j?5Xk4-jUI8)#B8}jC>FbNfxWmVeY^;qp09Tr;L=lRF+h0*TyK6}hZu{?bi>fZmgRqQn*SOYug4r)>-cb;{;H-JZ+dP4yEEkY)T48S@T5-kRkPgCFVrA zA+B$37GA%XUvEq8zJjy3(PuX*fkMq&ztt|H@Ze)Os$vARUF~=GG0Tmbr3yLyFsFGI5P(k8 z%(2dlUhyQp)|}oQ=w|r6FKkgYws}V=(dsUmSaFo{s|*Rka2pwCo;=eWk^s5D4z`Z( zm8*m?b}6y5vvCzipAnt|citJUhf|R|^-5u&yc$ippNjcGbN3izB`5z*hfvgJ@Jw?o z^Y~;!b^%MrWV0VGxtA{v1_YDuwBw4MMGY3vKo0VBv`kC}?Os5bFdT%i0*O^ozWL5z z7_27%f;YgF?tp>isiY`~VbvV8FFO)ly@<|i8 z2kvIlk>pjH5AR%sC&0l;T-IhF3hZ;c?Gj%0-6oboMNUI*6Gj_LxQthlljTBFm;?mk zsD?53#p#_*08KB3yIH@%|90YsWkB&;s|9&Ds<;A3I5*I*#Q_|6Bv*KCSFkA8I7$R_ z`*nK!Aq@mj+_Vf0_cRS3kh~_yIf@H%cLIB}b5@VN6AjaN4v?3cn46o!k@!#I-<@on z0T&fTN5^s_znk-c*?jr&N?xSL+N9g4RPHn3XA?N#*a=Om)a=~c_OAcoAC;(55@^W* z1NZ{m+f=D3laev$4^yr~h{Y88X5DN$;y{k5tm)Yj6pSSf%I~nMqj=^$;gVxSKZCql zwb!{duyb3+tRhC@ho+HR)Our0e)apD2{zC)MbPK1bY9>uGVumYvm$(tcpu>HMW$Ed zGoYokvp5K(1nM1gb1J`910X=Ox2nYZhkA(*^vPt^^WaJ)Ur@HZc$PMJf_T%PNZnN~QIF$I+Pil9J-L z@T&IjL8#s1Ahv%zD@e1Y`qv6 z_;xa6S5An+wF+bf`A$Hom;eU0Yh`6US>Fh4K?e$s>S9uxM8zc>t_7KM7T3sFK&|Zg zdraagtN}VN^8j97Jvu7uy>4g#G!?i!cTLLfJlXfh+{O=DSO-^om z!o@K8L0pH#;Xj1+w;3uM@Ybd1BVAv55*`UY^t`6x7Zy-Hy_?JKGH8hyS=Jh(`88eK zMx5uH@d{l{6Lz|mf4L$>9fKnr-k;fI3d_+IE>u+SV~ymuL?WmwyBZ!h%V*%Sl+%7% zMk9>|X4HUl=tP0qd=_mC>_?n*Hlq|d!TF*y*cOYLVww9%!M!t*##p-i0eg?Q>stSx zJm)Rnz|S&%e1CNdoCq|^fqiP2D(;Hvr_qTTm2brc@L0o;d?ElC>G@v*le)O!;mrjb zfv4@v*7&^TUmicMUGi<*O;S=<*Cnb%%|_PN(b1=Q)@U~;w15R?CY-_CIWNpH%AI2x zwFXKR`PxTu>Ea%{c}!iZSpUMkqCb@YEHiZdFpXl7dPu|jHTTug3?QGER6d&jbkque zB7kqHq$wLlJsnpHJQ?#^mAA+;A9FHw5$F!t88^OhhHGH(ihd9T>Us<;U%kYPd8dKAvufjmSf1rVk0fZ1@t+*4qW4Q<9V_pu+zdO5JTEe~l1 z#6Kk;WoBUt{qa(jv||0%hQ(9VymPL%D&djBMqFgK7-APsF^ zZENrbbGX7Vw%DZgg+zNpgw1%HKnyLwQjSl`6886P?dcgGwcK17>NmI+%mYhF6zkcF z8mskQ~PB52ptUwR%~^cj-O~16%4hn4jIG zQ#|DdeBCVTrb>#R>7ftFC(5$~D;pS43KPae0zuY<2LOhCRASU%fV($q`;4}0nsfY% zJdupiq8iQ^inzVVJ4l?C&zoWF1E~^A8E?0(`(IE6kK=8SXh<*|A0OLST>bILxuZ>NKw| zGW3xy+;o9rG=?m3T}6hl?>gH2*e=_A=ym}JPQ{{cj)3zQ4Db?6)q!cYJrflw*Sh-7 zQc%_pvV!GVg8DL`V4oQk@H~N_#F@Puq$Fefmt<+gz{`q8OtIDXMjKDebyPKp zx7}8bqEG0FIDKfo+vo&2jFc}cfs&Mxlo>d_7Gg46Gck$3m?|~i0K=H7y!L*`-A~v5 z1lr`vR{90;dhtr0p22Vn6n~ zy9ZEFJ$8C16q+h2AR!b3@~GZop4)h@;cA*tXs9PQLpqzw(?jXJ+=h_u30@&$BMlzhfU>^(d}iY?N_~gh~GWYiLVK zO)Ro@D!soTck$QJ(5CLym86jxIqwwsus-|qC5|6PPF^$rtE6OG%8#^MUL5-0bCXR? zTr;JyGH1dZ3^C=R$}im!HSu};DB$4WR6W8fLEyn3TP=XUIakD2E|CaF&KO37Fv|*A zMd}HaGrqpAc!4U>qbDmnDtsUo`Xoflz@q)WEl^lmD(44-yF1_!bpNY&WkuQ#2l8oW z5k>9&!+GNdtasv%E>B@;4_}~n0x$G*uSoMp>whDvVsHKusXHd|1K_mFN$t0{KQ}Ek zSdIaf<-0(hZ7OiXmVNyr5Mx_~2R?5_z6CosJd2y{jNHDVc69h^2pkRgndC!4L6(1q zFxwDyxj=a!S!BQ%&K`#-fNHhr1`8R68tV;)apRC$>1!mZ0)aGs$Glo$l^nNWFj3vO zYz?3sN?)oC`+a(vnbHy?=@Wjn8u=RQpJfKPnxiM8E`ux*p5 zAu74leIOy3F*~1qD9vFt0kz{1+|p8WERTFS+=faj3e0_f!rmaVQO?nMrK=%&VQKAB zfk_IG`|CwBrHR5(e;jsgK-kkBa2O{8#vF2{+mT;f0f*?64;~X@cx0Q8?fTtZj$;FtwfglSRDxV$#zDOi9=9&T|kD3PND(6{<%-pi|fP zu5E%th60l}^fQuWtKm;Sbb;+Gkb0=5s!J@_63+;inoF80x76>SXPp+?yO>UqY07S10A5~w>kF$Z)bo{ILS8TjQn53+^XEBhwSa}mzemk1`!J-7e zA_0cZquFu{9(Rn7TGMu_yuz||CHgUVI$JqFhCEf+wzeL$ALRPXcC&Onng&0FTQO|C zvGNFOUn97bR5YtKrTY55p9x$d+$E1#A(C=^_m8mHena(xIex1pm2XO|sH`Zd?~wED ze4!HL6a#+z<8zcM;1V|-n=~riiuRojzC%RF@v2Uk1M5VscceI$+oC<3+(Q9cCMIl_ zZtm>^|H6w;uiv`fy3k|pll(!NXZU8qUo0#lcT@J{-ArONv=?MFy;5;2B!hzcX4_EF zh|8a*ZQ(Rjbj922Kqy>{l!7|-aU>ilnRQ>ush+0c5hz)NrLUu}ONLacx(FPJJ)b?x zzjJmw3d7waUq>w%3AWoevN(V0KH zksz{AbkxNTS|{|3n^$nJhb83`e(ZCa}NAH4gnB;|3*PWqJmp zhbly6EwOM3Nka$!RTPcQT!m}^nH-~aAjG*#u}?w%`8AI)PqH$$wFA^1R$9~$B0qJF zRq{9ee}I$8MMYCF-Lz^Dg46=x3wpPbQW5|yMIDkmXTBL(n6CH;JglK8s=T-;9ITki z29mCHF{n_&7s8j4bV@l$EQpehyLt%>oHq>+v(NU={L}fOMxQZwnU*F=4GDqt+D(*hHOUP0gOQl9SXe(p-$*_>E_Xt6BBO5@ z0!+fqFV;Ihh<>w*avXgke*yWWD_sq}cCZ3iU>7>&FNhqs-&mPNq3Cqlg(cd(zao7T^0?q({lT$RXDnR=1_A7?lM=lo zpzJ6EkB(2IjGrQ6Wn-i6GJFU7 zj*gB-Nhd4&2N|`;BibXs1ridP6BSmK{HX1@_(dia&@0R5``1!ZH6|~n>u@cFmz6LY zv}<&|J=yS`fEvsJYu%Y7+?0Ga0J!~#Q1S&ZhI%09&rKEo1GfWOMEV>Yw5Hq~A9oqs zB$uB86bGnjm=u)@=Lsn5Ii>d7sJ-DQJmjqn^$nC190v4ASm@~3v}kZ!Nw}DM=~=6r zqzz%%&_(bF@D|U3ifXF*RH|Fk6-8iNnF&$D4$wxH>OS~$mcYnpd%Slg4BLCRqTBlJsqKK~G+FoA^u(@y-m^BWbM&E}# zcTUx!-mwx9PE3v^773upDtc87NYRvyBDD&0+D)FVbSsmma}_W7!Q@Uk1iXDxSe~9h zme!g+-C1(p)oD-B{2}A06F~1b(RuH%~!%h5Z zRY(7)^Jt*BV%eF?CTAoQ4hdF=14&LK0GIuQ@Uy#w^L70o&xoE_e{hL-%RbCcE+}wE za`L{p{<6YCwR&e1`Q_;~a<26x+_Yk99w5BM#TkMN?>rhXV`S#yHUW`NC3$Mj_oT71 zlW&Sj#JOEMW@dA;rv3`V$09_h)N8g&`XB=X?r_X+U~l!tqek0%EWkrVX(uq;Y?WE? zBWNNxVg&XsAZZ(&FTGQ``C^5U3~XzLuB`!Hg%`l|LZmph=P-Ypc09cNO!A`Cdlhhe ztfV(EmOosq>bxbMH9$W9Om0DCfu4-ZR78!OD(@g99TaqD`6d7y+k_l|wU~P1`nT|V zc_*(xND5jSYK3k7(g+T<46GpV6aKYp=LSl@XRz`r)T4x1)n%$C^_(EdK`3<8ViGJUjt`QdZB9Ond*93-~7>El49mcBmnrJOFs-|i{$ z8akk2N)NRqw+LGRNN4r}LNClm63CnZoYMseIsKUUU?6Wa7qpsn^a57(Y)w--p5K02 zgZBdy0gKPWMdJ7l-gbQc*`;wflpPQBD_)(`^l9CHRJ7t8t9Y)rj6&f3&w$HF|uv2+l=ZAO5 z2nd=eJG)^;UNGj91w`8iM6`5g03r8l$(wKbWWi-FVHpV*85G~Vi1cNUjrb5nF z>Ct=;Yh8g%Ee>*X(1~!UFedpluj%7t<*bv`k-51j zc`0>1e>&>$AX%r^^Ozr5Uwa-DUi=qCPk3~(G)B4O_~XgpB|2|7kEeaQyFVsu=oWub z(eU-f$w~8jpisTtGdEooBj$!NNu+$tk7m(oO=+|od#5WlbR7ReKxX@#UR<@#(EGhW zZKZSw@TFx2&k4-X%>d-*@N|{TKSt77k7ic*1TYwT+rz@c%VF{%yl-;d$Tinz%Ec`K zOA}l7NVsdnvaHy^U%*nMpAJSZA|ewW!WxY1l!x>rMf=AnkdkkI8}I_;gv4L1Z6x z=LYM+pLHa5Q>JPw%B%L%sJOhdNt;%O6bUFrHt!Zzj$f#tHMwq|6 zwRjGu$}8E&0UjCrl%d59e_S7*I`iiIf#~oG+fR>PtGX0|-eH(>oS0ZRvXY9CgrmyI zPL?PhZGbrS5%CJn>A23{AycD?E^QoShK^2HLEg1gM$W|9lZaQ)+9(4rcSFg}CX*Dj zRy5J*q=h>1a68Vq)aL(-atJWaL8e0|9M2Fbz5vKQ+VKoE9cp1nX5KF3&MW{nh>m)? zbVgxKxIEV?tl#2P6(RvWn#>|ZZs5&JP2?vprZ<9{9{{#=JKjH2BB-^D8Ik#Vj(pa; zZ@eMuS0<-wXhE+KhB$%rD5%OD~E`d@RPrn%#>d zQaMzJi9$%upZWy64O$DI^by|Z9%PBDwNm+MQ_Pm|)KvAT3($Ixx8fT5rXv$(g#eAF zQlj++x^9zGhV6R0EI=D3?6lrBN9_q>gnO*^1-RM(aaBUX{ddad69lX|32ycPTawpH zda)&O5-_M7P1SYY%A9SvXAwfwcYR++2avlty9&yaN4C+i$z;Hr<4WUHfK^*di#cOy zxVQ|F3eAs-o)|*OZk3$07jxOaNsS3G2cb_k7geo(S_QnO;taW*(dXv4lCrWWhFuyY zI&3I~=(H+qD%QwJMIC1JoPXZW)JZ4prVyo4Rbu~M_w&)f{!Fg^K{TaPFC7U0gV+T^ z8gYD_x{3M8oe|15Fh?+Bii?0rnZ1FdxVTV9tS@+Psvy|3tSU9vuU+0rwNB5z;iW?m z4ju{9NZ1Gt2?aavlLKFFUX^{m6UA9M2T>RbN%dF%O{1Qh$IhQUUDEe4J6=olOeR)3 zwfs^+V&HRJvqV@}*p(TMhU(g@ zvPBssJR^~-++3hUM@=d5QqQT;k(r1l{b)8q;&nTl){TmmTV)SenJU#{?IJ|o{COT} z(`ik4;~9pDiCystNx2Vjks*tg(sD1w{88vYClVwcr13-c#lzmPy7k0E+)*e0@zGme zMyD1M`dQvkwK{W3RrjbZ*;kM#sPP)%no8gxz43}m257(@%LAB6%F7sWJi_YZ;UceQ zN-XPlQ!RgQ?;-3?ZHW^qBK8DIby6+FV!hqfmgJnJzJ)$6x)=)>l48L5Vey9jWEyufpjQuDI;x z5#Gq}-fGQ|r#7cIr>kb$do&ejdneBhUo(0VKFxt0#7%i3!v5p=lbxnbFjo+ipVK$v zJ2&08gp!-4d!#eZMpsF%s*465j2d%!aRDLzQcT({A}FfiTI_l?%zCkX#t5v zYLC;xcMD%33P_W(NW#GNB=v+UYEQ?~)&mPoi3F`!jq-dZNQ(4MDMVs6k$44iIJ+Gx zs-_&mKLVuDX)Gx*F-62TYa&koRhFjv2H7dX~11=7WLqcU|xarok5?C*oc> z*G2z2+F8@wMaC*2lPcDy1V~?%Az)!Sn(hpbx*QUz`qiswVrSQ6&;NN5pZ)8vT%__oNWAZ&iEsotQtA02)A zZhtOQM2M6_k+~rYFw=14WIXeKXBT+n+@jp8<8cc@HH+Hnj|(@D#Em9lAy6_f05Sj~LtaCD{G5d*qQ*lwjoSRhMjmx98QDyi zAIufXy=Jibd1-CF3e@iWUnvc2Hpolz1RjpD*T0KC-Wy=h#?!)IGd0nIufK?rfvKq^ zTr|J__V$BGp9+)}O5aS($ttgpaAchCB&!6xStYrS8+WCtWAoc$Ua z>xwa`_q}6pxzMKegPm#zlHMpuNkt63_OO0AP{%!@C92cYGoyEZGAtA%`r3nyxhF4@ z&<*(nll98{`L#B4ZK~YG5(tS&=@Id#8>e+1BYlkZ{!3)ZkGpjMy0kgzfb#U&Q5s_Imb zl7d~XMkPe8D|VY7W+f|I?uoy18vZ+7ZYj4}mz~|L*fQSGUYFwUt?y!&-!I!Gz%!m_ zB2dWhNd`!OTD$kP8UaLOd;KWFDS&Qh46wJ~{SZ;s1LRBz7)d7tA6DNB9BeGPZ(dFY zU%b_Sd7LFJXX48$o)xfH{eyaxldXGRBl+2LPB7;mWB684jC+{O3;aksdFKFzl_qIX~^zs5~Rt>scFj| zrEfP6Ljl%Ot3dZ%^Q4yRxeW(+)&(zS`P^w>B>Er?EZ4aswMn^$6wZKi_4iJ0beI65 z5GH`ug68k<4*+V(-pETB);4P_zdM`fjpusU?Xjo9g2ODeCL$YSa#{cOj^tPh8XKAB znQoYp=>28pbrPCw-)jORii{P-M$;E?L~>dH!C6TV8RoI{VmYzfZqnijd8Rz!2=91# zD0F&|zgm@QXrz^IW)Fd*e;Srov}^LD*C!D0kjEAm31u{Bo3d-5-t?5N5H0?yq^PLb z3;X!rzY3Dz2Tew2AP0CSoUay0NEDx=D9$7%A6Q6_01!jPGJLA65@5KIqZ8oJ zu(7cnw{aWNKv%B*iOjzp>b^;|K;{^98ZO2R{Lkx7ReRrLN&-0lCgoch! zZlES0_tm7G(Wq(m>?t*N(ZiS-2s(zM0BF-n9~kmCqz)Sz@}EH5ubrk@)GCL7*!-2k z)x8Y`+3`@_n^UdBhGBUHD8+v5*PI2U3WPG(`E)v`rn&)>oh>hp@2jsSr|&n5I-qQ+ zah$ICl?J2b4qwD_5bG1&6Wx>DQ$ZWoIaGx%F`x6I8ma4<-Te!&0k0-o|6W*6y}7)t z#5zVM)RE(=bVR=X4tcd@^g>87uXO!)?ck;`9RJ4CP(w>FtqjV4iA7_2CbPE0_iky#gQcTA1&}bnX=rFZmak$c z;iRx)7qv)`iV~|KoD*J(c3jH>dXpz{j$we;BPS0R1ureEyLSe6utfu)yo}ux&w)@A zqBSlzuEXO6CsB_Oj_iqX2@h=^(?YX}r80~6;dLIhV8z0wPHY{^&nqz&_kPZy`ZGDm zYR8_&1fi$dbuK?61^WC47|}7^>o#Pw#sFon7!5=7oThxAWYC^S?ve8&&*}Tp!XUEV zqt=2(Z{M;4g-3|X;W-^M>Onj8Bjm5EiSUXFIaxw{_q>k9J7YPQ-@tiQR9l;%$Lj6r z3HzBah!hs0D(z4t3*OGoZdG@BW+=#k)X?ht2=_umLxag6IZ1!t#6NtWZkal`u$uSA z4(!FR%}qI2*2fi7^xM2J>J>z+mI(7`>&w+MBSc%m3qg=4R(^qz*@W3d`BvZdk;&Cs zyVJ$a@=GK`GoP#%`9?UMr5|}HonM4ch44@h5i+9r?un9=vLWV>Ct`ig@65!dg=P$Z zds;NGx(aS!fS&#jt#ic{z&T3BJBFRF$Y*C~3!6)!flZU6yVKib(5YCmE!*FP7~%UH zWF=&ka;()zFRv}9f5y<(I=41z zp>7AOVbsw|Yk~N0LocYr#KcxW9v4cCEQ%V^YYnruwvCgGo+eeUR#064?H<=$+aBVX zB`MTgJ_lqT2kdocH!pUC^Nq>IcFiL%I@NnLN{Xvj(emUel)F#uV5>o;dpKE2Rt>DY zd^t=qC#tHcErGDHK0LJFsrEDVSWoso%P()kQ;d@0Wpz>_nSV3LnE^38U}^KZv&+#mpPL3?$v?Gg58!AZyRSwDE$K&%R;VQ_!LWGekZH_(UUo#&aE7+SY~_8x35}R2rea@>P~f|U#zUAt1`bYmQc}{*_t;nA=XSbUz+t>hgC0=F zZ6}3#0*|R|q!!g?kfeV0P^r{NYOJGUm#cKETDh2s2^t|G(bmDidtQzFoJAr@+IiOk ziH>@3y(V+}p@4chQMMC8U2|Q?_)xp@NzpPhNT!e(@Ip<3Hb; z+?rH8$~HHxHV%dewFDBjJ4JC8msZF)=|9o9#F4WIE6*w-X$X9pwdNxBy%b$sS-B~N z78lpX6GfGZY-&P0vm+8i37)zsO{SKc-`*zAJ;KJuhtD|eMyQFqS9${qB{nwp;qjDW zVys8xicUnSy#8M$m^ydC+t$z*JJAXg=-p7`Kc;Go%sP5{1qN%?1oBceKAd#;p3pyW zovvCWHPz{^uU#hXsT+isx|gUM8s6VsTn54Q7Mu}gkg*8eR5XlT8{K-J1RoH$-v`@! zjQw3lXL%hxNsO|i5`hEl25_2ZdOWyu+}}7oQ9A&H%a6eH%?3y>J^+uyEmTNRT*Qnf zL_7X;67(V2hm9zs1luwgV}l+=7OpN@XSeA$UEQmKL{Tko=3n zZ4NGem_mtr{!_SKM6+uAdv%el=E!gEG`FjDi##mud-mCR?V_e8EK`Z7reF?xvRB4m z&%4;p6E5{9qCpSP2HadBk}yRb1+Ygn@zLAsjzVSbp8ygYIuKXw2~2leKm@_13u&h{ zmndpd&)^`Gog6xqOxsvNiQ8STn0kS99jEO9xHp<-o@f6$1C-1@c(G_~rfsnypcEtg zSAm1K_m7cF#5&Hk2TIzFZKfs*vpg6dzJ3QDgz)1EYtQG$p24}jj*Y(+R>4I@!Mn(v z!9@^XQtkMCgyv_BO)Q2c1M3`wGQ`dTxQ;G|at&KUZ=d+~=y?V52x956($(dn#duEe z5#(JK1(pg5%9R>zsOaX9TS*J5@wLX8B*KwknSOJ>@yY3TND&d@2h7{^#StlUJo)th zW4&7zwXmT2hyn+8)mQjIsM!P+lBkd-l(n*T%sA>HS5s4q0nHOy#57YYia)cn30)gK zNV&PsgQ9D&L-8jHCX&wHzBybxDr0{&Y9H_kftz!5xnh;G=xEMCen0nIthYe$&%H{E zXKmN_qHZp?E88-lZKtQdJkV_EpO^BLdsyE*K8{M-wq5(YwJ}W%ABw)FxaR1NzF-Nf z$JhqBcomMxzp0ZJT)iqbF-7hWT$Eg-l&4<7`-`_APgj^wVJ$vopg&HX?7br@L!D#D`5Y# z3M(snmlAqYPubjM?EFWTb<<4mdg5)t)F9UV-Od*x!N8_nzvUQSy^M$!6MjT5vu!1h z`C%;O8XJgN6^&};6}Z`mZ<9N;=9pg}%|*b-{$(K9rj-PoiA6=y3C3oYNb(G8_IB>g z9!?%g+cN;hTvP}`|2C|~Mk}Q1dR14dFW?D?FD;d64wn4abAR)>J5_CkP(3}{(LQd*#kZle9JWcG+O zEDq*8A-{yw1_<0$@BzZ>!xh3o*C z?m(F+;y8lp4k+n(!titxq6<4YqHd#iZ0a(BFKy8XWHF?@t|11 z(2|FKpXoc~Q+m4|%{o|uok=}e*5xJWJ zt0bUYjhPgBMg%-?24e6yAPHb1(P4vFT! zeW{sdW5dB>cSMkibnmYp#B7-R%Vo=vZ5P#`AZ8Zjd}#ACxb8r_-ppV@rK(B1Z?s>R zH|IxmsW;!GxP@dBXy>2j$>?MoYhb6g65;1iVgHSQ?LPFz=ElO(c5H!`v!U$r1>^VJ zU{r=vdf z{WZUTOEqUJDZiQEmo9uKAv}z=kFm`$OH8II95JoRSl*`a6lMkQBw#qnml2l(5g4at80E(F+agaJ(EZ6Ht_>%YnY zE+w2qD=HVH$uYJr&7DoglLmBo6!iSZg(r;7OSa$0*6ekpVPG0*?-~qEoLhH?LnnpW9aUs&F1|Zl%88%V(Cm5) zIRcc~qEy-mpteFzFf(6X-M1Y+RHRg`8i-fiwlW@1YUQ?Rr|W(~ibX=jr&~Zy z|79xf^16Wx_jK}AQ@&Lon~RBUI<(8U&jUO1%ZAQamN4vV)EuJ)c5UNKUVe<9ebPzx zJy3(i*R|qbf_#Z`vBc7<1%NdiZv4=PsELeo=C*pS_~!ha7XNS z@2DY#D0oqAegFbKfHttSwVqm8t|4m$eL*?G;PK$0RX*aWiCfBZ8*NuHGJ^5o@qk@B z>Y3ofDB|S2?Oa47CXNHNv^i&<>6|v4A^BYexq61|TLH{CN+;cG-?gfQzwfis5`5X> z895MMFg@7NvNl}LMP;zvaHV3UEU zROqu~CFcBO;Lc&HRA{W$#VjCm77+0I@h87??V~5g$CS2z_4JJJ`0Pq2__=dRLmLi- zhey$a`HOWcq( zI!HC7&BVLar#I$Y)Elj`w*z6G{gsP@HS+{3;y!Nn#6~73z*u&_U{3lzi-8T3JP{%6`kChD@X5VaLAI?@-F2(t#K{l*U3eY%1}+{{5?MXb?9xo}%jR zu5Jeddjm_Le*^2XDx2xf5j^o$aW9*iT}7mkHgSgXe>SCfPj>s>1&Ct3y}pydBg87k z0@FJj0TEMi{a=L3fgqmAx0TgCL=QnXB6R7&?a8@csHlhj6Av|SoAPBTpS_~Ajd*ZO zhbAXU?&e~>nHsOEVSMz?iML0i5X|2lFip7>%js&Qtyrm(P zQ7z?XK=ktR>h&^PQdVUpp)UhpET^J^>Q3?p`u23(*3tpSOPwRWFJUyqi8|TzEWjg_ zXVy9EsjHRY9@@=@z!qd@LZ*r)^em{tuyV(&W99@tPFGM+Kx|)a@9jgRE@4xbiOs1& zhsL_Q%8y@w2eQW|L<<16y@*Xjqc%?=mzY>sPO5#tD$jA4$fE~0VgF-xmqjJU4s876 z6G9AK(A25L1hQjl`XXatX<1O&fB~GIo#>pku|E?Mz>+>|+xBj(tyA1iJ?xj|)UqM6cDTgw@qI-aBl)&9%tkZJgD%3-vQA_0Eo zF0K%_%0&%@n+_Ta?KsI#_P-{UmMGGJ5;g4$cJuK|<F;Kc(1aZTRZ*jh<=>GG|97Tnz0T0iL%n-V$Vr(*T> z^J(v2>%6mVm_?~|F&+$s*3r?y_XYpA$>4Dru3=?kBmFlcGzIy=m;xqj^T6yvbP3c~ za5j9k6}?edRD@wv^Mus0?)P`;V&!t!sP+9m+_TPMH+@UzU*MyFHAFDDlQRH&8%DQ< zm+|YhTI4q*H;5Xl|2Az}7K)f_4CEVU{fSq2Q9Ed(l1`%b7sbT$ns&WF85W{}8j$P$ z+&Vdlrjq|L^$oZ%W0##vT9B|OVM4W%K~gR9S8AQ6x`uiB%&OX2SSETb@}ffHwXtP! zmn!siA;ScE=4xiE)D}F-i4ZP@#pRVtzOJ9Ye)g{I6>ABo&|+Gh*zTF4h^y$W2fUHV zCa@Qf6_hboPW__YQV3RdX#oGh^g~c90#yoBigadoR@e;zKU#jlQdE*{!-EXQ%_Cw37}8)Enj zYA3nHe0HP0-u_hsmD*w3c!cBGo*`a5l53_zL}$fgC}s0A->N8N9_0BGySce}0>o|; z2Z!_tG5~5}P zl9jTb_-FGkQNYt(T4*>^O(wPpoJrg_*g!Rb|BRVj($J7BEyP~;2T<&pDEz-+q@H4d zz2j!nVHgpiB(o$X==_L9-fN$_`rP8o8|W^OJRE4og+!`VvPSq*;w|a&ga!6Wnc4h z;cFaXpeWd4mlw@>`;|~*ON)zWpXJ7PSOUFoWp_)|94oe8vnIlV{7UO4xzR_z!T6BS z>+RNZZTckejXgg9!#llGfWpzXY;orsFN-bwGi2)@;OFNE9ZtnVBbBjw+=jAAO~KIQoHdnn1{Q(ODgtIQ6$o|#{~PaIgZ?J5^#vBy$h z$X9^%Ov=FlQC)4HFj~w6%h~*lz(89Y7Y^_k@m9$*NMZZZO>T@?P)J6yFdbdzyA^o~ z5Tx6>v+x?zNw~SV3P6pB_UGrTSotkL6(;BA#ZwE1V{vb|D+Ak6I6bv%jaV7`owZMk zPp&;OJy|&H)~CX{fNCS3v3s+glbthFVap?vJ&FecF%_sV6ljziTgq4aW%kVTeZaEy zkLnP8s~!+xaw}XCu#4VvJW~k6%0&IOyIYt$#v+-SnU@0?$~|La2!MKuG6t!_96(fN z2aqGg-O%V120t}$JDg~UQ~#aF6c83Bv2MaoOhl`lHD=TLVHBF4jw?g7PiO+hu+HSb z`gDhhqthEJ(_&8q1bT)* zAz(ZHgaj(Xwm$SAbs=wBw(r0vmmRZe-|-w}Go9U?qrbi`6x7sTC{)GWOep#&dt`XyWv` z8I005F%gG@4d68q?@5BZP(DISVT--4t^=qm`DZV+9fjbrNU^Yp@IjrOol-el22}w+ z(_o6@fMM#?jxgU!>zhH*wAKKVgW7c%mh<149@UASI;5ETZ2a*KTSSGx0ntd_^g0Z~ z@8>}Sysf|R&fQATRxUTbqzM76XmJ@wSe$i?CtxQ|z=x-Md3m{eqAS)71OmBO4gxw& zM*UXQAy_`DkLQn-tS{h@Hw8x%sKDFgtXv(U<`aroF)PO$-Q*5A<;XjpiP_W|BR!Xr2tUU;i}5mPLHEfqK5O4@o?Si|CW1>n)y zC_o@uBezF>XH_tAf`l1CdXtBi7B*uQkm^>DL7^pU54F7w-KQa=AR}S&V=G5|BBE7y z2j0mE6CC)E#kO*mGzv;a+)@#RcUleXS%Mcg-57C84*?DO)LtV!P#x0gP5)Gixwf&2 zSYfZx0;U;ZT#ld|a|iThK{&CPv@{G5Kgm>NcgZ!OiUukA5)5=*s@aN#kY?v0njVeT zL@O%V+Tq8)={$P7sPk9NE3phoI*)H!y+^wA%IIWLGO@;NQ1z-y~ZySc%9i zLQ`?4y1QlF!Z@@e>O1g74YU0A>tryt`?QJ`uc@mpko*GIv@4?VQSqvD9|#MG?9Z9Y zDp-CZlYYLQRad?eTLb!uQF!2R*hWWGBo3R=@2^RXkpDZkhSXNCd-9J=&jt%~_r@xy zr{_~FPXIwBCM-N0XNLOT-dUu(B+fFFqd;TgXuefqQA6@7IDVkC&f{br@9Ec?+E})x6Q~cZOhyYZ zB_+pwH;z>YMfL)70U(XXkHJI#co}a2=%1oT0QHWm&y^GdN2YF>42Qn*F zIzvdI(jNnI#MqKlDE{_kFKXs1qZBzPM$kB9T~uYIbwEwLFbITbG|MWPj{5uW0@e~= zh8T)uQgKPi)?a1e!B(doR=}L3AYA<8`$0f~GpG{V$v6zaoR7yzJBm0Cs`a{XQ)NjWmPb z<+{%W83zZ3{0~M^k$|t;isEMc4QxTA5&)-7m6q3l{+2bue|mQHlO7X~Nk&lo9);eR zIV=*=+~YyC%kO{WD=GZ_c%bK&_A=E3sMxkPyh*`gg^u^WxX292Nj7%Q(@qujnTX2~ z)^zmKWs)iXPf<6BBwGO4uP56ScFn!_F12smIr-!T4Iij*oMp$PX=9N3&@1Yb(NT)hlb&=mrJAKYiOJi*xPucr-+)G znmhpyNmN|ih;WkcxI=MU;)ZZRq>aXlwOfxSXFM{5a~5jH?nNyX7YlPIf-+kAX=yD* zB}sJK;{__^#wG3&Rvmd-8A)Ela!xmQExohGYu&F!FpjEHjw#(k!tWP1Q=v+Wo)E}g zKRTB$H=FMi6>ID2um-HBa7~6&+9-i7RH34sr_XrMxY_^`Zkbbc1tu<+H)YqOJC|5d zlRDVLp0{x#b=B(^ui{9BuU{mI41k~ej^k(p>Y^U>W!1OoTU*#6xH~bti`?T5VlNul z%XHSw=H5x%U)`Sx?4D)0($@SRo*;`2mM9+z7(_x|mH$=_5n-bkKY_tjIKZg(8{aV= zhqEL{%l`S;}b1~kl16$|#CEz~M$mx0+t78Y*@0a=W z0b;|`!QMWkvT|Pxy}U2eW%jJfv9aOeZt~E%GbL3kf~|W&Sh_C)w|`;U z9N?k+HgT|Ik)epLn^^?u64o-;Kv7RQCGhpH1qIxWdtLj8nKQeE*A9-OY z*yuhYLG`gRv{3_pXQI14yW4OE+JbDt#>bJn-h`;V0ECYqc(VJShM8(#=!CeaDj59? z!WP@qaneCxWKcSjK!asV%f+kMm*2n?k&8i_Vod*F1!r&I2%~_8y=6QNxUGS^y0Jdq zIa1F^P!|+2(OyVL!;5WF6taCCPc0_+U`f3QhNDkvb%=DCTM ztMpE+KO!`gnrdz={4+5WC9b%RG7(T|SQed#G)0sp?&A?tKyuHPip38GHSWmZmM=+x znD>vg=C!QsH7{d5)iI}xMyNzFD!mP=(^^G-w&FSQpajsdn;#n6`nh3jhfCYs;uR*l zT*k{_;8=cPVAFAt=HWLnp~EP4Pe}a|0k^|^a`%AIUPy4o3{V5kz=$@@Ea*CPz^Cs3>DOJ$wBYQ7njnE`y*tHRSy5zFy( z)n&xBViO`{P#G%vs`{!)Ex;T&vn5nXe||@fh~C=UiCcZK{Tx5fsnhOC2ROR5K^6V_ z^=qo13^oWA3xq3VvAs8Ta0OP`u6*rFg`gPI_GkF414hG+^!GOF zIr?b{p`?!m(sYlrlkK0JDV+sM0LCEZ_L?22&epXFg$&JpuptvIuqr=%C9?w#NJSG0 zXk_-YRTk>sBXV=L6k6H`z2hK~amJ@%yEzr?n3fXJGh|Y3? z^ikL|urT4#k61D3-5qMNch{#>{zB>@NP9kKR*U>(2@UND=(+jM#7YVqy3~n51yDsq ztL??)<)h=It-hqBq--`V7>c{Pa-MfR+y8fHlF3QM+Dp z(nW_9wSpV_tB9L0d$P@2K(hE6Gq`#;PbIo=(+`>@kKu3vYiTB^YZpXmM0@rRjBA1h zCo;$l|DA;Y=nd1ev;k8S9z1XCaU>Jv16lQb# zG|)EuEOt=PQk&V;hFDfp^HY2!9Dh|DeFLO4y zQoDw$l?SAT9iKD18anpJ0SqN?2by@`0AzFKR3!c$5VCwiBBXCdp2W`9KIz$iMpc!=ss zvbmL7j{?>+SAZyE>w1i37@!w6`QZbTH+au29Y;c{oETq$**Pbc+jaS>|*$;12Q$yLg~L@~s0FN=td-!VKLzF2#C+z7yHm>`{_21S%cNL8|` z^h8qxltCqT4|gY51>RlW38Z&S@))Lc>L@)(>U4~_%l|-@iXx-yJ0KykIj%rDMV3;O zKe7Jo>@ElvODmCtQF6}QxQ@_ConzfUCrzKtiW<-DNp22^u7i_?`vcj0OylmRlSGO} z+r4tE@{&o3#{>NT{*uQOcb=ONFl%;6h7A5@#{Cbd{T1r#RC^`nu9!b2&i+}Q=Cf;? zO>$bAg^=*ap@WOZ)7eZ}*;LNYoOc8Fru&=kd0RnBv9&nXT|XGc#;4qiDs3c^{-I$j z8W6X&z9UL_7qjngTJ(gUMm0lYMkbhgh@xRi4y;D0e3-IqO6~ znG^qfqvFV&_eH8~@2KlX>G3pPVf3b<`MDi0A0Nv3J&={fVYb?Jyr|no@w&pJ64!IH z^Ycxe!INY36e?;ve;^<91`9U0Q)j&Z6aZucpLbwt?dOr z8t%J|B>?UdZ-GphSNB+KBBJ86QCwi^{bI8Am=;?{GeJAUWSBuQ@2<5fp{tqo1Myr6 zK6OBg-RTyqyoW_{9mjAy|F49ON-kwBYzne%*AJ%GRpxEvz^ySGrScnDVS_onw3x6j zOQI&z(L?=BPyWKFW)3`xZghbpf- z2Xzf(rKDrj0D#cX10pueCYAok8lxP2lf0sM>4vxxysCy;u~Hkj;#*OP|n zoFg2-2t_-KbsbJuMZNB}k_3+Jf!Gx+n*UDUgh&z)hOgBv`Z+xvY5HLxdGzOY{Fsc4 zBVaONchNw?n_-`7yBy4L3+-4N>QOwgZUxPQ;+!FbF@pShH8b2W0Be`sbW%N?*A68t z_d)OcVGeG5d z=P~$e`MRQtVkx_^e0VW9$Q5-&^DO`-0y8s-kU-#83DM>`K@hm(&L88{;%d!nOR?ODhE@}^)IFraRXaNCE0I})G+O0E*Hes=d}RZcYyIyyQM64IDQCm=gw0fNI} z5T%a@9KHw7{Z2BQvL|t*Dm$69F2Kw0T-2L88M3+w{PUp_Ikz`DF!}CjN7!!b@=hj_ zIQZM>Ga*(&=$ukThplkA;LgJH8KshDlu97ka#exSSKwe7>z}+@5&8G45 zf1RKV1}iHoEryKfwtYDMr|UZdd3hH8c@P#JUcL$g^TuxUL^6kGojK~&z3Ir}9B(7d z*H{@``h7EW^nz)k5x7OMX0ixJrqu)TP{05X+6F-iC7Y#q(qvZD(y#^aql1|Wo9Wvr zcqOr^lEB2@6;$59uQ~Dw9`cA{?~?eH%u^bqJfn;(h^BZ7m@YUJ1_Fj|1c15+i%GeI z21)GiYw=-L!?#~T0$jGQTR#;af3}O2i3u0~_wUfqu@M&erTO4aT$N-t`*c-dTNH5j z)8=5o>TTw-$@*S`&uWC#^pxQT0J-WI5_=dqZT)mtJqRI`7&=_2r3ksE5Ve*g1B!IY zB&JvoM)Zhdx7#u{KV+QaR(I@ZQdx0t9av3e=Dy+n-V&abtry=anfS+CJb~@bF}5A7 z?Hq$Ie~VQ7-{HFvq%TG`u13C_ewz4Kuo|SkzAo^13VkGR1PXPQMmk_N=`^b1xJ`AT zkIfH~<$x}X{jIBQ{{p@G;#iX|%>#incJ?l4mClqiRs^@?qf+N|*511-wU4e4_$_xZ z4t;8NOW>pX>-ra&Iur|~j@!7?nX1uZ!gWi3yNn6#d44^dGbP~fQHp;v!`#&$)in74 z%u-Aas$eX1_!NsfnJ733=tI z5kqV}OEd1nG{pw4jhHX^&RwfXb7SPx-`@+M9*4r&}?P~wyo-7V-;WI;3&ek zD$WEYgZujC$?8GQ(Bxkt(hD~=EQIOlNL3t$Lv~(I7e7b``F=*`a0*=BzDOeYKGtQv zG;Ajc-)32j-#?|Y+6&xJB4C7Xz0?~W*i0(VWZpDbTUoQY|9eNe?C>@?*jwro0lHFg zjWf7YXkv#Dauu?4foUbv3)qttp^k)BIsO&3KDw(^$_W8H5sijZxgY>8!Vbtu`9A_z zu}A0J98r9)ZZs5xE-cK+H9zmc59PwKbA?SwDZJA&GR&#P@#W~~kCP(;{*H<3#Q@jn zdQpS7iYbZbCn2%pSB@gNqU`K^NkW*LeptRx3O1xnU2+6pYj$jWY!q8FVVfgcbGN_% zWWEqKnBaW;Dj{#l@iMWFDiqmFkCYC*v|X~Yy^>t5;SIr1)C<5)4ZvzifueyL==Lf9 zx9VY$krL-Wv1NoQMM5CR9UM?*&L$H!b}=6xn8U*(Y^*;zBg*zRd>Nw3%Hk=i4q~($g&>$XMC`5*SG9Jz~Wcf043c$7c2oZS6yZG3sy9uh6X=AYZ z@&vdPvJpg)^PodnAVDHiCH_Mr;5IXHIouD`#8szf3+VTaf!jcnon7|lCrC?1R5ssI z=ynwrFhp5RG0PPFhJ|eP`XtaJ`Wj9~y4@`9IFjur)LW?}b_-qf56mYHPEPnq?#%uA zWR9pQQndaw=aAtN$d2vr$YIl83;ps4jDWy)qA_ghzjbQ(-jRnL%U^adGnTPtwcK(t zx&b-6Pm?ngEI}nDJz_Vz*0x$aMeNbz>-uvg?MS}%XPesOJ+uo(_NRf-n*P|#u#oD{ zH#hoS7>BlFGjyE204Qj(Wpa9h`3LGs{>pBA)~IsW`to^lshD2^XartM)TR2Rn3jX+ z)X2`sF}pNo^uv7;V&ZR#x-ggu3IJ8Wl5BzPs(MemTj4UZUx^{Rp?PVQ9RnYKdr?t* zAG|WYPF+DY{fS9}A#m^L3K8@3<{8{~%A-?uxJD@e+(sVM^Ndg^TT#FI)T2N=*yeLr zR_u0BuI8q=nwo-&MIi*o5S_7!jgjT`v`ojtmjdnF3{yfU2T%-)ej3s|jHV?(KnDei zO|WF0b8ppZFiBA#Jx-Ywv)eV5Jqth|(T;5A7o+gLROA-`4j%-6?_+s#Id+Wu^wKM* z;2R&M%0FN%<`VqCkRZ$2umSD2m^QqAL8t_FYsllESz^nM&I5ZV%K}j&(peu?+&c~e z7=Yy#h>sBMZCr&8n~Mv09$Ssg;DG{ut*;rJ7@ZP^WZw3of<(RqU0=IIEx9^lFT^_L zp{Wh$%22RV*2IZs|0wXzxBwgVVgNqmtjQc^7(Fo*nC~flG~h+C;C=#@_-Mz%>Ak#N zm=W1VIU7-h6~`62r9pEySwh~#PeVgkWMt*eRskwag5BKaFic%w!jKzbAIu5-XijxR ztOF|xOWOeEJnOI?{K)O!1eror2bbkuIY10o&(Y+3%lf+qQ$+E8*B?C9|Z zJBF@LLVd--T{Ha!bXt|`{Nh~S(kw)TStnqmi~IIg(JG(-%qWPzVP}3o9+{qrB;K)1 zV-^2>pBiU+OyAbh>~uC5J|<#iUaN=@5x;nwWF1+{6UynI415d~3*sC&aov-53zYI7 zjknD$Ed0vL{~ipaw(n=Z!XD@i0B?~#@9iszK2|vrYNQ|x_X0+MxQEv?Wy+;158!i7 za^|!aU^`Dm6_r~2%=zpWJtDsh-)L7%1ZOd%s zXQK)_!1j3rUo+hz-mdjaXF_d-E4p()`Cq&RA??#6QoTX&0LNy( zg!p}(XyEMZTuy5hxsQ(zK+!Pgbw8(F_I>e2qYxsU(RPgbZ+Oc#M;MZ%CJ<4KDs{HY z%-*>jG8`42*TRF^e`gVwl*YFKa+p0s~~_T#FiA7#(FkyK3rB%>4l20!ogP=$X&|@WudA7PYx#%Q(-zDYQd2tdaxjp|B0xMh zF#n}+SP-9B>g`R?Q10ESD{9UxLYx6z%_=%N?U!5OEU$Cqe-jgDK<7on$@%WPp9C_T zs0=~@vFB>0^y&V<4*S+UcI+InE4`Yx9IS&p9`%DUdA0mD(A%bhaMTynJNlO}Fe>Wo z>}vg5O3{slromNg0SygY1V~QKE*FQA*XD{-8&10K--T#WRjOq-=pw5)GG&Q0xi?Tc zh%n}?Q)97HCcFBZ^H2KWl|y*G3zr>?R6 zOl(D_VK7x6pJJd73K6~BZx`+oK&MlYDvVev{P?y|K3&S*AjZT{RJTKeseAWX@$rOX zM|VULxeVfTEApe#>b*uJG+jf@aH-OgZExNHp})@TM5oT8vY62iFNx`^Wvpk(8x01> zIPVV>&MN4KOkn%ij`1lBj7R?1Gta=N8oZ&QQEg1Yn_%)dF~n3n6~;lvKto&9)B|Pn z3MBxZN2u{JJ;gZPoDnm&V(fefIb9DZU^7dI0PsE>dew!dYr^Bk4V!RlEF$3GXDlwl z@gS6fZR#Ol)g7vw0H|Max4(ccyPYtkVWOh@e#N&tuQZtCYKL9RD3L%dBZFc){ljXf zb={W5j`79HT{dbOK`L~p^H-(TtY&C=;_M?>Q8(-t?%lV^`adaC82bt4mewH+DSTc5 zEm&NXXmM2rNEBFa&D5mJxideOd-4cdSy=(3TB27{?cQ2;BG=7YRAJTbvm`>w%2&MW z<+i=wBvoE>4!jNX7sE2%&{PD?#E-}F7dOexihhfcVy*IqGvc3p__EYAG&S1$mojHi zJ@(D(z!$$ddj3VupwHH}&s-dO?Cy$bm6A5lO~n@0i*!tXx%$9Jta2FI-ro&_{Unan zZHY*Aih4b+9=X&3w}{|SZhSHLFF?1fRxm++>P&peS8{a2MtWySUcV+Q)05JW3wpwmCM;g91>01 zezNiuc0XY1b_=o37F$2{3nd|i64(;tM!nbcY&Zh~v?91`iL0uryv|GBBR=y-=RvY% zWFlu?&ozUSCoS71qOVCT0r6>q00Z&TCv>*JT-prrBQuN7@j(fRoq4Zfx~%iPgEILKrh~QpjY&saBv)u;7<6@g>(7K3A5+&<0{6Kmw9XoIdW9$~IzIb$h0>Nq zS%y6EXXtF~*VYqtsgm-5XKQ8+D(_xa;E*~jUEMh;y_unLLOp1=I56M3pe*+OZ2<*> zMXG=VoJA)9un}+r|KD53f?hs3)IZ0Ibk6;4zY+Qd%ZygX^;tln-DNv+>zStBQlBM! zEB3KhG_Tn_W9wYrARwl+RUzOxy<6Lk(mI`6;4)YF+aWxOIBt*a1y~T|vRtJC%HP;4 z>fc2S=j`#q6fs_tr)q$nboByCQla$*Q^9rECz-cW=5agCwx_pLxO4L$1gcrEPz$MB zS}QA1N!JP%2gOj+2qJd7=Ys(exLzQl7xg0BWeMXD8ZiRu*Cm_h8mX-6L*n!yfoM5j z8*w=cSkeqKH!^0QzBjZO5lwkeBu8}iiFU3$R%6nUfcORmmNfo;%1Q?3ibhkGW!*cL zbB-@q^THx0mA$F$>f+FR31nbs8GR@eeMv*qH_W)o(xfX|(Of_pyXlubBfBofrSorj z+AsW(KfzRGy`Dlo`(r)AQih0Kpzu9|#2J68?Vp)^9r4B{^mXD+38D~gWBs$7?$|j( z*Ieo|J)klErqY$_fb@!z|7>jJ2P}*U?Ck7*ChP)j2Od%YyS_-w!0}|UlG7xzSd7=p zhAXd%3n5JbEwW3xM&V7>6GN5jfkFD0L4R8ai2BzPHsKMxt1m%-vzDGrQEZxK@Z+UJ zpcK4eSD>-3xt-nf3B8_*GhNoKZpoW$<&xKo3qbkq_|;I3A)QFtVO-V3Z{fJPy9lJx zC1oOsx9omnEt@VZanj&srD$w+bea{Ve%;D6#M04fEp4ao`Jr(vY?n$DiD(zdKnKhr z;AD%wWoiZZ_TH4D?E21TnC)Yar8 z&=M)UgngM=zXoAkq+VqchqKq=Fx>ENAnr>!zB+S_&GWxlHCX} ztuUN~d&k^_ZtSQqy>bz=rG&jHo&!c=jzA?o?5`X)LopPbV2oRZLwGGgWz{762qo_t z*C$1Z`)gE3UGrXw9yQo7{<45DR(Go$~k>UVWXSaPy(7p~kr z7|`}cbwSQ@xt?1>Q5|o`upeu^1?fjfN?h5Cn?J)~s#U&h4%Hl=#20JK)?cyxyUzGo z8bd>^^oTvXLbBXZf#67SJL-0z!q{IS_B`&enU~l((VL-%D&9lixioksyrQ@A4UwbN zN0aNoT+G6UuKFf%qa%bMJ~us@ zhDU(Z31qMArw!@_1l1Ei;nJXekeIDqd*fow|1oF}NS0*V zzp(|=Wk=f;EL(dM4y1Oky!#qkADmO6bNwlL0UCSmv**1mqzk?%HqY{pnxRBEL)MZ} z*wfhd9==r782GsrWkkqOLw1X8bBXRNi8xM9?l<^49>WEL5kS;#9j`pCBenp843?CY_BJ8PI6nzuS~z0b)skOJ5G@=1BEPXzP0z3 z7S?2KrP$~+k$BdVuD`7)N_f+Sh8nCFSV;M{cDWhzVq!41p^cEwg65hj&=Z3LNN-M zF7AQP!1QM${n&OJwnHI4@YnqKgLxls?{M46wiw(t8*DiZg8qf%g3b7s&ysjTI6m(@zbJkD*-e)pnZ<0C4@LbSO!C#JT?4;R8MMt2 zq#lG)XSNRco@X&*a>lp(4+gssT5WDiGy!kVbkK)VCjFBxILUhwX{8p@CLf`2L<+B; z>k3yQ?iTRNPpdlGE>GWPciG94k=p^|hEu1LVg)vX`GOUfb18(B0J@wIgzOivKICp+ zSW}Wj^W6_)G8VCIKf_}-oOmohz#pOWj{)qhRLS>ZiLXuHD|=&g;z2&3zy!ZsnKF97 z8#*Euhv)HEMecXA`M(ykU;|hJS~N2LcRdJUI1&i2o8Ip4-@mKH1mw~$<1nYF)3!XC z76$Ook2bg%$Na&waa5rc6dfvyhFY{WZXuT$4KfSqQAM+CLy+rFklT4^$KE=LLT#-x zufr`{v$t1l>>rKGw+F<_XGX;2Zu;!nOP8f0+$P-Cv;Meu#f0weIm^pQWyzGb<{e>A z8n+iA!(hiaDhmf%YDC0qeyvG${kf94;%=FxWONlH5>ssuvb{Ks`(b#2`>)iGc`oIA z{$0sb$!rz^UF`}hPvIfQ8V=VhgUjCNYC0gq9$5gpP_57mv%f&lJFh8c1*mo7-wHY@ zR&2#aioIxc@xvhF26k8YYW2LHdaC%7YqQg&#)nLsOCm|bM6e(prrEgz+iZ1J^`MES zFTnD_?Eg40u-y(nWt%usFD@$sqC4S6dySXirl)rrV+djY%5$;odSL|`0C}MuUk5X{ zrmyBVO)NiE8tSaJ`L@8&!JEjWl14$sv+W#Cyg#O}xBFn?N4YwE#i+(4FxoT`XS3gy znT4q9p5L07?NAD{#`pq(1wTxqbQ4s9*Nv{!FWbG7-ihJPcXUyov|Ui8i+#i*qR6R- z&i?xsKHY&=B7t08!4h6S+5vg#~R!$8WhcU+HLhO_UHjU} z-*lCOqJ)n{_K)KUdHG4-Pdq@ozY?dY$(A{q>mbM<4nSAgVcEC#+4)bZ&31NHe>*`m z?n6zft`w5sSfxFcxtKhTep7PtX*ArfAB?h}X)g7q7HQ3cJ)s6Zg1n6jhJBIGp)x4% zbnK730LvXpZ#8m^XM2=SBqXwJE&{)#diS)8l$3Ns0uDZb-Oi|SNf5;@7J4{V$v#B-*{ZMzswQ+RE(xcDwZ ztB7Zk)8L}g6Kwe;8i;w`8%qScifhQ*Oa7|&UK7ihl+y?eMO~{606+Wj`({j7xSRJW zZ7fT=l6aGaLpZnc6OqnC*&2()#mA?odyGiFeEk}ikzxJUCLU086Dey`B0-_&D0*HO z8j;C-r_CC+shyvWpYNR+d>$MG{WqHL^2T{&>-`aP7h<0--pL=oZ{OV$XWIxy-kG%l zoQgM`q!2ngp#TAA`Cv!oy(W0;Apr86N`kc{{6!&`;d$xmbdEvq&r$(Vn32bM*8LYB zQ{-0f9oN1s6ttG+Hse4(g2mXSr5dV(-ObR0Y`3LH=BbVs+ZBw)=S94KgGP_-?wx-=$L9eqRrX z@!d&TJ=^Gv6DSuZUAiRkrP~a)`fQ4qMWMPmZE!6Y&+hQ!oX;{1NPEjJsmAFS|Gv6C z|1d9W@)`Z#^FU8d_f5Q93yfsGZMg@kA`L)cT*m!8V}|`)XLP%l>uh)B+&;!+NJlf& zuo`^WGa<8(5Clmu*LHqz%HU-HC$}&QANJm2Cm8_JV16Pddy8l78jM1eXrrOB4*ud9 z<)o>#hnpE{;Znl)6NbQE{DRY&elb2Z*S+CC*ODza6?S(sB%vK{^P`<_FQ`a>xwqwJ zMO?8RC%dr(!G^mP3FDI-VlrT;v;hcrI=`~E1Okb%I6Wx;yZ*#@K|N}}1!LlBa96kY za;~U<+~^^m4L`I|TE(*V=%yio7@jmh#3V=i7>9SvWW~NFhVxt-YB%%qm$Murx4c;PJ%2?GLTt?kAgm1fD}5kEn>86+CFpo2l_VB%2E(U z*^e8{W~PKV@1^9}f7Q>U0EK1wJdop7PU$9(El)?c`OFVzU?V6*b%dta=R`2=p@vK0 z)p@4{`x|XR?xP3Uoz^MKBO;ttqGp@6d5;?o$Zu~`3O?zU_(O8aP$J2N@Cy*q7@|n| za1b%cyQ++Of!sq>qoDs4URZzuh3oo*aBJ75Wi0{Vj8as!eGqkfP)|n4&4K@Z;vU-h zU154fN=B*ttyUYq|9LvUw&x9=3@Kj3eJ}#4kQ^)8gY~oR!zpw5{EB9keT`-ww(P(S8H-=FMjbQRNGJ z|KfITVJR(9q zn$HJ~azObd?AuJvfMI6Xi5`Fr`lMV9>?B3SZ@mZRPyEAn&>TLbsPSb!svQaJfqw_~ zFY6DK6YW(=Y&OIs#0KLwA<2vr3rv86-gaC}MMXtlU*FHDsIz0fI7U(9Z}xtafw@IR zNR{PY*ibXHz>pZzh`HPcdBdxLlU4lH&@fbluZ<5^--|ZOXYZhj#^fJ+!0%z#Hkri5 z4BvWrd3jLGoo-NRJJKQJ1TKEleLCCO1uIco$ofX%ivs9xbJN;om9`HvI31*fK z;PFFGsLsnBt}09svLC%?=iofHyAxvtLO$STSadq*)Q#|n9Hv_f+uP8$Hh^*VMAX%2 z(^0lTHgll%eSVUbO)k_(5H~X;aH$jyToGCbO*ZHtR8q4w2rXht+_--* zvs`>?rzXL8bVqSratHibJza&Vy2MAq#3CsKkqdeNgYb~Miyg9a}I3d$!`sXS}Y+L)|;J?+At2+x-SG@s*T*jops=lLtY{ciw zFJ$v5FpWkw)5g1bc81HX2$%k6GR_|(@(wqMfeCyz0c&^Tw1JVA+LLQa#w21Q#c|y7 zVl#Vr?jsfooA@2x#2SQyivXR3Y(#@jflQ+{KqcR^*x+a|6w4?Y5=jQa2e}?Mug>sT z&He@WAYiXb9bo!?begOiekMvtnRpI8O=-uJWif>_I?ga=t<8{ZQxcjOJdnB72o zMlt?ymJ+)PHoSR?@ANd$Yk2Avhdj^2znjyCi$>P-y2evBy^_hqa{X)oqXqYJz9-ch zN-W3<^BFf+-?THL$k$bvbS@!mNtmp+sJK7b`{JFtrl$6MtHXsoZ;Ja`Fi9nDlz3;5 zHqHp8RDEELB8IS6z}dxj{S)(rQk$$P+h?Q~b4*!?57^k+t@g-g_U}FAm__gcc^iJK zsBX*tPb2qu;ED4zd$T+}1>W}Yr^KAm(1-2UR8#_j5D97N3t>kGht+MVR=VCTSNnoP3Lo9I&3?w6pP@RRXUbyl2LI&+_YIrDV`B&er%tY(76;cne zqNt6eF*V9HUNitkQe`&Ck%vRtUUydngrBV6G(V26bWh~`=$KEhMV=+>nj_I|3(dW0x0@ zuUt3YgejFt5ickt--Vg2&SpMX2eHoRa4`YZCQl8hL6&w}19R)q3zoQt@^tW6r#2nU z#SyNbTyS^pC2!VO%!G32p^B&mTV7!nAIv*mP5$JnlWOlu~62Ae524+wY5F7>=XNXh0?vO~>>DoG{Es~${DDO8mMjOsJTmwxM zyx(NW5NNv?p_Cc7)GKprecsGm`4@Ms#%<&4Aau`=d5{|G{P#`w9v5U|1SHY2_t*Bo zV0Mm|nvF76>xiS?Zyhkt(@JIc600_6i1lbUY;Wi|l#-ie`xm84J)D%B zGc!Q95r<=Nqx?X1nO>P8kRBDI_khu_l*{flEs~rPcHzN8Yh8Y{_`B*u8}^Mr{VM4U zoT@T!_0hY=Emg?YbQ*9fScIS$NelpfpTDwnfZ+vABtL=TOq{_G9o5H=k*;tzvt`0kZP4`V~q}@EuL_OT)}Vc82uXIEkK7*P=SD!qi9n(F9QUj5h>xfS>Ew z#|1{fOMBD;gYR^PeHMz2YSSn>nI``|ouayS)m881XLtd1Bt+mW-I>Kv`gS$nc5JSa zjN^n1+0)E^tYbWi;&-E~&pfacleBAW6{c%R7Z4&k*gr5PC;wx>>-3toLi{7w{z3DbnNo-rzeHO*&1|2 z*L-Ss;s%=C0j_N7dYH2?dx*!e02*25+bSaz;8*x9Rw*(MMjSA{LM*QFys^oI=L6;u zkIxS$Sg5pL#{PRKdmY=IS>6rATGti5nMV)o4mPB~KkVbmZYY7TI)k-)s-2;sVkbB3 zeYYI~z?8R#7o))R9a-JkVA?xZf5(_OTK(Qxj@O?mH$E0CE%1O~C?qkFcS%fkPxIS* zmD|gB;N_k;#Sj1b$wWgckXdY4kTApAGhCO$0Ah70nG%HD$q!iER|i^wr^^ZTDnodD zR$Vl});Y9P%!*Rz=~8KOYU-?_ysuAYD3uG<&oA#gHBzymrBQ^A*3EkLLOfPRPS!5I zQs>YjT5hGRh(wNXtEUAMeH5N+5>%LPrR&V_g_YaN%D8Xv!_Vd>WY_X^Sk$i;kGf*( z1Z!bUY9l?YgRVJjm2jU@+?K?A9xRvvkJF^UwKanJ7*cZlKr)TH$A`JmuwiDuVVL3j zl#SI9W$lMa3Ad0?4ws%}eMK3yMGllg%y+AmG12;K&Zty)c|Nvd$T%s8+9;~Bnt#o) z0W<6>r@ilhN|5kP2^m)4Ub{ryQpOT5_yGyOl^4&Zb^S<}8(+PL-;o+r$4t`HrqFH8 zvw~4fd38q>p$lrhVO%c^)Sr!1&kmtM#_5rA=$)?2d_rY6u=f&r51;45tUg$#sJ9TB zUgot}`vc=eo8~?^A_>;U-5a6K%b9RbTK@Bgx8L?>0$6sBgFk=M)C5fIyzvwj6(K;< ztp1l+#nP1n=URQd&cv9^8Xtc|9CM_h6MX+0o>BeJVbSa9h>(ryjgo03fd}ue&d!0i zYQo&)4>Rdq>4Q54S85bz=>k>G!7a6yg3mWqirG6+*0&7PzwsX*lC|DGG|Z{#P!ZR| zZT~v$85{&Vp13Sl8PZ#kbu-bjOBn_SpHe@2yR!DIBN7;lOmR@TM79!-W%U z073RpAPeOT_@Pq^q#s7e`2i;EMK&T>>nW%!o-cyDUcls3j~(`tmc1)02?_EB%^LP< zq!#{Su$itKN|GF&^krP}2Z-ENnf{o zFTq_DTt*VR-ybzzB|bVhdDLPD%$J|@xDmfNB>KxV-CC9n^5MfM zgf0{&NZT*1q6wXdt{1$z^`2H{3^&uS0&+KOal3gDbGpt^8R`MUvgH{d&km#bcF@lY za4ufm+6n^3G2a26qDSx#L^uQf$(b3W$Gj>=)r?NA(MSeSe{!;I8xJGmW$k-Ml1e`*s$ug!*i z^c=0LKrW39$YSROfpVLhn-zYuCro|D>QUs(be#IA?pDNpRzRD|OB^bGAW!41M5XHc zg#8HnNXb2W72x(Rfxg{0`f$GUY^_A1Ie0e`_}HN32@X5nT_3V5uMpI!80)Llu?wP)ee^? zcMp{2F4Jux1~QIuyAXhGz0^enz?mZhCJGgdwik&AT~yv7MAIRXijR#ihY2swAxd+& zmU-9`8FR0vfn@A`W|xVd;q1?w4@YE(YoNV|gH zRl@fiA9+@7jx(?ybi^TrV<({&s4H^Uu7;@987=N2yIqDMO5U}`?O*+|bWp%ISY$i{ z(d!IlI0IRmye@}?@|gnt8zfy)dNU=oUv}yG`}=tvHj(OVSE7N@l$h3kO|>hZY`OsX zIBs(sr-m2By&=Pi+k5V2S3*6nhxcNg{!~54#s)UXC^cV4o+*^75ke3{9oBD;2Qa}l z6BLl`V&us)BYn-pA6_@>sza&lh^~u{Opz&Btq*vZOErN_->pg zBUmB9O4Sr#IvE-nvD>YRkn%gpB-pC}v;B&B7y#A8$^;_FhBA0iYskrAUSt%qLyW$I z8>W`^6#lG3NcFsK-UFI7D(*Z^Vdc^VyPe^i_Rd^%TmlUIrQ2?KXM4d`UklLhaxYl% zUyMcLq12p# ziyv%;yXG>9ud+?RI+f-%!Qi7-9hzaF1Tuo*^W)tuz$Jc_BCP{bjj4P0|5jcRpmd%k zMM?fE!|IAU_AX@2)(TfpGaNqmzP&7s!6K4dq8F<=yh@yH@Fl5mHx&3-7FqA9Gw`?G zd9{h4PX8a|z53-?OKj>_fAvM2>QB}7gPkC@oj65hJN(#<1;@BXZp@YEM|eP~5k!iT zjp!i%&hT;f^Dn_V4%4CbEZ^raLCPIvn+e}F>9U_?R;mc_iW=%2VG#1dwN=kKk7|cH!IErjyEaa62%^Om zDHQ5|J6f}2FluJyADBk47|oOvNhRvv-W7u?J+O$R&GFzdIWq-h2Z#aeP7Y*(2yUCj zK6qrS3ym^=II;R~M?WcPDP}}PS3smb0Uujl^T%x690~N(d~%& zG_>mV-$Fbsg_k*kI3yf@m5ov#YfryD>Ob7w9sG3^Rm^ihQ zL|P+y-KR52?yKPDW`U1-t)ypXXRpQ#`U60%WqWB|-_5rv*k9cB9II@FhN!cijZC$8$x`Veqv2??rl#o~Br-p%MV z#PYAxig{|0SkZp?;`Z`%69=$q025Y9AW9GT&Ita%6;34w9Nl3J7p80b48843G5>u8 zB$Dk8OT;qItT9$u2_N7D>tvrLrP;yAgIXJR1|DQ(1%^<#p#c>I3b2^^7d_?b_uHRX zkbo^{kBnQeECk2JobR?CX9fXLQ2792OxlBl)7P4_W2Ho;R946ZIIDc)Gcty|5oMj& zyziZ~U6-5*`5b5s4GqDrC%T#OXMhtc>ca>fk{C^LpZW1r4K~*@s=X2Cs3^mwg8pBE zg5?bVw92L^?ySq99_O^Pi%Q|Oc{BRcW3NsK7+l@%JSyMmD(uxu(DL2>Gn-UBoO{h% z9z9JM`<% zO%x&)pNYuC1s(P!5HfwYB^QCMHOv3SR*(kXpmXa6P1ubOPh3{irX&x>P4%lk$)3a}8 zW@cw5vp*&0dKF#F8m&qUR0-e6<8`d`2v=9WC1=0Y6idc56 z7Nfq)=iNHn4j{WSSDfBqvfLV68c0mQQdPRLTtXFVj~+Qj7(X>G#S#^yGbv)PUPrA7Vd z=bL-y`1&wWgJ@vFQz$?F5JP#{r>5r{lz-9^d7zsN=jixPFU(JPWg+AlCIGy-Ck^Ov z^URBE+Yk5DjJCz0?#2iPj|rw~Mn~aKx86?*b}raG{4VE3M7-V~zS@pba8RQ79zDYb zZ|9roN!nb!mu)gC0@RUX=_4a7UU!>Pi|z|L$$YK|WMXmO6ZHIN!4kZn|3lSThGq2y z?OwV&rMpw3Zny?(Qy88WfRk0qI6SLb@BIL%Pnw|9j5$p08Xg?zPvRHEZUc z-!0#dEGR5Y8Ul~jb+Xp|>`%V@h1%UR+gfkz2K2!@-9mGx0PU4{6*Q`I9*J)<#XXgyebym#9|YbnpXt$8fB5ZZmGF zzVN<4k1|Hji)d(kI7Mz`-^Xid--`zeM6|Eh=GDo5Ag7U5NS@r810CoHpQ9!OW#J24 z1K(3A*`T(H_g`Gx0W<6|oIg|OZbGfmd5{pBCNlDy2Ws!H)`jYAf^G+Oxw%(&({LV; z$@*#Gk0nmYxXxZ14U%Xoai(sX&nYwQ05AA3t>$`BE zOL8TYlD=<5RLA34Z=yHsk*^d1hAAc=2DqnDo}9HJbf##V(CP6{IKDYc*v# zYCC*$f4h@#a^gzhEgK5&>gLwjk_*Se^11fFR67wgBl^p~FGqv37Mx{(nfaG;NhYjTHzDPPlq$z_OergD4v6Oxiryg0_&NifvB4lxgu>) z4|g&q^LT3D{MfxY*kD&x`PjXm655CueJcI4Om@-hy!HCFf7Hm{p6zcUBAN=*dq;QY zv`J2|H+C91)`0XUJUcrZNXcou;BbhV3)V1so?t){l*j9Pt*PA%_kD6PyPyBO}g>9t8WhFJ+9m zlh#Ss!%tBV)+%(5wywOzg{oq8Ef5G~!=|S-g#M06I0B?9=={_CV`3t*ek&>ID)(3( z-ieszNp~fYk~NCuO}3CWK3&2%{berhljD1!Eg5?vy}2qX5KGn5H9<1-Mi{EHXvz2M2#p2PF6g+kWQa!gl( zK!BGDnDkx6k2Nqb0MQNb(Z`@0g8a_yc#VfIoE%S`^Gq0wli6a#)pS{>@8z%(=WARR z>`hH`dm{Or1cZ4**Os=5mbqau7SB1N8tXsTzmJQ+7Y?7ph@-3iG|+UgZF+yRlMB=< zI>2UxXl#C>ulMO)wC};e!RLYgb5N)TV;f>%CoKC1(9$hS@-)ArF!K(`8dm5BH$nhH zWT1b8!EO+Ygo1O^m5RxW&elNa;Rj9TbApr~K_%DVFc($U@>@0spBlV%QjVJjT;H>` zuMBKV`5TPb^EwNwo4c@#|C^fwKr{ag_F(gAfu?}eTK6a8x)PP1|0qYx&7L!up9j?1 zaY_e`)j$2Y-NU`q#msupk~Hug(?cY=0cUAr5?HkIhWhcvYyKxlPJn0@ioPgOp~VG_ zv3Q3#zp(JfGdlEg8hucbghO>0RHmyP*TjLk2ISa$Z^l&14IPKCzftcryzaW0|lCA5|(;65@F8_uRdFmH@;%j5BJoy`H3Qnt}*? zTojsKhY18qN|u(Ofwo~Hbb`nuAF!HCXE#J=X8z;=7+8_q4QqoIAB^Ug7=f?I7}n)4 zuyEZJLbn|oxEpztqi=4YlPx4Wr*w(3zro@-(VJY*=c>hq;8&w9G&pn@d!7E}Nk#;r z7E!^myX4C;qA+d&0Web$GdF{I{rc2FvvkT@=z2Az1^sNVv=Ss@g_8Fc0En7mu~mXs zb@3}>E1x?^1Nzheda>3{tzYLQMH-4^5ljDJ-m zp?Y~Tq+?`r?sh9+-^UU)%$jO^20uL{j2N<4?D{RA19oPQ zlnU4PuB9aj>`bj^m5%V$Vn_zz9vv{k!K7yK-x;(Z@2~q20p6^*GRIZS_zZfF{Akkq zvoBiJu6WpA!@*PcNG+C%Jd#|vU4RkM;=xf?&}`8K&$rHr{#adceV?$uq1#L8 z00fG4ajMFI>v>S!zq-90zLP_Zg$f|4T3#-5#Dsj5sm8=KO5lXd;`98VO*!4 z`ri25P?ux#?D6@NaEa}%ntP}={Hz2bA?c?1yFf9=We6C*5KO1qebg9NV8fL3-V9 zsaijF`Ua!@sRcg=5`S{yQM5tr)Do<>hHVrf;%~?fUL5up@hIgtS|bG6p?^Pms$m=W zUYfn3r-+T|3#YsGycIuaxtzCQU}xXKk7Z+H`=9U}{5-AmxMhu+DV14Ov|2a7Luly# z$o>3;EvI|0Vw=q=hFOQhK#;dcE|N6axy)u@Wh^xDBa0^&4oZ$Tmi!7kewxI`b2%-W zMG|zi@+b=;^G<%#TOy5^!hwJ zQr=|8G-S5A^Ln#;bk{Mvzr=s)%!A`n0DCtBdBa||1C$~PT3dm!6d@^j>lGt5U0C;Y zknMy*P#^>Q-`c~~Q|?eFN{4q{L%)fQi-3#l0$X2i?^?rx{eP6T&~%}zu3ExZ%tw(>$R0e>xxlz zUY1m-+59ispBnJ%x!u6azMe5}(-}v%uyEp?djNOA*&iP4M=j?{1|k$}=+8sun4}=( z&^p^RA@qT9>-vPpM5P{?8v1?UT706cr z+#nPmmw;enG|nc8i$6I&7paqn$k6u)kl6)t-#?%sEvg1{0O&>-<;Gt|Q!`T(VcbIF ztN2z+UQNp4_QoHzQOhP)W>h$19TQU&-k;LAVdt)Fs3L_)-In;8eX zmXq^Q5tGYbQZ2|UJ{)}E94WGbbzV;=at zP!Tf|5)3mUKjZ|Y#ow)Pa0=q=DztD$#YaUYd1~XjA1{Zj7hr?j=U!3YjXD@cLedXp z#pjC8WXz_WoRG}S%&~4PxPO7uHKkv3#S^Y@=Qmv$WAZCjcw$~#s_&ugH+$y}oQ~oQ zqcYSAD7rE)jr(CY7Agl=gT_@>0_}7gASaWS`O0XNFId{P%khri@n$8>vh(m3ukLT4 za0)tC3&}DwGn1`|f~+`lhIUN_uodFapU?gmv4)9}W|ftBCQrQbhK4~PfJEtV$yv%s z8o#h6DsjA3ry~`AA^80$Jmfn!`1JpHW*B`Q+_iyUKg63nFh{LxD1po=(^*GI@yz%F z=M*d)oRA+!&GO)#!T*QVY_MNKzA}>GYfgUO%4lp4i4R4BT>trDXtc)>^y^uVuxV9? zWK%+;oY2W@=r2QD{i5w@n;x~9C7Asc((mrUZn7gNbiS&qM6ip!G9C&(lmg4#-pqxE zLHb+@a5=;f{);ItA@P4xB8T=Xe0b%UJVh;>-q&MrReL?(a9(n_fnt!Vfwq#y1)ajr zVFusZaSL&bZieg4!l^|_5{DvuENX9?@EypSz+sZ|wWt|AKWMGs4f?a&8R%wLfg@6N zMidq8y*(1(!47G(Mt%M>`N!xdjbc<6uc4pA8F96b`$33DBlAI)ZRi`?P*J|d*)HKR zEWmpS{D$HR9!ZAAKw7)AXn1v~&@(6sGrjo}9V{Gd%q5s<;#vRpH77VB0fQ{y-s!)) zi)EBfd0&FaLtxNGkNyGOt@OlS#Inb0mlTm$!-_|ukgqZs_f8yUpv7nOvus8X?2f}tJdwTh7lNu+S#!h_#ASpF35sxE<-@%>FhNa zvxLwVR&cA)nagsZABdPv5La8f5l=rgVV#=1O?{!Z5=lxPp4mSznyExu_ zk47=BYbH0qWO^?_`<8}4mk;um# zdq9AMnqxmtTy6Gci-DP4O0>=s?@OpXBH3yPaI;fS*Zg!q`LJ22?DatiGGFDp_?Z#w z`ZmS^Bu9ZP)4(vPQXrWdn=Jw&&r$wYs zjsA!5l0~o`6Z7IAxJs`I+@=AT&nv!D|~z*hBq|g-f>((fjBt*Kb1Wg zPfW^U?_vfx^hmFljw-rPH`IMbHN)FNqzMAmUWho2|C1T(zdRmsHF<0b+SBJQ@^V%L zWV*m8vIF>INi9?Z@{8DuKY#vMh9HwcvAOagwqXrPmKHT*4XraLe@zL@+?|VbLvic~ zYK>4hb1c)9fF@mE8L`iupu`%W?HrmS09!Ve8lc0rRTDrBP3SghjHILiKy;C(%d|tl zz^E1&KA;+}#meNPgZ`u)0IwL^aok=ZWnuAkkTj)ISXhwtI90DdUp}bl>&HDCnJXzNiDSs5{s$UAIZQAte6l>9 zzr}2(cUNcNsaP=uzvW^~70kuHd&A^}Z$r#{9sXlO%er}xG_9S-b~_gi)+rq5yQ{aa z>Rm-qBj4qRN_|HKc*+8|4P!Q>hK2^u!}^)fXPYeO%oYU?UbG|9(28N zC8Br~d0*`=Y%D!qFM6N5s%4lZl+;;>st^U(Ck#59G-H&%x_bVC5x}agN;_9|RBzU4 zssVa1sWn|7bi~ikzo-o$dRU;tRR|83e_46gE`(1m;c3MMtdHyLe>o7TslBx*rXQLNb|D$4!%Ou|8c~Txr#$$=0HWucYYqG_ zIe2-2K%yYb{0}ha20`p#Efdvz`*R`HFIwwJ5ioEUo#|j`^eV!7XjnZdpY;*$7ym+5h1KTPT| z6%LR4)LNKw*7C$TmD-rLZ%mb9T1K!eEIm!MtyUmy(EovdzCF@CkVO4ly2&Sf18h-p za{V8mAdKo-6p!+Mt0>A0Ed)xYTe5s-n`TcIU4yUbK`LG4UbT7zWo)!k@xWL2ggAO^ zLVD=j1pO^yqG~rj;&egT#>cGwyUh+;4=T0bL|cKqRrhVem6#j{??<$NPw6g^m{s=O zfI%%Oa~YxK1t_ebbQt&YWj!QfjVq%GS-kQsCnSYnTeCq37c{%ldDv_62VSV+!9`c$hLdAm5 z$sY`IS6OxAtCHkknS^ib=W1?f{el9XxNG_S1lbSsmSv2)D-y|n?ZPCMgSP#(O*CF!-pC|yg%r9ws6Dy5dLEf(0=0h7Zv}qU);y2( zSd<|`z_Sn16N+)!JI$&KK@JP+E0PB0K_I*9l65+F5?54Y{Z5aoOZU)!?AP~XZ*Cs$ zHIv(Jas#B;>jBM;0)-XT@rHMjD_VEU_O1;ckZs{Yh`rOPS*MGONT11v){q%|-zZi? zQgMr~PVDm%DZW)Mcc5QP`F1wk-wHyzjzDu}qY?XzT$^ojp|}5W$U{Rz1GXvP4~ip{ zEmYxSg}kkk)61xmG(1?M^~*f!MtFxsbSzUKzaA`!hSU>ZE~v1MNXnn_lQ#!x-B(LX z`-CnoYgkV})H~WPai)Pv;FWY;{|6*&A|j#_Am!--rQh8(S!gGXB(MlCFG&|++8HpO zgCHj;f$@FxM}D_68TI=lAm8pSv=+5sd#I7!L&>AK%ktYKTz8>L8%)dsSXW z>C8(_gV)3#zt*f0hy~ZTCAu{tzPv->F!Dr95NyPa4##(Ocg=68!y*>`E5`dJovsFA1T;El|z{)60$$TeD0rx z*Eq(ZrdP`904Z$(7PYj|a*G!@xL-w{F9EK&m{E#an0V)t(76%M_cG@AC54RM25?I@ zn3|!V_?_f?j@v3MLg{bnK5c1b7pAiWZ)3yU>K4{etTQ&f9A5!olx}V=HtgwPX6Dlv z=G)s<_4Q48hb?S;{#>Lv5G8LPe{mwuFn-DhEdhA6_?ZP8K$(^JV!bv4y`OF|1O0ob(kr;pL^^by?s-w3l_y64Mm zpxtlMr(ei+?FVYb8Ez|tpxyyETx7i;-(TPMq9x9hCN?wTq}a;_{m6B~7xL>CsyY>R z>iHNsQZG}!D?0nasgH-_*`d3jfaTPr_|ST z+uCyFl3%6+Gp$(x?e5_$@5;y+Uam6z-_)+t1P85^>Qy%R8wWa3?>+w{%bzRBS?$MsWSND#JFn@FN`?kDF z0kVyrYBj(tntA>!ShSyuzO0wrxIFg|F@0>iKMu%T?ttF*fS+u{bNEsq)Zk-aW7|&n z)XX$FJyTH8hL09^Vfp@h9*Vy2@BYOul80e$+xnNb*mF~Jalhh~>gwG)NNgph$tu_? z99=E~f0PQg2>StJA4K4rR!*Sn+(e@P&}{TJT4NpiI<%ScH8lz_ai|l}unh){hKQQv zSL!p91#S80ig9t4wzj~YKvdI%pv)AXqn5AM^Y%x^^wJ3Msd=aJy$(wM!N>|S_(Mit zPjB_$09w;R)AP=|Tcm@a!M(wci3K*{%LvZ;dKH|<-eaMb=RTU>yekVUql}an91#&Q zD3y*@h7}djxw^XNY(%HSw&LSw2+JU?v67WR)$_C9tI2Y^MNQiyKTN_%~ z3ZtjLwED{iAqO~@ivjG_;?hz*+jUVbhB2-2im$ppIpuXFd1F&^ z=gbNMz^wXNdm0gssKFpuJ)DPHt&$$a;`A$9v&tFeo&x7o21YgsxA)wY#9Um}Hu+IA zE`mPl66TIVSF+E$dzlg!KmC)RP~Eo$V1p>e z_@PkCAnZ3idZAS&@|gf0$w3w-DOt$Ci6t1TxzZ_qHZ;8s``w4*WHn2*aXpUHicMP; zrUoWg*r{-Fw+r*~0%I@_vg}q5%n*DmbZ5O5s5ln!IOF}R(zUJBNlY?pSbu6T0FZRC zgpwc9M9o!U+dFjEPm~lLd@z9iVPoPIeDZ{~uc?u^H@*);Gb zDZZ#&j)7R$i&KDxkC3u6pHR?=i>jbI$!VP{8YO1bE2liuJ+GwT)6>H|oF?_dERyFt zNWOAiecic8g5Bs^LcsYiKM}}8Fs_0QM<{{X=vwa6WUgwmlF>Te<=n?qajChsu8N(4 zmUlhUJ>8vRcU^g7EZQ}p9%mI=)zBImxBEY-0H-tf1tmRi<_vnY916r7j?ZVlJ81-i z)OHQq4kaMMXm-BevaV_9h`yYO8`qgO^^C}r8=ta14^Gi0RfW5B?Qkt*pvqD*T;_CM z%pnXJ0sSb#qS*6TIdlzNMaBH>p}MHMy;;Hfu!xC4pxW7VCglJ^;Z)~SYYMAvi0vxY zKAKt+}}yt=c^gR2DV zk%&I*27=%U)(4BsDhGBw!s@Kn8Y%5yhA!t-!r>x1F*O-Lf^7&(~2 zTguN*cw*vR_0^bts^*8T-i06sF0asLqpnEPYynIyZQahP5aGvCQ8VJY_gmbvY1Qa9 z9t`7prQ!;n0jTmXqk>=%oPSgRl-voWrwSx!*UZCnK1rRW(d*Hx{a16POYM2%8105D z{P#=O%Z7;3?>O*^Xc5^GS-)&EX4hAi$J0d~(e|UCeM_vQc$AK0x5VLmh!JS$XsFzc zSXx?yM+MP~I1a_>kCo^nV>+9i=jW#^?X1FvrQMgs9f7cVA|bbDywFOeWXtiwJ+Srz z%sqS)mAx}&07fnr?tRK-gZp1wGaGoE*6N6U5oGk0mU{RgryR>yl|8@e^hg5kxLzrn zomTpIdY#x@DvTfg%P$24_}9-qs-2#|$YXLO!`c8haWmZ}9C6U>;cJ>Zy$)Y$C)qGG z(Km!rHQ+GU+8jAGp_fg~gZU}Pw7P+h=-@yenf7pZwE=VneRWp9Io$Tt|COd7Tvc9% zR#uGYU&*>2yM6MlQ_kn1a>?nMsO^6;WbwcaX&72Ykl2uB~E+nmP`RNnep$&BjIk|;VF zrHQbAZV1$7e-UP5kIv{ecTG${D^;N1pE>}$kK%8|GUif5m*gvPeN6oKzW0fI3`j8R zx80rNk1eBK>$7ibO6k3qNFNv2h0#5CLdq9V&XAM*g-HLDBj?RRk(2mxI?D*>>|yyU3z zWKo@OL%isFUS5*V!#r`CYAWjyJt1P)8n$j_J*f@gJ##OtWD*KKml2XdDS-lQ*WWd2 zFPbRKs+o%uw~d6_4O@+T4rbzrw)q4eDf;#G^~A))K%ktg?QK`1SMKJ`s(>r-xDIdH z0DxpvB9Z`}$3Qn2Qh+r}p;zws*_kDiLo*sFQ0W=IB%jml^s**?XMZbErU#yS$CUE% z7BUmi)@S|96*^sX8Kv%E$E56}d^Yrcn$Ie&Top&zF5)m7HxPM(YX8}Fag798qZTESqS9&dQL_Ak|VA5x0Sf|am>EA^F zlVlq0xt<#$b4ktmfM}|Oe}d-GKc>wobZme)Ta;W_3ll)mu=6y(AfS?^8D9B#k9hHA zBoZ~I^Q1kK_)+`d*T`U}8Pv`%JH&P0Yw1QxR&KP~%I5W~#r>2&UlZNA@J34LJR_PZ zIhKi$)cTRrDecVcklKydANgvfP0-N$YtW6lr`@XR>m|1FkF-CD; z>R)p!Sj0d?@Q|#G}4D)JLG;knG=M4N%mjm9S+0+;%aHw5)r7~k*eLQiMoiI zPv;)um_6-I7apRZJ_E)Lsw`# zQJ;pU^1Wnj)imK`mO|l&I|)2`+_u#B`Dkz7hocWIvR#C4tO?uuruH;|lH^kv;aW#7 zef36!`lKe;)6Twioy44aP*)1x?D@V^;|-tja0?A;tI%c3dZ;|-?N8W&gEAG@5@WKy|AYUndBPj)2o$}hNry= ziT{|$-(P!)^hYcK_F$I>TcGs|}I;Vao$)r}fUB({@CVuoI zTF$Qkn8Uu<(?YlH4cZP)Vjhj`e9^D zl-P?f*?_6Y`jt>hQA}y@LGm#gorp-EofEX+_Ec`K7SoyVo}>?aS@K1lZm%?4krS z6wKv_acOb~3$5fH?XQW8r1hn6{5}0%pZy-XX&)&&G+GEiE%PgcY`u*2Pk-h5{d+-q zGv;2+Z~8rNX}_23NS%>>vKU*Nla0I7iXNJ&EUi^pQy0Z5bca z6DEdkmOqlKWbbzJHlkHzh&pqgpfE?KxfO~vci76 z-Dg(~AR{{0dEdf}8O*U3+|?O^P-Xt$pd!&pANSgU+@fypy`s~(YiH!Qw~Mb1W()&B zZzVMH8Bu4iz#x8yAdXz6xCu3gwJX9$;vjtSl4J?g)vzhCNtO;&tXTX1X3AW7L65*9 zHDl9SqTG@C1`FL#3ks9>D;0H4GK`jXMkL&$o0*^xkn<(9L0z7vK+JCpWoVd3Rc8C+ zBZeAv^JJe;;(oM=Kc2p7@f%HOd>EM%TJBaiI?g^iVrz2}i+MX@bY8XI;!M+zfm2Tr zbo!IIG7k_X$o;P=k)Er4j5@ly)mG<**EV#BRvGE!;7KMeGmb zVjA=xptkQ}WSWrsMh64MWzU(;JEE|Zw1nww*U?H0^bbCjz9)R;*;ovRRA%2pMLu`@ z+$1ic`~z@rn4ytx2ouOf;w#&pP^ax55;^#>f7wqQ0upRp*WePL-8te$Pwx;ElNriq zc;?1>2HhL!*J6L+FAc0z>t&sxmkQLo!5Lb#o#-f?Xtad~f2Ez!J<&w}xNDrDJ-Eu} zNoU&?k#~8enP2>~TPEQ?{BF5*{xb=VEvenuU!?jc4Ml}^37@NRLz%X{e);$y%<-q$big+5^}H%UU9ryEx>P+( z!4;@HiU!NmwowjE2X5o9FX2+5#?*clo@BLtOXiL*{|8s{3ckPtbS(;sn$yuggac=Q z!s>UOa7gLt>-drWS4$qV?ExZSrmC%0=|!mjvnDhWFyQWbc}w#f5~**_9+UB@v+{uv z0(wOqlKfvX8D3qk$$MU4-pVz}lf)1-CYw6OFlCcpgmlTa9?v)tT2Wz7HU}1F)$Nd3 zs6h-TBQWSeZ^}d25z>X>VB48JwB0eR5S%uP;x43~!XO3{0ZS(~?tg!%+ZZux^0NyI+<@Ocu1>w5>0X|4-Hwo4fha*MUN|>; zM+a1#D}&6oswy=+h6zGQvS_QSIn6NGt#9}{FtEo6lv*QUx3hjPF9UZa$(_UwSR}@` z-9~1#M>j?9zV$p~JvB8opY19@ee&$N#ub}UQ}fFAbi|@K`2&TMLV)K@Z} z9zG&kl}EjlzG4VX!biDrRc@(b%b!y#j7COW4`ea!y|8coYzfr_@zYo` z$@0P6@n4?fl^$=Yq91rg7-Au)bu7ORFDW6Cyhs3=0BL0#c^hTZ?hc5fGj{t6_xtkX%EfhKDkZ+AN2iKHoPfK2Z(ORQz8wn3~vSpS6!|ljTb}+sXdV7_< zZKR!T(kd*ek=un33ZI$7F~!&*RR}-+ukv#g2TYZ86MulYf{ zf=c$lx49xHAdsB&SB#4O`xro|e9K3}0g7Q>BY{#pi%$K|l1G~7El>DTN=nM}E+own zxvp!AH*VvjV^O4dMZvF=fX>UJA2wzj4z58`BJ!@T-wS^?K|L($(teC6X5;}`8>7zO zTO!*OO@rn5bh!@H?Okzt+ZHGUL-|&_M`sji=9;WGS3+a;j*LJuH#Rj#+a#o#R?};G zgr*%4qhdHdtdD-MLBGGre~3d@=yd$OxYSbmGKoquQxt0D=QKcH@82z}WT#-kRrWy1h#G$(663Oswq?QY26;X03jBJ`!Tb)7F`F;)CU!QogY!@>TBhy9r=#bh^&#?8<2tzI$v^N3NlC%g zqM*F;DHov`pA9Zko?%m6uyM9t@0~jQf`2^Wr!1#tHv=`_djYqblyE?@`U@h}eaIXA!=8Y5$1LDw$4k;b|x99lUP7 zV&*1Y)9967?ZoF1Vd1NsMVFj&AAbz3L7Aw~H?L!%E?$Xcd=l*HWF_P&CvSP^O+xbK z*Qp!vRg1F>p&zpFp_~vTYlW9NAr1gKy&9L=#56zr@>V7(b_IY?U-vT}7}V@#M7v+= z;-Fx>@8TaA91cES_>%WF^~nS?lCcH7IP>AAX)gD8bowH==&v4z zafZ_x_$&FgBeKP8Xi1F`=J8QtNvrriS^W|W3+$8F(UPBEhfn9hC!}kJ#epS4(eIuQ z??p!?*5sL)6$2O#=hrA$>%{Sq21#@aO8RqvtLcA#D)T&!x6z+K(9B;DWPS(>f!=&R zVp1@uThI84*om0E#h@h?7KiC!B#DP9DZ2#8RI$bhQX>zT?{b7!-bsC=Jn-f;H40+< zF(=Mcqq#}D6XtF(g-&9{jpDIn+2tTZWthN1rklVTYR%_p%?hYTiJaQM zn}=&?HH1hn+{I8=<#Es6z4m~`S4YIKL8;-K)x2yS?tIzw@u?9cePzluzt2}0&t={{ z1>sZ68a+1+i@`v|)5FS>7+oRJ2CSGC{xIp<_}33zY>h}b6))+)f4oq8$QU6Vi{zNG zPGiEX+%&%$#>S~EtrBmTYTRa+7>hd))L$`Ucy;=vLEzN|ESxJ`fH=w7N1$c;$YYC#(p z7_-n7ckp=}kvvCbK<$P_Az;I8<_G7Ycj1>Wa5nAtBr6q9SwE;Hdp%m%u&DLw{GwGgMhM_&EA z8KZq9iC@1%V@S1N*0q@2kccq!Nm0@XWK6UYkDB|(w8kjijaIRXx3L9{wuq3=DrzVm*B#TQxq^?H zgtz9(um7f6dAv|!;OB=QB+cjej!Wsk7AYH9H_!xVeveV*y5HA9 z3t8IPx#nN=7(=0@rSBYRbXv*$Wj*5e*{wI#fp zbY&rc(*EK1nhn3#oZ|`aXSDV|wzf!UabawiI0Up>%MW2l2|dmZC+O}whTL0C-hPIP zQVTm7qc>OIU1u+hWmUzs)H%*j&IEl~+bJ+0M zp0)o#{PkRf3AG36tWX1BD+Qb5X9jnx94+c<$TZ{lDv*7g$EfvbwuW_D7ckUlpUweuJiPJ0~ zJiWQzV^z@OfNcv}7U%8%oWx%}3soNRvQA@<$ofloB{K`F`zk{%!HCW`<}uG*9g-0- zb1x?@_ys+C_9zDT=csyl!|0M6#pd3D{gUY?b5f>8=jOC%}%-3z4jqs7k)*I}Jse_0}FJ|(tEqOfz( zk@0}#pV>U=QSbQ`OMFs$jg3qs%psz>xDNhm!!3yOn%yfxU;0vZO$V{_Gr=I^xCxK_d|=#hK1N{z0i8RxJ${V)(PjH>C# z4V`+?txIfFRo}(Es5GKMRjRS%gf`jei_-!Cb9^?vNHEEVv_vxgkHQ8GY6@ECYo&xf zcCYl7tX@sx3AHSZsVEkN#z0(fitOz!n8beH>=d8Pe~I~4jM!Zw2VACUJMh_{IQCu| z{d6mub#ttF{qs}-Y(hsw6_nSm?>U1Yc}Aqm!O*%XKcLt;EJq$m|a3u36CE(aODr+GY{UotHC)?m@;etB0P5YYJ~?Cp;o z5KtY9AR$1T0j&_5n5!E)ktNp?b^(r*wE`>}5o3fzBuBDxmpX9C7>{hB&&vO zc-sm#lBH~8(2E75d)_vxx%1`YoDtD33bC?7B0u=6+l1M}L!>7)i40OHaLJY{?vJS> zD>~%-WWS^zD@{>2h-&DtslV5up+}c6Uhyx$q~UnZ7J#w`0;&i=(ufV7H5|+XLPTq7 zYrO`;oz9cj4$SAKn{NB2y5Z33H&aDjNgHMz&t0nr*i2{*_bfT3cB_zVs!ckF;4aeE zF=;u%6_iCQdqnGaxC_p{e;6w`GEfP7AiH~*rsJl%g*&^#LqP*Xr^aS2(~s%%pL9&W z?Boko61CnNKNDO$ePX^I@$HB7#t@v_rhuU)UDH9LV2YmZhQoy_tI^{OJ_kZun$3u> zr3^uO_(=MeR`x;lad7dq8Xfa}L?a`t;@?9#a57d`-pQl>@QM2RmwMcV$U4>Wic9aU z5hXZnrM&*a+RqL~Z)t!rXiPD6 zb#FWRR)@bmoMo*xHSSNiH{ACLoD>^Gm)99j1F(Ee{Gw{@{Vr@qHh*c-oF#DAN_-sNN!>b`kPP@yHA1iLu|VZpNmJHaw-_vP?gQETR~mIkP3 z_%BkntFM#7-sOwymy=W+u~}k9)sl?6Y`$kQU{g1!43z$Dz%U(a1veQ-G&#fFF{m9L z&Lrnf-7Kx22E9!7Mph&;^ zuTN^=ckzClPa@-$dR{yQYM|Vgt|5n($W5zL{8Bz{c=UL8OLc32?Va^j3N_2qu*M`K zLywb&@d_bfl7gXmM?5<}e^$BuVnN7$!ZL5%a=gGUXt)!}K8Fku2}N33EP8B&dYEB> zvO$v_45f+XtDFR8*7p!KG+@ix*?F;cR!kI38zw5vTp3?_*$UZk>&VgqlH}!PK#E*N zc*e5;A;t=XS=C*20aNrLD*u2Lx((}%p)iM30P zLxJowIFzr>bPAMm=Yc<6Muq8JU4WHuv!a0k*_($W7=k9C&b%|%^=AFMnx#WRNp2!X76PJ!wy-w%bZBztand@txf{Gfb ziskjeKw9r~QnHtL!0kwLfS5?-YvTEtSVO}**)P}~BwVBAfkjbqVRT%)^&OqdSO!P- zyLjI^l3@Bn?MWeY1EsjTqzlBlG zRl>c9vwNb@o?GN4+^!zTI-a19U=FRdg+)I(%Z6CFedxO{p*3Pi#NW_HBdg3Z`80~s zrt-FlD@QEtphyl#SGPC2dT|dk`-Ae^_^O@)#}sLYLw^Q)!^UAe!)}1@Hjr&~@m{@; zlN+$XtEz#=@U9h=un_w`iSP~%g-({XA(5Z2`&VzykDWT|>NN4+v#`28r?vy|lAaqu z9u>V;m9`R>gH)3T*NF8#?LjQ|xChWCkbP2gW?i2;Yoh#b13}FUc+sg#mcoWdL1}?T z@hHaFG#o$AO0Y;tM+jDj-v$cLn!8Jx!9|~;nK%2r?lMbRR3G&i}~ z4*bVAP(Yv_QCnNPOM)d3Y{rL+i)#c#L?>rwAozkaZmFQHjjXcm23z_UQOE1|QAeG( zN`=)Ii5A{+}ql@@ZDacN|xpowvj;~ofWmg^I4JU73 zWsSoyE2n6U*7fFCdofU0=aVkPVgChz3@;gqt%HSVF*(zjO{hH+gialQfYVu){Be#P zA3uIcV6%*!5 z0{1}|Tbx?qfet!y+YQ4nwz^u{KxQIsj26`sUfK~?L}+LBvT|h1Ic9sNn4uF2WZLa;g-~y7>IF!UUbbQ z2#GM`EHe&C&_}oDGDdVSiY25jp_Nw<9%r)()scs8*3;6g6IKwRabVFaePRnA<-mdY zSBa!ni%1VF4({T^tscqsIjXx~0PcI*3roK0BoVeJK{i5R5hRHs`p8$ZhFPjnNg)<` zXCy!9L&HPQ5SYVMw6&uq&Wv$)wmYU(p#^;yNwP^OQ}~HkiGz`J(vWG1h*DKbCsj)8 z9BVwp0v!-ryuH*o)(kl~yN1}?V}TJEkN^lv^UHwUa~nPqWT5--$~yru=tCufn+u{D&1YujdX{Ubc=Mi2-4l% zjf!+hC?(z9-O{~iq>=9LT=(JFdG(Aj#~g#u*b((Av3K&f$tWpShQ5BIWiGY; zN@kAL#Hn^L$C7*s{q}+@;Z1uWL7PSPC2%Epz#=6Y&2$}N8dA~MhW)8KW{`PAa!8RN z(4n$pS<}GTOwWL8JLn!;OvhbRbLw&~-C)lx9=beqdpU;muKh^>ngi0q)OaYC6h|s`Bc={MJlT{};zT z*!{eD)2}aYrJ}BaJ_NE<&42vU*L1Y@7J*cEi8p1DeDv_Z^W`hu(gwBQ(oz_kqoW2= zLoK>8=KJtQhSR%bHufO;1xv5gH)MdD)DpkW`udxMo1J3+NI zuO=h02^F>3Z9b8+a>|N+3$Ky5Wf)=DUHI^OB(z8KRkpD^tkf+9odE14jD*x1Y0Cnk z60+bjrMAO^!zOF@55{x!OzvG(l*QI1D(b4}wRKpk-bja}HYU~iA zv2dCNwWX36#P&)pt8Z{9=C$P@JBR2-^%M=T4L}@l(B_ab6aw4>w#9OQHLc1-CT1xuShgsHBRZ0tSe>?tPi`C6Fl?Bhn(Dxnn zT=$dJWZ#v}&UJAonCLgd+fLKN2P$fMp;Zr5+!83>GC}Ku44rWCSG{$Le#)(4Bvlp(>8Ync__#T_V8(pnAw#+sEykSt7^=d09 zGSS>$IT`~-qelaOm%v0SEaKZL;K=E7e^j3$;tLj2vlNp>#V|h&*4gTP)p3L0+(pN0 zdV??FA`bhscuN59;wvW`flIf8hI)|JkXq_~)Avn%$e@PMX2oCb@W)@D!yh`sd}_BR zXXej8D}%3Uv7fulP;G>JXXTmQC<1%>lA`N>#(`{j{Fbx9yHQ+cZl2EO$DzXpGOoEg z6{|?juy0Sui$fFpXXVBm@C2fXPyMauwI>`Zm6&wL`q7?%Ku&0+X;qc z#*)&wVQ0c3l47M}_VyA0Xs|3K_dT4udpv7@(foL0bMrX@&Kvf{P-HYTr(@PXg*K9z zO#jRuc-C^eX9_6MZGB(8?*ph1Lygq;~ zg}SS-4l^oqj=**HDh#_5;q9G$}Z zKiqPm7*Z$~Ia9ICJxFse7i+`q)g z&*?tv=nJGwTx8DsV#|xulQ_Z6D`q+CN}g6LhM~JLN%m6 zf$=*Vikk-~l(#=MWvwOxWvd3@FS${Gwzg3$l~+_&N){P~(LG20K^(@>e7^*5`A;jo z=CO_69IN^sA}^_pvdtd9+eDov=SRE=W-4MH88FwWH!aToOnIL7wXLONl4k!?|J3X0y z+00fkA6O|5tMe9&^RyeCXrWAapbH4v?hT^}R&ueuz-+%;EVA`Db(B9ZLZsmGXqu5J zE8D_6yt`h34yJ)rxO$eCM%7LAV zq->@ZX0!IUu}Hf^m?9&SXHj^2v>P%!!Y4!lWGeu)3i?aJ{&zQV(hwX8ka|}tcfow?{i@{qS)8v9XtZ0 z`X{M2yU+fn(`Zw_jn5k;;+*=iGR+F1jOjLu7w$7)(;1X83<_g^QwTv6yZCZ=Xmcpi zLi#A9-*${S>1%plvAAwN9ol35W{5#XGGkjWrMms=P%37oN`_A0X-ZkLJ-Zf_X;BM? zqj}UHMs}A|hkZJfz{CmTK)6rM4S+E5KY)t`09-Gaw0K^1KNKRMy{O(|8!!LWM$4+8 z;ss}VcQK+dMiLGY|#;`P`IvvM`CaG0!C_@FbS(fQ(p?1h7UEj@TFX!I` zvXi2d@CUH9KVYll-`FQJms( z-Pm9K^55-!!lY9?K66q`l@!TL>VoRw0C3x`b8mm25%g~xq8| z-9)4YQd|1T>Zis~hwh1TuWmHIp?m|cQxL^gHB29&ASd`OJm17uYLcb(UW$6xrE+4F zLJ^lv`^|WXw77WCgc9Y&mi!f1`}^ng+P>usKCzo!#ggC>8LDENn3&H@%Zia`%PwT1 zB38&)yvw@+JBjr-{G7uwpFhZ3q90vy=t(~(T`Yy+aFLML4zuUozd}Fg@DX~|Ql)=> zw26lT{30h^d@nF22Gy<^&^P>|!wF#b1DlU8-m1CChrAaiNRXSG! ze1{cbXl$31VIlDLM#}2A(}n`b`0?X~zuE$PaCe6M9a^kR zAIDGx?URDJ3d{1c0fn<0uGBRuX>!OkObwQT3u-fOSd0?3)HQpFTMB!C6PBRuCpdfKzl~6ioO-~ zsk8^oTrtOv@&Q_f*jps$~%mHCx@IrTc zd8Zc_JyXh}EH2IwOz(0-(7}MG;h?N}qS@V^43;_~PW%3{K=$=o`ga#;JCSj|{8wrj)og4!gkJQBF|fYWV^8eY^P_U3Vh}%VOXcyaR|KzV^wi8AL6kR*n>4nPGSM}Cu8%OuO?7lx`HV(RRR~iVUzKbkY3yUL`4dU4l zt>LbxxVAwG!ytd(YPMrps|$8Cplh@qfTRK)$G9LuFYw0fksLAZIxMr5#Wm?`Rks?( zmtiW$H@`_N%~eRda)YI&cvk(gEN5N;_z=9uDTGBWF2Nq(ycZKzv{iA$^cCgY@Ic^( z>@lEU8z|7x(<6Xn^Y-rQNMY>y(~C&#r`{s9f*UxWVV3$2yy%WPcq@zcB2s_mSEnVU zgJxDf)|tY6HlN<@f&2bXx)4wI2JSYZSW8=2h;jYhLwe04oDd=tT?+dLm8Ag#D#YB( z7U!R`@88pzRKj(@ZtRX_ZsNxP_)wfLoZ<-vdO3yV<^6T-e7VX_sNixUaIW;5iKY9A;8nQEbo2g z3o^eOlfoG*AbOrAFOmk0dJ#!U_{)CxM-I-;2ade&f%#f^{O{ktv$D9vjpN9Kqwo>% zT6}y@XQ|EboA9aTYW9yA9#-OYIHDBrw{OfXRRLm*Y(iD2p~RrbCSzkt z(*y4;FHlXd2aSI{jqT@^#;cd&e8GE^Aj*2|7ZqUQ;)XyK*zXc5=I3AbqA{l%`P~z7 z1dCIAl?O+&tf;G#Hg&SkC#72Q+8`f099rj~t>kd}W1O)nwS64nZye_|!qGGPUjJB_ zZ1wnyyse6cKD~HrEtt3>#Peg$^xS>}CAuHC-{ z+0sf%XlsYGf=XSuIrA?ki2#qA-@^&R^j_+N1ySnXIi;>n(a(OeHJw8Qpi{`RuWI1z zCR*p9oZzjSkY;ualI>T=>=So`RUbVm~uce!@XIbD~_XwFx+AUuj_Tr<(r26MWozA zbj`Nj(Un+1DNNu=ma6Tsa;e_bIU?YD$Gz%(B8*BdLNaF{J6S+85z@JVx#iw*T<%VJnF^?;| z>eX(poJ3h3tb>gNT@s65N>kU!?agMqr(7!-^5tli8-nj-k7^_1t80hv^$J3)bhmXf zcF#7ipWoUk6Lz?&uxw6)m55sHA8F>7K-rb#lYyvIjlnwc9-6x{A8vjk(h9D)@jo?r z;5Uh8?|=4IXjGRU4&j-f37YOw3P{&dLcLGgl=psN3Jb*pa>BaN+;1J~rp56P&v%tD zxm^1P2aa!#VAn|KLrivp2KjI3&3mFUlXmb)){^3YDXhfrm^5+XN=afF-k-)pGnW8pZQzo5AMk{F?h-HVPle8iUbq$bHc z`tLWMyYg5IOs~bn#9YuvQd|#aP42Ib8ZKw`zJC8s18SCB323J88*6u?_#K~Z$>*mS z_%$Kn?9yA*>`(4T*&~LFH=2LYcd1!9UXPV=M&Q+93A!A<%eZ60kxMXz9-;6ZJxp|4 ztK9Ui@!dnD_U(WbjZ%Jy1c$SY^V{RLbF#F8Q~~Iiv$(kUw3ooBV=(gSU<4^G)kqSE z2Du$A&X~w>IEvp}ABn?>>;GPRK*&W1L0mzd?B+Cmez2tmW~L)wM~hOpEn+N>2$tkt zPa=@FfyaQ^{El9sxfl3KEIdT3cC6q3)7t!GE!WyI#;&w3r_ja(Qf92%7+~s^v zNyGW&&d?Yh^&~j=Lf)=cG9rElyn9RE!UmmttlQ_&am?9?ha`vxlGI1U>IR+VesmkV zn#S8GZf0YJ+!U5;{@~P#bKL9$pFu7HG$#lqaG*#7`pLdR*GCYk9BJQYi=Yu03C;`7 ztH>aY#K0vu7_aDvd_p=?(NRZH3daB1+D+;95bO)t-|sSzL2|5mzOGJbbO1~db|mdL z+Oy;#`~uBv2zfGbfh8p+pg8r?{-;th^Y2@{sj@D&%w7zZB*A>8v!FQ6fZrspF<)8< zfk9~I8VL?4GG36ZrUZ#m->VTNp6k1=c!2AQlMYQQllhus^;F};e z!J_1c=BQtouPR)Ru$UXHSuY#@hkAsHS`NvJ9eVngnbME~d*6TF< z1Ban@QG*VTE6$a>1#177Xt$Uf{-FxkwWus#s*Gj=0g(*BgjT3Xcy->PX%NLo0^rnq zSI6t(n@|83x2sd*A>!ua`hB@Z62AJAmZmkkhavzpO*wlmqk~2!iHQ1^EKU^m&3ZD!Jgvb?ar92)mw})dc$~O)S!IM=t_)X?e!BntayOa&%%8386)`dKzB|`8Skbw8 zI3I^vq5)#E1o)I-#az;by`Oi`qeDJ7(q0f}1mvZw{da?T{hbi&Sqx-Zb)PrtXi+M* ztGmGgB{NpiV}C$ig!F@`ftz3o8EBhe&@IZ3jF_;hnZKXX5qdt12Ho7=OZ)amUQSL< z4^;_cibNegEkHI$GBGjnsp{kXh2-e8Hy{QpeG4Mbh7l^UD5k5qJg$X?>RQB$pDkGZ z_2$N7N@~z&XJXCN+p_e@w0}+pS|rhE*AY0QeqEF=9DnYesaNd(s#Mg{0!JCg+>qpj z1kB-CUDP7%x@L8L>%-tA0^g!2UJS(QFjIscu(de>ipRHIJ=z{~Bu-PLG=w{!Xk zqN3RGX-wPO+fZHp+cfLHe||z=TTm2IM7-yBaS;W@a$&Zj%d5t1wW=lTXpP51;$Pp) z2F(dYooSHO7(Zwz(kd}$Mg_h8{!!CxM5Ehy?C`;voUHB4lbO(y?bmfHkrw@0p!u9= zG^zjLh3AI}dbcgw;3!x%%}oqWFz_j5*hvwm43Nkrq2_x94}XNsMVJKC+Tv-)U+C-13c3}Mn41AE}g4cB%`B5U|FLFkAaB^=CG!sy8fphr`R2ORPgj7dMZ6K z^ijUE8rmA**N-Tgi}~r-hRVx3+wj-_ydqWdEk1@|Kc6Uj_M8~E#d|WLXfBzl4|*E$ zpKQ6lqcLU(W(8`I`<`H%bS2wA#v~`T#ya=^$x-Fa1@nJDO{^6(i-(+R+))dh0hrUA*stmjJRR*%Y-pNGuL2WUT|Fa7+-!fNn(-ZRYkU|>C zMj3X0c;aSG8M9|cj7!{YLL1*NQB*RpRf$4 z$LU5|61rd` zUwX)4`H^ZQ(@$dKtV23E^h0W=iMg>T&I+9U)G!C)~d+ zXf4h+%H7`^X^KFx!Bh_CD)sE3ctxFUCMeiOPedrnea*`VoUbqhaBZYjRIswVj|IS1 z0pL4ZfZf~R3c_Mr>tc4k(opx&Uh;vuMzx26{ze` zKAjgJaM-ST9OFvpXMKrycR{{P(Cq(KZslW6Mb$W5e@W#{AOf_%=>8Tz!sC6pKeP4y z^GoR3Mp;LjL^Bqd0#v#)F7bdsrks~Y<+Jl zV7q)J9Afx#xsgHWEn&h=TpRd`$fn3eRz>)$1ZE)qC?-C2zHYeB&G#=QrKMG`)87CW zI*-d4EkMNiPkj>_GA|HgrGr~GNIY)8bqswc5_N|C@f9+%$_&CgVSww&VP}xwZpT!A z=3PCGc5131dE?9WFA+;rAR&fC9ljlDJIm(bb@a6JgXm_griNCvSOMrRxY6mU@)P;2 z-yJQ`KZoLKN`7~L=^q}i*BZ{p1iz+OKFR6Af+dfQD&UZ;KC5wxhSOD(>V3}r{nIQJ z6w3nWm42Pc8e4(m_`mc*qh>^ukg;}O{3nla&H!ePfx6SI#?#Zf7K(K7vK}^TzJLCD zfE)EEgBPq*=6xn8JK$0Fjq#K?-iV(|YL9P98&lv~KEI(lygkF+XMBzNK!DjtbMTS! zJ8h|l!x{Fz2Ul34EdWHeQqi%I1SkQwcNG+39Zd5xR3UlzY#V-8=r*?(?Bm7s%m}R9 zld_8;^peT4WGm!;ZEgH5Z$iCBx=6O4JiIZIT0Jn>&gERt6@0WGMo4dNW7`X3f?%#9+}r3rJ+}_05f*d%au&T4bH8doi3&To3fFYypx7k8!Nzi zv%LuXHqo}h`&Q|TfFO81s!cZzRV+W({NhB%*R1ROwSd3*3nQHNs}m=Vn)h0OHT+s+ z`RWr9FE%l=-?1A_yq&W&5Pn-XI4C8H0}zaQ^;x#4iS6nG;YRccA{JW&K$0Cdn!1^Yt#ca>=qQ3)l_9hxOeCg z1^=Bp<+THCmiL_}c*`yV<_x{jZf|crc2X@MM@LG&pD90Z$5XIMXu9F+`M z@>#E4BGV1X#_$h$GZ(YImMxqVhjTyfc9$j5hyDYc2rPg={lSFKQ&<+fKxD=sNL0Z7 z;Z%bV@6oz&MX+{N{neY{%iM z8HptQTVeIh_yLu1X(E9W{mIX7{`sD$HH*0GCXTYby%Ay9upymf+e^D|y+F%7SFUvC z1c@qUD2^@Oj1}BoZ=lsbHp~ag7i85U_5c4~IGsB~wiV>9otZXI=MON9ADiz#pARYm zIP+{2Mel4v;aYVejEvJ{Ru*uvOn3SEFPxna^Qt!ws1Z*wYHlcqhbL0`EpWxDf^V*A z;kF;FJ!}RN{VSu#uztsMS0!FU(s%2BsN@`b1|#LEWf=wAW@mJai$2JU@pAntD??Wn zI)i<9c(~C5Qfmr7e*J>K8dHsSuc?y6x^9hU>6#n2%^9WV`Uxh@b142E+pXMBUIWjX z%RvcC)n7bwKZw$YvoivE;LT2NX~S8Yb)ii#*$}^C3J0=i`x!xE0Jqxvqmhu}iPvmG z^{UWhWc+_-iViaxS|&rdPX3kLP(fYNA0HSdtn#)mOOejImd4K?cBV8JeK@%QRp#_) zs5Hg@-lpdw60=F*69!7mYW;@hRu)4)Q57AJ;QNy?@%2>3<@=k_3U2i%>6ZI0T~JTN z0dnB8-){E(m+S?6SnGOGG9L5O(6xorNAxG>biZZK^~R8V!c2XlvNlh6;Oi>*{F`z_ z;rG>)Lh~ums;7c_R_%b?3A`+1q@>_9%k+^fEG+gFf+(1SmY4M#ywnzCoM}Ew8pWjZ ze&fv^!St-f7HzA7QEsUu9J70FD8X9kUY#UUF4c*0wLgM#{9W@>E7u==_m?aF-krbY`;byn33jld%# zvfii}1&Xg}PvZNh#|hfpj!4goGim?)eX8+>%ly&L!7CVBN4%F4Suk406~(Fw?%q$hAK7m8k{V<1qzGP9nUwci^eZtqve=EF8WBq zEIt&dzpurW)217^X1Er;=BJB*fq?;5p@5W>GJ0yP9T<>mb76o2 z^ZLe-tgl(0{=CoK#Sf5Vn>r?0iVB(RdP)@tKKTD7;#1aQ_TTpNX?G&Vb!FT)!jUn| z+X^b~H!?!ia-SNfv76=HY$ce>{aqO3Z@%UpR@%z)i!CLfqL9MyS7;-4qj!_(>HL$& zS)NQIB%m|P|0y_}w{_TIpe~T7N~s`PVn57Zr>6N*iZl6#=AQ&s4Cv->Z%8@&?sVK!JSfW zr$&6qP|m!`Q;2jPW-C(KaBtqWp2_`26C5I$5{x9S9=-6({m-~3<8pYe(0epPDV^8k z@$OQ)!GSUi%^HUk3*0bdjTyYXgV$65!W6a<5w6XZRXlq^?^9t zR~XsN?i1uWKV5yWw{-2d`HYU1_^)0I522ooQV{mAw3n&&&lpBdIdmWTcXXB&(_c0b1 zGf_HIsszz?@Mar6oN^rA?ZB#{tFo}G<`PE2+0@0>t+(X`NU7jJfZ=)Pp+e+qk~5|$ui?D*fdQJvEFU&T#*Q}E_dZ3u7{Pj zRL3Oqx8-Q_^kYK8Q3S(a&-rWH*LC)*NXp7p?|I!B85vJ6rj)5^XhIMOLBY#hd0g5W z!z;@YnbL;kak|i4;npjyo;VG?St!_l94!rA8+tseL`@Mj{vMpNXOXxIG(9wu>4H`J z(WcwUb!BhlC47gW1m1*P)8&ix6b^sJ*|PZnX*dD8lpqR|eu94E^3$F%|Rj z_d469FyO9(29;(mRMBEZQb-ZyHbu&XNz+S{HL)-OBqG!8@Zrj%YBT=oWO)HZgR1rB z^PrGZ!s2!-o0OStTLl6NDxp_vs&5d)CP8|+yJZ0xvUfDPJXFB3QlV=kmGz-9wOW5< zh$Tmuy38Qu-A|H`?UA(w{!?H0r^PyA5s{A)R!BmZ(`tn!CEX?EZ9~I+pi9(-`ZiW1 zFMxrQ_&5zsukoO>`+77zA2?2+K+79Anb`ufZJBtLMwyquWV!qNL^x<9_~*@iL4r7U zAiuJ0C`q7PE;l#6LFQC>I%MI*AVAslb-}`m^c!CyfBl3vX_Q|ja z;dS10_f~dxNJm{E1)6NV*G%pdC;E}ljl2H(pPM&LJ`c5-ut-T=VBmYY9!_q$HSkqv z32LWjDuwiZ>$`De4@N{^H`7UXva-FnqvlWOFYo(%RZ7U=K6q#Ze1(Py3hQZ3l<^j-a0#JL^HoB7Uz5 z>bFhLEf6OEh@&u?eG;e`+yu|Ws*aX;{#8rUyTD}_o&izq@%E~dQCAbcM`33Ut7Ued zi_^E$-v>kO;w+7MtVH$e(9P)Mdmff7x|a6_Xmd!NT@)VA6`QM zULm&r5)QmQ!!`=M72YrOB>llu>IOh|w_wS-ah2E$`Mz1_7tH<8zF1nqUKG$%nwt;I zq&DBvae5PuSCRw?e_jgY@*c3A)MhsUo5{!0lc~DZtP93+l`z2bFiRV3J9S+@*OMw) zl};#OqXC%ubXzUG@*>oGr0!!dZ7f`0%I9u};YXCyL2CaW?5+ABKEZ1Qzcv!B#gl85 zhMX(6Lpl8;SW%?<@~*Bt?%JrRs8F>H#t9wD7_|Q)@-U$_@$1(~G1Vn8B}Yek8K*N` z=@W&3qCyj`RrPeXYWR_qx!c-E1P+uj)j$%Pq$E`FC^!d3+H}6->jQLM-M$Q^mPCm(%rqI^{aK3BKHfDo-DB@Y*NLxX!<^m2vnE4DWZ%M%Ry>NhU8 zUa$xu8z6XtRT&KD9&9rNRXrpCUGUvu?DZ$S1_()r-8ZT3vaiDJ89j01@y`8o4L!0c z)JgpKgug@j)U1=%ljqzw|C@cAodNC~q&l2$BgZ?tr9EHK3%U``)_Waz>KYF5o_CV z*KoVO;7%4aGU#J1KZnb>e(*XZ;&cEdO8+X+_v8ROWKo=UB=JAc@P4>*y%mPPW<3M2 zgSF8g9O2VN-v%X;i-ffWZy3kv1MlAD6>LII3mNbUQaiX`^zAC!L9Beb*zxnTg{zRB zo6X;>>Ymr>EU{(@y2q`dq>Ms(ufwiR77k3Ag6n_-Y(ql>l+gmBH~^icWi5Zq2Wl_l z>%Gpu*$HJ)zZ-k^eM@~kFMM`=pV$J@_Y9t$61_qkDLdBea(cn~ECT*U!nQvZ+fVg9 zIvpC_SbS)U$jFuGVSbcwdc~#8C!j!vg1YnKevv@AUf|46{(Var)#V2=KOaZFw)=nd z%O2ga>=q1eK)b`>A4uB06FCx4yS>0MWJ=f_!ES0qm?-Rbj&PIguB#r)?Hg{teVwSm z78`+91cGj4HeNl~+XGmofuMT?Y`230rvD~zsPfJV zT!rGX{Kh&P7$V*XVd&&B7|D-)!}~C+257+)mH^2Ey?A3j&|BY3XBl*}ZWM z-mYTw*!z%YM#x{@isR{6_0T9w#png>k-0NredW?kakNI@cYM%;&GB z&HW(*uU|`c$+yU?8N{{g`!_z1%bLq~r?rIKP32N91+|Hz=GIA-y9)<9ae!lV?71)P z(d4}uOxvEzT&@cqwPfG8H^vjPk-gD!ttn-`TOGSr)5bSrB#>ul;+1+>Fbty0vzA5- zSVv}b|EOF3v8?=?7d(Hh^jh<2O+F+%yc64at~c=*&9uobDmuE-X zoWJ)`r;o!+4GMIV&W>Z@7|(Hk=VJT6Tgy}<)-Jdg5%vWo#`2W4dcTE_-yb&<{r!=C zl53xl_;f~1Z$foFBH2(EiUvgQsYa1LbOV>uCR8lTu zAb|$PMrRwl7~M-N1SdkLDF4)kL+sLYR5et?cx?{euL){^6M?VU)zzlJNvFhAZb z{#n~ND)$p+{`}C@Svv2txTm?m;YZcw(+-m5rvY)F=RaHbGTyg4OZL-TCB*#EO&zN$Ljvf{!>!$_ff7j3taYv%FNEilVZn=A2al9n~1=p<{wfN7c{h%0C*QL1_VEgmQr2o(il zl0yf4{us!gIP6!QMRHMUYU;8u7#Y?NH(-In{k*J=!zk%g#mDUjS65v<$;gev6ukjb#}OIzNN&ld6h@L|I7mL4h+f(qr68u^^T0seo?=c!-+ zYkf9p!7_K}hRHcD-D+LZD^7X@5m6U6=dM4`&7^AOWa05-hB9SHD-JUAmq%}e&UT*J zkD4ll&@F7u&@8m*8Hl$F%Q#N*;T2*@E7Vl=v``vzlj2`$Ud7o~#isM1j<>YK_Vbyq z-#=5&!5XY!X}6fqr-*qRj^0C#kA||{zX-guvIwq1K34=*x0M|qN_d3+_KbC2iKn7H zW0DJ9pQ%bpN>8-KKQ2JVS=xci6VihxpdEt+G>GC3(noWP)XUaDQv}e_^jou6|M^y9P&7{PX7D@~%4KIx_DkrgaIA5Vm1 zuS59d1`pPg?r0O=ksw=FwA$sOUTgzwP#EQmvgD)Ip??D+&sW5Y>CuYC&P)0@DO{+I zo=)RQ4(=g-SP~6_;x0B@wB^+=J~>!YK;}bW!mo2HCxuvyyswW(Pv9CG8-XgtV!K7T z-dpBi>$8nsALqD6nutMC(B?XJnLyz|N<2#|mGjHP_FeC+ zHam}v(r1&2)0g@`#(9@UJ{EklZxk2SXC38$&2-d(|ZavwKsIbVO>&{*I5l{L#= zsxK@jpO>8eJsIDUH{gZ_0O4#Q;2^X&Q$he;gv?P!qQulJ<(6P)JUcskH~q{)~0G7YW^mY%r~LQx%h;Uj&MI55uKm#*xKOpoEM@4AcVfne~K1Dorg z6|I|(Gpwh@P=)1Ro;^XDGKHiov`b`+KVRLO}n$C&~qxh;j z4M=KgdfmauoD2TF0?*Pbg`M%_b{*>m^z5HHU(m!wZlF_3E>Z3GjJZ5q9yy|tEn%D= zx9p3WhCELob8|D8SeqfZ^SLJ+_m#FE^%2MW4;Wyy-M!5p&V>z=p9vx^8<#OKKuIcV z!NIYJ4=RGsD6wMl#Qbjl;L;cAyIbKlGmdz25biif-#Iuc6#ORahfq8G(i~Z^MjkF( z>lKyhM(*3k%sVduMr5n6LdJ-|cVzV6s>AWJK!%8K+H?8}hBiJd%G;F9Rxz!%hkpvo zE>lXtf5q$43ZQ~6IJyOC_%0$N!Dn>FH!mo2R^C?bx1va)A$uLXAAT2xn zbrJ~B1T?aTHg9ovAJU7fbbbB}T^E*?b#5(%Q*e)sGaPXf6nqgD&F+aLO>Nk@Dk5~9 zfxItAz_+(7v=1mrXkI8wWHx7J-$HX@P^}+C}oSBhdsyZ-5_6Bg5)4ruQKPxRiDmWcx)K`9I=; zo)f56guJuXz@{Z6LS{`txMpr7tv;p!0M;TaXRR;_y6jJbbl9rcZ>`?fxplIUc}uF8 znA?#^d}u+@1*oP!RdV`{$(11^YXT{)me^V@2iP<>GAR%^K|$ncM7Zjn={l>$WpS4u z#lPX#+MnsGRGm3Kt8nHbghiNcEMwWc{OZMku{292{n3YiXN`xHOr!}Z85d1nw)7Bk zY?syryJP3juYqxnjq1MqH}Lk{mEe=_vjL09UE%AePLUhS$C78qEzC6O+SfC05wTg1 z(=!jQHm}+0a!*naV_JTZACitL+x%qH{sb8-kIUn%e;F@)i`W-K{&UJgBDm${&sz=I zV^LuD>v2-KBP}5Tlbe^qVw?fO5ff|p#4!ov2MyazO^yT)85gyimYZwjGB#!5wW0g2Dz(-PUB*- zc}S-4<7SFPbq>W0=Uxz`5|<{z<{KJfn43u?!y*yn6>4qNkJm#WW1ED&2L2c11S_+TY5Lpu)y`Tx1SeGa)E9?A18SH30 zEcftqtErx(-mPm21C~i+Qqm(jrxvG8lHxS;dY@b^92_166q~$gevOb%dGg+vLsd93 zz~U-0cG@JYOsYivS{_3Iu2JhH@xIjo@ILR%9rha#)Cy9{CJ6~oMksq;V}=d6bGvWF zMPtn3*;+p~QDH^e0VNqYg> z`;)5&xyc{zAW-j2<+lL&Uy*X0Fike$dZD$UlQZT|2<|X6+bGOtgj|r z(ZWt*Pwopv`A+(K1J^LK^xbCnlO5vSJn7giohN^vMpA!!p$IH3dQ-@E{_2sd6ILLu z!e-sCkGH!f3^Qnk)7*MHk^gyPc6W7|BQON151$4I?v=LIELD=%rTYDQhur3Q?+%=3 zOu9y4)_0CjIhq*JU#}22+oisuPd+YnmQA5(p%DA22{biki>CIrfuer*HTgqijhaqM zgC*t$e0ZdlS>1{T79&!Y&lM6X;dJ@ZiH3?Hl9B-vJT2NU?_i=1k#?xm0@NvBYcN4p zRu;2KP7;GcB`8&_6Yd-`xJxdxkHC#L;=5MG8}P_}9BO9ulBOLydEKNc=YOy(MC zXPGDlC=rBUmK~Oc{^FP3d|D_+;LGS9%p@Wd`AqR?MF@#=_t^f^vt9~h`xs46@9Yx+ zae7+XYi`HzkgRM8>At`EK95)B6WpKKKYkLbXX2?<^ziNE+#Ej~?dudB>l~X!pIZ|} z_^aC1-@-aO#YD5!LQDXwR!m=?#9f}>?U2yCC`F*= zJrB#CPl|HD z+l36};%dH3@aVF1CP9(s07fwB41#O8UiCg36FdP>K`wAq>Kyq23G%GCJK}?oS);9W zj2$dv{Zaye4I|^QNx8&eSlya+XO^&kUQrR!m9Exr!zUttzl)2`hU3-04sPz^?{z7! z>;w9En1rH^xI^cJ>=WeUhU^2^o)6L^g*>v4hJh#{niZQH(eRj#A=R~Qvx)x ziXGDjeN_A#*~WQo#$B*_#6Wl9N=Vy;krnCJeo{x(0;BbiE9=4p9-!GB>iT2)`_+;L zVztR;5k&*P$!Np|j+~(dVFCUY5wy6v_YFs5dK{jMu&w@n!w1A447CBS7p|5{jYY)fyITG))cZ8J50a*M?h=9>xxJUJ-g0cD^1L<4KTK)K4OW)fKb}I+ z`F_9NPn*_~^cB>`Q7fHxp$A%f0zAkozehelsfN{*-Qp@!K1(Gl}eM#c=HQF)5Q zktvy&h3pLa#qKi}q6p=P{v-F*sQj%bulAF~M9mkBZ@%4O)I@j})8?u(V&UL)_hU2N z?*0Ay#w7tUaISdcEQuD8^z`4UxPdRF4@}Y02obMJd2v}t=7=V}*ehya!^!v)xze%n z=An1(#u=154cDo}tP$uNcT%VQouvhs>p1Z%{zrX!*8XDI9IX@XifkST%^=+!qzW(a zw+Y}lI#xD-*(unMVWS%(w)(PJ`7Sh}nwqhMX?;`5Ehen&zI2lJ^~g&)8qOCeC+VRf zdy>a~XT4lToil4#kMvTfXgbc-)fU_GoN)vjTS?5*$$T3-dUlc__OHJElI~g{amNQ|(-nV?FFu8=zPbD0cMrSZVO!!DG>| zYp4DwI`8k$wT=eZFC_fLujkh_M$YpV15FGnpF$;iwT@6N7m9`3uJK5NipN1|Jtk?1 z-inNY@yqO;fKMa>j)W5MRj7jJ1ot|x1>KLgfLce*Ul1c^GGmrsXiaYHJH|f2LSmv#|Jnf^6SFv=g$PfHx`;iTvE?s)BDm#)=FK4Rm=w-=nF(1b^Wdc@?N~xU8FMAkgf5@8oEs1~0VI z;&7koZYl$D8)+P6&o!78{oSIdWWYm%Eq}`4(%A1M#RBZ>F2Vomaqn%s{`{#^Za;1- zzw>5mW&DQ}^__C0-T&l4<-E{QpVZGHkzpW+P2Yoqg`#xsT zo*gLrL*kX6-pR=!8EN;TB1v1?i?+@O6H}#p$k2$Ke!Kc3=eY3tq zel~{C-pRHMqcRv6A%`9~GQ-WXfal7XPc|aamt*>UThnadwA15o9gmRT<3&4byZ$}T zzBL{^4lTR3Z`a+Tt}Kn}JQCsZ>e;TLVO?iuC-UH69K)N>`)A(h@@_p^Ml+|^<|k|+ zdg9I6qlTX>91iCC;CcGq6UHJX^yjqvekJO2j^lUVu4HMWO8GW*g;*T2HatZmdY%%k zbexKv|NnS;3%4%5u6_F}-7WPYrMtTuk(Tc6lm_W;kd}~Cy1N^cmKKoiknVUl_wPC0 ze*gw%X3yShUF$qa86^i3#bMy!j0Vg1wXPoJhqGcR(w$vgqzdF>Id&B(YLsql6|llE zuLXfCdU;?2OwJWCQzMAa+s~U$L+oI;YJi!lhl)K@7EX=;qOWy~In~|`H zYkAUIOk~7*7-Ylw!21;buz0syg%jKuX#a&FQ@yyXii^O5??ZusLA(X0*p87_9!h)x zl_YqQTxu?-1{N-NH6HITs&47r@Vu$u$ZVX*-aWuO-=KahtS!c+gFjDj&P7lt#g$Lz zL?iXTN9gU9xIOf_ei@rr3)69_J!gNRyuDS`#)j_R$m1Fn8j`Y5#!ObN3~I}SSm+C7 zi>OW%tuIyibq{^u?p~aJqY?~_!NZB-@HZ@W*A1^hF8GoHc9>Ty<}q3I@;EI(7w>Ou z4Yo7^QwtgE0_oy@3oYX(DP^MsmALn=v5$|R+kpslZ>5drr1QbyfIGk)7M|8g&&%V%XX+g$=dF1fsPC2@+6jSUsA43S=GBuMiXJnWq)#))0_uE|sEslqe# zCw*>Ds>60@H-F>L`mnzuaAWlJ?eJ`=RA@Pe%_NsJ$kcazefOPKZeFKcU{F1~87YI* zb>urqNhza0>eHti=gu!GRdSSA3vx%Es4^vS8)*7Qy_mRLM%%E0%R(sbL~Qx9+=j#V zY?oA;+B(r831W|{NB1Oxt{DDK(Su2rHP%lSpF2zh%8vumd&CeFPDA}e(u@Mbs2gwx z7E^`=^ndXf<~0n4yx(+wifWspVS5%a{Ua8WdFj=~79qzkQ#_XlA7Eu0sLg@zFOS zGbR2g%kC2CAC)X5;^q8oh;$RkPdp#bhNjB!vhe^sP(jTTrS^m37qDNd>n*y*%3gW9 zNJzs)^_Ck8F~1;R;K@s)w`Y3u+m*X$f=H@RYq|&!*w(mByW2gQP#_^iVepYv+xy`k zQ=~_WBfC)1mI{f8FiNRdz#1;Cu-9c2b?5s<)a=$FZjGE# z;Ke7O&QG6$grp9wr-v$XQ^nvYDysb7OH)M!lf`&Pl!(@s$v`3a8owuy2%K`%E5v3S z{zh}}3EzU4dQ?#EC}}Ls_bD#z-KG_}QgH^iFFnbf8B~zOa~mQdK1RgBxlRtE<0K5J zj4mippVv}T7n`&D)DXIeab9u_$?=ASh8o@qH+rDt=-*N5=xUMyhk7Qr-9W1*k3?QF zg|`!H@BO{A45s@@XuyEO$a!g^M#L0$^#>$LKF3obbhTV-uEXck8n%Im{usrm8l z)26WV@-PNWEUYM?t-cL!L}Wn;4K5HO+(H_LY&p5JE5KH_O!e0FGPI^#O%vOEfM5tR z7Mn&7KKtHoPQ67xJNyQ_g61F)A+jnMpi!m)BkkQs)B84X>Mz3HHf%|@|XU(3H;p`{X1`2D-rE=IF~IgYxLp{Lv89$S|!MSV$>Y z-}tnhu3mMDfP?!3qL$ok#9YZ(Qrg%EcXG0$DLywdV1q?GV6&1}T95XVE%L=HXCR!S zfZ|l-+Vj*wO2Uh=Vg;)LP>%IO+$wdMTaK8P3m zK6ghYo1^&6XTcvSW9>|1VE337#;fiuux-Y8*VX)o() zTK|CI?J4@{;pJ{n5VZ3MG0z!%aEcJ04>jzMxNn0s$3xZ6W5J+maJ$O_L1y&HiiMT& z5a4YS5P#PIFs`$qYZ4DyAZ42{Pn%b6ZknG6|2v%n;eoNKu0g`?pA{t)YELhnFUB{F zA9big4@(F1DBqs?jQjQR-dnhO=9C{+oiWK?yCd`5fg3bg& zf>X*xK|!(M^lt$SrCk!S?FZW%G;Fe%uk6|I^H5Mv3hxpoF^_WI5@JStEE!_$cZM-z zH(sWU;C>xqQd3tqKK|1H#4Lki!61E6F1hB{$CrI$HNyW zAZ=Q`zL;MjW@crLunhOPBXFlk9n;NdBO1ZL`>j9zyS7)G?>`A-IeerRB$AWtv>MYY zn#77T`!*>#s@TeOz(gviP@QON-0la^|{m#*vW;+_uMFc4ImwV^S}6^4002 zx->OcST2$&nkBhgrg@1&QwL>`$v;rM0vvC|1*Or_gZd#4Wc1XkyC|y(lNecdhqN(o zluk=DbMx{7cXpwo!5y^EAQHod7I@;rUF~pRpMC5xs(fd?``hWu3IvUGAWo@KtVFFx z#{?D+ou=87Uwp>_eerJL&4)*82=d&^GNj&4kh369W8fe1FC8vYWH)uB;uISL4bFF^ zcz8d?TGqFP%rE0Nz|bKQk_ZtO+&;j>%euRvfze3@Ac+SC2r0nFx5oI8|N%&I8` z47f;Y!O+XmV`BWdgM%0oR>MlWxlx%ZuIS3X#ltJ8Y)pku%^G*q_`|o*E7A`c@Y+s$ z5;7!Rslse*Hi6U~O_A7HJwS9+KI-=!#;2ueR#qZD_J5=zjvx{EDbtBtdv?AzOM8l#-!$upl$*^$8=cE-_B8QcMZcY-8@G^2 zLudFX*3^2@LX+h%RUJ|n=E!pO-?I0*SBh#VJ2&pHUw59M1Sq9#O*iwEy0}5dD)WzA znQWo^WAk;RYRKJPAJ5dyqvvU0Rh7~Y2QvLo^Yw)f#Gd~Jn^WQw`oIg&5+>v5?UCy( zt7xLqXvzdzKGlEJrI$HXUa=*pov=@}?j~{B8EfBiG}?f1SF$2Sml_zbqWvNhU*0}aR{sb~%F;)ptmUoITp^+R z`6qrd9>;uw|IvY4U<*S`CU2Msb6mmf{Ky?X_|uE1ii#O4B$FBes|_pNuH621b$BqS zEEsyD7kW)#X1CY#^!#ilv%^!_=|7uaF}vLiE~#P$xo`LOA)i`~X!HTC;X?@(Z@B$93k&eY$( zr|}oN$5s&ZzdlD2(#d#&BLN0v(8wojnsS5}Kv!7n(nXLD7> z@_V+TAUwcXXu6|iS*^afd3toi4Zs)jEByP6i;Hr4dbx(KAv20&)W968JsxsJH}YIj zQW2K6>wo+h0hs r8}L6}XABQdUt^d)B!m700$ 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

? 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 z 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 D2l7}P literal 0 HcmV?d00001 diff --git a/autoadsorbate/autoadsorbate.py b/autoadsorbate/autoadsorbate.py index fcd40aa..ac80099 100644 --- a/autoadsorbate/autoadsorbate.py +++ b/autoadsorbate/autoadsorbate.py @@ -18,6 +18,9 @@ from .utils import ( get_sorted_by_snap_dist, make_site_info_writable, + _compute_soap_site_vectors, + _soap_similarity_matrix, + _filter_unique_sites_by_soap, ) from .Particle import get_shrinkwrap_particle_ads_sites @@ -393,13 +396,53 @@ def compare_sites(self, site_index1: int, site_index2: int, **kwargs) -> bool: return SEC.compare(self.atoms + site1, self.atoms + site2) - def get_nonequivalent_sites(self, **kwargs) -> List[int]: - """ - Returns a list of indices for nonequivalent sites. + def get_nonequivalent_sites( + self, + method: str = "ase", + similarity_threshold: float = 0.99, + soap_params: dict = None, + soap_cluster_method: str = "hcluster", + **kwargs, + ) -> List[int]: + """Return a list of indices for nonequivalent sites. + + Args: + method (str, optional): Algorithm used to determine equivalence. + ``"ase"`` (default) – ASE's crystallographic + ``SymmetryEquivalenceCheck`` (pairwise comparison, exact + space-group symmetry). ``"soap"`` – SOAP descriptor + similarity with hierarchical clustering (robust for + disordered / low-symmetry surfaces). Any extra + ``**kwargs`` are forwarded to + ``SymmetryEquivalenceCheck`` when *method="ase"*. + similarity_threshold (float, optional): Cosine-similarity + threshold (only used when *method="soap"*). Defaults + to ``0.99``. + soap_params (dict, optional): SOAP hyper-parameters forwarded + to ``dscribe.descriptors.SOAP`` (only used when + *method="soap"*). + soap_cluster_method (str, optional): ``"hcluster"`` or + ``"greedy"`` (only used when *method="soap"*). Returns: List[int]: A list of indices for nonequivalent sites. """ + if method == "ase": + return self._get_nonequivalent_sites_ase(**kwargs) + elif method == "soap": + return self.get_nonequivalent_sites_soap( + similarity_threshold=similarity_threshold, + soap_params=soap_params, + method=soap_cluster_method, + ) + else: + raise ValueError( + f"Unknown method '{method}'. Choose 'ase' or 'soap'." + ) + + def _get_nonequivalent_sites_ase(self, **kwargs) -> List[int]: + """Return nonequivalent-site indices using ASE's + ``SymmetryEquivalenceCheck`` (legacy behaviour).""" original = [] i_s = self.site_df.index.values matches = np.array([False for _ in i_s]) @@ -414,11 +457,142 @@ def get_nonequivalent_sites(self, **kwargs) -> List[int]: break return original - def sym_reduce(self, **kwargs): + def sym_reduce( + self, + method: str = "ase", + similarity_threshold: float = 0.99, + soap_params: dict = None, + soap_cluster_method: str = "hcluster", + **kwargs, + ): + """Reduce the site DataFrame to nonequivalent sites. + + Args: + method (str, optional): ``"ase"`` (default) for + crystallographic symmetry, ``"soap"`` for SOAP-descriptor + based clustering. See :meth:`get_nonequivalent_sites` + for full parameter descriptions. + similarity_threshold (float, optional): SOAP cosine-similarity + threshold (only when *method="soap"*). + soap_params (dict, optional): SOAP hyper-parameters (only when + *method="soap"*). + soap_cluster_method (str, optional): ``"hcluster"`` or + ``"greedy"`` (only when *method="soap"*). + **kwargs: Extra arguments forwarded to + ``SymmetryEquivalenceCheck`` when *method="ase"*. """ - Reduces the site DataFrame to nonequivalent sites. + include = self.get_nonequivalent_sites( + method=method, + similarity_threshold=similarity_threshold, + soap_params=soap_params, + soap_cluster_method=soap_cluster_method, + **kwargs, + ) + include_filter = [i in include for i in self.site_df.index.values] + self.site_df = self.site_df[include_filter] + self.site_dict = self.site_df.to_dict(orient="list") + + # ------------------------------------------------------------------ + # SOAP-descriptor based symmetry reduction + # ------------------------------------------------------------------ + + def get_soap_similarity_matrix( + self, + soap_params: dict = None, + probe_element: str = "X", + ) -> np.ndarray: + """Return the pairwise cosine-similarity matrix for all sites using + SOAP descriptors (via *dscribe*). + + A ghost probe atom is placed at each site position and SOAP descriptors + are evaluated within the periodic slab environment. + + Args: + soap_params (dict, optional): SOAP hyper-parameters forwarded to + ``dscribe.descriptors.SOAP``. Defaults to + ``{r_cut: 5.0, n_max: 8, l_max: 6, sigma: 0.1}``. + probe_element (str, optional): Element for the probe atom + (must not be present in the slab). Defaults to ``"X"``. + + Returns: + np.ndarray: Symmetric similarity matrix of shape + ``(n_sites, n_sites)`` with values in ``[-1, 1]``. + + Requires: + ``dscribe`` (``pip install dscribe``). """ - include = self.get_nonequivalent_sites(**kwargs) + soap_vectors = _compute_soap_site_vectors( + self.atoms, self.site_df, + soap_params=soap_params, + probe_element=probe_element, + ) + return _soap_similarity_matrix(soap_vectors) + + def get_nonequivalent_sites_soap( + self, + similarity_threshold: float = 0.99, + soap_params: dict = None, + method: str = "hcluster", + ) -> List[int]: + """Return indices of non-equivalent sites determined by SOAP + descriptor similarity and hierarchical clustering. + + This is an alternative to :meth:`get_nonequivalent_sites` which relies + on ASE's crystallographic ``SymmetryEquivalenceCheck``. The SOAP + approach is more robust for disordered or low-symmetry surfaces and + allows continuous tuning of the similarity threshold. + + Args: + similarity_threshold (float, optional): Cosine similarity above + which two sites are deemed equivalent. Defaults to ``0.99``. + soap_params (dict, optional): SOAP hyper-parameters forwarded to + ``dscribe.descriptors.SOAP``. Defaults to + ``{r_cut: 5.0, n_max: 8, l_max: 6, sigma: 0.1}``. + method (str, optional): Clustering algorithm. ``"hcluster"`` + (default) uses agglomerative hierarchical clustering + (``scipy.cluster.hierarchy``); ``"greedy"`` uses the legacy + greedy merging approach. + + Returns: + List[int]: DataFrame index labels of one representative per + equivalence class. + + Requires: + ``dscribe``, ``scikit-learn``, and (for *method="hcluster"*) + ``scipy``. + """ + reduced = _filter_unique_sites_by_soap( + slab=self.atoms, + site_df=self.site_df, + soap_params=soap_params, + similarity_threshold=similarity_threshold, + method=method, + ) + return list(reduced.index) + + def soap_reduce( + self, + similarity_threshold: float = 0.99, + soap_params: dict = None, + method: str = "hcluster", + ): + """Reduce the site DataFrame to non-equivalent sites using SOAP + descriptors and (hierarchical) clustering. + + This is the SOAP analogue of :meth:`sym_reduce`. + + Args: + similarity_threshold (float, optional): Cosine similarity above + which two sites are deemed equivalent. Defaults to ``0.99``. + soap_params (dict, optional): SOAP hyper-parameters forwarded to + ``dscribe.descriptors.SOAP``. + method (str, optional): ``"hcluster"`` (default) or ``"greedy"``. + """ + include = self.get_nonequivalent_sites_soap( + similarity_threshold=similarity_threshold, + soap_params=soap_params, + method=method, + ) include_filter = [i in include for i in self.site_df.index.values] self.site_df = self.site_df[include_filter] self.site_dict = self.site_df.to_dict(orient="list") diff --git a/autoadsorbate/utils.py b/autoadsorbate/utils.py index 8257016..8b299e4 100644 --- a/autoadsorbate/utils.py +++ b/autoadsorbate/utils.py @@ -661,66 +661,158 @@ def get_max_atoms_dict(traj): max_atoms_dict[k] = max(v) return max_atoms_dict -def _filter_unique_sites_by_soap( +def _compute_soap_site_vectors( slab: Atoms, site_df: pd.DataFrame, - cutoff: float = 5.0, soap_params: dict = None, - similarity_threshold: float = 0.999 -) -> pd.DataFrame: - - """ - special helper function for handling edge cases where ase symmetry checker gives unsatisfactory results. - requires additional dependecies: sklearn and dscribe. + probe_element: str = "X", +) -> np.ndarray: + """Compute SOAP descriptor vectors centred at each adsorption site. + + A ghost probe atom is temporarily placed at each site position and SOAP + descriptors are evaluated for that position within the periodic slab + environment. + + Args: + slab: The surface slab (ASE Atoms, with cell and PBC). + site_df: DataFrame with a ``coordinates`` column (list of 3-vectors). + soap_params: Optional dict forwarded to ``dscribe.descriptors.SOAP``. + Defaults to ``{r_cut: 5.0, n_max: 8, l_max: 6, sigma: 0.1}``. + probe_element: Element symbol used for the probe atom. Must **not** + already be present in *slab*. Defaults to ``"X"``. + + Returns: + np.ndarray: SOAP feature matrix of shape ``(n_sites, n_features)``. + + Requires: + ``dscribe`` (pip install dscribe). """ - from dscribe.descriptors import SOAP - from sklearn.metrics.pairwise import cosine_similarity + from dscribe.descriptors import SOAP if soap_params is None: soap_params = { - "r_cut": cutoff, + "r_cut": 5.0, "n_max": 8, "l_max": 6, "sigma": 0.1, - "average": "off", } + + species = sorted(set(slab.get_chemical_symbols()) | {probe_element}) + soap = SOAP( - species=slab.get_chemical_symbols(), + species=species, periodic=True, - **soap_params + **soap_params, ) - # Compute SOAP for all atoms in slab - all_soap_vectors = soap.create(slab) # shape (num_atoms, soap_vector_length) - - coords = np.array(site_df['coordinates'].tolist()) - atom_positions = slab.get_positions() - - # Find closest atom index for each site coordinate - indices = [] - for c in coords: - dists = np.linalg.norm(atom_positions - c, axis=1) - closest_index = np.argmin(dists) - indices.append(closest_index) - - # Extract SOAP vectors for closest atoms - soap_vectors = all_soap_vectors[indices] - - # Compute similarity and cluster - similarity_matrix = cosine_similarity(soap_vectors) - n_sites = len(site_df) - seen = np.zeros(n_sites, dtype=bool) - unique_indices = [] - - for i in range(n_sites): - if seen[i]: - continue - unique_indices.append(i) - similar_sites = np.where(similarity_matrix[i] >= similarity_threshold)[0] - for j in similar_sites: - seen[j] = True - - return site_df.iloc[unique_indices] #.reset_index(drop=True) + coords = np.array(site_df["coordinates"].tolist()) + n_slab = len(slab) + soap_vectors = [] + + for coord in coords: + probe = slab.copy() + probe.append(Atom(probe_element, position=coord)) + # Compute SOAP only for the probe atom (last one) + desc = soap.create(probe, centers=[n_slab]) + soap_vectors.append(desc.flatten()) + + return np.array(soap_vectors) + + +def _soap_similarity_matrix( + soap_vectors: np.ndarray, +) -> np.ndarray: + """Pairwise cosine-similarity matrix from SOAP feature vectors. + + Args: + soap_vectors: Feature matrix of shape ``(n, d)``. + + Returns: + np.ndarray: Symmetric similarity matrix of shape ``(n, n)`` with + values in ``[-1, 1]``. + """ + from sklearn.metrics.pairwise import cosine_similarity + + return cosine_similarity(soap_vectors) + + +def _filter_unique_sites_by_soap( + slab: Atoms, + site_df: pd.DataFrame, + cutoff: float = 5.0, + soap_params: dict = None, + similarity_threshold: float = 0.99, + method: str = "hcluster", +) -> pd.DataFrame: + """Filter *site_df* to keep only symmetry-non-equivalent sites using + SOAP descriptors and (optionally) hierarchical clustering. + + This is a helper for cases where ASE's ``SymmetryEquivalenceCheck`` + gives unsatisfactory results. Requires ``dscribe`` and ``sklearn``. + + Args: + slab: The surface slab. + site_df: DataFrame produced by ``Surface`` (must contain a + ``coordinates`` column). + cutoff: SOAP radial cutoff (used only when *soap_params* is ``None``). + soap_params: Full dict of SOAP hyper-parameters forwarded to + ``_compute_soap_site_vectors``. + similarity_threshold: Cosine-similarity above which two sites are + considered equivalent. For *method="hcluster"* this is converted + to a distance threshold ``1 - similarity_threshold``. + method: ``"hcluster"`` (default) — agglomerative hierarchical + clustering via ``scipy.cluster.hierarchy``; ``"greedy"`` — simple + greedy merging (legacy behaviour). + + Returns: + pd.DataFrame: Subset of *site_df* with one representative per cluster. + """ + if soap_params is None: + soap_params = { + "r_cut": cutoff, + "n_max": 8, + "l_max": 6, + "sigma": 0.1, + } + + soap_vectors = _compute_soap_site_vectors(slab, site_df, soap_params=soap_params) + similarity_matrix = _soap_similarity_matrix(soap_vectors) + + if method == "hcluster": + from scipy.cluster.hierarchy import fcluster, linkage + from scipy.spatial.distance import squareform + + # Convert similarity → distance, clip for numerical safety + dist_matrix = np.clip(1.0 - similarity_matrix, 0.0, 2.0) + np.fill_diagonal(dist_matrix, 0.0) + condensed = squareform(dist_matrix, checks=False) + Z = linkage(condensed, method="average") + labels = fcluster(Z, t=1.0 - similarity_threshold, criterion="distance") + + # Pick the first site in each cluster as the representative + unique_indices = [] + seen_labels = set() + for idx, lab in enumerate(labels): + if lab not in seen_labels: + seen_labels.add(lab) + unique_indices.append(idx) + + elif method == "greedy": + n_sites = len(site_df) + seen = np.zeros(n_sites, dtype=bool) + unique_indices = [] + for i in range(n_sites): + if seen[i]: + continue + unique_indices.append(i) + similar_sites = np.where(similarity_matrix[i] >= similarity_threshold)[0] + for j in similar_sites: + seen[j] = True + + else: + raise ValueError(f"Unknown method '{method}'. Use 'hcluster' or 'greedy'.") + + return site_df.iloc[unique_indices] diff --git a/scripts/compare_sites.py b/scripts/compare_sites.py new file mode 100644 index 0000000..740a156 --- /dev/null +++ b/scripts/compare_sites.py @@ -0,0 +1,86 @@ +"""Detailed comparison of ASE vs SOAP site reduction on Ni/Ru slab.""" +import copy +import numpy as np +from ase.build import fcc111 +from autoadsorbate import Surface +from autoadsorbate.utils import _compute_soap_site_vectors, _soap_similarity_matrix +from scipy.cluster.hierarchy import fcluster, linkage +from scipy.spatial.distance import squareform + +# Build Ni/Ru slab +slab = fcc111("Ni", (3, 3, 3), periodic=True, vacuum=10) +top_z = slab.positions[:, 2].max() +for atom in slab: + if abs(atom.position[2] - top_z) < 0.1: + atom.symbol = "Ru" + break + +s = Surface(slab) +s_ase = copy.deepcopy(s) +s_soap = copy.deepcopy(s) + +s_ase.sym_reduce(method="ase") +s_soap.sym_reduce(method="soap", similarity_threshold=0.99) + +ase_idx = set(s_ase.site_df.index) +soap_idx = set(s_soap.site_df.index) + +# Compute SOAP cluster labels for all sites +df = s.site_df.copy() +df["in_ASE"] = [i in ase_idx for i in df.index] +df["in_SOAP"] = [i in soap_idx for i in df.index] +df["formula_str"] = [str(f) for f in df["site_formula"]] + +vecs = _compute_soap_site_vectors(s.atoms, s.site_df) +sim = _soap_similarity_matrix(vecs) +dist = np.clip(1.0 - sim, 0.0, 2.0) +np.fill_diagonal(dist, 0.0) +Z = linkage(squareform(dist, checks=False), method="average") +labels = fcluster(Z, t=0.01, criterion="distance") +df["soap_cluster"] = labels + +print("=" * 90) +print("ALL SITES — grouped by SOAP cluster") +print("=" * 90) +for cl in sorted(df["soap_cluster"].unique()): + members = df[df["soap_cluster"] == cl] + rep_ase = [i for i in members.index if i in ase_idx] + rep_soap = [i for i in members.index if i in soap_idx] + print(f"\nSOAP Cluster {cl} ({len(members)} sites)") + print(f" ASE representatives : {rep_ase}") + print(f" SOAP representative : {rep_soap}") + print(f" Members:") + for idx, row in members.iterrows(): + conn = row["connectivity"] + formula = str(row["site_formula"]) + marker = "" + if idx in soap_idx: + marker = " <-- SOAP rep" + elif idx in ase_idx: + marker = " <-- ASE only" + print( + f" idx={idx:3d} conn={conn:2d} formula={formula:20s}" + f" ASE={row['in_ASE']} SOAP={row['in_SOAP']}{marker}" + ) + +print() +print("=" * 90) +print("SUMMARY BY SITE TYPE") +print("=" * 90) + +type_groups = df.groupby(["connectivity", "formula_str"]) +header = f"{'Type':30s} {'Total':>6s} {'ASE reps':>8s} {'SOAP reps':>9s} {'SOAP clusters':>14s}" +print(header) +print("-" * 70) +for (conn, formula), grp in type_groups: + n_total = len(grp) + n_ase = int(grp["in_ASE"].sum()) + n_soap = int(grp["in_SOAP"].sum()) + clusters = sorted(grp["soap_cluster"].unique()) + print(f"conn={conn} {formula:22s} {n_total:6d} {n_ase:8d} {n_soap:9d} {clusters}") + +print() +print(f"Total sites: {len(df)}") +print(f"ASE unique: {len(ase_idx)}") +print(f"SOAP unique: {len(soap_idx)}") +print(f"SOAP clusters: {len(df['soap_cluster'].unique())}") diff --git a/scripts/plot_sites.py b/scripts/plot_sites.py new file mode 100644 index 0000000..d78db35 --- /dev/null +++ b/scripts/plot_sites.py @@ -0,0 +1,168 @@ +"""Visualise adsorption sites on the Ni/Ru slab, colour-coded by SOAP cluster.""" +import copy +import numpy as np +import matplotlib.pyplot as plt +from matplotlib.lines import Line2D +from matplotlib.patches import Circle +from ase.build import fcc111 +from autoadsorbate import Surface +from autoadsorbate.utils import _compute_soap_site_vectors, _soap_similarity_matrix +from scipy.cluster.hierarchy import fcluster, linkage +from scipy.spatial.distance import squareform + +# ── Build Ni/Ru slab ────────────────────────────────────────────── +slab = fcc111("Ni", (3, 3, 3), periodic=True, vacuum=10) +top_z = slab.positions[:, 2].max() +for atom in slab: + if abs(atom.position[2] - top_z) < 0.1: + atom.symbol = "Ru" + break + +s = Surface(slab) +s_ase = copy.deepcopy(s) +s_soap = copy.deepcopy(s) +s_ase.sym_reduce(method="ase") +s_soap.sym_reduce(method="soap", similarity_threshold=0.99) +ase_idx = set(s_ase.site_df.index) +soap_idx = set(s_soap.site_df.index) + +# ── SOAP cluster labels ─────────────────────────────────────────── +vecs = _compute_soap_site_vectors(s.atoms, s.site_df) +sim = _soap_similarity_matrix(vecs) +dist = np.clip(1.0 - sim, 0.0, 2.0) +np.fill_diagonal(dist, 0.0) +Z = linkage(squareform(dist, checks=False), method="average") +labels = fcluster(Z, t=0.01, criterion="distance") + +coords = np.array(s.site_df["coordinates"].tolist()) +connectivity = np.array(s.site_df["connectivity"].tolist()) + +# ── Colour map: one colour per SOAP cluster ────────────────────── +n_clusters = len(set(labels)) +cmap = plt.colormaps.get_cmap("tab10") +cluster_ids = sorted(set(labels)) +colour_map = {cl: cmap(i / max(n_clusters - 1, 1)) for i, cl in enumerate(cluster_ids)} + +# Build cluster descriptions +cluster_desc = {} +for cl in cluster_ids: + mask = labels == cl + idx_in_cl = np.where(mask)[0] + row = s.site_df.iloc[idx_in_cl[0]] + conn = row["connectivity"] + formula = str(row["site_formula"]) + site_type = {1: "atop", 2: "bridge", 3: "hollow"}.get(conn, f"conn{conn}") + cluster_desc[cl] = f"{site_type} {formula}" + +# ── Helper: draw slab atoms as circles (top-down, x-y plane) ──── +atom_colours = {"Ni": "#8CBE6E", "Ru": "#D4534B"} +atom_radius = {"Ni": 0.9, "Ru": 0.95} + +def draw_slab(ax, atoms): + """Draw slab atoms as filled circles, top layer on top.""" + pos = atoms.positions + symbols = atoms.get_chemical_symbols() + # Sort by z so that top-layer atoms are drawn last (on top) + order = np.argsort(pos[:, 2]) + for i in order: + z_frac = (pos[i, 2] - pos[:, 2].min()) / (pos[:, 2].max() - pos[:, 2].min() + 1e-9) + alpha = 0.25 + 0.75 * z_frac # deeper atoms more transparent + r = atom_radius.get(symbols[i], 0.8) + c = atom_colours.get(symbols[i], "#AAAAAA") + circle = Circle( + (pos[i, 0], pos[i, 1]), r, + facecolor=c, edgecolor="black", linewidth=0.4, + alpha=alpha, zorder=2 + z_frac, + ) + ax.add_patch(circle) + + # Draw unit cell outline + cell = atoms.cell + corners = np.array([ + [0, 0], [cell[0, 0], cell[0, 1]], + [cell[0, 0] + cell[1, 0], cell[0, 1] + cell[1, 1]], + [cell[1, 0], cell[1, 1]], [0, 0], + ]) + ax.plot(corners[:, 0], corners[:, 1], "k-", lw=0.8, zorder=1) + +# ── Figure ──────────────────────────────────────────────────────── +fig, axes = plt.subplots(1, 2, figsize=(14, 6)) + +for ax_i, (title, highlight_idx) in enumerate([ + (f"ASE representatives ({len(ase_idx)} sites)", ase_idx), + (f"SOAP representatives ({len(soap_idx)} sites)", soap_idx), +]): + ax = axes[ax_i] + + # Draw slab atoms in the same coordinate system + draw_slab(ax, s.atoms) + + # Plot ALL sites as small grey dots + ax.scatter( + coords[:, 0], coords[:, 1], + s=15, c="lightgrey", edgecolors="grey", linewidths=0.3, + zorder=5, label="_nolegend_", + ) + + # Overlay highlighted representative sites + for cl in cluster_ids: + mask = labels == cl + for site_i in np.where(mask)[0]: + df_idx = s.site_df.index[site_i] + if df_idx not in highlight_idx: + continue + conn = connectivity[site_i] + marker = {1: "o", 2: "s", 3: "^"}.get(conn, "D") + ax.scatter( + coords[site_i, 0], coords[site_i, 1], + s=120, c=[colour_map[labels[site_i]]], + edgecolors="black", linewidths=1.0, + marker=marker, zorder=10, + ) + # Label with index + ax.annotate( + str(df_idx), (coords[site_i, 0], coords[site_i, 1]), + textcoords="offset points", xytext=(5, 5), + fontsize=7, fontweight="bold", zorder=11, + ) + + ax.set_title(title, fontsize=12, fontweight="bold") + ax.set_xlabel("x (Å)") + ax.set_ylabel("y (Å)") + ax.set_aspect("equal") + ax.autoscale_view() + # Add a small margin + pad = 1.0 + ax.set_xlim(coords[:, 0].min() - pad, coords[:, 0].max() + pad) + ax.set_ylim(coords[:, 1].min() - pad, coords[:, 1].max() + pad) + +# ── Legend ───────────────────────────────────────────────────────── +legend_handles = [] +# Cluster colours +for cl in cluster_ids: + legend_handles.append( + Line2D([0], [0], marker="o", color="w", + markerfacecolor=colour_map[cl], markeredgecolor="black", + markersize=8, label=f"Cluster {cl}: {cluster_desc[cl]}") + ) +# Marker shapes for connectivity +legend_handles.append(Line2D([0], [0], marker="o", color="w", markerfacecolor="grey", + markersize=8, label="atop (conn=1)")) +legend_handles.append(Line2D([0], [0], marker="s", color="w", markerfacecolor="grey", + markersize=8, label="bridge (conn=2)")) +legend_handles.append(Line2D([0], [0], marker="^", color="w", markerfacecolor="grey", + markersize=8, label="hollow (conn=3)")) +# Slab atoms +legend_handles.append(Line2D([0], [0], marker="o", color="w", markerfacecolor="#8CBE6E", + markeredgecolor="black", markersize=10, label="Ni atom")) +legend_handles.append(Line2D([0], [0], marker="o", color="w", markerfacecolor="#D4534B", + markeredgecolor="black", markersize=10, label="Ru atom")) + +fig.legend(handles=legend_handles, loc="lower center", ncol=4, fontsize=8, + frameon=True, bbox_to_anchor=(0.5, -0.02)) + +fig.suptitle("Ni(111) 3×3 + 1 Ru dopant — Adsorption sites (top view)", fontsize=14, fontweight="bold") +fig.tight_layout(rect=[0, 0.10, 1, 0.95]) +fig.savefig("README_files/site_comparison.png", dpi=150, bbox_inches="tight") +plt.show() +print("Saved to README_files/site_comparison.png") diff --git a/tests/test_all.py b/tests/test_all.py index 19240ed..b2fb474 100644 --- a/tests/test_all.py +++ b/tests/test_all.py @@ -12,3 +12,205 @@ def test_Surface(): def test_Fragment(): f = Fragment(smile="COC", to_initialize=5) assert f.smile == "COC" + + +# ---------- SOAP-based symmetry reduction tests ---------- + +def _make_surface(): + """Helper: build a small Cu(111) Surface for SOAP tests.""" + from ase.build import fcc111 + slab = fcc111("Cu", (3, 3, 3), periodic=True, vacuum=10) + return Surface(slab) + + +def test_soap_similarity_matrix(): + """get_soap_similarity_matrix returns a square, symmetric matrix with 1s on the diagonal.""" + import numpy as np + s = _make_surface() + sim = s.get_soap_similarity_matrix() + n = len(s.site_df) + assert sim.shape == (n, n), f"Expected ({n},{n}), got {sim.shape}" + np.testing.assert_allclose(np.diag(sim), 1.0, atol=1e-6) + np.testing.assert_allclose(sim, sim.T, atol=1e-10) + + +def test_get_nonequivalent_sites_soap_hcluster(): + """get_nonequivalent_sites_soap (hcluster) returns fewer sites than the total.""" + s = _make_surface() + n_before = len(s.site_df) + unique = s.get_nonequivalent_sites_soap(similarity_threshold=0.99, method="hcluster") + assert 0 < len(unique) <= n_before + # all returned labels must exist in the original DataFrame + assert all(idx in s.site_df.index for idx in unique) + + +def test_get_nonequivalent_sites_soap_greedy(): + """get_nonequivalent_sites_soap (greedy) returns fewer sites than the total.""" + s = _make_surface() + n_before = len(s.site_df) + unique = s.get_nonequivalent_sites_soap(similarity_threshold=0.99, method="greedy") + assert 0 < len(unique) <= n_before + + +def test_soap_reduce(): + """soap_reduce mutates site_df in-place and reduces its length.""" + s = _make_surface() + n_before = len(s.site_df) + s.soap_reduce(similarity_threshold=0.99) + n_after = len(s.site_df) + assert 0 < n_after <= n_before + # site_dict should stay in sync + assert len(s.site_dict["coordinates"]) == n_after + + +def test_soap_reduce_vs_sym_reduce(): + """SOAP reduces sites on a perfect fcc(111) slab; count should be + <= ASE's result (SOAP at 0.9 may merge more aggressively).""" + import copy + s1 = _make_surface() + s2 = copy.deepcopy(s1) + s1.sym_reduce() + s2.soap_reduce(similarity_threshold=0.9) + assert 0 < len(s2.site_df) <= len(s1.site_df), ( + f"sym_reduce gave {len(s1.site_df)}, soap_reduce gave {len(s2.site_df)}" + ) + + +# ---------- Unified API tests (method='ase' | 'soap') ---------- + +def test_sym_reduce_method_ase(): + """sym_reduce(method='ase') behaves like the legacy sym_reduce().""" + import copy + s1 = _make_surface() + s2 = copy.deepcopy(s1) + s1.sym_reduce() # default → method='ase' + s2.sym_reduce(method="ase") + assert list(s1.site_df.index) == list(s2.site_df.index) + + +def test_sym_reduce_method_soap(): + """sym_reduce(method='soap') produces the same result as soap_reduce().""" + import copy + s1 = _make_surface() + s2 = copy.deepcopy(s1) + s1.sym_reduce(method="soap", similarity_threshold=0.99) + s2.soap_reduce(similarity_threshold=0.99) + assert list(s1.site_df.index) == list(s2.site_df.index) + + +def test_get_nonequivalent_sites_method_switch(): + """get_nonequivalent_sites dispatches correctly via the method param.""" + s = _make_surface() + ase_sites = s.get_nonequivalent_sites(method="ase") + soap_sites = s.get_nonequivalent_sites(method="soap", similarity_threshold=0.99) + # Both should reduce the site count; SOAP at 0.9 may merge more + assert 0 < len(soap_sites) <= len(ase_sites) + + +def test_sym_reduce_invalid_method(): + """sym_reduce raises ValueError for an unknown method.""" + import pytest + s = _make_surface() + with pytest.raises(ValueError, match="Unknown method"): + s.sym_reduce(method="invalid") + + +# ---------- Ni/Ru broken-symmetry comparison ---------- + +def _make_ni_ru_surface(): + """Build a Ni(111) slab and replace one surface Ni with Ru.""" + from ase.build import fcc111 + slab = fcc111("Ni", (3, 3, 3), periodic=True, vacuum=10) + # Replace one top-layer atom with Ru to break the perfect symmetry + top_z = slab.positions[:, 2].max() + for atom in slab: + if abs(atom.position[2] - top_z) < 0.1: + atom.symbol = "Ru" + break + return slab + + +def test_ni_ru_ase_vs_soap_site_counts(): + """On a Ni(111) slab with one Ni→Ru substitution, both methods should + find more unique site types than on the pristine surface and the SOAP + method should return a plausible number of groups.""" + import copy + + slab = _make_ni_ru_surface() + s_ase = Surface(slab) + s_soap = copy.deepcopy(s_ase) + + n_total = len(s_ase.site_df) + + s_ase.sym_reduce(method="ase") + s_soap.sym_reduce(method="soap", similarity_threshold=0.99) + + n_ase = len(s_ase.site_df) + n_soap = len(s_soap.site_df) + + # Both should reduce the site count + assert 0 < n_ase <= n_total + assert 0 < n_soap <= n_total + + # The broken-symmetry slab should have more unique sites than + # the pristine slab (pristine Ni(111) 3×3 has ~4 unique types) + assert n_ase > 1 + assert n_soap > 1 + + print( + f"\n Ni/Ru comparison: total={n_total} ASE={n_ase} SOAP={n_soap}" + ) + + +def test_ni_ru_timings(capsys): + """Benchmark ASE vs SOAP symmetry reduction on the Ni/Ru slab and print + a timing summary. This is informational – the test always passes.""" + import copy + import time + + slab = _make_ni_ru_surface() + s_ase = Surface(slab) + s_soap = copy.deepcopy(s_ase) + + n_total = len(s_ase.site_df) + + # --- ASE timing --- + t0 = time.perf_counter() + s_ase.sym_reduce(method="ase") + t_ase = time.perf_counter() - t0 + + # --- SOAP timing --- + t0 = time.perf_counter() + s_soap.sym_reduce(method="soap", similarity_threshold=0.99) + t_soap = time.perf_counter() - t0 + + n_ase = len(s_ase.site_df) + n_soap = len(s_soap.site_df) + + summary = ( + f"\n{'='*60}\n" + f" Ni(111) 3×3 slab with 1 Ni → Ru substitution\n" + f" Total sites before reduction : {n_total}\n" + f"{'─'*60}\n" + f" ASE SymmetryEquivalenceCheck : {n_ase:3d} unique sites " + f"({t_ase:.3f} s)\n" + f" SOAP + hierarchical cluster : {n_soap:3d} unique sites " + f"({t_soap:.3f} s)\n" + f"{'='*60}" + ) + print(summary) + + # Compare groupings + ase_indices = set(s_ase.site_df.index) + soap_indices = set(s_soap.site_df.index) + common = ase_indices & soap_indices + ase_only = ase_indices - soap_indices + soap_only = soap_indices - ase_indices + + print(f" Representatives in common : {len(common)}") + print(f" Only in ASE result : {len(ase_only)} {sorted(ase_only)}") + print(f" Only in SOAP result : {len(soap_only)} {sorted(soap_only)}") + print() + + # Informational – always pass + assert True From b0f3d01d302e5b05af44d55b858e82633b0c07a0 Mon Sep 17 00:00:00 2001 From: Sandip De Date: Wed, 25 Feb 2026 00:52:49 +0100 Subject: [PATCH 2/3] update version --- autoadsorbate/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoadsorbate/__init__.py b/autoadsorbate/__init__.py index 136659f..e94b3ae 100644 --- a/autoadsorbate/__init__.py +++ b/autoadsorbate/__init__.py @@ -2,7 +2,7 @@ __author__ = """Fakoe Edvin""" __email__ = "edvinfako@gmail.com" -__version__ = "0.2.5" +__version__ = "0.2.6" from autoadsorbate.autoadsorbate import Fragment, Surface from autoadsorbate.Smile import get_marked_smiles From 75cbb691e7fa101f0bc03adac6a30ad5da691236 Mon Sep 17 00:00:00 2001 From: Sandip De Date: Wed, 25 Feb 2026 00:57:54 +0100 Subject: [PATCH 3/3] updated dependency --- pyproject.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 6fd1621..bd8bce0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,8 +11,10 @@ license = "MIT" dependencies = [ "ase>=3.24.0", + "dscribe>=2.1.0", "pandas>=2.0.0", "rdkit>=2022.9.5", + "scikit-learn>=1.3.0", ] [dependency-groups]