From e0d82e47d07f4f53793312b0f424280924f098ad Mon Sep 17 00:00:00 2001 From: DanyLE Date: Wed, 13 Mar 2024 23:44:27 +0100 Subject: [PATCH] fix(CI): use cross toolchain --- Jenkinsfile | 87 ++++++++++++++++++++++---------------------- broadcast/broadcast | Bin 90096 -> 0 bytes 2 files changed, 43 insertions(+), 44 deletions(-) delete mode 100755 broadcast/broadcast diff --git a/Jenkinsfile b/Jenkinsfile index 7b02e96..eaf3214 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,22 +2,47 @@ def build_plugin() { sh ''' set -e + set -x cd $WORKSPACE - mkdir -p build/$arch/opt/www - [ -f Makefile ] && make clean || true + mkdir -p build/$arch/ + [ -f Makefile ] && make clean + case $arch in + amd64|x86_64) + HOST= + ;; + aarch64|arm64) + HOST=--host=aarch64-linux-gnu + ;; + armv7l|arm) + HOST=--host=arm-linux-gnueabihf + ;; + *) + echo "Unkown architecture" + exit 1 + ;; + esac libtoolize aclocal autoconf automake --add-missing search_path=$(realpath antd/build/$arch/usr) - CFLAGS="-I$search_path/include" LDFLAGS="-L$search_path/lib" ./configure --prefix=/opt/www - CFLAGS="-I$search_path/include" LDFLAGS="-L$search_path/lib" make - DESTDIR=$WORKSPACE/build/$arch make install + CFLAGS="-I$search_path/include" \ + LDFLAGS="-L$search_path/lib" \ + ./configure $HOST --prefix=/usr + CFLAGS="-I$search_path/include" \ + LDFLAGS="-L$search_path/lib" \ + DESTDIR=$WORKSPACE/build/$arch \ + make install ''' } pipeline{ - agent { node{ label'master' }} + agent { + docker { + image 'xsangle/ci-tools:latest' + reuseNode true + } + } options { // Limit build history with buildDiscarder option: // daysToKeepStr: history is only kept up to this many days. @@ -28,7 +53,7 @@ pipeline{ // Enable timestamps in build log console timestamps() // Maximum time to run the whole pipeline before canceling it - timeout(time: 3, unit: 'HOURS') + timeout(time: 1, unit: 'HOURS') // Use Jenkins ANSI Color Plugin for log console ansiColor('xterm') // Limit build concurrency to 1 per branch @@ -36,23 +61,17 @@ pipeline{ } stages { - stage('Prepare dependencies') - { + stage('Prepare') { steps { - copyArtifacts(projectName: 'gitea-sync/ant-http/master', target: 'antd'); + copyArtifacts(projectName: 'gitea-sync/ant-http/master', target: 'antd'); + sh''' + make clean || true + rm -rf build/* || true + mkdir build || true + ''' } } stage('Build AMD64') { - agent { - docker { - image 'xsangle/ci-tools:bionic-amd64' - // Run the container on the node specified at the - // top-level of the Pipeline, in the same workspace, - // rather than on a new node entirely: - reuseNode true - registryUrl 'http://workstation:5000/' - } - } steps { script{ env.arch = "amd64" @@ -61,16 +80,6 @@ pipeline{ } } stage('Build ARM64') { - agent { - docker { - image 'xsangle/ci-tools:bionic-arm64' - // Run the container on the node specified at the - // top-level of the Pipeline, in the same workspace, - // rather than on a new node entirely: - reuseNode true - registryUrl 'http://workstation:5000/' - } - } steps { script{ env.arch = "arm64" @@ -79,16 +88,6 @@ pipeline{ } } stage('Build ARM') { - agent { - docker { - image 'xsangle/ci-tools:bionic-arm' - // Run the container on the node specified at the - // top-level of the Pipeline, in the same workspace, - // rather than on a new node entirely: - reuseNode true - registryUrl 'http://workstation:5000/' - } - } steps { script{ env.arch = "arm" @@ -96,12 +95,12 @@ pipeline{ build_plugin() } } - stage('Archive') { - steps { + stage("Archive") { + steps{ script { - archiveArtifacts artifacts: 'build/', fingerprint: true + archiveArtifacts artifacts: 'build/', fingerprint: true, onlyIfSuccessful: true } } } } -} +} \ No newline at end of file diff --git a/broadcast/broadcast b/broadcast/broadcast deleted file mode 100755 index ccc9036c622ef21e5a1341e2b06c24f0e29ab07b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90096 zcmeFad3;pW`9FT|OeUGhWEMz5!ahJSApw%G8TJebFoA$UKyihT1V{-%XkM6Zun)HbPi@!IriR?Bk}ZI z*GJ_Q%lg=cHfBn=zFX;Nn@i7>^_SN5ykDl;-H{~WnvUio-7ZD9OVR1Oq3o&e+Mcut zQ<35udk>(FS3rCkMl9VjMHhQ7RrvZ&8N3$1-(3CwMP7xXyKRx=6MMf$f(?Dw@)m)P zcKNZF?&gz~ymuOg{nvh>tJ*KXjYX5jOqwvZsbTCmQBS=n zgFZEP;Zk--2Vshx=!-N}X8jwt+S_-3df6#~c`w~DamUbePkXNJD$Rp3iNlNZx{Fz6 zJ{O5NqW%7hkSi82WQ>C~e_7Xd)`MR$-`hny_U)x&0vPrNzcUX0V{!0bj{{#EhtGgG z_`BlZSH{6V5(od1IQU!Q;QuTR{?l>rN5{c;#DRYthtH{T@aM&We;J3*g>mrL#KC_v z4*at?@Qrc!?~Q~1^EmkJap0+O;IrevUyLL7*KzQN#eok7p8!(ql@bS^;kdW)@>CrB zra1VVo&rd**JJYOYzoWI;(?Lw(JX%9V9BvaZ*fl}*jdSJl>6 z8%?$A8tZD7uc>TWV-Q$d-&C`{S!7o=tY2PJSta4C*4NZ5uUctnfWSyt<~Y zrn$y|hE-H=lF`&qwYH`iS~jk)t#4knylTx_NmNs1R5jGs*Hp1`73i8pT~qDq`pP<^ zsd;^URpYrtr6{1FfmLgXvV2u#Ef63Gq`<3gY2>ZBK~UAz)T6Gsu3`1M%BHnOLt{-n z@}RF-zrMauZ{qS5{ZA7y7MV->}|TSF?^vtgEa8 zov|7%tKY!ds)luqB(AqKYWZ@BEqGPcH8fG_s*RPjYh_*Sc{NnB3Us(Z7jR#`oMuuz zx303b-Z*D{EsQs}ylhs<@^NDeCq}aqqPfEE?6|Sr2;;|2fNR(==g2=f`!LU0Cm{;A zW0rHE#ClmP?{>^cq}FuEh`b%Ml?jU9p`_>GU+w%grmsZfF#M6QwAxw^XU~sR`6^ML zV0@*@Edy#@f-h7desh18ZAJ=J!==|#dL6T4goN)<>m?1ZP;h6Xtk-Z|KGY!LoLf21 z>g%utZXIV43w)$T#{H-To^632x4?5O@ICdiz~!GFqJ*?t;Hs$tvBLtV#r5@+17P!*_PqD!L z7C0OwdSzPR-YC>C0v5Q>0?)C)wJ)-|zyj}M!7sAFt?|Ct0#CKzhb(Ze_w-d^fv0OA z?#nFjeirx&3p~RDUt@u*M-5TiXo2^);BU0R2Uy@+EbxIA_@x%Oe%5034hx)frM`Aq z;6pSJ_uUrwPz(Gv3p`+f@3Fv#S>Wv!xEi{mw!;F?vfw{ufuCT3AGE+nS>Qiqds^TN z-;l3ETR(P&S{?5!H;mBsj%Hie!O+$xocjb~*TnPAHjHCkBhSapH`E~h8rB@^e5b3c zYlkQ^fF0|6FJsnStt9=Z(=a1Jtq3ozXG_)3MHrqGbk+W1T;b zmKlhSbyh~p3_!;^7e&hqJjXhN(J}+hvChJ1nSth5=dfs*0p?g|pJ7?T?ljIMDuRnE?askCquI(Eezd0RruhmKhk({%Dy20qu{L83@q+ zXqf>3?T?l@@X`KgnFAi}kCr*m(f(+e103y-mN~G|{%Dy4`dH`Z-|F@UMERX)nFAQ@ zkCr)MqW#e_2Qu0pEpq^){kjbAT5uMpL9+t#utrtF9*e|ttx{I6olpTv~k zk14+yQ+_q3{CrIL$(ZsZG39$>%6G<;Z;mNn7gPRKOt~$lygjCTK}@+Nro1kuToY41 zE2g|Oro14gJUga5J*GS{raUI5JTj&{IHsH)Q})D^9Wmu^Pmk$;YdLso@RZ=vvhY{I zB}*5F{}XDP-Y*ZK?xK&25U8p{tqCK!G7E*bW#s@+*b(^`JfD#;9jG5+RT%jP09%R* zecR?BbUii`*pbDE4i7RAJ<8|;#HWZj7>HZ{WA|;Jf*A8C0q*;b%9?}GD;S91lzlC54CybKwhXV zeeqbs*k77eoN%BtYZhvZ$ZHr^Wvwm#2f45ewQb7^@E+b53Lgl8wKI|fgi!eP*5uIE z#}nEv>iX`x@Ba1Tu%||D!PVRu-do;QomJerDJy4hr~mg`wirfv_#eK~y`i>wwvey% z#qd63U#Jy~LR(+Ahekb4rWN5OS)s@c2t-2hD`68VUf9vy=wLgaMWJ{b=3^+{7m7#5 zP?fgQtQ8a&3hyT`edwl5L z$bhz#q^$?ct?$enwU?V8M(E|kg-_3OZF_=jWKmIaVI*TIhUE zwqd}j3WDt)gI07gn(%4?MhLa9fWZt1g&IY$5j?)a0gp!)K{sSpFcTSqnez10V7t;* z2=r|`9iuJO+MMO5X{8bmVKNrA+dEp)qJEJa`2y+)csJ@E(MT`~waU;?9U3oVg>U;R ztT{p#J;AOk4Iez?tl*i!vw~*_m+uR)M7F)&y8hHhhvjmR6vNtdlHiASU{@{XqaLoFNX4>qP-$R{96Jxd>hU!BP>ERwQvyT?$ql;-gvELB97RQia0J zS&geO+E@DSOS&|1T8eMmR`j#)k_xn>t>T|szBYZA^Z{gAvTvIM-MC-IF{5>^>3a%v zqZxvV%CY*Qu_$n0wJk_l0s;4LC6m2kQx44dH8Ec-r8w? zag*R85GNkO2tYNx8`gXVJ`1F_QnTv;_6<~A6PbwK5hmO+)9u@Sofs&vC6qurA9TVd zl$04+@Gq%wX0ZJl0^2+@vsm{Ffzp=#Bzio!7?LJbh^VlnlN-v@JihHuLRM(2U}gBW zO@#y*HaMf)D_MOxf*jK)kGA^ns?ui4VZ(fjF@M(K*!GPSKHOShDkP z@JtmygY5;9=?!2S_2~3GA1T=3DF-&;w%nMrbQSGei`tz`P^fU_TJ)x0xJRMKD(j#0hi3RMw5#B@}j??7M$SR{6lRTff}w)868lwV1Q zdKcKySRYBlGg;?cHL4mz7}i2;VTbIBZt>8q9j>6Ykm)O0>5*Kr#Y7-5R| zkr}!C3$_7mXXh4$4qU{s#p{50Mc;V}r&)y0Qen9VXhZ0K5LWLtDuZfusqa1?9c}uV z6_7a>Y=voctBBoOtF8lo1Xvw%;Cuy~e8c<0jx;c$w-wN}b^$2#@cjinI$DT~>^vsC z-M8(1)CMaUgo5pNNDEyvRCL<)nB=?tT@5Xaq!UEDr~eVrfbj**f~<*$5hx-9VXxq6 z!P7g>!vL3qqckfNYCFdi1Ej5@D>^Fn2rd{EfM~~$JPRN!G8$`3XoRsMe*eZ7jMDI({imBF)@bzXoTmA<51Jj~fzJ6gAcDbLym zfj#=*);N98AG32=>rxsZ2~mPCUO9iicNB8BKGW6N06SpK zUeSiHhe6xtAys-{5#udLg6(`&38zhzO`Q)J-EA=DE%|cB2m06G$7LE-2kA~njY&TQ{Pm#9mya6sJ_3}u) z>QN2#$3w5qDh7uB;2Djt+;1xUq%8d6*`e^ep{+-bRxH5?_%&9{;5<~^raPfwS9?=k0=JtuES8R)G#zX_1iN2NmLsxc}qiEr>|!=6n?)s1!4NvC`4SJ zp;6UPalhj_l+Ck1+k?LI98@ZO$nSt-C7IybC-&QdOZgznnX0^X6;>)|`$Me_&IQ|# z_^x_9wEYd=RUOX9TSB4jpEQ>Uq_%YlW#QLECkL0pOeurlR#;NOt%B_s)-?ALz#=z5 zv-0q#q43+0EV$cgXTwBZ?gh&AE%j`jEv88D3$|mllC%t@(t|ia_%QZ|fx=}gz^*Jj zI&0bK79Oisjn#9#Z)maD?~%{vx=o?hqA@jA(Flw8Aw3*t+J}FGW#a1OT&*x)(Fts5d-(xd{#;j>OxT) z6b+gOg6;btOPFMK7>mCkTiKSr2eo+aSRA`clI zwoc39B#=gJ0)#}abg75fmr!EpU1oWD`k1h-Ppr_-P5Ywlr^6O@EC_!dY`;t(iQZQJ zMW2Ot!-{3tX+RI%0%P*Y@E_1V)V3t6IMgce^-^dvJSFnlC(zt3SYA$+ZRwAJOnNLi zh7+>D@n2{NI9*Flk_nzshlmokWnM)FYZ`6|clWbo!Enog#5oas{s=x0aT7#DP6Ab@ z0h-8Cu?D{p1gfL4DTQ{2TI-#yN#(6$L#<2wSmVwz%Uf4F%flZ;=6u9~ z`42dAsC72_eWN3Cr2u^p$-^C?bV1ao$3lUv9gbl8?cgtbIy~FiYKKnCq_u)eBKLtP z*m?oH;nT>6*j*RT%*_M4JsLxuzSAAoN?YC1t?vY|7q@Q5lQ%>>58=VHI!^(AX(z_7 z;1UL_%pN|BP8PcfJHf6j{AH+hgR?aw6#h>cJOz_SHNc_P&Hh#ck39*#XWBxxtsRM> zs;9$gK0d0#ojtRq$YC#D^=rKw7Cr4i0!Ayb04xlr!SpP&wf|?#T>AY?1hq{ z*7Ff;x|%(aFNk=c#EBZ=t{8IaVZQ|%T~B155j=BWYO2w)<9g<9u=Nk?;&7__aY zAn5!@jN5v2saS5bj*B#PfkB%$9PI$eahuXOTz&1aTk!mawEH2m49*F)x~p{kc6Ltzdm-|~87 zX#@`SFg(2rF?kINWHUS53HiUl(hmzPtTx~`P^$&y?vWG8gHm#WC=DO(o@YQCY#+hC zX!De43UJ$oybPv7TI6FP>j`H!anJq--tR%6G`c zv{&{gR2Kaiep&Qqy0t$y1a&U!(C;1kLcb zi$mcr9$gq@M||vzq{>e8ZR0bUcpAbgApBWmAePgxG5XiHZ3kQdPe$(GmVYPtE|D83 zO*Y{m!2BG0A{sLRn5*`d*br8l5;Vd=3j#MdfsjB1=Yt7o5IFo12y~?LS{FNg&x98{ zx4+bUHii~M_&(UMEc~R{LJNXBq7nAHL3ExZ@@;znOv=M+{g0L|5!`|n&98?zx?vBC zaQ%dkCMxH$)eCY^o!S;2ifuU_!p~1!l(wp?-3@5J09q+@=ibrdS6T^K= zu>EUE_AJ&Y-5m=C_k#hZx`#Q=BkMugxfVImFOkJkZk>?384R@JZwD9Y!$pEz#-a(J zE=TJ(^_1UvzF=5v1lv2M5_4jecm|D$D)9-#b@J^DIxg7$Hb_+K(CQRWLg`%KOPL)+ zet^jBUrOekdLckZPCpdI{53JJ5SX7z%;=IqU~Y(Fvb~*rdxM$8FW)fy9-v^m9X$pm zF6klRF74%!38WhXy2ya{M2C&XE!chp(zM~qK`IS*16m@QfWiMC;B|fp*ND9Ht|0sx zw_y9ZQq4@zpd}YWKah%7x;^8An2(n}7({5oY$XQ~#?SXAXD%>pt1$V>;eoYYf3|9Ghm%V~Tcpy0cdf*eLkrBUc#|!7Q-KG!3?WV@ zs8J?1{}Ljp7Azk6#gN`);;zctbSyVjno~D9xFo!eRM@+oTQpBsQB7S zQ&mT)lC)caDiu_nr(iTd@yI_93yD5K+s8ti6Qymn_{iUY*ExWL^btw;SKNZ_BQ1oV zVeuqYWpL2Wbv+5+p;vB`gx3keAr`{>qJ%pw5^G3!8wux2!fHV{+Cq3il<+AF;b;;z zkg%^L%oBv{cWs~2D52FpUjVOj5()o}Ty%aD{w?12J`exKk|q@XZgKeK2N~?}#&-{H zmUZa1tlI#(_ZRS#@<25zv7W~}x69s!bKKiKKbFJOi%}&|!UxL3 z$0D^r5l=4*poW-n$6;kBtRwmj<9#eF8hHnJ;?PUv1LQ3G2f?Ke@X1`*<6Au3bzz$X zljo8J#dmebAOmk)w|@jcsO>BVpRFHzi<9#4wZ2Q%VT6f2fDTj( zRSG-Ao^S|pqpx^64L(e(Ap~v{yE5rtBQ!;(L$e3#2oJv%!tgA`L#sb>HTV|3BwHj* z-46ggU@IZ&!FrHzKp%+w0aYRj*|iE+cdGzt{iL*V`k2_TdxlD*i`cSg7x}h#f*jpM z16bA=*e@#2@=I@lf!d}|qh)VJxaF&_(?NrU;GjG_qtFajj0JV5syQow?b@sd*sk)n zJF>R$j%D&OwW`WwqmuzF{3oZp*Pze?9*G0GL3lNfUImv-yi*oTH01$2nh92sSJ?(Ea!8Nk+E#(3{=ngvQv<|2xcidhiTw(z~GcD&J=v;_LzT zrhKCk@c2G0i`un<_(3iy;2@>p4-h{S!iTzp_-Ita6x$QPBDe&yzkqB$uy;bMyFsQ$ z?d5pSD%B|i37(xdeurVYqm1kN15*37Kmmsv5yQH@IXboX1zBeah(sI~bdN~7@sh3< zbRX@Hy#59nCzd35^!Nk?+DV{a1$1sl*@3To6ylD7Os)s^z$|B+)%o_f2qIU35cGGF zS^E{1cI?MtE*U7#)r5%7EgZ;17=CM^qbzY?EIGM6u&$=5sd9Bqpb6hwBaUcPlsCRbx7tF@Z^KpM+kLCS zC$OPOa3euH{7_|mbzMyW-zN;T;M;|ys@YiE+!V-JU$Y9rMsa=p1N4h)>YF9y&s%EN zpBrdy2vpV85;(GYN?@sCS=$t-tq-hT-_X(sI9Yb<6Wji!_56M$8HsP;1tec>1S|iZ ze0ti!BDt=nasv&5FAfISvZj`mO;zh_SJqTZjnLNr-p*d^L<6B=BdbRT__fHu8fnVv z%I3=CAJx9~HE3HC%vT>(sfYc3sC~lj(xAN=UYWYPY2EhjX{R8JB0H>yVPNLwH8s*c zHE1FmTHnxIyQ&seYhF{S`W#SYUF9Y}s@<|*1-o;j-W}7i@$_9tCAz7a=xH&eKj^Qe zvu7=x8<@Q?IIDbiDU@Eyp~XQLXsm2rli%EszowxXKTS}RFTX4ss6w~a*VHYquUuCH z{BFJC`z^ocD$J)?$uTX|ve5VJhm(~rpe<2yC0dN(A0t=V)iP3){2%h8Q!8tm#puWP ze^=G6Ul*vtmvQ-}+&}|{KSGhZevEv6jW^n#tJXKH3v?^cP2aQKCDOc7Yz;z&lG%+P zYiCU%J<>`zHn60HeHB2|*-%?m6Ifr<)Ywp8-4r;dws}opUDIkds`=bTdbDa;d^xij zm+AVjh5UkZ&Zy-7pY~8aIu=2#wps9sFJDA3dR+itQfB;W*if^6Rb9h5F?2EZ)WMe{ zwz7_0a;}bejbf-YuR)Dc#2Tl1=OZJC=CHD+iKC67fgE7!m}w%ef0sn{Qn9X4I2o8l zEg++f7>nHjIa(Vt&vo6Rh!3c5-8X>a_qQehSA;5Xp0)x*KDY5Xlbg8I@C%rO>1v}JNy{?T4uW#XQGDx z-A)Mk-BIQT#&fJc<3|9Zj!Vx)$nSPDi`>|F)4d+i^R*g0m^Z;Q*%&)Ezgff`Ec06G zYd20|k5@Ls>c$5AV1t^6g;*WGdc%*A14{fb#QFf1 zlr3Vaqn&%BJB0{=b+t|6CnRdPAT5}%Y%~^xjre&73@R3-8}&-xEmzJ&7=zK~^(Ll@C2gl+&qHCCQmhX;rN7nFMOADxhYSg!bujLK$oX3e?=tjf8(x3cRt z)erL#`dbMZS68;IT2-@NvG@`6G`E$9@Sq>2ll~wEdJk{t-EX`7Nc!FP{piQGSFNDB z{o_a4yPK}tL8QzdZl{G#&X2V^8vIx~ZCL!&%IfAd|L@zW=%a)`Ms94sM2X|Xm6Q3q zG#JvbIHl{Z(Ut6SE~6jN_17+`#3AXlMq%m$|x32f>gHZzt~g$$WTvvKy0^3NZ(WM5=kT1bX?iX z*aNBn9z)N-o=LpVI>fed;~v2fW=hHa?0sI=CO|=;{*RDZxDl@8gR0;YAx> zbUR<{>N<$}QyAOQcM^Qw_ZZez@o0-Te;Si*Quo6~b}EX${UZw&T8s zCu?z~$(v!Gcd}t_^qT`ylAJrB1K~J$U=$qe>dGfhX%b&L8gK~%ub_-eAL;5^!Izg_ z{~T}TJfHg<=N4n;fGN4-vxWmI=+DHx<1y$=fV#-H8L1uc3eu~KIF}*qfjpmrt-yUZ z(j9>9#od_W^|#q(c{4Aw2fcxd6N28Ht&UP}L5;U)p|`lsTNLybgp$2Es0?~DXL}|HW-kh?1-oTvw-pskrdHog7 zd!0rOSQntro`am1C%m!0$wWAkok0yIFgTm-Rw^54fGl9G1m9DP4iF=a5y_kKs zHNiG3d7n2E?ER-c=XHkM;38>Dp-6}r7uzob{VO273HL+rmjiq$AJadxd-hL-_h^Fs z&!+cy!Xob$$0@i63Au%k)qwm=L2M1^I4B*{aY46zn=KhQvw=I`ZOtl(2wTE)+HAAw+okkv zcOJ7M1*hMDUw2KwJYy8|&%{Kg*qMvb-E(Xoax zu{Cj__poXE8OE9n4$-j|a_<0-0OIDEI1%6muUPr>srx+d9-G~aRiMOeyTRKIyLZ?& z;64jTwnfM+0N^a#g9OwgGY^0j8gM!?6#$&30Gn|?3FUI!$pR{rBHaU>4&ls74f1k4 zlrdhRU2Sk1-V#fj*stx2#>eQyy;{ASxX;A7x`6mLIWKUv@>3;bk(coxvV->84D zk?Rg#vG?Ceu#uwfBG4eushigt26bFGI3+IqJCQiXCoZSD)oO7@a;QsY56#MFD{MupDx)x*jIpX#!R$V@0)dX*9$s) z9aPjCN*=!bEXukaiv9nwTlDwNV>lM5#eT86SE&06b#GMnE$Y5Q-FK_|9(C_f_k-$w zSly4RyTRXd!{t}^fVvl`d$GD#sQU_aZ&dd!>b^tWcdPpzb?;F3gX(@*-H)of{;^>{ z4*2m3sC$9B7pprD3i4W^?v3g$p+Ejp{~jvG+uV|pDS@1&D_iQDTLP2EP8eG-rm#hn z3OA1{7+Wx5Y~d&gH>Lqyx~_Dr-6N#PlhxzjVdckSY2Ax9qXoS;KRWPoCDKQFJjc)^ z1CuKy;G6uCNeX`_`tQ)-uy$-w38j``pd`MSF%f0EGwC*<*%OlP#4W+;C?U{vUW-9( zwcjhdtrGUgG%=HM@B*fyXkNjZZS0hE~Fz$UekM9H=nAvGztA1z>a zI`})>!VpQj`v02M`$=}qK<1s!4tzT9#Rufv45lsul7}OA$XV!I3_|y}VBj1tSQ~CO z#yQDF3a5Jq8tgn#6#VYLgRQej6f)guq?s%V0rz?|!#PD1a@>C<%~Vk+a4#jBX`)c% zPJl4ybWtdFe?XdIQ3$zzjhNyLib93^OUjug3d`K*Kv8FDzdDeva5GXm=cKJiVU7D) zY7i1yH@b&YXqhN9yU(YbdG70gz0rM;+!pku4Y#=avary%4255~*+0&coEw3?)jfy| z7Wpnk;Zpa7WN@12_dwX;9?8NP8CT-A%l!@&J+nW53v9RhAPZ*+b#8Nu-H)?f?B6}^ zk!;-Zt0~pV3U3EK zsF#ll6S^D)&v1coIkRt(r}G+Q1@1k_2;5Xa4}ii&h=U*gQZP>rdk-S-6rJzqmq?O- zDIos&P$9Wh=3OwAdq4{P&C4&fI6&FQaD7cKzhd3M0R;J-%nuQG{;QZDD&X+T^T65m z2w0{R_N6cO-I6lZMKig%!;@0%V;%O;|Su0;lp1ccRDXd!Eru5 zQq#tPqi3kicNI!bC;c>S0ztzh$bTJ}d$YW(@V~(PIH}y-P|kaz%r9nss>s_om-s^d z_XN96e5QYikA7^pYgyR0OBJbs( zp0C*?8Oa@}3-n3ww*i*1w&q-;Pohf*bUzDreUjWIAaJ@zVleh`W)jQq&c$aRmndYS z;bdpq0(JT%+eQ8>T=v{8`196{%Px(e;K-_4oLeY z@I0+(clhMNTK_aLnuS4G7?{4S$=s@>6eDu4=F&8(({S<2Y-J84x1)Jeo zjGMOuaPIjDB|Y?C6dZ(jvViUSEpkpLKOGEoo?%eRwMPK?>3ER9u~5PFqyX~M@dANI zp|b0B0pzFS2tJaxQn!pxorPfI-j0T3996niqdMbr-ytB_+#N7`#<8?VP)KkOV&SXQ zslav`uFnKVemW+BN%CpH8Il$9wq1?(!h#bn?@YA+qd8$8eF|&FmPFy_eY{ zk$r~Q5|MqI*@YrY6FX=fr?8EqT4aAuXoJW;%ItX}`!ciJMK;3h4w3zq+24w6Uwk@l z!H4ZVNXQt{m!?YIi=Iiy80uuFxfijUhWY-4JkWAs*o<@fvP1g&Gydx6i}HXl7-k$w z7WqRkYQ}5s;e;Py{&n{_MC$ZZ^*={6ffykfnit{YM++$G4 zc*Au>DB&WSzaJGoGKAIsOXw2si+tad%nVmMY5F9i*E2noYq&>2mCXJ^sLkCMP0Ab~ z3JLC4umsN>D8xGr+ca>^9ArNa4Eknf4sk`uX#zenho+IMA%ae3z{?6h`he_h8=zO_ zF#8jL4fLDl39d0d(CPu_1`L`zZ9Vml$5j$_R`jufqd5pWFl39Z17gRU78J zqM7!c?dK2vJL=4LJtVX5eE9rf{I3n>dnuztx#Rr7gUI$s-%lamzVqPugTG)qj|`OM zqvsEPhxG5KaF(<0+_P!;D&qe`@aNYt`Lm59Dyhal`cTGTVc8FosWR{{7<>|dX2ku1 zDDT)bd^GuW3S%z?Ex(;Nd^}+vicaT`>ir36Fu%)ae$@AELHE@8SqxSmz=uZqSP?LV z1|wg#6pXB+z)8gl_JrljVT56(i_!iopnQ&$Jx4ta{+aHZ^Lnmfyp)a{F4NdS4Z0j# zKs@RT)bJN7Cn1gc0EJb^R3qj7P2oQV4teHMb7G#k#4OA+7rE@2rIJ;id9ur%P^=5f zY|bvj7;WYmh93v*X0uN3CmEa39DAFW=`tNPDd5L8vL|wpL>o^>hKriqt%_K;aZ-01cf@I< zJ(+vCLiC@bqIE7?N;b?4({)&j=H$Owi@pn)J1F|~7}4XqMHkPOY+}u8Po@(J(NC!E zH4UAE&BSHCYNnszQLTOjl3voHZ5Y{nGRox_dwJ6`{Np%BYq6stSu^9=f-Q%A3L7Wk`F@AU$o@!koks^?~X5d zOG)pIwmCmmZGKV_8-~tB+njBBX8Tl|vk=Mnuqe#UCz%SQ+)rX8Tb%5+*}Y4)C-aA5 zN3VlF{YmYB*`qn|6qgw`N1sR0n}N0w&<(5^dm>8zP(-E?K-ThvApH_abk~E(v`4A3)jlJ70p>C9HAm)R z!$(jZ1`;141r;aJ6r|kIil7(At_VpbzdxKg^@uUGEGkatMoJpPEHL}rtVMGj!X=Xs zy%L!fNVylph_?9G;o0#-7eMq_`qvIcZ8r+o(ihA@f1x-U@|WO#F_P5r-KdT_H&*L7 z#q3{({VZXgCqb|eN$B_mGM^*mCgFD$cxm%kbj+C}tG;iZDcU@KMQt;5u2|9-=9^~v z@3iRtSoUNf3DI+rnT?cN93xr=TGgmks?s!c4(%3~88inE!55N6qt=1ZTFv>l$Xr9t zJA36UCg&A#8^xcN6=U?asOUx-evUa}8^v*q?gRJ7D2`+FTV(#j0tZA^G9nC8?t_Z@ z9W^6w=8T-M^S1L7VMjSL3-{;GP0EXpb>^w&;4gHe=7Ucek}wxf0r4bw?x~7E_mpK` zx-D*__!G2aZ-;)rP}HVzl;WN=`&VISan#GGx&hp;qd5NB_4CL)%fdq_e1*&xNV%6Q z>W@XEmY^94XcgBxC)-?IdFC>geMYfvk7(W>qw)$63n=ed%H!xB;KrI9Ni;8n%p9cL zzr-}p;)nsox`!jGc6sr0QM?cUDW}66JQYhK(XM*1t)m>a>sn-f!vfp&1Tv2!<)$j? zA81!cND6>FMy(SSg=z4B4(0uv^4P9UaQpyCv?~Ma8~*nJIYg&LwbZ$M#nn7!x<1w% zrh{NAlHjlwnOdaWN=2+Y-eQ?OWs*$~%b+{#$@~$gv0Q6j8ddl(6+YR_UW&DqSYPf0 z_bVul>&tdz?qh-L%Xg4@6Djw96t!AkCen{bpzoI??A%3+=!sYczj9_}Vx5B|2RXTNv?65TY4 zm2?-@aiU*-2mUuwAQ$j2BJ%>0jIrraszy@XVCIY?6=Uqbf%Fv-19XqC3zsa{a0m-|s;F?ym?(cSS|-p^h8Pk*QcFif|ML z_pKDiaP&Sh@36pdG!(0f!AQ9W74;8FttMbfi@(4UcKjjFU6N2&j<=Eyh6jehYP5bq*4j?kx&+0O#~;wUnoBIT}A z)ITsn56xAY$`QI#QDBLM36AnovCb3Pr(=PU%0&jdhd=ujL^8&-Lg25XTI!s73^2^k zT&v08T42=ze>GC>oeKS5W8~u>BH^BSHk~R9{PDyn9d>IipzAEu6|f|3KM(;L7iH1e=I06kfh=Glj^)o zV++;wn67F~H4{kFk%YeMkXehA+fNbn)K_tglT559*_`+UA^TZ+?6ebzku}Fkc6qJoES8@HE?EI=QA`2ryAzcVm%YWHa7e0WiT z?0_oVh(f-8>SX7CB50P{oEI9|`l0YHQjCFD@Dk1DuYK{N{)Jewi4H3sC4rpRr2gZL z>_00^+91Ci%z2S)jV5c%mcVYZaYp|07R>+An7s<9R4YcI*S}PO0-n}ndq%_xfL{I8 zg6To(wObYTqi|G^Efs4{BmeKJhGtGi9u1Y|%;)cj@_HFHBSg(od$Qj&vQG*KxHQzw zsz8NKm-H_C7B~y9?iNol^4|{#m~j}G>m@(iX4w531!w!RhpMn3x^0pwe2ki#EEJ0s zoK4HVRTYk-Aa`WBfhcxly9_VmA~y!r=CspUf)#neot$Z&_Ly_f#KQe13nREiTPSu( zpDqw^v5Wfj6sTy7<4);w$^7lnarhRCVLqRFGV&wD&f{Oi&f|y+6Ts#LfrE`;%5^$P z>vVF1bo@=M-s91h5l59#YhHUL0&_sqzTmR&qD5D6yG99=y;FNF%eG<2}r|*uJ;OE$Dy1{n9%t?LHjF|uSA+4c75*` zd#3zXJ`W(}aBJc{)u%8Y_1^1V8$iJ4Q_s6VIgBKh8A+H{97tlBF&dd%ridcu&IH3u z6Ih6S)pQjSOk)MP?sFU>S1u(Mf$k(S;$(awG8d51D21=*6w99D!D4X06}wil@%NB~ zu!^X#-M};VyMnO&L<&o`2ZE%<)6OKyv!8fLj3CQot5Lr%Xg~b%3Ds0FTwhfMj=NP5 zhS^1g-lG=y=5BcI1SOTDQH5h;{Ld4h>~B3fjC?2+h3haTOV|1B7`o0MVWHn4N!R)9 z6uQn#Of4rON!R&pDP8CHDBp-AT<3bx{XR?~ZY1eCHwf36kMdlk;kBSKcf0S!trcbN z`^t^@n}wTvgmNcRj@Xt^!44bcCa7-iQ;qQ{R?L1(H(pLTW9Ux5Rd}{&&WZPL9OD6AFdh>3R#o;yCB&3ResIQOB>nML809*ofPn~THjkq}a$X*UB>k~@ z8vXGslutt%CgRpP>J8JD3n#QNwrvy+`Ww{$nm8gpohuyAzVn;SGOnE`;u_b_2ayKn z^HKJE^(JZeg(80CoS^NCIm|FGanHn96Hby_=E0CkaGDizj&#~ zB$s_wqXck}a&?8R8~(VzaGM=bNyU_Ond@#!qT5^pURRSjW6S|$o+R^U6u$0FOH5l6 z)M8@a6FAhV9*D`Ui4eA$RQXm+8KQdFDi%a0>ZpM^p4 z&r)#u?CS!)#C8GT+A>_JI3N^V=d!O*4vv+Iedq2Axh5TNkd<^=Ni4$<|{`B#eTui|PH;JdTNL(B>gqX2Qf6I75tqdr;nkB;VdH7ckq-B{Dv*5HCuj@MX{)%IbvQzS8!}|g(lwJ z6(|;_p>tgS@iG^?F4N+t2jH?uLi}1}YLRkR#E7@-Z0#sE#Pxmgi?#UNL0WXa9Nm0- zEygky)m+q%f0|xZ?9mU>*bowzc`aw}BL0N7Sv;5>U@kQ#KLgLP4L0rE^(?#}U2GdH z&N>u&lb8?i4f+&g>HysAt4%I;?DXNnBMAcV5CDZEz!H`GUDv`-zyf*UIaAY#G}J61 z75!FH4K-&+sfL;tL0d^RR8mdj!Jvdf^OvOJE>mG0P!b9=2{5LPL#?A$9K*G9r%Wj7 zs0~m$6fIzNv8;Xv)zgl7sY348#%8?1NFb0KRBD0N!$tb*r%&SN_ zlp0op41C#dPkRPYDCMM%zzIJjA!jNwlUblTHON#V6_X@L$w5jCQc{o-X0fX^XPe~w zmO~5)y2bTK!YBWN%yUR5-mA3eWk?j4&=~Z!*dg&2!D2W(rN~V~=OABP=HFdA(IB;C zJ3dQ7)$>H|(HOCoX-=blU+mxUJi-6y$cxVtx!Y91x*jXJ)WkMEQvb|8CA)0cGDWgw zdP?cZexw0LDc#eJge+gIe<`yixJ?$>l2d@k%JLrj*AJPmKCPS?li+wk}+PQ*K3%$N*u>O_2kJkPEU#;a58>d>${81HbN z2mHh;d?fKh9bivn{MAS3EobLlCuCg68q3*vSI(d_0TSosUAg_{GLK}qcJ*J#{C>2` zbzb{jDXhg_!F>($`4561QZYR_QZv z071!4=7&g+;`!q~Lj^q5nG7dRm!O zH+caHHX|{Bn`}Qa!d4!%nb4%O@Zrk>cH$c398P{FttW68T99~w0P-{G5(0U&JMn)6 zke^A{5_lALOT1M8`I+=5e57opZfT!78Sp*Z@sV~^>BghoX`lN(27jBU1BOdGmi8hF z2_7EpPWvkLa*#TW#D_uTaPl+B4w4ieULKV8t+NsZ503$-bxDpHQ=nCvVM>-6JldUx zqumVO2^k|`jx-$YK7~v(c(gkWN4r^#2xd8GriD#{SJldUj zu>kTjX$OHk+MOuQ!Hd)INjwejPmWV7*ekCmz*;ZzMCbGMkZ4p_XDo@%XvQ$5*Rb*}WO!_rG zY;$4UewnFlxQXvQ^y{Ctn|Xfkq2GYCJDBGQ@w6d*Y4Mc3=-`C3p-%R_XAygQnD0sC zfyNW!Y3KC46QxXl+Fuc-s3S@8`_N zzS4XdeD2cawT5jThHXaCK!ze4zbKLs68U6)Q6%H#bekWWe5hrB1P3ZLGz4?*iovjOfm20evBamIBfzIjIF(6Wph&9tc~7#U9!bd#CJ z_Bb;>W$9K~@@MQ~yKXoAY(Qqld2G!eO)&=rGEQRYUNa*Iikysxh}mw6;9f9z21}2c zDRUtp!5msN_zALoS^;c>iw5_DMj6j*j6p?%hm+(*4H#H7_+9dURRabT4L+45hcuvn z(cs&O@rDLu78$+=0C9*$I`EbaYpp+!>s#hUc@7X-+ivlbpc+?jK z=!M;16!;Z6@rwdDF=BYs7X`@G@bKG7_@V$S{AdT+>n{qt4TNDgpf%gBB=*s{lGa0{@*JX?U8X!>U#ow73l;QP;VU%I$WmCa3u0F7nrVP&>(v_uzn8o2BhqMDBOU|bx1icDB7A_ zJYL~=`}k2j-ad-Q+mA1lTt@LB>Z3AUz?q{3<|wsincGLv{~Yw2APPKe=iqaR{R?v` z*kFSuH(%jw2F~499NPw9F2cIi8OU-5PJkd#ojl51hCRC65=GSts%N59cydzkU4VZk z;7f!=Z2KMF3>G$LwUMhWL8Md|5DG~oY%D6Ayw?c9|oIFfJR9dq^WzvD;Hj z>DW7GjS$~}@W=_&wzG6hIVcyaEg7>BEi(t2o@b#t%p+Em~RurQu5g|I*S<1M^e0v`diLPHET0m$qwxRQvl* z$}b5BX@AnvR!~|W(^cbDZMzf9|DdJ4fy`@^_F8;t%i>DozZw(LKGf27P})e-^|F@6 zJsj?83QOjrFa{~7uZlapSkf8SlKlTQrYiE_Exg7W*`Q690NJl6wdXDM}=VB~gMP(JH{5*3uEypSzQ z>Z4m^mK-H*7?MlYcGj2zjZ#at4t9wSv7%IT;@7gQ7T9n=M#aHfF$C@1Z2jMs*v>i)x>9P zq2A}Zwt!{=X_D%*9AK zn|kGiF@W=zN^I+!7KrULWP&R>-f;H*<9;9Mu z@fCaCs|rW>wzjSC(*;UnQKMVSn%r%w<`opKR(vl2ug8>W1%M6z$UOx}w4#tp3;qHr=O{jS^&;0F zSMJ+N?pKP~)S0Nu`WZ82V&jRUnB5Z$V}=QqCrP z#4&VWfvk${V0$wEnXd>MZHn3`cEg*FxL(u3Zb8LONJ7{v$h?GaoR&Vo%0@sm{~(X8_2%ST$CRdTl5%>c{f!i+P`z)()%Z6E|i$UgouY zaW`qdlNg!r0rCy_97j4akv4AkvmQ@D7ZeqE@j#1L?ztEq{LHL9a#SibCIsL?IG*u(jFq~O{lmC#21pmIf}u@76wbq0vdJ-n5=@Z zixrCPFqu5>`i4xdK*cR!a1&DYRurB`=2;fbLE#HzK1Y%b{GDb{-~)rdxaJPPt5-H~ z3L7RGl!;YFKct*L#BGq6PIa|SXH?JQ(5Q>YfW(lR4n|XvgqN>Hrk0!!Db6~EOzeKz z-clj#Puul)+O|1g;KMd13#0Hs^si=NTfv4L^k0c?&i)%JxMI435}!rk2r_RWjU(1n ze%}Dyf5G_AkeLj(8iQ2$5*q$*rI5Ls+-`Qv#o?9gk5KUlFdjn6ejA1Nka-75u6(j4 zNli_iNt9)rtLuLr>A6^PPQa1^Nv=SqX%d~u(2`FAiInqZeCZu=rQfKf=XR>jJr0TKa1#tpbDZ`# zZn2~*+a{np#z+J@TJ8h|_XA#`;G00M_E5}XBX71+O@uIQSFs4%rfLR(IPVTCnl^x3 z-%R7uvQayR&SdDWIp7i9G74?TX5#wtRAiQlMu{nADh$TUtnlEY!!--X3%O!MzBMOFPT%*W4qCGbwT1t|*wHL(TPSg_|3Cl|d3xe+5by%hI95!} z1cY%|`~vqZG_eS&umCOCrd94BgVvNIRQWVi{23U3Ldsr%!t2N!Vj+lv2@`&cLQYuG zj)GxhrZEw1g|9!V1?UVm9K>Z_?N~V!EIHC9gXM`x!lq4^{Optn zcyi$QkxvoMdLwVYGL;xW+FW7)r6|2bjc$`1GoqQa9WUEKADa1!D;16@x^*I2H6BSc zvkI9?HuHKVsHb67V7^UNnmU7dRb1vHp2eDP7;G-leD6o*UL+&8P_=RbTDcau^hu1A zTn<@Y>B;yuu7tbnE218>MDF@>r}<<9U{rSA zM2@Rs{HV_uq3+BtNIh2Mi<|J4AYZm()|G5Us^F>*y1WERUgouozhaXlbzm_7@1s-S zK$;}PrH-Vy>d818gfvMsIhET2#+xX=hExLa=|avRtkU`+P3EgBv!8%9qr3{Kgz97n zQ2tc-2vXs32r1KlW0HR(EbK2}I737BzBvZySMQcYDk68G>peRJRQuDcUi8A#8!;oOh6l`-3yoaZUn^>ED7ZVYs=QwS2;nwZk(B zFy>A`GZSk~vls>YFHs$utROV4QN{WJYB?Omwt$69N300}nv1x^reF+K`$dn^Z zy%Gi6&Ql7hj0bKnh_*lvbH3+Oz{Hxn6_{ZpIUCN=XnTmZ&~zd$uX!Xa?~?T!@1su>#3v%N#Rc5G2vEG05a0&11{N z2-%@|9HqV?S2F21Bu@rf1?jj1+=9$zq@4En`mTwqZwNxeicpLVEmVw+T&JpH02Zg| z&86}+<`URmKIi8>u5iR;RmS*!P(fbTZN8Q^%>EOq?t-Q_QT2yW7&8+u0gw+|y_NzY)op2CPb%zdRY8gEVk>-}$Y$GY#0BQV!1(2XRwy5O<+I zYdpv(*Jp40|&WvRsX4FjKi;Q1$52xs;uQlDXHc;8gh%0Css6u;0baUIlO z;-;sY+5O27N1CWu2J~?1CQ^?~rI?^0pnpaW#sjR1qYog~(cP>;*4iQmUNl+NwPoV; zh-e6EhK@C7_Sfdk?q8PL$LyO_oO$&upX8SD1(u`&9)7+=J$zznmC`?tz zxj=@?5IOIcptEJ}oCTFeM+w;+kUAvkm{_=CIW`Ixf)sYXW=^REW8pi}#M%7=LXkqN zb?~&V8l(Jlyp^DbRVP>xRYN9hBEwF?Es`6jLK=;6R=n6QVXrk*_;jeiuf@txfp8#0MPJ5+)C73X3^$`u_b^S%L7%d# z(?tdmx}V5kSTZ2c+k{3UAoLvn{jJ&{?k1Q~<{)9O4iv0BIGG!5iK-cFF+9)}C6Wv!CukpY z_Z-XFmN1Z`M=GL&B@9HP0}YY~92HkaE04E|iG~KZH3W=}wiE91y>{kXM~-SjL9Dte z#1uy1)>t-94yW;!5r*$bAiTjqA|%i~5EArQ!q}HqInnCH#4geyc5;szi9Llp5f_9Q zAWw@bqiiZh?)2WG!wjo%%uY7m5no(y{gl@cqZYE)@YYwM^r8yX`% z#7tDWc5bvnxuT3}A*HwIV=TbG7uDv;5H`O%?#PjeXQUn=Fu;!tcY_RLVRwNfP%aGP z+KoyZ0+;z8uLqy}YK(zo=C?Gh&#$eos%xpP$=_HsY5AlHW9n+_TQ-haUEh+wvbMR& z5GZxEEAv-ZRec|2vZj`JKgcSd|L0gSREYnDs_ERG==qiP&DA|=>T8;7k;HrY=)d0< zr&SG5)zsmCP$Q4viGQ*UREfB{rn#Z9 zd3jaC`Wl5;ySl!zPF8|Ly<)ghFhU4k&woZMt0}L(c}xpF>Lqb=?K-ld0{AbimDSbj zC0zaoQJJqLF4oBEe}1pQ;bNmnXr~%JZDmVsUGtdQdOXU}Y}M#`#Z;RUjgaP)@RsJ< zx+Y|yp5ZVJmyKUxog@p+C$RZ;6U_pFgSPcuT4^UWO(Om)= zhTYl6b$521nMF`o2%u;ZbupkMDr+=G6E)GqB>0TE8l!prxw*M$j7DQH<|a3ZkN8Zy z{(qP@4uN*^S6y;I|j{DGHR z;0?Rht61m_>-DP6^eWtn1x5F=1yEI2Wi&ORywaNw{^1LTxZW`LxBXk7WVk!%)Ow?9 zz2Qy3Lf~)uYdv?YH!SHi8B=d{9PcPni_IuK*L|VC4frG6+ntAW{l$Lj64md4hGyN1 z=lgXxq_cNGg7kJBO8B;e`ueP<0yDIJ%^^p*z%3vI>RY&8&Gn`-^%`#9&+TL#1nyV+ zVe_!Jz0qfRPCYDp%ec%8UE=5}?@+W??eq?>^G2SF_M66FSjT!}&!Ap-BdNoHqcrTJ z5!X(;WfOU2xcjO);8lDABnv$nd@tEf-g9?vLdV0-`-8$DYl56NmSs)=toWoi_7h&k zHgCc?q^F7%?vSx^cBZz}qT=SMUyi$j1doAgp#H3kufDK}`d)$hfbRPjHqn4meGk`b zQ)Dez{-T`J!&=aFT2L}EjU()Jkb~xGM0uA7C!rs%>6KzSI41?yT{u zz6p~X@Xe*;e%|jd=>Mo{ypPQXewcghrUhgh0{u-zj&t1iX|T0tcm`a7ppbb4SgYOp zLBDbDmAZ~$d{;*!M2$|mS2_q1irf$S7Z4ewZ-A3-?q@kR-_fy2b&Ab1 zbuZuI*kt=YFR}TM=d5e0y$9aftm$44Mdtv_q3C>_qjP|x^YwlcodcLFrroZa=p1lN zbiUrN>q+;Fdy?8D3QFzQs=eNr#Wmicv$UM~G#7_;(o{IqJ%f5W6Lt|?sNKFqe94`d zW_wW8VNsBKC2C6zcq@}~|Nnnp-Xj(b@Xa-2K725HK@ zw3bqomt3MVQ?bTNncQ?Zh%2UhhZm@yy1!^RBdBKUZ66bjq4g?mh_ajjny#jLD6#Ui&Zg4exNA2)22L ze*$}t40_`)BCVlwzztgRP9r&S9HjwFr2mp>pvU3{Z=5l>B6*c2zmmzPaMpMqKfR3xv5KU1|yrwXvC$s3I!zQ`N>tXDDH8~uz| zF%9H&KCMV@^A2%`J+0+dJ_K;1HwE~yN%vMKG0B9%(;FxqCKD%+J!skMnse0HRF!ws zXMj1g8IE+kBU7VM>GMX7_l`hyOcQF?BYi*I-z0{4?oXWk$<&_a=X6i+XUQ|!F+Ydo z3Y-_lQ-_+p@sL6tGiQE3U01vd?0yhpn8_8_LyzN)pzvLREca!!4sf<>){609e9CAL zy1S6FD6l`PJxswkiIT79A%YzDr?~7*3~_aExs=s))xDpHsbP#kBomXXsJb7Fm@wND z#!K&PY|>tuN__$T>I6B9itXN5_jF85a_r1K-na$m*f+eRQ5&CpSi5Q(=^yZpA+W$Z z5doE>$&Yz63*NEIQQL}Ecsu!wHw*BD72d21i3Z6H1Mbz-qB7l^ z=nlgiI0lHxNq5v1owz3_w<1Hi?w2;wM40Tp2Gi-pa@R(QadO7-?tj4aiOKV|!N)!9 zO}WUMjA=O$W}E_f6Or5LBy+vy0t2p<{sc*Mve>neB-Eg;lPc;91_(0|K@Xvm`NY0c zlTC5oV6y8rJ_Mr4plJf>_1dT}`$o}41_ZpQbvW*|egma!G`wykdsCXd$+NvF3+XQz zTLWXK7(1@pNcnf7`xds;nequTKk0scqg;E{>PDPCA?PgX;a2agf>(%TeylZjDA9*sz7% zF~PkFO2<+*qwCSJ$!D6~SNreLxoUj!R&C_(v>7ywCRYuRRGjLdjb_;6#{SfP&q-nV z2-dlK5^r+QBX3ZGI5N3H)4pJOvp+>aaAeZ`stG2HxQ^3F?pHWWUf4(@KE=HqVRB@0 zhmOKu5wpq9bU6U_JK&7dA^zBA@5mM2v8fZi(?0|J)+$V?V`o#T86)X<)jHO^>Dm&v z0)fE;^328*`E|1Uy+o=S^kyWV((~J>*qbny7*7M|JVRX{Pg57V@y;&_&JfQVW-$M) zhe0>HTX3OFWKHFo>9l5=wHWvB>c`ymDb7$7J@sje+Yo#K+}#bg_iIPPYD z7<5xo^XiMAmp0s^iNEZ&B@vnw950&SAW9_Vf9H_7TVpAjj@L;UGy8rFC32chEnn>4 z1Nsx(*PQ(rzGgl6yC^m5!KXGb{3lM8Cu2Y-CQ}Q&8M@&9UfshTyLzK0bKgy*nvzY% z@GE`8weuk3UG!R8{;IZoA|`@w`R@YDLHUsmRM*8MC-vxatxjEjX2jHe16?@b5iy!+S0mL_lZR*f6j*hI7KSjwQVnyxrqcPGpHGt2)B*EhQklKgDlE#x{torrGK zPJP3emeA)?D8ANp+=aN%(T=*)?SW48#CCTJyZ&Y!LX+JCiPS(+ zkB8%a(Km`B0pth7^Y3ZTPj;^gJpWGMdBn^WKQI`;!9D8qJ{2sDtRJ*v!5Ie zSBEeLL;|Ya+DczT`Ry50}Mb z@MO?ctK$~q@Tti^yB=4veD;4{oQo{8#jXU#EZs7Lr1{uCBD3`9k852V5 zdsxxp^*xkieUHp2S>GeJV7-lNSz7HwS=QV7Xx&XOoRzHFfkKw_AlF}%^A{|^MEW3J z3xoh#>;x9ecGgOrrb$zujb^hJC$GY}Rk#YKTP<%Gt>}#OD%W|=EU%*3bEeVkIOKr7 zqOM3T)(~fjJnk`9RMDInk7H-gcbw!N}M~aW=r(~x|+U>vK8)ZDaAlA(#*R+xET_8Nb)f7 z9|p>#d-wtHre=7~g>(n`mcHL_@`lnq?<$>}FQPMsW^#|E3!`D~iZ&85990mtdqW{$ z#KoS2b-iTj7h3CL)(SsNCp%ns3H7ehospPK`PFqBv<$S*(Afuf9WHKRD-P4_%O5gE zqxm?TWQhKvTD>3u%<**J>$nw7Nq0qxu2?JjJZCm6p=BU{Fplw@677rZgPTlJ{7kN18YFF>l%Pd22_2eaY=`}knUUH+HSDx1ZnR4IihxCUa#EfP9e0h@}N-ryCtJd}&w1MvuZI0tU5YqG$(exc((@z3TeOt7m z$23E5n*2dPF-9+3yI->?_6HQ}4aGMt3Y@W}Kb1}Tj5?eq_6kI=*7+ri{?&kfwUPK> zf8gpLI^6w-`~B`e6>#j_gzGyJn{>aji2~jX$MYBqfmmluEjPgs9=PmeWiTu*C%R4WXdELC5ZPvYC^~J7B@i&XiED?%zZADZ^dDu?%nM z78DKJ<`CP50oxW~BU}vIRho^08NyQ#P8XZQu$J);4_S{&i)P27Dx#POzZTpMt_6>#7VfpoklRzdBR zV$}z16>wOb5gqFc$44QKk3`330v($JjzbK`8zGKsM8{i!j%x#sk%r@y5Xa5JaUkHh zg*lv0C7*}OMx@5ksjb!=)+pDWNpsU<^-a{%q*8D z^tu~Z-q#Nmu>yf4h|83V6UWmP0(qG%-lmsdwDG&DybR_N?p~AbFR?_aXYyitI;QVg z=;;`(_bvva);kJUJGEpr&~hE~br2>oVz;1USRACg4kCDA;{naK9XB0GTqNA$Ea20@ zE66W&v-}rwm^*^(BM)ToWTi&4zTe;Eeu{_}yZ1OvA*Jv4*Yf=h9>QoD|K?`{zOA?y z4djoX>(L0FIo+?_zEHbeJ2Qplmyzeer)TO^L0M@i_}%i82*ac$^i@w%L02ZA%~8-|M}f_s#4_g{6+!kPu&QVyU) zm2hoE7TRGVEylZi7yb;}NDCss;^jY4{EvQfSte4pYAIL}cHGmin> z#+^v^%=T<9o9}EvHIr}YI1@L8(@s03dRlw+w8b;4r?q7Y>vJs~`JP-)UtwBb?$XX& z>$GBKO;@&n#zHaEa`Cj@d`}TCKJ?_L;m)lm2TpEi>Bm@-PuaFWIcUFwWcNA($$&Gp_K2*w6&aym z%xKSNy5Y37JuR6c^clycwJW;FF#QL<16x~bwhQlMbX@G;)`1cCv??I%%fWlOY-=@f zwDxs(uUF|}KATPFdRpPzwod%keGm2FB>d?!gLcwsLHXpFf$VHg4jf&X_JTiL*<34V z^@|vtFtwP^we&&*BBKTJTh?$$077QKiAg`a!@S6f>)uizMr1f=xhp1RnkyA$IE z6AL|EtrUF)yhek#q6kZO_4M?v!4N`%xnVaB$rkZOO?Rdc^3A%Lrv~P9_O9a_eCjMT zpF9)MHNB&!J3GBKlUqOi(w_Xqh2Bg{R=>(K&D`-$>xHqMg^p~#Fx?+Qgfxw*9%p#r zvTU9_+M8)TRgss|y$W~2a3r|}0eUeytzU^zZLMkQNr9(I8^$G{Es$eq{eX5MfNu-y zLeWK24X@bf(Sx~EB(8MJ8eK*_WQ$o{?93IiaI~Iw)g@7Y$!Qd#(`lYq7@F?ht}LpB z4l)aKn5->i)^bGS-XHGG6*KFgmPU_eKAA`F;6Pw^wp))pk^n|R2gyv8$Hc`1Z$+2r z{j7i*LzN2+xAqcG3|XK^_vL8OBb!@Gv!;MROJCBL&96_l=X?5kDU{M}neNUm6Ky&V zQ83~qCFB!}r4OzkVXYZVP%N;RKxB4sARmN$Y+|}Ki*Mw#e|4+h(KL5eM;ZBudJLaP zI3jekELx6H+E(f~y3vWW!s{k!a$pCT5C&vUx|=4W-}78ScTZ20LdNf=37rD<4SnH} zGhHdP^z>#a{``SP?m;(Unw}$_1s#$3PMCtx)zboEK;5^d(30gqwdZX@$)lAd%L6zBVLIV`^s$|S5=#uk`DFR}rTQm%(aMyF5; z3NllVW=}qy&9roY2zlhRQ>Y&;eR-s-uD)&)^g5RGd5DHdXZ2t*=-{A^!&X+-)?MTb zP=KQlq%a|H0m>Ze${$No+LuFAwjwEDhU2}ybU4u>mJk}5Vjlv5hcFyDA@OvsE#_M> zAt)3n4fgf&IkcE>>Fy=(=X&rW;d%-UGuUgg3IozY=3qi(Fk3nAnEpV{rJcxHx(#8K zLmq_(vq0xlH_#qLb6pMQ{J z*LUGOs@nT9`BsyXG)F_-yoL3RkZ~zq5zVGEIQ#dI_H=7o2G$h%a$rS>X?w_n#U6^s zLZS1rEZX6*^crBatYwW$>+3FHljk)yH`H@^X+z!8`bAt>29@<%FsGH8n(4eq+M?EG zy85z4+S2(KKr1eqbavNnFk+CpwpC)ZDuHbC)X02H66|X*Cx1kt6w&+4j#)Cdnoth==^0YoVWP=^XnSx$r5up zNlwqg>9lOjCq$C4Xz>Mgjq}bm5m;>Ll_<=v>&>f{9$a9xAR}~x74m6b8>afDOBXNI zfzr~EMb^pnb+17HiYprG8ljnj0GS~tmm>Hr*G@91J5y|-^lU6$cHWA5qaF+L>qNf} z9b{5a;!WW~mM%OM&VqD8NAAH~WA>$Wi_XEYq;vWaf@;Y?9WKB6x+vmc16`{jo9MuU z(3T#|TBEpr(R>b?x{Ej%=FMv`rDgR?ILHybNNxykb9yHGv+ImuT!w$L?KH^&)072# zH!N)+H?$jm^Zt|kmG_}O;P;{&wOopSqHo=BIBJ;`*W<%2I)*6x!0e#ZzQR4= zHH1?8^F+fALMh6=lZMbVNB@eI<9w4ErFg!te3cZJgsf~Fl$vOA)T*cg{QL|))1l)= zhK_2G&OGU>XfQObFN3)Ef+eGKkW@CmwF< zv}GYwnRs*_?W@bUX661&jaQAY*Q!HX_3A->f0>q`9S8JdL#aypiZchW2m0w zf%_{%*!kYMWo6pbabx2s*-`jD4r$0-cV1bUHg&vAnTwJ+AhWW3-)-u6nX)Uf%vQ+U zJg=;sHg%j#Y$(Vx{?7~{^R9AsMycb*$W`}q9{4W9grcoKN)JcXo}4sfP!NuvDjE;Q|F?jD^M>T4#GoJo{^d4*LP7Za}J90W4wM2>{7iUb<7W{S8u}m+1!Z1D(qx`2#M%xzBfjHZJjw#0U$fk~q zU2H6Ugb{EeL&$6>p9^g2c$rNsYhxhu<#O}EQ8sn_e89##EbTiCho~JdU!IiO_ZS;< zMs(CG+&F^Ir0C?-v&%Zprj9cxp+wg7K<2D+2`@?=@3=OWwIh(Zy1bn>b-YacJ}OIl zkRhT{iVrag0e4qSz}cK2d-)(_A!*UMgKw_+qUF;JDNUB^U6eY$cUxH2wSmmD=9C>- zo0={lhQv%Ap}U5q#!XuHo7^Z6-Kj3CIzk;ER3krbY_DPnnU9y7jR|E_$9E^78_iPV zx}#3##@ax2`R+uhG6^vN<%U`n_oWiHwYlnxBo?(zd>Q*T|K1QG>v9>&_Gl+ zb-b7H**r^|$qM}B2$H`=9Y4zzj&CsK6AVYH9nayOwlldl_Q*r8s-CX>!zsQe40&vm7I}_JB}|+e-+IoYKFd_z_=mqZGr; zjgkCEVubk#pLvNC!^}$}%n7xPS*~Q5P{mTiP;=v`QZ^YrtI#Ns_?LGa3mvCt}2d8+QRU|jcn6vzHKpUN<#DppD42a5hp3; zUS}+K?Kp;*x%=iAt0KeWD4RNNktE!u-YKSb2SdcK6h}`rO<1~-;y6Z`_?6m3pK!Sp zXZfgQQe08O8@3@_7JI(t+tVmTQAf%f2c;$&aki0SSW|rblSa|>MPJhrDT-{;v?NB; zk~mFqlLfDMv-Hm}r0F8!MN0e>isenk@TS84qw)|&i0<2b-7^NIj34>Yhoe?TMa~!$ z)9M2<78(LKv0NFT*jvc~CK6(-%Y;OjVnRvl9^cfs1rM7F3m#KBr7M10IGf7c@x|CsfFx}(l$iiswhIxd6GZ6V@-l7e zc$u?UmV^}SROO@IrjEM;G@V?{scg_sY0ITJ_Bca=Go2J?GOBzaDc2=6yc%5-En6qj5c?_UV7oW{jm zfGX{(sXfJz!g+CkisK~QkC}U_PkNzncLgXZiYb^OO3J-V=BkYwBEzQCYph@t zlOa@B&mqm&f!2WVUz<8ER2?N2t`1}l%rRmjGNaT7zf&bKb2zKD`3Y~i6u;o3mPzqD zB{@)P4+ex%e6)m6YCrG^mrLr%DR%=9!<&lXP1!v&chPTgjw-~vvcGT6ZOd=?LSmNoTPNmL@M2S?KxTP3YvOLm} zgwHB;n6`7~83+Co)N#|+Fz@407*S#BNY7HFZ6N4Cgi4Wq;GYh1Mbt{uhF@Q2nFkm` zfE3sGGB1>3XGmt_pwvVYuI5Fo4Moj=`D&I(G2^RQCPfi!=7!V)HDzZusTEb?2S+WH z;_<$!RZ^_+QA?$GWvG)&2c`B)pKz5F#UL_sX=G%@1*4d8tS_KpIv4eh_n^Zap>%R< zKqZ>L8lXgG7}Axy2x{|5S4mL>L&r956~PHLW6Nx|11&7y&K2n@74Gr7nNH zj7`C5+T*B68iy;@JGVX%P;n2#w4Y?V+Zkd^HZL*+kukxq z*jm)_W75Y|w*)eGUr<)2O&u@uewOvCKxR{UnKpI2%s;ZM(d-xWJypK%Hg&wrNi1t& zAXB#Vj`62W9WQew%i0#moKxOTn>t?RE|&FZAXB#Ij?(pS?c#qauRmPt_ro4F{pKuvTmx`(qAfw6PZtz{~K zpo*D`y4wyWrK)54dWLumkQ$Uq10!+vl;U+^x*v082&>S{^SH7tjC_b4C_U7a#`(ct zm{Vet=z`a6O+eXtfU>oe8!kGxs9rYy3cr&LQVbNYifUOUS|0O*qCtw%z1Y*ug{li*RZVb1TtkS=7`KFb-YZaUgk@& z_xvlp6x9_O_$V1<(p+CJ`2^Q5x?) znC;T|91~$mZsv!}F?wz4xb+`%9v69?|JUFuCvH_VR#!!1H8NUZU%t+L9^>2CAjQD! zm7-^pKLJ)sajTD7E~@YLQ4LZIW=`Z$kE7ma8!Fg_gqjoadz8vi7lk`QWk(&uB98aF z6TKQzwcOaw5aTTyKgZ~`spG~Q`$ce{*D{36_sYdklsZ1OeVb*y7|49QyiA)qPNw50 zy6r*Vr!F>rjOn|iMWK$DIh(U=fg$=X+aJfsw5j9#iJ!LChe-UrpU0Q|Kt`6Gg7oZg zaVWziE$`rQuhb=aL2AU7{AE?Qu!;wKRSi-Mw67HHKNTy~O3{LS#Poqx1t|uKW1@Z= zE4rFtY%+9|O%~G$x+E2{t997}HB1F?O;wbIjP;)Nx~nZO7R;iai3E zvf*+>W|TTE#;|!3%bFd?lr5EGWZKkmG86t8Uh)>~?B$0*5t&iyIGK*Ri~BBtLjEj2 zzijF_nI*xhEBrka(j9HXrH`EqaT1i`E=HNVQK|h~Kqy7ozt<3Q`$2%{#GRcK2Yjg) zN>LP=yHu(DEFhF(SbhAHFtJ6n;etqtVdm(fHBW8k7aqEtkn(lDJ@je67 zSwKt|Q<1akm}CJ%phVdd0m_o2jE6-`EjN!ap5W_Q!Oro;`27~8r3?pGa)z%Yv_JEp zU;`zMQVf)Y8KO$07eXI%L8(*|^IgFZ^IP_7j^vCeb=>@Rl=%6{K&I?A8j%^Lj+04( zUS?^u&oLdy7E=6IMwOrOFKZUOQ|dD}N-@kFov)5MgjvQhOsE}^MQBHz&8-_5!jG~k za7>?V>bO2TiES)vFT?omMd@NrsrZh|5(Wch7vPA2QR+AY*`)ycSoUiSF*H)la?V2V zNwJMlraMymT0khpua^)8>g-ZfeWR$S?aS!EwSp8yp-JRYyCWc!Vpx4NFi2`t@e)xS zW{xIuqA+H;H5sw7rsP_ zVuFy`b_l-I5UGhFq8RyiH0wCr*VQ00ZwgQ%Ab`hl(J`j2A_e2$_0cDYUe z4$~zjn--5@B}4lyahtz^=^7a}FMPVldY;lo!Eo;<`=$b;jSzP+s#DD6jX* z+rc*fkC|^j!(TBxz|ek|*XEx()nHCwIGy3?3}-Psli^tm=P|5jxQyX)hVtgTt#22% z-^5T}ZIieAe$M#k7}_u9+44k=ynrdMz6rd~(qr?>`ybaIXIkXtkKJ7VBExSmypQ2t zhPJ#fk2RPdGPHk;!=_L0Wore)sSM?JKx}%!pUrfO87^gL)635k2>cWOiooj(&SyPoR{7_Me$ z^9w%5?FEJ#8Orz5@>RCYe=F17%}_p}{yEoedi!T@-etOfFmyg{I8qGl52I~)M={+o z4DD~9ZTdc@+saVB8I})(ZTd%;?iUR0?|E(dzcJkh3=gR`6r&m1^kW$>a5C4YG5jRM zI)=(R+6m5FB>s!Ed7ck5-T*pxEA#MHvZoiG;9Sr6E z(59F783f9!4Dv{SA3s)?R~F74VkF4h3i5DYp5)u|<*~f*Kjj&U=Na1c@-V%P^>i|n zNAWhjJXSxM>CRv%kJ)W{c?iCj=^kS!kI-#;d3-y__TI)&9_QNh@&=f|Owv%u8(}uR zybC7qYNnTW!)$taE9|RG_brCE%tW zCz$RjhVq`5O)qa@{e$T~Vkqx$+4S;;)u}1dGK-4rL>_q9{PI*_GCxC@ z%21vu*z_k2HyC;PC3by|`Q*8QJlwST<#D>eg)Hw=4CO(;JUh4f1%D~iZ)GS?zHNG; z+hoyQ#r10#4lulhp*$qFz%tS>RbXprZ^wmun`FEHH~ z8SY_dkCV-Ru)2#SuyLI4!*tjrP|b?PyQ(P`KSXVa#e3@3SbS1F9g82T{=oU6)E-Py zj{j18g=&h$4^w+%@x#?R_Is%uII}X0F=ZDI_o`#@Bh}{7arB3(fmnQ{lIxT(m#app zj#*)h=!K9uari2AmpnEJHM?qzTD>%c;G(O>s;j!<@E=nHvG~K(?pXXdwL2FlXFOgL zjKfb*)vxY<^dBdO z-XpFCy`4`g6Y=!N0zZl*%`pba{5rJ^{kdiEOEkVxy-pJl$Fr!@@hQNgO|j(frJBA3 zr7NG)c;xw$P1|rbh#t_y_4l?i_`M=$jFIyrz7Bh|4E-;FAC(xdQkI`zDntMGGWa8L zpEEiUJs%Clc{ z3F=(V^CD|e898gp;MbPHU#0aYQd+8=UIss}41P@+d=K!|QSqw341RYRIVBqt zg*S+iO*cw+A3-g&HH+S7CA`lBZJ@#1{D9JLG24xl@|ta3%qB2;j}zXuq9tD}6tPnf z_DRAH64`ca@Im`Pbz>tXY?wqFQMC4?+q-(!WV+I=*uM$e8uYEh#sIXP4YoF@nKk1y z+S(|F2%8_}ISCvlR2|RU5Wm!X6Q3mn3Y9;n%PqPA4`c2$A}GJA}5Lpx&13 zHelLhqlUAwkwZOpy_la)!yxQqm99TGZII{AU#imcn-|qxaNaz$m1v_~c0vg33xaKZ z(&wDNcy8VK>BVQCy{x`5-B>sG{CbiaY^pP7&N=6wH+NooX3fbpr=X>DOO&8>X3eQ8 zozcVaZrQ}e9-6cwK z;XOx49B*zU`xTTD>upFNh4!B+ZNb!Z@@wQ_!Fd#mpof*r!9b1q%qY)#o){fB-{}b$)>_ zDZ4b%9&r%stEY^?8}5|yhqupSdTl%Q;pnu&T8CM%3sHMF?eRwaq_jY0#2TS@%`4TZ zY6|PSvGEchT&iJ*l#scz*axl#Ni`W#d!4Y6^HZdr@1&uFu#a3zhle6}k?gk0+FDykYvTdD@dn)V(p6tMeG zO)mOHQ5eMxEth^WX9%=c zDu_0GOhSd0u!MgW^9!sF6QeBm+k!p~g)n~;^9wvi2pQrsr{p*fwJ^V|%L%M5p{9G! z(&Hjj-}&gH9p% z;5ca@VjQ;rF98leLhRe`uN(4upxl0o{UT0aKluMU#4qcM0#~D*4%>c%#Rq*TP!~m> ztV0TXoC!t0-Txbze=gI>dZiCJ9*CcOX7hg;IP!_e$EB`07}_gv_W08}PME)%`2?<( zj+Kh_)!b?EZ|0jIfnpA``+S1G&*GQ$RDliugZ>9Cepz=Fc*P{qY@p~BEIr>1_g~g$ z1@i52aSt2%?^+JC`RA44|M?S!|Bi_V*T0zgZT}T0uyM%qJ5vk%CU&eSqkka