From ecf6e88e16756a212a1b6392a57721d915284382 Mon Sep 17 00:00:00 2001 From: mpogorzelski <1863167+pogoma@users.noreply.github.com> Date: Mon, 16 Dec 2024 13:39:17 +0100 Subject: [PATCH 1/3] =?UTF-8?q?[2024-02-17]=20Czy=20wiesz=20jak=20korzysta?= =?UTF-8?q?=C4=87=20z=20narz=C4=99dzia=20do=20partycjonowania=20pg=5Fpartm?= =?UTF-8?q?an=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...narzedzia-do-partycjonowania-pg-partman.md | 66 ++++++++++++++++++ .../thumbnail.webp | Bin 0 -> 108982 bytes 2 files changed, 66 insertions(+) create mode 100644 _posts/pl/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman.md create mode 100644 assets/img/posts/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman/thumbnail.webp diff --git a/_posts/pl/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman.md b/_posts/pl/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman.md new file mode 100644 index 000000000..68bafcb0e --- /dev/null +++ b/_posts/pl/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman.md @@ -0,0 +1,66 @@ +--- +layout: post +title: Czy wiesz jak korzystać z narzędzia do partycjonowania pg_partman? +description: "" +date: 2024-02-17T08:00:00+01:00 +published: true +didyouknow: true +lang: pl +author: rmastalerek +image: /assets/img/posts/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman/thumbnail.webp +tags: +- databases +--- + +We wpisie [Czy wiesz czym jest partycjonowanie?]({% post_url pl/2025-01-06-czy-wiesz-czym-jest-partycjonowanie %}) dowiedzieliśmy się już czym jest partycjonowanie, do czego służy i jak może ułatwić pracę. W tym wpisie poznamy narzędzie, które upraszcza nam tworzenie i zarządzanie partycjami w PostgreSQL o nazwie PostgreSQL Partition Manager (pg_partman). W skrócie PostgreSQL Partition Manager to rozszerzenie dla PostgreSQL, które automatyzuje proces zarządzania partycjami w bazie danych. + +### Korzyści z używania pg_partman +- Automatyczne tworzenie, rotacja i usuwanie partycji +- Wsparcie dla różnych metod partycjonowania (zakresowe i listowe) +- Możliwość dostosowania zachowania `pg_partman` do specyficznych potrzeb aplikacji + +### Instalacja +```sql +CREATE EXTENSION pg_partman; +``` + +### Utworzenie tabeli i konfiguracja do partycjonowania +```sql +CREATE TABLE public_logs ( + id serial PRIMARY KEY, + log_date timestamptz NOT NULL, + log_level text NOT NULL, + message text +) PARTITION BY RANGE (log_date); +``` + +### Konfiguracja pg_partman do zarządzania partycjami +```sql +SELECT partman.create_parent('public_logs', 'log_date', 'monthly'); +``` + +### Automatyczne tworzenie partycji +`pg_partman` umożliwia automatyczne tworzenie nowych partycji na podstawie harmonogramu. Aby wykonać taką partycję wystarczy wykonać poniższe polecenie. Można wykonać je również w zadaniu cron, aby regularnie tworzyć nowe partycje i usuwać stare. +```sql +SELECT partman.run_maintenance('public_logs'); +``` + +### Przykładowe zapytania +```sql +-- Wstawianie danych +INSERT INTO public_logs (log_date, log_level, message) +VALUES (NOW(), 'INFO', 'System started'); + +-- Zapytanie do partycji +SELECT * FROM public_logs WHERE log_date BETWEEN '2023-01-01' AND '2023-01-31'; +``` + +Po wykonaniu operacji `INSERT` PostgreSQL automatycznie przypisuje dane do odpowiedniej partycji na podstawie wartości kolumny partycjonującej, np. daty w przypadku partycjonowania zakresowego. `pg_partman` nie ingeruje bezpośrednio w proces INSERT, ale zapewnia, że odpowiednie partycje są dostępne w momencie wstawiania danych. + +### Alternatywy +1. Native PostgreSQL Partitioning - PostgreSQL od wersji 10 ma wbudowane wsparcie dla partycjonowania, które może być wystarczające dla prostszych przypadków użycia +2. `pg_cron` - umożliwia zarządzanie harmonogramem zadań bezpośrednio w PostgreSQL, co może być używane w połączeniu z natywnym partycjonowaniem +3. `pg_slice` - alternatywne rozszerzenie do zarządzania partycjami, bardziej elastyczne dla specyficznych scenariuszy + +### Podsumowanie +PostgreSQL Partition Manager (pg_partman) to potężne narzędzie do zarządzania partycjami w dużych tabelach. Dzięki automatyzacji i elastyczności pozwala na efektywne zarządzanie danymi, poprawiając wydajność systemu. Warto rozważyć je tam, gdzie wydajność i skalowalność są kluczowe, zwłaszcza w porównaniu z natywnymi rozwiązaniami PostgreSQL i innymi narzędziami dostępnymi na rynku. \ No newline at end of file diff --git a/assets/img/posts/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman/thumbnail.webp b/assets/img/posts/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman/thumbnail.webp new file mode 100644 index 0000000000000000000000000000000000000000..5e3e84bac2d5415b37776b1fe4c1446ceb12d783 GIT binary patch literal 108982 zcmbTc1#DzZ(xzKwW@ct)W@ct)W@cm~^*T15F_&@D& z2>|?OG*2(3L`3u-`~NROHg$4w0|0>bShYX0%r$;{sDA0GV6ksj{me;HKnFNb?rn|uD{ zg}+Q@=WcKPm!JPKn!UNPD*yoYPjtxK%uTKSGSgp%b5TSH#d4EV^dpW7c(MJM|&q@2X6r2U(fu{ zDgeqqu_gK&WDaI-4i0)2hQHzecl$q1{#*5bhJSMVFU6hm|KtpaG4UVUf7brT=2#2> za6SBuP2zuSCRqSLOBeuvwe}wySs?&`7zzM1Pyg5RVEj`rR&H)iJdBKF1bIiMO)4`=~&0{Q^MfN{VKU=gqm z*ajQ`&H&edN5C5p2!sT}15tt4KtdonkQT@SK`cR> zL3}_$LE=F&L5e}DK$=1NK*m89LAF88KpsE=ps=7Apv0i`pj@D$po*Y6pcbGmpaG!K zpy{B+pw*!5pd+C3pxdD5pf6w$V5ne3VDwpz%9W&!NbAR!ArrLz=yyW!4JS6As`?yASfX?A*3L*A#5Og zAz~r&AZj3bA!Z@=ARZtgA+aH8A^9N{A&nv3Aj2WEAgdsIAm<!tleW!PvkA z!DPZz!wkV}z}&&Y!jiyp!z#mC!+wL!gsp}B4Z8#T0*3-e11Acn2j>nK4_5})3%3e) z2M-TV0WSov1MdbO4_^*H0RIR6837f60YMtU3?UF92ca2Z4&f3J8j&1P7|{UH2QeM7 z0dX4f90?kU0!b9f7%2cL2dNEd8R-ET6`2`X5!oI&7P$g>6!{nh5`_Xq9K{SJ6r}`Z z0A&vq6qOWJ6x9?p1ob=W5b6OM1R5opG@1=s4B9WWDYR>J6m&Lp4RkN`9P}>qZ46Kh z3JhrsJB$R3dW+5A)IquG+bU>Q`~6WdfYWU5Ih<@6+B$kAp#qMRDy1T6GBu%0YYoSRKgy@QzCRCVIn)COrk-eYhpZNDPnixBH}6HHxfz` zb&_C`8j?*?7*Z}$3({25e$s0)LNa+WKe9@)HF9WjE^;gK4Du23CkjdmO^OJL7K&p^ zEJ|rgAIeI~4JvplK`LjeVyXpd2x=~BTk1UO85$58b{Z?19GYob5LymeYuY^8Svqh! zZaN3LV!CB|IC^1v5Bf^_9R>^rIfh_{7KTekGDaQ7B*qcOPbPLIJEreU>&z(3GR(ou z?aa3#Yzq<#8VeQ+?h26#nF*B&9SKtl+Xz<)Uy3k^xQH}~Jc;s%`iu68fr?3r zMT<>|qll}EXN&)lAd#??sFb*tWS8`n?3DtSl9fu5T9(F_HkB@yzLw#X@s}Btg_Bj4 z&6eGjqmgrwYnKO+myu7A-%ub|a8PJb1Sm=?rYLSIQ7Snrbtpq9D=FtFAF42`_^FJj zqN*CIR;WIziKr#0t*cY1yQ}wWAZqAolxsX`ifJZmZfh}W`D=}9<7iuJx9ULZXy}yc zJm`w+rs*E&vFnBFE$LJ0d+CoF;278$bQvNV8XGnkfg5QWRT#Y+D;gIYKbT0H`}@o>&Q5rCXg_i&|$}-`Ggm6xcl3D%zIW ze%Wc-)!0MX8`-xxpg7n%3_21xdO6NI(K>}YZ9DTgr#WA{$hwre0$uf8Tiww9{+OC@ zr*aQ--|-Oe$nkjg)bMQZLiTd-n((Iaj`BY8k?{H93+8L;+wVv07v#6&FYI3w01Pk* z=no_f3=KT^Ci(4W5KNG5&}1-EaB}c{h-OH8D1PX-(7iCpu*z_RaF_7q2;PW-NU%uj z$f+pSsH~{ZXtU_C7^ax?nD-`u8SWX|nR1z}S!7v>S?}3a*^4xly@Kd1iTY z`9k^C1^5Lq1+RtHg)2ppMa{(&#pxvwB_1V*-!;CE{NVagUW!v1Q~FWnP`3S3<>z2I zXL)%AUPVGBNTqw_NtIsJ%rCKDt=06^MKu^TF|~kN_uA7sqq?Pf+4}wlu7>JH^2XdI z)TZcWV6%7gb&FNYcB^*lY@1A5e>-n`QwKvwStoI4P8WJtLN`ozX!lo-PtQZIQ}217 zW#3-EVgLGo*1*D`^5E2v?9lIFiQ$0};gO!-{J%R#c}CmDxW-z>ImVkO*e9AM*(aN( zIHsDXIj37^xM$jD`DVN41n2tZ#pZ_>q!-2)6&7cg)R$J4^_I6+%vO$9?N)ErJl5XU zziohTL~kN(rvJhFQ@lmJRkO{p-L)gOGqJ0>yS`_-ced}k|9%j92!EJ(QI%JLG%j2lYq$r|jp(m;Kk*-+vfHLU};IbpT`@kcJCv21I}x zCq|5fxQM)jRVK0)657%pnOK(HZ!DMH2wB=!ZUQTIgCp}0KcyS7OqZG?F5lI4;dXXs z9Vq*e_7XKUlQGTkl|L|G`VsFV>Lcq(^lSVHbEoCG=EI;` z(DBRmW2Z|jFzf;2v*C08Ys4&~$n#RNtl;8nkn@r8t>8`Y+z;V%HgN3`@G$oYoaxy& ze0~4zxAk7|xpnjI`hIprcpg~zvHHb+ryUp=dM$cw``Bgk)%Vph(z6)Y^)-3Q_!9Wg z^Hi|&<<&Fk*Au82HZ6K+e#5xma}ikd-tnUQ#V8RN_tkNZI(YWJrIc_ZkP;YZc*}1W zaP-Cac(u*=%K5bQ-gDp|_;DR@|Mj=sfN&csCnjKS04Y1AxZO6>r+;u(W?OMKt3;V1 zJ$`k&9QW)6oo~I3joVwi3n62M49@N7;t3i*(a~ti+tIr7hed><8}zeu4Q4Q&`V#b0 z$zB@SPvA2mUycCA`~wR^;RU{!9f!N!0rPJi{b$O8m!*EsG@)e}v#s zdD(^)6bJ33YgEF~9~X)BF}$WipyWyLIKi}3xKMA#LVLSFUeqe2iGs(I}s3g7$TFtPSL}T3=m;;UTvmKsaX|2jULC=_afK!Ml1=^ z5dR7hklJO@-~_vmOP6lLvDNuNf8nHylBHS0_I56VqAcG>Tqr2J@K5J_Q9U7F!@kCF zp~px%8;O?eM@I?b`5tnH+D}wqvjWR}=TA5}VSF`}d6~?5T`C5$$!4HfV`1kkwIkde zrCPiW&fTMij4I>~R7l&6RDhBacrt%>#MfiGh%%rX&?MH^S68XkPA0(&`sGO^v(RXT zUM8z#Y_x`6?T!QQXl_5Pu2I$-(s*?wsfG4rSLoDXe2PeFUhwHp>n5dFqaDvkwg(t9 z74RHt4#}W?;}ehlwy5jn-31dzk{e1qUe(K zAQ^#H5l?QXvWY)MkTK`pU<2YHlHX?Hy>D86yyS_=b-S&kgY?5_^)wXvTLzwWax z^V{}01nmXbnafa-(ZmYME4Sw6e;x!pFBa>_yiXGn=gl6!NG&7n~7 zqTC9tIjxZ>j?wk4SI(;%rabX|U<<`xDDxGK z-_0YQeNoItEg9TO^RV7WRpOn-@aI(juwT{JoQaUOs36iuRK_VBCEa8`J$8itd-zKRK%0)V1g#MZI~Sw5O6?6+!`t zH~kKtW5iK1FnsN4YK#EAIuW6i7RTc#ocD=(=KF{6bA9&~Jy~S~tSTbsL{FVfX7W>r zqdGXF2t7-T%(Aw_n`lb1b%=b~Z=DN-^T5dTiQQNwoDKOjjUEoBorx$=Z{tMX>jV>Z z?Ca0Hwi830&QD{gV!JdvfxT+lg2d3Ogv@}wgDpru)p&HVi?k}O%KV|wjEq71X<>=R z87JK^m3Suz6HiScF3uqq(Nh`5)M`X9?6Hztm1n)g5fTJ3NfWOZarUyqPuU0sn1ZBQ zK0fC6X=y#!P3J7bFld^o<@`l!RD?CRXq|cA{2wbjt$NB4s`c+GI_<*FeW49on>85I;3M;%Z_$QSEkra zVTr=CUueqrmB9n{@i_^`O$)Wbjkrvil>zpzI}s?-2NTV->#NMmY&y&-w_yH+!+O(^d^i$E9ay%pO&F?F?IpFWVkZr@=X5 zd&n#!ZBo!P0a9J!WwB4j0#vcDKlwU+m7PqB zRsp&msxaY?nu$A6eXWIq<4;{zEA{C0*{92AzO*k9K)Clz^J2ctKyeg&UQgL2wu-tSH4M zi?|b$1F1Fhr*MHLUqr0sAX8UO@0OWgi;#iCO7UEani(2Fa!iHjq`C}OB%-5Y8H@h$ zCUL*8!ooOX^zFnXu#Th0Qgs1vC&IJzXLVa6DcZ+0hS66r)L7Dl zKXS|qZ+;)nzx4$YCb<{HOVHD7lAEa_W?F=)GX<`&A8r_bIfBE0>LwQp?T5U2DQXPQ z`%a3`5D6V?EuR0NtZ;nwZ5(|;P>$6Ua#m|2dIWweA1ARk2z9diCo88p8VKGQ*X+x$NH z-h_L}=|2{N$fg65=;2h6^+MIKQgmV$u&HpF5c`?vt&hFIWZ0x(?J=7ryi+B}fT|9# z-Kxfr^89{N*Zt*q0PWXkM(yp7=nVd;1$r^nx$2YQ6Y$%Dt zL;bri9sju6^v_?fz-d@`(I3Xh%WZPk%y5@8<@sU+o>eDqi`dl8 z5kd>*OXm^t*U`g)c00KA9sh7glp3q=$&OIg7!CPbKPYiugIXb}khM*V?uVBji#_ZP zKH&-+?O1oy+Ap;bFddYD-%-pkiz*)oRz1y^O{5YbKU=OgP!*8lRhDnS_Ch}@HIPe@ zsn?KTq`46D?&6Y=zUcfDsI|Mj*{CJ%yiv|)M$B;+;X-A|wF_w#wBUDJQt$WyBO`EK zp0ZP2a*kc)si0M@TXcD6$7TaDlZDkqiG_tRiJG)bn^pY|gM>>DG_x=%I{LflMR%x< z*H=BYzYl}^dwWWlrc%n$_(avmw{`Cg&5AosB_!A9e~vgCq|)PnenDbZH}adVXaAfY znq@KDZ69>*N}$l{Jx|8}k_oB#*>y*SJ4{rqK<@-cwx<7C#9EF5wIoQ*rvRT1-Jr^- zqupjPkbv>AMePK>jPrRb=#idc^BS_PqRCU4fRn#%@#FWmowYta1HH9Js2YyNKP%rd zX5kiYf9^Z0#4gat!qk*%N-|0L5*0*N)FMc^963X4Z*EW> z3t5G_>T4h1cNztl;%Z(73FnZnvp8s*X+M*ggYA($@n>fK=|9d%x+AKcpzqF((DTHr z$8N_=>}rnZ?co;n zZ1C|bV3^+>Cd$Fct069MhUrYJ%OynBbPw*+fmM%9n_nWhMqW+@nW<=-P^mE$fT=?# zAUr4-^l|hkb9jKHXX|Z`pzrHTH*oTRwRG^JdbeB+ z4f!PxmTHUJP0&9gJ0SL3#d@I*gKJ9a4^y_xCa1*nU=Kek<)k;YiZ0k`?x?j@Uzyuf zeYjI==bunn?~mz12_0lHM{`rClHPQ-RBFF??*LNk2J}E=X_;Am@v~2UDVD$^!;@J9 zM)SchW>b6iDaywgFL=v(n7rr4+;{PIJRrJF6rB2TM8riN8`lavQAVC=dSns+{opc zgf$u4O0C^nAC|{v!HDZ;?q;E!Q$5^+JlEo?{@h=237W$c&wDD}F~J>Zib%rx~D2DxGhYIecn+u{>4JYkFp# z6|SU^F_GHN*&0Bbu16!b^#rbSP~y4UQNVvlQdPYaYsupVM6-WFzihlHdYexCQm z#W8u6WvzMU#$uJ(G2383L6hl^AIA%?R_X5}-z!KfbBKd;vQS5$K$??qn+)MFN-Taixvh#v^NqtK{R((`wvDwnv; zgM1>Z*RL*XWc0lU5IAonvI<#b>^gJWB!*U^tIbdFeq>chRZY3+c_qkWD@Mv@kQn|s z^Qx!tI>u5H=_1B!wpv}t0uNlE9$&%JSX1Jk-vHjgardTQ5Y{$gHwzceIw`+9dsIHh zV}qtOuwUkmhfV5GN9GYu)XT5+(irD|<|fI>6JXF@9l8WozG8SvuA|=hY4m$&bH`TJ z1q{nnLvVc0Za8^a3kqBJOfYkVpUkY$YU5fL<@bftd>RWwXnKPfmpb8@QL z&vBw&r*DzI!ZOh;*P8&$Q5Y);W&bGgWoOQuU3NUT3{QFf23aUZMRbX#QdK5QNW1g7 zb#W8MHXI1eJ08{Lq>YFX&uC43}PoW1xxZ9*DKw*^v|_;qXBp77W(Ag$f8?uv=5?B0->X(hp`` z)sG0?$Y7H-Xe4}s zi4fC+kXPu?H?V2YfFQRed?l@*|lgV&}I=wkeSK38cRv3e{oa zK%g~ty%GlrgxtFLQkaN$on=C)phVoQoh`qW<-2Ds>Oh3nL~Un5oC@6eVb0|6i1v{v zti9V|!CCEU^G8ffYX`NugB3}_P+-3lG4qnegnaHNNLbIEm(g>r)37t2Ner^V;~8fx zN7-^@B4?Amurpy`)&L575Z&s_Tw9*@Qk7;BWVI4B)=>x@MV}Cz3)~?2uulh=RdRx@ zz5V#y2m}+pMO3nJcj-smE)x-#dBr``SMcP4bY2rF^p@B<=_m&r0p6ZE7rIJk926e1|p+m_}Xgx(QHj_(o6nUIOx^urSj z&F}KVeY>HG9MWDv>S0AmJ?f$X``AC6iKUgWKty{WIuF(s$n@e9kndIB>Qxt zO*#=mv)XjgavooO(fkJa*wmyYrc-7Byn7Pl%lB_GvGSav4KSMsCQ#jsC(1~@yz0Gs z!nxArV{P0q>@=HU_H?eEaL3|Kr^_?A2#g=Fbf1$FF-k_kLMQOF~4wtV8J9pSTL( z;bDYo?F|;*ZqQ)P{oN2U4>T$*smlWO+eKu%6mtsQ=GQYVyquA;w%ySAGc!AT$B~>n z9(u%{;u-!$A-=s~Nz-AryE3)2tMWTMAisk~zQPqlG1nPVCFwk!?8YRO%j&u@sK+SONZI6^=4)f~I>E*E%#%t-57( z9IVL#pO|?kY~!s=l8#-hAI&cZJ%7!AO8CJzEn4FfwkZRMj?1~ilW2Hq4X9Qj|53wC+ z$2-K$8(&>g$uq+%=-ffmO7(&xMd;a!GdYap=xqHTt{K7ll*BaNyVYEeZRu-~{!>Gu zKO1SUyInoK(d|2gm-rRLf8B00v&^o;RtC0$X8i~YTn)#LLN$TBNsL}F79FSBe!!+f z=cMCd%)rYB;5`z-Sj)JCx9efJ<+&&kd-p0`I&pME{-q#iymxHj6< zwh3^R9Y|)@4T+G>N#C(|Jw8ySFVYUB$xb6BRBR49Rd!=z=WJNdx@Cu|j%p4j4{)Ef zah+%+WSWBB@o=YrEnjo``<2XPuKHD<4@($#xuzj*C)eh5!3n?el`|$^^79}Ry-m?q zDDJ|^zkPo}q2uB9#9oQ*iANnQwT7y3@y)ouPe{ZU3sz08j?oUq`9}?f9>!gdDV(+5 z0la#~8z}AW}=RWh$^_l1@_jDD=bgAIlyLz}#ahezoXv zz!<(n%m|!hN~@V~i*e&dgN?6FdW!dbh(=aVTx7(VGhBsFs0 zD+IEXA4|rZXPpMuY$?%YF;9Ba$1B;O=6)4u<7?`zd}J z!KajJ7q1n8netaTOt#>B5Kr!}q+gVvne46+dOe(+=af{_!??P#qsxrl`*TokVhzS- zZ4D{Dbwo5s;wKR#i2I%Lyb4}E%{6ia==CKI^CGpvt%JbGuMKTLqS*KBQ7=k-`RGCC@&TD+ewReWFuq>cL`B++ z&fT7(q7eYeOWCug+Tk7i)CL8l z$UEJ+TIbpgi|~4#O9MncflrxnllbcduWkA4Z*EIty)iX;r8>XaJ!X1pZtpQK%a?tO zW`_9|sLUP@jvPk=LM1|7R1nRur_7BnLd73;B zz|57uVm*1czD@E@z!^ma5ykl$JH;s8bL9(zFdu%4;qdJ}GJhjcgZK1P;>b z0x=G19BWGg(1FGs5?ajG0-k-fH4qzY?WrL433Z%0=~~?@uDppccjt&*)5+@c`)#ZY zbI-!d?@{?m2iax@kU)&1QA)(j8?54xS16Y^FH+vSE(7 zsJ<@JTRZ{Cjm|R;Oc)^_Yz72hvS(a&1m7dHrYC5z3k1Sre+vjv<;5=K$n{v**4}p;0&4e}GukyN{$5DKk&jJdn^9fmHNTJGjS@6$dTV*Gl?x?BZ64|0{nG}Pa z>p@F=3eFz_;51JMDPM0ZB2hJaIEZv)qmoRyU7E0Sb%GEq(vakFKa>WdSm9234^ZMM z=Y15q6mM|P#DO$dQ4&_kmws1+wcA#g?>{6#94d}p7cRwXL@3kUnSZjZ$DD#MPwcgM z)A=HHH=L-wscEk6>(nwc|32zL<5XWnJ9YcgkSCnHGPw z`X}AE*U=LGk}5A<^ln|0o?%n9@^b6If$)jBoD}?stupl7CMr+*U!I!0Scf}d)u=rR z-`If9IbKp&lJj&ttM%K|Qg-Tm3TipIzF+h$HJgzhT%z26a_XP)M?wsEWfObr_ZU4? zKG!EKMk718v(W3AgOf$&zOhpYe6QNlCg#>bxJ3ElA&g!V-5flksaJ^`$c`@p-aNZo z-D}vL+@$SmL2HE6$-ZS0SX_kz1c|@VHM)^brN{vF4R`tg|Uz82B%A098gmA3F z^F3HPoPSKIMfpfCu%u)I6hZBd0jfT?NTwue<6#S@Ouy<(PPQe!`pe7WQGAfOpt75U z1^e$oMml}ozx0om$y2*R+tFJnE5{>??MJpALZLHW8MCML5doFJXd!j% zt#X7rsHncd$SFfg(B-gjGF;!jjnwE=)HQcYHZuZ*5gq&@Ile!y3OlpAk0tbQvY3oc zUPdro>JS_D{gM{fSz>h{g?42{`UcI9hsBsWfD!)Z7DxzYOc}<{K4FvmDe{9dwH{hg zrvavsAh&FVOyB3)4IVPMm>-{r$8?^~`;Wv*C&J-*E+1(N@OL(OvY@_-G1H$V=w#WS zwx}vIDR`gNru)I!dWug~CKql;j`rp4FN6bT;-U%4nRlNGfx;EH{;k?M0Z$UCYYFT@ z)S$lLh-tmmMUlVrj0LH5r^~!qY`F&xmdfcnb`qD1HEOuQ{5XgL$6%zk4cAs)O#*@};Ub+chn0gJLbd7T zH@fA{?HO7=FjPb?uaB7^aD{(n;3VqE42}z?5b$l`QsX?vl||Dw*WeQPrOgWAwSGNX zalXcYz-kgq!($qPzH;V4G?u&}mfhEmLlJg2*ITO(l0BwHt_08uHUS%|yCDc~ye@Q& zD=S8MzmxgbRYYG;oI2#3s}k8lwVq#cKKrv8vAdgKKY>c(@m27-Rtz`seMPUxgsGzT zFaYIU*NC$*q^tjY9q$BJ?oPC{pr~EJHs(ZlUiN;Ejeti+-yBNu464A5$55FJf38ld z%DYYYl#T>bi>llq>J6I~7fJIhuQOaZ(+_Co#BHnMECi&YKKF-d&yOGL4W5l=Nud+Z zKi!=(PlnO08+nCMRc)t!Ft(C`dNC+#zSXFVdGkN0cK#DOb!+oz&JmWOty(M z*yTC-3lHn%*Seg6;car)cA)+eyjNTpYg$aLTvi-dC8MHa;aA-R<8z95R<;K!l3bbC zHwqfIGn$QjYf(~KxHagaievix%-~E5))F0xY;qs z^k;{)YixR=t;J1rJ|eZUoHQw~QQhV;)>3aMC z9$+r^Db1wxU@ z-|9kdq*Xtf&qCyz=hL`r1y-YUDTAYP_py3R+fLFvbY5p@)5Z;!0h|?PeX>#t?l2AH zFd0f+xX9RcwFF=CJ=EUJgy_3y%9BakCo}UyR>ON!V>o9--we$-wu~wkjDQ*DQ-sV_ z-&3?hO8PH7TUoCs`16Q~q6VpEU1%g=t?l#IGD^lb zmZ~c)NBH<0pEjoCJ+HDMq8G1Ya2?dUE)9HprA_fElDM$Aa&m=zyLGLkfTSQ7T_UKK zms+b{@Tn1q1z-M+L>f`kRbT3!O*}0WevEf#y!GZPzfYX!&KQg$-oZ}LA(^CeI9{W+ z8ND9M9)DLR^aB3ICU~})Z<_xZ(O^1t-eVgF3%Q9j8;Dpg=L_j?FdJUqXDAfxSy(x% z`mFWh2mNAP!2u%bJ&5*xPtq_im;4yl?h=Hi^8Q&AtKnU6ktLdmprG+7Hc_b`M71VT zI`%lpiq)(z2_zmQey=btlP;Add#$!meFfY86iecK4l6m$mUTOLPb4U~(CovjZsSr2 zkZ7KYuvsa&!%F!i!AHJz=ZJ?yvNS>(8Wp7Nwyq8%DDZQ_>?-@U8bj4QP>smT;uJfr zk@Mrb;#WL{wj*Kt=lbRdWF?Oz>So*C%TwXq{LTAd>S!Bj;KYNYh~~wrVHhPY%k%M^ zIa5jL9~yW%J805f#)T>2LFI=r?B;a)2SLcYB{op>>CX$UDy)KYdGQ1~rKPR9=rFOnpR_zH+UG@m0m%hi<-OmQ2z(>$N{*mpxiP=4Bc?#w{_skpylZe14i?V!z zzER>?wE@2f$2{#lFFW)70Msw_cDin&l(E~Aa#x2|0ZMhISF8KibnWb5QM4bY5{3fP zWxpxa+!EysLOVaydmB|s$EP&qT6E-S=hYd%W&;|daZdJBY%W0^AhoA6_b=@UQ98ML zyT`5*)yx*(I&>?aO`;7q5PoK(lYUEot6@qBUV@|vn8LD32vxNxFrKJ02)dGO^7d1v zI^{z6V@@|eFKuK+18md<)5R7tY-#z_7hGLUGF*xejS*q(zyYdzRDL6;BwQ^7`Ylqp($DB zMO_to?|V&Dsf!%+K5edscF$EVe|P;1A*iks%D;RgZTgx#BmnhW{*j=kglKpP zb>Yy~H&G%-f!ued!w3UkY+NlH`VCD>NLZ3q`~b!|>u zvw7-E#yKz(D|YHTU0Lxhcm>8TlpgcTV}8(gU9fBI{jNy@@&Yd#miuariipXM(ZePe zYfR;sRPhn>_lJBR@v%9DyD>*EnuGl`?C@6z)y_5MR8IgqTO5r2LeLQ0ACa4^uqz1# zt>+24tR|Y0qfL~XueX-Cq^W%h7W%K7H6)3JXwj?V$>Y1lq4x!Q?TH1JPtx)p78^<| zF+^|+p5%FgW`bsriRq-gIXWx^gFFk7;!XaS-z=qq-_zU##a16KZ@13h?qvy35UYx7 zYPmz4vPoS-Xxl@mvyPpHAfYoM{{R@t;FsYzEYfN14VsBCPvXwWJ5LoY zUp%La=e9ATTuRScuZH_zw<(TZj`u3pB*M1+$XSEOdESQV@tZq01n;Zc zU8cNxi>@=#kKjoiQdKVq&+Savj1h<*YG%bl_(WX&C9H+795X9lukuS~XJFNIznJ8n z5tB`mvp@Uq1^F%Wd&WuE^caTQTafcFA(A(Da~<{zIY%gM;VLd_a2F~};=HT9 z{>cg6Jqh@{ak7mcduWfnjLbM|0i7%Ii0)E92}ip;2WmC)L+apT*(~9LUvjvh@?*j) zq@{VZ?ePs@53ag9q9*rEU!uF*;5geH@!qqxtGOL0L#khQy>m20($6gniBjlvM7R#t z*wlJ~SJ3^eOe`hbSKYr=pzBe7-FhkLC(CG)IHD^~Gn4Ue1#z+1&!DcTq&GKQBXOy1 zrfv7{~L_z|m2&h^eKV5Ywvq#twC z$}f>2P3SmQH6%!eX~q!c%afP+l;@}fP9S3JEGGInQbb5%Qzk%&H+j`$TTlTG)L}WY zpO^}+Gk%_2?LA+F11l}li-$x%mV4AGakOsNHP_9~9uEiXbEiqVG0BzZ+4Vg!l8G5r z#rnR|ZAhLaL};H@KQw+$awD8TZhl(C>EVG1MPvOy#G>Va+@{;|utZE)74U%4yQ}$B z_~TEi{5%W~yfPo@-*8UVT<`?@(asDpbHZyG8QY2+b|5g!u{3=)F##({*!tN| zenPfx96c|#5SDU4p#SUSdQ08&Gn%p{Asv67El1mO*Cx?{i60uZ6sn@Vji!!pEspqd zjPr#-he0CoBWC$@Zf$+;)hd>;35TZyPC7HmcgE6gn_f^-%PBgpHAeMg>veo#>0{wj zh5f8*(u-n|@JCMnuyZSX_IIzGB)Ae;8k}wUGqPky&1%xG)3!*c=LE(ut~oyPErdiKBvSzb5F`Hv8~R)b{V}Xp*tG6O&_EqDX)jA}YFHS7@r3Ze%9pex~bs+p-4^pnoPfx|714DliJ|=^$?b z?$+|sKt^Noa+zwV=eZlWDUHgbv6~_Pb%AjBHTAyQy}VZPC#5FAJ;R4S^UiGwmcelW zL^I5fhS&=1t%iMdzG*P)-A6jC#kbj>W~_;IGu>hDrIkA;-jykR8&*kq)fk z7n*2>-wfQ(yJ37;r$j6k>28PZa(i@ezxMXjtCu#wC7L^Xnw>M;b)r8+#TkWH*}y{+ zL=;C%2K6-r{-7v{I(LQej#iMWY zS-2{)&0=*Cjoun&>l8QV;#G znLsEi#@n~22D}uZxDqlOI9cgZLp`F%*e$>-A!I$z@Hw#Ct{yLGvI6sPM-(A7 zfL@SNV(IgGXgi1%8A^|_{?%wL56YVM;cv6c^M0`fR8Dg;R=BiN%m`RgmF@`QC!oUt z^8p(aftF$|8JHw+_8V+Z@@z^zG#KB`T)BObORSA_9zHGXiLhEY4?~h7G{m08-s>aL z_a#n=>{etJMRYVGq(zr;&Fry?z&R>;TE9|N~se(8-92!B?gOLL1t#Ot5~9zfWGpkZNqUycb0)A$Unr?g075}FSx<)?;j067KfMzQsTp4TEWj6E7<_T@dOdZq(3>C363*7 zB;AmDi?&4i(gW>sL8Gww44t&DYX*-P*HFsSh(|{TzfwpDKRhKk4<;NAop}MNY-6x& zZ%Uzeeoy zDF0GJ-P|2cA2m}CbaWomw*T9lDCa!?kUcU-Bpx_l3$DDs`g9kG-3^-<;k?c?EZz8h zf|Sb9XXkOVp|^^@*>?g!SVm*RVxi}f^q}2ln(21I?R^Xa=To%`FN6?i%s`EtS9Yo7-Hqac8*t6UIFsRBziBDo5%jz<> zc05+i0n(CQ=h^b^$^5=<_676`%y*~vmajb*xYJ~4h<7&Lcul8{VXrUQgnWut^pr43 zZZ-#ZHZ;qahHL&gmg#s+!@b`=cN2>Zu5N72p}dAj_3zv`!yGPoi5;J{bW_SnEd4RF zCO&6-1h~yk^Z~?Z5VEU4&4|6z!^S(YtNY&|>A3ZX%01!-ntYHVDQ{np^Nw!)sRk|+ zL8z`j@xB<1C&RFoOTLBeSsA`LOOF&W;e5QS%bKdh)+3!S~A(YAO15Nw*N8CUO`YatCoK~lCrRx zj|7Asu`Ow%PotJau0D9>xvavjE8%7!IhvGNuVMCho9PM#S}^E9!+wPfYVrB0J!Jkp zj=>M9q=+fA<#CF0LrJKPDLw#^7e4n6A|3wYQmXT8R!5$bm5`sK6uBYhgU%Fo(1c&A zHs)x2PLS@uD?G#24S(|-IUh#7=k*QchtGV~W}8TpfN+%gv_P%iOn}?%jq`(LXS@V9 zi1;(^%cfsE$3@)Iz;Bt=$}};bFS3ji_C4~Cj3LR-d004^T5c-mx^t)>;@lG*^Va_X zPsHkTyhGU!#Y$Z<;vL)wosWPqCr*%3c;r#%l`G9)WUFFeLdkRu`&9nm?q3J(v^X5K z%)~9?Y|Wcz3zp8zHnM;&t>%mWS(@6W8+0S2M0XpwRyW{2Z2VgY=}I+PYR!o?x{Dsy z5V*W#$3xyjoa%(6utLymAtIrsuj3X}Hav z>bO|v+rGGJ4L9!3eEidsYk)G+5rX7cY2!4wsydyCYVs9<&E<=rFIda+=Wp6iB_X}Y@B)K`#g_NH8L+J9 zyj4JB5F6w<>4uWwJ19n#*dKmY?w@C2Za!`5F>V-?y8hlEcAIJ_m&gy#oviP*LEl2& zQ<|+Je28^*)EcI;wJ5ax@?Vp&E>_}W)rSp=Wc$QfI$7#jg9g{xpCkgB)t(wO1fK6H zNA>V^nBwpqAOp&@|J=)R;AWDF%vm|OT`MuI1-POM8}7Gt2pEu;p*-`ygzKl(k^}qeh^pv5r2PN zyd^xEDGh6^o)mXkOE$9+O>@D7gT6H0s)sL0l~yfumQ#@@3iUraoI}xLC7@R5?^&m(HvlcHKkSIln;7c5aa6Rs<# zqA}^M(^1)k6#pGm3as;Ljv~K(C(a_710`m4V`4AJp$)J07rdy$DU6~m1@nA?_tG%v z;&zEPtIImikd8HlDoO6qYHKKuw(HQWbG?VjJmt^LWmK8K9-3l&zn+mnA=Jujd}rr5 zCf23R@6uaeESm~9GiI_2DPHh2Cfk~I2y2GC>u@+6b+@Vg^eUb7I$HDli=PrUuNYqH zv%5JvhhZ~!#HzJ$>l{l+6Yt{T4kClT&dlOmm*o(s*g9{F9`ZNgw>6Vi5*I)|3ZJUU?_nZKeuWk}fMSSLeQWJFZTn%Gomu++A0-7-dZsDAb z`}@OTtaK{nvjY3L2hNTvQXq#Fw5D?1j-hX$hSeo>>k7-$ZQRdJfn%%mVyGJN1Elbj zXWvT<9fdL^amP={#j(!FAf*|_eCT__y~< z9iy)!?%}={rt6<54Q0ButDnjUD96 zD8rbG&SF1pZDr5*)aG{#|NkK1lS7Q zQ`~IeVR4W_V}#CZpOH^&RXkUAjGj(OO%NlrDeNdODS|kN7o8YG zS2*vQK_Q5t*glWxaOczY$-WWwDC4!LJ1LaAJYRBU9fd$Y9|7!gj zcLH9ovEyWfV?B1b+m{K#Q>T&`wLC|Dx(*$P`A*IHan}%;p5Nb! zy8^JvW|eLCMT9;J?W3Ozy^3xyLFE6Xip0m*VC##vinl!jc--w%$Yj#jj3;b{D;ZgW z5Ag7235nA4ZjC*x1IENZKEqP-8&zhI z09+<{v0wqZs!nM-fA!OL)?>SHx#~?Yzc_=T$|a1ILp1Ace4Nb@FJbU|;23HblM6AL z^v5dnvNNqnD=J%YzDt_%Zu#WSV^6npqQadW34W?rzN_F$Zc|z@*s2gG{Ou`6N|hp+ zgZ^Lfv*`EQ&hB$g)z*ndstRsK+n$=V;;8%V0iMEU{ML4vRh*5)K;xezKzu=h$c@5?8(-+G4&Vp-Z$un9)v(Xw<6S|a0+6S7G%lkA535Ct%6zuq=|{L#$5_P79MwDna?HyW--6-;h;3f*Qu##gU8eBe zOHD+#u8j4x*9Jqok;4FWUJ74tTl;siUSPXypJEOJGb zO7W9I^>dW(qFhiPo3m+?Wzm` zA7jVw+4sUqoOaX{fKd}9l~YrlTC}He1t8a)Cn-yNed-Ddd~fT-kRB$F7Y2|1wc^fh zeRNg8wT^Ykte&Fk&j=ASVpd|e1U(VT-I3pJMS(@N{AVP*_^qXL9X1#CG^ob! zT|5s{IsS)<8qh91f2*CWKIdwISnvz#=y+^=uICEd{#=q!DI8z_h-|QobgFW# z;omeED?j=IzXG&2Grbz%_#ePuZy-*lyU+%_>w?*P>c%xytOlHua<+1yHu;p>n5}xa zWuMYvX~{YyU5b90s56s(+8l6BX2~DkpP0H9fhtf9PKM9)jy9cJW?jwbF`Dbo9c+1^ zuF0;%F2lruhs?F#^pvf>&6WbkU;-n)>rs6i>E8Mf$nOynxzzw_na#jz%hmMv1xdYd zVxa6|t8=;9Jt=$v`)4cmO$OIY2+2lmhMze^Iq6V=Bsdqr*&VqYn~YOzTj5S1OUQr5 z$X+0|EbC1#DWUClbzA0hr&gQp(^f`6=CXdK7-8Q!WZ)A`&o z{*qnFy}X0e)7!-Fm#%xpBYf3$7-)0&F0hxMq~SD4KS-pY1ReJrY!DW@1{jRXR7Cyy z>GptnM`)$q5!ur2*QhW5TxF%J4`YAa=wCQ47&ZJTwd>n-lwA124bJyz_ehG2V$>FH zHah8|=j8Y3BY(kp-sx-xZ`faWXH*)?^_L6upo+ZPlo!107I-@+Fsd2p=jxgjU>&9H zsDUAfkT1^LX?^XZYfcL+6)A^AAYkJ(qum#bSzs}T>{o5P+WZU$pk+ai`y4%nbx`m0 z?9jdDF5}Y@=$5RN6F}VOy$ypJb?`D)>+ABN;s>+F$-@`}X#AF4tG~GILNuL>XaFrZ zCW3o1C$7FruEw%Kk`qmbRQ@7e^LcP zJlsV=g!C+mMs+n#mwwY7%pQNz<&Oa{M~x1!)%}p^1$JdAte5a@OHJfYKAlS`zE9}v zhc;yJb_F#a%3XnTQsEG?6qI~n5S!0?p34<)Z-PE0l($_Y1;;TLwnRve(7)~!O$mjd z`UqbQ7_g_~PWXa>f}@Dp$N<8w{4_1nSP#?nj1OCoN3sus1piuY9(G#n%E8NA&WiMn z#@*j>qhZW!L?C6l`CJ#QJ-G*7NLQUAvGfRKK1s#+>mi+naf5B)K=t`R0y0qgizxJj zPJu99r7ub3Q^qYrCX~7fz^FMkTjp_9Iw!ds0jme7k8kZ=oc}R`A3RuKE(t_-xaTl> zHz*r^@zuEa&Gqo8T^5i40nbk|7DqC0Z>pv;wHHG`G1jG!XIZ>ZOOKVTZK1Zu-1Si z+yTyr3rTHX3I#UN0Gd?K1$~mTP!iz4PR=aDb?c4orYJLdO)3VZCMAaHC6eQRRb(23 zv2LOcqUUNPcRB&?Ah#2~g^~eVrmN~L0&)95IuTpI02k4z7QU>20GR9$NtFEfL+7>y zA4OF0!K!^-j2+UdC*GPjv1T|S-5>09Fy&?7w`)-YVO2J2{N=ZqTL@!%>ZM0y#n~IA ztffi=q9N8}7R>>d2W8+{?j4gha~c_hP|Lo&@*1qitBu4=Ugk~(|J;)LOd119?193^ zTiv8N)@s%$;a-P}!n+lU1DYBdP!MYfOJ<;FS3VW+(`|(&9!DBf1XAP) zTG2`iz$QkAZ<0}2Cs7k`*Qxxw?kG6XpzHd)I>B6~7KlnL%l#jq7?9Z5^Ld|dqbFpS zr))v?F8f;yPq9HQ$j{d87rpN& zrW03Q5+N)+APH}Syzjpar-0P;1p=>uk+p42l)W;v@dKK`JUjw0<*Ng>7-+??vEmAa z*h(hxC#epO5eVL9-RDo1kLnUuUhOHB0-X2pG2*|D3icg<4DQHcIsh-To`v-IfT%Ne z>$K=kz#2$%G!*y+qMR`onNuGP0tNl1gE^~vK#4tmb@tz|!+OosJyIf< zq6Z<%hyrD&&~Z2ruX(nFnB`QisQutebF9aOLE0nBT3jl)$+cYxEfmk4p&P*Xml3Sw z&^m!*+3CvCQM}9xUQzD}ufIvSEG}cXshw)OKoXx|)&T6e6&o@|STM}Fn3X4OUWMW| z#L>I5jV+06$e*L=K7-kXOV50jb@>W4C}FrwjxZ#9KnngCEWM zXz()5n2|B2UCF_5DIk!3X0CSB%d(4&H)ldsumps;@Y_;i`4odX$Jn+C`NPry3IGt0 zbklz6bAJ$UxxZ6UZ7WEL4HVtpsq02Vg$EL_@CMD51^@u5&IxUgXVFg5Og&SY*ugKg z=-Ikqq|tO@^io8vtRY0e6jt0|t`y=_>_-CX6EM|=52jGLU6)x)l%zqrm z4Kty4z8TuKsYq>#{qrQr5Vi?6fR)A}?v1waB5wHeiFuvU6wyp-JT3G&8mta(=6S)w zPKQ5$0UgoZzfHysAKD5R;L7(t-oK5*XyGbbhRrKo)&fl$<_CpyjTV}Rh=BeU3h(X$BH35s#h zuzYdA^-@FyQ{==o05HJ0w7GrT0u{PegzhxQm)_JDwVj#;w%AZ`siXv~z(vRppxtGm zC_M^>^?7GdC~Wt$z;^(UIM`a5m1D3<1yiY{zWuo44mPSo>#okU$LcLNSS-LL1x~;^ zH+mXkvmW*^0V&jdg5`n+0_7c!UxfvfC=zGE|FVT8mka;qoKyrK z;&d_)VX)`QjkeI}n8xZXL92DMK?y(gyk$;V8u4J*Oq7AXz|GMGWI6^Pd9X!!dw6Af zC+DdEDhX3K3h{rHX2ty%8y)No(W$a=fO*`E1X!JJGmNaVH8E#VUsiem&8I_{cDj%;8x&<1BYu? zNRx)L4?I%^I4SpHc>{b0F;v?g1D(ykSO?k~ats9v?WmoPS(<;5k4-6ZEO8}adMOQS z^iKma(S)EIVf#mfGjE05F)r>sjpXwy49uYXsjaH!aq(G0hB;^UMGgkPonJ}s1!mRb zuK@RJU--5H2R^?~mT2rr4eo@2u-4Kjry<(}v>bZ%11Frqr$@3w~r|85wqt=oQ4VGln)<7ip2~2C*kDD>-Icf=(rOi5|MSIIrLh#5&z=M7{m$ z3wYZTPlNp*g~Pfhl>1FhNN@KOk&Vw5VAMBeKPm26%rW-9sMLK^n8Hb&Zo-N_@7GKTwNo=1}mAl@TgifPEkm_kS-=v=<3nEga>VWr2Kf+Aig#mmtj0 z!ss-4SOy+SXv0;CkPnUZ#L0xcPW+n4iqDvNji~j9C*Oc0;jumc9MyN=n7~c49M{`rDvUTzs!!++-|J z@xTTdvVrB5k7gkqi-(XIc+=dCMh$1A6Dr6^R*EB6UO46Qu6jHks@31f1E z2~@r1rqS?~dSazWA_swaTn0_vMqqiS;CVOUh}!s*pVq*g%YKeW9%xkGzbHZ#Hd|ST7>yL6 zKO^1}5=j_{@l{|J8$d;jJ0mEKuNXZ&CiO2i<(=^X$%mkPK|SG#5#RE}j}b>S0S8~; zZjqa#V_c8Hp3aPO=Sq?((plSsT~DGCSv}E>_7&*WsD63U2tYZ|A26v{7t&`XGMs+s zl$lQ-r0485{T2#P8{Piq@Z%eEOswULoUDJk=_JK28p^ld#N}`hEwNg$P42MY|KpCdVM5SC&OfbR`mZhY=p2%hp)M{R+{3;4`*TmIRn0UEUK0XH791dJNKnlFDCPAe7~#!G5$ItqP7xEwjUtl z;(I*8JO&DZ9R`HC!~h(^WpkiI{!uWf z2z8_;kI*6n4IyC0d7Jbj`h3^1PXq&?GQDYugs~x!+GSh?m~kYLYU{2)7~)OPVyGti z@CJxMmHKQF1J-4lH9ru9-lc~W`k+QG7@Ib`!-ETOw%s~B4zWV1uMu-)BtDqlOFwUG zcq7fg0$a!UW@#))6aODq@WS*0W%N&aNIlC^VhsC0Wct>ul7{?eS{%z|0HsbMGQpU_ z04xLZFKo8aSSv@a#W4Z-AF&*6f@)leK!A3XeP1li+q8z-ddQU=b_Gn-V5>ae*p@U8 zTDACmSPb|PN%ZV3W*_5haUs?ds5$_{O-cJE{zq$q<_n}6c0DKs{6axCDI+qNdt1CF#bhg{ab%W@qLieY{4c7{9fNKp5m$@ zNfQpUvSb^&R*0~e6*kwMX;*8#%6(H0_!7HgdSs6w2vc8Le3S}S6OJbkzje>Zg>hH6=#_@MbL?5E! zjZ$jNZQ&+oEhwjxm{?PChD|V=ri~myWbh6aFEGcqb*&Hq3+t7kavgL=%Fa@dl3vi~ zOyuYs4N`~^?B8Wi7c!aF;7&aoGLQ*CuV&ViG?&g^L2=y=S#<2QJK;a-pE@Wi&+*9%_or0N6k^r z&7KQE2V|dk=I`|HNojq7E}VC0=yDSDh>Eqq&4F;?7wN{+1nd8r|vj) zUWfjHJ`dXgy!0sH<+C@MOYNiXEgm_!o24eeQl*o^13?f|oougZve8ItfLh7l?fu7B z>k^9gXbBO`%{cpWIn~@Ogb1F!EWmCxT1S$fwR})WU~u9-df8-uw5W+LyZxz09;F0> zDBrPqBOsKamEGlX5s4V)umYxdXNg3u)tS7Sn$-<99W0L$KH`vTn>$>dferiT>Yb8A z_hH`Pxbb#&U9W(!Zhs%m1D|^)u1X^T+?SxZ&-ROx zFmHr25hNHr8mEikf=bsieU2Nt0OYOFUl{r=Of1|JZ?nJ>045V8>XAqi=jJ?I9SnX% zH^&|CjBwKrD*ODymk6m~>9|ydA2jsI;Lq~tBy$hh!RRf`NW!9;UnK~qtbfF#qqM^S zW(lDQg%n6w*&i?wx#mm~Wu8a}+~b=yTVo4p{G9YN%#lIcEmI88?QB-r<`(Ee(9cS! zR!Xu6N_VUIdYXfu@~T3CIBRs9BxYISDWaNZg?8zb=2V^jy{=8%yHH*OPR!@VtwmVT zCbgI}G6?D~RIoKFoTJwk*gMn&$;EcqBSR&i2;8Ep%u3yclBu6E+YEBD*W*y%s^swj zR(LJI2qMkS30BL(4d`OKITwKWB~WS!`I_n%nH|5+}XWI~DR%4mhcihl${DZlp&^Ku7`OB1eF z5Mt>9gbpg9z4D(@Y{p)&2lfo$(0ow zZeP}+j~rCtI9DFnZ;cRuCT1!8PcR#28?8OIqM?7#GukQ_nGkg?bs$n6K=*_WnO2)V zgySP2D1PXHdc<@|ykWw;OaF@4pq%_1Vyp3*%J~bc;4IwC;|5eT*i!B0bJMuRU`x%{ zv;v;LyV90Ky0zD3!~RO+#PZ-LILZ17h}c70`5%!cA%udpp=?{3FJ}YYY6;E1M+?d= zurWW!Cr|bU3re=Hrx46mujb@$^=N)7Db!N`7rAu@Re&ko>46B2drPgD$P~bApmS#! z(k4E)`EnE0-@88hegB|OerNX+O-Ohuhf3>vXosry+TJZOkbZ6;yNRK)6n>NMS`N8m zuV3#%5VDVj*CnQLs* zl_@X60zW1-i=1=*?{qmLV%;&}x(%wt64~Qcdss0OnImiNMj$1S04pC3IvG(^ad8R< zkvpWhJeIRGj+MsVF?OB5`H=TkgHc59(to1oA51x<{iZ{sWJc8{YhX?|5j(6u=%|~) z$4aG*=fE%UH1F=x-G;e4Z5c(HE1rD(+O(@%7!*pP}v$+)p)X{8P~t z6e!!#n%nDDoEvNwusL*m@a-;}_YdYp3z%h|W{q?!wtOeq)L|Rtcp3Hn{VNYIrz)nq z6eiRM8kFF(wkJI8YTC?lQs08xAn8^>4(qLT+#&PzGfoV1&!BOWUvoi}feorXkVuHT z?kI9f=GqQ^8pe%3e5qRa2)Z{JCO`50VRDpi8elmf1dRH<=j)6N5LH5gj~58PMYiyF zg%UcU+JxMtRJ5vynWVYf8P}JTP!C|1`tcA~E6h+|QcWSa_?yFAQ$QJK-ZnDOXLB!H zMyAO7GyzJd1?A)0kslneSq8$Dv~2u4v5Fv_Wlz=ePeuwLSK4W`31Tk-&GKd-_6H%y zOmSZKc*D);A0#9rN+HoK8IH6MWrlp1!osNSE1U=ahasq3@jD=OyW?Jb8mxa0&&e7> z=ufq|u5pE?EPFoCXO1Kiw^X|Oc}Lb1F&!jKYVAD*;DvyH)AfV+I6Y8nfIYoV`ZX$g zke7@C`mN3V31@|r8OzNKE<&6iK0{^zvcATM@#x=tv24s@4Hm4)gN7Y{+pYFJE# zzW)fA2^+$;WRX9GPq|0Z#4y>S!P4{{ayjhYDD*MQ;QC27!@<h7Wi$`1^ScRCu&1u6NcAJ7bE z7(eAPdf5dTL6KwO%7Rd|HusuE@#JoKN!g{vR7q;61; zPvkJ(VgI>Z%+uY;SWej(wPt1V$1g`rs0l7Ksl=Qc@0^Isij%9lRMD!+X|t2E#c4Z4|hUkn_e_M`Ez6q4u`T375&%ik80iu=Z#{&8iKU;2B+XRA~~n2J<0X>px7!L*if z_8Me08DK+31(TazOC0UEVUEO%%NtO%IsovWg6Y%~@I4Rr`RyZge6WAb$i}A5MAT8H zxVTz&#lQeurQ<5Z*@WBG5CEeb%kF59_3kE1kh22pHw7Mw8bWyAli+W6I^`u-@OC;cPn5gHP>p)*(aA9Hx zLmT3JO?uO7IM~~d0O!LBgUOXARUUSQDAcb$_qarcUtQ@_#@aE?K1u-B?}5{S3h^G^ zwOm#HZ^~mMn-atPAbUlifx0;~$|(cP1z{~yD=y(to0~CkEOG%O0XY1P-`}wFt&GBW zb}*0e#9egahp6Cc#>Rnp_xa6OEtC z)?;YSQT#f9o7^D-6!`&x%@9*E^m~v>AMa}XG7Em%qa-&%3=grh^k{N`G z3=tBQZGJz9GkM(r&`0b%-m>|yAjPd&$}ViHx(1d@Y{X4?dLY)-QGQ$zZTZ z)91l)q}M#Ot)(lhumcbMf-nL^l0M;Fc8*PZEa=4crU_P+KsWk z*J-X*_`#_v@8KztM0>hGxGm%+5q)iWmg3wSv8~7_SX}T{BhqFvJ)4KbT-LT{nJbpl zl4Ax4j#@}+Dt0IM|L(m3om+(EyQi1dGV0iIQ*FWD)0}3fkHDHl7N$+*KDRUyx_SGu zk`F_2aizsWQ}ujwCD7tyYmC|XBFdVs?c+d}73PQK2mf~QJSgm&HCkB1BY)a-c@5!g6E>#6*T)Cc!!TBPey1y_B;1bUd8i4ld9M=2h0 zpy&k5q(j7V0ee4W$1_D+8cSSQ{ujJ60}i-yJ{dUEwtrbyt0n~LzRZQ2^_JpB;}M?M zJpqCDc$FEAw_)vQv5mzC^eaUIKd(`dy~xGqYkreoEPtMt2s|BZDUPA&oMQCb_g-HW zA5Jcfd+%{ge}_i6aZ&;!Et|>PQd9U>eb7#-LPyS;>|>YE}8;p>uPuc z((v7OA8>GmDbdOx00>F47b*u->Jb>s(SR`=IwOye4TW5KcXl|q#^F$an8IBRTWn70 z9)+NJ>cIbUFLkRWB1$`a3FA7Quv}l@+JH({de)&{tZz{@TD{A#pB2uQl5~dQ;)IYfW^aWqDgCGqxm@+o7n~WXDW9X^3mD?Iq{9K^f$X%)m@^zp%WCx+*;mgwTB!C zF_8i91N~URpTnE`AxhqZ8k^?Hs0wqb&T$e42wiVZd5A`SmTao2&?uyH2*sbFRi$qD z0jYU?*_(c)RkJ_4%_bsJ{d>GBcwK0*qXrXZri*JK40E@xQRi8j9~e|C8wnwJR5pY1 zy%GT|s|;aa>_yT(n>mx9H!0uOcpHQn(D4}DrJlAt2UDo)rv1EYNEh)ZR9sj%Syoco zkpG3N%;TNGGkD{Ss1*O9^nx*l!z{P3V~VCk-ujBXs;omd^_h6pyrjZyYX7(|87SAC zlwtE}1_n!i>)939W3Nne(i)YKOevRkz8V^d&6hH8r3CN8-ChKvGIn~WmGX4 zf2XuVxsCft;8#e5y$MuA@f{oO$#utmf0U6F%D-3ObG0rJVjK4HcsX?P_^|5(@V4}% zcf|t=fY?*9+n~Ww4Oy*&0D2954Z9p$%eFBPBzy(>lX6a(0>f~**(mJU8|JMg3mD$U zp8ZX8XunXfrI^pOL)FGdduku7gbfz;tdZ7{jt@|U5~9>?emZ&ce%D{-&=y7}?P}0q zCFv6FMRRQ478^u%NmVA_j+`RJkua0UvjAiKdE9|J?{rBdVg>}1AvCcQo<&t7KC4P{ zQ+G{Rk^D}mzxBz3-lNqIb&iC)&NMRVy)I^=E28^EF?L*~$S;vMHm8 ziYZVUEV;1Ljwn^l$pcHmXr&ro^3}U1`$AIEca@FLli5vQdN>PT4p?{mB$9{{+t(!n zX-hxhBn{3=9b2UGOZR%20p_&6=RY>=htH!HABjP<}d*vYIy| z0kAxW@`iUWit1ui{V>J&v26gZ;-6LL{{+!iPhl_h@eux~T$_ zfkjlx=rCVIdqjMvWKtuqvBTkM_%vp+Q6ri;A*R7rVaD$@+lT3Q_zV2Lr_KNECTTtG zvGk2^3Jmqxl#lfNOrkNt@US0G>|QCe*XhSt&S88OH#~+DmJDda$r=$>krX2k9DGkM zh&&6OKBdu&WDkBjrc-*K2q81?=vj)Zu5Te^H@@c3o}TC_0r5=j15-Ba z8ize=E1L0L7)h(l@oUmG|a`AHth_7uyiCcQF;;EDF8gtx+&4 zUtmNH#kTdjjEH7gdosfd3q10hv@Up?C4u;drsJ|o4)KaZHll?f(E-fbz$ZBel{x@` z&%HObjCb^-X-1`s!k>bseE1f63C=iTFq<3brQGEZsS@}zTF)G$M6TQAo5+d}#s_3@0YTD$oxZd43cvIn)gv>m79OrmH;!)S?M;d)QD6h`ugnIx;DV*}L)We~Z`g z)=$!sxK^DV03+?-Qd+(JbD-qv>Dk`aB8?9#$`dR0aT;=dZ<7|n(aN7LiAAW##8Bfd z*`O)3PmlCUHNEBsLJMKI3Nz>qrAXScpPQyOPKPqPHczuOi}njtkMh)Le>_E22mb@w z5S-Taw(<@3n}z7)qE(8CexH7va=ej6-nv@xjsUMw_v93DC~bBSBcGZxq0a@S!$`@& zqmFON9_`9tr*SYt2@%vjEhpASfxny5OJ2DOkjKgBpd&V-9EhqNhcrw|NCn?Iylo+? zjJv?({w?c#;_(@ZC*-o;4tiW8E8o?yS;zXlKa` zo&;3Q2>XJLF8(rWgpdGbN=QqUd5j*aqo9OJTvYeSB`cSZw^tLs5QWo=iS6;L$uarm zjBe9fyXC(^#dZYfTZ@|^+N^ym?8+AEi;0iNigXJ83pV+sC^AlSj9S5~+y#W4g-)TWdtUbq9q*TreGZonojnXDHCkW9iK$t+hJH z!GnRy?JU_mmNSpr_7%Wp5JKI&N-9&h1ou9#>P-$PKEr*EWj0ry_#XE7^+l9f%C_*yxguIL{{%pJ4#wPDj`pofpBv>xH`8BLmk=*{gr{LF|nnTU1Jm?r)v+F#{0!yGJn@IkC4NdEAUIc zV=={Cv-+)pnH|XcJt@n05SK3UyvYPN7;*g9gcEVs<#G*h2ib*w_(MLnqbjujiPS=C z9smBXQ$&rzpe5(NuZa_*wJt(jwZp*!NDBQP-3i!kaI;q{ljZ+UWF&b)0`(dN1e?oP zcay;o8EWawe%xOP@c>HXM5DYo=ar7KP+k|0a@u_~y+#ZLliE6nn0=YnT1}N1=q!ZF1mr~IWj$}a6j}{OW1l5)z0^{DW zF*#D^4!ux@^n|pg-fsFI@WymHv^22OXTCl0Q(*xS)e(qrGJE;w#$^%G%?vA1XB${_ zz@eMMob?ml79-#l1w8OT5yJ=R6BOoGkD|b<0$&`zf!URk z`}G&;?|)&6r>NRivD76d(@+j6@4pGY=VZ_9UX4BdhcfP2nYZJ=k$B-9se+A`ag!PY zI5d%@HGcbXy(%xea4)j_9Yvm_O{^;6hj|d`&Uv9^VrJHRK}TOW+>W0GQgHvh&`CL! z2`w_3ISU2UT&K%uU%=&4t1CN2j+?^2CIzwrTP0bV`nZ^}FfZ=F8-94TEe@-;U~BmK ze85B~H!T+YkmB&^jys*YBJrDd7O|_mr~^6!88x_8xE+c%PKWYBHv#=>Yb(YjjLFXU*{bDbZs@{z7o2)3=8amiV_iEj> zOBfOGyn@PIQF)Wb8z1sfdvV@qZ35SAs#{@72@j^LF)fG5GS{B=Xx$B()XJ`6j~qgo zkv{Ijo>N?XA#u&$>Ab+ujFj&(QE^2CZ{4>TGyB)1Re6{}3dt#a4BvFUrFK-0VI+9R zVh;(8YA0m%t=$+H?RvCL6AU~uxx_z>(vdnkPSB0~{|#uHhXRVoy!CBaI`~Vvds_Z& zjgTH~)WRwqUN5mcPY!0vHz)B|Yw5;}N!-Ye`Ag#1yAl|E|Qef+No=rO<)ugEd__aa)g`drJ zJ;atq!qZ}B-6Kt&R2i*&#@@iKpUdTSXBnYs=gGeMfrNP6UlFA^_IN~OEn=1aN#8BV zMW@@v+qGn~Y!Jl1{hXeRp6u)T*zotYfdxwpJO;r8k*;M@1uRv5vKuQpVYfkOanP1S z8J6(EZJ;$$eoOP)EVXJv`K~_yoP}rPQTB~@t5BxqKY&xv2>~u{OXF!F}xk z#k^QeS~2Gd>#yDsO;RCB1}7VCNyZH>^1sO2sOSB6X<`|w z(tEXGTcC;SqdBz+VrWSo-;7599)oUn|gofrmm19>I|Y z97o(!WWYz7GI#q3^MWGgP1`f;d^)muy#)M2ouoD(@8DjEJ98+gDF0~ZeC(KuzCx-T z0YF3nAz0Y&>$X$bqaEqnaC6<}6YjC4zPrU>hfANQ=t2-o9X)A~H9D&|Rb9L;Yf~jy zIv}{tA3}?Pa@P5@AwK1- z+PVYk(B@~g&d&>Md zz?ljywAY21KH<(+@ckKcHX~6*48S5L)5W>$H~mAsT>tSU!<`O86CDndY$Q_SP&vP%iLJ8hwXJ zo`N5=S0XOm2vldH96l$a($RT9B@kA52h|j^{1DRm3`ppKzyL2X95NLE8>-HncRa=` zqB8j*_6}=g$(LOj=2skp|IZK5-3pAqap)agv{GRm?x`$DDox&d4Xz5WsvR6Y#d8w~_&Cn{}+U~nxek9sf4a3Kv zO_qWnx^8Wia{~!UaPKBjJ5RWge4s)ZW$MyZv-nHs&a%3H09+1AOO8GLD7?TrH(_`) zCI3Ai%S7(hltp%*6<-L`<5EdJy1-%EF-3Sc_HqtUBg8ADSb`w>achRcF^Z(|i?vmd zckM{CpoFq`Lxk{oOOC|_6wgWY?2#5U2e{5#O8$z%vrE^5Q&;`38Xw-(pj~=*&GwS_ z(~LX|f6O*e;vS3*-xs+ZtQ!Y1=~2)@Y_6A-tAuT^^vQW+%US~F6!zXm<~~-G%P{Em zCvaKbpB2JWi95FUdbZu~-O`EUG+&2B2(5Yk!$@4a*)oKm-@?pp zsp5H>2EqBI!-o413@3;w?a{B98Gl-T`xYZ3f5JHsA7|`35=l)O#{tdiJmJyEnveA` zRVeebjf*j3`o*4@wM*K6CB4NacaN)WyuC16_L6DJ)qE+GO}7DQb%?A-V|nXmV`7Zh zrIUw7n>VfMPKkJn#5tS7*bjw1p~y!UE0p0sZwnx=9&$lus^<;1e3sllCHA*HIQRV@ zK{IjF2?cmbQ_6Xh2WKW634AxEA<08JyA@|-o+~<4SN7oa>aJV2iS3hor7HP;S9DsA zE~@@fGkL4q{Wd>f9ZTUzw9K~U3H7eyq(1LZK|r$9Ggf7!fF095TGUas!#XMKg@d8; zuqOlCWOYj5|FeOLyLRPUlXm^!7k{OQkKBL9coH?l?(k9e%Lh-O2|2=&oR1F6Ehn#i z9>-RJV^kZT{vM7K`bVBHgzN1e=p$0s<@=B#oSo7oS0;}tW1_{z`YN4V7EfN{4-M0^ zT>ytc9!4jg=Ye6t)H8I3M%w0hu=-&-W{wwIU8BYPnJ~Vvzn03bO?mUa8+huo#NZWx z1Qx95A25sZW3lECcM_FX)efm~<=Bd~EYj^+Z)S|}b8lc&Nrk|Nq6*<=MEQ9220fjW z*8@i{)u>9ACvjGWZ-m9`YKDGGq4<8ANv+V2Ad1c6l%bq90zTlHku~#qbh2eM4m{!m zI}ol>5NfU2bzM$7|5GUclLlGroYPJ7M`~rv6eW`>7APkA897wTf_{Q=5%}H9Iog!) zg@s1SX>Kx=EYmUoLHHoa!;1LIp?kwkkZCa3Dn$kog*5){i_se|y%_Z0^cdfq>^t zP|kd4R|WAam&iTYh5xH0Vs;fGO!2KxeGvWjCbYepQCp!p?VCc|bLN%rm?pI&{~PTu zCYEuUXT>H2$727(@lJLh07^i$zmDoi0-;;=ec;nUN_)8brhc4wjT%eI*@LQm1@B$( zJ)q-4m_uB>Bk)R&gEUdUt|7ql2*ZZs1WqX%k!I#3%>Oxw|q zs=O|GyYlChEY!>!m^l5GYQyc4)7MX5{owU()+s5%W7#T}2cFQeA22O+_Hlg5=LNlC zI{m`Jf%}y9I)@sNLi5I0_yHjWdo#mlE{)Ne>+&uvsV8v7>6wQC*+7uTx2ACF3+e3d zG}X5+br|vw`DZ8`0$7EjTL^N_-5hqbZRKNXOnK{NuKO~h?Wyj=z42XMHinp@*l|$$ z5e2b~bB-?){m%?MT)FTKeC|KF|7bpNdp0x^VeiPHv)6O|_faMi=)Pl_G!vsG^X6Qm zdd2xB%tVG@@h%0D-rxyXNUk}hAZ7*r5urhY8|CLi!no>h$FFYdL{qU3d zR)m%f&vt>rh_d>i{a4$w;0Q-B#Dfne)}J+~AA&Isk}ZY#@%0Xv*hAr6^Fqa+eDEI8 zL8c7On7N_q_=A?Yp4E%_$%gCYa&<*5`R<9n{0JKKg`0oZ9@jcyogp z2D@w`BRC$G6{>jRYQ_mvZNysoH#aFWqVH*6T8~}7!aRy0#{)WUn>d~E+>bxGHe?x{qCc`~e~YJY|Ni|#8AI%4aqM?>QgVN+zbpcpO$w zX3+7z;2hx@o@3(>&*`L6F)x?_o!XozuP0j(ZD^T!`9FXA!W{$*sLmH#ev0UW{k_>T zyAo9NPTGx<)6*(C`73FW0y{7Ah`CuSW^-u)xet|NbYY|ja)0Yn4_Lr$wBOs}00PJe z075?ais_!KBtSBswny&HU6J_0e2Aenq5-dQAOAYN`wqr0)ei$N2oVF05RLKpK|Zch zU#%Fd*3Rq3Ql3GcL;$)y+I?s@JiU;>1PHUqZUD~|SoH3-4 zKM$rkiQdYZDx+k5waVC8VmXW8rKHvINEI0$j1IuWTj3fBjSU z4(8p@iuO2YfKYM}Jt^}P{1h7)9)?O5+(?7H=7?hAAK)-wVQj0^+Rzi2r=QJMZjJNLbU-9 zkc1@dCoWd!Js`$siut})rBN#L?0ZwFUsigB#H2J3huZ`YygljKl$QQ` zdvZ}|&E+(+nAXh+GoA!Y6{7wn0d_UZr(XKGeLPD3QYDnbt`far21~by0hNARnS!hq z*u+fFRm)X$_dgL zZsAfWR;3#djNl4dD_V_3du`d2-xabcfCXgynWz8-ii*+HsQwx!DN?tmJu~EKisP0{ z04)drHRip_A)&0+1!Gt>#tDB*X=d!+D&{Z3W^CRNv5gIaipm-z)TlDx9mrA8t1kB% zd6I(945r5x zL=`m3hVX@)P`9}S>5hK}m|aQMV)HHjV-{T@n#Qu{stiMz(%u*+RuOI?U&L%}sd^v` zQVR%L3|~>IEnGF3*_C~GiHhN8``)c|4AmTBOco}i)*s3ed6xILOvO`Zu}*Hkbo^Xg z7d?_L$JsyC9&w8FEM)CYZLoR2^ODRoO?GG(iq7-|5`q1Jpo3BwjA~#%Yi#XWcy&ej zL&kj7byF~k_NBIAfFZNFW&}nCKg%tS(`trK3CAw1!T1egD;;*|Id%#(aca*43GE+i z`S)LdT7U~7r6k&xX+asgi+v6tI znW-_gIB(3@D1M$EV4aY6y>R~o$ZoGSyhGD}R^b>jo242B2g1rjTY72(H1p~a)^96- z3h`A_V+8?Up!_=^y_J!|tFPqZ;$+$nIS=9sO2Z4z8L~Z=l>@yUk`Qjn1RLLY z7)peaJ8Lu-xEu&l%9NSV=gfs8N8uGr3j3f%0eW;`@fMIZUGXt?uM$vSp5%{rK+^PY zJ=b#QCy<{4a}S6EwB?0RcWOn@oFOD8$8Mr>pL1SSCT!4Q3}uTvvuAAoV;2^=i{X&E z#pXe4zx3qY=t3YSC7PWA@@YB*6r@3VDK5cOuW!Jd%_zN|{lPfy)l2GUJ6Q@#91j z8atQVTc-!4`X8{61!nrdCxJAbj29lDJ_G$(qGvzTfK~hk$`JThqd)hg-M><*i70b5 z7UtP|W-+drl&kuRwktv(ePF6(+{8WD5-~fLEhf9{9TI1d#TX>xtK}PTzihh*xJT{W zN>%9PL?T|v0EFyPUVsZ-4fDxa%w08Sy!hxnoLHtRF5*&&xHR#;Ab=ejr8SYiWzlEW z9=po=ix{a#@&FQEPMY$$QDVt0fS9IN5z^*N=eYg}%);0m6`X_2q;$*jH*Rd-@~TSK zn0X&h??q{ZfJgfuoL-7ucm>FXA+ai-0C3x`EIZjf24h1)d+7VQqdyHLzTzNfv3oT? ztvx$`+MQrbbzMSwV{9t@r2g4daKH`AHThwt?O4Hlc_8=1cPOr~9dF|mZ%?j1vT+8{ zNG3ajy*^^=O5^o;F3?Q8lN@!2V+Nf zwIZ;52!c(Ms?IV981r8cbPOOy%^~Y(?dr-BrKD6l!KYRBxg&$0ZFxY~{9W0}Drh;SJ>|D;z(7ZY(Ey6;1InA!55|O{?Y*49P z*pwShbC!SwP{heEqH}Zl(D|BcSr#M>i^26*QwZdYkp}VzmGKDEj!q)~_aqn!+;Nws z3L|xB zP!Z|yMZ%^a;YI#~Wfm^h-fi+XPmm{pl@W!inoe$I2FJP5NbPMdoLvgG`4LL}LVo z$9b2k(!(CJceM8Jb`chn z7v`(ANGl0j1J5u8atAW_g+lQ3@km*H6Mzx4+QcuBBddV8=a4Dwdr)u`=qH5loVi&c zSxeDL=%D1o=|_aGNv#zE`Vp#?f|1OHF`OHU8(?tz8REN$3+wRUcq`}lbHHtN6AGmm z>o36=GZgjQ_A;<~+k_LEEO23MJCgH9DzWW`cS`ucGP-9Ay($xHx;JAxHC^C6sY*nh zN-&3fp~pb_l$F9g^kFE&DTEY`&!A~~BxDP{m((y>0`BqBPB60ao{qb}v-8#&YO)|> z!zQ(s@Mq9KwZiZel@>Vmru;DZX+-$yac}^voJ9U_@-`(EPQ)qfl+9-t9Uq zQr@j{u|0kt8gQqz#6zYKySM36!l7ZCXpuu1#AeiwU%Oo_xu53{SuVx)cxo-ymOJ!w z3x!GHX~0wuYM2jzOUiO|TJPF{wOFTA+o{2Fi7>z_?GJ3=MgpJ=M1fWfF>fj-wY#ZK zglnkxR;9bfTOCyN*)J@&3KA1MP|=sr}``?Soi6N&G=n#W5|Zd&KxIH*M>Ai;!ZL6XMLG~N|$2qk`?$;33Mw72LYe|D!TlF)Fp zA}M*?*7avDN8AR-XtPRC=fM4m0k5!NT9-iAU#O&hT<;m-xIi&mucK3sBg8!51Lc%x zEn*R+ar_+SWY|bDHD_GKn}Q5VH?AgZ<=d#7UC_XCXvm(@K?eKU7py3F9r?gkAAA&0 z)}Bq1OE8IgmJQo;8Hx>r+bIbVpui~@5!W+HBX2dm#0igLdq!9Dm&?DL2V#O2(WE{9 z13tTZLADyGu!6PzOaV0J!hlw1mzXTebDlVZ<^r#9c>N{iP+zGY%&c|pi@tk|d+NcW z_)+dS5Z1J11GP?EYKY@bQxz9M>UMRO?l}Bjl!WMw>xSr7+N1gr(reCf=s$dt$|=;c zKc!M2QPkCYE_1JPOBel87+}D$F4@qYpOMIKz--Vq|2=Mv5)JADj^)zT3;Yz~Sz&A& zqTs1#MLa@`xOzt~0S$A-H_1(czEIazS3y2)P|n=MG<6v0$NGQI#76E-yCSkgFxO=4 zpufA%*%&6Xh={_O;F}~gkeN=ExFlR)+pF);(~h;>>_*`|OyAhdmPQSw#sc(0)nv!| z04Q@PDYNf`%eA0UV^bw~5UD!_59dL`?jNqQv`xwGn1z*xAX}n@` zMr>fm4~&C_Z*9=zp4kQcOicvm1{2F;NhD`rfskS7PRqPCOdf1D0qD$$1CKefA z@kdh+PUJb5eG`1x8+-0pp)!0GAVe`1(vcF6mylCqVJsK}k*)ox;xqTvg5_#qetP#0 zy?#QU90=Ki`9?6?T4P{u$57>do@OK;NH24#m`tC<{T?v)SmrtTWymf()cy3VHm73k z8sfqo_Dq+B$!UT@U9?e}@nIJVYQZZpBBhRdZ>b5iQM&U4%lxoX-Ow)k&mN{*eG`V_ zI7x=aTxIt50!))XIg;p%p-oLL_d-AberM;j$Od zFd#_@?mfrLHf%vK;3w31D;f#jyQCH52#Ar_-ymc0y9cd0JlcWYDzF2tuYKMddqP!x z-ORv?u3EGOCmb~Pu(|a|W)aRTXi&?u^WfJFN{Q;%sD<$kbrQJTgQ?_zb|t5oPK1sSLm(8u1#e^;s)(IH!;`Hj2|efNKpQiw z)~TleR-JB4AVy>4Qxx;-FNC5oXAGsfMjaxJ-}w7-;@_kG5BZshrQcgo^e!>p?G-vq z7eNUyN%vD_1yY^3mgK-PY+?q&&CB9x?sc@s+Hj2Rp_owWtwi9-DvByrG2g@lCnCkk zEkrd#?5gA3e-+jy9IF%L9+st+QN?NR9lh+Bd%=ZUYzG~1QH6D4)MnD&=gNN1qdXo8 z(b8e?PU$fb{{M(n)F_OS+A)HjXJLSYW%}WJuj^X3%>ACPmsw#PQD9mqwnk6e&LXtOVO|B${2-e zb2pIWlM^B2`{z2C>?!_7J*8~Ee7-w;(3ZwmM}2CDql(-!Jg2bGFRAE00}#?ASu{0T z@GJ?!&19oD%K4tqKDJLJP}B!e?3RC|p`?60cx1kaNk%Jz7s2yF&C;yGOo-8vS7lbM z5P0?Mi{U@0?ft$4>hilMd`^|OJ(E!I+%o5#I~c2FtM%nn#L9^T5)vCSK9@vupN`2tcGvNTN- ztSyB0Qn@E}&zrZl?vCWf&M<}l#Z*iqsoDEugJ$dMM@8hD+-Pz}+*}9gpNG4qTo9gK z5PvrLm`bblBaP5dk2RAbC5`g$aqUac!*m~$go}l?Szi)yRg4BG%O+VlQFxa@ac-6O z*beNT5~K(HOf2oc5J{`3;?RbX!e~9>3ZS^eR$F0)ps`C#ysbwd#z6A?mZ1i@s`=DE z<-1XTwBrZm^|jJ5YhiWVcyACE09N7S`WWZcru?1N=9p5CK1qQ?WD7K)9j zM_VuQHr%ClzOdDyI%Z@I2kint$qPcs~Ml+HT7c zbD#Gs(Wdf_NXIVz&DtyjQ^@|j+H18}`a zc`|2U=Hbk_s0>yQgh&piCsc{O1z2A-d+!S&Doe`zT@?}Rf5@ZsNf1U*_W8)1uK2aF7G z0`TTdmZ>OJ;0ZlM(}nZC!-#TLcq5G%jWT8gx@V1{gr$R_dl?bp`hvk2Bo(LlNZp246j!F_}Uv3iLj<`P9E3_Xc^9Q5uPbw*~UnPrlO#tN_mn?|m5XVu>Ul zK=Q%Lyh2=^3sw$7Cks9l=d9OD_dL6kB8EG?PcZv|JOm%;?{Ev_eq*gIig?!Axq1s-FhOH$1_jc+fke6RvMCPz=QdmrEF9 zpkfEKEFQd;{X+}v zX+YqDmYre#fqL>|f2g?2wpn6dP+Y9*3IVU<&j0Lm4|y;n!DZY)Is5h2TgBraSt>Xg z{0)-6mR6jn5>*AtIGuvDAm zWQp6&w_zlT{q7nfe8`SFL;Pj;?MV3c(hku`V^Qw0LCyN|eI-y?%OF0pgrykN!6k|H0CvRFJAy0OB}$=S}>aGZr*Z>_gU;_^(jBx zHR3=a=-|phNcyK{1D9nSxvVmLKoFqTeX%0`H#)=Xs51d{>?Iwae>e833kfHpt z@Zl*x~A+pm6! z+)IiK>M$1yV^~jEQwVp#T z>qb})Vm&2`UV0LwVKiJ#7=B^Ikd*0U^<*@z3q!u!FPo*Cj-^VBs4~7N0*SN9`D`9* zu56qv8DKhh3o>2CsxoF$y0}mU6wheWl6QsByM`akfT00BgOx z`idF=?e``z??tO;pi`D-K<=*5F}P9CIqE-4`bdPfQVb#%mcf8^J+Lx)YoMm@zq7LF2v2Ps*XCTx|;6~5u5x&9*Ar$XKZ zN{nv`2>F<58Sk;ZTfVHH7_FWJ+3Bh}#J?$xLHiJ3Op96pFL0(hnK7$#{lc$wHe+xz z_WA2irW+8Naqx<0({vcqE^GID`=^;bM0N2uN3*94T9I+*f)hd+yGoP7dFG}c0IdDl zLa{POPno|L?%+Wh^2cBYT0{);R2$g7FQ{oodnx-8qB(;$*%{qX$g( z8~f8KzsBjepECK03=l;D?*vK5Vk6kB2%%}wS)?;VWzb0%p?ASdCtt;C zrJj@q%l45{;lYBj9pW?<%vBAKuGsszjun|LLhxYeMRI5(4m!eRi-u5t>G!TPY_I3A z;>NM{4B2cJY)WBZL(3)utmA3G!3#Cb^W?ZwkX4$Az}1G360#fr7N{@i6ajEPiba6J zXRk{z1d8(e`P1ogxM6vrD_q+)k5~CL3#MlSMMW;pr0sX2PZpJjL%m}dx(HNRf!B${ zi7sX0v@xdY2oP1ahUGC1AcbI`LXhGh)rNBSDU{UFOFo|2Q6QJBy9S}8=0(_XZ5TaA z7*zRpt6U!ebVb}|Qh91W)y1QyxjiL0s~Y2= zVvbfJlPGWWjW|$?^98ud1UB7l4SZAE+8aS|hSy46Yu{kJ!ZhdPr_|%1GJoDU4W*T) z)c*XX*6gwSGZM(|tcoh6vOLf-*;;=NNUaZljh`0M)_zA}Oht#B)kHer3IjuzqE4yW*{R&{c? z;cF!^qHqLr$3K)9LqphXE&f-3s#MdFSTQ)0#wSa}?XD{SMbg+Y$=ZQ>>bjOXEKM*2 zOTtBmbAsu<+@s3)qgU32-;CB!*h}XvkagzFw#}hmeK1J26KGVjDN92I51D{|`=z&l zkjgcp=KMBp#R_N3FkKP2nB93!aI<(MiJtzW?Yx2kc);4RQ*Hc zUv`_EWvlQY?)fu~I|Ne^rBX-;fUZF0cybfxpma!mook%1DPFug93gIaFv`tsS{yP$ z3me5{gGZkqNQ3x@m8`8JtXJp{TW+&@_bxQWUdm$!Jck4RaFsj`QIF==e>~iwox1x( z3-~1XK|na~S$3+G!Ct?0$eF0-xR;;Tr8t&6%e4Zd=`Du72KKjZS|R}&)-q2u!T|^s zlrrOu`v+g$dZkDJ)hb&He3Q&ccH_0~T+D4qYytV2}Mgx$k{zos3muu$V(JdR+M zJl>TcsiX4;6rKPJb!&d6A1E>y@qC^zQA8WSf14}L3nYZEo=UXvhlKL!5mR!3*Kt)_ zAnN45kRww^hwLB_dSr{ObA_Xaq8o!6tNLHAj1P=3(w`^w{3RV{0<9mFSzQ<^5u15T zP4~fxOf$R+UX11ZdOJR96SO48wXi=%As!n)HI^xFcwGHEsR=TwZ+d~Z3CSqMS5O+! zJ`paS5r5I=v+`tvg8NfNI--T9T%9{7-&w(uCV1wAmDFEOl^|#Pp>2SG*2U8>KCqK$ z%3&N8m#``^+jIoG_-rNR9l2gdjF>c0NRr1Eg3 zXhIJ00mGDXXi3L>8K3Afk8<{SFO{63P5Kob>xwfy`}|3zcm9d--rHWbDX-aTilz}h z6^}t=tiJ^ZOwFr}UzQIO?EPw+FCyuViwm{}?FFp|W;YnOJn4x**#VD zNZ+$iC3jNthIwYt1V`9ehELi3EI>&Rw`I>SmQ2LX!`wC@K^|gsmt&>PXbYO@k+sDz zbC7X|Wjai|sHFf(HHO~~fq|+vAFFEO+ZgLyWm}@y%4IhJ8jS zj3$ZVg_i*Bs56-<`!t$_Mob8svwckKy<@5Di*aeA?J<2rP>g53ZiQk$*x$EZW}!1y z9(w3a;td7ji*Zl5cPxAY+-<9on~axo{Pdn5_(?}Cg-dJu$ROmzp*b=#m#%%SLeCWX!X`9- z5cOYDTPtH8T}#y9wX>yQE@pUbT|NS~_MI6JKdPk|Or=r2z)pT)hC(4anhvH?eODZE z^_~?Hny8(wjR7_X0Ytec@(vA_6ht?L{VhO=LgHx-e88z%VQJ$#IihYuU|Z*$j#B#R6|ws?54lwz-{#n#d9l*87bX zaj7pL9qB_k>#O$;ZV|h|s`lq3ANR<}3OF}@!)!ql2Jv3t#e;3L-h= z8*PhFN}ej0lW_0Psfte8t~&J*f@;p!wJRf}9~5o`P@vGWBq4Au2p37c$!$dIj>wQ* zWI+t*CW&*bMJ4`p`WpWpDOV*NLYF^I=!ffI;hyq{&LvZUnrttwg^4DzchZ}yWJGDCGB|H;JFpm8tQ5W*8^K{vkGtt|gUbARR z*nD;R5I5-plpiix2Tl{g zbuReK_wPCx?cvS1k%V5#3MJ(HS)EG*h`fp>{f16Bi3qi`7Mh5-!X*B5f|L&rNRFq6 zZn92U#ms(bjOev7TFv;m^ile%AmPfIj{P{#Tt$rpKN;4xll_!9W1^Q{S%W?P_?T+i zdlhBZ4~|MC*N^#Pz?#-qK`YzFqxq|mq2TP&0l2dqS%fE+XXj8F+73B{ zx3A2IIi6j0;1IK#Vrq8t6!%{d=75x%)h%)ZI_LGHKaf*gXone*{y~a7kpOW)(e(|v zlxs>mXU_AdjAk6C{%#E~@G@^(Wx$Kk7`dFpyxbzS9Fl3at!&(_qD#zoPJjbA5iJH{ z!7BE)0w6j!YB&%lTIBT*3}%=8ME5(ONpb|f>v$QhG0kI{ErHHdZ*a}{NQ#Sh6GRnw zx7xTtUcfk?o?iVwPr*;0H|(8>8K%POYkX;FqiF$Vi>@^Dv{v2Jb6g6;S?LXAtOM}_ z9;Djf+snQQYhWp6o}`DdLZF4z#@`M0RLFAs-Ju;r{oukkl1~FwIARJJKjv z&NbEAA`*RLKTc~j-(Kwu9Ep)?3S^$v(wm-T8g0l;k5CSAU;_b|Yyn7ZEH{);Dn#KP z#?LXHN(}Tj)$<8_IyX|11hE>UbUgeNSt(9Hkj-B#X!7qxY=F(UQ(SsE!2~vO8m-7s z-v`@-8%Y0X!W=TmX&cgJnbM<$FJI@}WNO;QmZUv=1+dS^;WAqmA&Hk- zf419?mWrL&O=w3}fsXFr-Rjl{M2acVON+dTprGoy2C5mWrS_W|KF-NqXwF)wSOdM> z^QZ6n@qoqmx28ZcpGnPij%Nfh*{q%B2CLvM(`96WRS;@64+}E1vIf9)riP3`wO=ut zI>__+hh!;KvE8?D<7YgBNjHflr1^tnCngvlpbZ=c#f4)<0RA)u+w_AVk=?TLH_}PKI1_%V~a)U~aL;-t`j@h=aL= zseW7B+E7@yiYopL<(&!uMccsaN9X8 z?gLZOkjM`Ee&2&#oE5?;VBxn5%ib4qiJu1f$*Kh42KTQtGZ5`(x$IeZ>MYFF@cCCk zBTFDSJicJ^E96A_FM=QbhWptz7Nic8b$W~lp{DT6yL-SwXO*SrH&i0)*sTT^B#00M z%QmWX`|acyD^ZXG+!X}WKUF7x5Q!qa3GoI! zN#Eg^lobWZ!cs+w?UlxBtw5TeM>^lap~->AhmH|>Ovjdx6OKC^6niN|6Th?KwQItU zuST4y1t9+H&BKIg-8>-yEDd zMC}rK&f;pSQ)&=_vh*}41MG-D=H5SMY1?XRmwqHw!R&%hs=L8iOJ%Z5KIQTCd&KIr zYM!0%7(ztTdC<{WigWA{l6Od0e!Ezz-NDxoyCr=Sw0#&2V{ZFxuASi5Sa_0IvCGBq zQ{0iO0(VOS`V=qMktjj%$k$BqoCH6{h@U1p4TN*vi4i`Tf0w-!fkK~wwn;%k1|gLlM!8pDjN8}KtR%68Eoa5y_F&u&Lia) z#AOpR>8oK0;OEKg^c(KX@(cOdxiz?X(yMO0Mds32KuC`J?*ZWW2)19*Bp1ota&%he z0~jd*8b#{Hp|cJd$>cLB_O`8``w%#POJC$&ISt=#EKfr~^H-hgzS;cn48@{9C?7{AjO0ld;2(A(C-HY^GW8<@4JQ6T%KJqm%AGt$ zk3p8?cB6%UHMiX!`x27LTD1Q)iw!4APEkA_BOEv z))CYd#eCzY(}4F>#agTHcQx4A1i;%{L{IQf9^- z!TK_bZeA_p*{w&}8KTQ$Ry4=o-xbVuZ^Jd@F_nEo?GSX-yYYqau^O$QWS+`8WKdG8 zF{xk{O zLt!#Nd%|EQ^3{Rd$p#nz8)=l>%ol%(hp~>&$fz>Z&3d%Te#}JTu<3l=f07^9&`^B! zsu+u318oq08;6r_&XgkA8|Q+&^mVSS`p+sT5a|M&XIoXD$E$aw)IMNy@RXq0c^0pX z0{S^!oSC=NGXTdsCvaY3pVgs&$f=uG@WM1~kUC<&X0#xg1JKP$5B zHCDf`T~qmW=QZN$BRSZ$OjIg;2Dyi(p`g*wxrBpSSnT2r8R2H_V`Y4PB2nPA#ZN>R zv?vm`TzvU&DWND;a$lHfvcgk^q>1~tR`vA*1f-ohPcqz_Z{)rNom2fD4EWTN|FF6R z9*fjTPl5Lwp9G)JcRsEPDU4`cn04onGSWb<#H3F4{M$ zBlACaS_*4T2U5MFAE2y7 zrjzCTi95MHTMQ1NEvMrvQv^B!0}d!sLy>d;NKC7CBbq~077iPXv|Z%#OfgRil8`*6@$XJBEVDvh{?oyPm?V3T$TB>y=hTPo4*<&%P>yh z96SXTEBUP2P02~V_+%#PmHSK8_4hG))q6;DTEFV)MXV*j_HDQ%%x1*Q0eK26LV82c2=w)4H+!*+Y03RiAE(CzJ0pzEf|Gw4msR|{u`&Xq9C!wL4 zrSSZxzzrN=nh*r&#_Fz`eM_PTL#r7}MuES9kY>)ca-XS7*a;0(?wpRm3LL#Y7|v?# zIuFKHV=4sYI1q%`SqMg0*caG&8R7|~fl4Wg!7?Swr{j%1=#q)%1{ZEwH#+8>K1r|SRV+Fly-;T#&i-PY!r@QS{Qtt$ z)tX*d+hD^ocf~Lazr<4{arF@uAwl#Ytnwp8FF)mJT z=QJoGu5dN}%)tiFAN!wvuE~Btwld&a1OnDGS@``b8N8uKG^En^FyX7-vA9v$)p?`P zv9VL%39Z@EHjVgovJz;Wbchcj?*{E?M4N@IttO^#D$y_j)SLq9t;v&C*2o#rzG*0~ zhhA)7c(QVX7UTV}FP{=4`hyI8$?Q#@4yRP~JsiYiymlcVARBx#Ot@}Y6$s?cS^>*# zJf@4u%GCrf6 zd+~hGmNNL+{GUi)2TH;2)a7$oYebmqtVicuY>TQGR~n<>AsZ2nKVZ34RB!{P3kCm5 zLdD$CVQzHxKS}MbIBb3*FyjZjFu!Bw`u|GO4n_l97YFU<(tMA|L-ERh=RsUqC|rF1 z=I-BRQt`S&2Y;C)%=V zLPS^`!ZlPIR{X>ad+l|Coz#^p0N z`E8U(lBsL%%uXNkpKbaiPGDOIS2!QdH9rP{Q@HDzJoU($%IMNtZUAyZimsSkI(=$A zKh7qL)ZXsSSa_ao0RVb&SdR~|i;i`qh2!>XSLMC!{WKGndvn9eLk~A1nX#1ezaH%X zzD1($gy0W-n=XBOe=B5a>80>zGag`K9bX6@ge2 z8(wO}$Uw?E<+OQvG}bPHNO5Ds(*gwVpGVXQ^Ze0@Pv3C0FQU+?S0x#K{`KB43n9Z} zr-nZ7;G>5%atLxM1#9YaMRhF1Km0IwWQu33%jfP3*jsp?;t{i=c zyZC3J6>4%st;7pb9Mb0fK?TH*kZ~b|4?+mWkbJegQ6lXUx>!e0l!PCJ#sn@!Ff~dx zjjm?KgAhl;z(OoTM5X2H_h;ke;^50(X6MAopw%4P{#fJZ$2ftq$gDDjC!1?Pc{PVO zRv~}09m5`8fMA_EyX8?t<;JiEQ?F+$MApfSu{?wHaApztc4>{9`G+mAxTOuL@V?k1 zcg=`QklMjIX(pUMsN47S@JVz_UyHHaF|xxc4*k{Y{r7`S@N332jn_U9*cQG2a54K` z@?&It`7iTE{0T=d*yYo)$_8FU8ys>67cO0%=vr|(X*hnLHn7d{`V zzu4+VVRAOa1$mLROmj<=QYK{k@8K4+kr`pQB8mFzro4#RC9*jDJ(jqxodoTy?A@Vh zDhYb~b}$NJ8z6jJC+*%hLYSjmkK+afjh$ap)iZNQ;o~ZqH@9Ko?*nKP%a zZ74q~cKw6>eRM4Tl}L1RlrZ^j&Iqw3D9!snFXL6aw|gqHFwk$V3WN22T?Y+D*%c*D zn}Q2`aNSk62#MUOotRN1OkuevbCMXAWG=_N{20w0%U83#!X*H7{T)|Yx>F36tiLFd z$KZ?Brtwm;^Y~OAWXwjxobr^i)cH*hAHqT!WU4Ia|4J+Ej*tc|DYUkI3$lTz69A_` zWIEqV>%SY_{WipI84NtbF{-NE!_R&5Q@?T7oLa%Yv?dS5ZhUJ}77O4Up6SaG+r93r z>|Q#{j3@B{E5nJuT4b00ZGS!^%NT0skup%dcU1Bl2K{EcQ4qoA^acdXNayx$NnrINvnM^!`fTZT+lBI{ z@zIpGV%hi$iQ5!{;Svy{Z!JbeEmQHm!5MOOSX1^AcRVPxg)~ee4QLci(9a#QR(xcAY+>8UK0no)k$O3Wnm>@#Cl#S}f zgE}cniA?v$$%Kn(&jF`yO}fN!?FiprrvIsog+M%)hcdJ^=o@oL zyJMnOr}4sxA=2IZJw(re>sR4Wh}JxYG}2{Yh27Y5N=xSzccsI#E-cEwnu`5SegXPh z!2YhJB_~gwIycnHYtzSrdq>keS(9KbMRNkx%%J~jS~pSn2C1Vtj%BxME$(P272PX9`Wx7vGhjYu62WsoH0b zoPCbLLIlLA?9cCb(Xif*X4A4R>Um6MgLO{L0 zgdYJVPZoPolcx5gmM@GQsj+XN@WY74r@6H_8Crzt1FmO-5;p9d@p?v;L`5pf$=z@z zeWdW9B`v|BdHZ}{BAu*OmB`&?<&Z)Hg?UV>ztY6R5zo}IbtK+p#ofb2GN6^2=p#^3 zZ}o36@78LwhxSmm!i5ONj*7iH`bzuowx-#m5TzX`w=0U`3ys7zj~~EqJ_Ll-f=Q}6 z#gxJ36fPNyPvXU4P#>v!+%vVWa^8?EJ#w^Z(ZmZKrn++CiC(!L*lv~h@_J(uL`>h*nZN!dcc?#%%r}WF7 z6s4f|$a+K~yjh(Ezk+w$1CqFz) zWh_z~z2MA~Q(un`e5!eIU6; zqjY?d2sQ9Z4a|i`A2zup`G|~b993TIigt2wva}jgY;shz>;iG$VnBNCqTKN%f$(?i zI}$beQP>4DfEirOCTbpCvmNKV7I0}`^$~iFZe9M>3}j{`eGtv{iZHwoLLAc_IX-S< zD498!WPp0&#m*xj?)0y+-%eM#l#eim6j96(;tir` zh&|wXb5D8q`Rg>E;wDjev@jVV8M`WC?qQGSL^cakH19TSy>sw-b z!mxR^9=BEQq)-#Ty0UT=dU=GePzxV4*Sx=jV4roI-8O174$F6tkK%{a)-}sC)wHxI z<;M6D0vQa1Uv=q>hWs#Q_>S6E4Va>d0kWl0mgkD(G$h<&b{!UMX=uTJZ2Y}Yp>>~E z3~+XrZ7&!6Oj#sv_wbIbx$^=gp)n+t8`a&f4dSyk$>M=e&S<8O3B~(n4+9;t#D5a2 z5y;9Nl z4z&_QYs3zB&0`U-p)}#|X|cP_cB5|+UB|Gl7*a|Nons5=)KLv@P^Ie`@CB>WTqOVW zO18*uSQf21Y3%ZtqdGFVM0+kF5w1YBf>p7MHx#7%hVXy;w+_?SK~+s5u3j7*1|OdHTop+8|Qd$Quz8jL~uZw(2wu z-5|Ci1A=9D*lyUj#+u!2Vdqg;m8b(v29N_|7ObZ=t60JUq4aA}!SpyixBd`nkQ>Vb zNiPHk){@M>prb}Vz~q@CH9DsQk1Ik_s>~wk2(qLjv{)o${p+= z*+p&?6;B040%lsE_t!&#_N!yIdt3Z?2)3J=?XS&`a&C$1-=KEVrM>ivjqwgS*&H`E zZ#d*X`Db!mP|WK`AXk%Tg$>U|82MU&%;m_TIvP2Kl(Z$o>T>BC0jbV-)Yt$hTM$;t zzwiv6H>ZeOn6`0?Lru`_Gj*tzZCH&YBH4sx$SDg1E2&i!se|GuTz5qvif6^2Ixf;M z0C9-_!DI}24VG{>M&odmc0M+*x9GQC=?bWt^pVMvxmCl+k{3&KbSdHr#o!UAKrh#V zixjWD>vrN_-S@j63Aqcu`yC5#r)8wXjjdyqBYImiowPq*=p}j-r%DgO?W8LI^n}e4d2=L8-y3SZwlO#_i)?ktLEqgdcC1f3U6^#0&nzwk5xru@ zV3&xrQ$E zpeZL`NQ3~UW8+IvaC$2>8)m?uTv6i5g5}UFigv2~@P$G;KNksk?)1uuth*3J!UhCo zB!QNFKKXI7kcy*>X|yS{af<7xx@YH$Kh{2-wY|+as28>>KFJ2=S%jAhk}3dK!s?#%-kwV^gPcxJG29$yf;mhH z{%L>i?dHUVHfCQQ4sV$Z%Df-!q-*he1#=2y5oaet22d_ut$A=q&o;<4-9;_))8Xpm zs?d9x-D;%ZFve;Jn3Q5+$R1fT9x6lorWL}3A?up>m3>pQZr~s`>ZrI!`=Vd#TOm{m z7*<$NO0lTeA90B7%{0kvm?>CS5yi9=BF(;eYwytVf~{|gkdX!Xt7qKhk)>pTBD889 z6K?p9Lgf((Rxk-kN92x`?WV60s;JF9)IGhYjg9t;Jd4!#cLisAplV*>vLp{!=BYkc zTZH8@hdrtCsRaA_92?d^BCC}sZV-lbSoyf|NK>uAh!YW3hQQ^zmO+j7<$@9AB_h)NWgC{_}INF zY!~WhJ7c^iv4Dny%wyfvv2z)sVj)B7rhEJORJM;zKn>r;}+wz=KC|M2u7qz{ltH7;u<0jkO{?=Jbg_DEGEazjMM*FXGP!yK~JM!OeqC6qZ^mHuE-_u*)*)s zUAPvD6-G-By>gQEHn!xe4}EiLmaFf58edsomUx)v(rEMCZ8IvkE2AE^Oc3UCm@2EK z)WrYdPFZ*hI1N+Iet+Vv%kWK6txer7U>2FsB)clZP+ZC)$Y0fxWV;R-oy)Cah<$IiIKI))*Ax4kvBr>W@fBh9kh0YB9P9?;TIqE zy{;@&LJ0*>3zGE0JMYs%X)EfWXu={pGW369uiBs6p^vfWRv?Uj$NXLrV{EzLV&kY| zd-imfPROrGM#%+2v=>E-c!#2MeAcOWRX}}KnzOejAMNq+G7mRhEUV}r1Wt;YfT{U! z1UH0x?&UUwf<)Mpck#0?+lU+9Ut`b&xCBfm=9+DFo_8KCyF4k%RW&VG4E>|3Us|uU z+M8|zH0Sch(TSC2#zV?NCKzMjq+Ts80F6VEkAn?WP150^n%Mzf5lW}2(c|1h?$9eJ zV*V)bpTCQuG3+wVGGk}3j~TbHYhOLq_!1KgWWoS7)&uOa!z?^%oHpw-r@g{wODm1} zucRL=(n-}>2)Ggp;DmZhgB(iPtM#&=%XOC+fa|*;P;rSMq=QtXOO05l-I*N#QCv1J)G(j4s0(4 zx}doOEWVVeEo$GY^Tb9-4^#lN5YFZN&w`HiTm2iClWcy(UrcS2YA17WN=#CaU6w`G zJA|W_y8jK)tkz6J^W0N5y|j%}gzO)~EB}l!!oo0Ec^!l#&gGI?Eb(dJn9GKoX_!&d zft+b~*GKVnCWfSf6|^?WaphmM>M>t>%Z;NlJwBW&n*MNiDi@XA2!0IiQT4FW2m&Ht zkh$JNEqt^Jh!fmEG_I0_sM^0gz7)%K>2PoI@?n{}6^0ZXC+jY@d3hHjCRiw1B=;i* zq4`vcA7ca&2cQicHs(|HP<#CrsB+|2c7N+$CyX6ZOZT!Uq?THKJB>QI98(If#NYE9 z$98h$x#Bg;dh~wJDWQkL6vt+o=}P_YOYG|j1v^6if)QZPUzTi8OG)AH3-YJ(PvNKC zO?DzmoXrdpd`gZivOCh?z{P}$Y4|?dOD>m&R90sgVW);T0PvENE2;G3MWDvCUvOqH zCPS5kPdCMh0`6sSmLkNNY=|FN;|x+-kXc61$U_)USl0fW#Go?kIz$4yY2k2O`dBHm z%qCoNOu_>&`a&n~`8Ev!ox`@QT~qirrWsC{z+Nwh&*|#f0FF-BXnK%^&V#KtXgf=P z73rOj+b3(Ca#qR=d_2n5T7=AGZf#e!JIVVRglG^Q9;7SHMpd3%^jKpDtwP-1F&UlF zk#{rD>QrZJ?$V?|7|e6;!)YE_f|yFx#CY}{m98M9NKA@P}Tf|$g`RRpeYdP z9ssP0G)fILvFKz}wlMFdG|@j}3F4s5jfs&NN2V5wk9gbCdXU-S3VO^*vrG{jGD}M% zCRP4BIp}zjui^IFe!?0wV=r7Z!6{3cZoa@FD#n(cfm$Vmy@LiJ*fH{1QC@?gE3|lI z(V4lV9F0g7VA=j`jl9my+**qsOdB`34-I_gU(3ca(qDv%-3#};O7V~Uw;p?&m%~gq z6X0{RI4D$5{j$QdAw z^2l=9I%(W|jCYIJ(khNpnG4gLi1oN22;%kfQ&=av7uzv81AppssyZ6#tk*AwbXw!YRyLa9L}vo+*pdIgbJX#5F?|-*58!nx>2sa zHP*(7wd~ey7{bOFQ4Pa9O)Cfhfm8}{%>i#ry{7WW;UUuspJ#WpLxl%zK@L2?%@t%- zI~E0Q4>Ks6Mkcs5G2p3;y1Ot&Gr?@bR4l|X@=Ex>)KEDIt7fL}4(q+5u);|@0L|Ex zr?edmlr7+37UX&<&<^GtA_K#U$_cQBZ1-vP>whOOByd{Dwh5Ho5KbQ`JoY8hyTJ;e z|5T*8ILT`?WFiDHI$3OPt8dB6jX^0st&>ce)U)e(`1WfV^jkXpN?!BElpV1#=c2mJO4J|dwE!5_&Vy%mp-g5L$AS0Qg*C&YpF2UV!(j+@!NEyaaR1L)P%7TF~IL)Udl6=%Zm zeV2W8J*I5xyi$soHHN0j87!%%PXR7Rd2GlOD>o&5sdYQ_?U{Fb-fz^683DyoufGer z^whZ{0UOSvazpfQw&-6^8QJrqVJdVWaUXW&P)*PLi8gc^xm;c@(-L!sSpwRbnaiu_>IR+VgDxAlr7|%*Ai}SfA#S7yk#-JT0Z5Pr} z;Z@V>2)3hR~vf7E=>#cwW%VadzO<=Ja%02sRCaWH*M+^$h_s64btd$3I|^Ex}8QO zgY~qB{9WugQV6hup*fq`xsT^@w1%K5zx$$Jf=ACrGqtWR|6$ZTxoP_Kcvje9m9~7) zSqAxAXob}S(yF^Oe}zzOc*i{F$84iX5g$hpQu(>wMFz&}w%dyjNN@eV=B=rf3*)BD z`ONcHc;G_8J>DhzVH`Q{JX0UlYTYoW)P5pnPH!t%??k2M>R-y&rye$jHXo_rCzUYX zo697)pJJ>6R`*atYS}+ZiQ`G4jn!<^DOiyz^BEAur796=%@gYc*fKRme0=ZMH*vee zTh!@f%v~BwMjZYnScZ9)v06@`zCUCzC05)tH1{!% z#4DvIQ`Q}Uf#PBfA21cbzmr-s-a@eSvSu&0g)w)7dW5s(8|tasMiAs}^xp|Jv&84S z_Y1Cu?nId2)I5iE?F|h@t*y9Y6^d14$e8SE*T1u^gHYAQz?_YoY)&UCNim~Sr#DRb11{<-0g zWJ)Z4CC{)jAzC|$|4i5I#i{EMO*~qgJ2OQ=A1T?@KbDB!MLg2m`p>vAITs4XU@?2B z57z$x3v%hnd|IN2b^u)hE2_E@yLH?p3}M0;fGowY&hsu!=C}p{o1{8s#!PKS(@8^N zgO>53Rdo}A?=Ljp{maZxjoB&&Iv&gMnjjoCQ_&Z?b&lLV6HyBaJI;Rx|3JL6-9FyH z_l>W92kIKlyb_-Wzjb=!*Yq$^y=q1;JYK|E{sA9}r>14%0B2ivY~)BKAVCzFm0T zdaFFMM)?0(R4bWlyIo35L&&Uh#@z`LydF3VEr=ODaf5 z9m|RErTh+Oo3Hfb%=690VZHFAMP$jI+FKNQDV;b*J+|oHO|W6LO&ylj$%DM^4Ji`bUx%{>q+rkAA9_3vTqEX| z;3moAL%P<;>Xu085=o`euguV9E_6YP?^1Pk@tN1GUmbn|U+kXQ3|<6Ajd9#wOLBy+ z`sSDFpDQG>BAe6>&s{8`b@tZ_JivLk0Bb?&{W0>LFOV*KzvC-;-omZmMChm--ZdZ! z8=K)#aI&L)y15>L+Urxw^9g;awfMd4kaK>^R?`Cgh50FeU^ViV_@i5h#X@s zCrW&knB{OO2~SEhFw8@w7@>MW{`M0d#73vlhy(WD@WTOFN4@~lpTIC&_HOJCyRHN{8no{wBq&`#+lL# z0j(;NEE?j84}1v=0Y}Znpd13prm(5~x3V?s%SXPmSZBFip8+Sq*Yj4JbrzocyTNQg zs{)+(_&B9Qb#Pe4CWl};L@Y^y>WzlqaBFJ42%|Fq4tKb@pcbP#6D;7k?dl#5l*lz) zml7V`K%9^jn!#SS8)Fr~LxXgHk{Hz%Yn?0|AHSXSyZrgqzG7*rjfp#HU7iuL*lmDm zZ+d@Vw<)R|$$+_HnL8bjfL72Kqb!z}sx_LOoUYw>(7-zGjqv1$Xg9z_tR0r*Qfe|7 zn>kVpL&ng0avMW*fRgplO^lz0G=+3@>YA|8#W%$Rt$-!p90uQUF(>CgCS%g&lve=s z&+9hvxRk2i8`-r8eL|OmE`IjPy}1})m}0=FkslN|av{JN^Ji`U+|l*4GF$rB2by zqUqv%O0F5i2n!JuW$*7XB_M|5^2`WMoHCimSQYH6KR{dHN}Dfp_pMLfn!uR*YvrKW zL!GC%%E!Glb6}<=x8436{)H4v^M>*pgP-*g8N2Osi!iT^<@$*rtCglo5L*gpguUXh zJb`#}jMp0S$QKYH0~5O>zmSZ2Wf1vt2n_=?v)~m^;0tIrcTnNEo-FCk`L@uFI7|fj z4@Ta^Yy#}${E(QUD%_vp81=-Nc-h%zUM_Zy+~7+Hv0*r&6-RoEy{U@hAq(XtM6>#p zK_Tp0w5h9nZ-xRP`bd8Ql>s1J;&^m4zXulH$n41kozR%LK1%!ecSF|Q@L;_@Rt2|B zMBwBV*D$}a?@4YAGj)-x@&$=m;EH4&_mGhszR(~b39bbO2@y&$NXcBGXC5=No=usP24o6 z3E@24Ofasx@ zSv_M#aN4i8sbeKu<)yVH9|%YD+*eY@9v?N&O{c6fp14j1dCbBoflRcIA)A^5GOe zOWys!-oECCas9c*TRL0SQl2bOA$CJ*620}iJmwfxRrTr>PN`M&ZQ|^ zBFm(~5hAKe3`Z(eWKL3rPu512Km0F4lA2;KPeh7zMeJ&J7$RV=td2J>5hz1z|$tLBT}dfoel{ z=4L~Zs0~mg-T!KV_Zp1XLj6w0y*)pqIj7Ev+;BdMJJw2RaN?_{zL5{5dut(_m9v{r zw_jz(`TpL1&wdLBrw46n6NiCvH>KeR#rks&@^@{ZH~lGNaSJ!RPB)bj5@v&(73tgS z^50>A$t4~oGEA)U4K}bm%AWHv-X{}+36^pFUISS;whd_pnA%QypXV(izw3R5>ZB{( zB+#mfZ^Td%IA@0}0*U+DdaNcYk4}I&6*WH*7?jx<0(wFRWaUp3Bn`VSa`a?Je z2w;7V@u`6@1T@Kg!m`;R-Py?c&A@*{ z@>?fmHncxtk>1Vcrff_l!e|dY@mf)E`(}T@@(tnf2LyLSlja^&@6w!Vs%^IU7%
    F2)}+K+yY=_iyhDR6m2N| z$>x0OKy#whjr-K^QU_?ytP%XFt1AX!8yxJSn@!3ZuDDZ(vHPtUYFEnz6lS_4FV2=$ znelqBFw=VN1}S&s$hMl6{qeO9*PS0&+RpjfnHM%E=PRMa)#Ba4E$p)kn$JgWHtv)S zSxO1FnbAU(!HemMH47k@&DcveZc=RZe@&a6aV%R-ww~-<+Fq_MyYFv!OJRbebvO)7 zt{aPKCeJ0bZZ|5jB!ogs z+y{_N&}yGv0bkDxt*j#POAS{o6*^r=)WH_3tLPJaoPJ92TZ`oG(&HCx`3hjxyp*f3+=0mM7p|WGqPNu!xIQKwSG2q!L6TOvzK+RobLIj59!Q`osFG{ zM&MhK$Lw)7r2rE0S7|Bl%jI$;39Z5%{3CaX@n`6D&bBj6lzfXb*Eu3xu`ikN5fNuP6g&Qh}P?yIMjIi`M4^IRy%V z)f99L)DW$Xc)Du)1RTiMqqVOQ?Gs;>2sl46p>0)=sXopslvt^AIUQ~DD+fV5^xuJyxB2iakJ}|{&IzZx=F^)el4cES zCPZ!N6Q~=kiexAuc@fI-?$*LzzrQbeznK*7>Goy&vu|?t;QabCC+U|U3|d^{%*v`2 zSZ)i{UbE+%X0>!CyDz3i`OBRy@S29NW&<}$Na-Njeg!gVdQdc%Ddh@$gsjsxl9H41 z<7ChV)nym-%)QK8fS?q-{V*9ZJEK_Kn$hXrz@gJq8O|z?rDs7zb%}$|;*LrF-gRI3 zfrDs+o{m_7rRb>rj!CK=sZ(snZ9W0%JGxDU{r+N)lBU>y`1zA}^Pu4(FPr#I-dSD* z#R)Bcm0Ny2W4Q9+;K?}T!bE*UW#ETVq>Z&@tkQrcy}Y6vCY*o_@{VWc{ghxhz9bih zzK|*Im`~MMI8Fx#t%z98!@UMYmbzncwT&@_*5mtBcpUz_vusiWq?4Jo9C_mMh?=H! z^nGKW)XWb3;Rf3>3^)v{?>|~a_1*hr#qyu4A=13Q3rh!ao`N;FEG3m}vkYz!m4{aiYJG}| z&*ocSaKw%aulao)A{M*gLqUaASAGiQD6t}DAKN%;5MXT| z{icy3Y#U3Ze&}@0|1WO;GL-OyT#({@2y_v)egMI9zIzoHB`)z^9>%MPqj9!EnTC>- zYFkl`%_!OF^$ykN5ueeD{%ty3HiL;J~av`}H7*5+7c@5)P) ze*$xr#8#{1SmP0;Bskw2udS`Km>OgyzBTvRdF3#v%?>GG+PHuMUT&RaESI$ImgqjX znp&~D1t~y|bWgAIgd|RWcpB}0sjDNoYF)iYb@Ob-@H3@g(UhwsG4(gX1MISwe^Ck^ zS}VyGQbRp)j}o-9LNDEFAUk6vYGYixqQ!NQDK^>+VxwBuxkXsc%pX6+I@P4;@$rLi ziNraAF~;~6^*_O-Ka^Y%PpT6{AZ}IZOMb>|JUV~kMjy?76j6K5JV&sXl^+ZSk00a0SdFBLF6CWjKM(-A zbC{y223pXS*p{al%w~mbDyD}cqRt@3-G(0AZ^fpu44&WZk#yStVr?tI zeNff7ITj&FMK!zPE&iwWU2(7kHgTm7OndJclk(MH(w|h(porZ#ho))LD4gmtp~AcT zUt(%M5`&h_?FQ)*rCd73H>MMjxk}RBjKS?l<#7g~rXr*vRxZ4;QcU~9r=f{-^_1K# zCA6D-hB;0lD7dEyfyI8LeEd(@r6|V!?R2^x-Kez>5HV#@uhZuiEpULR8~GZo<4SiU zlngN2=8rRxt4^ek#Lf@PTluVKcvFE8&)E0pX^H0d>T+wY*ivWfI9{17c7l}@V|dQz zW*EG8&s!>MD^pQ+beL zw-)R-v=TBW6L(7gdA}f_loT~V=LX#UluKmHKT_KsKxjx4l$sz;U-DfyVx28MXsD z`-h_qaWWI$1yFYpdA?N&Atr2^yxxp@`s;_HK*Ns~ajQLCAP7HNBtBRQ)1K66)Y^5( z9Z5jT*4yy%Lh5ZY{z3~IbY<>EreZ6Bg_Y=9zmY%sdd>t=9;i z2u+t8U1#IA2oJR5134Auwd3c#y%i)>#pemQGv`*BXzx)zf9b{L)*^HiiG{>CXc;vJ zE3_QileJW|*Q-HKh``HO?0jwZ-*Sujb{pZVMryD_gD(6B>a>e! zk_8Y7nWlffz0x1&8Tu}6+lMtVcx^P@C z_W(`bKj#2|S)|9u-?@(We3$X|Nz~atW_;BDASlcSwPX*L*?-_MGW{KS@2R0Pg^p{u zo=%n^r?w)`hZOQTy}g!X@R^%3#I!>p;GI5G?zrtm)GW-MWF#J8)HRPDfm!#ZY+Vt? z8=^ts^C)2WSh~4!S8MqAU)7Sj61S7YI^P2$E$7b25l5kP-y>hZkHR5?9&$hv!(!6= z%&&9OEL+a0dKF_0e%z#>wXO7AL1=(=bi$6TcXBQ;zS1_xpKdzA?Ed?HtIgb9rrO>E zo;f|f6InWoY?C1$<4kQ7IAeOb)cWD_@>=wgqqbYett|5_BS7GXQ~TcQ=Gjv4b6K>? zkSM$nzfHNM@Meeqt18v39SsyddkoX<0i#bTy0A8j7A^4X?6Ctceh zbrRw5Oo#1z6IPN3YI1*GcOL#A&KLC)BygTV@GZ|-f!#R`!HqXUkF(fsp?>3SU{UHm z+wm+7!iK5&qtsvwSX;$hQ12wj7k|;%l=!eXC}~e$g^PlP0U9>fITw@n8zL}jQ15Nd zdUVIiV_LbIlObq>Ieb)cz|8R*1y-KpSu z&vG^Qw`ROl+up^cDt%XcKe5=jzhFOqEu1t_-zuW%@Lhpe`~8wl<%g3OakpN@7!F=1 zSNapi-D)s@T~c;mjzv=kcJ$U--!iN}o~{^((;>!yj;AOsaqF}|Oa_?U-*13L?I;6> zNjmuUa5FpTZpyt0Lr9f!w2+whx?S14`oG-`zY6KTz^+|oHc*tWf6~HqxBkw1;qWe= z8R#XVjQ7&BHEWU z=c}D1=l6kNmOWgJL3v(sjs#Rq6c(v2F?xS+&B`}|#9~U+b(jwrIgF)+f=bnHo3T zE`S7u4THa4CsZ*+pE%C}f#KN|Ah=(;MWKR2(jDOjC>H46)BG}7`D{E6uqO{2uYEAw zI@_eBbJ^@l0F96EM@kG#N;7efPK_mGd8=?S?ykC1pZcrMUPTiu&Z&!ikjd&5Ld{eK zCyy+CfM#hi*{!cejGpp7hj>&q?px2~OS1WAO&A@!$8)z25AEUn1S_CR^GJ^KrY7*& zrq4^U)fdXI_!3@PwGFF2=*)tk7_jbK$~rIYzXA>|j~J0U^%;r!>`t{KjYlPPYs7LE zeG|eiLpzCY8Ob&l4Q~kI^t~J>6~^9nKE?Y&(WRp=#oORF_RhjPVrzC)`184M*)qj% z;=6tgX<3~;Rj&m$)6B2~Io+6m-e;8(uqwmU4HUkV_7*|YMG+mhzn{c*0H!T=MuADf zqZA+Xag)4(FgxLICG=|X{bmE7TD3bV*j_#_mqYdo=~R>Bck;nB2srLI7SPoqkP57> zmft>J{*E(jD}O%T5Ri^(+E#5E7u+Mb1% z)rBd&AM?DOLPxs756u#l5gw~PXQrY4GNVJV#rqVzztHidf~wW&lJvwZda@y_0}g?a&pFbFue}3MmLLtG)|Yx z;DhwIB26M#fQ|2o;=-7`rNo|Wb&V0Q|A4#B_9`90$2yRI{}ZTNspIKmM3+@_cY=83 zlV#c7aYmbxXg2K0EIqnXO=2#Kv3$%Ob6kpa)~*p#Vc?m`kzTgWiYlT*=zJ_X1?(pp z1YBul5Irr|TBY#wgE$~(U?Esn7qAvciyO*iKLj>#Pa2&U>cNQ_H;@%F*{t=KkMLoK zRkCXAYv<@#C73v9SiIv(>fbIiz_AX~0nzO}r#BnI@KH-!=bMW85^n-N35V z1^wQ_+YZuhsA>P^>NGr2<$Wk`(iQ$!iAr-@cf9LZqerLDNm^w;=m9F?%ZT-y8YTYJs8f61I?iSm1Fh zV#+73{=7_|O5d{4M!saiI*Y>LfI>;3?(l@h=Cuy63otH}7uCzAYPl-QDDLE%s4eXD z*B!o77r$csM0|1bGs{wQ@8@pyW*e`R7X@1}ZNnz1hGeE@fFnrkA`@#wqnk^6+kD2; z46Mcwk(ph(7zcD{p~j@X{J1pph|!7_PS$?W|L%2~INz)?HJP3E>OHY0DaRm? zjznDgaXkljms{%99oUy2{gL3*tOq!k40sz^e%~--Wv}Oxpc?2M3TYu^!*q_`anD6- zS|RL0QYEk2TnT%xhtLzIJm8;9AmsaYl@1VT*(i^rhAF5&_p{w~5n?L&p_))2;?*@8 zpD*Dz4gXeu?6!oU;ewYD%ZoaJ8?jaG>j#)CbzG}tC4z!f6z;(kWY7NV8kIf+9tAd+>OACIQcITK zt+o&d2V@j4L3$YnE@4;+DS^edXZpwrUKqBV0>%p;G}&JqNNmtyqNHTdGmkxDUpChl zYfi{_u=IWzyYb^$!I|$E36*Re-l$MF9z$dkX>uR&bHL!RQf`dk(`?NLc* zCE_#&N{I09HCoLteK5z}~oN}Ku)@NXxfuCx@( zwvZc-nwfJ++!{(tj&IJEW|=M$bM%ta@A6o O!whZlm{h5G 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 OrXj*LHqTlB0001-k_+|# literal 0 HcmV?d00001 From 018692925c3aea7f89256724859d2b14dfae77a7 Mon Sep 17 00:00:00 2001 From: Robert Mastalerek Date: Tue, 7 Jan 2025 09:15:29 +0100 Subject: [PATCH 2/3] =?UTF-8?q?ICO-964=20-=20uzupe=C5=82nienie=20informacj?= =?UTF-8?q?i=20na=20temat=20pg=5Fpartman?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...narzedzia-do-partycjonowania-pg-partman.md | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/_posts/pl/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman.md b/_posts/pl/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman.md index 68bafcb0e..ec1c29eda 100644 --- a/_posts/pl/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman.md +++ b/_posts/pl/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman.md @@ -23,8 +23,22 @@ We wpisie [Czy wiesz czym jest partycjonowanie?]({% post_url pl/2025-01-06-czy-w ```sql CREATE EXTENSION pg_partman; ``` +- Wykonanie tego polecenia powoduje instalację rozszerzenia `pg_partman` w bazie danych, jeśli to nie zostało wcześniej w tej bazie dodane. +PostgreSQL tworzy odpowiednie wpisy w katalogach systemowych (np. `pg_extension`). +- Następnie, PostgreSQL tworzy zestaw funkcji, procedur, widoków, tabel i innych obiektów potrzebnych do działania rozszerzenia. Wszystkie te obiekty są instalowane w schemacie, w którym uruchomiono polecenie (zazwyczaj `public`). +- Instalowana jest domyślna wersja rozszerzenia, która znajduje się w katalogu rozszerzeń PostgreSQL (pliki `.control` i `.sql`). Jeżeli później zajdzie potrzeba, można zaktualizować rozszerzenie za pomocą polecenia `ALTER EXTENSION ... UPDATE`. ### Utworzenie tabeli i konfiguracja do partycjonowania +Wyobraźmy sobie tabelę `public_logs`, która służyć będzie do przechowywania logów systemowych lub logów z aplikacji. Tabela będzie potrzebna do monitorowania działania aplikacji, generowania raportów o wydajności i problemach, itp. + +Logi są zazwyczaj generowane w bardzo dużej ilości, szczególnie w aplikacjach o dużym ruchu. Bez odpowiedniej optymalizacji, zapytania do tabeli z milionami lub miliardami wierszy mogą stać się mało wydajne. Partycjonowanie pomaga rozwiązać ten problem. + +**Zalety:** +- Dzięki podziałowi tabeli na partycje (np. miesięczne, dzienne, itp.), zapytania mogą być kierowane tylko do wybranych partycji zamiast całej tabeli. +- Logi starsze niż określony okres (np. 3 miesiące) mogą być łatwo usuwane przez usunięcie całej partycji, zamiast kasowania poszczególnych wierszy +- Możliwe jest archiwizowanie starych partycji na innych nośnikach +- Partycjonowanie ułatwia reorganizację danych, np. odtworzenie partycji po awarii + ```sql CREATE TABLE public_logs ( id serial PRIMARY KEY, @@ -34,10 +48,19 @@ CREATE TABLE public_logs ( ) PARTITION BY RANGE (log_date); ``` -### Konfiguracja pg_partman do zarządzania partycjami +Wykonanie powyższego polecenia spowoduje: +- Utworzenie przez PostgreSQL **nadrzędnej** tabeli `public_logs` (_partitioned_table_), która ma strukturę określoną w poleceniu. W odróżnieniu od zwykłych tabel, tabela nadrzędna nie przechowuje danych. Jest tylko szablonem, który pozwala na logiczne grupowanie partycji. +- Określenie metody partycjonowania: w tym przypadku `PARTITION BY RANGE (log_date)`. Oznacza to, że dane w tej tabeli będą przechowywane w partycjach na podstawie wartości kolumny `log_date`. Każda partycja natomiast będzie odpowiadała pewnemu zakresowi wartości (np. tygodniowi, miesiącowi, itd.). + +### Konfiguracja pg_partman do zarządzania partycjami ```sql SELECT partman.create_parent('public_logs', 'log_date', 'monthly'); ``` +Wykonanie powyższego polecenia spowoduje: +- Oznaczenie tabeli `public_logs` jako tabeli nadrzędnej dla partycjonowania zarządzanego przez `pg_partman`. +- Automatyczne utworzenie metody partycjonowania (`RANGE` na podstawie kolumny `log_date`) +- Utworzenie pierwszych partycji zgodnie z określonym interwałem (`monthly`) +- Zarejestrowanie tabeli w konfiguracji `pg_partman`, aby była zarządzana automatycznie ### Automatyczne tworzenie partycji `pg_partman` umożliwia automatyczne tworzenie nowych partycji na podstawie harmonogramu. Aby wykonać taką partycję wystarczy wykonać poniższe polecenie. Można wykonać je również w zadaniu cron, aby regularnie tworzyć nowe partycje i usuwać stare. From ba268dc4997c68bc4f3cc32923e9c6948183dc66 Mon Sep 17 00:00:00 2001 From: Robert Mastalerek Date: Tue, 7 Jan 2025 09:37:48 +0100 Subject: [PATCH 3/3] ICO-964 - link do dokumentacji --- ...ak-korzystac-z-narzedzia-do-partycjonowania-pg-partman.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/_posts/pl/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman.md b/_posts/pl/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman.md index ec1c29eda..6724f1310 100644 --- a/_posts/pl/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman.md +++ b/_posts/pl/2025-02-17-czy-wiesz-jak-korzystac-z-narzedzia-do-partycjonowania-pg-partman.md @@ -86,4 +86,7 @@ Po wykonaniu operacji `INSERT` PostgreSQL automatycznie przypisuje dane do odpow 3. `pg_slice` - alternatywne rozszerzenie do zarządzania partycjami, bardziej elastyczne dla specyficznych scenariuszy ### Podsumowanie -PostgreSQL Partition Manager (pg_partman) to potężne narzędzie do zarządzania partycjami w dużych tabelach. Dzięki automatyzacji i elastyczności pozwala na efektywne zarządzanie danymi, poprawiając wydajność systemu. Warto rozważyć je tam, gdzie wydajność i skalowalność są kluczowe, zwłaszcza w porównaniu z natywnymi rozwiązaniami PostgreSQL i innymi narzędziami dostępnymi na rynku. \ No newline at end of file +PostgreSQL Partition Manager (pg_partman) to potężne narzędzie do zarządzania partycjami w dużych tabelach. Dzięki automatyzacji i elastyczności pozwala na efektywne zarządzanie danymi, poprawiając wydajność systemu. Warto rozważyć je tam, gdzie wydajność i skalowalność są kluczowe, zwłaszcza w porównaniu z natywnymi rozwiązaniami PostgreSQL i innymi narzędziami dostępnymi na rynku. + +### Dokumentacja +https://github.com/pgpartman/pg_partman \ No newline at end of file