From e859b6489e37196bb087208a4d94b194389828a1 Mon Sep 17 00:00:00 2001
From: Yaroslav Dynnikov
Date: Thu, 20 Jun 2024 02:58:55 +0300
Subject: [PATCH] 2024-shl polish pitch
---
2024-shl/all.md | 38 ++++++++++++++-----------
2024-shl/images/logo-picodata-full.svg | 8 +++---
2024-shl/images/sql-ast.png | Bin 0 -> 293603 bytes
3 files changed, 25 insertions(+), 21 deletions(-)
create mode 100644 2024-shl/images/sql-ast.png
diff --git a/2024-shl/all.md b/2024-shl/all.md
index bfe5ed7..6eae3b2 100644
--- a/2024-shl/all.md
+++ b/2024-shl/all.md
@@ -16,7 +16,7 @@ background-image: url(template/bg-face.svg)
# План доклада
1. Питч
1. Архитектура и алгоритмы
-1. Конкурентные преимущества
+1. Конкурентные отличия
1. Расширение функциональности
???
- План доклада такой
@@ -26,8 +26,9 @@ background-image: url(template/bg-face.svg)
- И из этого мы сможем сделать выводы о конкурентных отличиях пикодаты
от других вендоров
- А если этого вам покажется мало, в заключение я расскажу как мы
- планируем дополнительно расширять функциональность при помощи плагинов
+ планируем _дополнительно_ расширять функциональность при помощи плагинов
на Rust
+- Ну а пока поехали
---
@@ -36,15 +37,15 @@ background-image: url(template/bg-face.svg)
???
- С точки зрения пользователя мы — достаточно обычная база данных
- У нас есть SQL — `select * from`, `join`, и вот это все
-- SQL, естесвенно, распределенный.
-
+- SQL, естесвенно, распределенный, мы все-таки на хайлоаде
+- Пользователь взаимодействует с кластером как с единым ресурсом,
+ а под капотом спрятано
---
# Picodata — это
- Distributed SQL
- Sharding, replication
???
-- Пользователь взаимодействует с кластером как с единым ресурсом,
-- а под капотом спрятано шардирование и репликация
+- _шардирование_ и _репликация_
---
# Picodata — это
@@ -52,11 +53,11 @@ background-image: url(template/bg-face.svg)
- Sharding, replication
- In-memory
???
-- Отличительных особенностей у нас есть две
-- Первая заключается в том, что все данные лежат в оперативной памяти
+- Отличительных особенностей у нас две
+- Первая заключается в том, что все данные лежат в _оперативной памяти_
- Этим мы режем косты по латенси за счет экономии на доступе к диску
- Это не значит что мы им не пользуемся, нет
-- Запись идет в том числе и на жесткий диск
+- write ahead log пишетя на жесткий диск,
- Но чтение всегда выполняется из оперативной памяти
---
@@ -90,15 +91,18 @@ background-image: url(template/bg-face.svg)
- Горизонтальное масштабирование
- ...
???
-- Итак, распределенный SQL, оперативная память, низкий латенси.
+- Итак, распределенный SQL, оперативная память, низкий латенси
---
-# Picodata —
-# Маленькие, быстрые данные
+.center[
+![:scale 360px](../images/logo-picodata-full.svg)
+
+Маленькие, быстрые данные
+]
???
-- Пикодата — маленькие, быстрые данные
+- В совокупности это пикодата, это маленькие, быстрые данные
---
@@ -107,7 +111,7 @@ count: false
background-size: contain
background-image: url(template/bg-section.svg)
# Катакомбы Picodata
-## Авторская экскурсия
+## Обзорная экскурсия
???
- Ну а я пришел сегодня выступить в роли _экскурсовода_
- И познакомить вас с продуктом со стороны _разработки_
@@ -228,7 +232,7 @@ In-memory СУБД и сервер приложений на Lua
.footnote[
Важно: не status, а state!
-State: Online ⇆ Offline; `n`
+State: Online ⇆ Offline; `generation`
]
--
@@ -303,7 +307,7 @@ DISTINCT
EXCEPT DISTINCT
-.footnote[https://docs.picodata.io/picodata/stable/sql_index/]
+.footnote[https://docs.picodata.io/picodata/24.4/sql_index/]
---
# Распределенный SQL
@@ -315,7 +319,7 @@ EXCEPT DISTINCT
---
# Итого
Историческая справка, Tarantool
-
Алгоритм Raft, архитектура
+
Алгоритм Raft
Иерархия — инстансы, репликасеты, тиры, кластер
Не status, а state
Лидер, фолловер, кандидат
diff --git a/2024-shl/images/logo-picodata-full.svg b/2024-shl/images/logo-picodata-full.svg
index 6f56919..3d6f3bd 100644
--- a/2024-shl/images/logo-picodata-full.svg
+++ b/2024-shl/images/logo-picodata-full.svg
@@ -1,12 +1,12 @@
|*sEl(WAAb56lI07NA@it^Vm+rscb^_k!k=dE;w1_(kferu6^{{tJRWiGVQe(OG
z8bU?VTp8s_Mm|r}mLeHPuZ4{VUbm!()zRHGRv~PaED5Kh{@;
z?l<4y=Y6e|f)#1;4B3fY+dG`UeML*)N&MH10A;QP$pzmYx4naq1zD1m#?8Gjey#Zb
z&m%C*zMlFuc%f?Wrs~Ar*r8dxkN1*Btj_}P>H7xcj^>gGZ?F?4QbIMOR^YQ?&qw)Q
zN5u;&BUhV<>l)+ZV^ULcwnm!#>K#I2f8ax!yk-ShD#L4
zcb}@ys62O;G~2TdMz6S7yX5UZ9O@yA%RMUxAr!-%EqdY-f#Zd*?W@7RD_
zzUj0Xkj@`+)E8nd*y88MHvN?2Iv3ViZ&YI42p-EiuZN$2acU((p1O{ZlmjNo$gUVEL@H-r5#x&KWhBCTnrtSHoPlMHrBA^
z&k#rG!FpGwQrgs%#rCKj_x5yXDB;JpH#5W6$WbQkjduQ$0<~6PQ*^^8Z;GE>{=XQ&
zxY=c#t-4dMelRM38qOV(oaS2pQemwz;a<__FJEr$_ziWMlnmR2Q4}mVpRTLc;3rkW
z{#6AkKzFS%ba1#w-R<0dD=VuoWE0jUJ$QRm#H1?XaC$_6#IRC@n(O{=WWMykQT@Qy?Erxh%Gjr$T
zbjUuDHJ`p|2}`$a!qn8%(g)*spZ_#+uh*FgXfbjHEb>kr%*$@#+vrH1aLx`VYUiuC
z$)p`ibmwcI-pA)%tJgUmf@P%r2KVW`$`-u|`6*}HpQCQ(H}gCQ|BU-dN7Q*{s+rJD
zaGU39aJd*Pt)N4!VeybqQs-y)uJmi3a_gU&jGKe5btZ`yN*UB6CtbNI56Jys0mW}m
zw;n6x^LMGlkC}E^Gmevb<=f1`^_i)j2i?4kpmo=0p6i7N8OLwm%+1a9m+dks>EMf1
zZ0*5$WjqI
zlN5ccTMc&N1{|tQ1|K5%v9MA5#ke>IaIgvs!_T$swoiC;ibh36{VLnp-sa*)uTz9Q
zA2hE#9kIjm>E?205ovoa^pIh&ZlMa?hl`p^YiryidnJ>u3%U1rNf%^rT!LDGsle?2
zY^@X-6ob#VgiN@j-M5AerQD_(5305EH%w922JaU9yEKLH?bD&pZK25AIiwU7yTEzw
zetyp4%S<@;9S(HWxJx{L_FbW0@LCc6B(fW0SRbzVgghnP;-MTQGHGV!(YLuP`po^V
zNTOtwP~~cq=muPUBzSp18ml`fP2@@{bK7a=bdU2c%}u{Jv88Zvh=1*D?Q9I;r}KuJ
zL+U-TBzWJ&q6TZT6L&;KcB~YYr)0P-Ra#aiPIqjpvQJJ`VY0}orm?5iRpa~3TJr8D9R
zE}^*sMYxaf;l@?=4DKAU)StX#wchf(T#m5@2efXfAkDtoq{^h^8rEl@1+%?Ws(ZS8
z(pOjM1;KT(W7}@Xaq2;7GEBR8h@@bK7h{P*q+E>F;2WO?8sL})jSKm)135y39U?fi
z?~Ydoq`~B_z)1TPCbv$97GLl}if}CQ%*WTf#DDMX+`s(R2NU%Diw7M~aW0Isj_nQ;Av
znj}@$&5@B2^rgadV$=uYN{G-~?a%JJ(|@8*NUfCXP{;g!DOrjfl2j&CEXTh
ziS#UNP(B%-k5t>BIe>PiTc6^Jzy$|NUBwU>Q{bvJx%~N~HTbv_Oo|>r>}ArJBW1!8
z^SUo3bvpm}2ieO~?T_PZD=GVWNn0f1z_s|b#(#OENCwRj{0?QFqWJgGmR?WZgFjR`jSB|e6JlOm
zTkF-#wY9!~QOk5h$uYpn>Rn)$7v+he#`C+B9W9Be##b3$*8QFH7hp#W5PgRwMj}2G
za$hWZy?i4R_+2dA+}w_&DmRDx2TzxzDqP~!rUsn5EIDG2r+1<)rNB#RBb+>9Z?#8j
zADqk;Yyek5?bbuWP_dUQ;zISAqp5u%X{7V~TGsWUwk%X+0A-~O_)gzFrhkeWaB1DI
z^6f-vh#3^XTo)~7b$`KbwQPx*mD3UAO=kTauxy1pz1Rw?9V;+8*PIi8Cfv=T_wiqX
zrF;APr!PF|{JM8i3qHHwPA!m5>vk_AKq}#}&2fZH`TO+rUx!$$lMkN00lZqJ2|HQS
z|9cxGhWviG%1TD=Yofl)LR3aB#`C06EOpAmhx^1E
z{<~0o6|xAD1yQE@O}ta?^nA#tiVGtmL(?_{*QC5&TZfv>SQx7#4^yE~zE!K@X1i9e
zf{Z-bmDBA6o9^=1N}1Q0G&^v7D({?Jy^}wEE%Pq%$2WZ$A_88uPOcTzK2^jY#jSVj
z*h$C+{4U9$G@3=S=z7V+Y*-YP4`T57S8?~jQk|w4
z&4eq1{y_a`dPp81KkgkmoIv@*X2EiKHK}KN)cZ%`e!kkSS>+o1Q*@2EFIRi1cWTD0
zbJ6g<5ueGd`!2%cO6NuoucfW;*u{aL1pFTB^+GHUrX7lAi2-x<~b*TO3f`w&fHH;Bcceeys$zx^IUXLU@+yevAzzn!567MUz-%&7_%W
zx2;FH5Ln_v&YQIcZlrg3pZLkpE%$mpwCe0pfVNH2<|B6p4AKE`}JBrEoQU
zs;CI*beP42TiJw9lWdb^5*;zsa@3L=$$l!QLZC+aLDXePEWQ+Qe7*H>pQJUo@+rN^
zcxo&pix)A;1qq3S(G;T?Q2r=mlzzt62+;`9^h$c?U=&^Q79^awMR%7=p>FdJ8%73W
z33r0qrKG;I6UXbe_C`f#Ko2UM_5?7oVGV_tTEh9Px*tvKz^uMhj^;|!j?YZtM9wENwN@e
z3nGGRYL40Pp-_04eNKkAKN;_>H!k~bsEHEi`@E#}rD-=sFYzw^RzP)WWjf81p)46%
z^-UEz95D$|&*$pR<-f{@l5w;|Uv*ur?Fp#}4ta|oZQ}Iv6GmIo9bEl5?K9kmZ8E)P
zyJJm*r-<^t6iCLqn%ES28DAlqj&=)^)xFzxTTKFMm^SJ{se=MNyqzz@~x<-bcm^AO*T^S(x
z%ZC4*zSPS$YIm_eqb)4y&M?*Mou$mKb6jX5fwxdt++1|6_7X<>QR0&jxW|*^l;#){
z#N96+dde@ODBy$8PdO{e^^%bf)$EtcpbKvt=<740eH@dovmz;ZpKPCPy%w56zdW9r
zL>#IEwen_v;w)nO7S_X%Z8~X56wdV2J=Vvi5>Ef#iLuq#*j!f)`eC%l|KfcWS09-f
zZoB3r`r&2eaG%1=^BE%)VJd5N2!AOxGd`m*T|s18v~3Ic4lTjw;^&eu}T5GPYQEg
zs3zyd3|~m!5$Pa?iLZQUh=J)@++L(N67VWC9W1J(>ROWTd5L(94-9Kh_~4>5%!KPj
zz*K&F4`mMBB{nFxM(^Q<{}&Z>qh(3Xd5fxCUySf!=Y2E8Lz)?L0nuoo20ex}ve(k>
zvZZk+__N|2FkL+!Y4qN3zRoPOLh0o{D0%@wqe;MV@XE-7bRY+gT
zo8cL9Zf0{LlL1MI7j6AAq1@Vwm|kw&VSO}#O+f5RQTGs_V89g($fGnFN6JYWWZ;d*
zljYCktSZfGylTk~p7SK3H=xco;|Ea^Y+e^CDd9EFlLEYm-?kmZ4(x%FcyUCj;bgAr
zf{X2;%lVW)3JYGee+rfgouVvoKaHXUwaS4(VQwaPhxV`ub+30lmsDl`B
z--Z`ITWW3gH4#1Qs(9sULrti}r+Nl!PI_KajB?kmJF=HJi-LBlYkiy7%Q-N|DUCtR
z-pzBzZRgAPRY`5u^9PNT!)1)6-a9*1K5n!=H466BXp`yc$w@@t(t{*3lZ0ge`B$z5SB{5bb+>WK(M8D;dvo^;m|A(@cI4zGvPN1-c9#Wx7p7DTI=tRqt
z&0MPydg8<^9xwH0Fis22MJ`$6a1N;vqIR*$z!M|vQ%DK~=^Orj+iH^&h@Hl`b8h!rZ{Gv2H-CfLg+QA5a!HmyPf
zd<_=+w6IIr)Z>YH8P;C03>G(86%;}l(H45O;z;QZFEZG5>3~EWHY$>LKQLEj|
zlruV5;{WwUE-g5i-fd`9cj{*!S%!MJIphF%--k}Q-n8U^983|rl9W!p7{l?A_E(6x
zi<4PY(2V=8T#V}NY7ON>zy|UBNN)0@gz_FMDawp>85~B2+s}JsgAWl`k+A+`L=v~8
z=<^(BLPxA}0r9cMmb5m#T*8q15vkL0%q5pJrPkfobMsw%6K=*~*h`pj#Cmapvb}ep=h>l*vt@O#yxDSMCm2|{TiJlCm;9yDS~IT#;kHb*^HtxBmX)yu4Md$ivfe0*QnnZ8H#9?4PILqHqSqtrn%cF)xwKl
zMz+)Q-Wnm*M)XAX@*zl((zM<>e0oxsW{wM|tUmkZJf{ZyBaD32OpsyCx?v1yqks=e++ABeL(jcf&Ye=$q3++L>D&%a%2JyPn-$$Lhoo@QJ+Y|Ffp%qJtRh+Uxk
z&du7jfCdZGwi#wzuAsUT~>9ZM6I}w`cW+_0s!3-V
zEUuJC3Rx_m5giq_0nL>HM#cWws$5tIhdUz>|w%CIm}cdi6ZDl53>T
zh>sK{=g)7>{`|`|UbBN-zv>RG2>Dok>~qIzQSVIdL1!6R|0ze8&NaWk!^@i-Ge@X$ikCN>o$TbyMsz13!>GF>tIo5|qE>KhP`5J$p81-v{J;^;#Z-s;|Pdx$Z@
zFsdysOphK24L(Gn74}0)>tZANl#16mkZV4d@GT1aL1K>z|GSTNW97Co8Q)SQ-wrG#
z!>QG5{ke%?$R4kZHNWoL-Fx+JijRwec5SHd(8qTLDSrc-fjp26Aw=?xT3+iZ8F`1kOTZt}aI>Zx7pH{|;1DS0}f9tLv`POi?+F1f-E|9AV)v--QVVFm%`SKAT
zt$pzo+N`k+qK~b}vlFaprdbpUOtZHkr@^GIcEe=Bq$?BJed;W&+AZ2IB(VH@yXG3j
zL*J%_lR6bztp1vs!^k~8FW*4c+W5XXY+ldETl1ABD!CWy=GB?F01I;3vAE~1?H(Nz
z=@yW#F(S0_z?Px_f(+RXN8r4V$%7E|s_8vA$4dBuD;Uj}mM$ov`b|fVZ-$(!W!sg<
z^I~kqYlG)6Svibs=!88(x^wpmrtieUTZnr|=3T3Lg3WuWQIV`G^fKqgc@Wgov_V9>
zE(OS3qnmPT(Y>BJv^?pu2pnujLRqm+!7q`Xw3`FcHQf>Xo2mY??Jzy=)9~kFC%3;9
zvv}!CljbuOuI|Q$AZ4C>%~Jp*+n7qT_`lvMdHDAjk9~cNd5l@3oGF!pKTnwOiJe{Ld|b7fyHhAep11j^!lQIz8!gOP>sG*2DYbI+HwHer3HV)By*Cgk0u
zu`-Js*lBlGMn@CX4WB&&H_}gx&$B4J%at%>!jg!9sK140NvBaM!o6k(<+ZGXK
zUTYZ1$4PU*HM2RM$_H0jHL)N$@X}GK;P;sXS~+9>a!t
zdFg|GAnU0Kxg-`?Cy*JGS#-D2sdU9@a(zXs9Jvz;HXyIx)HK7rYx9XvuLBPUI^T=d
z)_T^MUa0wK%{)J*Bj$uvZx6ZY4k%|8JPxJCM;@
zAXLp|Dm);&Er|6Z(+WB~E#|Cw*(B*f)H+c^*RhSr?gIhRB{8c(+JH%0#-~pvIe#~k
zC^o+x(~hFMh!b)no$4syT(8H{1)cS?u=6L~6@ab9h`NN=k<^wr?cKy|BKoEiyZF55
zgFHu^=op^HR~L!EWbfK;m~UEeE7+U@-bH+sdzBzCdr>xIsu7
z$Hm1dS`AN@yLfrM*;*M{=#>Hm8^`Kos>%KH=g&Wa!Cvc#)gkIU7d!^E1lLg{bo6M+
z{Z*;$eWbK5sI<&FPQD#l**Z{6;Lirx@?xw@i{am-?trJ)IbQq3lpD~ihms$~9|hUz
zE$Cw#j}0)wD1Gzs!-$s+mZId%KdQ~hly5`7WoSUZZ!vb{8o=uiJtosOL3gnusHDuc
zJ#Tj0>TF!;2%x;
z!;8;PySquwOpX0c`qmJhkJ$eWn5qS(+4V&h*;xGOHa%`81=05_6vDkYHZO}<`RIpE
zQpB2|tVX(dd5r&Q0XE=K(T}-!CZ=O-N6&~yot%Z6TJd*9SS~SBsX|k#$6d7Z89~)Y
zh?$j*?J;(&`lQIWRcvVkim){7GIxcT<$gx+?V>1@QRnT_KOO9CzMM_g&TlOX*%BTu
zF-51?Woqg5?!F|_X9gt|eP$O!EGWZ(!qXU5#&YkQVJ)tHh4uV--Wcn6{!!ea9$}{*
zT;AJs?s6(O>Qa$CwP|5xx&sz`PR~X&A`BFX+0RqI7Ud_+WO1!Je2c&j-?Tnw0s;^<
z3>`EjmiUqM3VRp@Q{SKAJ1tZSjZF_LF91rVHc6i3wAPSX^u?8n9er0kYe{XV{ot)3105q()q
z%_>Lf^qB~H=z*--LYq_AS;V^$VQ8**gDAxj<*sjsuinJ{t6}K+#05s&vrWp`=iKDV
zI=h)88V4@Te|H9ykAz-rsG7y|ztO(P<7IBz5~38kAsE^kdVmgv5o(At&(GZ}F#szV
z6%!L*a4E?m;L<`?s51B77fnC3!qjz3OYX>X;nT4*x;nOBsLP=?-IOfH@vjbTxla#$0V
z2Dc1){Zo$HZSs{OFW8B)>+R}Ze{LS3k&mR0d
z*Mf<(Jh(9Dkpc=@06kO@0qdzpxo+`Qq&P=^>X3
zBaBZ&j%nn==>^i%S;`=~%3eU`TqwRdk4=WtA
zY-&R8IX$pRF47~xM^P&b8HZ=(*SdM5^h7r&ZW!qs2G8|u#8UF2=!nGy5oxy0UbMnt
zZX}_-zi=Mavc{LP6)+1>6&+f>iL6n{d4^K+6#QYn*uRbXs*z*c
z+mN)@u%=9~T7y!vufi7VRLV!|v7U?B;T5*sY`}ZzGc%wi^Y6XPja5!1{8%0?8y;*~
z9$%H6fRRLNJmc45<>bu2D-^}vNfou?w{2EpT=~L(bDoGd8Pr8JLqkH@*74H;T?6Z{Gd+of11=-gj{Wm
z-ghH0^ySiI)OgNCD{_G}(tzoyk1sv3y6H+QId53yD|&&zWO^!-u3xQI#n8!xqjQfq
z79~;F5vV&fM%vJ(f<57PO9l3>E=!o<($E;ZEp0dQ(!;6TpF(pKd51Oc#
z&n&XP$KOToivuTbZ7r7{`L1r^uxZ#16R~@tPfwvXYn=Z%UXj`-3NZ@j`4E!Lqjv7p
zrd;L?uOtS1X?fkerhPc}C0iH2w@}=SYR{$aaxm-bJv!>HCtGq
zTz9w}F9?!|E6`jYK`EJE#;rm>*m&`KKN1b6ZD}x6Y7)5Ht=?m0n^U(6hbNDdHVM|e
zEuX8(rmi2bT8=IlYZ`K_cJIXcC;$Nhkn-3K_6E&^sFrSODL=_Ver9`Rq)cy6S~omA
zd=LP?wCIx`oU%;w6>iO_jo8gA(lo{;x;}X*P%Aq11s*qw>e{fa*M*Ey3CWtyc<^(d6`Ib_>}|bC5~n*HVk;S7jwK5laHPivIq7
zY^h4jtfDk|-}JOzwFzKmu!fx`VQ^K&UCgrySR0Mv(e7;3I9BNb{*+T|4NMU#$zWjE
zCrV06{z9d9g+4y{%J?EY99$B(NH7C(#7Cg_=u&95c~lD~SZzY~Zqn5gh^t_LzkyQ=
zeCfTSH)}0GI)h%K{b|D%-BDWxL_@vPooZenK6XWdOQ~hQUSm=-Dl-$iFT`9EFjZpU
zWcKkxpvvgxYBC=m-)!mi9c3Bi5EclcubNhEQDVg&`Kawh(Bx{hGxz9-ZDk6@Ay?>u
zyI9ljdm%u*1ew|Vw%p_RwbZc5g4;0muNUUmO11dsb(UzKdB;j-fCX!6YGS4$%Mtq7
zX?b*o;JHs^3I7c_qKu%$cZI;#k|1820r5&t`Za=X2ww4l-P{*hOPG`O*Z7MNATiL;
z)C7u%Gjw#7R-c|WmS$#VHVT`wd>fze*DZKv;uCTrxrmre20|p05`*SrK#ztTfmx(>
z3p`hQWHvdfT;as1uHWp^WKr1Ck_E&v0JSW8HTpI5Z-N^B7YW_LpcdmF`1v%qdBQNK
zkB@f16-10ah7qI`5*9w@opV>JOiX46W$m&MMc1tqd|#DyVA}?+gP>J5*ABlHPz@(cr#y&+*6ObE)0f8%C;*R
zmL;*LYUa}nq+Z_4k?M(J=HGs{M-qtsOzU%?_Fz5SL!s;QIT5VIT{ZXefjrzwHSeI4x75o6{NZTTrMsv05&;2
z-7DL?PQ!yZo;un_Zf+#Cq*wMTrvW`w(0Ave2RT4Oh8AI_sxlEx6gBNI_nmAfK%L6r
zpo%-LZsA_p$R5tOMF%(!@xakeziuasHXs~o)v?%M1fnQF{eh#)4Bj?w2281ce7w`4
zFrx!(8n8HNHX2;ZaR{zyXX?PDX58hD%AwbvKYxUnslX{{gZ=Yj1REUSkNUqtuwyUS
zl>y-V4T|3muWW%Qzkw;=(UY4&R2hjBs8ZztQ@I8Ioy&b_|EG=nNW#3q$7ReFxp^qf
z77avWUI~Xtlai`Y=NMDjz~ISx@1>UG{gy(Yp;h|>)MdQEKoC1%)0vnLmRQRTNNRsq
zbc*S~K^R&9R8P0W>wd+1+1m>NZP&CVu&XPZj}Lv<*KPN#YK1E`WTb
z6gZ?>cn>{X0wmD>xHyM~$vc`F8Uxi%BL$s_qB>wqaYy4Vho*lT7nH=w2A)%&D^NLH(i;S{
zRX!Lnqk*Af!@^kQKlULLV6~-n1rIo?oWA1P!APdu(VVk5Nla|PoM7XLoi~(;_wQAD
zFS!5woyey(rUMGn$6Q;t-L4U~OrTA5f=h_n+gpX3lT+8NZZ1*!RZdl5q2O_w>Gr{A
zCcWD#`=h-DBW9ku^^QaD-S>fea7ZmkBgGJoiv>^x9Ud&GWDzeBWX10A3Xx=4MaA@x
z71L>LJD?`+$y8Dx8|V!^+FW}7uy_M+xP4V&UQ>A^PK)9vxP8l3iCaF9={f(|>kU=5
z^nLP#zs!!X$H6<3NkF`MAfFz3w70~hrx+Il{O^8ePauIp>;orQb+0Hd$uh)WURwH%
zD@e(4a&h&<);;+e|2tni*nukVxf*ZqEc)7B`YqOyB_Mr7h%U>fcM^^y>qWGfuLO?5iO?FVJU~7E(
zNamb{A8+WN!q9J~QyVPc{6Iilo?|992z0~-#ROgU!8-S`q|-<#a3HYt_H&zG_+kN0
zY7Kf#93j0QEE2TDvMqbMF>*hlQyYm$2?+^^Dv+C5^me64Ev>A~4rU#BHBUY?G;gmS
zvFOC(VIda4{SyS+Wx-gdAh0Hw;I%+*!v6r^>PnV;=2)GYwV$IN>DMl7aUDoeO+=fI
z57#`~Xk;a%rEjJdfKYV6Sq4xdApK1^!7+j?7$~+E(43r{HsExX6@wXo+?iJkxBLY%Rp9Wn(1xKALtUeLHYQNylkx+06R0aSuN-Y3_@%eEewhn6Y
zUKs||2uxTyO*bGgaFc!-TuPrA#OlavtU~`V+~>^S%wbi+35F4=Y1RVQ3~=RM(dz;S
zuJ6lWtNFP1pgR+ubZ&la>>Dl>eGfr)6r7KsRcr3qgU#Lra87_yn1<(=jQ~scfqCLS~bNUe#i2
z#*LZ+yhB0=_}8Pb_GGleCLOTm)rPfZf5Tdl&xu%J-TPB}J-#0EDR!WP;~Ma>*XEP0
zlL49nASG&-ivb4@kO$Cy@K*adfW_h=wsUf%8!80xj~JFAo(440p#R*lZ9Z6b!p><_SAZeFJ9#ceQX6rcS6`N
zYB7TQ0n!WjI)FQ!I9)YMt|rkfcGyu
zDMRJ%*c2SSS6r_XFa|D3j
z9(SW?{cnJR%P&m0tTA3L=GszT!Xg$snHM8cWhj;e2oLS_pJC*!!8hz~jd4;va(rc?
z?B>G%XDx2+1YIgvk!=A$x`D-I-~EF2w4Iy@2ng6HwJtFbrpwC!D-Q(1FILK0GN+HQ
z)3$&Yfm~|^@au|JJF=mhvJf-aCo;k*e_WpI>uXx=cosN*8W3Xxpo^gvZ+uNg&2m>P
z={yI=6VTT{Xu^10ehY93aLbb(1Y1xa0W9m|qc(Eeo^%3}UFqi6x+2Dt^L40aMI
zq(NZh2R3_gX=w(yDrpe3JeV>U8}CJ-AOH&ek#&FwX5Y2iS{?#>K`Xz=0|8=S6d;=Z
z0O`Tu1Tzre-lK{t&NtQ5ql0V(C~=RB0q;4o0;JV?{e}N@>hT4q%E~dYNZCdr^Pft9
z69Ien%o?P9es68{JIkQSs+PCpL3-e4by=_|a5IDm_F&HP=wkl8OLT8Q_OuzmNjYpr
zZECC3SHHvnjon#Ca~GPFRDezl_c4b;@VC|=gi|@|k$v*>J_v{g03WsiIL3Wr>@Y-N
zr8UvpJIy}Go<%N@FnpObaOkJ-FJwQ0&$-Vuh&)Kb0x56Mf#YydDUf`-B8{5@K(ot-
z>>S3I=QXOw;SotfC?xzP1<698Wu_b1nSNNhn$63~u~ZnuyGyG(y_
z=%X?bya9kaX*LnlnkYha)ec-4=r;h739~vFy<@eBvLm2ZfJ%aeEvo}@YQ{*#9a#Hg
z_lf_$18sjR03srzS{N^Z_k=`!NHFI>?^T~?V*|}Bir+^jCB^g&z%PKqLePIda|FHy9D(po0jf+Jbn<^XX4@t#?*soV6&hDO
zp#)(gSO>7UAhvU?-tc}uEP1cV&+(qMJ=l1BlDvdlGgYkCX9uK7ujWXTzFbYYC>lpnjkD3auz!p_DPK%15K
z&o0M?{<&rT6_Z47zRtu1{zrQobN&l5(3z?a`^NG7Af^E61oZPx$7;6y)k?aB%s??P
zf7QhgH33`8K^zVoXmF@2kB{~Ny8waX46b3#7N9)vZ@K+EuPzKocdr0T1v~dst_NAS
z@lDtm_$**M6F{oP3jDCe4s=K@o6r^kQcIxmX0tNuFzT(a;k}{<8(S4U{-fnYgk~*f
zst=~fn5^T21wtwWLTHV<<~a}HeYXSH7al-eMabbFcWfcZc+a2_WGp1So8
zb}-wAQz;-Z^NVu{v<1|vn)%)pQ|JYKGzP`s6o!LjRm0>wfS{ino#J+YGwqdsoAa>n
zlxe=IFiq&GBXB&=`P&dcL4I2Bzo#rTD>R{jw3Tss8jXpxMwrLWDX4{Eh@uiRTBd%%kJH
z9pu+|2+lKW79eN-q-!MszpBUqye3ez5t0nPE&JxQO26-dlw?+rw4`KrJvw;~+5jJW{Xs7$NE%(L)BJaC2DVQnHVXQ={qMluUa$B-
zZ4%EfV$ql^Tw41SoW6K|O5jD#(9lSNLkg~P!|Sc~#kEz?4r)~6d>%APazjAm$^}Tj
z9~V@ZnF<^tPv9Rsmx~JL(ILP4HR~`>sdsyPo7+Hq&@2v}`3TCi6*ir~W>C);df5sh8kSoFyGSJRbjVWI8y4Kd#7r&7A_4j`&K~8Lyz=t6n-@O)`kLT>yg%Iwa&I@lN3*lx>X9t#1+q;q3Cx8f
zWOs%TyX4)wR9|0j1dI(i;XyrO5h#kB4pE??p?TY%N3Z7j@@CEeWogiD>yD@*((#Qw
z#gyAGZeF-9knm{rM|rx>m_xdI$N7n%&2D~1N)r>4liG0Wb87!i)2UYANf(!w-;?&b
zHfI}t(W%C3;21%{?aFqjIK#4zmADf!GqoYG@Zf^eM%6URRG9j&-BlH-wrgC_E
z;eCtqZUJ#=inIe`VP?SPQRf;>^r>Xx)cbCE6YF1yivXc<#4SEc<*e8op;uJT)d1Rp
zCpm(dei!6Ht6~mFq!TgFn}dvDe}?bWc@PW=yvh+;2Gdg1u(PwP0@>w7fZdT|Ab0d%
zUEMYLjW2v4J+-LWKi{1esA#!&4O|Y8ir>+0L43qHFPQ`lGK+Ugva@-$1ror8L4?&0
z()`O@n#}6`pva^@y7QD;EP^Wt|4BQe&P?nwOQb%ty1uWk@AsjhvxNF&zmw(u7*}t~
z*C#mz1qDgp2Y&ouZCWv3dzC0|Y2iPmmVMVBS5s572JJR5Tk^Z$8+uPgUX1%?=)jk}_f#JDLtDliqyrq%o0Aw6tI$6n#x#%0n8_L6k(CMXF4ePA%PG5-0sThT@3Rk6l7$
z-o(e7dTB5CJM-Vf6M3uZgwTE3M-M3`0HiQCfp9dowB_i}B5>-_&3}f9HEm}-P
zFZ*r;X!9rRJooV~x*r5%9QlJw9;`y&o?OxQ^z^*QBklh4^J1z~=}VB#e(3+fS;my|
z?3_m(z$0~VaCD?y#;Sxe?r4Iw?w3S!Fo82X9a-Z%x)IOz&ASRL5aCU~fftn`&H<^v
zGRBbH-?76UqJ*^6Z?FaG`pm@MbDl;aT^r?uv|PW+(X7hwnXRj`vWBfMRQA5=U7o4$
zPLtJqu9nUCv6%KtFi4COmnpK)vJ<$+s!N7~<&ZAerfkFe|43qHr4R*4yvN8c=Ha&kl3U}|4L`ygf
zI?)xYc7Y7H>
zwf$iEl<#QNU3gt$g1dmYn`eHV3CR5340y0iAGh7RfFma0`&JQ?y*5810h`(*&!Np@
zeN>s%LBsErl)Q$9Gyp})S%u&UV5o%pV!~|!;YTuIU`Z0XZ9#H^8Vrm8Szwg$U-`iR
z9)s^g0KQ8bFPw5a{ucii+e)xoP5d8*hKAIwt@!|-0X_1&GvQkNjMB2Ql@5af0(zNU
zpI9@5D2c1VNo`ZIpZMm5JwU!pfcb!kJ0O$bW9u|w0mX_`V6EDzB1ByZ0iw_Kg
zy8ujp2wGEN*Ng$gI0I8
zsc&V0%<782`)&YE&i<|uH;KBsZg7$$8;J0@iqCvMcMWwYIh2!ql_r^@OH6bc+DP()
z*;IW1^zPx$TitWm>jlkio8=Glo}(t-&)M=gg`Z#s+XXNZM%;Va1e+`8X|Mfy{mo|%
zb`GTs)MoF{WC5hpzm{$we;J1zTL2Eko(1UBK|;=7!v+wLSa)_OHh0mE0jy
zrcFN+C0f#%7$VcI|C(Iv{NJw}_(v<_rO$9c%qY$18Z%2C)!K#Wgpo-O<-7cE@2XOKC~2l3$2b#;4o(fH9LF0az_aLkx}{Jp3_a{X_GSrj3PXpj5f>6g
zllV;}z{`ksh)l!0QHQ8d&{cbH{O+t(${91zMTRfDXPyQ>r_(u2+C$dSes>&pg{1Zs
zK65&}WG#FgJ_t|yF?JEGARlPd{=X%Pe^Is{c6(_U!l4VD|DAu;7tr16ucP0n!eO
zMe7y~%v~#iMty;)x=ZKMu#
zrqYd3O_!Y%TW`kvVWVG^y7PlR8G>>@!pV
z28tna44-*_F{}<~x!i0p83W2hA~`;+rARH*Srm6zF8Rmc^52zdu&y;;(j5~=XV8Pk
zE>1%cLp0A2Q|!xHns`HdJR}P*k3DlT|r4{h6)%*(z@YlWzpXGXo52v2634J-xX
zFF!mp8Rl@Z3EtA?%22NYi?-K?=;NRm+8!ZjYmn3xcD`j#B{a-vwsAlwsbEyXQJTK=tr
zNOnNV%RmGhs_-$HzD6NJ!ejH@d#o5QDZL8m2R7AclD80LjYSPZ7p57r3H8OyB=T(%
z3!O!%5w_}Huq6-ZjnY?dg-(4+%wJe3&t*jD*KzYU`mkmHZpPqfWX;=Cnj3*khYHf`45YFzpp~9O!Z-@x;q^13(2~G=;ZNw
zs}M~uQG7Lo8RPQ%Oq&aFGfhxRQp}A*ADn`*=%LS)ImiLa#M7RyF&+JM%83&&FkKV8c<(%7y2M`%#sHs5&OVN(A(j!0E-(
z9?EB$z-ymrk0-kDBW9Z?HEHM=TiuR{%x=nM8WP!&Oy_LZExRye3y*=Lx3X9r#D(v9
zKPL#Mrp#Db-n*DRJ7ow@&|aB3bHHVUit$x&;`jPhOnc*q0>5^+x&wh37nRB;4r6tp
z5>uLoJd>(tDTz84DA&-R`fe>+7_PeAzy|#Pw#qG(FA5fPm3P8`wseT?|8aFC&``eL
ze>P@hkFswWv?4nZsW8?^$S##E*%GqOlvJ`cD$16SBuiyiyip_-O-Wg&BwLskk@bH^
z-}=@69Ce&J@B2Q>eeS)_T|S=*&C?xXTR1nPC-E=ja4)&!;x`wsIh&3WwW)Q%WnG&J
zC_L048zeApa#>OTyAS;}tyaglegC-N3pCfwTSMCrRqV|}oQ&g*0irJUGlyNp%kE}J
zR`D3z*{)3<_Czn0c-8RDYDAuS|8x>xZxFi3MU20zQ&nDH>KlRGdWGje8=5nwYq=Xe
zS+^?9f-q(#8GkC%l;AvhMABD`u|zZL9t}3w_9yVkR0y0|W-$nVjJY5Fj;i9D9(2qL
zZ`3AoI-##dGN#Pg*`uKld6+-%O>W@Px;O11KHZXK6HduO*IlL+g9^B^udRqYrOcT0
zG+}eMXseLGi|UXU)p#5Iv6`3PAshC!HLyl0BXg)p*`V@GA?n-C@mTj-PQ>_z+Va$n
zI&o_&Baz2qxO|6R78l3(=RdDh`S7pp5nh@+?7jZBkVbj4S_0BW$WbB}kXs137H#i~
zq{lvoXymvH#W1>aV=fd$?k5QHk?OiDAO5SkTv4OKOX5;N=hCt9GPoZ5k#{eB)b*>qwB1Zcp-kA#g16aOjpwAF
zJ2~;zqCMH2ZO{(AWZzw&>&-T(h+ns(9qH207r2YlIc29Hhg*88hMh+jqPJW8)F^6-
znCD9@E}isqAc)cCQlx@LihT7ucMC>d6>?1&V(i!4)#Z3=>*K^Exju1sawJsOrO&^!
z5&rT2gfdzI#m$QeFhfim39rW{J?B?r0!Va{{>|c)4jFk1LY$ao_f+ex#UGL}Ig&BG
zOQs_S-ejv)7AxCV*o(DF#`_j?y?8DYQ^6{Hb`yq=+*kBw!kiE`z2QV@`)z-k
zTrPJ=O=ji~JzyK$4ey!1r`qvdT|Y#F&^J_Bruyu-q60R7?bc#=@kMnrbWc`unV{uyKaMHAeDY%?n;iPNvocs9ooylKd);CEvSQJ*
z4qQI#`=Y6etjCjRUq$IN`SS_LOCL^y;%gpHN)%3s(NA_e4F+3FV~dVEXx-2~@a#qXf=ge%R6@C3FFO|Qv}UXKmllGD_u
z2NSKVh@FwsFX~jYU7X
zM2~P;Y$w57htm}AY}xI5%(L#H_^H}0Vfc(sSlxu&WUX~!Z_-#x+{Qz@HB>R+kzV(>
zIkA;4-zeDkJciMK^;VC4WB6bMeJWVriEVCbPn8a9_fLzu{~B6;ON#VPu32^|lsa#k
z>B!i$|LE{VT5u7?V^pX&OmIXpC^lVxM0Q3c$HDPL!@m5959L`|#~U`6=#RbCzj?=q
zAYhK;Ivk4okjUEq^o?TgT7A1I+nBA@UVi$9>%_KO*wDCQiUvV!X01VwcBslGJx)c88oZzH;*v)|e`
z5=;qwt%*`Wmf@OG8kP0m=le77y}@$t+tMx@q_(ZLyqC4tVr1jm0z>1fyL;c-59;NS
zyU@%7HLLGUFm~wz&s*WM(%?t+eQib$vN;X2=5BL*x31B9Pq3)}OSR9@!iso769Vn1
zRM4583jx=Mxcsir0^^QO-I}>278>RG_P^rQ{~TDAz>kE775Sh+DEA0XA5dBNtfG5U
zr}R8VmnewbE%9&Y#?Y75yAccW@qObjWL{sL^cXmY^iXWAi|4VYbZ>pzPmjGd#KD+C
zSg>zr2>OU0;8}`L8YW!LH1!3L2v1ECVT?0xy!T~{Z`he>`vz&T@w~VH&ob@Lk_ytn
zzGY8ym}4vBu-og=P(X0ElnUYzajDIgiTSL?9hToS97Vr%YiKR~6jFhpkN?o*n3eZu
z>u|K6(RMpHrq>eddw!fvn$#wX?m}hX4qNK)CqyJEvQ~aJr$@i5^!2UqA>Nm}W!N9Z
zQ++!r(w@SN*3AzNsV4b|J=~ZexG3ZC_w_{Oz7Iwm-M?$(!@d{Mw^_tz^vrM4~;iu;uqUX29W*qvKWh&s9F?H$X!X&=;f
zJ;I2XmAyLKEH@zKi6Krg$F_-uV*S_aq}wiX&MHYgs?J?Ux1sCn7idEt%rd5*ee=Qb
zw60d95CNBvs;B<`f%4_zoF@L@bFT;o{{a&6ghJm&GYjmzO>y+v*-cU$HtmryWb6GG
zI>aUmca#Je9>)ss=|@c6vL7%WIjdfk6v-Z=*QfsW%M0(wpPT%J86u7AtqIWMM?Pj;
z6=s8#K>JF)-XOAfu8S`Q8D@q4zr>Q?vR)LL}+?6@sa}NUj!{lg;vjriX^U;Ht3whb-?#eq^
z6L*BuI2YK{gY7b)At69UC|6<{g7(27~VW==WfDl88%AA(F+QT
zpJjt&M2>irJD612@-#ZP@HN`kVaEwAk#hdhj1jfhDbn%6TUIA->W+;JpI2gJ$0P;}
z^XLbj!90)Y`na9GOmKSp<}>n*1Ez4NS`Iagg^s5EcfR++^{1xBc8ddfp6y}vDMBAU
ziDk(&H2d?|>X;c4Y#+^5&fxJATmh&YmHWprX6JUD+<))zozO2Is>d(n@otD)xB46o
zigh}6ax-IivwJxX9_{;G|NZME3$OVV
zN=!gmTGyF`-?76A!GNufG{w)H9P!%$~b8uQ_)8yCrHnKr6|s&Py-OIO>Mv}X(EouJ7|sK--;#dtQx5;^<}~|?Z$xAK*sQm6Cl&&>g8+i*!3?88jJ3Dd
zROt#awe12#52Z9oR!4{S^g{UzNtRhj_McP5nb?rTv{+9~J(wHP)bkD1*VhM6--UyZ
zf)FYi@|ZeW%_Qm=qz{>`n~*&@3DG|YROaU&QvP#o^nCqG?{oSk=?kWILkbO0JTWnQ
z@XRSsj#U32PpD+okFu1hU_2v9g#cnr*{Dk^liZzol0t*os<#*Jz~5-yCzX(%xp
zl7%Ouu#Qg7p-Vr9Hw{{$A##XnywM&X*wO{zje2o0oh0tR%D6|JbKzP!&Wqm4!qn
z)RGlSzydHg1yT$t<^`jZlTd9Pq^7E>llA=Yy@0NjQ$ZtqvmTWt(aHu_n!i2MOk`8k
zWl~6R%1lz_haduuk-T68fQye0%w{Wo`x%jO$e30JC0{68r{inj1H=^4*Pjb_ebnkU
zf1<5yEe!9}lNFyv<=OF&kO6oYIxUTeE46b_`v^xGa&ualH(;!-2S3Q~qsA5oX+1Yn
z?|Zb@;`H)~2P%Pc0sl2>Fptx^7b`v8u?+>e>%$}zWiJ?&Mf?oBVUhiU39YJ?$?7`T
zoB+Y#7KeNyr@O*^28M}i34vvZ{6e}U5IK%W4E_%aGxV2AOyF2XB^&2Mu_LqY2J*_)
zU)yfnkVVzj)oqft4lk;5rW)M+Ix^y;#;zxyTC`B2ZCqPioWQJAgJ3m8iQxmNDwM9s
zT-Yw)yK&TMeU;9gZa)@(Z^Uu8*W6nLDk1l|Vxc
z@00(OQ{p@&I_^4w43%t(k#j*%>1~_bKHPdx35pCM6$+9H+KcU>P;82d{dca%GVu9Y
z$SPb-PX{>(3JFPRJ@~fVlkZi5ML|)~dFzdjAvrwq`SZdS#))g;BS|YYc(AeM%D>z(
zgT!I-jjis@8P?+1(6%jA%x^-HbZ5>UkmG&6Lu8|se2Dd=3C+lQlE-#R3#8@w^XCWe
z?S~0M=p4S?oFrl4?d>fi*!%M37aqobdTUORGsq3|N5%S=j+Aa|jMyISu
z$Tyn9(6Za1Xeb+BPk1Kswek0c?fm6>tK8*JPfr&(eDB>WN-IcbWu+RkF64%J=2OVR
z96562X3*J9_+1=LB;nC9rxt+oj9X__$Par3SzXAUHD27XmszDS8YE0UsPqm*yGRnvJ3wBn1k}$E|~TfhJ`FRgbAR}@Z7QP6qpMhY)Uc*`wpK)d!g4i_k3
zsTsL`e&Y^iK>#^IHs$AT0Q@GF$$z5$UbSt%U^qMvZp0+*vixqRmY#|Jj7>H#*bj$W
zeIP>l=+UF)<>kiCLq@M8<|D5PkmL%rqJspRA%=BMt=KeTyS?&WfvX%_41K;fTxYOfXcW0`8UJ1^_kKSVzpyZ7TUZDW$H|=R^Ua`~rr(&DfPwOB0J_=KE
zU3X6pI?FiUYG&=K({+>{ilO`Z6{XBPucrU$q0&2`67e@)jV^)!Io%d6*>vx#
z7nY}%*S&vRYf@!S-|xCFWA}e&_?IATYsvxubwBb@Oqr?mVDKh?UPV4Z5tIDfu7hD&
z<06AwJgmFLG*}_aMCQRwEQ%|jiYU5RTeMuWRpEcbUwL2N(O`atnSM)E!fURF5Gu!J
zU_Q4!nYyUzXqGd4B3r;uGuK{Pku#K&v4$?>)i84mF{TI8vB+ydufG9Hsjtrv8M6B7
z)x(5bEAP`3ar|~xQDeb1MVW1Sj@tH=Q9ufkxVgB0J$~o%ss;W~r_GmsmuRkx=9VDd
zkxP43IeNDjK6(=O0{a6ae4sF>>!75(^M*!`gR%@3SFs9R2^Q#*##1a-*UJ9$xbQj!
zYzd1R_Jr4&h+6VESyS(r_MyqI9FI69Jg>27q$|o-ICoWRm!YeLG^7*te=88?Qsy~5
z7D67p=Ki(|5!Uaje&Bw~(n08~Nc|7YcJ}*v1K9=pkYSUa-#Tq&u-!WbDM@^_Hq&c*
zYa}!_-4NcFPN}}|o}V7_eeq`;A#>i|egRhbB
zL3CO-X$B>L-J-Yi|1D;d5xf6-h9BbPb;kE=%!NXB3j2o*dwU-0^**V>Gj`COU3EIl
zCfY~V(l_dRwDgfpMIZmOngK?9jaH>BC2}#IUZ;J!+4|@uEavg~RucqlKyF(r!cA_W
zB)pyy4pCq@(_LNl|KI0#UR#sKcK=kzM6pfU4I{xg7RPye%m)1s&aF@M$Rmg{Q?QfWni_LKq-?|iJ+TXK}U
zad=@I>C+RbC}kgqT*Ldfd+&I!Gy}r~Jd9*}|huZzjt
zJrOBXh?1N3hYK`V-#bgf(o9GCzbn%%ubt|ay5vFe!+N0cm~$F&on;Vc=~)Md=|1bMQdvfK
zSH`-sRkP9zA^O>W#f$btam_5hzdA#7xUK+c4uK~=@;SYYiTbLL0D9%>
z#rgx?PguY_v6>IN#NsUJ*wxQ+@W9RAc5X#XcOFpy*x(^#?O4)oC(ekAJo=t-`Bn)B
zSwEC36Ukcc(E&FNA%F+d!fAxnQ)Z}ayqZfn1QBvGbgcu!616GN~b*n}9yxpEzt
zzK02qR!gR7b!F#x;C@^n;*Qk)Pdb@nr=7iodV!zJjY5?~%%lBXwGVmmEAbTMsBwjI
zmz}IHJ+4U)qmP6>{X1VotL(Cq1^#Wy)mStIc%#xye`|bUQ`@ADmQR
z`u8?>z9M9x7UJr$k}MDzY7Tw+S{{7l*z+N%BwDn_WEbKYv-Ni3`OANu*|;6pGCV`g
zm3R7-xD#>=38AFIjs&Z+eo*NZWpy;GUK?z+9QKo+QHn?*f*dV>e{Ld(501M6Mq$sk
z*OoXnOte%yE`#4Bzk8q1*;oFT(DE#w0M={&*qOm7?hO2A6T&}FdnT)(=24}rQRV}E
zbQ@lSf-Ku^3t=b~Q&}y_6~SU>N@(d6DXKlmqnCyK%$Ya%&t`b4q@kYSKs3Q5U#=!2v(!*j29C#izpJPWz;j)tL}fK*;~$
z|H+lE;VRD%c5Tq=(P8Pu_p&YUh8|cSmlBNd)34kbN+%yXaBH{l=HeK|ua1E0XXIKX
z+%rU;r<{&S{)UYy`=dkutL6)?=l9o^+Osv4=WNlMo9j{M36!{Plx^e$P@v_xAnWDf
zn(ytSHcJuJ@4bM`N;o0sQ#fHq&F4M*e_91$jmni1@clSPvyrtIbALQ}@En;U13=f>
zE1*(>lco1o6dgf3vjK7vXIWx**N@Fo9~YeHt6lB?wW$*~g<|}Bv|U*$POatzrNqUs
zXy7;PjG%9zk!5p&xrNzIY6(N)$knsQ>Dl@-5Ej2<$9h8D;L_*?Ecux&RaY
z$ns`6AE=9x+iNsdhi+r=(RX{fEZ33qW7=Er=saKutKk=28km
zHz*w4CUoR1w2_I!*OydLDP&EgimmUxS7bInA!i&9HA492f6TeCQ!|{3C6*Cf+-oj*
zZMF!)+uZV`@=Y*+qv;0v!_^^Z?mZ3Oj){uC(>8Q7jWCD5r2A;@2BeEz@tS-6E(GvO
zs&9aDi(P{ap#3o6GYE`MQB7dwUpPB_=fpp++N|g60;kpPqFN7d|T_l=58r74ZYUo--yi2kf}PFWh^>+3u`~xR5D`V
zuTSM!uE)Zi10Q9wD7iz9p-%UrcWA7-WUwAS*8y+jUo%kC{{#Sly@r;()tP*t{-g=7eAN9jriopvx>ED7MoE*le)EFPEq
zUH!!=l0vCLXopB3-v8=l=*fB9fCkW=OWh
z)II()hNG#wdRdr32ds*a#+{(>HU8F_6HBXl*?Q5NQ8t{UmuK}hoCZspL#41e8JTR%9!pi|#^O?47SuUl-)Qs0sO3BQN~OU-H#GWQOTq
z<;bqRYh=M@ocoIfW|<{}<+Ffc4%Hdl0F^LPv@>T!Mn`0Yvtmg?hw5ZFavI6n`ucYU
z0%k@lJEq8BqpzKtG&&~7h-y4i)dyD93dlEBk2IDNGb=h6&+CKKSrf(Xd##J>rNcT?fI8;Rh>GN!SKdKbL9z
zKT;ZNtnAOmaB!88V!#B(Hc=FKYM*^xW0Fs;JPnK4m5jc@XK*X(G$YbUL9}XZs9?2l
zn#eyxnAjYS&1MzHyut4FTK=*iu5Wln2zd*~w49l{smrpV>(TXHw@)|p)RBiNb!@rq
zEsy_EdZ*rN&|6~Uw`RUx+IfO&R+F*Ob#*d0iKK0?gyrMLy!yU|XsFA|ow{&K0i}yE
z2XpY3lBjHPAn%STQJmIlzRj{7FKR0IP}cJ!XiPRq&UpL_OqAiGt0V6So!Oz}7T9^b
zzGa}GvZSB-LVWd`C#x}R+jbn}+p+7A9!@C0O{heXYvcN79H$7Oh8`Ji_cz)O)w&GV
zN{y`Nh`Vg+1Pm%m_v0Zexu?eNMGZpc@|v7J02V
zIe~M4yUEY16es`C@`%+v(CMD;6{uyL_QTkw0Ckihw)l$mUt;LxCF3ebCHEZTcn~0l
zet<|&Qj`m=tk%L7c8lWC0~j0h8e#lk7GTJgv6D39pIrZI4``24@rO}oumdb}f?>I}
z0-@;Y+U0txtN`5TDt8IMxv`=8J6>vjU!9GeLVZdJy8YKB+VfO5srF$e>q264I<1I2
zPqsk!cv#-d3jpH4ybFPfj5V&Bty;M+g+B@b(IOggyq326uOpE6pM
z7Nd=Z>SpedXL(kn!IePwQ8j;Aa3}~JI|u!H%@${zcG2Gbb;nRSH$-tFSD^=3-)#MU
z_?s}@0!gLhLT~J2W8qYoys%j*i@fxx{X9p)sepELHokw=eb)6Je+%#i5huio?n6H;
z>?dD}@v%&xAd4cN1^bn3=+aC`WWvi%`CicN!Vo`padw`Z^fYOf-sH>AP$o
zZZo!?EhA2(l^P4My)?V=pY5&)0c?s^4=2kX`QF55&^n-b0_OZ@`*5m2yc1Q4gC>DBRG7gSD6?7aJFfA{i$
zK~B{g06RU3Oe`)>2%X3LC$0(dE4TRP-r;nAx+|6QeWq~llm$3T=@bW&+F2RTy^s`9
z$$GXJr^rPEQvM~jiI`qVT{*9hANSb=C8(X(uE>l0Sca>0>(;Bn|N*$e=9Pjqm={TA*
zNS44xqr-&4nu0l7?Ox}Si^=*h{;NJ9omZc%B02@lVB~R=1p!^);WQCjYC^D?La+ad
z0`R>FqBkKDM|wHsS;YaS)DCCb3i6r4%t}1Jeu*eLV?f_1T>4<0>l%LrhQwRdKb^ZI
zYHWqztS)h|M)>%t^OOOM+y&gQF;j2A+Nl-5+ib#X2eP{o
zM1#~~nGbaO65S_V4m5#VikkQM+bvB<*fqqP1pK8I6qJ@T@njF;;PGyML1j2Wa7M3I!cLKl~z%`m4M)1&Az!lfcp
z`0ZSx26ug*B}LZ!I*QD{Wm8s{@%d{rRE7PH*uca?jGC`k9tK^QuntzOd~_{FAUWPT
zlK&>H+PgOz>yhk8-YR|muP}gWX(6aeQM$pk=8p7K1xy3$5~qe@im{BR4>-kn&%0Qm
zTSC10^g+&dH@$mzBE#fCBh2v~f3JeqYKIgb8)w#D!@-27XW*VLfvar4zK1024vXk{
za5HiL&ZskaP5!y;3b&AHCR*4+O)D3+k^yaSA0xtpdd8^fN?L!ah&@ZOGPiO{>M
z7uSorEtI}mX2Y>>H%ZwOB?l>0blI(tssZZ%u)@NuwY`1#vqEW=i1IXGcLXV
ze7}C+h2{z5mAmD&Us9~%ypk6Rt0)Fu%bk>bqI*&7S4Dqm5@GVqQnrleUGQm0xutw>
zv2V{11w#ZC>mEi*V41;IAQ}_D86S4~e>>Hj@PM3z?!vaCzVKA>%!>K*LijTb)CO%<
zIq6|b+w#*&QIc0!584mC-JG_@_hyAR$8Bk$+_`;pe%GSSe+9W!)K(Ei&bh1`z524L
zL*$${WeP6!CgecY3S(L*lX~v1rEE>vU>_2VX{Tw3&Zsch=_!bmh7O=l{
zTw4k!?M@&;$cgP4-k2#6d>5I=Ci@1u4l{*~+BtaK|1?<2qsSTZyFc;*6DYh>NR+Z1j0V>`pHo2`pD^(L0_@e~
z)5Q1Hl7Fdyyf3#+l|FsPB26m&5#y}lQbIlDN11Z@kts`82OOb}u@4cxW-vJY(~q*3
zvR}^|B<;^&2Mxs2AaEYR8hWm|kDkR6h0QRa?J%caWU_&(oWLQxh&oB$e*exvSJ;j~
zR|!|OJx{MW|53pk_=*t>ok+JA4#}`Hx%=hE7JAv{RhRN)nTk0x{paijjz`a%eD$d+
zme0UvhJto90Wwm{*fAkU>0-ik^+O6
zaLRuM<$^QEd^!v7N3g#$S4iE-#4Sim%yvY@$LSymc5@5RYm?eI#EWbaBfrV
zl<#Q2VMWFP2^TKfV6H
zE8x)@G15u=)_1{Y+fw2+7e)O=7^@T1Z$+`*=YES{krbLNyHRb!^ql}o<(3*9Zl7&x
zekN3v9sHC`vOC!V8-3%;@RRez0a88YzF6ATzqY2E!vVYee3OW7cKfy14G_NPHd4zM
zW|6T$yRh_Q?z6UBH>T|>*Y#J=l{i~Rc#`lkoJus)enrs<9SS#k(vdC4%g|^w>NFwu
zDgO!P6GYc1}|}Dw>2}StK@_{Lbj3QvfnqabwYuu7j2p&l5z)?<9$=1PnN~~
zhcD10?-x%qq@9=>WUhL|eyldZku3vP?y;xz_xYv9ei6Es`Y>HPTj*4m4*#qL)ttRg
zrQd%}lhK86>5U7%hQ$;K$IfgGqg1n#X=x8cNLKfb$O%0
z60IbfhX3|f0&QA7#9ZQWmv%y)NUs-bNWMs@1JEC6@QgGDgiv4K-rhbEbS`|=+Y=lE
zXNZMAaR|Sw0A0dJ%SL^!cNFVPtVtW@=Q#LBg&+Drq_f5LcbsS=G`tC--nrS1xx`v3
zG}Co#JIOHi1EEWjBpe-#UwZZg|6z%DebW2+WTI-7b_aiQl
zug3Rdw08}fWvC~0jDKc#e9RCr*b03YqOo+Mr_!9R&+M@SdwnfX=bOKa8Bt}^YmgeG
z3I1_3%Ag8c^?LEiFRSNma0d9g0owZ0F%!2zuoqqGRs==J`5
zD`rkr3I4%akN$r5efv#6RQMswKd@6)_qxTaFLV06e%2j7+>f3mmW5&4ADqlf*LV9i
z5KAmYLJLFbDwQGl@vlLL>;Gq>!${rp&4Wz}&Oan-LQzgdWcMv~2kH2<2-aD1(85xeT
zMJXso3|I5aiZfWLQ#L<0$B8vp!fn{kef^(XR)Vq&J=Z7VnrpS?u|w2^3wtR8+}}jU
z$psVzbX@{t{sK`oyUkOyq(7}k$u)axsXaKGUy(Yv&Tpb@7miNU(OdnwpEC{fQR!w#
zr-tP5B7hEUY&n8~0ypwY>N9)mZ)DKyq^K%DJwVWn8@%YNUdv;~J@f3;r
zI--&_>(DoBfWUze4H9j(0ynGTuM2^m10(JCw$mHPgCv8?l^&Kp4Oft^xp8}z3_~U1
zKXH@|%9_-Ki)KPQXYkHKoqKU>QGPO`9D6(&Y2tKV`bK)p667Jv3%56YI{ki<_3~ln
zkx9SBabI8-&G2yLYzj%3_n;p~BATP}yo5AD^mN)$%UD8lHP>%@n^(J&eCA#Go`(`7
zgTc>eaB=F~ChMqh7z!wh%_BM_>eVhsYWrm~&PPtq7=!h2&XU$*C9q(?xn3XXRh=|M
zMu|>!9`TluWSgGy8b135-8-2@Rsyo94CbvPo{hANjSlWZ9;sn~waU7Rx*zee*vfqYMn
zqnwV}lq88Pym16?gXp}#tKezm`Pg04t7#pOc8c5!we
zRZQsvZpLTD(i2-4S9wFl{=8Bu5_MBiiBgRhdT?hOu%woK-Qj$$wOg
zULCq!`L0{__aB?+*Y1RGq7pkJ<8ySuz};7Cs)bJ|bdwh$Ob299iOmBOS(qrU2#iLM
zbau1|{gzvn@`K%o+}7Ljzh`QIc$0M%wcM&H4^IuYjB&zQ^4nh8|8@$yWP5oxl>3<<
z#fow{qI&fQr$WXd4J?83*b33WpTr$?2|xRxF6RrOVWqU3IcJsDAe6dNEpv2&3~u+Y
zB}9@j4q@5B^9buZ0|5-DG$LuxP6V#uqKreaQ?g5}U8uY>AW}#9
zW;lHG_we#s=`HbQg7Oa@pd5`?KT08bZuY_7reB)$PxSyQ1QOp<4%e;zYH$RLFc5#j
z4pW0-vFp(SoZqT*d>ywroE)oI%qjx_b8od|_
z48d+Y=mco{e0$i^I7KlLYwdOqPDOZ=4av)fG}X!1Zj(JDm1{M;Huu9MV6rqjw!89r
zSFT!ZUYo>z(iI>z)zsszpFnI7Q)-G|K;;mLHo|riC3$wRT3_k%;oaM_T>xUr7D{LV
z!}F(9nJ>+8EWCJz3DsPUSv
zC}E*P*Ul3O^{dX_-C}4aiSj~jSrvW{5^dSksOZSM`(+a{O>}}Q-~I~B1o9G+o2P_(
z71pt}>_*C;hh_>x;Jey)vrlUKaMG$Ke{`$8ijJHn=X!drHEot3rL%+QHb8_~41fDs
zFh4h!#X5=eeNwH)oap#g9`&E5Th^YRf|~S4>*Fp105~@AXTnLw1+Oo^?
zBC7$haP(1tqi*x#fWQ(R!buJDsIw;}&%z2%!Jn$4&an`qlB)yO!{}^GptSXm%hfEi
zs8*5|DaCMWc6$S0IX{5HP-$p#=x$hICp$tJe(9p)GU!5@yA=;E#*I)Kq!LF4aHGET
zwxK8}IIi#P>6y1XeA<{cvWl!tn(3TLiQl&+p5d(x-SIYwjBhubvG>_SMd0!iaZoIAPzOfE396Al&RJXCpe<7Mr8Garx}}wn(AV{Icv=EP9|zpmf--CLfNaeXY0)_$
zW@I>FO}nhAxC6@$#%W1HqKUe;l;%S~)L!A4q6VC!UMvO_Ssom~Bwk<2P({z%16*Xv2t=y@vM9at#bmeN|viA4ei6AK(9)sQ}FmXPF)GEx=~C
z4+RdP2MS7j(13iMx;!{)gU9cRA9IeCO0Ngh#
zdg(+~*w_Z~6CZh*HRV9=^ArHtTE{wzP5=)U05R$X-mQ;z58eXh2qv!6?)Uxq*&HTl1_OpCKs^PpES2KEDMgFGT;_5XS-Ix`I&FsL^I6x9pFV>0is1F
ztlfYB>v5mdynvk2(xf$;Y#7js_XWrR0sy7)8*oWoVRCW6zcbOHUpGxk3WY4r-zjD~
zS66$rb2~C>$c{b~fFt(=aMPNAKLW7wF9;ko^4bW%_CtU(
zOYinB9f}q4bp!Qv%l~we2R)s;n`BpVopL2^a?<(CmI9(>F&j3cOySLb8fC&!;
zIBmOY91kby{Gg|~C%!L#W$q4ubxiEmz?#poH;J6N1qEk-fMhU9_XU$B0~)flfb~Kg
zaDB(pi;?5`R-+5X`GLCh3{R5#tp^Vx%|k+F-XVssBpm^Gu*c^fr=j=>BA{BX1z4)W
zr0B|~*t~PM0a>+W{NW}5#xHIL+5Gu3DeBQBTjy3-Bgd&1FPAfCUILzD$jtZey|H}(
zGO9^6h%Rb4p7sr#Gkiq+$CG96KT`4^ANW!S*j7LZ)Hw(J?G1|)OtgQ|ppG3rbrY4-
zct8OIWYXf|;u1?4GdsW-25kWiNy)gurSAp00RXeO0$vML7oBxZKU}JR1W*&R+7H=P
zG98BvAMeTQNssx{$1V9M2KxJ7F!v0m#KdQlnCm#B@#PWU6}6+n$?;~>2UCcg3OY8y
z$B*9$8nt5LxdOg9tkiW_JAkqmjNNwHE!00}kKNkcFJ11I?5E`^HP{zB8z?ni(MW_Q
zDADlGcbGWg3ljrNTLAd2H2WI&NixvSf!1g~WJ3EyYVzN~!xJk7pwWQw1u&J+t^()!
z3KLB(#_b9Gx_{~kZ_5{0&mZQ{{M>&V?yU*rVv0m^kiW>5-L8IA-$xCH()0oft+h1c
zt`{{bW>`Y&h5K!Vy3a~4w8l4cY0yysFwUkY82d4>X6}nN=LI9$F6;IDPlf`g&vyV3
z8?={f0g(A^fLD0Kz8F|i7EZ$mVLbyxC06-#zIhYuP+@=kLkx5A;r
z*4_bU387?gXUlQ_y9V2z(#V<^z0n9+AC~
zJhqkhiucSl(b7{bX6)4QZgnjF7pVr=XHu=se)eII2q6Wq41hy(Dr
zjhCKcT)n)#$0y*$Lq0{RuRq4Ysqg@RMw3^QhI?;5a5n6>^e=efG15ZdWppr949S5zg!?qr66=k305W?u4$Wke0j332z+Q~l-r$gLg`U;vNIA4fz1qEv(soMn
z$r(4JJ9Z!Am0!>SlCd<&$V^@2RS9X-UhzSg6IJ%s_mihJ5}89ZvOXz!4Zz(uuN`lx
z1yZ*&z|)b%q$J47nxpy1lS1+xDEqEF;3ahjmE!BoR-21>J0VNRDH0DPuc>51pw)t|0<(=2CDJt+~{ORBAcdL-fYIHZTtj_ry6
z;@!Y;TWa*yJ9Zr6L>xG-Fj2Y*&jcKXhUnc)BB!ppV1Q?((P&oO^~KSm7KR+qJGM2-
zfvTcJd+~T&qJ{P%Uk=X`R8qZQJwzq=Evv$<9Zk0ZL*I
zD}4KE!^-k1DlUP}TSHFwtG}Yi0g%a?_ienSiTIHWo*L1NYB6u?_N<3CW#|Id5O9gu
z3Z^orsw(xx3v*h)KF^Rg(6fML{`kO4#f&_*EjqEFGRZr3RIA{+05r75Q8v*Xx`sWy
zz1;!DI1hSgv%$Vi7hpc2l29{;7&b&t_cdf?N;~?V;fSU?eYY!Qv={<(OS&38iaK>y
z{X$G^G|rKGL9jY5PXywzFA=|4>j%71w6V7X9jWwWg5m5k|IXzGcdkeqSE1=s{67U=kQKt?k*c+;z*yGU(~
zgT4J-2v!^H=D|%PQ+jYmFnZ%P`q&NBsNQOhrSyiMB3Th%N%D1{@0OqMtwbCsB9u<|
z87`t{u9@@|jxUzij?LD+DVAirUyN~HH#%8KJ@{x;8R=f?dAc-TjH)HoHt6i2p?zic
zhtIogaFN{``?&=srUr;+twRT$rWN!|3d~X9w1Wj=
zwz@A)MeBl5@Bsg9bkQ7K_4A|~X3TVluoUYD*^<*pIPG#TkanKp-kt^roCf3!;J5*h
z`>Ey|##94y{@p>xWdxcOz!_!Ywlc|hfa~@g7+=BI0*o&9vd8{{yc=IjM|Gi@QWF4}
z-vMO>#a7=h_-(SvJ5EuHOK`9s1w3Pu%Rqpu)rPxsUr}dQRb{34%U7?C?Tdv=&z?$_
zCEiepRwJ6nTy%C+!)Mvi*HC&Q>tYtT^^G!dM^&m(b7pW#%;1Nm`A!c*KZ<$&ZZ9e$5h#3Ny3^3bl(Wn@gco
ze@{zGv|*AN?%?r%Wu~4#m|p;z<5H*BbeEn?&r=!C1{tFz=Np-V^qxEcC|&(Wiiky<|hP+4IpFU5RaY8w#2Ip}_B
z4se`WH7vZ3b`Z=I>%=Rj?q)WB*9@&?-sG6ns@F3qr75_pE0=z9Z|v0dfFrX0>xqgjrTy^ebq?$x(BPRfThY55lVvXI
zC-WYz5TV^@Q-pyPfVi<_|cfqh{9{!2w+o6TGms1CnF8EQ31+w
z%iH0a&(e)yAx?Ui8Je1Ys}e<+cjRiSWJyS-z#Zo;)wbJV6Mp<|B^nT9ugv}S%M-XW
zO0iA20~aGrwhw=>ZriJ!Zi^YM7)0ggZmG7xW0EKbelN9hvKlMd?l=oSHVg=M;37KnV=P!l$9p{V=-g&Mu8nMQnzz@i
z0C>OYSL<%1pI}4d_p2{I9+7#$9TU0-u=AM0_y!v5SaV&^eZI2lXUFY88%jI1yEmg;Qrs@2+
zRKgw~!^S;>Z9N(D5Qwv2ba?m+_ZG)k_t7V_1N(U6!azrX(qT~i{rk6TWnk(_P&(TK
z&6f2adU>BYMm_*fD3>I&jcR25^<3+zwJP5u;l4$;Gd6ut@g^Ec00!Vqw{(!u@!C!v
z!ZS^j(Yy2uVgR|_X-t%TY*Rpt^;|b8xkK6ZWCtaNn`S!>*daXsiQxm7eg>3!Up1}A
z$)af6Enc+^e?3-oD}#Mc4B1Qci(kStDKxK_mhp`G7KL#8NMITqc3V$(_i?`CImF0G
zw5Ivoo;c!u80Pb`^-R;glk4WJS|%q)Bx*645bd&HxYPM`9A
zc*N$MXBSQBi|sL?(~-O(ak!`GrQzx5R59YS`QpjP2SNwFj<5=kD?AESbt>aOxl4FC
z-UtDZq|=qMLmQj6lk?a;`K(-R?ATmV$69c&F#pOpOtpncWzL0bgq4{*{qycxYBeU1
z_?stR_$^#=?wKLSy()j*1hiII9ukKEJ&Bo?vLB`SlY5~%+v#om*B=h8B
zQxDuT;f~+XkG>t}Ry!9`P;g%zJn+yw?=1$$_%7JJI!*r@dEd`UtFPHl?!BA*STb|xxW2lw74@8|
zw#R}*a-3=XsC=@e?i3k-qrhl2Q-@?<9J>qYsFN+5M7On51yWZK+NkE}Yl$0VH8>5$
zpBq9`7U0V)MJrYQ^n}piO_c3E5n^|JnZtFnbwO?{7o8LAfKchkh2>dGmcR`IyjE0y
zAlBcq%?Q>eFLPbH
z*E;1i$rlC@tf!RE-~_>g6c#e8gvP-f?$m=O?c1AR+l@JDd?$BTU)o4~@LRj~|MrSm
z`%MvT4A2hazx?l4j2|Il{D1w8miGT`<_Dig4T0tV`5rYW^#9M_JlVUZVEli5&f))d
zoBHn$rl$YjZsW+7{r?ZMwmAP^uS`rE;2UlALZcZAMin6=HTw;CS~l$Dg?+>h&+}?Hgsl
zq@B&Cpj}v9=L4c*ZG<3(5C&!Elw_?eUddm`T78_}h}JD)5iR)_5uAPAg@X(xlqC=z
zgYMkp8at`)9lXZ)rjZ532;RNB)-`elnyIjnkts86RRn34jUn_4Zi23}Zgt|Jm|aPc
zsP*Ko^N4>#LfYXR3_G0kntN^J+IQ2)rQ1oq=LBuF?BorpUGo)g3l%O46*dctv+Zr5
zl{_%9wjVC&2gW#_$H-}XzIUwkbz*Z^jc-1sx%YyBO4jpG9_%$d2wdN4+1YF)B+(}f
z0WBJ5je4J1eQiIeN{p5S3y9Ysk|$rkz9X1eL&IHQL>0HAe~yvR(c!!S<84$+gTmf@
z7)K_kXJoe?qrgm8enlI3FV7Og$1r=&>9!#++AuxQSsO4)MRe6lxJT_rR5JZA(~4?e
zSv~9IqC5FAkG7iY7~L(weSWNr1N0Uexs~gq$-J!FL-uHP<(`;sHYyWp7T~F=F&3+N
z8+uFd4h7Xljn8HYJ3sq=y)ijD>gDbI;W&BJS79<_*R)5xW&B9mgSlt>dZ#=a|8gj#
zXa>k}qZO4D0x)7|W8#=3CJWw%{qKv?R`(?jyxURcXdKjez`Kmvk86|P)F=7r3wt7c
ztzt+WOgpwz`=ncuq{9wd*)@o%g{qn7vG`STUF{6~HaTQ*?m_MJJ^TpqQy-h9=^RD_
zQ_Ip?t>!(XKR*#DfX|$AmC{hn3uW9y)jRXocDRY#akOp3n)5`Q;oh6;Hq!OhGMm=a
zh3v}1u*uX`D+1{#cb#b!3pK46E9$<6ug`ZVrjDn4dvLLGY_@9LS$^+LM55*x$sq1J
z#kJ&h0$rkr&Q-2uCg1HP(44AyD^l%LYhUF`-@T2h=3-o>LS?u}B;p6|+_`g}WkZk0
zj2f{^Drs87pR$>$X=pU{^>3;0qDh-?LRy-`U$q1BLj$CC?3Sqse
zAwZ?pik?+{Gk<$$-T#&*X$*J9E=1$8Ql327{P^hgA8uE_m9uvi*vPl%7*~wa~GB)386^xB$t%1-uUwq8z%d$+*8!NW)m^uiHP;_Vd3f-Nmi_T)M5f6
z)g?Dq2W<^9V*yjEC@Wi8D0OUYIRYk`qZlrB9_hMv6rG^>%PDMbZj(;f3g)L0XkmIJ
zBY`LK-J7x56r#_f4_14>4o
zv!C=aa?Sfe{h%#|-;=^^NEaeGnjSS!KTOzMKe)0#CRPd7$sRqFSrCbfL|z2N%)%
zXy?YQ98^utTO;40r4v=Di7-xI<51+h;eYmxs?S=1zCU2{For)xev)*V_>f?VaZE*{
zS=otERj;gCi749~W8FwT$;mv#ES17pSE=VVk89&(xO|>yXP9>t+0DN@KR-$=+(zND-}DFux7NS-#l*gU
z|Nd#r#7ZtIV!3$nqALgkTjZ|HS67xFp753?hSl_(Wg7U;`E<*CO(hXHQW9z_PK$%3
z!uuTDomBMUmP2Z-0T&I3pww%z^ILz!DWS^iUNgIhv0mt@SA{uV#Mn~L@qrA5a)fw1
z4AgyfyRO%um6;x1vhDNdmFj{_W%+|_O+QGM229v-+*y*X*5e%|bia4d1#RC%wJnVN
z^^rt${d8F8_=Eqm^n!P>^g1CKQF7QqK_-jvJ&!-~gsYs#lxbJYvk|rJmAM=fh>n2x
zCs;8q9GVw`urC5>+ioim^ab~QRSFW$co1gPa_rz&S3rA9^ua3}kYbHUKi#TO;k9gw
zE_%HIJJfyJ$7+9%v^JOBnDY+4AguGl$q#{jW
zs#G7y4D;#Gjy>BRT=eumw4GSVzC}N)7?6BTVi*g=N<^w4@@AS=IN(>O+7n{bEnx{`2$$zHq
zNk%+1wwy+&h}2nlU706bMv8;%yKdvX`aum{-J2M?!->GT2L0DIR*N)Mcza*%Dw^Ka
zoPkBh_{*Ev(WK|kw-FP=eG2Gy_Sw!`pIANW`*K%JrT@mQr+(F6dg-R_O|k{oXi*ig
zndF1^czt+L#UMKNdHt_fnI4_~u`3pui+^^ZYL4dQtsUia_oiThaPM*Hg*mj2efssw
z-f_6ecSmZJmcah~{+;7WQXE660L0wTtq_i+s2$u#UJF_3s>I9?vT-vK`RPS$kYIV=S_(6df)LvL{-EeG3?3HU
zdt(nM25s53p<0A)zx45QXcj3|fswQQ%X8nbsidX{OG=VB=Dg=SkGy~X-WFzq=kdq>
zq#zEtBaamiJ_;ZY_~wi$E6#0OGX*$z0V$6ry_7<^Jl5gxdp)ya6;t!CAC!}fQ?j<+
zPw7j-?$MiPyGjRTpK
z?rY(K`;iC!7TTTYEcZOdBxH08dFj&6=HE-?%$aqsX&v*2GpqQPFvPRbLuiFUIcQzt
z+Tl>v>&Vpi*_9x0~h-B^AObk}nHTm>ho7k3gtK`H)^z5a3qH||GTXg;U==$1g_TLW<*%ynSoal0BtR<#E
zl5G0V@X`}5E)S!#sQfEaE>$*X
z4;>|SHE_kL%eRWDM`^20%e{mb`^@z34w@bgG)p8L{t=t1hPY!CBmfx&IQ+h8SG0sI
zzNo#(Qafm$gyUU-QHK&8~^SC{cD%WI{pL?%0xBc5T%r*vM6$ty
z+IQaHZw;|2BO$oMK9Vomo=|b|~M>F{j9u18!F_;zZ
zGnC-Xk)*K+G=d1Nzu{oZypu7msgG66bDLe5swcdqG5Fk>S|io|ut#U3u=I*D><_
zcNge(y`Fhwdp1UL$Srl~hf2H8pR~Uq^fvj~{zm8B=Kw9}-g`Nwj*g4;g;5BOE%M#>
zVtb9#M_s4RcR@#VOM$0L@)K|-FzA`s=@bX<)}0mwtD#JPL)$pUR7BYr18_Q68njJ3rqr9y|Hud{iP2ZFK#8X8wp!
zrOtaoLtSA%WYk?=345NgV`GmlaHxwGV`^zsu}rav?UZ!-{3qt>zWb8N*B-pPKn$;j
ztMkuSRdsfVPxxK=r@BVJ1*L%j^`|kI*2c$!G=PxM0Zp9tm
zVHw`r2QfV5Nj5oP*Q@H%EHdvDr`f1t?_iVkMJbYDwE
zZO663$NPm3tJND`O`C3EyG-%L&3l;RRY5`3pglJb3n)CINiE=aRiB8@kxKHo^Gp5c
zkC$f7aXn0bmuu7cWAS@wx%$u>N68T2ev*xOoEZyl9YuiYcIxTfUK1vZ_oeRlN^4&beEhML4eEJW|{;WrD`
z_v_aT+V_1p)TqF<&BvzG?cIt=E_3tcsDb>`d)9@KtKV6S4=5FOeiRj`RTbM{S(3VI%IttNo?(6M~>JZe00%Ze(~EXVpno!vozk1QGQ#Tq?242$ML2o
z+WhJ(JX_v>9jW@dy>eihbh%X+2F6306S&PfSjO<_pdeG)m&st;E80TQ`_H5#H_)W&
zNk;yLA451f=EIPy#lu=wX!DqSrertcjeq#C=SZCTZU*XU4*|^(`r1;H>+ucf01w(}LjB={0|7`&Cw5TvA60Y(F+s6?$#F#5S`_WY@KKeWh^-XbU
z{_#gSTSjslmVJ+W{Q6`sBr2{_9QacAL33EV_0t18N^*8H1w-o>C+xF(59|N<4v+SG
z0phar)R%Z_^Yxy8P@MYraAKRUg*#V};^2J6OfvC3F>cZjJbC*s8cbX84*Bs<
zxqVQe2_rSNwNWM7Xdb<K>?abU9MQiP`OFt2DtPgyUS9@#LgcJx#11AN5W4!!)8~#_7^bNIp8R$qmy7ap
zYp6PK*am@$%(PvylCK7lGZ+UGu_JQmTG(L6Pkr(uMY_)IK3BI
z6GXgMJV?C`68X}1boWZT^qgoFvm0(oDwViVW&(IeMM+U!9%%Nx_Dh@ngIDE$Zu>f3
zW%UOpkTWG2*`6XNnKRyrv-%*NAbe&Bu_#n4ea@wC`h_qlo`
z7}N%0_$m=v=dzcAFs^}}Pa;TZR;b4I)X||z{J0kruD2uNtHFfY
z>Q5OMQ~agW?GVC_q6Mv1FfQ|3Qj_wv_1bNsMy--oXc
z-WT^WZK7&QQQjK5(aP|g!i=jFdRWJ1o~aqILx=qo&=u3Ju>-2DV$HdxCrEEkm1fvA
znX}baV2n7{#zJx*7Z3?hl7cv!lBVW%;ktckh~#_c7H8;JjD?t^v@Tz}retGtKvh*$
zox2*2@^$
zSpvZlV73$jtKrT<;XA>>aNhdL>!gLfc-20NsX2~!+>gv&X?ENDJWfekGYQ934nC^sDZ8O*Y8nP4Ku#aa
zj_O}jT;-H#DPvsQZJ?ETA?~l+fK!^vxA5ir@eEOC>}I}w4wG*EbH)Ud0S=P$^BED6
zy@9NJdN?I)ja`9E(%(oZ2ubbp5R14%YGuZ<0WJH(Fj==BDrGZf(Jazk1s-B*0Gg^#
z&kuxI0N0UxmKW!Cv(WbA&*V>frXj8B$F>X(4sHsn{`pH*Zu@55sHIPcxJybTpPH1h
zBJ2{!ebdy{tvz{z^eduIB^KdK=CfzD7?|+U6KY_{YQ~sPw
zB>xRtD1Ax;BrIn$VZLlS!FA{(>5PvOwQAvIlXTpKXORaEMu>?)%JN3eUoR43VY{Vi
zatcBu1P!q35TRD%Uiy13{xSRhHk_C&4>a*P$2b@&0@^^c-rh=oglO}9TfJ{h50D4&
zPL_Sb^taFB!!xt8sxWa_Q%^5QH~Vbfwom09_v6d>$I>6I>TI4z3{pRsqztGC~ZC^@V12u6y2D+cD1u$3!)!lYV$P4$M=`cG{_4uRN?gG
z*>oN${q=soevvIVPxvNMFJy8xM1+J>$oYT@NkT*|%`m;bjYHLhaOj=!wZdH>F^Nls
zB(n*@ArF6j$?tPyj#f1wrB=Qlk)WcL)!qu1*WH(|UR5}Gax?jYjA5rxXMrZH>KW<3
zRKx@g+G+$B`g!K-aWlRCyiDkWID-tD