From 2e2f7e2318b48f5e0c0919cb7dba517a81432c8a Mon Sep 17 00:00:00 2001 From: Charles Betros Date: Mon, 1 May 2017 21:07:34 -0500 Subject: [PATCH] Use vsixbootstrapper for vsix install. --- Build/Tools/VSIXBootstrapper.exe | Bin 0 -> 180424 bytes QA/Scripts/BuildAgents/Agent1/Description.txt | 1 - QA/Scripts/BuildAgents/Agent1/OnCheckin.build | 41 --- Setup/Code.inc | 234 ------------------ Setup/Cosmos.iss | 23 +- Setup/Events.inc | 41 --- 6 files changed, 10 insertions(+), 330 deletions(-) create mode 100644 Build/Tools/VSIXBootstrapper.exe delete mode 100644 QA/Scripts/BuildAgents/Agent1/Description.txt delete mode 100644 QA/Scripts/BuildAgents/Agent1/OnCheckin.build delete mode 100644 Setup/Code.inc delete mode 100644 Setup/Events.inc diff --git a/Build/Tools/VSIXBootstrapper.exe b/Build/Tools/VSIXBootstrapper.exe new file mode 100644 index 0000000000000000000000000000000000000000..65d5b6eab40ca84859dec90745217618dc6df86e GIT binary patch literal 180424 zcmeFaeSB2awLg4j<|G-yzzi^vs1c$BjfNsJpo9TUfC+&bm?36Dgd|uY9Y@pva{?-X z#FNn+4yUEJ*pK$7tz6XF*51=r>7IsWyL z!pp;C&6h-7|eRpwgh{>*#s&z!foIP<;- zR<4>nVnk||S#{rwKfS)`y%P^5{u}|}p_lRP2v{GwmA`EdJ%_ja!;=sHiogH%@Q?ZX z^usdVP4D$Q^e*1NdF49~y@K}*KkR+@b^adt&~Bby#ossl@YKWfz2u&|L)6yLp80)( zaJwZ%II!dGrHQmo!D<<987T-6bo2`R;opx+@o?d98-3>)VXGh{2}XM2Ep#FhNPV}% zDp-ZQdY+NWQDOe>e^I1Rz04|XrNAz$ur!4N=D$a*Li?=MvT8#FUyrXtCW4FlO2jbeU#1|en7nr7U6H#4Vebb> zpuQi$djsBs{^bcm-ee=2P?v#(YTy9q6K=*@ z%|Yz{FaCw@mh%O6JE*@b7P^nZc|5$kw|0)ezQ`4X(0Yo!!N^fh;c-R|`)1^5ryMH9 z+Ieh=+O11&wZx?s*;x`$SXRErC4}Z-n46y4MAa7xg8H$%s!vd~&hxsiX&rbLw?@11 zvap|l_Uhg|hOnU4+NI$}yb#r;6f=wb+!P(DO`oLa3DM?Ah7xt*TZ=mIY~#=D+vW&L zlyYg&X*_loo>Ok6*rf=)J`WkR=yC*=$0>v2tJ@tLnOKDOuSHbTAmP23TGRUs7Ca&le2-WSE#7>6)Ng%C-K9!N02*-xu*z1SO{A*jgk?S!rq-E2y*Rl!P#I#xd3vqd8vrn;I^-|s)Aon%iNYP z$i1leQ;gLME@$*(yyaSE2YkiOxxOQsb{w_&OWD)ZGXFr;c9wyG3Zr+Fs;9Y8jgiP~ zNRXeSP6JSS`4gEO$P{gsGBj-$qS?dOpw}yw(NNI0pFMvUO1?=I3hMN9WRBR)q94j{ zGK!`M3g{p5j-oqVIRq79h>f9!-y~`hA`bl(3g~GwP>ssL=z0Y`Gm8;+*?*v@+?w6B z0~y0r`YYXdYf+*}KPv;jk@q^xns)=um#jH#T^hej)!I=;wWw_o0B=qWHF|lEbr4Eq8_U6uVL=YSC;UCE#z1X5o!Y z0$cVS@ITdO*WTQSs469T2VPpyHcxX~)Q=!WUHBzX@yk#MB>u}^GAoebL5>%K>OrNp zk39=`flrH8)T|zC6SGzz8~Z*Yi`9dOw`xTltPY=LWuBwRQ#!YpO}jx5N{dkiyTJ@? zL(XKDfiJnX+pcK@OF+{I%0Mao(|jGE#*R{dsh*b6Pe&o7Gf!qe9nrU+RaBz)(pHt% zQd+ExREz4AMIr(6`t?X^WoN|6JM8G;fmZVZ^A4U)#SKU zZ4G~`tjcSTxG#vik>aGe7sTn>QfqNo53R;1ge~FCdRi9IO0P9CF|1QU^+gE|&r!KG z-7B4z8slQ?d=Vqr!-~+|3bn0rnSlwdh_QFaCGhNHes-=Lr~wLs=!trQEgvliZOMgs zbAa9o!kvK~!kCCEV!)KTKa_`bcKj;L!(^(l^YXzp{>-cqKwh~yUs$;V*b@A~9g*re zg6DUB&3Ag`PKr`b@G)CNV>VhHH(&JXl!S_r=(MAZ66ZU`SzTYC(oV>`1M=Zt=G|P zbaR80iGY z<$+4#OUQpETH~O6MWCc#2+B*>ek~|KS^faZ>bs{|1;NCd;_EIBmJVP~S=FOTc2Bcf z>j>GA&96i|{z)RRPm3N$z^}Y=3@(wbQqsy}OLWkI?|;bth%|PpAihpz%Qrg#Cy!a7yD0oB{@KQ(NO1 zO}~b`kEu}tPF~>>Jp0=6Oq|;X4S8k7GPS7N^B#NtW}w~}eqd+kVC*ztq`m<=KD$RR zReWzKzFkV~iy#|4Z8=Tip6HneuN~Cs45*Mnt>_7M`Pf8neNXsV=beI})b3Sk4{E-4 z^vmWCZG*lM9$OlE25&uWg;|-iaUt-pOYM5vN;7K17}eLVmF!&-szX-4YS%}pJ&2-E zz#cv0Y#fUss$eP?EcI8L2c+F z_Kr%F+Ga@Q)Q~MtsAH?MQNLX)X}*_%(U)tREzW2NA+@|oJ*!AB zM~_CvsWz>sJrG(BfQyydcHQMUg8~brcBIFXnyjc5)RH=z0uh@({uFQ`s-EDdqc7?MUTev28A`Fa^a64)`a^$ddr+NFk-JD?rdE7o)$o6M#QP zPTfNqjtDM_+$p5^MAmbqXE8y4kEDzsjJa70+tqP^fj$?B*8q=udrqEYm{(e*okV$?-IvjVD*#>(071WElN*j3+E zeEZq>3tCfs`@0@R-b=UY+dDAsW~=3I#PdOPpb%vm$_*O&8can@vT9(9Rl5_TAEocE z#h6P?DH$}c%6EBmi2S*HN+}P!suY_VyVSf|1d&MdDxA^u0VWl*&cgQzV7Y@mNAs7& zDKyg`U~(ABR)^Zd=3awLt*p)qu`3GUX-z^MinigiuGRs1woA*xt2AFTm2^SB(0pzW zI8kjM#J(=MDEcTTz$1335Mh^dZc#ImNLL7uT0mNXAK2$u?_fu+HV2@Y?L&~+(GZsd zkoLVou#}kdIrSuIFE>NKN^t9ZwCq>kXFq|e2GPg)ygrdeHJsISD?$9pOr)Ii?9+TC zw|(78QJ+7c6tU1T@Jam^1(Lj|TTc@pa%m1m2D6L5V(Nii9AsZWR2t0DchJv%6QqgN zZHZhqXwX_{nmQm+;s=OXA2!7cNqQydN+<=MeO1uvO8V3Ts;@_GKHuhJK$5WJ5X5s3 z8rNXO05Uz`$AAbXs3wrTQ9Y72sNq61T-p_+snyEfz}jw)eL(9Wt<%tY+z_ZIf*}i- zQ5YP|5kjC&PZO!%s8UL;gwz9-K*t(Xc{~l3Yen6Rjq1lhx1asG1e!#6R?|a-;g`^+ z>T{t^PD!-O}dZc&#p;O5Ty=w69!M0j;I}; zW`EG{S8e(_QEs>TnFSm|?UDCp%I!MlNg=WG>jptr1n9y5uZb-f0Iv!32=Fih^ZCq> zH)8}!X#`Thl-l?REGcO79VA$Spq)P^o8S}yoT3iOpU4cT!Vq|V0Hk}^+9#2b1Zh|= za~8G`3wr=)H|Go+HJ)gYEt-)~RORlBU@7!&UtcMd3x`tMtKYLSoc2RdXrN+@!3ZZt$1Z3^$JwcVuHZZFXII~W(NKqRzGex4 z^O<_?AWTg_0m2kx*+76EBAd@P#oO53ma8P^jb;pIoK-2lj&P79z*6UH&0u~0u!a2u^rLOII$ukv zf;jyg%+z;;bV8;4Ao4edEy!6Zkhd;k>p04P67fO02+0@c5+)-JSJ9O!Ih zMA(78veoD+$c5G@TD}--nzC_@AsiqTi05blk-EASLx+W68F4YbnxR$UAqd{lZ35Yk z)P*7z)apVktLYJ!#u!7q3ztd;-=*S1k}nud>Ldmfqp459sA4=Zsu)r}rvHw56Jx4Db?hJ0AX!eJ z_Yt+B25-J={TL0E^BAyFtpKaNwCseQbtC96CpS5gs^6@q0D)jzQXM)YKa{hP;P4EvY@usTBTa$J=Q93i}W}3oty)Q z&Q+*JHZ-Ueh;7NPe}g3|Q;=7P5bPkrW>~nVeA}dRlgF9nq*gTBmb@GVFa;7xL`OmO z9Q!#XrZf?IEO03E9VXqNZ;6~VuTQXcUddj{*I!8>fR+J};_KCXy)?jDFag>%g8Us( zSmI~@XQ2sHKl2~l1wZ>E($Dzpma<4H;noA4g3r|ipAMG3y^C6f3iL3TF|?Nq5OKdc zVX8n-fYxKS#lLfb0@McuXsMw96&MQ8Ti^w#Vuo1-SAd`%VWPN-Z7rpK)(%;RxrC|8 zbs(2ApaZpvc68pbS@r8c{|?$D*$AD>4n@8eETt3+-kSlcI@bkga@y2dm$w(%m~(!w z+H&@wx2@)GP0YnyEjD1f!GOspKa6f!)hjQ64ND5BAhuYkA0XOV{Oq~}fOgyalyeAx zq>e75wSu9d*-Y>PYQCu7#Fqi>G@!1*rdh1Wwh(ugLF6>Kk3fGbKM0j2w>&eF79#Ys z3IJI~_Ei_F!lIa#5E>-=4v+iD24ohvP5jr1^qs;7;F`1aJ_y&)%`8BL>gwf)?rZ(Nn_-P z_*jj`1lUsKYIIoR;}TJ**!h;vMYGbj$Is@2zPXCTP2|OZnFB<6I;Vx(v<#w!8^f^i zA7JAQ=&m-P(`#JpF<_X3H=shdis>9YjB`R2ztV&cjgmAOWk?eur(vxyHV(*=4XCbP zmYncl#YBQTF-Qfj#$+}Ew#0!+4uhw9BJ3*5UF2Sy161ZNcCSrUN2)1MZk?EK5HjQB zW=mwaA9HXEWHCCcjE^q>Kg(U{UU!4{WMsBh;PM>xwqB{rpZD0#d3)C9PEEpm*v*|UOWmjQih8C7Z9iF3YzHZ82{IhcA1Fre zgT@R^jA~-)T?2%elk+GaW9Gdc($Ee^6)e-Z>WfB*Nw869s0_-SpFKi3jZGXo_7N~w zVbk2ZRjp+WVa>Vflmi&Z%bN=5R5_s%fXC; z5Jm2?vWh0kKuyE2d<^JG>{OJRBRybj$M##0{RGlp?JdKEaWGoq14Jb^p31fmSP0*w zS@Lh8JW=45{KgAD+L|{DQD42 zdP$fr(ftm9p<=BP6tSG}E)=CyRq!TD;x0?vI<=YGX$GNbIXX9hCi)7p--FKN*%anz z`VL3a3VddBG_6DkOh91bL_$*txd}~_Ar{VT(ussVz7D-5M$H*|t(~br1sN4OG@nD= z?`Pv+fyJU8q>%Y{q`*$If%7Zq3J2Jn-hR`Fp%$?BFfPW7a44G`VAaO%6MF^mV9;r3 zZchfOpP1Cq!;u^)s>CbNWwph7aP5`!9Yn-Uh&Z9MQJ_s9jRYy*nw`F}A_&1+(<}M%c@c1mK zW(ir(_x^G|(%duDSWa7Hq+b(L{Y%(mv-p(yCKgK__c=@ne?ooN&q}FvhIh24NF0Fv$9(vRFM#MFmITul)DQ31h+-lQe7=&e;pSVg$7%7ig{i#h__r|YvB4F#C_Z~05+L8L>|030>JmJt>C{xR zb@OJie1ypf@ld5MR9}uph8G9?Y%PR2$`FkK3l+culxYrHW*SLc0D{#E{jbs3ijFr#3){Q0_ z>T%9#C2P``z(IU;^o-=XdJQeI46$ed4A|}D6W>slK7=iLMq0NNJeGXAwzj96n6jLFMT+cz8P^^wK;0dx%3OGDi zABHV?{$jQhsu%`nnJF^(h=A_+h}Roj#b3c;z8LF-T`CWnZBXV6hL< z&B#pb*f5w|TsSq~K#^~lnm-{VC8p+T%#L`WF*WC+ZH(SbOil9VAu=Xwvtc5|wA948 zn3vBQcrtiRzej-qQ@`qsk?iMF4QK+@ey!Qo3wYxBWU*C2M8)h4SR0UklG!|GTE$qG zs}hl zu1pxvWgn&TG@JvvEJxi^6Lkq~wrEuUM0A*#EXIDoC+9GB&^NKD!X}%`+rbxA9bA!) z(V~hh-R7byVl?jKn+8_(wjsk=tcmk!MaAvj?;|gIkDh&v-MfEe4LRbNBBnP+*n0;c~$PT!V2j!BN9NxmD0cAT5 z2cYq;;R6$?>wYw&mb<+luYZ8IgmtJ=1T8Ebee^jLiMN+ReRNO<9q6dpK>{`v{pHHAe@8rOREUll6&j#%D1moWM%6;4>cvR+cY@DwBd3ACA_74z z2Tc^Bl-(BN{Cn@K{nzz2Wm4O?4s3%CJfQw!Yx~=Vj2oihpa+5qnZw31yR=9(dUu>8g%J1*7F-O=03PHz&MX;2bq^|5DjzyP= zzYL7_3*(`c7xrO7ev;E7_lj#jmU}1EB*j0#+zl`*Tqer61~61bw67hkBJM`Z0Gw1r zE2)Te24YA>guLWC38a=KAm3ytiGYyQ^ZN6I@6?uLdw z+R)HRAsOaru2QfmbfJzu6?zaSDxV8h5G)~}%-G+ewa z?~mh91^&Ia0CH4MphKrwo;NiA}FKUz1(YzoZyf~HIcOWf5)FoVUSJ76lq zIgfY-m7oH&7PldOFh(F~mO>TfIeY{UCBn9rP?L>)t9}zXjw*0Bfz2Qn8Zz1~fDru{ z##od?vp`8gJ5hr!+hHE(T-ddebP?0xu108N))Zwudb`wBmjbSX#7%vzwZU z?<|E+0k^q@;ERI~8|kRfYeDn3!L8)K zNN;)%z#F?-+y6#3y@MN(@E{w(02XL2O8Q z^yllVaQ0U*s0P|Khzt+AO4+;UEj%>Lo*5ORKInPy?&5w}9DhK1NW24nyKqutOQx8F zyajHphoKIJM67|a-qjYRw-u02FWk0!fmtO8*D?pZ%Nk*99@Q8S*%wFyF_NU@4iNv^ z+W8>dqSR_ah7V#-eP92Oyum=BP6(2l5Is2&JwTy`n_V!Tt|qGob{?TqN88W?+8j9w zVT;X?=@bb*`^O4%PJA{nCobh39yB_{$Wc|^lrEHEi@qkEEr_5txhfs~Wkg8>AaF-N zAhKBfh!p)?Z{$|lOP>B7=H`Va;QUeKhPvCZXMQ%4Tu^tbApJe(Y(bFyeH~0owla*? zaQIlW+u-s77E@8F#uE1bfju9zi9H`N$V8)C{Zp(WO%lkvgcWQQ4+ErMwDoB;s@**&Cz&prrjVSM3*H!sLOqA~0( zWoPg%D+}2%_S)j~w)rk{J7IRTs?6Sx0yJ(kc{HqIY20>D^MuwU`m(Ug0Dc*G!%jk&DSg2xW?-nVS5txpd{FZ)MaS4H z;n5Y9ykLO3+{e10c7~`n_G=(ko=8E0xsP2($S{C0H@H9RB-2vHzy`N`mxv=f@?CIO z$``W`-)5myg5NCipS(!ul0_^OJt*&^Jny`Lyo4*G9&!&kH8{C{f}8Cu`qn5;zHM<9z9~pS_-As)k15O_aF2gqRi*pS~cGnA&Vg zKb|ODdr^9X(lZm~%PGC7+C&L7$R_)f`2vgqqvU4$><#}XUyx2V(Oy(}OwALGu}7w+ zAMs2hDH9ctPLfeGk>i4$Jm>_lFBKgJzkqXFF**D7LS+zwILQNVzvFBbKIGb7tc8!S zvtfg;IOs1%M~XuN=Bu7|2Sfwt^_mN^z|MfJ&EjG`Z7GuBvJGv~s-EH!^f=Su+Qz+c zDl0tiEn}@@r7%g#Fi+5S@y%q^odod$yTB@OdjwqB^h9*upd7FyQEw0wbwfD zZB9?3l75zilH{dC62#zRyy^%0tA3l%G`Q-RY9UAY64W-Nt~O-lR$IuSZELGGx z(SE*P8DU3HaO48`Ol0CkLi{Tja{nYBKyIVDdqPw2 z5!BPRmXmt8B)cKyF z(bIVJ>7mhg@aW#5(bYVgld+Rslc4&A9ib;6%2?)bI>_`n)F=n`jB8!aU$?Wj`U}I4o&f=5#02NC1Exyki znx)~e8I)pYkX8b*aC)eTT7Di-c+NmmfI18>T(9Jc%z+(PffXFBgs7GG(Mm!5Q`!&p zb*lIuI@mGQcdUNK-Rth_j0|t{b)ZJr5jtY52?h*x6-z+#J=6|BAVG*nVk_9R?ey!) zEBA0+8NL%8fWBW7?s_yNP^tKMDz|V0%0cvumTO@bNMUuTHJ-#&tgtD$5_w4_JW?Jb zxoYs_&ikZ z??A;kH5T$y1M`zX2_KZQJckJM3Bh&3J)oE)9+=(3o_yz zjXNk^;qEW&Nua#EYYCpfX3%gYm+WzScqMmADU)x7aZ|okk9_&{mBelGNWG%G3#L55 z1dxPV%!E+N3aWgLs0TdLsn_x+<3BjS(E|~DEtD6m(PQYv3n-*dr*7$KFH!|&Wh5JE z!pXBaYJ<{EiTW_Qp6P^Cqe>dmM7;-~)9WAdg;Ga6i~RNxt26mxRwTIn~cuzBi zd^@(%`!$)uS+;iPYx!<1kZwDOK=Qpk*|wA34+8jJUE63YZj*dMlsI*5COK>oy_ znu_kkk?35Eb)F!V@0f*GeG`4qWjoUCyN844ROL3NQ}V4KU084Pgq#*^kKMyfNthJZ z$s4kSjaQqT0}e~$$!`O@jrB87ZL@QGi`o(!U@cRd*-dDihLoj&AD{*&Enp=WW_Qzg zJZ508ZZ;uYh$NG3R~k+H;>AZmI`qDgCaQ^Ljv^K4AoPITkl}-NT$cfM^JyK}&2R(L z1@$Ncyz=$Axm8Vdy$(7vqB{!9V_mbb%^wU~Ss9vQ;{cwYy)Ps94-7J>@&@1#o-4`h zD)gSr2+-kIAN`cAM9$F7E5I9`Lwzh4MB-;3K15)GnijH;iE1Vqy&WFfy&M@gqJ=UR zIEd`G(<4S%-T`L(>?~R=W8Hur)hDsoMx^XQil>?Q%~D`>Kl?4R9|<478eplH*Wv>e0sX&uQdYH_UyFzGFL90B@ds`8a`g46rUx zMo>hk3AT{Xc0AY?0+iVFD07ILbj+PDGFODQQLYH(vh!SRNmSU1q181X;uYE8;8-TT9iO!EatgA^k(<=Gl;GOpwvpSHKP{&&@2K1TkBW z9>B}r&x$de{!+*fU~OB2iXk)B$1D$#$b~UG3)r>e+^1qO`A*tpWd!v6Y~OuJ4iTo>&bG z3>Xmu+U;3(%+gPsww5dR4R0yy`h}g2)|;^@iP-Ik9ki~gq;v6~l?P73_pHbB-bwZt z#N^4YkI?`>E`O5M@Q8hg@UPUT17CtRFUyg$GRpz+sbs4xVSa`U9^fJ${8r5y8BWIj zMHyIk{#(UX{r8GNC;6I^`_*|_cJ=lw*YI{c9nvs-i)TN9Hd1`{6Sad<&#ugJ+l_}ZsqZH}ftTtNc5dZwapyL?HCWG{ zqVMQ25JX#22j-^*|Lvf}o!jx%mehzR!QGa$m8XK(lb$d`VR7lb%|ctcw|UC)V55q`Kfc6oO*NKEbpg%LgBpP){UJFbS4MLs^~W((sql39{uRdlOE@ z{?4zgVmiDBd_=o6t@!zm9^*n0J}DA+h78OU(v5(7SZ8OvN5;Ac8c*0V1{>=(BEHQ+ zsa#(%3|cg^Lhhhx(Ap1;fVMJ>p(+kyuyQht!Gd+_z3XAX#6TYpTbM^iAr=k0vZLLL7; zg5rBwPiqGq2DPR7*`u281wt#Y=Zd4y5zfa93dTtr5G;`}gun>rt1;5hu1=y(a<*jP zZC-eu=6eI%f~@Uw-f?`P*enz~gOlx%Wan$XZuowtE~U{Yd4&nWjV3t#%r!4l;jrK) zm;70_miif7(fEt0XcVSPN97HXku|@Un;0=T?9#?Uj`BQno|%fEDi})`X`;NrWs}CM zdG6VnNk6u+>E)h%4ZTLp7V@41P%sg~xW#^tUEKZhMCy`31`}VTpxm8Z>^VAj z*j05P;czOOj%x(TtaKmHC$H*(l$A$NlGU>hT=ps|qt$j4JO5ohwG21Ttf#Fir4()! z9cs~WAh-U+J@>C#faTWo`y;DXgNgZ$g)P(Puex6v-o7*}lwDL(nv1d%dv4R6vzwDG zLS(}170Fg1k}qO<-cBL2~ANx5?YOsFHy2vp3eXCJjWyR0wroqU4 zM$g5zBEh=OJQ($Ytdiw ze)|?Q2Ho2h84+!b3_E*pC-Ic1F47J6elGp@1EaX}IE;K;QNX#e;X>LD(a=E{$8JT13TR8a!hkw~lhlkncU`71P ziZ9;#2J{7MA8^p7YVy%kkym8mv^~569rX{1 zb;z{Fry1S48$r*Qh*fM|ksP_qIS6 znjr#?P8^9>Mch5t86TF9lC*Gc^)DemVK3Bg9IuvF9p}qK^xGVXHeWMZ7T8EU)EK)T zUY6wLfefneh%y)bI>>&4;}m6V$2HXP{Ys&W{fGzKfrI+n$mAsX<;~#N3+p#0Xkv4M zCN>*1aidy(T&~?KNY}%5GZ8pvKcq@QR_VCfi1-0rBUZ|y5PW52>(S?N-Y1z(bCP1wJ$z!r6!7Z(Sv3pJRg&>-hxy}^mrFW&FJy-2ql2IM2{b% zjGG;T^HFlgzztMzuV!>NL1rntgB&K{VZGPwEji+p|12Owp$n}jMV;D%J-BZRqmrB7 zYJn&(h)I#2|cA!%N+U#-Oz zU_GcuDLEEByy*s9CZyM7=u-l05mupwh{=XHmwi2AAu52KH`=`UBNQ%_Tfm`?wyBDt9tco6Y;h}(j%J7zJ`DKAYa1g1oI9`ciq+zJZpys7)^a1eW zW+}-X0N8h;bsS1#2Aya~1kro-S{I69(?X!A*3e zRrIhY5uaOakK9y$ThZdVossM7Z(A}KZydrUsIk>dTNBucC}q>Yk&ILO(Pya-4};Pg zb|3`J1Sb`tnUl!KEM^QDNzK}e>wEjW@2q=JtA-Yr;Vn45@osNH@8$}4=xh>OIz@G3 z%4ui@W9UHPa_ed2u6r0qpUTsv8OR{F_1JKJ+69zZ1ZWk@DoI&mbrVcJifcB(8y%%I(H{Zm>aCumQGL@I;&LCr zSq-z6$eOMcpgXvrp|*nxF)5)kgEYNhqvU@`u4MY!4E-iQTgL~0w5Q8KgP6IXWlRa= zrX#n$?#)Ny)|V`RPxUc*j|;bK$zNHd7b+{Z#JD2Kj$dQIhGix?>p7Eq%chC&7@seO z*n?OR&$EgAeuIry5*30yI}7BP%X`blKTK_=!&5K-$ImV;drZvIJ2CjMFax$AT_Oue zqh~gZP#4%$_hqUh)po$v0xL6gp=U^m7*771biJ}eo+;Fd>bZEb_MpS|kg+8sxr0jr zaJwmH%V?}2X0UL&8V_k24mZ%{5$n`vIh~4rzcX@4oay+*p$!g7_>CV zgFLP%eQ`B<9(ILhfWX;CqoSmY1nGr4f`I$InG`WB zEOR~{o2!&}nut&DvebW*!H}4v;cA=UNvg%Pv2x5$oAaCr!eIeJO7R7H5*%0MN7Cq7&3ylrb!&*W#~ zCd!`y{xfsLs>sCLH6kuo#AmLQ;f#JCfv_InyvD(PhtbAFh;PhY#nJ((APPR~X{wjNqqtO^BZAUvv_g9wuE@RrjJ1yR#3W1w z=`P$)>pA0%MW$$T?OQINnJ!(?a5OS{OPOWnQj0WFZn4VER+ylV!`Pg3WwYE4kC_P0 zU&eFJq*zgf6^EWcA7=y$eOMwR&Iml(8nJoK6rhkT0ZkVPGta))vm54M5rOTgRKxaW zZ2!>qT6+v`nCM}@^UUfl>Mwii+u#B84;QjTVCf`V=*BE8Y1KovR`2;5ySLZ*$ad&P z^0`dsBZt9k>(A9;Sk{ekzCMxG=oaTA-$QKIpFwemB7=iv-LO;7!iER`$r!HIYyCN# zXas5GK!HxoMKiD9lz)zrXWI}3)!=Cgw;ExxOgUfw+`4Xrnk;vTT8*frXq!bu+18CZ z<=iwoSVnvtCPO=(ARtyKHsCyZu)#6Q`(M5VK(iZh< zHNDyb3Vw6l0B}&<^fjn%`s}aU9uHE*eOgW5{{xuC3+kn>LG{vSf4!o7&b4vODdz*g zm`kfc&o%>Nt~hhP{>jDI{p3>Eg(KFp)p>&6X$(|k%$DTFlm&9DMQ*bgQPN*=?2u^W zKR_%kUDi|2$)DQvtjBq=EbV2K-bRl%@YjyNWB4;^WE)jBIJ~96(m3B@#sJ5ZZp3XV zur|)OCh}_2ZqjDu@>T-|`I!{C9b;rd>Q?^?faJWhr9f|-uP<6Ge*vo^FES2A)I$Ij z>GGGN{FV66Q_uAQWd9n#x&n_7{x;xmEB+E~ZYi)e&bJMMjelPVmyySayPz*;+h{68 zoC_8$ral>;(g|Zqtqs+GS%>8Mujq;4O2*$J7aqY(JSwK(QI&_s{eC=ZR^YLz`jm5X z3jP)&+vZYa+gyoko4<=}n;$^7&FhhE^XBUME~@ivOC2V?v<=-~J3;<3Q~nAi`kOH; zlDjg`w!r^Wm;P|Jg|>%qujp4I5X3L{>Jp7eDNcqJs8aHm7V3)JWsy#pSc%)fPt;bq z(+LY{^v`G*r18n-mM>BwRob&z_!c;QClj^PJPXpKtiW{KoPxi_M4+XJLSGPHm50au zemrVc;IXM13ExE=`iIAQ#G!xMt97VVdz+pMrJaDS5<~k%5==%{YySt4!o?lcYA~rY z7fPRjKSrjgEuaLLiY`;e%55S{WJZs$L1#0ly8uGpXfiOw18!cB_B)F zb2;x62emRwF{|(aUp-}zUYF~)U@7tUDtyx^a_B_x?XkD!iCDCFkgKd>S$sHYpec%_ zHD5F>2;^Q+N0*7w4yl8(;i|CK0#PtrCgko+<93O#z3i=*Vdm0mJ5N0aA%>Mf25EF- z)!|^j0jRXqnYgiYLpqy6w~2j-!<@Lc6uBH{QtXkGHs5J7q;tcn)T2wsvBuWZIrUO<$}h1pzj12`j5*{cJ{`d^gq5b`M%4z0q4)m$&T7rFUaORU7OW?^+m9)xn* zWp%zvo38%_1%WRSW&z>%G+XeG`04ll1n3M-=G>|xJV+b(1!jw={yo;O0?7Y~3{}qi zo2#7F&4TTH=cp99&4nA9a^5$p*mQehsu>e(8>Tri2a<7{=V#Jm3O(}ZL5yJj3VKu< zEFi(|VENaj-^KfNm36oFw@ExO1H6&A=X{skmI=OxxOLrUTc8dLk?&|5b36OfP594} zQx~>b8dK(jJs4lo$+Im`fH1vq_aQh3aY)!b^+;x-2b}-#pB<3f>`+>abO=lXDVPbk zy~1$fDZ&|iCU|gs8%A5~x8PnAEMnbxxJ>2DgLwj$)vyk)+=1pmw@mXfW8)KsMCht6 zHXnvpS}~i^(Bcfoa=Cj(aeb|Q0tQSP-L!8*9`tmFVuAYD^(v~8SG8mQ?EmdUdB)BO z?t%Bf@C&mN$o>e20>&WN)8H4F39Fi6_+=>9EhwvwEBCPkNbR^P-v9}I^k|J%HM}D* zFP&yD!hoXYA)*id?|K?JM9|qL>eP_J`HC0yFOoPEon5f*&Qw+?= z%^0G-erOZGkuhDpuTQDjV;fAtFpk4L;5eCu zz})jhx$~biNcrMQbv8!@*sa$@L_bF*F4~9QtBdTO1MFd3OcaJ|bd6iD!J%JT+SFk6 zVrNTmDgcWY(?_m|dz>jFS;lZ+xG)PpslrAfs8nas1_<97VFIN|c5ihS=;{=llC;7s zSYH$iGO$168wD{Q`66ySONGG0g(}jCxSg`(i}8>70VKi_dyVquWq}Fe=UePJyFs0U zx#n-6zJA+upcwWU+-+s|6gk+-M>v<}IH22BXQ=mP>YZpU zL1J<@E%mU+gVU6Lzn>45Y5yYho`UTJt-b5=>HpW(Q_ldjZM*Pj!e2Z7j^VE#*8g2k(IV@A*HebQ z$kdrs{lBxG8lS@+yJ-r_Q!UE~!KV>mo%eRn^*o2mN ziJI~B5v+lNA^J&AxDn`S-DaE8b;ea~a&M_LA{gvX!O`C{aDyKPSN6wJU>6;wwmy~u zkW+B_i&5Fuib?~3U}$R$ew7XMpmTR&k(-O@XF^=)6OQuOvEtbP#e!}mh*gy96E~s) zQlCQGsSqzt=kvlidBWFCE)|PdvKbFY$y<5Jc(R_>h+?LW6nctE^5S%aFPzK*7nc#p#qEyneLodpcr*~f4mNOYCd60&Mj zE$lI)Ji_#8oMZy4yi|7W9Ly$Ml0`gN|0P ze8eIQcPB)~|GLXUWW=i;&6ZM$M-dO_D7suU;lz(w0F4;elJh$X<(4G5IcbY)<|rw> z;c%pTi{COcV8N2Q*$T^g!(nV~fbd{cFNf)SDkcC9#sjT%aJ2d`p_P3B2M$tEQ7>ty zvk4)%?}3fa$86!wfbetSUVcwZg9Dd5dmHAPF2U*^E5`2>xiBR9bc$1ZSvL(qN16N& zJu)_WR4T(SYVssD0t3ta`$f;u_?%!EJE?5gt$?Nnv1cNqgJwRu(2?gGjbq4W+#wzp z7u7#{&IDOw9$9$Ma5WmHn+b5jCYmR(e?orjBrwY8Km%bnL_NXnScxiA_z$?oKLeI` zP)6j#6{PGuX}u$Or-0%i7hC`@a<^EFdsECc4zN^0w1qpb?(1XMV|cLla}XYGe<(*> zi5kZxKo~eFX*UeOLV%?pM|s(@eYmgh0^a6nPO!F}v|W*CmbOw1S8F#+4e2FI{DDBo z|5(3IFt5Y2SAhj$r7{sMkOnbDT}n>ilRTHJ)ehXs8S$cyY4YFCM?~+*n#tO<8g2PY zE_Jw4=#U@A0%d>50ubR5#nuAI-3arK27JVKt^9rxRV(jJ2V0AwTJdbY2oe#RC?9^6 zhm0Rsp|rCxaLX%EL+RwgQ|;2L-RxEn6s$_+JP*2|Sewv&IFRa*EIa$bPbgJHm3H-d zeNBeGCS6~X&4!tU;C5OPEG<@X3dwU6SM{Co==vf0v74Cs1+IN-0mZ}s0#DtCbY1@o zMh6HB3rj*)kVSyK_!azx3}(DK%f2LlX5H-PoTuQ%M7oUg?MXm3rn+%{u9W>JycGa3 z2tQ3vnuj!;-j>_a<@4!lk77&PAQ{@?#?K5)r*sf&=Dn@yrCO64Um!y|C#{d*MZZdi z8CZ%}(qX6p`yL=Hp_NwX1;9w`C>conqoUCdFe;Dp-;8|v2!&rcNY6L-;|VwPUjEXEu~lt-x}CqGd-?0R zX8!us8+bkS{b&zfDtVtX1h^aeX$0ChJf<7E!hbOmyabH{9PDZ$h6hlL&KMc)=V7o? z)6<-T4ZXy4HXnoQL!5*M0}ac-!Er|(?oO{{(Y>gUD2h-A9PMrZeX?J}Xkx|%1~3_9 zS&I+BV!4dk`SKUG6nl=5u94wbUphuW)sLdaCp(}nNBV7(`2p> zOpyz92b9o(kqV=`=Gjba!rRsJp4q(Tw%f?W|CjMQ=}SHE!Ta=M zA#`h9Xj>@|BmWiB^~cZ%F&WVPaoiQ4zt3^#S=>7$;W6^`w*VeTExcuM$8Nvl4^iVJ zz)n}xKfjbLpz`y}`RjYnrosX(fA0l)DUYr|BzLTJW7`Kq1k)OBo6x7g&_)jzJ-|ot z+ay%w=de4;&-|`z|o^B=j40xH8&Q<~MZ35gc1-6-3U%TEl z7TAT4D4F0p$yEVAS-laN*-5f)72&s%x8Vzn_3$t859ZQ0sVceCilZ6`4Bw;h49e5n z@ufWe1fEiAkx*KC|%=_fvf_4O?wuR%!hW(;OAtk z?ZNg5T}>u;TI6m2`1y^t^EK@_HMR|n)xFt>Abv;&Kcb9)yu%Nw|0i7+!e`GiHowJ~J!m;eKA^|( z%dBS8FNM$J^m3Ilukw8SS0-QT!H^CNf;j*%zkhr?WqTD$HT%#muH*C>b;i z#wfVR4Rf)m?4FMVj%AhC}h#1Jd>75nWEWv zYTE61lF6C_r$ya7iEdTloG6R(@Feh4id9~jf+s%A7gdEXstb2sqA$#fz8Tfx7w8eq z0^dA}1nbaIq&{7G6ph>iqqvn?cn3;o-J2N*3Y9dBggJ8<)m985zeJ|~?TbdyZ2IC+ zq^TpNv0HNbhbcgm(XK;L#+ng4VU}F$7HZ(XoXP!Q$O|2lpRXt$pb_Oi8=OS6HWE8` zQYMSvKy_V%nHL|<{>VT0H0*_IASwp;k#~zUrKRL1Iw2BM>jiusVg?rrAP?PXCfU!P z!6D}J_>HMv>pCaf&TGP^fq;|G#W;UsJCplUs)z1)qzd4k@*2I@({=whVH5Ov+85zB zNL|6bBEL_$*$#5R_VvAFQFv}Yn++3u85{ul`3wkNPTlfuVqX?1UCwvo2NvAUxAL)1 zVSiGw?6N2U5ewKK5J!t1-jFN*eP!)5c{g!Ai*%K~W)e=BPxZHaDr)sB5f`@5kFWf4 z0??6ZJFGSwT8&8OThK9C3m`Nn$5A+!;%xZWHvj7Xtocbpntzp=pEJ<>@_*6%+yArX ze+6n7-21nw`564^&EEe3dt~3#``7+w%}*ZE{A<+wyn*H`F5UcCKKA);oSYjx^mp_R z{R|p<&%YY_U00*?~PZP)ep{S%z6xkTTM#uvbA*RC$;qo1%+QbE_{{f*~S zJ_V zE1WB(5gga{W2FkdygoaAemMRTn>YZ$Z5KjN1pDxNo7R2CJkGwLlKng;c-kPNi5=`l@a!*DxG zt$PIS^dn=a+$sL2Wq6BZ-Es&}x$cgn&}*G!{S9`tXCA_#IP%Ocj{%LOdD9PHy~Sn0 zI`=Qf$QrTjjKo?gn+17PHA975O%- zlM8Tf(8hS>GO|c;z&(etS&oZkM^!2LQ*o($KveL{^#O+xa47+|5=d798A>2i31lgO z?8d+pB`~8gFiZJC9^|0%gL!!NFW7(q_A{)9Fse8;_-G-eVVQ_K)#=x1X&WA%KtB9( zmWw~(J6Q|0Zz{WA@Rozc&LgNA+1=pXPdWo1x{iyM9aWPSun8+|(a3i>Q!&a=ND zu%+mq7;pSYPGm-rZk%%4Qgj~Qt8u6-`XgS&$H)iD+=8D)LkOpsj!Gi{)kYPk3%t06 z`{9`#(gPT(O^#sz0f)$I-3T<}Hy6s_!ofa;?n_?k9jpVPoQ|_c%dR{+7n*C_H?v5W zrlY-??b2k*;_EFoe&6$LYO=<$1s*%SrAE|?h=PB@%owVU4~H&|g(K&YhAl3^2RJ*z zEvKd7)Bv2})ba9le07hr0y4Au*~<$-Aw}dp2fxFh3#1@GE5U zZBX*TC9TSMvvyLiLD$;%Xl}EIa7X|cNTOvy3@UwYh07UzAIM_Q!-w4zfXz5{fDB#l zAzrDNp;TmaJ&K@Q;Iigcq&v56!v~JGIbSQ7N|$l-3l$17aL;69x7?euey^Steevl$ z7(duftTy64c~Q2mRAe<)Oi?N_m5ND?6|-=W?EzLusn;Rkz*0Gm-?Yw-UyZMiC>pyc zY#OF=JOzOXumjUk!S52MDsVYp6RMPgsrY?xXOyA{Fyyl1zy{^YN0k03*)Zg{=xKFE zZ{`KlmsP~zJL(2(SK)6e{=E2`hrb2*TY|r3_#2F`g*e$d1YcNVKLmd$6Ia`Dz=m-3 zC2&GN^VI=jB_KW~guRb$bM%o9T0i=pyAXW~u%=TFC2J=G6X`M4Np?Z z-W2C!&rqqXsN<&`vG-s}AD=gX)J@qYUZ(+u9%SWs?Hq;x$Lm#y{somGye>`PH5*R* z4b560kK`Mp2q znMnfL-hS_|zuzCf*R>^cp0j+;{yCrXIiKYZ{DXMOs}T$uNX)Ad?C1wAHR<0~NcCfR zLsD14xPSvZseLTiRYlnRAMv^pOH3L9ql(KFP%|?9Q#HfkzZm;~{_%=_N#Z+@paX3yr*=`{_q@oqMjF_OTl((apnnLja9Fa@)&%zV@El_yv* zrLO)y+B78+tF%g6Pwu2p5xMuXvKVrEnrdnsN7gRmc^GX>Ad0wCP-2sPCT{?0EW$;i zrK5GbVRm@xzQWwM6l5^pww}MRzqIf|G`8&c37XWXGRTV{WP|Z@w3VVudn-CQGT`@J zZVP;%g?*my2tx4GzQSKEe4T%h7QWFxR}0_bpXOVBtGCfpH$V!GkE-%gF(+6b*HUmf zP;EFQ?Rke^KB?K(^QIL}k?>9{42QthBXIRnc6Xc>&J9ec((aF&9ym8N*GWNc{tC`d z_|?K!2B2;4kDC$jSgD{7Ni{bJAv{6oU@YkV8v^oB!HGfyyP$ysUj_~v!e&+wa7o}M z-#xV3f0-8c<61bp#t%c~{y-kdARL>SLjc6jULqhvXI>EPoyY1O6RYY?Ae}uW^ZVb7 z{flJ#yJJ5I1Qs3pIp_!d@7Vtzj=iE{u;@3;A{7cB9}NY!`k*Iq7*6UddBW|z95vw5$*Js{mH(9WmVqY zeld**9`)rct348Mf{=2gP;f0qym59$E`bos#aKo!YWG$>3V(Y^pVkzoug}U}KP&r_ zzQ*LhxKL4gNqIra)coFBasYOeSBPdCKQDdxh(yM|P9;2LC$wC*iK>KMBjf!_nVZ znjTR+7Oe=DKFouAMPKPk^m4hOd@-^bzJ1Yj^yi&ix*rlcdI!E>XRy9DC-{^07{Q`h z%|)~A=6C|;=$4`xcXDBEDVil`GYLpsJZDEzM6pEV8I>o8vJwcj-$1v}**jRT--VGz zaM2>zDu2K3r2j$Pw=r}>XrWZxNgelnwbD0Vkhoqnxzbpv9z(1;`Xo{jL zG6@LnV~!7ul^j)A^>kHv8v_X>u&*Hfr-at$FM4T-;PKt~1U44GFWo@TV7D=yAReWP zrsxj|>jI8RoZg}oHy8mJTnsg;TWNX$sw!a}F8*#_WQ>9LSXk=q2D!ik6gd=G&0W7} zx*Gh*>M13qz`hw0zJ%XhJ!xHGlH#>-_H7-|#zU zFT@P$Dh`jL>7o1Wn-b?LH@N$svo8yl%{pVm@g>Dr8!xDJj!gj>tzE{?S^W%E!eD*R zGKndgqNe5l;e0GASF^#i;5Tb`iLv9z(1bim@N*{w4MA&4#5joY14Bx9YFlN3cN=$8 z>c5|m23E36$Q*Jg8z@_gX!Q3IJ^baMwk5>-Rx?6 zR}75U;!i`dk`SA114J@)C3(}hFK3IR9B{!tQ6v3I@FGE7DvhtL@isM0>;lIT>_%2ez!zK*gA zIAV>ow47E)5mFzytkzmBrOi2;3Tf>?bK$2jFF&WnR}Zy#jB0U;l?xXA0PgJ0YHzf$ zV1F6JSaW3*X@l`q;a6b}^)(dT{P)VAvg_n;uGZu9k2g+3HbidwinzogZAEDcEA!I>CK1Gv+y3Rc60> zgU&0Ovfd$RtRbl};3WEx^~9}x;tnKXdj&_UOn~W@P{#*s7QrV8Eco-Z^|R3SQwui- zPeluP8<^2-&xsVxVknh6ZR z=(xUgK#l7q*0}1sR6k`a`xA^Z5Tv=xxJiCwc+X7z0{XdTf$?+sx#}~iDen+H$*7Z` zjL)PVNA=ru8DB#~Rj|ba(DV$zPPVmt{zz6VwseZa|1XdI0Ztif>~AOZkH)@eMzbw8 z_OgzJm&_V2A3pMppYzql25muSV3%H$ z{$n&Z%bn&}g2>v8uHsjOZd{v+(l;i^E@R(EX_(THM8K~YU$(5=Oja|38^LyL@~?@< z5cSMpyvQ9ZI@Rr+^!80@N-uPhY6>r2cK;;Rlrhp2-ji^DJAgET$Rb=Is%i_2G|8DXu#Lk-Jp4n0` zMYtny7#Ka9@g`iL&x?0U{J!GZdbj0jCN3ePg3(LVZ~-iXWmOJf^ArW--UgL+fXh8@X!L`j<1_>5vk@y={@c zbP7`00oO~Pt^WIL5Ucu$if!GJAk{C5d`Z>*;ux#;Xp&XCT(O0PL*)=)v5ANHI*r+z z@)>yn_xj0;HpNl%`JNYBU$RxRUoiK_%Su&U#sa^6?pz+z+-tiqjAeOjvQPyJR(r(~ zKRH(|+_E%uNP-KqdLE{-=(6%9ax$bEQ*-55O4eQxcBMU3!qeG6Xh9qvas#&@oHDyg zo0S!~QXYe+=?}_Vkhgt(oZiUD2i2#(OU-~tt2}roAS`K>PpJn_3m0+2i!Ms0fNAB1hR*|l$ePP3;(iDfO%29I_2 zaPBgd+v2f`Y$C62SK%>Bo*?5mHt|S5mq*C7;M`YT>*!^L>dH z0dnm$HDnk*o539Wvc&Is;0t+=E7tYc<@t2OnnEl_-d->=hZ)J#7WEhlO)hPU zHT9u5K>0Cf?>0+wB{BrGsHTvqLF2zi)8m8rhm3vmy#>lCy34n!vTqQ`P>m* zk~OqPPsH?=w}6F{97wCaFWKgIMr`<5aYyvHP5H^@gosU#i{v8#qPvy&1hiS4W`lt> z^b{JE4X9o}+ZHI(i)OI~Zqk>|$i?P_UrA+x|3^@(T$JX1Q5Fk&_L#m~e?DG8u?R2_ zeRR8%L3S(&&-bpM6=*as&=#g+D=x~;imaYx<&x_Z)Q5Ge9YGP&6r^nRhH|;jC25mv zx+vJ|_dE0McL&m|@27isH|Kdi*={!xW=*A^=8f6+a~dUk!#I`=mxX3rg8-pBGTnHu zk<(mk6DI3+dyZ~jYQL9RtiBhKh{9BV0{T66x0&n}6Iuc$&OVDn4|W-Eifz0pCM{Fi z^ijcukphat@BgK&KtvRyPtl*B=Op`7<>{HuO<3*LB|U$W4H`jJVk3gnBUB~kULz;A zKRx2AuZ!tP)C>xxuT&+(rwh+3oZg3jq&nvFCO%$AB0OiucLJ&!n9ueuOX@h&Erj z@e0eVl6SDd?$wix-;XSf&0C||s`vdeBPUw#0a0~{ReZ{-xWnA5hKL7gp3;+Ft>)zR zUz)Flr>;C6D)>+fpR>m0OM!_Ls+mXqzR{Ilj8#u+z#;@I!})40`J+pu%-~I0Ubahv zZY7ISiD6EO3g*xqr~sqxGTg$VTK+`Xtr%3;l@UnfOWHZ(*+ z4>(&?QTk|8rOK84HJfn{WyN(xf1m?glH2Cp85}>cZE1gJ?%rj=Bn2!NW0GMhh=zdt zU~*P;YUb&Mr;75$n9htpgzn6OP%F)?Pm1ScTKOk3Ew0C^8Dc|AdiB$ecEJF9hzx6A zKVlbTQrrQpy#(XSRvU*~R}xy~wA!ZHS!V3~H%6jR^g6kR(7@K<)xm2)HQ|YE{hdn- zVy*NxubHpE8Cqb^ZVwi>>btxr)*`4>l-(%JoBa@mTJ!{Od?4jI%eIww=emzjFBMzv z*^TB=WW3nM7QVVW}I&OM{Q-v+Ok_s*Vaq| zTjWo$_+U0RRCcfmkXY;1i+Ak9PVT{dcXjW3KMBuouWOOG)gGy_c!xgkmGC}eRAF~+ zUrXT@3fr{CNO18H&qjH#WTr#O-^Cni$az)h2C5B*l52v+FL(=2t#NVCh)j*P?jSFh zPJI+sTcQrzU^rmUclCAnxo)HmvC25G?<1OE9DYew`@y6WNns?&Q3l?>?|uB2I;2G4 z=*saJS#cB|QSH)bS5hy;2MHp2_Ik<9#xJ(fyCod}>yr`b*y_G0NUaXWWMXM1&!Ftc8q5NbIAbBP!8%} zU@&#e*+kGJZu4WSDOq3AE7oPP426AIN+Ksy-+xz!n9cbUzm7eQFji-Fk2!%tO`o@6 zl?xMhWBQm&ht|Z2ew4!6*H7625UAG?yaRZ>thSY|ymjrX@~LH}%<5@RFZE-V4e(Y^y9x}_~PAm+mh#OP083v8psN8t7qzo3VS z)!wveU+;BZ&o+Toupqc@3oC?WAP4?lPw*I+fR%vc;HkNKqt~%2gT)_8*0CxpvLBeR zm%pLwocUhI$`ipcSVr@3n$Om4fds7~5=_E;+nahz6k{mVs@VsHI?+cV=i(n*m1p;- z8g_1fQL<;^Ymvwh+lbSfOetJ+*o$t@W@mw!Y^;Yy02|Nv zzJ4@Ric&1tJqMCCIrjAoC>t6fhCI7?)U&LyAVb=hx0Go)0;| z+9Jej4cMepNzHc8Q_iea$8gAu`J1+waw71wIcp#0wDi=VyDI9#)Vugy?bYqsM`f#`Zo(~+k|@Q z`99x6iL=j4G_C-^tIMj2$%RjonoYvXa`QBrPx*vNy;O^?^>gY6XZF;-m z)~4Jxyd$+O@Ju{E$rJT@l2cS9gP3E+X}IRxvqqkjGM zQtfD}jM42`?#H^m={DjjWQd3mDhdbCSZH$7=uV zshuv}?e59uM|#(Dv3xfe$f^-7vVuQT^>lR{n40=wL9{t9Nb&m4fsW4SZ4A!if$;}Z zb}-U|4HElyr;3XkY-sB0ur`IrB|;e{`?_=YR`mCI3zJvQ@cdrUONth|XIzXH%iyvZ zrN!Jal4t}i_GMUEXVYS(#;-48+>u%>9zeVgXJ(gW@r|BLCHr;wWmyy;#UK1%xX*|g zKc7<+^5!dzpXBOw1B%Y?jp-i6%0=a7{i6lpW9OK`uEZHC`~J!HZ_dRLn{xre+R@FA z$v&KIV{b0i_%~_+m(_eCTH~v3z?K=u#6^U~*1JEedR;F~H1ui_j_|ygoX#Z!2N+K% z{WZOz=LFG`NA4a+Vr^>bIY6{1tqGreP!0=0GFRwLSmJL8V|naUsknwP9=lcQ0b`AU zY=NVmTknh8xa3pHRGQv>upnxX=V1`4B!y5}f1}tX$R=9nRo3Zde zpm5f6&yZL8V7yW(3zb*SK>Do0-l)jnP|JHN1ha+hfpOA!tPzL(*~1+$FZ8^)I85y6 zhIiaa?VssiqoTkR8fC65TY|s(SfNVGS7vmWNsKz1a2vI(MTJULvDj>-TC=rF%@)SF z#Wq){V7nHcu*RV^D7O(&Yz=um%kEERN%|A=t7qeb@l*t8d)WV2-hE2Oz{C zS-Jjk_6Zi!)i7Q|8{*_Ra=|$d99;&wK$2F9Etg^!n=QG0=4-0urB8}GBDz&pu7zEm zhoM4k2xj;(k&TtOkh8$s>Zx7FddrPeB7Y_tZX7AbavG+|+-KBsCrIqTf z*}FJ=x-ZObef3m%TPXQ@)AQ=z0&%Z?x?f181g$aCy9ZN%a&t%yB`+}D0*&Z6qEBVF z@A>%E@S2{tXgiC>^Y9-&uMQx%J2R!; zeY>!t9@CZ<{)ygf1Slw0(J z1v)Pe>ZSodwSm9sudz`Q^!wyejr4X;3T3p2D}WGcu+p91^C_jYh}~0rTv~t;K6o|o zFpHcR=HoEjL2PJlR;c72*n${kb)H-#>Td{Mv}V5Yyf+)Bfe(F@y>woojrVndCT9 zwim8s%qvmIpCE7CvKFf6bg%%RrG89%SxQ^m`FzOEVjw5}xiO&|n5`>YwE8~n9c9~T zr?P+2q^G<=US!h7=5{Je0s78;uj#Kv`?YWRz(d%J;7Vf;BrSKNm|~PBQn^$L%yX8% z!I&)H!5`y~@Leh^mmidf4vBbLMSxH7Ml8*f=5Pc=j7w<~(U;39Ehn3Dz#GXiPN)OI zsa!(r-_GC#Qt9Mcd7W=E9tWdXtJnC|RFUWLXWsc_j+D+{-e9;9uYhV`l17*&5cskW zDpkS&CxXTN7`goAHB_E5m-`RNn@(h`ji$39Ct=8m80^uGut3u-JSO_7)&Mba(&RxdP$SOCkqc+oWKEt+ z;Nslq6-JaoKcY}&w5}L5iwrsg8d7^`y2X_te!0$V_m4BSF}l_v_ZQHX-rVyM1GcDq zxi}7brJE{p;X_8oIvExH{25$Sf-`6F7pWyzRi2lZ|F%1)C!Z&A2Fhw8;3OW=V zD=bbK|*4_Xc*`7zyh_;QH?(o2U5Pb zFKsF8Ra?J__lJhK{HnZZ{(j%ZOZg=+FpKSyIcrJ8e~ya#W}HMSu!+RN8}od>5JT1J zdkiyW0gXctb~>G)PxXP1q%rJ}%g7l>R?WIln&qF6x1`sfY~_|NN4U<%Sw^E_Lo7)n z1rp90j))u`=d*MfQWVP~j+il?nD$i-J0o(v5+e_hC*%!#jrWjtV-M-g%6O3gUDET3+#lxjg3oODt*CD* zD>wGvE{l_u>7okrG8ny#Cg-vBeQwEC$^FzR{ulQ zK-OA&S-EGkLq92_^hMvC+p6%qVV|q-3f;#`o>~UXJ`~69J*Pu67NR@m*&I*az%D9&p^+FkQZiOFj z(?Ta#>Vsv*Pb4HAwV19^V=`}S#SXecG|?O5g?fCsK4>PF7+<3R#^v<{8OYu;qf!72 z&BI92Lv&8pJ7IT18%GbE#qLTm4cH$rIYpNVE%e28v~pN1NQgU|*A-??#6;SCEEBop z$rMMEWV$42sg<<+*1h?*tw&`JA0TFVKt5$&jeGcv%oIq*bQM$+eJMfwYxjuFGY;ag z9K^;$j3M+FHE>S-0znXq1j9zK$u`qrqYhDCDU2YL*C!Ma{aT!=h-De$k5WiZ_Vfw> z{^$&Vr6U2}FXcZ6;D4S4@JdN`^m;@- z%L;g|*nC2(w$Kp8%ygt5P@#$R^hgVpAx6Xvy!r|KHYYcf+>c?+>br8^+P8b(Yju&R zatwTx+CP$?vjMas_WgFLL#$CVo!&z$@5pob|EA~S11|T(zFp{kIil;}O}TPg#vV@q zTtM^e4^J=OnY$Bh$=pT^3KfUwki8;isM!W8WRTtz!Q?rQG<- zak{6#RqBnodt>G;_wCe+ja;i5aj>4M+^nOWFCQgt`0X+4G|%3D#`wUVXROO;k-So= zQ4ud5O5H+lU8G+CRgPeiGq*!u?amEj5p(yxUHe}14tnZ@5uANeNq#j9#(8_!#OckU z**Q>C4)hYdgDcPXIXOfhhRuWnNVe$&X}ef}f?bLKGbdYy^m~TVPea%brK_euO4~xt z=k-pChh}WGTE)A5l>C$l(05xdd4$8;oZX_;J5T}e_D|f~zjsnQH%bJg7oUQXwC*{D z0}%dTwtQ?O8DgMjQ82-1|26e4;UyMkzdbY`to4e-B$e@9;543BAGBIN!HgqCB%xRo zVQDO-rHV z%rE~})t4z#q+n`{k?yiAR^l1s50OZj@jeq*W^9GURc0Kbqh-bi3Kyq|7yu{9_kJrV z;mHN}@|N2cDeLt#xC0Z_=POfILz6fAQ%a19A}k!7DVZWOXGs&qTUTV}Y=Su5u%i07 z2t;O15n4wj81JbFp?HES+IWKq<{~&#;-voN>D>_OPe9`uKZce90!?&hXI`9dRj+ zUZSQk?n7%p2;JW?L6uKQVVWWYshrkZGWcdDrte+q+3c?J?pniBL7RUP<~YY|r!Nk; z(5e1@BbsVvwr^-l6kb&8CI%3X_HSb7wcREy{Bv?2NoX^27uE`zCexGxT_N zJ|}yU-Wofz!W>!iy`O;UIkS`*r2AKoX!aRL9%|p_c;yFq^ziMGJ|xPq7f22qQA_}J z^35Cx1Oz|FmJjJNX^yR$pA5Lwc;6mtgb_81$$$Kp5c51WZ=KD+JcI!XQC-+7_5|`D z!l$!)`7Akn&Z~(;UXdlAH&fQU|1zHNcO7C_gVd0_KQgI7X7$#{z+IgY#g5VW-lT8w+R$$2$SJGj0o#^G^c942i{ zG^R`Ti_P6|4fn-}nP;4SEV3+VdIn`KjF9<9)vOcQhUztcWxdD;n|{NZF3YkA^pE0c zCod{DevUu}HB90<n}0dn7HV2dH45_v* zk%2vK-10I5Q7F!R0zz2Gn`W|SbB?3M=Z1nzHs)O{V@GQ~$UQJ?Njk0ztF*zX0cX-7 zGoDa(0Ok<|zNEFp1=l509PxtUG#1nZ`r*r|@TK0$u(`cEJ#`1TCsuiTJ>ObPz;_jD za=ojPJe!*}Bd2E$QCm_YRt7CyzV2W(s_d8WrPU`&_7t*Dm4u#T$0UOkar>E*AC~PTAW0Gv-?-0`oHTO z9H!Ro|F`R0jBro$7N)JbTn~h`*WBLYE0Y3FZ{up0_L|ci#p`dHgZpTBXf5~TL7JDz za$ov3UTd4&0bWE;HDKp3#S*hlTevL zl9Tw;VEoF;7~vwj)3}>LavxWh@hMVH=%GgiUg8kER-`eln?3JDa^GCAfb%Jx%?ojE z4|r-$3t{e0C^c%|CFdCx2$Z1;S_F_(uth3(R)|>D;IGCifJ-G+(AMJ5wskxChd`~3 zfvONtONT&Z#6T%Pv^9T0uXvxccgl&|H*tA z&@w~ymWn0X+_nPWwZR4H1Y2w!Z;Ll7cW|T7hXg8H@)yWd5UdI=xJUhLl!sG7+7maD z39kOoWzuD=1N>*MfKFo^(Q-qLT{2-k+x+LsHG@M;vCn@BLg#`SQ%aMD>BzlEd;E!| z#yY|GG$*oRw((6X99fZLRK=(LQplJ_c8Ekrx%r;DU6dPRX)ZV5tH~$4Nq`CiQ0ftm zYBX&8=RU<`#JGB_5xECOHbXln+KkdzGiHrw#vcfz$k;+Q z)r!EVXw7CUpdZ3At2j8=d?epyd==W{spv3R-XoT=fP@$?F`y|CB{qdE5F03N?>Z&4 z6p0X?f!chfA}x{165qk?f~8hsT=#~mpYfOptCSazp;^?9TF($%LeeoB#$(4h)mPiZ z$d;RVQigAZ%b{p?%o(SN(99EDhd{^LmS<=Y_H|*dg2UpmUxwyoZe)Isyo(BNP+2sa zI7=`k!1DEVr?d^os9fq@=3F~Dw>}T)xgXTSNOVWmILmyaB5QbEdsL=q-6^`9M7EVz zRIld_Iz`{$G^fQ%=*%6Mu>$4iIa++d_lYA8pG`&#ebz%}}y-c<8}5+!R1IP%RLypT4EIGn9IsbPx^ zcQXDI?^}UU-f+N$-2gLnQg70mSQLpfPx>6@M^QI5vFja`EN~8&=ZRobW3-Rj(H!w8 zur4F_Kwad%IQ|>sSQ*a07C|?{-Vh-VIvQrAZCJB}Xa(7h)j~v!i;VB`en&a9vb<%1oimAZ1LTO)JuO z6$Oh8kcx}T7<$h*fsEM)v~3ilrK&8v-Zi68m-0OLDsv%RjIF$x$pupw;>FlDU%!YU zx!F0XaA49NIK-B`pJ#iUvHm-95v{CpG(ETqHH!tFQFsgo+}!ZE{ziuJXI8PZtGT8`BqZb8F@E=Lrm{8n02~h{JiGYR!~^$wuol|3a#VAXJ)6fSb2Nde1kg_2 zXX`(p4^qv>___mYui0WS@Ee@o)|KNB&Rog9fOM_Lk)zEr7Z^iDY zCBd~fGtq4z%k;cr@eEv?DzfLNrZOPet+~rorw5m$JEd&J9Ul~Pu{XPPmS0M@wxTF#hX$?X;P1((k z!sO)@aC%us^7hU#cN>^^b!cJStim+EqdC4%U!0-Obyv^I@qdvWf>-kU;``r{CE~kt znRowMx8C^U{)nw8&X+jy(_t%fV!u5OwX(dNfXCJlX=Bl0UP$dFG!7?qz(NY-j;Pv{dE7Katr8t5V|0TGNboF8SV@jZr*1_ zFm-suM|Ml~DIKBzb-l4c?mcsmFK4i53`!46lG#++x?XzNfC9h(t0^>N0;i1#TBK$- zFhr&0ET^=E!^7*aVU)h`)Pg(^=1&{6@W9&3X!0dEh)%SupPt@WG^lo0FVFNc{)>#D zI@QyoyH4V*U1z0!PYL_7>xKnQwWAA0@aUPE;?zZ(mSDdXRVb&oebrcBGKWNkdN{bv z2rp&+*n71H{O)G^)Pn0t+ahlsErkcC@DnWjlj2#Tv9TpXeeZyM87yqQVM~_Eb!3K$ zeM5UU4&4l;Ac7>DyX=)rm3%axpYqV`IvR>{)axN9kCg4fKzA_E%Mo@Xsk*=JPoW|d zG`2(sAv>_edtze!d^TxQgv6UmjTe2h!S zLm#7oOaVCcV#I%h&Tt!v{m|he?kw)TbJV=2_54U+OW{=ULE(fziu1))XoFwgFa;gj zV+AnCk2%c?BLU2ih)?27i(;`LzDYIaV(r*nB=fp(%tVQd-=I+)U-T8wB5-J8GRQgIEk3yOwbOWL+cc)H(e9to*NB;w(#Y5}OYrX^y+z;65H_5Szq>t$B963> z8c17kZu%z2#<^37n-9jhmRh}of!_|HD3B~#Ps62qa~v~NQEh!X7hL`h`s1q?PN_B@ z&|8{|rqpPLI4wk5Ji&L0A2Z(fH}*hZ1-*8Qyj_Pl@k?Qsj=~Y8G*3tkHr54`;cH`# zn2C)G2*iBz3tHF_$Rg-AFOZ0qqI8*LHE)zi)SX*e^3}Z0*CNtn89^=-6$D(Zi|e6HFRPZ%QIVq`v;u z4n;GdrT=+{qOrCKnlF)-p&E+`+96M(xXR0@OMmZQ?Mn1El#f-_BOi{J*Z1&VzeWBi zzoHJKkvWMu+qC?O#$;#2Pv=^>sat}`AC{}5aEOOBe2SJWZxw(FwDLLXH0}YakR-hz zZZ=Kw@RNMZ>1Y({kNyGFc7duuD}SUeW86Q4Dh^4bPz(M6)DD5FKr3IR@rHPRi?&r5 z1)puMI4g|;Hp;9)h+23*V`vQl+%12UAJa7Bs{oD-?O3Q420^hRh6b4Gq(;k;X|#q1 zqcy-}R?;jZhq+gPt7@Kj5;@~>hHFF(mqHmy4RYrg@^eJ3u{xC8`J3k1X~H6LEA?;? z#uLLm9b|Ju`7~yIPCLTV4%HY5`O=Mb9Feh}!uXWwmTpC>RMO_z2uWHl?v@(Ah{AST zqE6*X_+`87TI64brIQiHI{9m?(nOc>h{4uVGST{D8zqAEPus!w<}GE`*sJM%M~ir>}lI%sPyd`B^p^ui8O)1u;tJ7vC8_w6K;8KPd0lMy7{ay92O0N zLz)-UfL6V()fTuLm{%I-8w}G5cR4!v(JjCDApCMBg{je(ys@e99WF%G>)yr69F0H0 zQ(Yyl*+%9*qcdam!ghR#3a7|ufKRFyzaGR-ZM|{$0hBi)W78Fh^_1A{fVJGDO_q?D z3bznusVI4G#l0Nj3Cg#!Id`kb-Sf3-v}beclbKMfqQ+@vi4LU5l1HTl?MkH29vS;n z&>$qo4$o$8qMM78CpCN)z$@jZ1oS+cp*+FF;a8+6O45ohkeYalF~_=N%rQC2Z!<0~ITJBFlgZ7= zWsZNwtyIX66+&hReserBLoS~KQ82Du$PPKw7GI@I}36zmh}x0&L~UUDu|UX-CshqfYHSCd$-Z*NR#-aLSEETw=I(nd#-m1cHcM z$|5K;T3}&P4pbDC1)p@2>c0MN)Yz@Ok1&m8u*lxOkcVjhxW2+vtOM{MwVARwAMNjX zgn8AQCKaYKG^t3gJ#Hm@(j%fcJV|?Me?lKAhl`0v2yyy6Ko)o%m0QJ@%%leYEpu!z z_?v4ay1b$7X1%>rBB4%Y)WnhS+W*Z1ICR0c6N77(B2>Hc|%&(6z8dZ&1zz*r?!C*_l&-#RKI;bFuLrW$KL8W)ZMpZ zo=5*KiCt_4jE0snxW-RuHrEv<&}BnAm+jKExVQ7zoLwBR>k@J!Z@0}iE8oVZij*%1 zprlaPx77hjfQKBd6`Ny)eH8aLtjo^EDn)M}N+o_5+<5!^Jw{)l*q-S1yXB;-CbZ}4 zr$iU_t**je_!VfdbKZ2Nn-1Qb>LSa)AgRX1ypk~~pGxb`VaPMVxtT_?70dfbUEfkD zf?<}AkT`H<&vdKA3X%O2J+nX=xos#c@>Gmb40ri`jBAN(Q%eUwQY73lVB;AT&^dy2DPAdY=wM4l48r)U{>q8<$L&$nr!W3A4dv1Xn zF2*#hfT1`P@2HQ)xMMMUjA)EA7K4TMXjGg;#ZwRy!76G}6EVgubW(4Z`ze;F+}d@? zseO%3!d$5rB)hq?#=_3NMzL0<;^X=nGyU;|M^*4b7F)bCt;Kt>wRq*g7sq9q+kuA} z+KXR|LGcfTAG+x0r%6p_uVl#_5GXteumv*b$dwK4>xKZPPe^;$JTIF61Fh9*CPhC? zt<{YYG10(HYdGx6b=Ms3j@WI}WIje!WNJKI_%9a#cVr&Mr&cG+)7@E-s#5RZuf8Nh zyWJt@~YRWI-lnx};3kP#MyfWatHV#IgvKE=N~Ii4mabJd&4) zvK=qT-HJqZ_Z7HP{SNJtK>}_Gd_uq}fqnvU68MOKT>^)6`?knQ*$xPX+59sVi6Vbe zgg}{6Gg=UYnW@K5jQCq_DCwMNy1EKVx+X3ga%siji3qG#KgjQzbff=|F##Kh zuD_~}i`XKu{joS%JBkMcy&*5{)#v_-*n%6|ROhcfjys{`S6?6^SbPL}9R4jP+YB)= zSa?*touNNbn87MXisBTmYnKa3=Axnwwk+XuqM9JWm!ZP$5+hC6KkArBC^NVtL@K)q z!%NMHu~LR8qRMq8kF>5r4vOTVgSm^jKGt>kPo-_wDzDm}ol-~4Rv z1{h^)!FABB{SET`if`h*e&5@j+XYuyxGSbX-B&m|HE^M$Er>+!-uvR=ED>_-y-DKz zhJXw%c5nSih>S@XLk^6FTu9zxtL8hYSH5WuCZiPk6mp4{nv;m=>QGT)Zo{*Akl2Qg zoV*2dQq+7T@0Cks{ALZ^+)Kec9OVLSvIpQ@OTwX`Y{NHkiWKi$`w@GZs~oc2;3cP*|qMHW?iGI;S7s)ij5psfPq` zntv9uUPQj-3Ulcq=4X!BA+WE#jcT6B_g}Bgd6b89o4-IVGoIfqcAHlyP28GUARpx0 zYi6AqU2oHx`6}lc(%iIi;35i zmOj?G4nswPe*5=SO)4IM(y3Cz5$^nY_>8>ldoDvdLBy$#9qP7X zx|W=Jj1NKZkYL6xY z+&sJ6Y}+=l&Z|7%*jeTI1k((w+TABT?^E{NlnUyn?n6ZGzl17V$ac$QY2DdXXVm4p z=SmwcR{^QIVn$s_@?1)kO_qL~@Kp3t`gP##1Kz$1f!9Rpxh|`g+Yd|6?@+Mmj_MZM zPl3E6O~Fp9lYl^ebw!2*Zh7^D=XL|g9|N_6tPTA8Gye_}-_GxQ#5WV(L!N%%-iXdmo~cd59Vag35fxW)w92#M{bRKD*tQKE+1c%`$YDE; zm?}To$2QNme@|;2t=OQ_4p-MSRFjF^-Bbstit~HffK{H#{ZttXM+i4L>aG7#)uT^P z6~8lc)F4&vX7Kk=?M|w#+)pne+o~A`pb@*{V|r4d`dgy1f1{0DSf=7{3sZi4DkaE!(@)pzpyD#Kh)xR;#W{1UDh{cqJY%EqC<$r-HUeOphG%uZn*SM5ow@_Y=ej}BCMj`4dE*sEFD`y2J0h^tVn z=3{Hkh|Yo9FLNSP-DVsP+pq_72`7PYha|y>Sk!uxNxl{hG2X(C4pGhFBw<3%a*??XWHo?BN zl2&;hdRw+0{eS2$1bUVdr%(hlUB9LGT50BvdIu2CKvB%c4gkIb6|sOYKizK#UOyHCd>Im zJN*e=E?EmrU9NlO=X0`nYAxRyqnbmNj48{l<>h*UU*^4S8_W?~&p2R{s#X}lK(Z`?uq^;EYe~E# zn6dX7Pi+s`Rd{>A(P^AL=x;>_yyOlfz~<%d|{y2Y=Tz*x2wje`P7yw0Ek@x69#UUcw!3AmaJxbJ0^~=&#VZbDJTN*A3$p6wP_gA7QQ|MNtWiLYBQ>1ww}Jr0bACf%JtL= z1Zf*96BC?d-e~Pu*CYJ)+(oiP$_GuU@3}=qtT;T6Rq_7tUiw_}=35tWS!Rves#j*# zv{_5(8$vnuPW`-QDy;D88xD(Zs`;y|U214>^E8!#5Hw(NS-5)b-jECkRP)uC0(va5mYxC1*|VQMp4|pa}qDGp%H?4vUng{+6RdYf6nw`WIBw*=E&)9aC#$iTJIm_`UW|+h5)EDiv?)9?^>S zBke~LcYL-j#xBN=>tIKdu|r0&PZ>nztP;DZ$75bg>6r4 ziza4~XszBvUf8-^SMvRK8*5c|?C|7sPnP@f4!Bj_Lrg8vWF9pX4QB=p7~C5;mLla> zd=#D`4?`uTHyd&DWO*gSs;R<08y0XKonLp4G~Nq*S-J-gv(vjfdj*kne%jU91U2b| znglIqJ2zBuHph3~lNI0etkMyPS8KcJpsR#NTVau87h+Qp&wfW&ToW2Uf-25Z|5)~*3M6mgerYp$IALyWQaNRdrDXwuyN?Bx$Jo!r`R7>eT{Z;xGJzMk zCCF2jH?}$UJn+vgeQCa!SBZ2FOqOQ6Y90!LOeq&{2SEsNXvk#^` zN^!V7i^KA2GG1i~3v;HjQZfkt%^U^G$8>geV4oqz&jJnx;k0T>UBpM&XIVjwt(g6sgtXs>`A3|omUtuKXbTzl9VUIZ^?OP z*~eAcC}{Qa(~(!49JoT*O`f`MkqTS2Fx6^Efv0vAJE@~nwTikQ_=;E&Hg88#JWwe` z0*lCOalHP>9I3LEl^uKZR*S(pX1F6_`ahGCCL;>&evibAmVUOw1dvhcgp-`!g~)M~ z4b9Wv@DrmFM`n*1#>utvN}Rz9Jx?@8bv%*qu8mkc{%8s_%Ml(;X4da3CYB0_hx#J~PJ zNHLmFVm$OSQhF;%Dr|}G>SD__W6ECdCt}8;@-joORJ?65rbT;bj3{trSPkL4K};vT zMC7uq*JqrJ7)z(K?5fwDk{4Vo|3*y(w}kFGD8houOkgEhhSt$YgM?yvB)z<@Z+)87 zX4swul()Guw8Ad3jruxtbY!f=lheKK;JPePyP6_~EF?RF6&ooYJVuOEh|vqB*+SR5 zy?fM1-5d=vQrAaE>U>FJq)d49`oX#bp4uBJ)#6a26-`8x@28}8V0X_`E50CF9BRax z#Q6UKiA*Pwp;{!(@!6xTkjaWLS^7F&?Xj9(Qc^B2@C=&K{+5hBN*T3plcB#bm8*)) zKZ_R!Da1q})#>?8Bfq(ArKP1M4E<2q@5jp4JxzMg&-fEcyK=ab*MGK?6QZ4rmrjZw z)H_=eqRT<`zQnlqF;Wm|mv$^0~5N_`8MZ<{kYrigmzVUcCa|%WR#ufD2esKKs^u37<=NdGGN^ zWa~Wnbnw~YT0k&!m0~q3gsNJg406w-1<3h(UgXhDNn$91`}68k1$hAW7P`?R7h!3v z=XMMsgPdVxAbO{TZ^%OvO!INZ7Z`p^T7BN#RMy<{01Jv2-twRuR|cIN)xmX0{2UAx zcjt}vf7y2#4pPzCxki5alt>6xo=%nENB6!oOI!oB$ifbELrNs_I-tSMGd-c=4i?ju z#+xc4S+rR_b;8p?J~g*3Z*<_7`jUhCx(>YwiXgj%2Q>V5^fr7PhfSclVk_%VaIrD5 zum8iY7#ncmc>2fbB&pj~0I$;ym!q%mVfkI}!fOZ!Tcw1My ze90ANd0A+g-O=fb!@}8<(rZx}_Mgj+!se3k8|WQohsMrC=0E#T$hn@ik58%Z4JBki zrj;3=Fi}1>moe~^+D=h#5wX@?In=tEqj%7e5vy%6bY8L&8Y#!UGj=Wo~sfr!|9y0w>;Y63}4IkZdg?Gox%# z9m}?+P7g^D-xU~2$hJ3x?iK@Uk42+8F;vm2>WES)1I8(AKoSzya< zKsO@f+*D#bdzG5@9*$_Vf6-hyt$)c(Vsl>b3uadgW36!pdLv&lM$321{ zcl~0U*Eq(K!d4|lg(Nk>k*Q|;@C>0Kt%xqp&;AO z85thljo-+k`07U5E? zYb;mV0mX9t!lU|M~8N$K)TKWQ&oY4U1mrMV^$By~!F z)JI9RtljO%L7`9CyBnh-=2&JmN{p#b$OKxgdP{ZxB!If-#r8^T(expD>o8agzpb z8qv@L$*4eXm*L3%WRvqt=y{4v)!#z84CFRx-6m(=MtcEznt{JTK}1i~nxmOWA`GKB zWxp;|XM_crh-dS$PeY949@s7rgs|$Rn|jm6T9=p$$@jLbJhiFr7`a0s`P*D4(V5}} zqSOwmGE=-Qt5TY++?n~8DBcEszcHuWl> zY`pX*C3R;cQmr7UHMCcx8RaCuZULSdmFdGpT!@xu(r4q7M*x5ko`{@^SLlI(ts7;c zRxddDOFhgXc}ly~W-OCFaBzB02F^E5e^;b`@XBJ-PnH`WLY-sNy4g~jtj1nkz-62k z@&Yjo48(XE(r>^dMBzZqy~=(H=F3+sFg8o6mIT1!kex()N-S8wZ(p^TTZs$&s?Q}h z7VLq?#mcuBn8hcH%c%YYh8k5=R{HDIHh$`1a`mhR9?-T{?&a)YW1I!x8_Eq?$#`TC|Yj({5zmamvJdS zmBGLO(G>G4vzUHNu*Pik#ABmp&_X6X{DebE+u;m8C=kWZfg`vc`R&kp z!Ad=^kUejXAW44`N_LDx&+|k<*B<_*+*r@E_%p>En^QV z;%Lvs%%(aY*|A(g(xTQ#zs{)u2{6X^G0FngedL9uWNkJVS*rj3G;D&d^l;ZRezH*Y z7K-9Z$XL`=jEd`23|IA0Muh@kCX;>D7~^{RQU(Im6KmPIiCD>BX%l7H=1*Rw&E-(c^7|0uiI{#w%+8%a~jy^nPqDQ^n|Ej}-JtxI}9n(AMKSYK$s@@z3EhmD(|PsL1JU33N@b#~*;OXqFj&%p9>cMl?aX zj(=_cBp{Y6Q?3GR$Q4Ko7{Yw-$U1w@E@sS^p8-rP3m`*`S4S~1m?C_;OBk|T1Tpcb z4)N(9PZ~z@S-j@^mRZq>>dSC5aMpsHbh|7_%fdwValHe&8H1~Vac4Rxx?D4HP-IR% zGd7V}G*F--KB(JEYXV5L;nZkZ-GSRYbP{82fAMqd_*z}mNE z$}OzFBQV~0W)s~TB_=$YZk6#hrjeyd9aAW{{>Mfj$N@B{6pVxGy0MeA_QJdwFN=0- zV487?vo7dVU*L~4U-Hrsw&BOJGtA$pl3IQKQ=+0g-+W09pakRl0@*rvz&$!*R!RrC zKF8ryTEv_WXDU*EZkDKCwakm60pTRx`&G_KYFY(dpbrYzNc`O$D2S^@_RVulvHRy~ zYaJ*l&oM^*2NS_#;-uXA>|TGGXx5{QZx4(q@traerT&}gDDm}ytOT)G5VRX9%Hkbo zd_5@Je-xcGZX&2<%GoeXq>4!A=|Obqr(21}oT2>YwYd4d)SIH(c_DtP4qwv{j=#H& zR@TYD_RVwC%6QRcN67gELj`c-Q+}iMjjtq1>Euh-6*mc%q8z|_QL@+d25RPF*X+-% z%Syc{)$8hr#=K<3q7XT@ZCT}Cu!l@*iabsdey zeA$Yb<#pN6TawyuvSMa?UCwCC94jW@>vBh9vaOhTURQE7W`Y&7!0Sql#w1uVH+o%Z z(U`yeJN;r=s|{)O-p@VC>uQZQ<_*b!J0`E|^=M3^73220+M_YgSur_ySBS#4@*p}BG7}i$hg=z9~9?YT7#njK1s7OmfZ<&{7U0iO3cUQXeC>)cX%^9Z#+OxBiE#~I+Kzdl2aifJu&+?b84wim1*RsmFu$dybNPzA zC`NgW?{XZxGaWOc@>@(M>5UugY_y^bo)j^40pTDk%H0p3Uj{ z{wnW2%#&j&d-FL}V0*m5#^tt=H}KY3mcn`?`N{f%wHywP-iTe_D8%5n_z|db|0w+&WacR!r`@L>CQ1il-wmm6Do!Y6DFO<}6zuKL(ZY}dce|{#Y_P1XW3#6;wbDS$ zDN`IuO-(AxO<19sVwv3EyVkd1YjsZN-uv8ppXY8}{MS6Z>s`aQhIhG6GJ|(01`*RY znCjn?2wVryvOreEQT1y&lO~;6sTb+VvDb zX1GRmAB1b=7|ff#h;zUXj5S9b#jV1(Xp0DQAVT}fL|3ZV%L>1HfTHuG%394kxAGhA zVDMI;m5;G`E6D;!zSok_eHXXh@Oc-M&oIXW;)$_@&y9_cGtuR*GSt9i7e`Dd=#F^E z#SyC+t*xN8o@-HVW(x3RCJcp=lwvasjm#AASIiW62{Q#2UCd03psKszi*KzAx6d=( zmaEjR7vGc#!bKl^O&v4inSBpnInK%=n_32|R}$)-gX0tQ(>y$g?lGJOOK#8Do4e-W zUq(@1*9ZwIpK<>nrH1Y>m|@V?R}R@vdLQy=J#sL^Ma|;d~Owr31gULN40(N3vcacN4sWw#fAZKXvm*E}Eh9 z7boUg&5RJ9)RIq~v*qd-fOpVl$L)OmX^TbM#`0&w@EnNcYB1d6u8OUo?3UAf{>F-1ZP&1(;)5u5E=c+mZTIIcDd4+8Zb@zT=7uTY#S)8m(0 zf%m0`rxtItsZ>~SM%q0>`~2A>I@xhcP;Jaf%lucUfJE1=@JkXKR_709pO-5!s!Go2 zBHX2@xKmScr>5dgZ&eLDg^Eq)ak_^c{xy}3?Hxa{T?-#buG@h+*Pqy1;YD(N8AwXx zZ>P$+I*?)up?uhqdm>V~2QSJ!W{!dD>q3@?N~O@p+xz(YQ2ksA1FZupe_?mqGYFI&`b}N(GLRXz{ zMe$5)C*kQkx>ne(h$_2JJa?^7p2MP63vessHWwcbU<*FbU-keW4D}+_ks3!#y9U|Bl<9i>`2VMhS|ZHgBa@-@^RbBb^BcR z*Q%X47~8o|P+3JR8qN@b7@NHrZ4jbJ!59!lgkpdzQbJr^vqP=L*fxxD-tOh#;oW=v zH+y%-bE^eBpl9-OX*)%B+L+OC!#>hH9ucd* zuju7Dgfy(BbNzYQP)V{j>6SS7~txSY93K;2b^M49IJ|s$b zgw-C$QVF4joCw1$UEdQOlKKXeF71YngCiwBz{^E1FJxtp3Hx1J ziWiBFT$QeV2wlvVmSX8m81m*f6HhVon@Mbz;_o3;QMqr?Ie(~RWS*nT=vpqjM=H~)mM=x1$L$pdvMM01* zp~HG!+FD1I(~j#U-wsu#y)K7SO1t+so3>!kmeTo7iG8RJID+jqoxV;(OR2|ej z;!ve?C=xN#LW+=cy{fUYpIp4H#0v{)*xCc1R7!miO}$}IuvQ9Ihz zSu8b`pv%XG^PS&IGYu(vS=BAX^_>t~s{E8XRVe2~>EauLO~yp9&N^82L|>?7*07cR z74spq(qbVT_4^a`yIvT;tluFw((_6(=x>#uUpR4(VS`vR5vwa$RjsaOhf|6v z6)Vi^uIQjThfb%OdX<_l{ZMh!kP&A3NDXvX@M4E5mqXErHpYB8m>1;AbS?jHs^i(N zi|V+HCMQhbW(%p{OyBA@@Xovo+*6?u$Yx$c!%y;P_=+cD4qA%OLO$Rne82(j!XwK=d`K%UKOKb>HM+d)*~0F7qkx z>Xd5c0YlYHU`@@`jhpXIT#qTf7vqu>6}8$AP|q&E^al-}qdkIsK0Ek8royyK*^?<1w_ zgN?Nx$?QDA@?LQ9kDtXF zmiKxV{{%|4OIs{I?meD2ZFL@W&Sh)FAg>6eCnFB!jWzw^69jYm7Q1#JrLD@!htQS|r z(>Ktx)ZK%dUH9~3s@}+HTgj>F8pnJ;vC(4>t3aJ%PFae-B()CnSBrx)(M!ir zEuTTo#X`QCd2)i9S*05CdaI-?^JTHD=v;wqJSzsRiDRL7^w{TjtB6tE@`6(_pG?rm-cu-W{6? z+M+(TW~&NQNEnAIvqMdG2Jx|6{5uVr;c#(d>ytdg049$N{#xBXHSG{Tq(si8^*@YV^cg0jv?8aJg9@0hG>|sdaVkb- z*Ip$jqNg;37p5$_4W=wz<=L)c@o@HlbTaMnw(zT`Tv zH1qw(zC*Im*muY{^mqFX@#|QuMmp&`B)yCK4)I|29m?-t^&N6h>c8zfKKJN5WHxqD z-ysCkqm0>im^B>qrK(}+J1k15nx3O|Rb88IPnP2MRsW&d6il{P((zUOM`L@I4JnyR z&6iiM9jbDLA^(Xf8s=rFlmvbFno=5vVrs>}zs8(|dFyTWITVY+xCJB3Ik;xpnl#Qc zyZb09M?*JbmSOM_RfZmA)i(>1x;rKD$~>sXqJnFVkp_5aaDN@#v3|bP-dUY_{fW*V zz)X6nddGa#R5Al^Kl`TNf3r_baFBxa&Zn~`4k%5?vmSVZ(RIlb*&Y50%Al=;b1~bdlqeD^M!3w2A z_o-*U&I}aVH+HbU-X62l{*}%!#GlwO=oeTZzI4cX&QjCgBg4{#H&D+Ue6}A_8Lnx| zpd6qlfJ16p_;x2}B~5jfw5?v3;YnFu)>8CyeQ%JaP)7^F{0=*=UG=#gDT=K`4B1|<2M)O3hhEd{rz zOWB)wisRb!9V}zjv`F715S;#@fM5D5fa^VDTrbG}zB+>4rEtBCpz3vtX3pX)^a-wY ztjB7B#IDPkBFKIKbtOMnzusI+$P7t8Ae&7+{E3Fmrc8g=PgBXdoU2AoKeEeWl*E18 z1SKEc;k%OMv!M=aaJj1)Yw)dNxssjwUP0Y-c#0Ki<)s z8K75DvOg1*d%KV4VU@h+37O!U7)EciDVQ@fLF}2-1~g&2uco=92^Uhxd6UfFC)9S} zDVT=}?b7Rns)w6ss)~eMinKV5=+udI^$>u14MAO9*~jTGA$6_I=D3ABJ2WSmcv;<8kdr#8=yaGgjw5Pu z=f`1wiWQ2jyU%6DPU2RQqvxk}r}=ms&fB(KcizE-jXNq^@|#VKshBBmFtAs|&OxPR zO%t&W5^H(ML0-Jt>|K<7o-;liK(P5ujj6P4l-IB3o_5^Hd!J>NHG8^N+S(&X&)=C; zPX=n5@csySiTTa)a4zH(_G{|!{q#J^du~i9k!M%RiRT-n*68y>`W++N1pyAP6#1H<7wO5?;U(!^WoFKu-es62-?AG>6S_3X_RP?2cZm2-uh_A}KF)y(oDr7pX2z|IEhrwh@UNhzXI|Qc-rV*bOAX`%=n8 zF?~0XIxph6&HfuG9dciEwF*7tE8VMOWlW`AsPY#HgqVcV39#qb5TPW%wrqo067X&y ztC@h8@y7&4jfyVofDi!Lv7LL~ElAN`ggt`(Gtq@kiq7|A-V6;Nbpz==bjrQ$5Hr2ybufxg4(z)EV zbd}CMQ98F)`k%RV2kliKNU_GadZ_aHJ8Ie7wpY12szTRtGP3GmT9vzOT}qL&_?EmR zV)OKV-X-ES5;D1 z*zOQY3@dWAwDp!mxx?jSYaR7Exl%H5Eyaa+B;_MU&1NDAMLccwL8=;kJJElt^*u#j zuJw}FYLQq#>EP{4v;Q9{imdw8cL_DGCh(EC(?^iZeSVT0*9fDmM- z2amU`@h^4Gfj!wmrnJ|{pK$rpTK*{Up)D!5JwG#~=CaJoYXUQy^Yo7|qD1{CjpBMo z!gyDEZnf$O@L2$G>~rMKl{{l6L7jvA z6Gm~>N|M)-*;jF)mnC3_%27H~X=9Wt_ciQp@#o%7s4MCoC8M4F?F4i(@AK!-=41av z@210>JirPa8ln|gnC0#LV|;d(F6OI-Rnh1@UCYm&bx!aq`pti4EAD!%7JFW#CLF7j)oW-AyK5|O zAN4snW)w@oOG%;L{jiIsatL>dS4)mv^6EGIrsLp|6=i#|=ayy)W{CGL4#DMQ{bY^p-vx(Hn;S|y#KSIa2SWG&A zj(cy+moxjB@vRp}pHnflGuv}ewc!Sahj;Dq-b0S{l9*1#p(=-|tg3JAx$Cbnzs+dF z-JYEnmE^v!w6jBHuT(`6b0Pn((#1lu()GtA(`RkbjxV|Yzgq0N9yR&11^kI}^QVfy zp=!a5QjsL)sHONEk<$QjPIa<)exjaG`K;_I$6)rR=I$uf^+rgNl`Pb`$ z5n#R4>cz$Jpo#5>E{;R9(iX>3@s9L>on0$p%IEYZ@i2#Cz|v=ngQceC6wkMoDjSDl z=a^Fk@f=T4bks~=oyiD{wL9P{9dK-8K-D&MkeFQsEuoi+s=6xy-8G`EblP;5I>}kB z91p439K>d(c7_ER5lx`_>1NPO`f1%j<@mq39KebIt&%=wfp=gT1I$J*%j>=oH7EJl zbJQNCrNi^?74`twl9$7$(uPH1Sn|BR%? z$bADQA-qy>qr7CowP7X)=7$A`b$_8?h)-|g`VAc)jp}<^bsxOKkyfYPmXQxn`rCOd z&&ikOIa#KQLk`1Q;d;4;9urr`t4ti+=UlN|TK8eQ*K<~BK8_^c!#vwgD7tVZp1S55 z)hTga^E_)$L|WRsXnXsF(s6aJS=t*?ia!5LJ~$hR2MLS%iI{2TFZWCDa{{s66L}^C zNl={%??W_UVSA1aS`PM&P%@v8CCMwt_c>D|{O#kapF&E*LNmOr$A1&nuR2a7Je&wd z>XfU;YPuwhveHrEM3R>4$g2AK(a(^mEuNeNn?kLc9E_U4rzCTW+WTyG$rPi|9((Wv z0;NtC_3K527?$GmgmgAr))Sf4SKy)g9A@pabyF^{&X%YM|%Om;G1tv=nb7K#lRU zCr8j8jr%r9UzLk=PmE-|olw__UnInF+Sd!YtD=X17!P}MM4KJ{iirPG- z+{9o^SiVCv1j+i%i5A4Sjgk|`Z59k{dtKpIzm=#<&6(aM z*}s(F#Acvt*qw04dzSZ&LOIkMI>Z(cGxxBis2r}y^yYRh7e7bOQ^O`JR+jmDupe9# zhR7qix$C;w!)Xmp(c7GHCq|9R^y6|o9tI=H%Dz>L2;#9PS>ctnZFUleSB+xgb^-}P z2kKh}s|&%lyB&l4yT(;g-a&}9*wH(#Dt~I>+;0Qz-7=d^$TTS3F?oeSVm@|Jz+Odj ztGx32)DQCK1f*pD{vYY-=^4iDTfp-V>V?pffo-lc9}6vv4~z1Zvy!|37XnpFd6?w9 zoH&)4)IX2AXT$Wc`d&zM8PyW(Cb-PlsFCwAbp^Lt*6@w?0eqLlVv{`*F&y4SzXjS` zW;VNHjO!)0eF$lhx1ufHF>}x7f6|yNH`P2o2}emMndo}-gr1-JvI9GT3w}l4shezP z8gH_7k1VvccMYCP*J+I}TDt;@as}PIrdBwo`!&3dK;X9WK#pl!Z|fdb-?Ep!c)gf~ zQ$69Qh-*VwI&?jE_Cmb}bMkaSITzEop2poYrnMpF{WP_H=!o|ZlP|)~hEGM&R8CM& z^*2hLwKa79#dZ9xNpr4055^oQxN3pVfWCqDrj&kj(`JK9nmXft8yv%lEb*8BrL$Q4 zF(WNL4RZ2Bq$i*g`DZ3iw09^sFS)gvk4ORu=unBp9LRsNk(3@a`0ckIHK>dC(V73c zcs>=nOwoIEsY+XwCi<2p`q$VSO4rr0#;2&lyQnVE-mGYlzjtP{+ozVcrkc57>WuqU z>f2q^-G3-*(Q&qbq_8Y||Gm;a_@|{k%iOH7GQ*@YcmMKlN=r|px`yaOaNBsfX~+R( zIgfKfC`)fsUV0Vx&Px^9xf_oxnUQ;e6kLwp$}v=ZyVO!7Pu@AcEdQ;E zV>6dbd4d=bT@K%+(tDe$-Cni~L?(PpGv;kqR+rSaf%f4TUZw7Mayzt3Lo%)aopOyx z-Q#L~qH8c|Fe`A>5!$`NA1LW=p;KcFn0qYIb$AmARJcB+sFLdgpm|C3)Kyq*t#?hL zbmqkFgr_93;UTQe>84D#Hn)iFGti5!bC6|2g*;Joovc%|;g6;G>5BqaaEQC6 zyfLyDn1$E;tI@oPL~CAf4D<>^Rv%*1*qSIEej0&040d(Mp)va|dw|J-aVMPi6VAB@ zUViyywq{s*Na3kPxIH4%?=BXILtX8-Gho);g?PHr?lpZAT)WXF)kHhyR!SL$yF9K4 zTWtY_x3*RD9Faa9dp4tuLS`iN0#oIyO#$O?S#LhRxe zu9iKeVhJD?L~8A?8ID*(+A#$ZhNMXGjFaTtqKlN^idMPX%bg_0xbq!1A~|e}=y%F! z#go#ER>5jQQUVueid76#m{1mjM>%rTEt|}KVT%mIjqqY%)6IXcI z{9QXqEvd$(uKE2;`f7JDQEvoYbbXH*s=-aY-K0{%?LCh2xb};Gkql}xJf$D zX0CA!iPhZ3ef*ov`}oL-b9_#3!Ncv154P(PAhHl?C+B6NlISWX+N7kK7OrLu@wmFQ zRg_oLmBzI#(J^)5%ZvAb5M|5E-8aI;K0w2BKr&*l={*0@P|cA5%$+I!D$u7~wlmb-M;6u% z%Rt^liELJ;^TUToWXnpWPvWa1iN`M{$OlTxD(sL!k2x~Rs@;D<|5}35kNs9Z1~cJ2 zVR*wOiFkClTJ4vws7T)SX^CL}q)+%f!bp+DOUp7XZC^bR!-E5tJP)J4(wY^j^73ZOaC={Bw}x80yxBsG6sY|D9WYFFYi9aIB23gQdOuv=yaMuq=Fklf`1it$=@Wt)y$)t#WJF9$G9coy-^ zmnR-MIOfO!*DMtY0!eDFI#UsDua*dqlFo}+G!-HUaUEO$%{I03{PuVuVOD?Y;(|TU z^|&`nzS>xCZ^{Y{gug;Q+0KvR(`&dt@RQ-+ZYi@M#_!yJU>k3ytGrl1W@wuk7Z0y9;N`PFO^B?cpDH-Rh znt}XG&4?Fd2FVFbd%&5(5@_LN4=SqnwzoTDoxow8OmEloc+d1=>-7l$c9GN-jM%gm)CPmnqDr`=dSkR`NC+PXScR&;eE*?u$6rJyKIkuNlJv*p6UXo^5wy)VT+LB~*TlYi z`+MQCF4;No*n+0EF04c%OvtNfi&vlH`AzzKGt=AqyFOdcRiNA4r-~9IqHA~bwmwz1 zfOSx`KHvN7K}Y!=cTL)+&OT)#mBl9=;#kweZ;_QqE5&|Ec(uaKv8;90T|f$nCP~GP z`c9khQ{U+re?3PK@=Nxk_pl4=7}D2gt7T1WsAWwO2S&nt$`Q46gS%wBYq$7;Cdpex$s%d~JT`HB*|1nnZnY1N*9t&hVRQI14G-nMbSbzxqC z3PbSwLCnji_8t|+9#eS<}v!KuJ zn!)IKB$*ckg2m77>fMKSf4}=c&^G(&vp=)nof;8}4|?UZ-}&s$zbpoSGyU@|G5DPk zFrq6CSMVfG^dWTq=z`CFarQvb7lvcIW3S_&q;uEC5YGzNwNihhkV>NERp<~Ws%uqa z1)Y!nm^G#Zs)mWYBksKU>BS7Fq1sMWIEEjK{`8dVzRxbypQ=93%v#g0@SL@vW#PH- zf+m)iH}0*fa8yQ@6>?wcYZy0rPsI)o_ctr|eqSM5TjK6A-Nz@6;~?!1WDP3LZ8!u4Wth| z#O|8i2NmfLL3*kR(zjEj4{IQOs7d+|P5Lkh-cFHTRl@MuP5(gsk#@J;op()=n$U+O zcwHJsQxi9NgW!~qdLKN0Us0tYW##B-O*hk3+aJ*OUl=u^ z;^FK@@oiswaAHK5sEb~}ApP;?fe*|5EM6e?z<=gU%X{O39UIHP_E*oR@%&)kA;Z$@ z&^qRQM#o+Bt$VAwo{Qe|vnAKUn|D00WMgh;lLykacid_ZlZVneZndm0_u0Z}>bOb* zAYP@Watsa!J095m72>JNJ8m7?@sm5;o(68DFO+22XYCzbc6N&-g`}PLEHT?H1Bu2K zK3H4YYve^Y;+tyelQOv0>WsJ4TKbpUe;|UjwG_1@le?eF$d6&>ml1=DlRQYbzpmr2 z_E6K+%F+&T>=*IFCoCWC_t{vpp2BmPY+L=Qx0rjKJ&4r71#!W@W7^`?tEoEXiG+gl zB-GGHnzYNG#3D(AzoW9e>Jpk!1HLLB5TWCC=(ZcG1zt?G8mOlz=P#7n7*ccC@?p6T z?~UF21%pP2C9a&-w1D`>I1Z2iQF5w|IVA*I5Xin*pHFN_$cr4ME$uZy2$QQQ|0X0c z=zt^eqxuUM?nRjM+2~JvYJJWXovbgat&iRny_q|dTwC|@nrH9ONx-&Oz>5=j-w}18 zeG_82d9T#jzn=Hn`=9SqVY`Vni|_kR;#eCI50B8ST$AUMoiQekkUWwhXI&@{|)^;D>->8-iOXu)~)zefI zE2<|cEUO-`@IduQupyps7=+OGt9Z_%n*qY;{16*rx=zI@d5e%BlO@Q>-!9Zwzq3>_xT$*CGQrB~B??znFI2drI&H;; z`pn>Z`wrJP1WZb*5JEh)+9L&7XCU4kyWFMUh;D6}r0@tSAP2rW!^8iueRzIed6ptB z7S9PI@jOL&F01bA>G?yv?*?6?UXV}Hh)C7cAv!Z0XyxE;j5|_<6Fw+ zR9IGB47y_3MTSCat3NBlmpdCPiQvtKs9ut&{1b>OPoi>rs=`x=IE@vjahEz}i_;t8 z)JL}Z+3-c;ZIhQ(l`v>l-|oSX!z8Z062Ny90Rr3sT&~ZS>j3UVkKwU}c+3)yRp+Eg zA=P)jtBW=cY{;L`(#6p!O^+|pt=%DkURQw*R7ZMxuEg^P4W9oco{iCXz8B98F`mZL z6XMiOoKjRg!PQmoczBU`3L4_c5YGwX`6kbJq!1&-X^uEuVdm$TOXKO<5Kjm3>^}z2 zKXO8*AwLpN6LIP(PJ2C_gavBo7IaqEiW3a;7)b~VEC5}DYE;!%R)4X2!4Lx8uZeXLacok9b^o$rLYHV+nn;@^Yej>ZM)=ix;bS3H40i z1fjc$Q^HA<)B~s|P#aJ?QD2~3s52;IvbWI|bsfrzN<^ijW})Vz7NVX*y@%R^ zszv#dhcHx6R4{4Z4%$!)P|Hy7p|+y-p}t0)Mj2DQjmuDNQIV)yP-9W4s65m?s1nrE zs8>+$qqd_Cqg<$8QCXxVKUPl*1+$=&{036?(J1+?1j|tSP|ulmH*~ftw|0qEBP_&f z^g&&RGEl*S<}YuY)d_+t;WKcoP+q; z+F&P|ya85Yd2D~<&N!>lAxEndmCWThE7x#3gnQ>RkAg1lr(fjK2TBP%tWf}{|?iYGTbD-5*xAThHl!}dwda$*va_e8n|{J` z^TU%G?i%Ac*OL)jJB^YU`@wV#G+hne7zED6|Xmyshho@SP%(Oy!9U$Qf763fN* zjj=b{&&;(`T~nlH$QM;lU8bfbla`95pg_18F3wQ-Zm0;8s~XIbY-98W)sRZvWX%p& z)GU}?U`xv;es|5NBosI3^m9{E?82lC?)IDpeh9ba&kj$XmYe}s;%?8fh3DE)Q^WI< zbEc&k1vY6fk^xwoCYEpVmdOmZjO;Z0^M#Q%%ciq4#a;maivyVyC&QKtBPQqQ>=sCi z%L#|V4f*~P_r@^7-7r*xpMu%hQ*yI1QWV>VXQjoiA&qFSJGQJqn*p=3AWVG~D#;$Plym$0Wz{KZ7^EABU= zBpwkJCU$bp=Ngo(8ObJE9!fST6Ht<_^z@>-pu}FL$P$ly&PqH4Ga^xp6Ds^aOzZ$k zn0+P|nfBk29|`Y|lDI?$wd}k}T9>1w(~(2$Vkk zW-uGP3Y5H!0wwP~L7`zND0%1%3SEbQcY~3j`!>#!X-$*blrPi~%16dxIrlJh%Xi1|I^YY_pz;Rb^fRN|{%HlBY7TDYy@m zdOHD1nS7s(RWt|zS>rS!z;LiTC^YE{P6HD_p-mnrw3!b|T`mEIMsI+^Ydb*UwPT>v ze;p|G9nA02MR5^fsvpU6q-%|h41G-7OTecC7{&zN>FIL4-^_#fl}Y6LE#PG z$72bgcz8-Ivmd;@6x5xkrZ7+-x;osQH~a;;Z?YjP0pu z1u6L%dCY>;oXwno7*q0dr_=4{WzY|sW3`NZ$y3Y$+0)L<+C_t~hkJh7REm~rc*euf zrRN4I`MCuJWI|>wdS*mDr4`ti|EZ~?n;!X04VkSGi?}P_%t{(YNHvHx%uy7X)3Wny zvyHS_X(@J_41(cPbMv#4ZRQkEjl^lQAY6f=^o>K2GUp^`o5PbLsnIZ(y`%=yb0NLw zBv3NQFACNDh91#9Z@lT|UcHm2q@<=zotB=FIXx>oCpYiz`~sVO#>`o>r5W+-(6aeu z&4Po10s{l&=dXWFJ%9N6`|-tI)1h6P)~#BGwz&NA=FOXjgoIf5U8aA{)Q|Y4)BEMq zv!u~mMH@Yg>*y7;RL@2Ko>dSlp8}FQ^n>!#(gX*m*%D>s7X28verQgHErZ$jJ!u2- z(J|W}!_*FTiJN7J+ejvCajG8DL~9Iym2GKpGnl5w%^FW1ugqi8vXk@DbMw=%`GcK@ zzp?4k67q6$v&J%Kk#a6jer(M&@KHo=MhtPydvOua}{zVmCG;W%__zdyeg#*S7=s(@JvS$nn$OKiOy+}4 zzJx_w1}IP0_`(q zq#0xLXaALxF`7?@4j%wz{Hy}QK^NEotOaE}t^+%Q z#=rD;-lMt)TSBL%{371n?$s0(dhx8SDk7 zgT28#@D^|ucq>>4TEP-97F-Ap0GEIR!DZkea0NIRTnP>Z*Mh^qGVnHVD>wqI1V@4g zzyz=gOaxt^@LMg&zP3>Z(##Cw9X&6}V*cml%QpjNZ!i?}0mDIGup8(H_5z!L1Hqc}|Irt%XIk**U0qz4s!78vNcmiw% z)`4N5@4N5=7y`Bh+ksbrkzhNpCwL`j1+N0*!S>(;FdR$;JAirM)!-bkBUl1PfQ!IR z;4-i?_y*VoTnk$377@00Ox_L zKrcFwGSC;?0X78>fC1n!Fc7Q-gTeD)23rHU)=(0pM6L5S$DKgIQo(a26N?&Ii5d@D_o-;4-i&_y!mNt_1_ZO<*us3AP0f zgE8P~(2I`IcP;+G5HJvI2L^+YU|X;!7z4(GUUZZb!2mEF3Kj{90!JB_62R2WvnR#9|Xg(_X8io z3<=d-K;{NZFuw>c2OkAjf-*LJ2)+w$1z!hcj1kK1!|VXN6JJyC7-kv6dSUhlYcanB zo(De#{XdK~-T*_vZD2U~7}yPbAM6Ew3=RZWfeGN};6$(zOb2Cbw1H({A-ET`l3oD# z5a!+B67UGP9NZ7C1h<19f~&!;U^%!C+y_>H%fS=in_wMy6!cvmYdj8yfK^~S@B=Us z+zIvszXGk`Aut~N5}W`Y1XIDyUEcd#0>MR? zx-vTSa;oxELJNj1eCdl%xR1b zdd@I`c!MzpW0tu`9_}&+3d3vz*WymsV?>CUco_3EFbs19=)yb|JPke! zCSczcG(OU6b-`c}#wzUlfnk^*04p)afDxGIgR?Mq2fJfl3ibtOf)&H%fC&w^!yYXkPe zdLEw~c%L{R$nZ@>>RZv^*& z>%kM?E1++Atnn0BNw_P(c9@?ABfð2$q1?1}jvunw~ov|?TWuEpF7Ou$?SmSOG< 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Setup/Code.inc b/Setup/Code.inc deleted file mode 100644 index 517f5a506..000000000 --- a/Setup/Code.inc +++ /dev/null @@ -1,234 +0,0 @@ -[Code] -var - __NET_FRAMEWORK_INSTALLED, - __NET_FRAMEWORK2_INSTALLED, - __NET_FRAMEWORK3_INSTALLED, - __NET_FRAMEWORK4_INSTALLED, - __NET_FRAMEWORK_SDK_INSTALLED, - __NET_FRAMEWORK_64BIT_INSTALLED, - __VSNET2013, - __PathsInitialized: Boolean; - __FRAMEWORK_INSTALL_ROOT, - __FRAMEWORK64_INSTALL_ROOT, - __SDK_INSTALL_ROOT, - __SDK2_INSTALL_ROOT, - __REGASM, - __REGASM64, - __VSNET2013_PATH, - __VSNET2013_BASE_PATH, - __CSharpExpress2013ProjectTemplatePath, - __VBExpress2013ProjectTemplatePath: string; - -procedure InitializePaths; -var __VisualStudioLocation, - __VSRegistryLocation: string; -begin - if __PathsInitialized then exit; - - __PathsInitialized := true; - __NET_FRAMEWORK_SDK_INSTALLED := true; - - - __FRAMEWORK_INSTALL_ROOT := ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\.NETFramework,InstallRoot|}'); - __NET_FRAMEWORK_INSTALLED := __FRAMEWORK_INSTALL_ROOT <> ''; - - if __NET_FRAMEWORK_INSTALLED then begin - __FRAMEWORK64_INSTALL_ROOT := ExpandFileName(AddBackslash(__FRAMEWORK_INSTALL_ROOT)+'..\Framework64'); - if not DirExists(__FRAMEWORK64_INSTALL_ROOT) then __FRAMEWORK64_INSTALL_ROOT := ''; - end; - - - __NET_FRAMEWORK2_INSTALLED := ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\.NETFramework\policy\v2.0,50727|}') <> ''; - if __NET_FRAMEWORK2_INSTALLED then begin - __REGASM64 := AddBackslash(__FRAMEWORK64_INSTALL_ROOT)+'v2.0.50727\regasm.exe'; - if not FileExists(__REGASM64) then __REGASM64 := ''; - __REGASM := AddBackslash(__FRAMEWORK_INSTALL_ROOT)+'v2.0.50727\regasm.exe'; - end; - - - __NET_FRAMEWORK3_INSTALLED := ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\v3.5,All Assemblies In|}') <> ''; - __NET_FRAMEWORK4_INSTALLED := ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\.NETFramework\policy\v4.0,30128|}') <> ''; - - - __SDK_INSTALL_ROOT := ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\.NETFramework,sdkInstallRootv1.1|}'); - __SDK2_INSTALL_ROOT := ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\.NETFramework,sdkInstallRootv2.0|}'); - - - __NET_FRAMEWORK_SDK_INSTALLED := (__SDK2_INSTALL_ROOT <> '') or (__SDK_INSTALL_ROOT <> ''); - if __SDK2_INSTALL_ROOT <> '' then - __SDK_INSTALL_ROOT := __SDK2_INSTALL_ROOT; - - __NET_FRAMEWORK_64BIT_INSTALLED := ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\.NETFramework,Enable64Bit|0}') = '1'; - __NET_FRAMEWORK_64BIT_INSTALLED := __NET_FRAMEWORK_64BIT_INSTALLED or ((__RegAsm64<> '') and FileExists(__RegAsm64)); - - if not IsWin64 then - begin - __VSRegistryLocation := '{#VsRegRootLM}'; - Log('not 64'); - end - else - __VSRegistryLocation := '{#VsRegRootWowLM}'; - - Log(__VSRegistryLocation); - __VSNET2013_PATH := ExpandConstant('{reg:HKLM\' + __VSRegistryLocation + ',InstallDir|}'); - __VSNET2013 := __VSNET2013_PATH <> ''; - - if __VSNET2013 then - __VSNET2013_BASE_PATH := ExpandFilename(AddBackslash(__VSNET2013_PATH)+'..\..'); - - if RegQueryStringValue(HKCU, __VSRegistryLocation, 'UserProjectTemplatesLocation', __CSharpExpress2013ProjectTemplatePath) then - begin - StringChangeEx(__CSharpExpress2013ProjectTemplatePath, '%USERPROFILE%', GetEnv('USERPROFILE'), False); - end - else - begin - if RegQueryStringValue(HKCU, __VSRegistryLocation, 'VisualStudioLocation', __VisualStudioLocation) then - begin - StringChangeEx(__VisualStudioLocation, '%USERPROFILE%', GetEnv('USERPROFILE'), False); - __CSharpExpress2013ProjectTemplatePath := __VisualStudioLocation + '\Templates\ProjectTemplates'; - end - else - begin -#if VsVersion == "vs2015" - __CSharpExpress2013ProjectTemplatePath := ExpandConstant('{userdocs}\Visual Studio {#VsVersionHuman}\Templates\ProjectTemplates'); -#else - __CSharpExpress2013ProjectTemplatePath := ExpandConstant('{userdocs}\Visual Studio {#VsVersionHuman}\Templates\ProjectTemplates'); -#endif - end; - end; - - __VBExpress2013ProjectTemplatePath := __CSharpExpress2013ProjectTemplatePath; - Log('VS path:' + __VSNET2013_PATH); -end; - -procedure DeInitializePaths; -begin - __PathsInitialized := False; -end; - -function VSNET2013: Boolean; -begin - Result := __VSNET2013; -end; - -function VSNET2013UP: Boolean; -begin - Result := VSNET2013; -end; - -function VSNET2013_PATH(dummy: string): string; -begin - Result := __VSNET2013_PATH; -end; - -function FRAMEWORK_INSTALL_ROOT(dummy: string): string; -begin - Result := __FRAMEWORK_INSTALL_ROOT; -end; - -function FRAMEWORK64_INSTALL_ROOT(dummy: string): string; -begin - Result := __FRAMEWORK64_INSTALL_ROOT; -end; - -function booltostr(value: Boolean) : string; -begin - if value then - Result := 'true' - else - Result := 'false'; -end; - -function Csharp2013_Installed(dummy: string): Boolean; -begin - Result := RegKeyExists(HKLM,'{#VsRegRoot}\Projects\{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}') - or RegKeyExists(HKLM,'{#VsRegRootWow}\Projects\{FAE04EC0-301F-11d3-BF4B-00C04F79EFBC}'); -end; - -function PythonTools2013_Installed: Boolean; -begin - Result := RegKeyExists(HKLM,'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{7AD18985-A5E6-443D-B0AB-A9ECFBB389A0}'); -end; - -function Fsharp2013_Installed(dummy: string): Boolean; -begin - Result := RegKeyExists(HKLM,'{#VsRegRoot}\Projects\{f2a71f9b-5d33-465a-a702-920d77279786}') - or RegKeyExists(HKLM,'{#VsRegRootWow}\Projects\{f2a71f9b-5d33-465a-a702-920d77279786}'); -end; - -function Vb2013_Installed(dummy: string): Boolean; -begin - Result := RegKeyExists(HKLM,'{#VsRegRoot}\Projects\{F184B08F-C81C-45f6-A57F-5ABD9991F28F}') - or RegKeyExists(HKLM,'{#VsRegRootWow}\Projects\{F184B08F-C81C-45f6-A57F-5ABD9991F28F}'); -end; - -function VS2013_REGISTRY_HIVE(dummy: string): string; -begin - Result := '{#VsRegVersion}'; -end; - -function VS2013_BASE_PATH(dummy: string): string; -begin - Result := __VSNET2013_BASE_PATH; -end; - -function Get_SDK_INSTALL_ROOT(dummy: string): string; -begin - Result := __SDK_INSTALL_ROOT; -end; - -function Get_SDK2_INSTALL_ROOT(dummy: string): string; -begin - Result := __SDK2_INSTALL_ROOT; -end; - -function GET_NET_FRAMEWORK3_INSTALLED:Boolean; -begin - Result := __NET_FRAMEWORK3_INSTALLED; -end; - -function GET_NET_FRAMEWORK2_INSTALLED:Boolean; -begin - Result := __NET_FRAMEWORK2_INSTALLED; -end; - -function GET_NET_FRAMEWORK_INSTALLED:Boolean; -begin - Result := __NET_FRAMEWORK_INSTALLED; -end; - -function GET_NET_FRAMEWORK4_INSTALLED:Boolean; -begin - Result := __NET_FRAMEWORK4_INSTALLED; -end; - -function IsCSharpExpress2013Installed(dummy: string): Boolean; -begin - Result := RegValueExists(HKLM,'SOFTWARE\Microsoft\VCExpress\{#VsRegVersion}\Setup\VC','ProductDir'); -end; - -function GetCSharpExpress2013ProjectTemplatePath(dummy: string): string; -begin - Result := __CSharpExpress2013ProjectTemplatePath; -end; - -function IsVBExpress2013Installed(dummy: string) : Boolean; -begin - Result := IsCSharpExpress2013Installed('dummy'); -end; - -function GetVBExpress2013ProjectTemplatePath(dummy: string) : string; -begin - Result := __CSharpExpress2013ProjectTemplatePath; -end; - -function InitializeSetup: Boolean; -begin - InitializePaths; - if not VSNET2013 then begin - MsgBox(ExpandConstant('Either Visual Studio {#VsVersionHuman} or Visual Studio {#VsVersionHuman} (integrated shell) is not installed! Please see Cosmos documentation on GitHub for supported editions/versions of Visual Studio.'), MbError, MB_OK); - Result := false; - exit; - end; - Result := true; -end; diff --git a/Setup/Cosmos.iss b/Setup/Cosmos.iss index 3f2e65e04..94ffbab46 100644 --- a/Setup/Cosmos.iss +++ b/Setup/Cosmos.iss @@ -109,8 +109,9 @@ Source: ".\Build\PXE\*"; DestDir: "{app}\Build\PXE" Source: ".\Build\mboot.c32"; DestDir: "{app}\Build\PXE\" Source: ".\Build\syslinux.cfg"; DestDir: "{app}\Build\PXE\pxelinux.cfg"; DestName: "default" ; VSIP +Source: ".\Build\Tools\VSIXBootstrapper.exe"; DestDir: "{app}\Build\Tools"; Flags: ignoreversion uninsremovereadonly Source: ".\Build\VSIP\Cosmos.targets"; DestDir: "{app}"; Flags: ignoreversion uninsremovereadonly -Source: ".\Build\VSIP\Cosmos.VS.ProjectSystem.vsix"; DestDir: "{app}"; Flags: ignoreversion uninsremovereadonly; +Source: ".\Build\VSIP\Cosmos.VS.ProjectSystem.vsix"; DestDir: "{app}"; Flags: ignoreversion uninsremovereadonly Source: ".\Build\VSIP\Cosmos.VS.Windows.vsix"; DestDir: "{app}"; Flags: ignoreversion uninsremovereadonly Source: ".\Build\VSIP\Cosmos.VS.DebugEngine.vsix"; DestDir: "{app}"; Flags: ignoreversion uninsremovereadonly Source: ".\Build\VSIP\XSharp.VS.vsix"; DestDir: "{app}"; Flags: ignoreversion uninsremovereadonly @@ -127,15 +128,11 @@ Root: HKCU; SubKey: Software\Cosmos; ValueType: none; ValueName: "DevKit"; Flags UseRelativePaths=True [Run] -Filename: "{code:GetVsixInstallCommand}"; Parameters: "{code:GetVsixInstallParams|Cosmos.VS.ProjectSystem.vsix}"; Description: "Install Cosmos Project System"; StatusMsg: "Installing Visual Studio Extension: Cosmos Project System" -Filename: "{code:GetVsixInstallCommand}"; Parameters: "{code:GetVsixInstallParams|Cosmos.VS.DebugEngine.vsix}"; Description: "Install Cosmos Debug Engine"; StatusMsg: "Installing Visual Studio Extension: Cosmos Debug Engine" -Filename: "{code:GetVsixInstallCommand}"; Parameters: "{code:GetVsixInstallParams|Cosmos.VS.Windows.vsix}"; Description: "Install Cosmos Debug Engine Windows"; StatusMsg: "Installing Visual Studio Extension: Cosmos Debug Engine Windows" -Filename: "{code:GetVsixInstallCommand}"; Parameters: "{code:GetVsixInstallParams|XSharp.VS.vsix}"; Description: "Install Cosmos X# Language Service"; StatusMsg: "Installing Visual Studio Extension: Cosmos X# Language Service" +Filename: "{app}\Build\Tools\VSIXBootstrapper.exe"; Parameters: "/a /u:Cosmos.VS.ProjectSystem"; Description: "Remove Cosmos Project System"; StatusMsg: "Removing Visual Studio Extension: Cosmos Project System" +Filename: "{app}\Build\Tools\VSIXBootstrapper.exe"; Parameters: "/a Cosmos.VS.ProjectSystem.vsix"; WorkingDir: "{app}"; Description: "Install Cosmos Project System"; StatusMsg: "Installing Visual Studio Extension: Cosmos Project System" [UninstallRun] Filename: "{code:GetVsixInstallCommand}"; Parameters: "{code:GetVsixUninstallParams|Cosmos.VS.ProjectSystem}" -Filename: "{code:GetVsixInstallCommand}"; Parameters: "{code:GetVsixUninstallParams|Cosmos.VS.DebugEngine}" -Filename: "{code:GetVsixInstallCommand}"; Parameters: "{code:GetVsixUninstallParams|Cosmos.VS.Windows}" Filename: "{code:GetVsixInstallCommand}"; Parameters: "{code:GetVsixUninstallParams|XSharp.VS}" [Code] @@ -147,9 +144,9 @@ var begin TempFilename := ExpandConstant('{tmp}\~execwithresult.txt'); - Command := + Command := Format('"%s" /S /C ""%s" %s > "%s""', [ExpandConstant('{cmd}'), Filename, Params, TempFilename]); - Result := + Result := Exec(ExpandConstant('{cmd}'), Command, WorkingDir, ShowCmd, Wait, ResultCode); if not Result then Exit; @@ -164,9 +161,9 @@ function ExecWithoutResult(const Filename, Params, WorkingDir: String; const Sho var Command: String; begin - Command := + Command := Format('"%s" /S /C ""%s" %s"', [ExpandConstant('{cmd}'), Filename, Params]); - Result := + Result := Exec(ExpandConstant('{cmd}'), Command, WorkingDir, ShowCmd, Wait, ResultCode); if not Result then Exit; @@ -209,7 +206,7 @@ function GetVsixInstallParams(const Filename: String): String; var Params: String; begin - Params := '/quiet "' + ExpandConstant('{app}\') + Filename + '"'; + Params := ' "' + ExpandConstant('{app}\') + Filename + '"'; Result := Params; end; @@ -217,7 +214,7 @@ function GetVsixUninstallParams(const Filename: String): String; var Params: String; begin - Params := '/quiet /uninstall:"' + Filename + '"'; + Params := ' /uninstall:"' + Filename + '"'; Result := Params; end; diff --git a/Setup/Events.inc b/Setup/Events.inc deleted file mode 100644 index 7d552b164..000000000 --- a/Setup/Events.inc +++ /dev/null @@ -1,41 +0,0 @@ -[Code] -///////////////////////////////////////////////////////////////////// -function GetUninstallString(): String; -var - sUnInstPath: String; - sUnInstallString: String; -begin - sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{#emit SetupSetting("AppId")}_is1'); - sUnInstallString := ''; - if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then - RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString); - Result := sUnInstallString; -end; - -///////////////////////////////////////////////////////////////////// -// Uninstall previously installed application. -///////////////////////////////////////////////////////////////////// -function UnInstallOldVersion(): Integer; -var - sUnInstallString: String; - iResultCode: Integer; -begin -// Return Values: -// 1 - uninstall string is empty -// 2 - error executing the UnInstallString -// 3 - successfully executed the UnInstallString - - // default return value - Result := 0; - - // get the uninstall string of the old app - sUnInstallString := GetUninstallString(); - if sUnInstallString <> '' then begin - sUnInstallString := RemoveQuotes(sUnInstallString); - if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then - Result := 3 - else - Result := 2; - end else - Result := 1; -end;