!agnwW`J~X6I?7
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
Pwx}U%bK8?;ra1Edyv(7f
literal 0
HcmV?d00001
diff --git a/content/blog/POJ 2456 Aggressive Cow/index.md b/content/blog/POJ 2456 Aggressive Cow/index.md
new file mode 100644
index 0000000..1ae9573
--- /dev/null
+++ b/content/blog/POJ 2456 Aggressive Cow/index.md
@@ -0,0 +1,213 @@
+---
+title: POJ 2456 Aggressive Cow
+date: 2020-04-03 12:43:00 +0800
+tags:
+- 二分搜索
+img: ./software.jpg
+---
+
+## **题目信息**
+
+作者:不详
+链接:[http://poj.org/problem?id=2456](https://link.zhihu.com/?target=http%3A//poj.org/problem%3Fid%3D2456)
+来源:PKU JudgeOnline
+
+### **Aggressive cows**[[1\]](https://zhuanlan.zhihu.com/p/120450034#ref_1)
+
+Time Limit: 1000MS
+Memory Limit: 65536K
+
+**描述**
+
+Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stalls are located along a straight line at positions x1,...,xN (0 <= xi <= 1,000,000,000).
+His C (2 <= C <= N) cows don't like this barn layout and become aggressive towards each other once put into a stall. To prevent the cows from hurting each other, FJ want to assign the cows to the stalls, such that the minimum distance between any two of them is as large as possible. What is the largest minimum distance?
+
+**输入**
+
+- Line 1: Two space-separated integers: N and C
+- Lines 2..N+1: Line i+1 contains an integer stall location, xi
+
+**输出**
+
+- Line 1: One integer: the largest minimum distance
+
+**样例输入**
+
+```text
+5 3
+1
+2
+8
+4
+9
+```
+
+**样例输出**
+
+```text
+3
+```
+
+**提示**
+
+OUTPUT DETAILS:
+FJ can put his 3 cows in the stalls at positions 1, 4 and 8, resulting in a minimum distance of 3.
+Huge input data,scanf is recommended.
+
+------
+
+## 题目解读与分析
+
+(如果您已熟练掌握二分搜索,可以跳过本段与下一段,直接浏览代码)
+
+- **这是一个搜索问题,适宜使用二分搜索**
+
+首先观察样例输入,输入的牛棚坐标不一定有序,反手一个快速排序,闷声发大财(逃
+
+题目的意图是,给定一系列正整数 ![[公式]](https://www.zhihu.com/equation?tex=x_%7B1%7D%2Cx_%7B2%7D..x_%7Bn%7D) ,最大化其中任意 ![[公式]](https://www.zhihu.com/equation?tex=c) 个数中两两之差的最小值(以下用 D 表示)。能不能直接利用输入的数据计算出这个“最大的最小值”呢?以我浅薄的智慧想不到可行的解决方案。相比起来,通过多次试探找出合理的 D 无疑更有可操作性。因此,这是一个搜索问题,或者至少将其当做一个搜索问题来对待。
+
+- **为什么采用二分搜索?**
+
+现在我们需要在1~ ![[公式]](https://www.zhihu.com/equation?tex=D_%7Bmax%7D) 之间试出一个满足题意的 D 。
+
+最简单粗暴的方法就是从![[公式]](https://www.zhihu.com/equation?tex=D_%7Bmax%7D) 开始降序验证 D 是否可行,并输出第一个可行的 D,但是这样的线性搜索太慢了。输入n个牛棚的坐标,最大的计算次数就是 ![[公式]](https://www.zhihu.com/equation?tex=%5Cfrac%7B10%5E%7B9%7D%7D%7BC%7D%5Ccdot+n) ,约等于 ![[公式]](https://www.zhihu.com/equation?tex=10%5E%7B9%7D) 次,会超时。所以需要使用二分搜索。
+
+- **怎么验证一个D是否可行?**
+
+如何确定一个D是否可行呢?我们只要把第一头牛放在第一个牛棚里,把第二头牛放在 D 距离以外第一个遇到的牛棚,以此类推,最后看一看能不能放得下所有的牛。显然,D 有个不可逾越的上界,就是假设所有牛在总长度上(最右牛棚 - 最左牛棚)均匀分布时的间距,这个值就是 ![[公式]](https://www.zhihu.com/equation?tex=D_%7Bmax%7D) 。
+
+- **二分搜索**
+
+ - **如何通过二分搜索寻找最优解?**
+ 对区间[ L, R ],当中间值mid不可行时,所有比mid大的D都不可行,右界左移开始下一轮;当mid可行时,不能确定mid右侧是否还有更大的可行解,因此用一个变量暂存当前可行解,然后左界右移,开始下一轮。当二分循环结束时,暂存的可行解即为所求最优解。
+ - **初始右界的确定**
+ \#——#——#——#——#——#
+ 0——1——2——3——4——5
+ 根据植树原理,右边界,即均匀分布时的距离,等于总长度 ![[公式]](https://www.zhihu.com/equation?tex=%5Cdiv) (牛的头数 - 1)
+ - **边界的移动**
+ 左边界右移时,如果将left更新为mid,当left与right相差1时,mid = (left + right) / 2的值总等于left,会引起死循环,所以应该将left更新为mid+1
+ 由于数组是升序的,右边界左移时,不需考虑。想一想,这是为什么?
+
+------
+
+## 细节说明
+
+- **输入方式**
+ 题目中提到“Huge input data,scanf is recommended.”,因此使用scanf_s而不是cin输入
+- **命名与程序结构**
+ 为了增加程序的可读性、可修改性,可以将所有变量与函数都用英文单词(一些含义明确的局部变量除外)命名,并且将二分搜索的过程、验证最小距离D可行性的过程,抽象为函数。详见参考题解
+- **排序**
+ 除非题目要求或有特殊需求,否则应尽量使用内置的排序。一般来说,语言、编译器提供的排序算法更安全、更高效
+
+------
+
+## 参考题解
+
+[完整代码](./poj2456.7z)如下,仅供参考
+
+```cpp
+#include
+#include
+#include
+using namespace std;
+
+//global
+const int MAX_N = 100000;
+const int MAX_STALL = 1000000000;
+int N = 0,C = 1;
+int stall[MAX_N] = {0};
+
+//prototype
+bool IsDOK(int D);
+int SearchLargestMinDistance(int left, int right);
+int cmpInt(const void * a, const void * b);
+void Init();
+
+int main()
+{
+ Init();
+ int L = 1, R = (stall[N-1] - stall[0]) / (C - 1);
+ int result = SearchLargestMinDistance(L, R);
+ cout << result;
+
+ return 0;
+}
+
+void Init()
+{
+ //input boundary data
+ cin >> N >> C;
+
+ //error check
+ if(N > MAX_N || N < C || C < 2)
+ {
+ cout << "Input error! Out of range." << endl;
+ exit(-1);
+ }
+
+ //input stall data and sort it
+ for(int i = 0;i MAX_STALL || stall[i] < 0)
+ {
+ cout << "Input error! Out of range." << endl;
+ exit(-1);
+ }
+ }
+
+ qsort(stall, N, sizeof(int), cmpInt);
+}
+
+
+int SearchLargestMinDistance(int left, int right)
+{
+ //init
+ int mid = (left + right) / 2;
+ int result = 0;
+
+ //binary search
+ while(right - left >= 0)
+ {
+ if(IsDOK(mid))
+ {
+ left = mid + 1;
+ result = mid;
+ }
+ else
+ {
+ right = mid - 1;
+ }
+ mid = (left + right) / 2;
+ }
+
+ return result;
+}
+
+bool IsDOK(int D)
+{
+ //init
+ int i = 0,p = stall[0];
+ int restCow = C - 1;
+
+ for(i = 1;i= p + D)
+ {
+ p = stall[i];
+ restCow--;
+ }
+ }
+
+ return restCow <= 0;
+}
+
+int cmpInt(const void * a, const void * b)
+{
+ return ( *(int*)a - *(int*)b );
+}
+```
+
+## 参考
+
+1. Aggressive cows http://poj.org/problem?id=2456
diff --git a/content/blog/POJ 2456 Aggressive Cow/poj2456.7z b/content/blog/POJ 2456 Aggressive Cow/poj2456.7z
new file mode 100644
index 0000000000000000000000000000000000000000..d95c4522ad8a9a6d36e770ac483431cccc85d673
GIT binary patch
literal 840
zcmV-O1GoG)dc3bE8~_B{7WGBO0ssI20001D000000002-t|TPj2Ok2yT>uf9NybMH
z6QTfjI~?naWD^%5&6>sYM>WbSXzGx{C85Jn$&3XkLmu%;CwsyLqoX;i%Ex2ZQ0^3C
z;&A{?W80c|fKOr5W`*wz1%VqCra;pKDZ0Wpz=def7=)bnnlxP{3xr1zf51AY_@zGl
zrfL9K@DLGU(g{>{hbAa$x3dc)wuf<3(OSA-RNn}iKBl_|sPoWDtv4W%MK<`zlNh!eGxln})kG4(NiDV5AqbV_PlrG$I
zCha?D2M&Xqsn~-M1)*PDUjTENe+YU-CQ?AmW%LfXkW2l2fT*H&XG*iLRJrjXH&s;O
zu@aCqy`*8kjSDo;$H_Wt@qzldPHK=m`NqxB8^n3!_R+K8Kgd
zBT@&6CBzd!hJCi(Dw?uX;9UD*s3>(~Fg2XR
z)7P#C;PL`INpu5Vfl(t*Gq?%MS*C|?N3y?MW|*yTjRU!bQMi%KjXscQdx13bfEwJ&
zfG^<=9@(Oeol7>%0K&mba0@ho1X
z&0!}h5a%-k!5_UP64bZWYl+}+5Hq!HArng9pA(bc0bcJ!)
z1pyff0000000000000pg0B`_r0BQg-05kwK05$+F0Am1f0B`^R02u-R02B%V0KtGD
SB7#uZ0Tl)T03ZMW0001O4`l5C
literal 0
HcmV?d00001
diff --git a/content/blog/POJ 2456 Aggressive Cow/software.jpg b/content/blog/POJ 2456 Aggressive Cow/software.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..4be7578bead88951dffa9edab6dd2775ae3e2350
GIT binary patch
literal 78203
zcmb4q`8$+t`2I5!HBGAFMG_iH*~Su*wK3TuvYW9-$P(EzmXM|F$&!8F$JnxrwGzr0
z6BCjxiNPo_q!GQJ=ly(-&mZu89LN0f9OIblzOVbb&g(qS``=IhegP2rIyZFy2m}Bi
z;2-es3~&QD#(wnZQTAit2Ml)X_z5nK6L9#6GYHO;T<6XR2=JfbKPxCKaZ&KR81gK?
z=oL{hDU^(?jNk=@YYNgz64El#|NRpP3pGzz6uh2Lc6-u(2OK1_R&n|M%v<=l@=UQ9=KE`|oFf;|K(R
zB90)ySFGE#-xnW42Pf@Y6`KR+QaYJk%r=SfJc$WirJN8=`xeUc8APTqczZLPT?$Xcg3|+gUqwqn9``gG||1n-A_w&FSU7C?%acrs7$k
z64tdF@~cJBqf6dXIj5hNb#ja9Ycc%JN^Ab$*8;T`mm0R(v1{)W+`08fwR^YJHtPZ2
zc_36RXSXQ$>#uzcn+0*X>4XvM!r*op#Z~5)1x16ELz&aM#mrx0(uQtPGucI(^u=8!
zb8qNG7N&a#?(N<2x##RmgsP3A*)=8d(GJ=JJu4Kf&bKB&$*aaf{)|E8kBA;VONxpU
zgUqwNoStzZsWwB=D1Zx@W&`+d~~9FHEY4>z^!k22Y*U%A4?;rkKVQq^PX+o`Bqcv
z0DLz)yBq&fOdLi4XuRQ?wlP_Bu%W&Y0VF%s)lU^Eal;9qU#kK
z&dsH?*X9sqH;ZJd@&tzr)O)g@ukLTkRNbAlQTrE&5YnAkGT-|vQ^E*4?8HsP*~qT@
z2NqpeTcrPCH8Xh0pOzOsvDEF7ynj>NiWsTN3#tFK7v=N{eBbI1Sb7HIph~rclp)6;tyv{eq2$
z;#-ScqV;g{{JtVQXGw8?F!O)CSZ(
z?JL|}DsRi1QD91*S-5>esRvvthwBkT>T4AJ*Mu!RlNnKT{c-~be&uLZSAKh;`gZA}
zC2y|(lumGqI$q#U0Bd)F8f1vdn11|lIdCbyN)#$_Z*c$N_fJa;_JMXUS_>WQ)q3-l
zLz!QvkbzrkyS)yNf>S-bz639>gbPV!XA_x+r$fH(1%)uoYp}!+b@`=3dxz@_WIM0H
zL#w>0^{~Gwg{Z^?I`tQQMO{Ey@S5wS9HZ#Et*=~;=jhjraHnrCMIacU-m95mpAxz`
zbRRbtto*~<$1+?+8Dl~k{Z1_k%V3C<^tf~o?40!e|>$ri5Rx6Tb+Xg_t^h%fm4*_o8Nd5yxo^SU<*
zfBFddjIA&=Qcug+DjF3|k#`RJQl};dX9sEq*Qg`-u=&uwth~ZL8Qq5M{ljBIGyWFJ
zo%zxS9qJt}lO|U@iRmk`Q$d?YoiEK-KPM
zh0|ps)H;`SnrFZf|s=IkU2sOP{
zr@HFTm|a|GA`=N~w?0#^S6(~pUIU0tk;d>l%01VgPp=>JrexjUelD2rowF^}clp0)!qr#}ir6c5ia~gs
z;`mSm{k*P2YG`F0iBgjo_S5sM5><$`JS9PZS-uaTHyC7lgLxAge?JFIwgQ?!N_UG-
z(d|@ks&r>d1;lZC@`Z|XQMb!vAl**d4v(AMu;Xg7yGt6VRChjh%YQGI7)ZDACH$dY
zXi(#)`>hV?B&iOaXwOTfjT*II*Xa&;-K$m*!dkP$YjeUd7TNsLL9N7q>B7&x?YXm?
zbIhPQs_(T3!nV@4AtJ7oB1H{Z?id-pS~D7xUSR9_0%LZCx2E%pfs{B5ZNMwU2v?xr
zB@_KE*XClKH997I?aOW`-rZnTsf{m7$GwzMNysfrSu}2fPJ^JUD)rv;kxHi
zI=LYM^eWvV?{~|j&u+~YnE6Hxsq&wY>^0@)T
zn@0&Yful%w`9}1Kn_Omo=23uX;_3T6C*;9iJy1WRnRspWBu)xrC;?_xf?>*po@==W6w#E+US}k^`n1N$vf&Y
z*%N*8$J|b|Kj&qY-cTPDWPaPEP{hF0N%)K-`to{{TG4C?qFGnu(J%yk4xxt
zmyn6O>70&YWi`eUY+M8JK4Wi*i87YMcc;Gu5e
z&Tx}O&aUjv(D?=-rAJCiVg3v*-dYlInbTV{BDg_4fL>y=(rMcjs2oHq_~+EtFoT>)
zi?j24PgAsgJ67<6K4Y)qGh{R*bf^(7O(BlhfJH;d%?OM4tHQeDyZ?lqzTEPW^(Roi
zF01^#i=tPjXeWvf39W^&gIM09MRD|`(RpusXWGh_;BA)<_Yy_zHuGSLTeSH0D#OI|2DWW?MSksRq`U
zf*u|obQ}6pk}-O9&?}n2aZ$aPN=r+GCHhjysrCpJg@u9^r+}MO!(E$@)&44SdvJVN
z1+_f;6zdCPG%+#TUL`G7uNs8l>(3^onmHUR*Hv1!J1%4kr_FoXJRDm!N<
zL>a^rn<{TzGZiO?BKl+ut%pwZ<-ylqY;Nxcu=bkn-Y6o5Mf7^REWRjH=Q37Q%)_lO
zeb}?`d497+y;!C8X7jf6Zw@_PpvG58{IK^l3a(Nmj+|Q>1q1#~
z^R-KK5*G3}`2KmUV3)P8DiAIxWQSMV=Snt;U@=v;s4hXS3u?Io!N}T`yi5bv)}@9U
zg278wW~mWH8oBazehf8Y{_ma+|9#)fHrbDK={td>fVl!6%CurBtVBTDgp7z}14^HO
zQ;{e{pQfHe=&u?0PJWLME4)EtHro>K-?3}43&TIhE$uMJ1Gah>WGpv!ABOmhZh;6r
zEF@g*w~Q3K@@mr&E8A64Q&Y&a^pJsniJNLzli_ihkJAMrPOeEi$Lu23n7u=7%QK5Y
zo5x1OS6cVE8X$wamE&o}Ot~WzJ5t-{2bTY_PhW)pI#-YVBY?rBE?|w6W|XUR>XNu=AbXTE^qyIvFDP@aG>^qff!P
zHx<(p(=(C=5rI{L(wT8~XD2?*kE|c8C%YBVK*-h{uyTriTDOXc#~u*JZxyyGH9%142@77|-q{$X
z;PT2;?l^WPpQjAY?ezKtH*VwqsCBw$l@)Ze
z8gA!}?01LR_uA$zTfEDCCSf4;a!l#&M2qzn%^S~NhK+Yitr`nCR3!!YUu{Wz_?lLD
zlDV|EIJ!2NE86Tqr`fCg7_!gS=s6YYLiK-+8=~cwru=h?wK9pyUGoPU>_S(6-);UG
zX~K*SU(|6xBr4I%3881A%^e8=&;WO7WaUVZe{hlNLTc*nL$!7XA#T5)cN+mmA8cUfqS=
z9X-E8`gEUX)2P|DYg3BCu$w-ft}5S$?1!%FI;V!u?u%0y)NER^%HVuB{vh=G=o)D`
zaQQu>|NJfI1+~xbgv*q4RJ;cF54wK+4qj!hj^&x1x#idCyArUR9mZrR+Vae#6c9C1
zHcuTI*#)mKMqiS{u$*tW5Ep9zg)cDn7(@&=QWy|}p~L{ooQ?jPcWbGrHRi*j+tkH*
zkwN~s%iwwhYfMpA-Amu!$;K`2Zu+p;neD0GzSL_&9brU{
z_BMRmx7FzG_VKx7kg(hoI@|NGE5zS3z0|OL{ECQ_Ug?W{+g+yxji8RD1s;_BzrcC7
z66XHyQUF81{%_bhaF!C-r)$4zWP42Zn(y9SckU}=;t$W~(HhP@O$=GyT^{=0UoiD7
zYq~O9h~?k;fZT26e(yb4R}HZs@?YEj4i?H1YQ>nLf2aRa;L_k`e-SPD)>__%?@mw$
zUge;3$G4u;Der9~9LIO(i6RCObsUC)O9{i!h!}t!C>MojLrm{}q_00v_1o%gIGz6e
z>#LFa;}Zp)wmoMkGm8F}I+7_44%g4yhY@NUc}W#n5J#j548h?*4Cj5RG?YV?p{eyA
zs8XXgzv7&3d<^L=$jv`(^}fkNKdbx4OHK)`>Nc4V4Pn7qC%4HVADa}38$q2O$!;2?
zDPN0(L}!j>8<$RRR&R1+jvBjfeCAa+g6m6q
z_$j+iwf{F)gSGN1b8fr>gzQge;?K7iNaJn0em&e{Y%#_Lf4Qz^Yqi}#MDblXsTFe^
z3S|?CguaP%LPSE?0hky}^B!E>@C9MnN5grHzGdHVEN>x4YC*0Vd+4)x5_%zs7Rw{^LkYcx#C&2S?Wyc
z`92{ZBdm(^(TY<(b$3@-mZHNruX#cM!*6qDX%#%(K^~tnLnbE7qN3w>$yj&|T%gu>w?1YvCh%Twrp@
zf`5EOpHLUG9@i=Q@&VZL*^vFGWHAVE)4+6vfFEcG3_wHzFvv}`G2A?-Re3*OsJlD6
zioD$QTi#Pp3a?`OXHIc=js7)&X`Ee2nwU&X8i`&qXWTJ3EA5v-AqD`L%YBO*n||N7
zQ{6^uVdae+**hzG*^&n4)AY#=5C-NlXN>T63fap0559#)+~DXuV+4{pV0eXHq}??p
z!)r3!Igget({L){x0U|{ef8J8Oxeuhd>6-7}8A28o8+VE=|$vB}4fKhy_3>kQ9>-)Ghjy+6>)@kk<-sa6m}V0=2<8HDXA*ORl!=v{9J!
zfwJI3*LhKo!JgB36RRMBMO126GH*+Q0x`&9pj;S=z4i@EVLb?17i6H9?aNCTO)r>hoBt+|GBLddf)M9E=hV8MA=(7Ji|J|mYmBfs
z|KBXO+0HV=t-1t)^|<}#;b{Z<1_wTWv}0*^>A!kROHtn@69X9h{xq<8)~OEl+Ro>n
z>^T)4KrdSvBh;eI9%SJP0_3K^@i2T|@Ryt3i@n105dznB^Q5<`&WwfhM5I#J82*#9
z49$Cb;It1!C!m3t_}nRYkz~sw>NjFm%ElC
z{snSI@1|!$H7oN}`qYD&J3Ar!`1~IALi>~<)GuX*<*nM6M0L6KyYsR>{JlkQLLO`i
z{KyZWM@$X;*x1@QbvZ&Kbc_y;BTSW_6yn{7?mkq5%4b&?1^oSjMiD7f=PhRg7{1?W
z^vT4+GiC87`m#|&x`N@C^QNbkCi_p{^8NDwGpGQ_R5tE<|E26y21XVuRs2ezn73tgKF2|NEi!pAQ>xPPZtZb!pGAT}iH9XkuQnJl%=55ukY<{sPx9-1}l1lq+?s+XZMc3%8VyZ6v
zSAg$$UEy_afgc?M-6kP%QduK3>5<(KCo_M;r~Y9JHw1fRKsNTEu*WxL^jKMZ*6wf8
z%yPig?IQ1Njdr@FL7B>2@@~iOI^9OzM+#Xk3=>16!NUwqd(3g|HL@JZCI&25MDay(
z18idO;o8P*-Z*h?;i@NM6aw@iOI2CIEp3Hw`S
z=HScJ`KI3yRqxdQ1!SmiO~AFzFg0Gqz|N
zmtgF%U@u*W6x)4pY6ok1d*SPM
z{|P|d`J?%YZdF#FD1JI7*(t)Z(%f;6)3*4B;nwNkqe7(fPgTp=ZOB$eT+hfk$_#k@cwM3-v
zS{hJiw)ijL@P$RaJ^JSnb$>zj*8zwLr=p_JoKkX+uIpBBANrI${F_?)bq1N6UOw@Z
z)4jOj>V&t;5H4V-Qk_2Uvl6At6$K~gR}Q!5syGX6-R*2Cmmt+Xz1xZ#VNg?ND3k^M
zzyjPtH8WJ*?fKNlA;Yun+KFDA+T4$m{?T-ig8ml^6b^u8B??v{>Qa_;?VF^yBwu$2
z8^jiB>5qz;Kz-wt5Nl)$?0875;RGb6@5B0EAp!poygYN~tX4COyDZW8PVJy6H96cN
zdGYX(7k`F#4`sn+G%z<6?_QIWSS3c4V5QJvUG#d+Z*LHs9
z4yBc!+Oa^n2c<=_@fJgz#?3NuAo5RMh(Fg?n3sdP>N?4XyTqQ<@^BxlSLrldy6(aahjDudhpP
z?P_PHI7mM$1#2ir*dN!W_4LWQ6Z#WRe*WSl91#ryOJrC>LFiwlS&c`NTi~oZdMG3>
z1@dCW9Il7O|!|6i1?nLfAA0IwjO{BC=Nh5#VTqiqn4MrgaNRnyA05O-SU#Cx3Dw8o?BM>Zts~>`FYriKEH76
zU2oB=KT7dyi<26<-&y1T)kqKe0xjfkd;4~1&v{fpqK)!KVbEY
z0dS1IySOgUrEOi~Kj9j#Y!#N+=TD8RcWTc3S=e`ZNTY$S(e-s-x=&y)Y~YDF48!Xd
zPCRe$nH7;;w>Z^8A<8SbHr%a$cY{}N!n}0kyD=#jJksRq+YYpqj3zYaB*GE6Bhh&r
zVv*>SXiJ=ZSXiXaKlGnCl$uRzvt7}T9e4&H5Eqdc3M$NPXMijj5RM2@Y{-lgZvP(Lg0@~(Zq4{nP>hI78V2Z9bJXg
zm~~sWt@)zs0~+lsy%pc~f_$gGf)i@CH5x!(RGaL^tH(dz_;dPtRTtTgqkPge#?CR@
zZh$b&+ss>;;NsC*;%9TyP?!;VFibuI=f8;jf@n0Y*Alkiyy;{m*`W4^z7A4B3+n6Q
z1lLf$R$DnJ6#V&U%_p+ogmHyQ?%XD1C-l
z!fViScS7#KU|?I6kOXo*vwGTqQifc@=Xy@XBGri%Ro|ThRXkCCWIya*fOmf(cVDS!
ziqV1B;Ms{VJPu$0cWV!WIq(#FuI%?_ry323l5b6T7EVP6Tnd=?l|u9Jeki9XrmR<6
z*Y?Of%3(8rRwohADNv5;oV|-EG+duJvZuO5j8|vaKxzu>bWk=Bt|WMxo*0G;;h11<
zrI#(;;lu{z0Zco46;1(gOG`1By|twqH#F(ma(~7kUh}5q!15yGIM_H$Zmrzc6yN@{
z<7PTMLb)?RpVR9}kbI8^c@!ZHkk*Ot$qIL%gc3DUOIYDWZ2JxuM9_#xA@`MX_T9qU
zts83df2kS;MsDKP^+P4uuIE;KNU)I>X{i1LW;w6KxVGn5*$R$L{~?kuForLB3_*Nn
z<@8h^4ts1+rsR76*R+#`olO
zwAgE8rCCwUod!j+0aQ~z;R)CH>p`GA7JzAL$y4KNU@hi-#hOI-YS^w17;I6ZkfiR)^
zM3?fXNYg*xMx_+Rpu
z{h}lL4(Cz{V39trD#6sT4y5X+?)S+|Z*J{=AG$R#z94;IlfE(kc7U+tZb%He2z&3y
zL2=EkG5>+r@Q4wv-EjAcTCr;(_ZEM6&pWQywv+MlM=r2eZm~NOx1Tn2~g4>zs
zqePtHn*Bw$4f;m3x=E$+HjS>4b7<85%`eM)ti!+I8g%C0hBpz}@0fGS7%rrN??vL(v%YaU*T5(qV~>xsb`~w%iiV$yaQ0b|%hRbuPVpnCI$o
zgv>a;PALKQqaH7(Pl*8txZ9PFiaI5+;$i|$&AI-!Y-PbF&dUw0Kb~ls8);}}y|~pa
zHoR%%wkazUpcRPJ$?`M#2U(dm2{nqJ{?d~dXHnu1K+`g_I
zEa`_9eKYNi4+O!JK^J+hOR$yhgEAjq9qe%{vdejjOIT^2l@nFin7LSMnY7-VJGIX0
z^ta4pcgTJDG^_%R0WBF39-nIfQBH9wHpyZO7j{x-1x-2
zag|K8N<484g3BkS4<&DZMgy4UGQ}rgfpUZ=U9yo<7+#JYh~kbxLg1FgmjdWNG|O&z
zW>z+`db0Ifv(^*+U)0m@53Z%0w^u9d^*YC7c7@38Z0*W7^c^fTZBa{@YPWq9gkgFK
zj$Gwvu6I658{d8R)qiO8#;I6&*|d17bhodPWF+d9y}KuBIB@=VV+f@l6;vOaF=m|s
zFL2x`@`5;Uf}OXJH_ZtaYx)Xh;mBP%@^QLLl!lsA)GVFogdF7t^`%NAqf-2&1BbXV
z+T^C|(|{YNWJ{lzn~O@=p;pqKAY(DS{P7^D(t~m#%1hIT!*#bhw;TP7=)1itiaFMm
z&32BRbZ@_QWjj!({A;A^Af!>~RiM_je0Y+nL46Mn9!jr*x6=XSle7A7*rJim8-bT^
zWViS9ukMlX3WhJ+U6()ROc|Uh%RSRa<^Q2YP{C$3>sx`zcC(Ad{3^C2#zhtt`83`L
zlVz_2N`x)qxVa%{8*zfA-b8_Cwqab!U27urs6?$)r^u9R_Y4Moc34XIc&XiyCzc5A
z44j>VboGVINKEbozZTd6p&(@>f~YYzuWb3WGCT9Gcj0^j64P4%L&*kn!HXp3NYqk(DkSK9sHTi9-
z$eY$-v}?&sZ7EI(MCAy7<~jL5a&?Ex<0N!{nwetem{f8)3Ef&Ng&+vabL0HFF<;>K
zxQ8uVwm)O9Y0GEu8)_mf(qf&@V4E^1l~1O`krn@7)#j(f+SOm?f47gAwI_WGSRDBN
z^;_VU)7o-bn3qG(!9oLF^#SWx`%30h7`ucc8HSF8&OWXfnyV8uT{&YEIgxV65u7NG
z?+zDgNwpu9FCOEa4tNjKf!JD3IA#9Pc#!BcV17cXT``~xH%)cnDzt7D;%%T<*OEn0
z{FLc&oSlMM4b;pMli>Vu^d4nedi;&qK%y5E5of1Q@mpzLosmRb6qC0Ia*#T!Kz7uY
z&&)mXO8A%nyQq$bv#s(y_N?eSajs6zVm*ROqiOn6zmUW9`=07Aa}>Vpgp7V#2JL?P
zAt427VLy5$+DD4~SqnBtSqE-&Ob9FuZmEBR^9~Rljj<%!C%@PjrZ(|iNvfOx!P4|s(@
zN;KDNa-~@hx%%sP$9{B|iaTo?6Mww0rkNF>9R-7r@F(5N{QC7(0_OS2m<8!bzzJ@A
zx7H-v-0L_{bJpv%vt_8ti^-qQw8Sbdoxfh+GIr)F(V4g5eEHH&p+jHd^O=F{s=PC|
zQ7S8D-}|mJPP%;s$)&6&E<^$^*Kv@l%@je%wFp%wB>LM?a^`6Dq&X{fZw;#3w|yHq
z+PLpRS^hA(>;ps;TVEdKj1QB2(kd}Bj>;mliKdEk6~eNvbc;gXHo4r<=8LsN0L1i>
z&KDlDb8;0yy#2hWv~mHbQ_v{MTeiZ{!%_@4D};xuA*)M=
zk7#|1|4DS~3aPpghknd9L~gb1fsu$!ij=vPo&1QLr5(_B`1@K!QKnHx{mAX+-w_SB
zReoEIu@v9xVZ`7^OTfkpPW`79XPAc)fk|D9HYc2BYq|8T9$mMbk0>G>P+K;dD6znr
zxQN8SeKEG(uszs^46l}}QU=_apTq|vabgl5?=@)}W+iBwyPJ!uL^hjiTBJA4e)*t1
z{v#!$ty;&5pRZBWP1STstM$^f7oxo5juwJg-Mr>?^+p;rCq^O3O@2D8E7AldZj^tY
zUX$2tcOw$#DIwlG(5Es)-@UTzlRvK-QXnAIu^7bM#zBK-AE8o}a0C&fyEq}`|P*siqHFw?8M+M^S~8C#kb
z{RU-*2E*BHekb8%Tqo~nl9AzIMI~z44k6fyf
z#9djZeDtyTk|p^XxhOvoWP{@MrgS)-H43Wusa3Zu-f4wIi*dvm8k%lC5j$#a%#&g1
zsWRQp(O4@cyN-_Wxn4WFQ|rkyrAW)`8eB_NU7+-Dex>hhG5$h`WIT%*GV?HKP*@3;zoDq_0RPSPDK>8h4t0Zy61JZ
ztGO^dC^LOXkAu2?U>?)5#O~hkgvp@U+2A~;X~|JkhGtb1MhY2KE?$Rxg6ZN-yA-ON
zo0046)g#&rBfH<_d}oTf7cYV6K59*MC3z+43b3;uT^x`^yp((28s>Yo1>xLUt`eEm1RcW80{5&M48xolrp8ds)!1&IyI$HRrhHpV){EWW4mE=?#QO)2U5DGV(+%o
zjy@Ikco)sqD3Wpw{>sYy6B<%s9Rty6d2Dvl<{T3*S!yZp(3qFwNKrL7u|&A@u^&4^
zRKZR(T2Oo+aP*%|!WZ0{E6pUpv?UToK1WWAOABD5S%=CiETh>eTi&0cZfA_H?T2Lj
zG@y9Jj~(59i;q(=8gI$<1A80T+
z@KNlQxkS?B-H+8Xs4ZW7jY)pXxrzQh>ELCf0Y&AtNmK`?0rp3&xxDo=3lrBR|`=f2Bg1G09v&(i_F&AZrPLtW6E#B1gRf%|4I3+q=B|mpBt^bM_8KO622&
zUlc!P!C?ew!eHLJPx_3$XcIEEs&V`PZ8+|N&sv!ghupEV0f-rC75F%F0Zg5!7+X_C
zoS{)rNlK;nL?`@{0){t>t$ca&>M;F=(oOigYj1K!KI*%Fo0E=y&1M~w5>djQTQPP9
z6(g^!YNlBD`29LL<$yK0r+)l|bReT3cQoXIQYImJycAhsXx^IP;W&RS{NTXouaVpB
ztEcj11DMMTh!Jcv*iu00-TWfbk_$$&ky}{*7m(k%uElgG+=V8T<2_q`bI0kOX#T{3IeFNy*ND_YCY1GBoCrrat7EVE)
z97(3Bt4)Hwq|bvdoM3LU>n6_iOy)TO
z?V7fo)EcS0dUQha*5~2U%vR$X>#_Sz75Eo;w;UQM%7&XuJtzfmK<`yyL7UqZv1}o8-Y>}l^l^N6gDa1BV_Go1s
zBGXH@L<$xKtFy)cgag_afO3^f
z>^%lx9uv)G+Ue8?hZBc425@F&GKTgLrv(npI02EII>jtaCGwq{H_KnLdlo3?#r*i%
zQ48aY;gXxqHe_KNQeGU)Q}(j{=3Ca-`eSp;ZD79jjU1GVA7Do$P)<3MiB6`Cl_maH
zxdcQ$Kuogr1I0hSC(ub$!USQZd(O@~cP@E9^}10KnIqP`z9KdQZgt-ytv1mvsOP$P
zv}Pi*nwKnkClV_Mpwl2ye5M?YS`ylly2fmpk>(g4GXM}ast8P>t86AS!iZ{EL<$!A
z9Lyjo`wS9?b-}GEBus?4u@pGK8%*-4$h*h;26jc$IZuI%T=E-jg5hn0MSV(1=+VZ^%FgYkLo2Q-%62v=O|Gd
zWyxc#O|0Yev=DC@$7|pOoY>s8CBO`bth@6B+0S8l?X4tVBBu^KigOY$j;u$P#$`Ye
zmCtdbjvwb_927sMo=MWw<%>Hf?;d2c+;IdhR;6m1u#ne`f>)QzCtH6>zyQljWA7I?
zc38}lTD2av(n@<9Wbp#0m
z1O})PhS$Uj!$d7yL$6qjeY8t|@iQp530SzSH=&tYzi
zg>ZyS8-UupLmDXPU&C#+YK%yM;`siE1`<{Ee5@j>_YJeAcu;yT>*LGsq)sA4t|
z&G=^oXdMUlgL085?M(Q0OlhvR2`766ZykH6(1N0Ij5}J&cNuDtwgiCA5G)rAE64lN
zC6ZG>qExhwof95io(TUCX$?RuD|kjp{_O?#Y>-(=nmQwR-4FT7d
zl)N&1FaCPSj=-+RGi{*B<-ykcrc!Os4Sz$kn@+Z^xtDyFyZ3_L=3Xhjf#}uCY(PyJ
zuJDR32VxlM#m3wx*lUCZV08fYiX1qwnOJrbMqMXHMH9q8n~Bg&JLM_1pUpUhAU2Tp
z8qno4=0L!)SE`?U!y?j5jsm4@rY{p}>=aNKM65*-?yZ%Zy=O)4tK;sD00#b`bEzTO
zPWs%{!T0*nWt83iAzl6eVkfJ*9mc7Zz<5ei&$rwDc`!fnyv26Ph2P9YC1sS9_i*QR
zsO@NeeXNxZhuZK{pR0kLUnDEDH0|0k2xxlbvm)PU0JK(s(jj54)G3>JAugqS*FIj{&0Ssra2k?N;T=?EvVb-={|^H_`}
zrw2O*(@AwTxH8>l|81fXu$N=!yYq^@=9>D0)0)&!M~R$&G(Fxlo)D;i6W|YCKKeBH
z5-q&)J2WKcM=m8aCooqjox-x9wgnp%3JMsEeQT29NJ=p84xRGn8XW#1XM<5+C_3#jWtk&`Akn;d6LnuiPVKbuVKW{kfVZk
zV6u8*XmiV?Mm8851pY?srM4c*#8vQ?d#`=zcgh`uSeU_4;e>97x_Hv|-h|BQ%B#9&
z{BSMAP)*Q%OaJ!5w!k_i^?Py1N_qAdpd@x9J7w2Ld7nw`7EQNh&CtU+>{GA42pGGv
zTrEl<`<$^;J-Z??Eh8z=!vT*H$p2R&xKr`yytx;s}3%s9p+QA9#@r{AG#Jip^I?^iqCVh8lHTj~}xttyw_3YdUCf^jGeB9;y
z$6;|#Uh9dqnvT15zUxq+2RM-^glM<~r{}u=+v=r$G4^NJG>_A4QI+w05CNpQ9tHtY
zh)_;8K6a-RPM9WqP}o?TT~A9Q%L=Dh7*R=>C-fY*HF={MZH;N}oRQ)#*Xr?-xHdzn
zx}juSjpkz{cl&lOjs2X;SWCS=lU=pEFt)XE5V|rr)>*&8z+UB2`A+wy(BuOk`W1Iq
z>g-4%wN7Z*X{7AZjg8Gu!>au<<<@ns;BI5*mK
zG>x^ZM@hs+E7h{1n&%HI`yrBz(2`xk!_UHEuT9WS?;fOGU}F=w$bAtWeE|V~${iU6
zLqnd3l|ZoNz*8Rm)i>!$P}8S4V#sH*0WG@@6$9F!gjBu!U*puS;k?Q8m
z@5uAyA@%mD>-G_S0IFDt0ZN{k|Kj?_j`Fk@eF;Z%At}BX*f&52$z#faKtL?Ck?XIJZ$Je&@;E#23K5-|0w6Fv
z6G0}flJe7&qn+z_#Q5)!LH8cL&5I+|2#}r5BB|ORpha8`r7JJ{q#7tt}AP#`iNy|I+jxX^jM}bSEfco(bmE=~C@eY4fyKpxx#dZMIBU&uy2iXhX$G
z83?~4B%_{sU}KRLo>{Y&%wMlb@z^rcmygLXxcNRY?7;=-NuGPce0SaeY>o&BOpi;7
z2Lh{Qb8$?2%!XlON5kOnIJNnpG0-#&PolYpON)x9s=p5V5p(Rda=s?L*yxyO4hT#c
zFctP2z)4!j87vF^IPC@A>thM3y}+~N8A-QmAO4N|^wYlK`Z3#@4uja@fy@Z}{h_j8
z8KV*KmR2rnhgL9`=hcjDH}Gm-_G(+k+pt|o7C$R>Rs_{*>Czuaoe$a1QOX^Y62?lv
zYcyI@FCv%p#bWLuD?#fq6jXoNE&@=9p6oD;Gg=G-YI5**T;M2!e3Kbtf)RW36t^q4
zZgK8HdFRns8G*;_Ua)d07@N2hANyT|ACKgKWbW`#%89Y1P@iX0@v0GCJ!(6iMQzM|
z^;6P<^i*2W8UIY*!fi?~w`clnnH;g`d=TMR9hNg}awKRjWyW{LK_j=AiCS;2@oE
z$9Y$F%<(mH3Ca68;f!GSkDP&;Je&a%kU*LFW$ym4H|C7vD1D+6jZ%|cL_Fp|gTgh8
zOH9WSSqysxfokeuc+w&zfj0>Vo)`cYgRrhLQ_T5*TW#rrL4S8kXk)BF9tXLs9fK%t
zFbnd?ls49sytSV!AQ-qEp6{Jc@ZSwwjHsDXhOlJAE^Su2K4_
zI)h!Zxh}J1L+znf6rYnA-vupE1wmT6R5`iEI79OL1a1m8<_LQsXWK8Fl9Z?Xg{k)HJJb16J
zm*BCnzA*!q!mPJiZOyHfBQ|#@{XG>wwPM?>oJ6qI@zW1~-qDlQ!J^~%Vk+Z=q1T4B
zwfUmV^)w^VHLw_%HsS(+PQo;%K_jCRG_^oMw*(QZ;`VX$ssCK=gygG}9&x6YK#I8D
zP}%PAo|+1ig&~rPh56);!uk=yFgD~{k(ek`O;bt0I3_yH5nORi(5nPi%NS6T0@zL9
zit_7sNnJ{HRyrhG_F;BVp}>7R6u4%ea^8UTcSUV8!Y(CrESZak7v7pC=MLwXaQcu#
z_!cm9p-RKY$ifn}R7Awg<}UvaOR?oX)zZC%yV3
z#673WypgG>dh(jD^7q-*g$iGPzjU!|Yw5KIO(3DIT}^lH4ov_2k1glbiLlN~Kenwj
z)QuZi@OSKrpb+mT^+f58W_`M=?R^OdDS$DmHWGcG53a3_L#E;3qnbR}G_1BFB?zgc
z!T{v3=$U)-*Yl>Fx)A2s^k=;+$>3pdHI6g1M!Z?!jdF~uGjpQg
zhNv*NKakG6Fk?k_ZII94t+tllF?$~3YzC6WN-ZBeuvM}|O|wke8z{+5?tRHHu5#ym
zJusKsL4FY;{`uXH*>cm0Eln(Q90cp}pu{Y5{7WX6(~m=5gfyrIlKJ3Tx#5gB^;l+{
z6RB6Z!?-5V+&-ko}=CdU2r!H0W4R$|A$woCcF^h*3S
z@k2W+XuRr@vJ83ksM^;Z550|KkYl#A=4;kpmh)W6?I0EX=E})}_fg_$QxgHA2k4ox
z2+4kn7;SBCCPr;IsH+%C0EdAik=!UlB#7Mt)Nz!CaQ>{HGM**EBY`hLoc}h9b##f{V#V{M;v%DAN5)9!l{boLcbe+s$JxM>-Afnqq
z$)}u`?gnCFKeQ>t>jd-~W;1SnfzY{dDYvVM=XCjw+$^?@==-#ZlhiWArg8&X2u4qs
zBv!GH1e9slnnu$0!uU|eFlZ_tKn2gk&<=0|0D%;V$7z-c7whEQ5pUqlzg+3&4PYgA
zE!F|>U=n4N1cLxV9z^t{B3w!b&zJ{yn=k9ai;zO57+S7Qai)1n`KkWR3LEmQd|@@9
zps0LjCYOIw%%MczjYUs0b7K7X=3R^UIWsxmAh)|?{Cr~1c2yN$|FeCNQG-pC!WbbW
zwWXlUrhK#nZVO2`6lsif0tgra1`7a&2z5YRgPW44piEPv0`vfeQ@VCVExnJ;G$Rd7
zT*Nbb>*);@>9n}D^$587r|JMVh?*k`GnMP12IMt|IyM@Lr!0>ErO>`Hv+|gm;a4sM
z(r$?^xGU5sKVQtnJ1sx?sK57lCoCxJs6iPPS4PJr|E0vf_{R@R1Qfg+W+fAVlg12!XX}9B9hVtLrKF7&x0W~CSKQwHLYMi29N~Q@z@IRxWuUZnUQFxic*UZu}I<(rnn-K
zozxn0n|TPJ)e;A2jVl&}0aC?aW-s#+eQ-&~ifcu0lclC@1`6v)HZsfg5T5^Z^y#p%
zaVazKS76D8o1DJ+o#;~4FK!`SD)!0E?mlu6K6Az*uYcVT7bl@nT2Yd4^@S+LC|M>L
zH#Z#YMsNetQ2;lJ2v(<5m^_Ro=zai3EE6ph4nR!f3sN9J0**3rR$TZN=Z-ei7vdh>&yitL6FpzIXWGyrn`Hku11Zi
zc9*Ybj!s%^yssLZ*svHcL$7uE<7wsC@|$OcHt*^y@a_v8P3!5z=suXMVW9{;k_bZU
zKzVUv@P?5(04&m22#SOQL_?7F#tkl$5&{V31MoUi00ILK?sGC$_mY~uC*$CZ1s~|8
z=VNSHb!ZL6`j95l7R`j%ySi=0&>Wd%%NBXDU{#ZwO!)((a;Lm4O|~r22R@k<8e2gl
z;uBNl`Y+yXFc{p*F{}IBcBVRbUS}mY*~uA^^t4XoR%_V7oeKzNUIv78D$MZ_<~jmw
ze$xO*f-neW#A78*2}Dc*lKbB#6958e#i_EibAwUIb
zC06Qd;K`VL3FnLZp@(NxXHJ>~V+*T=N82eWCvkl}=IHy5>8X+I+%(j2VDpCt#fQ;`
z{%g<^0YF<2j*JHzLm(9?5}wCR+pVt26GMYyPBk*lmHvu%8=n~Qd@saZ0MJ1#iZrUc
zZ&=`pjJF7o>@n9`Xx84C+c+6joh@92jKZhs3w9R*6HbZEns>_|1r!HXR4KJjij7u2
zT1iPc_@QJVN#yBfbTB!3HS~uwF_xddq91}23h8COVokdfXG%-*Xw-!y{>s#a
zThf?Xj80?mZk}!MDE9p=Xn;!K*~6C2KnWpZZWbVZPQ%Rc*R{<*zw;L!B{1jrBEg`g
z9)&~_5lB-$#u#oWXov^^k;em~mBFqzm~{zi3l@P1Bgp#{Bw$c!rcv=`S@&doZLc)$
zx|=c38KYaB>SDM<$`}`wr6@&_1Lb#X=y45dQejvcOVUjCJZ-;56;ltaSkv06U6>}p
zQn)ntpl{3W{nN3IVw?uFSM2rLc*q^Um`kZOGj9YAwi8?(^B2~^w2A}U0|g5Mj5Zbqi38g|pju(LSzrJS
z9HWh-#U=`Z7yts8o^VrwR>_P73x2FQSW~XH8DyF-H+v2Pr34#wJq?Iw1+!3cnyfAk
z3Z6il$Dk*ivRz?do-A@#)m#_vT#3tAMvyIqEw@6?{;D6Gp$`-_(@;o}QjWFc*IOMk
zm@98I&TBdgcxK3EGskLi?+ltEbkoe-wWlpt2KV-&_x?nZ7;I
zC6@7_62X`s2lfy^dLEd|F@gRI)O;)Bmi3a|c^PoREG-4!=KhYFRC15D)XRccr06$v~l~DEzU-&bP)GdA#c^`IYnu
zh_%iR>GFuH&9s+)+|HR%$J%yR|ITZr_8&!&WwAYSzv#BYe;0RI7mRo#iu{vcBB1DS
zKq@x`iUoZH1yeo`3hy0^)59DxT>Hm2j)W_~XgJ|nqb6kC5*^orle&urDx)^4)VK#M@*WP%YuL^J?u
z96(Hi<0wJY^8cI{5@au7@-QH0>7OaUxKXt6ltzqZ?WpR?Iq?RqlJhp!yXH4bAhzbN
zGX)lq_#sgdB&C`3bJRE5J%|~m*n?#~UyyZ=vM%Al>Cns>r(Vqy(YVFyuS)C2-WQE^
z$*z9*vN=*MI7%-Tg<*?hOFNm$I`PfyJ>S`G=CGr!?San-i>Sjv@o)p$;Ft#t76+38
zmxl#68C);~Opc6^|Lg!P=Rpn~rhouadW7R?HFU>bKeKFBVGZJM@~VIG#Vw;yTEv~OEFl6NLj;R>NJI5;iQ98HZK2K4Zn_yA5Z9O_Z3q5l8AvwQCaCBHm
zuzzFG6Mf8sl~+CE!dTf3RPk*&*Z
zMTC_Mr|F8$UtRz4m;7Sqe9<~{b;W6+p7o|;KU}*C2AV9ANPugD@d1pXJ=`GD2K?mT
zBta}O3e0;!tH1$9|4Q95O+$jZrbsc;3Pha!$_l!Wi%_v_FL};?`vOy|rf}Xf-2qqA
zJU!O{h+&mjCXJzSrD%rt54F}X=k4jV*w*6)ISWV_<~nG;EdMxk
z5N#|0%tGQRiQsnslO+xyAfa)B1@n>GV$ilJ(&l`PN#!GJg}Zr9%i5bF{MrHCCV1Y;
zK0mok$c+FgTGP-r%Tn`@D{n1^&`LAmJMOPcDL*~5dATT*~T%H9{e(_
z_R*s1Lu8+X#Q_!QimvQ8*-6aD${12w2rb{)@C0P(HvE!b3C?G&kP~(hgk&3;E@@JNnCTJTg
zxf#mOx?WC(%YU}2t1KZUWPb6@T=ss%(+E<;VcaIjbSD^S&qz>YSnLxTFjRmWjRmVP
zBIx(9f*{3|z(WAb9Ahx1Q6hDX7zJr``AxvK-`H!Hmya^rSrZBrjmfm=}N@V$Qy5UjbZ=`5fV<2-c?f83*2}5`NKydyEc-KKS_uZ
z9TP0wfhAOT*N%|R4^}>$`BiR_H4^B+`GcXsN}<13!&lhDrW!WChn%W62i^9!)3&mk
zvDtGogKy=_G+6z9e{FUy$$Lou^%`kc>+a$EOLBLcw>&!-GxCUhpeB+qT5-r!J~$jm
zC1A8c7p@Hjz^nxagMuO!*5C%j0Ngx^7)1#OtJ-3)O8`y4Qr^wbPq%zpG}d7$;hx<7
zy1ls0im6`|oPDPab6R$Ynk^E2#!@-~BH*rV{jJI5BU)THQwy0qc(rp^W<|g+_fzLJ
z=}a+O6PM8mbNSJz)uP!-Zsj}89Y05^ZFYx*z%ij$kO1`G4+S_|6aoRw7=VC7M3Iaz
zCQ8gjNh}r0!H|U+92p7+{|SLYj%h36;wl83-G}X+r=J6C^D?%^*{vf3?9M|W?*JWZ
zUg|TpmDlXa_?8BJpn_4PBBrz?(PLma->wrUrehKFa-cnCc;jtmSf=H0Lxwv?Ye^Y*
z3Y*1)3tpG@Z8qj??U^&|@e7vLA{5)j9HQoXdJXb7c?9vMyH!BN<3)XR;}vfOr(1dF
z4wM?Y3jkk(lJ5%4C6`b^MME&RMd5W9XUH=y0&Ny8Vf(`^&;0oJ2BTs$szEYI5}VXL
zH^pg<{QHH;ULK$N+QdKJ5!yT_+YYzw3O2;}+$8A@J~Oy(v0^z?lN>MSut}#Gzq2!{
zb)8q_JZ7mUnjX;5gqzlAR*3+Ei8npoYoB8&X&>7<%Jx4+$T&n@c5UW?M638{dTHJ@
zi=&`^rkAz4B>uN&OM$;?4O#)yoh`!m@GTu*{nS<*WMZqvYU^#z0)^#$&(e=Qew{hV
zz?%|c!QLQuFcK`CHDDDrv9y>oc9DbCf(v^+c>k?mGYbZrP{M{crCZn-?9=+WcBAgs
z45cF!Z(%FzjBvUMIOKk9#YiQpTg}*W78&x6yAHKTMH;>csl+oT
zC5^VExyB@GP^f!VR7;yoM=PvsdSxHCIKTnjS-N-Nnz?kP$)!yd5EvZ3QT>glpN7I0Q_@vr%PG%xJNi1q
zQbYx#LoAfRX?*K3!P671ML?>cKT&iHX5o07Yi)u-?e
z8q8J9!r*>rgZa_yk_&A`Zm?;;hD>hLA)$u2{7ix
z@0KQ&;ZRXCEn_L0GU56a(O7m_kLh0wd4D`0UnkMmBKkk*CwkQwrrECO;n9STx5~vnEAG5t+q!
z@-47!VY~zTe@^2)l^A%PhdzB^)qtrNs=2cUlrtupNH$H0b!M7US)T3Op5!mss1F
z?FdrPFu~Y3od`%TA9hZ78pz>!$}fmXuryW~c`*~|Y63YVDsxO)8?De9+{=6J!XA&=
zth}#KGM`_mZ|f$+B5JI^Cy8E8C1)*G((%W1!njgeJTN(H-}Ca|m`JmV?V4op+Jl*w
zoOS~b8TikF133o;ly}NC@jP+PD(_s!_XdHAGDhKwjM73;u|v6i4__X`xB}VxW8bUv
ztnv)oekImDFukK#W85DNdEE3^2W#=^B(R{dx+}#tqkfkM%GSKmd9%ic^bw)jW^t=*
z1l$9oDlhe*e2XGOK~%ABTwK|e-*PFg&C6caKOQ=NmJg1lw91SeIt2l+SUpSEXL5;K
z%{-KNtKI7Knwy*!Q@0!HuEnDp-5VKOvR?UL2e
zRxjWXE1yomtA>iSdr(_wk3KylKQb
z6V-krEjVy>V-82wjM{L%bf!5n{C6zyRr*O&?r%RR9BO`xL-FTqd4cE!l^m;&OT4z4
zx2?=F$d!~M
z<2F3vx0%@)>$}Hsl-`LLc28C6m{0fr1Gop8BBo&%Z;NC|aAtcNp;uQEM4PJ4BJ7`i
zI@9~=WwnC@`N~E^6))SC-9oGC$t_*|6!vV>itnihp&70b`(CSGb!#}|Z)=#sQQ;Ja
zNc`+CB^#Af5+)wMoTy`Z(_1r<)!Ujm^5@zy+;`ylKzf-q1qJFqfa&{omwC?CgJby{
z3*R$(M^jJ%z4{F+e!OWxlS8Y5hEW+C5~yh}(|lnH`Uz)S*JFzb7z9^-mL|pl5KrE9#Qob{^U7-)T}Fb
z)5|RxTdIrcZjqKZ$it((G?wex%eJKUG@lcz@u6jAyl`dw3)79JVBRw3>^&Aa@}X$Q
zTk=H!Px}~;H@#S?$J-!PyS%D|?eyVXUH
zZJnjAd1Q<_C@edZUkb#0QaTuQix)09y|m-79@*Q%HoqxxWzG7Klk9YF8!!cR44f}o
z^3qZ~hlTDxp#D6z@r_ShJ|6E?P_b*oX0d4Pnt1nxXRDn5?gqaI=xzQ362M{C_~DO%
zrF}?5O0jCel4RdkfqPB{8q^V^P@?Xo
z#Ey`PBGJ8LYoAOR6{&2R>C#(qrWtrVUfB6{^Vr*g67VLb#h#$!I$}8eZI!-xqzMOOAV&DBKu}zLnQv?Eir@B*l^7mlWPq+x`oNG~*t*wj{
zaQZVKNwk1BtSbCP?Cadzx55RmZ9#Uw-E(!%`0FfQoL_%_uUIeT@U-fs{0}I@SJuD0
zaWP|Ke?!FFNy!@WEyb2n5-DjtH*n7+|TRfoMS_yrlvZ%!Z;;qX1=?3Dx;dInnP8i*b{!q
z-XVH_?ZY2et9GHyZ)faO<)R19SJkPIP+^I|g*Itv6j@aw@z7>v|EC6X&~AAxQ^o1n
zAbWsLc^Yw=MhInOjtKZGgRZN$ALt;?t5GRP=FGxYy^vEFGF)Zt8$hx1eq)Z;+>a}xXY1P%A`b2%haE_|
zd%Dx186h*Kce(%m8h&-nyfywYE}-%wzP~aq9X9VUdY#%d|4IMt>j5?vWZR(g1abFO
zq$Xp2tWen^v*$*#T)M68^Af|IPh;ZsAB8{8^wcD02veRrF%;!?1JhgvCw0{CI-{Sk
zidLo#Y@M#0=2O$CYJbZ(r46IB<4~m2#&(9K$h;c+epPw!Q1yL~mEyd=*SZ9w;;ylH
zezwO<^iWI|DU^2QhUgvp=jYGv!08stXrbp18B0H6llrYPEtQ~qyyl*7F~#>6zE>2B
zn9`ly=vp5nP}rM|L?I4B-@oRIstw7gv%OZ)L`jPRWXdPD9$bBx_yMw|`lwCdQo`W+
zB9ll3s)IL%31Rrr2;+NBFQ*3iLtqf^0`^Guvv^RW+Z(
zO6d~%Hy+doeNE`y@IPHJCwaTL7HTE2DRjk$X{GG8aFpqGNj!cO;6A=+9h5v2WFSHH
zl4n+gnMg73pnf*8)=zE%FRs4ZIY