From 37b6da37ba3f62a9267f6242997ee17a4f070b1a Mon Sep 17 00:00:00 2001 From: Francisco Arceo Date: Fri, 28 Mar 2025 10:41:33 -0600 Subject: [PATCH] docs: Document sqlite-vec faiss comparison (#1821) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # What does this PR do? This PR documents and benchmarks the performance tradeoffs between sqlite-vec and FAISS inline VectorDB providers. # Closes https://github.com/meta-llama/llama-stack/issues/1165 ## Test Plan The test was run using this script:
CLICK TO SHOW SCRIPT 👋 ```python import cProfile import os import uuid import time import random import string import matplotlib.pyplot as plt import pandas as pd from termcolor import cprint from llama_stack_client.types import Document from llama_stack.distribution.library_client import LlamaStackAsLibraryClient from memory_profiler import profile from line_profiler import LineProfiler os.environ["INFERENCE_MODEL"] = "llama3.2:3b-instruct-fp16" os.environ["LLAMA_STACK_CONFIG"] = "ollama" def generate_random_chars(count=400): return ''.join(random.choices(string.ascii_letters, k=count)) def generate_documents(num_docs: int, num_chars: int): documents = [ Document( document_id=f"doc-{i}", content=f"Document content for document {i} - {generate_random_chars(count=num_chars)}", mime_type="text/plain", metadata={}, ) for i in range(num_docs) ] return documents @profile def benchmark_write(client, vector_db_id, documents, batch_size=100): write_times = [] for i in range(0, len(documents), batch_size): batch = documents[i:i + batch_size] start_time = time.time() client.tool_runtime.rag_tool.insert( documents=batch, vector_db_id=vector_db_id, chunk_size_in_tokens=512, ) end_time = time.time() write_times.append(end_time - start_time) return write_times @profile def benchmark_read(client, provider_id, vector_db_id, user_prompts): response_times = [] for prompt in user_prompts: start_time = time.time() response = client.vector_io.query( vector_db_id=vector_db_id, query=prompt, ) end_time = time.time() response_times.append(end_time - start_time) return response_times def profile_functions(): profiler = LineProfiler() profiler.add_function(benchmark_write) profiler.add_function(benchmark_read) return profiler def plot_results(output, batch_size): # Create a DataFrame for easy manipulation df_sqlite = pd.DataFrame(output['sqlite-vec']) df_faiss = pd.DataFrame(output['faiss']) df_sqlite['write_times'] *= 1000 df_faiss['write_times'] *= 1000 avg_write_sqlite = df_sqlite['write_times'].mean() avg_write_faiss = df_faiss['write_times'].mean() avg_read_sqlite = df_sqlite['read_times'].mean() avg_read_faiss = df_faiss['read_times'].mean() plt.figure(figsize=(12, 6)) plt.hist(df_sqlite['write_times'], bins=10, alpha=0.5, color='blue', label='sqlite-vec Write Times') plt.hist(df_faiss['write_times'], bins=10, alpha=0.5, color='red', label='faiss Write Times') plt.axvline(avg_write_sqlite, color='blue', linestyle='--', label=f'Average Write Time (sqlite-vec): {avg_write_sqlite:.3f} ms') plt.axvline(avg_write_faiss, color='red', linestyle='--', label=f'Average Write Time (faiss): {avg_write_faiss:.3f} ms') plt.title(f'Histogram of Write Times for sqlite-vec and faiss\nn = {df_faiss.shape[0]} with batch size = {batch_size}') plt.xlabel('Time (milliseconds)') plt.ylabel('Density') plt.legend() plt.savefig('write_time_comparison.png') plt.close() plt.figure(figsize=(12, 6)) plt.hist(df_sqlite['read_times'], bins=10, alpha=0.5, color='blue', label='sqlite-vec Read Times') plt.hist(df_faiss['read_times'], bins=10, alpha=0.5, color='red', label='faiss Read Times') plt.axvline(avg_read_sqlite, color='blue', linestyle='--', label=f'Average Read Time (sqlite-vec): {avg_read_sqlite:.3f} ms') plt.axvline(avg_read_faiss, color='red', linestyle='--', label=f'Average Read Time (faiss): {avg_read_faiss:.3f} ms') plt.title(f'Histogram of Read Times for sqlite-vec and faiss\nn = {df_faiss.shape[0]}') plt.xlabel('Time (milliseconds)') plt.ylabel('Density') plt.legend() plt.savefig('read_time_comparison.png') plt.close() plt.figure(figsize=(12, 6)) plt.hist(df_sqlite['read_times'], bins=10, alpha=0.5, color='blue', label='sqlite-vec Read Times') plt.hist(df_faiss['read_times'], bins=10, alpha=0.5, color='red', label='faiss Read Times') plt.axvline(avg_read_sqlite, color='blue', linestyle='--', label=f'Average Read Time (sqlite-vec): {avg_read_sqlite:.3f} ms') plt.axvline(avg_read_faiss, color='red', linestyle='--', label=f'Average Read Time (faiss): {avg_read_faiss:.3f} ms') plt.title(f'Histogram of Read Times for sqlite-vec and faiss\nn = {df_faiss.shape[0]}') plt.xlabel('Time (milliseconds)') plt.ylabel('Density') plt.legend() plt.savefig('read_time_comparison.png') plt.close() plt.figure(figsize=(12, 6)) plt.plot(df_sqlite.index, df_sqlite['write_times'], marker='o', markersize=4, linestyle='-', color='blue', label='sqlite-vec Write Times') plt.plot(df_faiss.index, df_faiss['write_times'], marker='x', markersize=4, linestyle='-', color='red', label='faiss Write Times') plt.title(f'Write Times by Operation Sequence\n(batch size = {batch_size})') plt.xlabel('Write Operation Sequence') plt.ylabel('Time (milliseconds)') plt.legend() plt.grid(True, linestyle='--', alpha=0.7) plt.tight_layout() plt.savefig('write_time_sequence.png') plt.close() # Print out the summary table print("\nPerformance Summary for sqlite-vec:") print(df_sqlite) # Print out the summary table print("\nPerformance Summary for faiss:") print(df_faiss) def main(): # Initialize the client client = LlamaStackAsLibraryClient("ollama") vector_db_id = f"test-vector-db-{uuid.uuid4().hex}" _ = client.initialize() # Generate a large dataset num_chars = 50 num_docs = 100 num_writes = 100 write_batch_size = 100 num_reads = 100 documents = generate_documents(num_docs * write_batch_size, num_chars) user_prompts = [ f"Tell me about document {i}" for i in range(1, num_reads + 1) ] providers = ["sqlite-vec", "faiss"] output = { provider_id: {"write_times": None, "read_times": None} for provider_id in providers } # Benchmark writes and reads for SQLite and Faiss for provider_id in providers: cprint(f"Benchmarking provider: {provider_id}", "yellow") client.vector_dbs.register( provider_id=provider_id, vector_db_id=vector_db_id, embedding_model="all-MiniLM-L6-v2", embedding_dimension=384, ) write_times = benchmark_write(client, vector_db_id, documents, write_batch_size) average_write_time_ms = sum(write_times) / len(write_times) * 1000. cprint(f"Average write time for {provider_id} is {average_write_time_ms:.2f} milliseconds for {num_writes} runs", "blue") cprint(f"Benchmarking reads for provider: {provider_id}", "yellow") read_times = benchmark_read(client, provider_id, vector_db_id, user_prompts) average_read_time_ms = sum(read_times) / len(read_times) * 1000. cprint(f"Average read time for {provider_id} is {average_read_time_ms:.2f} milliseconds for {num_reads} runs", "blue") client.vector_dbs.unregister(vector_db_id=vector_db_id) output[provider_id]['write_times'] = write_times output[provider_id]['read_times'] = read_times # Generate plots and summary plot_results(output, write_batch_size) if __name__ == "__main__": cProfile.run('main()', 'profile_output.prof') ```
--------- Signed-off-by: Francisco Javier Arceo --- .../read_time_comparison_sqlite-vec-faiss.png | Bin 0 -> 34038 bytes ...write_time_comparison_sqlite-vec-faiss.png | Bin 0 -> 37760 bytes .../write_time_sequence_sqlite-vec-faiss.png | Bin 0 -> 56902 bytes docs/source/providers/vector_io/sqlite-vec.md | 50 +++++++++++++++++- 4 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 docs/_static/providers/vector_io/read_time_comparison_sqlite-vec-faiss.png create mode 100644 docs/_static/providers/vector_io/write_time_comparison_sqlite-vec-faiss.png create mode 100644 docs/_static/providers/vector_io/write_time_sequence_sqlite-vec-faiss.png diff --git a/docs/_static/providers/vector_io/read_time_comparison_sqlite-vec-faiss.png b/docs/_static/providers/vector_io/read_time_comparison_sqlite-vec-faiss.png new file mode 100644 index 0000000000000000000000000000000000000000..00e5fe03a602f888264317cd57174b7768f1c140 GIT binary patch literal 34038 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 A#{d8T literal 0 HcmV?d00001 diff --git a/docs/_static/providers/vector_io/write_time_comparison_sqlite-vec-faiss.png b/docs/_static/providers/vector_io/write_time_comparison_sqlite-vec-faiss.png new file mode 100644 index 0000000000000000000000000000000000000000..bec7969399d3e2e5a5090dbe79696e94ded4d532 GIT binary patch literal 37760 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 B@TLF& literal 0 HcmV?d00001 diff --git a/docs/_static/providers/vector_io/write_time_sequence_sqlite-vec-faiss.png b/docs/_static/providers/vector_io/write_time_sequence_sqlite-vec-faiss.png new file mode 100644 index 0000000000000000000000000000000000000000..192d5e96ebf5b26f304de393d4557a401199d08b GIT binary patch literal 56902 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�VGS5a6FHZ7|Ei z-92?mBAn?3%>d(apmG`5Rjz9n;nKfu($~<7j?b|i38Vd=C9oyMXBx@=sWn#QT|L`p z_b39^;!#qQw!RHBqxP+rzw-`lz&kw#M&1F{@3gi?WcU~*eQ32WSr68ZRwy@dfZ{A~8tLq)G74`^Jx`*iIurnmVf zFAi&SxJ{nP^mNU%ADiwgxoY$I&m(nma=yBkIuD@RU8H-ZyQT_k#~5e@ES`ALqO0p8K&)8oY=5mxInqK6#L7nQm$* z-5JUWhJEHj4_Nt`so$WrWrN)+!fm5hVw-!20jUo3M?h?mN-II|cZj_^liC6N4?E)M zGShyC%FMgaBKs9^IhjB}w&7k?Y+P%avFqbK4GplzZ6s0ms6!!@JlWi?B7Ck`>K3P+ z)wh&81l||RTLun9o)NJXPtVUsSYAwlTzs|0zOTqC9m;e`r{gZ96Z&9;Yxag3^1c9P z)S4Ch{^0rX&O(cheA4@P+bq~ox`amJAdL9rf+gpTOMf74SpF&tr(A-=J~dqcLzkiO zN{j->YY%cXSjP^}Li4=)`?EcQ{kE*jmCdP6KQ!5_kuU!K+_kWpbkCm07_#nh&9y;~28_N}f?XfE%e&hv8{JcN5I7Al_?O$6dJ;?4=_ ziLlzt;0O&oK5)xijdK9lY+wn+_cFdQkV$8f*AxH31FV}h7{{*fa|IbxQbR@A9&i)R zAbV%{?(YG^kBQc^%)Ao)E>u=e;hb}1{VR5sjil?Yc&h1lC9QpG^P2*vANL6Kg+KUO z5_TLkTJoBqZ?1v;_hKeINAfr74$e?NDE0^{XWQ(Hxq?S+32&%y{fo2pwv+j@)BAO# z_$E*o7^y-@kCE5%9ah*@yILbvuppGMuo3D?AUYENxCd|W5F{o3p<-$uMM=-3j`lC~ zm#9(uS6zws4s`%J?Wq=GEl&(q!?OQ5gDfj9PgM310L4JN(6dsaXFWH6jErpfu^7fu zox0419at5{oJ-fKuIHDR$C;?wZ%S5$9bC(o(%nsv#(3&OIg{MRUn?+DQx230n2`}F zpS`WAC*@%M1$5`?BOZ}(2D3V1>t(e=(9)l@KtYY_8>;r*zfE2o46>u_cnN_)DLmAj zrV>L16oy`&P~eRRsF{srDK}2vM-MrSs8%Q#`pQ%#ZGx2_kNBkd-ZUV*NRf< zQFW2g!-}tdb&!FO*IH8HS#J;0qeo{fz#w(C`PeFMOg94RTrO1&jJR}h8Zuigh*rSg<_cH+L((Wk{6Ik6i33r%UiOb3GCKH7P-yhvh$E#c&i?K zU4s)^Yh`SdGJqXqegx3u#8@sLM&DgJjXxFZKCXO4t=}>2{=l(jv=wf4YUVGIY8>E} z#?85KUJ#@`GVeac%dbi`K#gI49~{CdSG8FIWSN;Se{^-_ntbSRUas#(=WUF|0x<1l zax_T_VjUS9vZr_))eveY*9xm&iT7Q`ayqt%q=n3k6QP|NF2*jJi9KqG^^;X2H#x{% zM${*KcN}dR=(qG^*8VLoereU6$B{E5&doryj-OY%P}Ho~#y;;_QV-yNeOtP8sbm&4 zf8=s4)0fUxs^<-0(00>$tFlQ96iv4S8E5~68;$I!D~Y~7Ypd>4cZmGMRe%3!d9L^} z$>arHj=*Sb#40Pj;~B{-%7%5h&%GAbJnQFIGhE#!l=I3!Pft9!1@=yNsfs0MFDFrcZnP10kKFE4+zZn0^Q$UJq zA}eRy#0SK+WG;_h6X|5Cw)W!g`l4FVm4W^yw02eL1^(`L3JjH?Rd0ifqOx9{MeIo{ z-mLK1S#EGx3KHH+s2%Wa@rL2iH+dx{A1=bO<+zwt-V`@==sfDF(=W6mWu!Y%--Y8E z=Z;`$b7*g>4x^NrtL?X6z89~(KE|v=EwJ`N74F*>7Oi3i_Dlwz%r!C_jq|IuM1Dki z1zTb~ZXd9<$K)IHYsNK)bIWG4MtmfgTsu}_T!nII+~z+tynHl6|Am$Z@rs%X7@Y|K zN?*m{_V=@}YmV*24hje8pXx;sf&3A`%}(>>C0ujh(V8zE3!%R^IT$%~b1~Bfc3?Z? zmKYiD;2%hXVE;uq(8qRoY3482VQ<%_skPP8XS=|R46x74_ImGi57v6!XViJ)WndY{ z53`wrt=riF`YiwB65>+EO`h^fM;g~7M6ca!d3>__yme4D*8ub5 zWpO)-HfN7Xee&FxKjR^t=(R#j9v8(MuFO8?h+w*d!p{RvsPo40jg3cQ*qn;)uLSy` z9!R~R7CrUM;(XDqvd%(K(_fGRC|*(l(>;s%Urx}=0nmUAz>D#?3_SA027!hta$)HmcT>`_=r%N6!bFN}^xZ*U#yh_(T z9fAzOZL+(iaiTO&$M3tyBN>f}16CC7l`a7CUz~U)B*?-G#GRmuY;|d;>9B8xcf`1G z^3xX1IN8$tft-G{4!-H&X>Fm}Kouv0sOcm0qdxXD%Kt&@x~-Yah(xS`n6o9(g)9e^ zWqR~TTSaWo9hNB6T^{l$>CxXT8pEbX=>&`}sa{rcX?+v%Q6!vCL4&zh;({p;`Okyu zBEq)$lW|u67rOW}2fXQU^9ba=7f~D$k9_qtO52S8J+f7p5YAV%u`v-H;jtblG`WlP z%Qvi?c0;+KHJ(K+!OYX6HR6wdeun+K?suBhyZ?gxf{=I(PVd5N_7AVMlK4NC6U!n{ z_GVE$h(tci8pHb?0$rTTM**m~X(lXwgQVjzF^={s4 z?_OC_ey2b9Ps}x}nptyl?>^20b04iKZJuy4_vm!jArp4n%ayyuovBKX+Rj*fd&7<{ z$k@$$D*rcH7D+-HVJI}B&;CWh0#0?Ew&hBpavVGbUY^Es*Z24M4Lox@KfGHT4NAkX z?yPm>s2Fy&t^ytNJ*KZWk_?tfz;do4rzPbb&0sXsquDtVMWRU3mTPMRR-yo z_TV!!p(191PDCCcl1k|~zTIX2&I)&@B+S;TV`&OMeJgS7=i9!Ka(rZybTF)_qK~S~ z*N8n01e*B^Uj7-$NIUb!Jmq%Ra)UxZR!T}ZrJ923vl7lk^Fweh0_STeO&(|u$OvFc z6D*0;D~aA-53()aZi>Qcrr+g1*oHf2P@cly9ImsvioC1%z&M$Qk(L^t)q}7d8WO(X zen~Hw_<(4@x1=9mJm8>0-M&G)?n?kn1qtKf@RXWEK0oEX5>U7`sj)QF9x8WNDa)`j zB{iD=y>-XEw2gSBRu`4+0mox0HXFEr5#k_ndm+8#@lmz9cUv)XSlC|y)gw#sGZ z$sNV%Rc$OF@0~K^XVlSo3>t)<{ls;3^lk=g!?H1ti-YBBQP?6 zEznq-f`GMe3L0be_t9M^6%>UlwaOkgkvTmccb3maYNk%agf3o16ehH+bbb=INlnLv zSM6%gb|_?Fggu7FU;dcv4{HB|BPbaC+kGBXVeL;1_ICWHFC%*V67bCuY(2>eV3sB* zDQf`fE#*iy(U4XAab?0DL@F)|W<&u1z;j~O-__%#R}DWSM}WA$$SP2E)DXb=?|{o= z`TV%}SBN=ecJ0dbUGXb>M&(~ZjRsqNmrpiw|BLVFumcH$9f!OLGnXW+L*CO#ONl*s z5E<+6Fw?p&lJKx8``GsAizxn*f$`mX_IH%T9N0hYnhcJrgUFDReEBPahis}6Kda_P zU=01f_JE9*kCGfYybJAf#3kXZ15acGsJX3bPflC|tDFjE}J zfq-op1YEv&qc+a^?ksaDb!Xha2>rm2D)sqI71uJVJf=1Z+MHP54T9u-v~r;s+Nq3jmT*Z8mjj9e z5~)UY2?3Q`O@B?UBU7fRMjn;Elk>oiVuLhAl$psP-7uECS6*NR{?1((TFj24cLXnv59tE##d%$QJei zjpj3``~d--4p3b3fFX)$sSbj+tp^VE7jKDyC(jMtMvlk;bYzoqNagU^9C7G45Fy1i zHk%de>#|}IBv^d8XpmN5iJe`{G7<+HTb&Di-%iMmEGc6c+Qs7d&=%Ysb%-0@dR{?I zUT_yCI5l(2g&J`pjzLWR{vd23sVeKz2;R*!@MBu?b&F|{E$`J`_|NEBPg)(VAd@e|TSkX6SpV%7zg3s}?0XY!_Jzi@ z1qRCm`gzvn^4?epq$DoR2yxtP@0S!EPH_O~~_I0MYN?M)aae+pgL`Lu5i* z5G5X!Tb#wm;-e+rb>&zqX_b{&eKJ{_s?SQpez_&~6~drF{CNpiGA}=KZV_pCk=heu z=#85WIU!b)6~5 zL6YWgCa7R^bcJ$V#}BOgL{on3)d3$_xt=V;+zW>iIvrQ|x*>lbrVdZsN=2#K<$u9$QVGWy&dr=$4+j>b|=SHq?Bt!cjyJQu<4D0*h zI?P2wx}B!1mS<^mtRaJ;b-XAax!=>JZGW^cTPVS~yGF)Nj7s~sxST-6&jMYC>&;j# zdZ3~rhpHB>#W;w4gLKHr_XPN-ee%ObA_DOz@_1Wo8yR$yFl&3}`*rEV+}G~9@`R^1 z5geKWIE)eoR$Pn*n3@CdvHVS^{UUCISfMrTiH@eA&6ImHz43RmAL}Owtho~o3KEtu z0*iSQLwfs^;r%rzivB$%Aa-~Ffv9l;n+G&$y^_I8ySuK}JR75Q+|@<={B9lOk1ti) ztht0vuync`W4k_dc`pTyRO*{vdy{o#ZvAQ^^=n`)-$EsnIH{}j5fGi#)H&y zbPVz4(;YWq^b(E=hXO-5Hn`+7(lrZe!u#L$r{H- zfNUdw{ALA}%c%3kWtr=M3i73{bp~q2{#RtuVeNIv*VA;><9GM}3#X<&C8XP71wp~t z^ZPI^%lDq{(%r|SxH-PKk8}NJT5eFjEb*l`{rLcnLeO<|Q>npM)?F~6PH1*%EIWMx z#w0txPxZ#(s0$y?!xfaE7w;!<d6WDc~(!o)Jh``mt;l<~aBFvS8VMEgWne-i37F`}k5}0ZgV1*k{Jllh6=3w0+jx zH|BbTul10%km(LY?@rV`P>5U<3nXvN z(+O~X86eMq+x1%j*D+kofmiG?nEC*4c*q25>bkCfaKH-^@_LYOs#gS z1bQU*;;isz_{tJkSKK}0mt2cE5}kcWkjpW`cf z%(cE`)NdZa6bPlhz)pj^z=an@6NPZoZ9S>@uQVNTP}C+45@>6yTT?2{Li+vYkxa9b z?!oHM(9I6X{#7LVwgf3DdwioD;Rj*Wk`vT1`W_m-e>slQ0m3NV3`s5xm6$pfk_~rt zh8{jo@j+Mk_WGRv+?lJ7F0)8JJJLC6E*zi!VUqGcvizyPjC^=4zWYo>X?%HE2Vv$Of693YYIb+s<$D^&GsDj|33ubuJzWmN1Hu380gp+nT8 zdFQ{hNh!pMsq{Uhw;&I~Vhp>p`6~Z39Qbh5>buJf7J+BS; zwWnTU51wWtQx{5NIDEdpihYMZcI-s(;vu+vp?&$G_xIR~EW4D!OFk2>u%1wopOdDTMa9D}d9SQA|kd2QG8#7V#FMqeb73eSof zJ`?j;o35}qd`yc)C_E)ivM2b~Sd))I zCIKE9gduI0AD`QOC`zE5Irzqlw<{r(G~X)%NffpDO3dE0*LpZ2_s>Df8Z5wt_aMVBIPBn-qpVF%&)NG&jb8_9E|$qkNo3L5tHA~ z-||;xkQ0#E&RFZW;~_IMD+yPhU9VUni6HWuQdTUJyI?G-^zhgLAa4Kd@|n^CWf!|5 z^?97v*LPpA$dZ`{U$tK~UUm0Xs_w_s?e#Q*V;a}3)N`&mQJN%I=U)KGKR6B&tq=|3 zz#oWI_~kkNB7@;(-npZxUHJ05C3)4daiY`XQRzoE7SF9$IIJ{v92$%r>{&K>ZBJ!- z8K30!0&dGwPipnhH2v=_F`_hHaTrwPMWr9MEsE+)4=tR+wTG*;_gjjnKymp$Mr`Kp zdW_SscYC7iUD}-S+Ae0y?c=>MMpbJj(>8v;U-)$r^+s}bMoCn5`rTLIkJ=(}o~Sqp z;l4%QKR=qstQD>7nnhr4ynOvhK8o$L^Za)aJB;Z6<#d{gtQQwt42?X2R0qqUonl>@ z-1+`qWJ_TB(Xu4;j$~H0B{~rq`a0!y6)L3VAeiT9u-9wOc0y3LXJh8)f>0MpKYHT2 zDzK9F{@wEV1IKPFl6#CV4kRy-@pwWm3E{`)t> zYh|*r_ngUtJpBpz)88&CD@RpUtcI+ub?{W?zDM!6NBL7L{A}k2?RiRTyo4Iqs3-pK zWw=F}N>Z82xoF^?R`}qi(yFr>zV8wHOs{#G=i+O8l^)0%kE3oP@<3=l-sinA9^;AS z%4=!g*U&RNCA8oK6CFdKWVHVn;mJNE%{4*cQ&HU#3u6BmpXXg3X4H%n zmkS-ny#E729^n4B!r@fu%?C66cJKP(0Ak_JipIxBGx2yto+7IW`sVogf9AlH9+6N{ z^EN^ix8nNk&bK)86__*>+|pT71_o0aYo z3Ms30WM^5y;`93C|v)Kx*-xF&O(p`aul&s8F%6tB)@_&lPxO)OOM!RkxuSs)n zn;dgDB=YF-aM`WfSr|2sAD_c_H+mI3c9!*|Y{sLH63$+<_*#1oZFx|_v@xv0_UJLK zWB*ys2WpkDy37)~OFhD6yX`7e2`U@Um*`cnHk)mT!jIdd6vHayxoQ>Jv>s65I*ob< zfPYzSlpbNUNv`2|-`MT0$#|81JK^262&ZPjZ{p<74(&mE+Lxc`VxCQ?jsQhWhckT{ zkQ|-u%#47OgYrD1e@BlYlY!D3Q4L#)b@@W^_P5pN5mc5x+mRkhO;=F;H)PcFFU6);DA-bMg=CZ)HF#|p{9J7sLI}71?=&8c33B0d3&h4Jv z_vudyavBY2Zx*J+=*+ZAr0IT48Sgs6qWIBVp@$fyf8$wG+2L;RYVi7Ym1sD07eTG4 zw%0#6fwOsfX{?`0r6Fo04vBel*x{MfWKgTa+x-S&HmIE_h>*TC^qAqPg!8!4D~%U} zmZ;~+JvQbuA!alO=cB&@172qwy%rI^S-W@?sou*w?b7?QNAFCNli59FKue0#)0|uXDF+SqqxJL9Qt!o`8iW&) zGee&50{Jl7Jc#V4$dK2WT`jLo4UTlf*8!w}bf@z3Sdom=wE9o62ZBjo7N|TlH6s0Z z{mwya@FTZtv&9;N#Jw2bAFn6!ukHalp=H)zmIX3&xhr`Xjiu&FQ}_28M!mz65JLzb zoV;kmD*k|0;C~V{&7-y1N23#qr@#oFQ+Dwq zdV_V@TSc%)s}!}4G@~98#XjWlhcYLOZBe>rbXq{?51|ikLtdi=h5h0o*1hqFQW&USVQdo?BmtZ;TQ+gWfn%J42JS(81z9O6G z?NYd3;qJaFJ27T1jH$mS*X-*mT<+V3$j7;j(#q`o_~HR}cOlq)bHLELf%Khyze^2* z^v+Ym0>ERMZCv*S$TJ1h{7?NFo;&`EvHY^^LSGR*3kF9>5bB2M4hwc1&V6IMP3A;w zV$CK^5WbSs;;D|FOuHIEU~7G&BY{`j`(um6R?Y}%(~dOw=t*9TleA9(DV0e!BLblY zn&Z0~&lQLl`)9^}z@F7~SRcyD#y7>XY8KUxvj!v~jOrspmzYel21T|gU#dXE(%@Mj zApaTAS47{(iQ+bTnXJThk%=)%ZLFoM>R3Z4Lv@TKs^T}yt5DcoV!IznowKhMxQ(pe zm|dGH8NRmhlKqZ$&(7x{5?tmfMl;cqd_1E32!eZ6_ikB%2WD>Vhw2b$m)x|jG*)Hskc9MO4s zST6^piV=}EOYO9S&0||II6+gcla{A@j2L_4>Udy%S$eA41COeMVVb2A*f)7eCs1D- z%a`}bVPBgspOwi(+29%TzF~n5U;YkdJkBa>x@5RUoKujHt)6o85KlsEmOjRL$n6&W z(cje{MxnK){(g?W=8A_i$r+F$EqajXOgH=MhO5Ixq!d1aj4a^5kdu@BDNe-XuG_Ql zI=jEz`-VX%+GzlT~Y{I*u^1|NJO^s-|$5q@xa=)4J?7yqx>u=_8yA;^W_3Za220_~syS@>OEkizzD;S@#6WJp-k5$Bvr7r+zUA^#};{%S)(VERiptO#ZmPyX2c( zxBv!e2UP8Js)DO!M;PUE0TSfbMGsd0top9lgHKO?^q6pFhi%@PYzm+C`To@FzYv_6 z{V4DAP?^)aUgNKEwoGDJaz&DqRAp&mm}wVi8d5z}x8NWfVZ=RiG>|I)ONFFPlN z8U?$)<*OcK9MEWel1yIK38zHU{PoAb49oO>!p?SfXRiL^S~#M!;)H9@{=>sVt2gR5 z3OSS!iyOS^YP`Rt*=do|DrZ_nvCN;1}r>z zNFGo?I}mv-%(_Hk)@GUNMJt-FTfe-_r*>7Z+hnhAZ^c=qqO~*o#+p!wYkYZ6gPY4P zEjG&HuJ=QC&PljMZ+hrI7or!!Bw?}Cp|GO-ywc;&tNv$aH6y2ndDcE<-P~&bDKF5h z^qnzR#2D}tS)V~aEV4D|H$Oa{NNu<3KxL^-Nc+W_*wdB&aBWKw)Q~r(YY5tqb3)T@Mc{PTs!V#Cw`IHvU;on>r&yN*sTwP-P zg^ZupjJ%&?F=XBK+F5QFu2xhL~GYoF&Q;_>Y z#>_QrwR|tALmzfzZx`dSV?VRepGJ}s_BMKcw0*v}$obKY&#_H>FET7_X(Vh1O8;+( z;^-(hp#k$ z1WMA~^G;#o{TD`^O6@>JES9TzEEG*Mf=)fH@oaP)-5lK>$gd0z?ewmW>8B7&1QO2ke6yT&Dc(LD{ zcUB|R?h=J09wc4=e+c{Uc&y+5{~wp8mP#7PD3X;F8D*r%$R4LHMTL-^t$M0#;Y4<} z(>P^sN_M5p>@t#_(>UWazV`$5?D=|sF2CPDuh$>1SEutl9>?Q2?&Eg5-Z4Vo{vmj> zDTvw-*rVxxbZ7oNAE2Tc3z zmqrtb_9w^6Nx3(_iuq2qTt7kYs$t76bED`Pby$W z`kqx3I9+?+Kul(mRWp09iTfH$(ve7O`NOOukyMk~7kP&JK!K6rToM4q&NLref}8iJZk3eriR+4O0L&)@Zaxunl@p< zKi?1pA8EFF5q%-y@c0($e``h#iRQic_}-ZJCUofg2V$&8WKLXCAJ2M60g7=DnxMZQ za6EJQUd!q5vjUDbxgYA&_MDBqa>?DqfO=h+E;e7bR&GP62bGRQfwz~=p_6>~#0a~^ z@|4!AZdcZY*eqNBDhytcCylbArR2(g9*E)6lDagZ7+4y9fpyGNO>X@U2gbyUOD5*u*Vl>8&v{O_)Gl~Rtgq|3 z0vmG<**N+#4gWp>>r%f@$V&+W>LuTd*X&bFcSgP!4iAYxD4T7XIP^(&e4_muYe31F zFigD{iB}6aj+3?hd()aEXf;qI5A~^Jx)Zqb%Po}V##w!jp(=Pb0H+d4rbF!dg~uGI zMeQ|@|9G_VjW%|ZSh>1vb;|;h^p$5N-FT5%B0tun3Bh-B(+p|4ncfLbE3(+9iW^n9 z#Tsgb%(oAk8;*9HUxJJ;jy)a6obCGSO7V>3XgMj)74v=cQO+GK@7)T5jQX){SsDRQ z9|W_F8VF~r{=Oxy)D$@^{rr|#P&OlJqv>dDJf4wgmj9xBO%EE-fy^C`w>Q7pDI4Q_ z(w9b!@TE;XNXRx&&-ryig_=&AkvG%ks!Dh|N7239{{P&o?&3d*{hxCIr}NyL6sn2Q zwH-Yqw-|9TWBGQw=5E~7Bk*IjmSerL}fBMVpgO=on%{R-b?mEPY9OW1hIF~=$ zREFvWcIC2_DM+~B!Y^V))-Hp7)3>v1fYG;ei{bH&3YFMd>$j=)(`Oup)pqnd;hhP% z^OmRV6nJa~?e$6d1zW|AydvLY?6Ca_@?ri@VO8}dNv_(r6$EKxsZct+Mm*tS!)x@Z zg)FV1_Bn={^HSTnMo_TBFQwpAmEIakwKe7NpQ9(`(AurB-KkKTHmFJ%iSf_3D2Rdr zkW$XPhmz9P1Q$7_{Tj@3xI>0^CaTZ5-yfFodPX0puB#?A zaSq%#aoDXNR6H(Y1D=kP?Izo(qNbQlNnj(NYh{Ub+3On@4JT}+42D8uD6kn~D%MCwU6;Jv&O3sy zO>QQwZwM)+li${^#+|+qC8P%YrB55Z66;}hw`=g$r-Jf5?MxHxRdVmgzi*`%m+|QY z?x1=OQV|>hto{79INpa@bEC=4Pbg(hT@RTUVS9WxhAYa-t2NGJ_X$h#Av+%kP~RRF zM@PxieY7F}{jyS9RMiEIhm9X)#t|lA`xM)H50@ML~6-}{iNyp|xFZHwGz7ky_Y7m^vTQI-oSrN7PZQi!VF;?Ymq=BaHhJKgV# zQ-W6-I^6GC#Vknk7~^4VBC#(>Wci#)pO6Wm+tW1&s3 zCKG!E-4piuj?)jslKw>Jf$=I^*A}lsuL`0ALnLFAr4L*Tn_3n*4fs zHzmE{!1`W%<$0-@uzSZTNuRpz{{#Wdwa%+WtvSh!6f*p}_IYYn1okO!wfyFWg0d5P zJpNu{wSDveZ~=J?gq})RZ1N6AFGe!P!7%Z4Z-bhgo>@T@uaOs&HX)K`q2Nf`K`!Qt zdQF$@^PzC+Ao%P^-L^krzg1-b6H9&Chl@da4iey&pA+FV!Yi%cG2qPNd#<(%Dz)yH ze^wubV@oE8RW`z$y==*3afq5MR??bz4$kyFM>s$Ini>4hnO=X38K1oa4kP4L5!YJ% z>3{sfX^SUhDQExugv<%CZ+V+&TlNzM%V4#Si7$})$)q{=uB;* zbWq%+`4@S@ZZea7)a&HZ1LG~%wd{3A;cEqgO-%Zzu4?z)9c0^qO^TM-JU0aYpPNzY z2$ZM5B%EqJk}|E9er0PQM)UFd!fJSA?RdSL2{u5$@Y8)kXUjF<4rg0!yN6XvU~uz+ z@Z-DGQ60u8dp)xlHnJgJb*5{+)>|Qksu?yrCGb}WQLorCA7DZ83)ya3X@KwETeCBCWh*VeE-1V;${`mpCp%f=R*QZ$n&$AxrCJ|3t&?mr#Va( zo5bUBz!+R&*SWOw_x{^@$$RYeq9JM7!3h_wCNG5Yx~byNycJ~&fzfUvGJ1K&RFf(d zt~M?;$ES|au~a81gs%QNHD;PO5)BtC|J`J~nmk*Iz?LIdpeJ`wohkiF`ua{+t)xgw z%k)ZGTI_hi*AWb6el08MR0;1NOCR{-v0ErF-9V{U4K3^(8Nbh&QP6Xoo33b<%ad}^ItW}VyRb46laj2Kjk~CuEa>!+BMd(CGxW4K)y?h`7tF$Q z2mO?&Y%h&6LoGIi-Q-hjid)-!hb$-`go%+L2~}#s6$0xf(=;=+4R*H)<;II+((ZFy z8Txy7W2Aj)WuMWr>)Pv%r8;Bh(`8)ulEvOcFYH<2`w*t-g)ox86x+CDx75~6bRs1# zX|y)yNuN5oZTLWS;cms?*6~2@|kiXG8x;6{Z1mf+__nPv&dObPBDzF4h6+o)sTivcInaaK72PeW=9TU#j~vhU zFD!U1%yP?vD!SM5nW`%DWPU_$<5}<7I8b{P%m!O!P;QDLwvGA~NK7z3s)$y>9xYto;BqD}y+t^}g+L+nwwh_H;f zu9I1A+)egYv_IVCUVFkcCgab{^Yv%~Py ziS`2g+~P=c-HYZJH<=4}CF^li@@J&=pfOx-eFgI{1 zIDLJgL7yKYYY`$-M%4PDD|;#|Sc#>$`=a3Ww%^_kVz2alP&@&9cr)T2Ba00)V)C9v zMM;z1;ygdV9|wHVItEIwi2VXz$+(~nyh-s*0+96K{^|Pz@MZ89&AR>}foo5D1*DCM zelt+(OaYy-f!;94HB$k7d80-6nP@$N)hvFGc*fify6{-23dZ#mU0xgt8Uq98m)emT zFy?d4jRV$z%rI)pRvBD8z+tqwvh*v?IOMgdH-CBss^IIP*}h*~y8XGGN^uiA!6|*? zX3^U*K%9I6gDu@5RS+^i154B%)RkI-Hr`e1OeA-+d7}>&Uh$JD?BGsGkmK)FogeS$ z023RHA0j`Sf>MsXuh#RlC=oCQNl@Co0ZfuMC|=_=bM8=2gE1P_XrZ=!mAh;%5XhJ= zNO})S*OT)AcT7NZ#j2>_6C9wArV($50XecegCxWK(nu>rg|FDTY( z1Ntzi9e_%?q-a3sf~e46oCPD{T#U#okToWOw^I1N^-d>@6R7-Ly1@8{aJwLyHlYEn zvQ%^@vXp{*NE%75{41cx*ao1m6?m2=Urz_E2^XZ*NiGwI%bk8F4PRItoNdLlyBc&8ewP?Tr_NR znEU+Tf|BY`g$c*!*hfcn9z1eB+{aoI?0Y->lD+xNG)wgBAj;bfwM0*znG({nOpU7D znwIgv6u0&oTPa1%yT-t;MO^0K0a~?=zri14_?h zbXaC5e~IW9n6%+~BFeyY5!#gu1+`(ngZ(4hLhvfW3YwtePu;PfPQ$!p?ah?2-}fEF zspH?T_54FYO`u{&a1aogp0ynh+*21INwi^4~+ghs<*;M&!vW1TXH{C8CYWZ=n| z8tpbXUl9=P+EHRZ{WEUS!wMS|qyU!L9HjeXXJ~vf|Fy@B{rk2M|6#8)7WV#}6$i}+ z=(~|~Jah#F0GR;ix&|883Q0dY&9N`8-=b~`eGj`WzQ)0tg{<2Hq+W~0kttI*cbBsw zex#e#=3woA-~%S@G#P4*Rfe==#hPKuqVVeZPy`|l!fNVdPx_?h*B-8YzNRm={RpfJ z7ISlv;lk?KSLEK%$MWLHTAuD5I#&N9?6iXVK(LDHNIB_k{AIo{tP>o-T8`?(ZeLlNfgW;tdZm{e_xh)t9`2c*ik|%5>EP`GD{yyIC+?1U`&6of z|7C*I52Il=mpwt1R>}=n?fS?Yj^GrkYC?{eLOXIcXvB3RoATX}phb`QhJR)TU34!} zQ1{ChC^)-m{{QLE`D{JaRy5KThRcb9pOW1@SP?SP5_St(Z$`IntkV1apY|O0A#Al& z;pDqOhS1yw{W4kZc?*g}%p&bMvH6CHz$%lgF4@iS_>f&{6K-kt6P6UryfULBVq z<$RBCW4LUrihO`Wo|tu8FqM>rgHdpT3@b6e3(Uh+X8I-fKc?-e0gL?P1HUOO9Qs&_ zsA~U>cI9FG!ykWC3g0NxWVdjTK9PI)ZBz+NYNSeUef2mhS>Q6+ZA4V)vskh*ezGrt zG))u@L+Vw?zB9|aX657FVXWdBoi7P8?Jzu8F6;i*?}g6|rXDD1T+MFqZ3cc{*17E# z!&uCIxi7s14IBs5v9ihhK$biw*VIA|xUAVvl`9}qQH&9Bc`IU`>)L4)>M`mfe-H5h z3|v!U3Y6j{4PubOUR4%;Cu{0{!J&Y2e4nuf-vjwr(=KCwLVs?rwGgH7oT4sR>X9I( zN+de75Ou6a2!zTv!~U?bfJ{A;CiX$NYIyk_(-lLc=gQ+C{9me*QzU8Cv~)(_S1 zb88M6>))!!E{iFKW@td*d~tj!y3w>k*dmU*pIo;9=QUR0931Bs42<3nKl)v#>lVgNtlW`QX4`2THcpO&&`%_hUXKoW(vk>g*9-it1(O-^zwt|D>&QU#=U~~svULBhtzYu;bQU%LUywVyLwvsW{auN=U^DFwV0D_rpILbWwls4hCTmq$NaJyc~MFpx9 zHRn*Wq7x|QHcZ&54qhY()U-z-3gpgP0o+D2vcW-IDerM6=8y&qP*H_|Bj@}s_pXio zRC)4Uomqi2j4fCJgJyHIQ~Q`8d7kg|A;yB+%p8t4i<(WKe}1N*w>z>@+}wJHJKBX)9hu17&3rXv3fv*DM;(94^)0ajepOJRWyrf_e7)NAeYI9YT&3aA} zE@?}1(8DdsZ`wuXt`+*imU`!Yx)cb6bs*Boyx8-gDr*wlQ7tGug6rY}l>$=K4OK`7 zCFt6DW|k4Y>e@?d3hdhk@VOf|Pk>zp!LMwAsPqFOXo_xUlH zZP`jk_o@M>ck-1G@|E5!;(t!6yJ!NHm0gC^=os*Q;lpcr-IX8J%f$8-{S+Tvo)u2K zvNWqO+O8cx3B|8oXKS+<=sao$ovN4G9s*o`F;LnyqY6<|JqWm8q$XeCdf?Z>aL(;h zwk5P+@;CoDyhlNh{Vx%@I~OX}UX+rvSK6a~PvDDf?a6SjA{he8D5~~^yyw;`x2xnn z?7AlDbLXx+udiA3^ik8-P(^Qvcu8o!v z6Q;{&W9sA0I5LqmE#=n7KH1j+6DfbQyZUs^(OIB%fEJ^=GWrITWjxMM!{negh zv=B(;y)7A>Yt_$Q(4=9?W!%L(ic3pS&xmXMHKTOZjui*C3Zbv=XDq3^4R)sLi-J5c z{#u9NNXkq>zsyK92h?Q(zmhBZOdkRY5A&(C1HeYjfl98mEtu0%fRTg)x@Rg0u@|XN zs>9e7vbs~&Ba$E5%5Hrfs`s|r%bF8esAW-h13g-YD0sBwX?|-mstc7860cr4G4WeA zg>DPMU?V{?g#fj?`%Pm%Z9G`3zBIf{a^y*0I?e14`>aMj1m$loXr*LUWaMIfZ#Q7VPi272 z#t{sVc~K;C#=AxSFGo_pkIU>3v)x!_6S>H+@blHOcdxfB>p3fR8B&do#3WX%g}~s0 z;)S`&p#*hkqk}72*y-%@>}dwpkT}Aod=cI4yq5ZK$>zZkI}YL@j=YuhoR7^AMrXo( zr0j7QIMW4J$1tAzI2PN!aT=pZD;tkjiQr5 zt(4>;4X7u!cIcTU?zJ!lW#s8-^1L(se@e-3ZjCgB2dUOFFswwD(%gKuzZr{hEOxgU zdVz{nI~k-3dJfHJgbQCPUTD2aY}DdRmW9t=??g#SI^H~C`R?F)Xkq0WQ5aL{CY*H^ zF5sxK9bxbYD+dNr-JtKLre3{cKc}>mS}qNvT*nr&y0vZXNQ(^aP{i782Or>x{5-R6 zbwm>O)H6Q@|5k(Uw0y8#x7^aN!4x-;)0=+@7vaeZK>u89|LLrrZ>wNIrU(UCnui%2 z!=iwNV7);#|EDqPU7e!T>~~4BL-s72FeyEEI7IM8*vWslZ`uJrXo-Wzw*`bt$|fWP z?**@sX(Co#ndug4g1c7_1t}zeuz($QdMK3lwaoIMKn7KAxwHfHa3d^zG3qjM1}*Y8 zk)ezH?zF;=HhmW#Z^dnJ;Q}n92}k)g+<<^Go&iNU@Vq3)eAoGV(=cbjp5!nq9!(m~ zx5)i0Nu4SGyk~%N4Kg>v#a+K84u(3t#Yz_zCi8<9`n1FOIJ#WF7&KcovUO}UZs3Gh zW>pc+8tB8+>m0clgVl!B3y_AIdxo|w6u~UY*{VP_=c0b1*-y_8orB(yL=}b7~2hsy*HGDt_1y*%Gc_!w6pE$Kfd%l@A!iv2VqRW1s`~=M% z1I=5`Sg`@SyYfc#v!^%G<>yV1fx;X$FoT$}>)I&s+Gbe}p7}hSpr&IN_r z1PP!jj zNWnp!dEkec%aYViI>tN`7O<4eEzj!h>}k}wPAaTuOT&lA>j66VaS&Yp5=V6t5C;!( zhhzj#Ds@4}A_W(E?1c|aVv|=~em(*$baUmS=2QMs5ZSDd@BmY6?z}5odtyZNRH*q! z5UuRig3|=F+3(#9FPfHRD z&tvqW9z33#scjD9QF2R*u=p79eL`(hbAcYe<4xqTqXGB3Izj(KAfi!!tG;SJ`>X=H zW=Rn%zJ8}Ef4%bo?0`X2Wd(*2YnGF#kF+hg+GLklQzNoQl&lwUf4$wtMF7MS2S#%s z+|w7Rsi~38wgc5c5#tZ>PIG-) zA-8(xor!W?rIv-un|2)ZrP;GS3XOB3_^kVWjxSi#4<=Dv1e_srmiz;00jqG#xiFxF z{3TI2%(ylPpp`hbC!oiXi;#5592jF)pqOi|q|+BZr?RmD0V4@7X`>n@5<8m3rRr?_G5wGNh(T68p>iltzz)vOHib1fRk5zzyvHF zj^NX1gMoGkuk_Lxz2%(yqq9e_TZ7W#b@+z=Q6bor53MX8?S~gh{UCrqa_%(y@=MmI z$Hftvt_)MdF&s&ejs_ImpuN2MYw&7O7c^J!NdBLVCidL`Nb<*bEwLe>=)?e8e&6q6 zXAs>Gk=?;d|MGB?3K>TiWXYo>G(pfSzrcdKjFhQ*=LLhR&qhuSTRraDj?>p2so!1! z$TWyfkzl>G0&LL&6L1}NK$80k-&2}HR&*#s!uv@0c_Xjz5<^%AMvM3$hB(gec9o?&i1#h;u>% z7=HR5o*FZo2L<2HZ*bOy%Ime^x%bgrBbYF4hUO>;XZwdEJ?pUuRKWw@S&=uk>@WjU z7(yV8<{ecIeZJ+OziBdLEnfWcDW!I*UCX8;k)>8uNPobdt7Bxl&=Bq7tMP#B&fL_?K>>6e)y)cOv%~So@iFXNLQ@Un_15TDFJfOkQ!;+gV4kupt7_ho}DZK9}YsPX;^73)%bgj*!>sw9TN!Il{95}B9zeXAi zZ?{wK>EC8v7r+Fu{=8~a%U-fg2cP$A!4eW?--$6%Ysv0VEtz64JXdZ_e7Z0G+EJC& z?EM=e2w=>5Uyeh^^xGInNVCG^!WiXZ&cc3j`FW*&0h+$_E)ZW+Ta%}8vg2WmLK-WA z>EOSaSTcM18(OyCeg8baXsMS=UfAPnJ*z2cFMNs#|0C!IJE=SLgML(eu>QHJu~wRhvdrJ;{w&FT@P_jm=wcZ2;I_}`}16^r@O>MAVSGcH7-YhGXN}mO zQojUk)-|rU`1ub1Lzqib$K+_~E{A=e5ZtV?L6#hM?XBD)MJkY^(Xh8A-FO)Xg?|nV za_r#$HKZPayb~HOvd~z|Mo$VRnc96}lF?z}{_pemzXy{()Rm~$J|n{M*|8Q_fWy(L zD)A<1a7`xNVC$T6^8xIpCj@tj4~_^v$}3r;0Xc~Kd&{eK{C6Or9i6U-H_OnHD8qwu z>ZtBDh2Q_rwthKrrE`Ql3c5|FFxP`r1z4{W4nATayw z^Mv!-!182++kyKX@jzV?DH8Hj3){e|PaIQk)59H>3Mc86VKJJl&MzRg@looS-4tVGCm zECGg=s=)k`v&377k+hk-xwHS|t(4`)g1ROAQbEGW@seqf!kLgDIwsqlSW87^;bNUXbA`-UcR3Z7BczOWf{>A9~(cC;+Vd@ zt&VJ6yHj8H93paBG{KMRnRv*KM?t|xP7zy>gJt)LA?@Ggz2Np=#J@YB)j?EVl zcv1DxpCk4FdE%O6lHDgXb$|Y>O1v9`Md>XV zCYxb;=vmL?0`y=OShC=nqH+QFmLs%G8+)%)*~3odPutVQmMqn6&H?jZZA#>5K{~X2 zw8V>{aqbHG$T0DT$QA-qKtBPj^Po&yAU8AKDkdo4FDcRX1FZ7mQBLN;??5XBt@d&Z z;6)q=yUzq4+j3;<<_fU?1Hh*iFjbvUKY5J;6;l{%KSZ#W%{-m^Sp~*BY3Peu^~YXO zZi>!xfc-$WeZ5rH4(7;II67Hj;f`3b^g;=UkPmfD%p7@*h;%K(JmY4{9@jsT?ZP>Y1J-=*oq8Lg{Vi8?efR zhRRx!Bh|1V9cz7A1|()eOZT8kB{SWUo!I*Nc5oJ9?C}il@yy^4OAny(F?w(8vKn46T{X-gXcP+3Ma3%#67=T|U)oB|AEqbEoL?Wf>FO zN%o9l9Ir_*Qb;(ffH zgm0?C4X;H0Dufscsg;QlJXgVX_d^7uUW93*6qPc~WaBf}AqZI5H?tQNU@cm@cY7a) z@+JV^A*0T&qeut5rWnk0P5S;ZDsA1u)#!o(>o^=3pta!Cv;_>zkIf{tHU7H)`)I)< zv~ItmV&8XcNR^JAu67usXU5Y`5=NA z2NN>~aT%O&IcS6wpGm6}*u`FnK=;bTp8}*qPpFhuNY|y)<)h#+M`Xjqh*qB!P#R-* zq^3hWUdN%?-D&#s>zh~ErgB7_lvM*;@(cMO^J5OfVa+PrA?6Ff z;v!DfH{?bp? z6?vLgu&h&05_mG&JtN}rPR;CJof(ZEm1qsNb=}!v<@Bh?n#1Db{-I;g*x10+Cuo5h z_$?S;k0ebv>^9JZsj+ucVnG7M0_6AX24Xdd8SY-vAW3<0kU2EslL8c;OTSUW9B_QY z`*l~gNOaMfde4(a&vW`ZpRuLq#Y%gdHeA_o3_o4HY2@St&g_*+_53n4DX6f%+eK%Z zAtrv>+BQ6f!@;T3`u*R&?1Ky!{&f{Q#QZ8rm{?`2og+=-tiL|OLF4iBiSf*|?UyDK zwnMj5@S}*f?GaAJsKr?aFmcQKr^fy5HWrBir?H!e4;w>2Yt6gqsacNWDxE8)e2-w` zpYf#^)&jq~BDB4#$b?gH5aR0F!aF$%blzRQE!H0(`^7!lx-+DE74#FSP`CVcSK-kF zJkK9h!)(4hO)B%l&lp^H4coki!sJuQx#+1MLt0kDFR2_v>m;6+34oHZsFnX>3hYue*5lDg7)*L2|5 z3{B8nSMHa)G52l^)*vZDQ9_w& zc%!eP-RUMuJ-ZOL01mZh+&vH@@a&y~L1k?)`z#TpQ^hj14qzqCg}TDwyCd(pB_nn1 zgKQNBtvyt&sMSdelUGmK@jtZBS%85xOuTpf7eCA_{&KT{4xXJDA+L6zOPw8Vn|vOEr5&XC+lPRWwr^bY+#H4FDO5ePvG1NZ0-7jz`-A zA7g)k3wp($O_W~n`0jPKLI5g8S~DW}Qi4qC$c)GgPb3fGu2#*yqu{J4Dt7_Z8pd&T zUGAYzs~=d+@K1K&nvyB#PnhxL)D2*&6%H9AiX4;A*g|2`=JMJ96qT zNB@k{MfpuY!f97~d_h3>QB(49cyTD(l+Fsu=A*HIpy|sbSi%LL#MiD7-+ED@%=+os zJ}7}d^GFD5OpgjC;N0aeJ8TyphY0{uswaR8SquYD#4FNZLIXeVQ~w}YG^t2K_vhN` z^qM#}jH4E~2%cHz4c<3>^Wq3CHp_am6XD2V!h3T>Q9sq_(E-0)R&pyl5D_8#_Z+@#0>(z1DX|OFbyf0{4CTo z5#U_LXoo(adml``Yu~by4k892siP0Eaced|J~1(;>DUf0#$_HT0T=ySnSbirZiBr_ zEiAAQnpYldp6E&_s+sbr9CicM7Z+y7E=DLpw)q6keV0gRGLOZpYHcH#~0pG^&IvxW@xFkQs6x036ZfP_(?0R+}ODbev~Uu-R5&y zvY7nC)tXwiZkdN`#tw;8!to2Zg<}w$_NxK9 z0$|2gR~u+9$w8zygaP4*%C0h@7|c=xDDjF&k@Jlm`+s@d0x#*SZ!56lG8|V~wuyo9 zZTDMfwWzF2m1{%8uB$yi18zDNxsI~Hn+4|03Zht@8ea}<>3T;WLecZ3GCTp}zs{~t zF@h?r&`W_j3f9P2I7GEUU3)#HT&6srw1KkJACavIPo30P3UCk3nFNCaK^Yo_Tm{$a z)4&k0|1u0SC>p^QEG`v|AVk_u`sYbUit%mfn$7jB&#rQ%U=$?$s9E2V1tX~q${x&p z44GMokm8NPfEqQ3L)QEMirpVN!LtE0NO}imlU8#`HKUv|TjQVcKDb%$^(ZwwQ{S}+ zrUQkG-gMt#QBl^;z$;~|sfc`qtqA<7WQ83#`0mjX}}OW8MN+*a;lQ#6_c#fM8s z*l(7rG%Ayk4Z3^5SGI4q%RHoh%XBsPM~4DV%XLcgQ97#*j zA^}5yHcp>X8A@;l5vPCM`BQuz;Q%{y+_HLI|_}Xz~@Bzh$zsMLjzL`k6)Vq>_ zTj2#DtxSl{VBB1{tM?O#0B#2GOG?QXU6@KFZEZ(<*HCFAI`C(3$cCI`8W=&K|2&p`52=M~{7z^) zgSB$K!_l)|i*)GSyB{$V1lzjDK&-Sv4AsgD)N^2wfu?5V+KPfB$qW#uXB@D=srHvO zpC|_(%wNNv&MQCSyZe!D5?*E8U^Hx7Mkh`UMqrEc8a#%yL5VxBWkWJ5q3fWet+!wQP32?f0>@npj-?ElCs!)zCRjt#@vW355_Pk=mt z;J}gC+f3v$=bS7~%bhNVjI~G!001+J(m8=85I_Jch!xuI;gnnz0`K~L+knm z-44z7E+0z|vm$<=M!Iww)IpT?sm?UGS)N*uiwk5+=PI_1d6d^m~8|yu1>bm4G)BwgrlnM>h9bWCK*Oa#9qwl8G4*^Bsq=DHJ4& z3T#hDf+rL{kU~mj7k7E#a;sQ;1=M`Vb_+imcJQ8wlv&#g%Cx!_ko3yH#HK*A-eL)A z6&MG^^7{U-pIR}fEJ|i*Mm`P|3_y43#3BLuvd{AO(+|klulq2@>p4nyxw#oH+2EfZ znlB^FRT@+^OlyBWT*;YH`tO{KGd;&r+u8qdHGrlPCD1Y1bM9hU2}aO%ue>#Y9~#dL zf&tS@MYpfRu;4Qeu={Rl^PtzfE}u?1FT4%F-NVCUaVK%5z2D1{B` zW!F`9zzp_c-F&DDjQkk!`2&0g<&WVDr<>JK9E!Z?i6%d(5{=EH0{&M&JQs8UXARsm%+gYQil~jy<77s8C=pcI5?u)CAC7T_UpZ z;~3WtX~5rSkn5R^;Uq}GiDT7$FE{woC#Ry%+fI2T1r0$yw(1DTHvsi zs3rc!!w{Gq6>P$ZP!FO=-kh$*$G^Li_n@Znyg6+E2;Kk+d+ge&v zm73Y*4KoU&hel`h__DP5VLn>Q$;SFj0jBvz?q;yU-iC=R1%UnlYwO}LhpQjC*nfYp z+O8KguzF(qt<_oqOaYoN7-cgfBClmTNux_id-{acbGV5Rwh_wvKp&a!xLzYRqbX8A9{p4ysi6g;#vRdU9`h}cKV z@;b8Aq~mPybl7bvWMkLbY!D#R=i}WQatFfmPW*uSf4FGHMUK!HN-lO zHtTT|Sc8XTulc89xW^uW>M+k`!Ql_U_%}*}@XQU0j1IKxrAy6sSWLNqu^ODk#NN*f zGlTJLk0b7%)OCJs^PWd3$4-G1af!d!k4it~;2-icni7ddun+k|xJB<)I+qWUuPA%J z@NDj!8}+JJ9o6BBlL3;pHi4D(l+4T$@up&-bZiSBcGwh5m}URnUS|n>Y>QfkM4Z9joMaiCF!?5U#`^d9S2h z7w<9lx|XyS;L%*myPk*tx)3h`SaS#|1*U00@pJiyx}>>>ei8>2{fQp*)PB-BMCh{X+lF9MYOda?;W4H z299R-G+=?e?wp-*a4r3ds;xWu3jnu(U4WrUfvWY?7=_DBlf|aIYUdoZ z3^Y~sh7bSe(F5kmy}G5lp=A}UhvEDRj&n-J?dkWN;w3*f&5z51?xgCOtka~LX)~eu!hz&8L|;#6IQWc%+DHXH%yI35x_*}XklGdw_oHd+gBo z`AD&(!#8~1m1XFZcEfSrWjxH00oF*9PGy)@@coADA9EV?OS!~`>j&pd})RzUora9WsX?ay&HS0m7G0`EcTOt=6u~L<&I30 zP!^Qf1Fz@?=v{p6Bv*P}#p;dF6tqO9tpVabUyr_gAcdk$J)xQ1<9 zaG2%LYRe^)w;R>*JuoRz0_x+KOv3ed*7wQ+uP7-gp&7Qe*+SqOAC_U)pBV6tPf#s$ zRI(bMYXR_y7*j1p!1h03KA1KB+0Ch1A1P?v3W;8q$Ua6>BQqa?D}2zrWjP1Ek7iRm zXqDT(zkEezWEM%Lxk(Xu>kD@+6W84b&o*%&4#!Uo)?TMppM)YrsbY37785NgMcD1F zsa`_?{l>p12QM1F+claJpFoWX-myOzN)KAO&!=X`9?yQ?U^75N1ys=PN2~K^2_e+C$%UPQYUJZYFom*+GB6iOcZ!bAAX@%I>Ac zPzp2KPU%G4T_4wUyy?X`pcV+$3PLOn$6m-S!;f@`H({3Vc}Nwbrzzwxys94K2H*)z zZ|J1}Rcv#DFoM|OZ=SpL?s=(hJy{*@nDmqxHAWl4q}*0z1d4~g2yojkO)^hbxWVyB zadt_I$$LikzsELN-DyjUG?xXo)O--brF6mgkssx+ZzuX*1ffjuchsCG+f6RlvxQOn zM#O18Gj<1&UqK2X_x+Rif+P;yz1<7?YWI+~kt|jWMJ^H&65xBbg!!Cc6RKrE5buIM zcDa|zOCk!Cbb{FfsZWinr8yb*{P&xr9cX8SMztdQx1rHT_0maH3c(`FiV*0fJcBt_ zXr9(=Q|Mg2OlB_Bz`)D{DeB+RxP;G(!UAlN5(+lidmqNnwPBP3O@ibSMxuk3<~##2 zbNS-Y-~M_+XwI8dBg5)uY|cl2>a0yK0CfPqvbq9HG47W~3Q1E+L3a9f-5+*x^mjKD zjGB4S)k68@-)Ytmr?`*F?}4H1fo7S(R@tL#s|t=Vf)l7@7`+!YK5Q#rglrS0D?*EH z*xcS{hl!xvFSZh37w!`C{kfGV*F56yDo_Iu$EHQDxq(AARQHJ779S8R<(abjp3nw} zx+klYJPLTk&dM{PiD7xGOXF!^v<5dT0xsM8a^{eCq-*BDg;8sa%shu=IbT6x8)_u0 z?0HQfo{s~=o2FbiFGZ~&^dP}lR;o-Yg`Te#;E-Fh46bIB5*mu3E!hy&^nt%W9Si+c zUmCt`ajcJSeV z@KCm(pMJgwhK%>ApScGfslU>>V5!2A2Mgf<_DzYkio<~f+@Po$c)!5PrT?twG)cX1 z97a7q3_`jOGf<)<-A5Y?nGN^?bO75gBhWi;0pHVczmC`|PkzoKGOERj>~}Y4<%s^( zx#Yk+>7CP8^Pqi|k@a>rzyYajpj+Jb>(GnNw}T6&ouI#Nv+Spj{j}&7;V*ppgncBh zv2t#zxh}QfacpG5y1(Z48DVuv616aw=r!oWknri-60GtrHBHblo6U%Trm+pc;~J5b z1Y3|Z0+Q%^L+WimK}o28M76^&%2FWk47lic8fEqotfQh@BRd($L~HyrfWnbe#j^N; zM?u#onS1G2`L8D%ZN|3S^@7z6`Iq9yvMaM&P7dBkBjOwW*GLW(%YB|#6$;WPdaR9a zjOJfBU86c$q!1Qc%o?2%2YRJG-svCle7|C!O2VG8f11&FYv_iYx{pTf zUEPibd~2HMv!*%gmns1Gs9dz1yG=x12$UJ?lY_Y(B}jz>Y1yl~TX*i~ELeeFn=+b+ z+_cIF+9b9c1~z;e>9C;R2q2I?%sQEVyVma&`3LMR5&Td>l>SzRON&*nq5k%?<1Ppr z6F(ZDiCxk~P}0UO9VmMHzA5x_67aO1jRwL%@V&ARmY$3?31f6D6!bd0BjVGm!r^j1@StPnvI_;(P_aD>xZf%8Y z^g)xG3pWzBykZa?7}FEV6k59hiZ0_>^v{D|!a@BPSi3$$XW7Yf@ZE*m1cP<IB*9fhA2{*TrFEWr1-JqM>7V0leW8 za1APF7~sTQ!om2KZvyqy>g7!?uS@Y%8t@7@|9F)*Q$u@nde&`?=w=`^2;K$tMATtK zWcIUX{TtgjGb@+}o)SAl)>+Qyg_DGi>KsVg*1m|h=v(%rQo9>rraBT~@pkebsxe}3 z@?vkvQU4D-1KiXM9JCuhvLS=Vfnn`-4PsXEz;3hL-VWkq+3G+0g+#3Zz=8GuG1#f1 z^)G_??r%_a#RC~Y8or7vpcX>3&5Htxtkrpnb~mOSSSo)QlbyD`ChhR)X%)L+ z@%{zxADl`0H}%=OSVbiNf4jhc(YaW*x9J~B{U{t-quM*^!`4(g)KnaV5&2#`j_WHY z$+RSs{z=UFsI0WMy8qX}+M^ntf${VcDtzd53HIb!WRPC(8a7n}u-OhagmRRV5l>*_ zpY|yogV7*!$Hwp9pfZ=?vNO{{a~$RMgu!>`2vxE+m`A9*J{0iVhlk@C1zrWdbb`v@ z43@P_48~UgeMC8JyQ9Qa)?{@k1_OBB|KKzgLzR(*Yvz#4vcE;Yd}bZ{w$+;@@3Z14 z1p-0=1rDCEGoE>~AC(9uFO8Uq6(vJ~0i`mV;qhM=LT?Hfvjv2qcWr>XnRDlZIG$a9 zU@;^*#u2)bsG-pYj#4U`3@7&3AQ|(o=E6=3dp&W`i&KOa-aZuyxF32ROcaWb0nKB- z^)+FZPu5ZvMZ-tXgg{7SRJ@w1n=Fy~2Z`U2!ZEl8_#*t5^_eUOP^BYLX78iYL5ZWF zPwFye4ZSA=k)>74+Q83oyk2RV;Fc4vuM;yhLo18HGJH2RKi6C(YZV-?VWTF-1h_WOZV&WwJBnFu$x)@Ijo@gsvP|HH-(MzJl&*JpnRc3-$7 z@F`IZGhezd)j}U4jk3#6VR%fg!jm1*@3^4xnfQ!lT}S-;766Y;cIHlXHOB^iP#1yH z$huH9$%VA=3h>qPfr;afr$>Ft$?CRdCJ=JPFe+eM0j+IwPZ0~zev*B%qGFENk777^ z#~6FP;JGFIE2lzm-I0-G%c zOgpzkQ|I}80^D4ers*VPDzv{|=|(W|V?5FYxRw6EQzr@Pdqnu9fFpEdvYDNxQ$ixnfO*zelmTzd@Q?)SO4|;D+t%uT2C~ zDxdj49Sz>V4^T%7s7C3}oe1cPP_TlJgEeoV?-H(bX*l#uYF?}Ia6}Gi;nvdo|MMno zAh6GY4h>~3nqB>4nI&<|t@>`*`}Tx}f>6z*xz)U$$f%9X{NL&ra6iTVzs}w~9_qI3 z1J>$NNt+afl0>1bA(SM$vddPoX3Ne9Z4`yFW>5BY?6PM|_9YC1k)2^omYKmA-eYv# z&wXF_^Spn&Z-4oGVwUrFp2vAC--Y;;KkF{*M{Pr4tjm;Xcve=3r#@gVZ4)@D>-6v% z$BTWRiSWk!dudru5sJXcmRV5l$;bn2pAtN=%myk4)73t!AaG=7VLbx5U(06!K%XkA z^mV@gI(DQ4Bd+*>vgzbp;o&sbCJ24Ekladj^ut#@RXJB$r=0=q4DiPPr~v*C(bq-e zmR+*ng920ks@{0gT!J7ZYp6m2V&-YE^R5TPcLXnmLEwR&^~QCBJqLw_yPj3}_{^7?3rGOybh7Kpb zwC(^*s_(Q9R$+ftk@)(<_Xz%7mi}ushfh&gbNc!&mvMh+iYtUdGyP|p68Nl>7dRwW zKR~+~^xgjybu{VJ7K7<`e9c||bfC^uja22jj%cABThq}z@lR&Gz{Zq1ss!eFS3?ze zFCBOLw?1fkdU}Z(?V$OxDTtD!%p+lBv!i<|ry(}G z91Kg&kfb|fs5t+v$NK1;Hq&arNw-m6P-^LIebRHm z3Whi{36Y1zl3`9a+Og94H%sK-i9J>SQ_I*8;N)Lg-yZFDjr2lbf4!iUBY#C{>3K+b zQD2EsJurnU;mTlj{b8!O92LSp_~*fbK?Yi1xPx+d<(f*n|4(Zz`R`lRuIaC=BPRKuCSLDb4nBS_ zE%q49L_Pt%D7Nx}z2w|ErRA4uuosToUChQ zkotfi1x4p^N#Kgo?~{Mk_T)DyD)FDqIj{RX>!3E{{|Ju$jrN6A{QTiM%l6ttj|)n{ z*jsO-8uq=%N;1Hc1F{OL3R+Ay*r_Y|@EUBrA9q!+bE@H4q>ZQnBpUnq6@XiH7*>UD zISKb|m%8!))(%`}Yw}4WSB2&BaNnN`Xt6cD`udT{4@1kMx75j@p{(V z#FZP?Bs;(T)K&sb&oRlo4@XpXzj2gpQu0rCnQwDlxav6_^>WO+Jvxe>*%Sup<`dte z;vD4Gx^6ai@uf8bIeZC505%PO9bp40JNx%fnd&aIgjF2*65D-YUL*C>$g{%10LFbt zd}#u(^vx|2Y_-cAc}jOS(+9JX1+$>nth#TN#8kDeY85$GGIDw6+e8f}1xE+6*%Rv- z#%eU`o=hnU1{tdZZQ)r1-4T#@ZGco{@GM8$3*WEKw6CDB7kG>}y_Y*v(vu7lM-N?p zz1X@fnH^U71T(y_HbF7V)Lfb=1-?R?fVa1wH`tHsJNXz6rxi%xzjg#?g%zv<2?g|kRe%2oxkPb z+`8y&;ua?MXO&F;UbKqGug|@Hs}%0DzC5K}AsB0KN0 zUYq~flzl(xB}(`WqmzEh+5hztdryAg8TFbWRWeIslsP zHzMd4dT@)ekKhI#iI}{W*8H83wmGTQ6y&`ekobc73p6KgF-?7Ayz@4%$N64g3ibb`o%0|(-%UV1Iz@@%krOQ< z?75KtaiPBm^^lM0-c-2ck&^g=`30OmbCkhjVu!?7YdR?$p|6!? z4&FtzBm2T<$2W(+{uFsq)oCp$Rks8i+nt3^?HPvFC7H2NvT{&3pV%~IS zf(!Yzf_>+EamrDbFBdw?B5gnT-ZmCI2_J0mH$Q&yQ+op2mIN-wBK{f~XWx$PyXM~4f{S_O!z`|nH_tDjer%t03mvWWF85K!&roy1U`CRS_W4-Rvb;S3k@ z6!Tk~fTIujf$s9J__DLC4jIc(!;ng#4`yMbBO8oRwrtruJ>WPb%?eFdWvky9*DW4d6rW)qZq{jXEo!Vdoa$ z=cGOHW;&NyxP^@`eNsy`XuBLfuzhBvks{&bPO$tyfHa=ZMbZYKbJH%jV#R)DD=`(a z*b5C+kFc?(d*psX9cT>8zqUK<{6EgG-;wiU>_0wL9LzPc?XM^utn=OK3}lW9WW{y* zq*NRfKr$Ba$~_kVL_t2V;UMCD7@^uMIN$~gn<9WEMtj!zgO=v`^hykD`Sb_HZFXgi zY~tx-FJJ9nm&^h2`OVTcYhRnUM?W9>$HGB=V9+5pROwMjGT<9QWDPPIzaBNryK}J6 z>gT4!q1}V595+wH81~;s1WZlaMBH)*T~JXJQq4Z3)u&(ETWMS28N&iQo9F|(R4s>~ zl~h)>S9{Qn9yKFwE5>2NtD-2IhPRsb=XQQa{s`Tb3qnT?0G9U?uev`vw(9rU-P_Ad zg&aXwtw%97%cef@S+^Moq1wZSM+Q%F++;rYpC94TU+2cvr|gp@2r2WE3yu_mxkck;WqPKi^awJWqyc0LMSB2QfYk3zFg<{Supe7>OZ5(?NHqsbwYZ z&`CZ6OVAilu8}yM-qa^adR^0>@{W2r)vT*zmK@N#nDcnA{PBOk)|7-CQRFUM>uY@fl-rM2^w|G>xXGqrwCWA*m>uK$Rapp_duU8265=M~WSUO3%OsW`ynp;cAB?b+^;a%R4CG^A2y8VGT<|2Tu6_8g=e4Jy=}DJdV@UwDvT z$a5~`x7lHdwrn${!VHb5p#y_V95?;`BV=Q!Cc6bmlRu~1y#;vW<@Z%(ZxDr9gnne- zWhfl77lj?huE%)8;wk&i@q9iD$8%k1?^B{pp~FNQAQU&<+(yiZZ=^o~SL^qKWV(Sl z4=ThD5I3O6{*^~N+cHkVjTryVjO<$IvstfZz-w@7t3ok+vx0tl%9jiI9D>mf_wGM} zk-x+-^*i;O$Kqls^T_rf@fOfBFT9Lg4b>5T@(J{{VG(SLJxjN<6JPssxzY;o%F($0 z$2y1tSm9iv!Y|MiN}3I=-4|L&nzwMpW|-R!MYl&iE^$g5d_fx>c=~Y(qIl3MjZwLc z57FP*X6vgQe3S+@C>VbJoeLd0*MR9h^6l{1HtOX>9DIoiZ$SLMRT!!&ko8+BKCEnK z08ew14#GgQ8Or6eb9sX?+vwha&$(09xwxBvhrEZEqXUkNqd#b499$ zj(Qc{O*DsUPg+i@3V*`2I)~d1>E4@LB=ZCxJK{>`R-rc^p5W)CF#RR)^4SW3>(s^1 zgq`C#yww>SHDy`t+M2I~vzj0LW$gqxxPHXL^haaO0|cjJg`xX=X4rlAthx=Qz+3A> zi5vM6?%fOJvagpI*j5G2jMF@0O4Q@nCL6oU}k01b;{dc^e^s|m&WczCRDk_RC~s~*QVd1&TD zJC&l(ilfR5wVOTrJ2QoI^d&@}es)6EEDjTK9iS=f6emIUNwT1vQTWoDq9{e+}tnjIFu?TOPb?I^3PT;;o45INt=-KmvP(B!FFDxQRTIl;Jb z#&)p4$k-u5Nz*EV4#wZ1VXajj{wKr?Ld^<)O)k^QCty z+?tGu(blmQa~Eg4$@(>3@3htQOPuX+=*e)-)2*C5r|}h@Bs)=CnrlwPguk0(QioDb$89m7HULu=c z@~-30X0<(l5bw>gO{%$TWY-eb<6}&RAxBx%`LNwMEY?u=J#fN!ZErAw5If&pU-med zcgQh};MggRN6ql+#|{-WBU!faD|PW2>o1g<_PCAWhP8Conf7+`J8et`8>_pl>-X1qb56XP!YoMRf<5sr ziyQNCK#-kzf(kOgVEf`ErccdyudvK?T(2)Hcj1WCVbZX#92=%(yI$&?;WW{NHxw)C ztfusr`E30h?Rdu@e&b8>^2zy`4F)+&xud>$I4KjP)cLN+0I11%>7g!XnN9Y1Bbj zI9=5y{yks<^yt^}v`(`9j`v3M*S}#CCr!t6Q0CNXMW%cuMW0NT_W7UDk$lqoH1{^` zOu5TtwE5h6HF>iD`;LqAMrgNoq*jbk2w|>L(p-5B@$${MW$&dLO4SVO3}5BdWvNP> z$c)t1K-pAl9C_((jTbtG^2Jq8VWRO}T#RU^u}|{U>N#T<0=&7P zpoDWiKNBa*YFHr-#H;R!3q@BviEB*)=xeGMY9khiwso(6%zG|1hSb=LT*z}=Rm=2z zky7!774btZnAO%Am0Jwhp#flT=fD`&VcQOXlG>$U1_&W!C)oWVd=uT^wZtdvLd z3Rlx0?;_v4XFn@Bb<`GPu!sOZbWD|6AhY@1Gh=SteUB-KLTDP559?V(6mW`1I z+baoQT49*4_wFRK+d`+sHqs{w-p^UAJtNI=a{Bv-B*tK!Fi&Qv!Z)!o8On*iu<2>= zF_sic+bXgBI9mEdtMIIZNu+46H+kLcZBcbgI7Q$>0UxenKmF#LlBIfvcYIDg3R~oi zSVScuVz58w8GxQ-7bjy2dK3Y7=TmhGWFumI^mY1*aat9S}pQo=u zRnHC<{yN34`>RPY`LW~Xl6MqgZBe2S{4&djKi=IS+`5+iCdg16$7Bml;Mb9l(M4Zc zwX&x1!Q(wAUI$RLvd)(}6g+xWWB;YkD(80Veq0PT0`1x-*y#HES@#`t+Ov}=wX;K9 z39Cb$@(ylmV_ObdQ73r=p1pr}n;<7zsg-?2f4a#kS={M&?Y{gXbCtQieYicvh96t9 z#M5!=`YCTZ#6Ftn;-+@dt`W2t`Y7_aO!S77*8y~&j?uNDuh*7J(tbPimz3Jhm!|Q& z!syqF3JE1W9m*N#%MU0WEed2Z_?5uoqS}2eN+<(*32ZnNZE;1Wj#7lI6y8cw+!ZZy zw#j4Vd@1D#Z7Abtz@E4nRBoV;A+Q9^`KwN>8)RSa5z}^os*D5G7t&RdQ7!v~s|e?B zpeCEiZzRsnzbvk0Tx2Baym>xuUJE%?v@~?J&)4@LM?!EhU*Bn7)1<$ zqg(wxv(dn#d{;8V9FpSn(-R+6MJXBdB5}I%rnzgg9G%ZS+HJtOz&+!^YNJyX~b*DggVnjM{HMCqKy>`@9E#Pu|G zvd#lSq}~Tj7WSGD9GMoE&{H?u)- zTI|=S*tf3Ytdh@h*`n8)v_@}Ye0)~zO$g=HIA-x)d_JgBt;Q?Sv!s%|yG0i^_UlOY z3SAND@xHGn;FXkX-^k|KR%YIQ9*HzpsZr?_eOLS>yhDV?yO+E)>_qVbDUpw*_p5&O zPUIJ1L=A(~^r|9>i3pU{zfn&DN^j{ZOK0J zIYZXI%rZy+bFUTplkPHz-qUfY87Q;}28rn?mW-`Ty$|0)Dl2c4I!wsn#X{t{sy^RW zXELBadY|cGoHGY+8p8lq1^_}GfhiKd^`msGZ2h8%?ZjEPHTsJ33~P6pWEZS#Hs1ucBiHMMEgN<( zaW1W+J$gzM+l|pdO0RuR$h#*av+_yS)7bEk4=HXN)7@gQ_PRin>1N{8y~tUGP?N~p zi78%bW3t^LhcX4xtX{er1?PJ182>&ecU!NR&!sFV?0uJ`;)!(qq7pU3DF*RN2*Z0` z+C8dlC%@pNaWmUnsIs}A6uWQ1(ySG2{FT3aX!^)^qwD3Qt>uIL1iaQ$qvYKJ7@Ty%$><^|g z&qCv4hI|hU?}?p=^r2)WSiaRh>~)XcFN1RfQ=3fDY$&v~U-s#rSnCt9^Qsyiq@#D)3r$Lq`f{zG9ZiB+3sl@%j}f2rsDAKQCIe#1$QT@`RSqRdzwW z=lTPQI7|JwS;y`m{}KfSM|y{D4>9d$Pex~}Fo??=)!p-om6gi@(wY+J%6Cs_T@)A% zg2J@VSf~4&TtHttT$TIQg_5|8HAoUMUOK@`mqUsE;mwD0a>$bk*SS3wzWV+oS0?h{ z$+h~@6Fz8C_w;B_aTvBZ#J77~FkO&20!%dXNn?8$*2woze%;lty9wdd@4J|;0MAX5 zE|6_L$)l{sJUw_YzLEUi~mQghwq)>4*u&ir>v6ip^s?Z#L_Oz#$t zc2eVpCw?83T`m{gzjYE*Eju(Caz(#KMAb$0cA-m7cBgoEuBY>R!k}hCW0>i?68qlx zIj8X42_aMCrW-xg7&qgZvm5nnn|s}}iSoGQTpi(92{due#p_&R$?Yc22NmcPrDmy$ zG-kT&3+OVZv@G5HFEN?O^S2E^uVV3#7cPpEF57*=Qi=TPp;bbq()=qA0hC_9f?r6O z*wHzoph;dPDYo0Q7o@<7Yx_Hf=sw#&IteEG1VTPQ_nq z_7lsKf7qCZAUv_3sYW92$r$)h2u7XRb>5(?fxo#oIQ+5>!l&j@{eI-`xkOfjFEhW2 zyHHL}PR9|FKhpiGPgdsM{en~)LlKM;hteIb*k;AhCFJ9MQ)QW2E0r_Np-vojKn+9Q39OH4n3oC2t2n& z0Bf2&`C`vfm#5p@c#Yeb*YPuHU&!D2HD(KLMO{?G94A)uC?!v%O=9@td5*9hR2fHO{)f4>r{f$_8qT-ag|C8m?xnGWshpts&^HUE9RRHj(o^ z1esOqp)W(HaENo3fdE!Y2ugFu>36xxlHW&Ll21|$76N+vLY}$uXHA@#bD5I+)F7$QpRM;8 zKvD^C9g|&?&8;Yn^rFKL!9=G7v}xIG)&WG>PPI2VKkot9sq9qqH9-~S!7g->)nh0} z3h~0PhWMjJ?H46a@*6FvSe~>5k0?+%`9W1v9XcxD31~rFHVCkY01ja2xWK%@Oh;Uf zVmJ>G2+qE?_0TY~gWo9F7cER=V!W(fv^Y{Rl&TW5pw#|$>mAI~JVU{Ts0I_kZ=8D} ztyCG_6Zhfv;e1dU@(8{u&?4kye%5ojdAh{pj*GkhII0*kt3!!G-H^HeT!y;w zopeVo^P8!^pY>9`u_QYLAl6=Y(31>YZ(4l5$93?>$G&V&(yElIf6-Ahm)Po!%us-0 ztLRr==dbCw6x6C8m8yn}FlIO`eyMZuYf=cRIz{7#N_=cgO&~4nCu<;8HKL1$D$3JV znq=C4FQ`aGhZ38()uZGBH_*T!v)U4y>5#ZQIB21BMbw2q%C>N`%DvJW=HJ9U(vn=$y-{QfhN<#d0=)YDjehh)w#Hss*R~Bd zD@La{Dc9ShwL0y}=eWSZ?#Vjdvt5`s-IM#uPYP+flhym{BX6?Ev#)l38iJ3dEAZTM zQNU!H@G|F_yRdj6&!p>c?)@Y`U}rRL%$__}GYhEVHs1&pM^}XDLKPeFve_iD zzB|dgy!&SOHFQa2nn0sxoWT9m@i6YUM}-G!H(EWT1eUJfPwkCR2>XWZN_<6fi@KMp zd_y&i+r_M>b0hD|d=9%@%fEkX==d|f?sCCIqOUDyNNV42N0pXeh`n1rhO0npS zr>1i(60X^#!ovjxQJ@P}5Mx))T~_*bXBb8EgT^z4gM013iKAe)+ra9x=>Q`^i^@f3 z5cdeT9jzXrDyOxcR77VenOORryt(VY$8^c+nWF3?ah{81n1L=>kwF0YDmo@Z9epcBkn}^SmGuCbK)8Vj9yE$6#{r#?&Qi zomeVKd++)G%Z&BUU%m%SfX&61`o&MQzGIqc2K4_x2L3gP*y;M}meB6XEB!yFp?}^` z-uiDRb(#3ex+o zx|eo=_rI42JPl#a1OW~&2x93~AjbF4VeTJSVwe>?$O^;K|1hmxHDR97i=Tq3i-;Sl za@5R}4c~R(pV)#HxA%L?K8C0^#(Q(NumiS*5U*ck`4Ow~XFcTK8Temx;^(8z^O@bs z&D)u?3@b{eCMR`0Qm$l#JiV-wJ82hibMHTwX+7v@N&+AoAnDgizqffhXZA(7tT;O` zluDHoY2=&OX?phk84CP8J-p}rIQfDka<}q0m6!sf^&+`Hp6xU=R$$LMo(V`edN!$H z&;9qn1DZNb`1jbc?!w~E-_XcgQ+cS=e>Wchv~1_6|9&Ab9C(urK^I2l!l0j%M)lIm zz+7PG1UD=zFhVPZU8fK3BiZ2bS7O>6l4nNEJ6Nti{VZ(R^$kcIW;LLU2O0q`+(YK< z;h^5c+S=Tl4?-Lw+d%cXs$YdDHgxX3V{}FnX*2@bnx<4Cm@T~U9UQ=QvOzuygI9x? zN(Q+q_44+cdZ6JGOn+9qm+C=?+$y#D`F*i+MU|g#cf(%=?Vvwl4MryA!q)w56;w?F zojUIXdF4$op>ZAaWqJ@N?n1qj`hh$FK{_U!>q6dmID6;8-eEkAw z-<5zVU>f4*a{*CLq7D8PX}HYE7F^g$peZdemmF#XYE$d2n{#SD1t=rW_KRxq3%oV( zv?b=V3)Ra0gkK(7o%@M{_ss*EN+;+dCTyC4 z-iH}g6-FNsIWhR7>}Iih9vdAw5_uwxcE8}}bN^>8X+QRXk%pVZp&>922_38aO=3D8QK zhUXX6gWKIx3zAa=tQ%bum$m`HP5o=i%|UdzOO`cg zM8{lv>^Bd9V3r&1c_i^`yRTEFrOJU!#nKxwvQ#gL7szBy(Dx@C$ z1!hVn`}OWfGO7W>D^K?bY&8%Bil%D+xps)nxYu`AxXhb_0HFI89-!bX`W3FWy0O5Z zLB)K3as8Iab!>W)4O~qn&U5Pc88Cr_fh}HA0g1oEHYVJyp1Zc(gLzx!%-W zOB&rZ_;9?zAM?S9{@fLiJ8y%8XOTX*=L9`fGm+^s=uihTu>i=YHP}}kW!yklPz#Qg zrV#U%s(++E*&ulyl)x!P7ArJj*Sb zYA6QKKn|!XV|1Qip!rxs(=GZ7;Mt|5Ld3(lXJ0&&!oKY;7y+-I1(2&Mr8|Cc;M|)t zCJEjf8KjiNi^z*|&lkQQk&!J1Iu&9RaiUrx%-asyK`kW*<%{9!^El2{4F)Iul^!db zC`Kk`LecJ>TcG$sb60$C!bG1+mF?T3{ z@p9!hZT>d`Qvo>b8siCd;`qvyN(pD9XG@J3`kT(8mjC*q2S?xXii)Bt1Rr?>u)v+A zXgCO_X;6!d|wR1g}CwapN{i=9=a}S*~Px?0_R6nQb9DwR3VfZK4qhtdcLcfXbxUkytBCDcA6OF?c7cJ`eI!MWFQN-op>)!S83u%ku6 zk)!q`QPfZa$(pA9u@A?d2yjS(Gh;$c8z3x(;j7{x+Og>*$5=P}ezKcIO1EK~_!IDJX0lbUSD)2eVA&7dm#y+j1vuh6F*8?KPIz1a{@LBlGd)mCynbu~X~iP25ZvHb9f8>7 z5DCf(LlD?5t5JtAp_V&WAk9sow*UJ!{PW*E%yd`&{FE#VZ2Fyl|IA_jqyp?Ye@wss z=Xw>80sVl57qqPM1oPxLYJpYmii^g!!z&D2rshC56>mWF2cVyAYkPaU4>-6|VU=bQ zi(e<|BD{d_afOSk2{?HtUA%x`U$|?}{>km^DPu6lQXlMx;MkoDT5v<~EUASS6nKIa zo6D`XjRA}is^`Pk0V-J-C1`PxQY8&Fngnnq0njH$z1aB^-Qi+J!%Yyng#n<{%FYMp zUYa-FMl0!3Ri4+8lo{#me9(Fwpk;gZkSaI3H4j#@C15<<12v(BsU+3gC7wmZ#*(Ua zNx*3?W8ZQF<&|O(txDxo9-|2Ktnp>w-B9vu-BBqOC@;E3Mn?YI)$j@WKi}G;lnOi~ z3{}W9%ebbx3g|f{?n@>h|6Lh5J5=rEsXodAxEVcH~8eNous^Iy&y}jsG zQ@H2w^>0ACWFeLxGjg0uiF^RIh=5o+YV=Zep8Lk@d)tv9cl2{U{KV!JBott0A+a&y zPXxuMA#f;T?LU~E2lS^#ShNYwJXNu&6Z{`t;UppanF%K$n|ZiZfE5#gGl#!V9mGM% zw1pEj9ouSb4t1>&G998`C!}vyR3^_5EyRW*YC9h8Q}eUp&Uu+ySqRCh-uea6n)Sd^ z)tm|)q!AI4jmd4pA^|2=nRL?uP}zM1`5vi1XS50^W9v2BquX0E6bi7&7I03S`zoC0 zOn_A2Umms!f(IuJ;;P0-%}`tQ!)f9xi-=e5Vr8) z3+0m`N|mEocEj+&F;ZIiQr)VyqMD-7-H?ugFdZ3zyqu9Lp5nOgrT8kUW~YG2Jic93a5vgUZ+dZi*7 z;t9HDe9A+~4Ie^85!;|BJjk-aw6S$-T-Cn>o?tJP*dzf;#Yq=8itJY_GBncsIOk=6 z9Mv2Ic>{lKijkXQG|Xl?l!W%>)@&iDIaH+SCaGo{$4Qh4b@sn^Owp|8x8_-UPE?p_ zkJMqrygxS5FBz-Xq)cEJqDw_A*B#^^c*P(!OSq(A*o`>GOI=tqNa@+{P%A>6LUWZ; zNH|N)T2Ja^sB@NjQxKw$>h`)(cV;W3W*VoDl3@EHq)GFrPGP&@0o-tzpp79=jB8jx z-)*aNBZm5^d7VIZ{VOEL5(`wDhYn#|w9q&)$FKry{bmujs~}2X@X~9)_TXnAJ1&E( zq@uF2a?_0Z=<&k$PXmf-RvT$#Xj-wg99iSO%?5|Ev;&q%Xu5g`@^Na313WR5NrVSj zwdE>B@~umYLJA&u>e_jmDCq1|z+*v^w;`pO$eDp{`(v8|62+A$=pCJL@wBU6H^;9* zyJwWJI5Gs>?3N*)7eJ8v8Ry)i@W`joaZ1s?3U-qNR9h}unVJreW43Hlz^vJTfbAQB zd*g9LJ{$y$_rahUNS)8P9@5k)iidX-tT~)fJqc4Zeka%HmqiiK7(K&#uUpLWob}9 z(;Irx-N2!d(I}XcfC#ww0Qp5;$T-5UY+n#K>muDkrwcaVj;XQ;7j$OnoxkM#5)qyQ z+|Wn!S`2KqSqLMmzaBvyQYqFDAoy_;qIu=m2de()!2E_@)q5G=>Kea6g>1UPzIV28 z`(bW80$ta)q+#gIAlquIb?no+9Op@23g#18)tS{#cm1w;_}22vs#J7>vSi*%Qa3^~ zQihaYl5f%&@W|{?OPZ0zMjZB05$Ubg&X?ukd=v-w4PAGoO!Pa2=I3CCFwJ#Hs5E?< z6+|paRijp4wJ)`w)jFoQX4#Qd*ddB(a6OdTIh1?0$nIoL|@eo)m6d zcRU;(Q<&6F{7-=ojL_qLks|hCcl0H%jnz4ffjU(cH6N9=*B2q-+cSxambl#gTEq7M zW2Hx6*rEHKIb9xkLZT>$s&4kxoP^(W=`*_N536}Nv%|W&MKaPlk=}$XlkmGvVsjKB zyw=tG9%Bmi9N}VN2wQHkbQfPDUr#5`)vTC; z_PJ#*(dVC{6zON16><-Ijp-h~qzmJONMJI4)*U0NJjF{#_^lzJBsl?X!iMuT!GAX3 zDH)JWP>=uC(=f?g!Wf<2wJq#Wf;i=?`YZktCzH@%gT|dK-2DYqc1uBqX5Zu9 z-E~XlFC<-^OJofQ*MC>)0!nPp)_SMU_bb664}o?XTiUL;Y$@sMdEgF@(<8-WnKK_k zZlJ$I>#BK(R4Wqk`eF}N*u2t$Gq%WxP`LrO#ni~Id(M&4Dz3=pU&5xEw{b$dw#*_8 zr#VM@_vH9&Z()c#nRjc#;>q+2CYK1`Sw!t(+Y_WmV{THw3gghcN($wRgfP}i_=*-; zm#zo=#=k>O5Pr|2h^=n|2Q?#U(fw5RW2iIe{&Nq6#j4w1Bm_{!ICOU_xefe0BhPs{ zB1Hl>$LGr&kRGr0B{?+YN_o8@Naa_pXF~BlLErpN_=;*(dQlwEvA1UkC)ANwBrkg; zu9wMhi=`~5-wi!>R`C%1sjKYUq;jRt5$h`n+Y8}2(A&TuWM zNq3qc5TG+%x9X;tH%ICFDeu-rtuZ6nFJ~M+E3ONHtkMO_*1jR6B5{^40If}j@aC=s zgbSAk-V4Gd;y4CJua(7eg^`u?(;XG9= zEv#7tq*fynWv7RXX?Odn?Eu&fC2na7?e;0_O)oK~{$bPul6$6o(x_z~nv6ft3UlG# zJfP-Kui`%a$_toTuaR&6;IQ@7GCMUx