From 7d7a57aa88047508c9f521b2317c857f4c8ebb7a Mon Sep 17 00:00:00 2001 From: David Wise Date: Sat, 13 Oct 2018 10:19:15 -0700 Subject: [PATCH] I1620: DEVICE register list should contain WAIT(TIME) or CPS but not both Fix #632 --- I1620/i1620_pt.c | 10 ++++++++-- I1620/i1620_tty.c | 9 ++++++--- doc/i1620_doc.doc | Bin 150016 -> 151552 bytes 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/I1620/i1620_pt.c b/I1620/i1620_pt.c index 25b2626b..acfd1cf1 100644 --- a/I1620/i1620_pt.c +++ b/I1620/i1620_pt.c @@ -81,8 +81,11 @@ UNIT ptr_unit = { REG ptr_reg[] = { { FLDATAD (BIN, ptr_mode, 0, "binary mode flag") }, { DRDATAD (POS, ptr_unit.pos, T_ADDR_W, "position in the input file"), PV_LEFT }, - { DRDATAD (TIME, ptr_unit.wait, 24, "reader character delay"), PV_LEFT }, +#if (SIM_MAJOR >= 4) { DRDATAD (CPS, ptr_unit.DEFIO_CPS, 24, "Character Input Rate"), PV_LEFT }, +#else + { DRDATAD (TIME, ptr_unit.wait, 24, "reader character delay"), PV_LEFT }, +#endif { NULL } }; @@ -108,8 +111,11 @@ UNIT ptp_unit = { REG ptp_reg[] = { { FLDATAD (BIN, ptp_mode, 0, "binary mode flag") }, { DRDATAD (POS, ptp_unit.pos, T_ADDR_W, "position in the output file"), PV_LEFT }, - { DRDATAD (TIME, ptp_unit.wait, 24, "punch character delay"), PV_LEFT }, +#if (SIM_MAJOR >= 4) { DRDATAD (CPS, ptp_unit.DEFIO_CPS, 24, "Character output rate"), PV_LEFT }, +#else + { DRDATAD (TIME, ptp_unit.wait, 24, "punch character delay"), PV_LEFT }, +#endif { NULL } }; diff --git a/I1620/i1620_tty.c b/I1620/i1620_tty.c index 619e5436..8b5ec77e 100644 --- a/I1620/i1620_tty.c +++ b/I1620/i1620_tty.c @@ -98,10 +98,13 @@ REG tty_reg[] = { { FLDATAD (UNLOCK, tti_unlock, 0, "keyboard unlocked flag") }, { FLDATAD (FLAG, tti_flag, 0, "set flag on next input digit"), REG_HRO }, { DRDATAD (COL, tto_col, 7, "current column") }, - { DRDATAD (KTIME, tty_unit[UTTI].wait, 24, "keyboard polling interval"), REG_NZ + PV_LEFT }, - { DRDATAD (TTIME, tty_unit[UTTO].wait, 24, "typewriter character delay"), REG_NZ + PV_LEFT }, +#if (SIM_MAJOR >= 4) { DRDATAD (CPS, tty_unit[UTTO].DEFIO_CPS, 24, "Character Output Rate"), PV_LEFT }, { DRDATAD (ICPS, tty_unit[UTTI].DEFIO_CPS, 24, "Character Input Rate"), PV_LEFT }, +#else + { DRDATAD (KTIME, tty_unit[UTTI].wait, 24, "keyboard polling interval"), REG_NZ + PV_LEFT }, + { DRDATAD (TTIME, tty_unit[UTTO].wait, 24, "typewriter character delay"), REG_NZ + PV_LEFT }, +#endif { NULL } }; @@ -502,7 +505,7 @@ return SCPE_OK; t_stat tty_reset (DEVICE *dptr) { -sim_activate (&tty_unit[UTTI], tty_unit[UTTI].wait); /* activate poll */ +DEFIO_ACTIVATE(&tty_unit[UTTI]); /* activate poll */ sim_cancel (&tty_unit[UTTO]); /* cancel output */ tti_unlock = tti_flag = 0; /* tty locked */ tto_col = 1; diff --git a/doc/i1620_doc.doc b/doc/i1620_doc.doc index ff66fb8644e0dfc00402c89fb948b38c33e24135..154bd9a1f9cb1a8c28eba675bdca848b8290928a 100644 GIT binary patch delta 13003 zcmche3tUuX`p4gM7zGp*P(T!QG!ry6E;9po1;xDOJcjA!cRU=vG!{X`a?& zW~;f~y`-YzZN05)Wmein(ai9+(dL%Au9>Co_nmXjFb=}*e?OmpGoSCA=e*bF{k_k5 z&pU@<#!I0ymWIwtN^GSF;}s!98*F)c_1d*-GO-0GEx`_D$=T}L%6zqXaz{lp5Mw5c znK1p@bZ;@EzV#VuixKTRDI)FeOl{@LZ15|7EpfrfHwlY1hf}sHU>A&Q&Vhf2R;D>uIgF_xE%* zo3*-S_Pz6Z_RPe=8^(OW0F0NFzO)dkBIF&vt5GH#Ylny0o}x zt8SV$z-Omxzw_A{+IyDmO45!;o8xsQYpr9%M4xgQ>&GOj}ZDWk7mCLDJ_NBYD z4zX6@LX*5AAoO68VKzfznZ(PuN=ghcfOSTh*2~D&yCa=I$|4i|ZR*`fks=hHG(K zBL8&L0(C@jUT#tGSbNa}_LA{=_M*voI8{_^$Itwt!cO)(NSu;CX=;Htb!<`I6nkM& ziG9k{$&-tUOQ@4S#s0w5LZfu}utD~cB73iF&HYMThg>)97U#LgGGIy-71F%X%L94S z?78kKv^8yfe(rd3wH>d-c9RbD>p9S#>`FM3F2~SViojNEGv#EF8k2Wvz=% zYsc9bN{tiwqL8=z97md4l<-+1#*=3kL%brrr z?OJ3XJ9W}z`xNHfJuc7gE*xtw$tx(Z=RHgW6gW1#$VKMuj6ipoF_VowF~Z4>hu=bVvu&Xo{BX{WNUNvp{0$t{zGX+$HoL1 zK+iwbWR!Yu(>f?W&!tfX8ea8ZV}FqnZ5caioyL=F%<3#nd$DIsBQkdx6*3u7Y7xkLOb+j zyO87ILY##82bXp~_vK%=uG;$Qs;#TOG|V|w=JYCa!YY<pw%}R*k?NG}+ z6ccutEWd=7L3rZLkgL8gW9gx|Wa;9F5M@$dVJn2GA&Q7J9QR9V89lz_mKTK4{*1$o z?{r0v@29?KB#55vMX&xbjL^miZNiOh)tx+^{;tvJG_N6=`87o0AYVb*Z#!-A!9>kg z{$%@$mHW2sTXnJW;;WTDb54~xy~;#wdz2x<5A0NYLz5yr7?6;7!B3{ZK?e*m*5ey+ zpr8Ni*qa7Tkm?)a{zu7G(SF$xReQ2LU9%l6>H6dG^5X=>AIp!IKVM}&R%K4KOhb$l zY)7vXBQGE!v67vVRpPf7qk4?hCXY7cP~G^6H9Op1D>*t^vmJ|9qP6D760(O!vXO-I z-<6;L?!46PyYt^YUu8aKm?Ta#Ekm_~b*nUymy5Rln^5c0NjzGoD)YA&%y2NL79ad2 zZEal2wP@O2%Rbgdc}mMWmY|er&mKz%`xe2j!Zny*5#PCO6x(1(h5_Ic6WLz%2{^}R zP4`)T7v)|SPAkg13(&xT1ke89suF>+*0x;yua}`AWwz$#bF21LMZ&N%q^gbhb^*N%Rg5*qXHEB6a{Vye?^3@? zG_S1N>IEcZU6*jYrRN6Y{Qr>GKMMVWu&#Oc;Hrx66I$hLz?8R}f1-)fUW-1Fpxmcr z@cDvvKc73anI{s4oJFhpe3J_Ug6-q&9}|kJe3lGKBTWXSVacHMT9$IRa+9qJ$dgrf zMrW9R#-SL`Mn8=MysY&;_P+*ZfO0LlCDsylN!p4N_K;MR=mzso*_Ax4`Kbg&*RoC} zWV}z>NjL>p;o|8-7Y}V&x#i-ai;I2Mb3W@)pT(tnlX*YAsiB`Bqfh&k()OPY{jH*@ zCIPhD57kRr;Ww3m6BHn(cYCqyZ>l!=RJ>AOd-ha9Shr{)`aoZpUm33yX>pYa!(QWT zIjn#^@IL(CFVB})LaTy|tw?NO!Xh4P`IqoC_e%&I%x`d=HVlY1xv0c1^^1T2pW11+ zS2j@&Xzt2X&Gz>piPmLiT#j!pnm?^*(YV}2MZCQS!xTc>_I=X^4PwS`oLFRSiM4H& zp5H2-s)vOUVKFz{mbG1Wrmi;R?;mKkOWF5by1=`#;zH%6N{R6{EIz%N@~q;*{@wDu ze)l`_Xq~>psdx8h482$X#tgp>Tgy7^mm6#2zaOc6@O`4T@aKm5H;NLX^jvnnu9kgi zh$k|ghgZ-Hk{|_K&<%#dFc=PPGlWQhUXTsFA*{0y4IsS>&n2M`42IXc3h^c!g2Ry7 zjW(eh425AZ942=Y9#M?3sJjsBVFQ%G<2{6!0jpsxgl7s70kO~lIzlHH00ZSQONauP z1ch)Kz6D!P9-2ZUXa+-JIGn9KRlfh!{_@IGL(2D;W6RHd<{MjP%K{WJGvv`oH40Xp zdrJvkb&antg+IHMA@eV%XC(WnCzZ2Q3pZ7J!&IrhH~40JwrW0e1LIc7`I&DQHN0Be#n78!*)0fN8l^ycL$Eb z=n+D=VH0eDhj{os4L*X8;WGRJOGeV^nM-FX{i)!rlC&%{(JxzO$-;7#@)q*1Y-L)l zF?rjppulvb^vL;GMXNY}uU2uTo=1sflrpz3IMQ~m8`O1M5VSn+tQ zIDL+iGA@4t8ILcT@%TPR8IIpT1vDlkd%xqou;^a?CIcb&<2hV_f5Aog2`<5R zIs8EgO2=^vgj*-_jTn{}@^>nD;X$tdc@GNVDB&gwD<0yCfeF)@Vz}dXL_XXJBVj4! zm%*Rl4fqAFK)WYs7&4#>^oP4a%))87aP~r_mkMd{{^Ua03Td?Po*8L;E`~Ys?5u$v z8?I~$*mCKgge$E)X;M+CiKWLYrXHd98+u3`qy~S_F*I0bYLH}Vu)@?}F2k1+I86yw zni5PjC6L3v3*_*xFe2ks_ILv>_(GZZ8snFmybe;6UqNcp+0??);9GR4gsf*+`QiMt zOx|oEqM#8Ro=4Ead-K_wz@P234ONWBn*d$?WhN%w(G4MDXn!|6U9DKZgl1Q!qI*5&B3%R z+eiuc^kw?0cnj=3>YeT&o_K1jf9|0@{j=S>#q|sxW(svXB1xet78^prYE>0}EUu%7f^hBAv*G%ZXeCRA z!XWtO?w!6w+;QPE$FRT6PEp=?`IrKj>{3nfgqH&GJr7KsWot%x@% z_ZG1X!XKTAt2h*LV*9akyWCaOmf5RVH7T( za$rB7I<9Nj5$G*{z^mSh;jP~Q9KsdYaAsOS!vP*UL^Y3{)jf8KY96o2xK5c)os|+l zPn^~Lb&6{KI!%B5Bz5YeQv{^%nD`5vyfl$i_FSgYTv5A5l)am!Y-=u!2{}q;f;3jlQkJBI*A+wf zE7j2cb;YRuL3+{#rI|iulhQe=j+tIZri+}uicR0SL5V9X-=xfmXnkP>tM?w`M@y_@ z!E9YTH1n{@HEVZm-HSVDYv-gSJvAzjc;*s zpDlN`az80|b8;^rZ^d#^mdoC__t}N9PUKU)0H(l0Fby7tM}gbBcnlr~?$%<4u5?yo zBcH+KUMZe~Iq-bhKR;3qDay{Wk3LqesUF{@EmC=hiyUzWf5FWaPX1!t6!}MAzX4II+>QYNyaIF zl$L&z;6U`6-Kbd;maQ7=v3}K(hbA>mf{cNhoN?Bo35#7V^{Q*)n*`RsS}NA8j8oLC zjI$PHSSe+Ho*TwIYi5nkxN1?xRf{q#syArUV}u~f>kTrkyqcA9)e%%L4lc zHj412&IbBr7TH(W=&@mJw1f@dYpiE%4&Q#0O)(q6R*=7ndTiz9t>)_*l&__HDUT-E z#(lMgAO7vyqhC%_|EN0-D)F9Pc(WdF3h-tp-b}=s!+4_%GrS4LlSsG=Z-(N{K0G-H z$M9wq-t5JjC_IUWkMZUT-mJkJJD#+MV!RoOH_P#4JsiiIy6aeJ@#g0({D5?qe&C?8 z#AEBj(+Y4xIux>cKMbp3GwdH|JZlIZWISs)$nh)q8YFAz=!>aIatx3 z>4G5QHe`T@->qWY0$T~19dH#?f}#VsU^I+_PhdZ+8iKU28Fs@HV+jnHIRP7#LK=rN z)0r=LkPScyJPUJR+H>qoVD<{m9el{ST*>_W*YjBR=~qg!Qs*b??JBGDwQ^^B+xX{B z#_Bo2>XhKg&z_8J#e>YpjwvO!9kWRu8lq0Oeeev{{t$IqaKxOGv27@Dpi+s`&xEM` z^wptiOt7Hd%_NVmP+ICm_0(Sat@YHVw!W0s2i8-c2wqAT39{a4>Yc5pPPDyE6+NfE z`o7IBTc`W@1>Y+72XCZ~bm6{ld0w|WOwG47k$xnHt21qhv#{_ZUjN~wQdd9Lfd2P? zqeKM{p@`{LOC#Cq)_%&HZpG>44QMOmX6=-(TZG!$w(xoB zR(*VNHy8>JST6# zJFpU1u7XzsS935|Zt!|2gN?8W`2HKb75)s{;jhNd_X8d{h)k|>wxqNoj~x`_oYuVO z71?HINWEl;c=ljg_#pZdsn(57#|2!Z&&Nk0S>f@r+ z{z{0xHcGwbOzSj{e6?X6RaI?4s_j}QQ8B%Z*bz!4`MM@+^XldO9b-Pf$iz>u;Z=sZ^d-}bWH$lpV;C1<&5zlh7O#T?%&6!O+A?~51H?{0YV>O@9 zV3hhc`Acp6=@@l^60Em~RZo;f#4GPA8=9zX6eU%^IZjOsdR;rH4~bKw;|Dn$^0)9o zG}zeNkZ3{neQG9WG5WtU)uKK#V%^?q zf&U^vJ@#Gw#BMQI3}lnFNAwZ9#0YUv+$HvjzT!i2kBR}JxA>aWq5ASHHKW1xjg_6x zQpeV5lbW2=J3Ygd-Z97k($Q@*x9ygB z%v0Nk*4|rIZmW`^up!P|99pbW&~mH?r+cV=REKC^E~f! z-t(R_vtXrl!7}TTgzhnl@E##T+=48V*REf`E;Bomh=wjunV6%lQkJS+5_>43t(Z1* z+RR@azdF2a{r_7n5u#^LMZ7R^)`fgE|ZG9_ME|c^j;qCPXcLUnc(} zRfr8S-u$M{@7w6ZBE*$AA?~D|y_*m#X)?|!1kJ^G&hog)xo4vS`VcSX3GqHHN6rvp z26P`BN=gv99bUb`4A(^!#vN|{??+a+tk}z=C$VfsoLSt3`0)SV!|AToUTm>OY+M01Z`PZnjt4@2g8hU?MYgz_9;ewvNovw z?S^dE%IoD6?Tvcbp;fgv`nRWQ;T_ESX3z%_STv9mPKR#IG8 zSWq;>R!~&#Dt*vd7;GKuSFL<*iR+=#0*Y+8`OZ>ju9Wgzh0eJZqx+n&+~QZY)aA^( zS+xP1RGVM5k~u}W`3*bMMh_ULEg2bJ@#3KS@2P0_!M%!R*FV!zH@z}pgs_QnQOy6r zB2$bJ!F&diDiU+VEa4KRqCn)5E=6{Vy!zVZBA*-^WlqXuzF9-IvC*nbJFp`vYdWPsTu$wV_5KT@*7wIjLME{|=>*PBG0hfLCeRW*P(77^33m7s8^V3kzL&w(f~Z z3AW-=TcX|W^I};Kt^1njK83}(&hmodBAc@)&z4(UR9;XtN6u||u`Rz~Mn1D+)+md& z4V`W)&v)5eR4tyaje0XGd75i_ajDCbJ8jPN=~REnS!SC)r?9Y>C$qT3RqE~E=-ZX2 z6~Egt%IwsZAdh(4JteN(0%xJEyyAGpt!j{G^71^>RiZm>N_&0OElOZtuNw=o&m|tl z_FO#Rb*ps0)8nOwILisa#h!W(Qnysh)o0U78|hlf2vMvbj#YXj%E`;6yujl(Ipw~d zWRE3$T=eAfghPRtE(1WZYdiM#chjU;$nNDtn8VA+F>~Zurphp+(4$;26XT02sp1UM zPROILLO!y+jTQxz6p3EQQUR%8F?D3x8wRsPFWIcvQ{5$IGlYy5UsD+arIgPi&ndL$ z)^@CDRrxnn`{DUWn~h7^Gf^d_uCg*BWY(O*@`92=CbD3btE`tcdt;PaPNck+^K33B zm!B;01c{7*QrC=vGVgVrTk4wSVj=LWCIh9Hjli(E9(K;6TmM)f*V}7W<_K00dU48V z@S;CDr-b$OfTDTw6g|nI~w+tlRRl zvTj>Ym=^tIVcz$_LY#yP$1fb;yKU`%z0%KU$4|GRdESFpRPLn zaTWhIo|fV&pQ!u9MLv=HdSsYQ4P4k_=0l1QtpXL#nA+#ZBDBAMZEb;G9y#W)b)eMo z-ay4qP0^g5-d?4V^}XJGI4b)ly)?GJtH1rDuz&K6J`f37T-9RDa@0QP=bEaTsy$U7 z@c%8J_<~P-(kDJx!~Vx(Y%RO4dbK`3*3~pL=p4I8zk&!Y<{PW~COZEk4V&{!V|zQb zm?<6Qo$m%dwy9e6F^iV*jkSGaJ>p+KqH6Y|4{Mg=6LT)tUOsYp5C1pT){CorqV5wH z)r)diuS<@$ywUQYDGf7D@WgO~Z>}BvxBI3!Pc-(Muxk^K+q4D83CZ@-03#y|76Rbu!Xi_cEZG1*~SA-MwF3@7W_sJQi{C(HqH&OmyzZT@E(R=)6 zqJeMYm!6E&qEE(YnNSGJPR3c<@aVMkv~5g3&i&z+AAb4aTi9a?8%<%ADd?uK$Pj#& z#cGyw|DX@Lqd|ribIQ*XK6&~EKle4zyV-@a@m%{yNrRs3TKCg7?e5cYTKVa?!0$2l zq%{95(Qr1dPj5_ywLD@;78wDd22iW0`3^mXRLky$@%v;%@bq&&-}kH zfY)nPZ4{Q4oQ(^52MbrjZdh7JP}C*#{6{hW?BkD4l@l$5R#)e)zXdE~>G0VrZ-i&9 z|NgMnVt%~Yg3c9OH&(M;+&St>-O1{@D||dBuXv@J&kY%rdyDw*DU_*`)%$nK&-$HS z^Sn0ZUmDk{RYd-V2a2^VmwM{wTPp38tk=)Adi`=MZRf?iG|S)bc27wYVk#u3^HK;# z!Dtu*QGIxk1zCNC7z$%yBCNerhzd9fr(s$@A#z~>{0`pkFT^g`4IjfZ1B6%t+u$SU zpCQBmn3y3Zh{;kID8xLN4;O2zYOD6|;~$@kd`N8Duy4aQdDrV4-S9tf1#$-okq2)L zMk)9d_CO7s03}n1c(?9wFL85tP8^upiFCk5C8W$D%0AzE_A+xL9|wu9lBH zb6NNpP+Lus0yEPmc}iryw_$_EvKfW?rj|;yw({z2?s0N{T`(QY+1P?CXXAS~34zRn z6?#KF%z%7&4a^xkjVxy@fLRKJUeFt+!wgsnayI2m`r@f_ekQDP!2D_r|=7yfsh^z_YLf-h=hCt1<(${RDdauBQ?C&W6~1AF0HI0Kj9GPD?9@0*)Vle|p!7{i%E9BnYf z8oKcx;s|Luj5&nL5Ecl7_Rs;|nZOHwh?<0X&~h^S1qgsZuuf(T_;rd9e}|njSll7w z0lsm8O+`X%ffcj4Mj)%4ZxCSfgIrhe=%d5|xaM(vzzisWwe(p5@4@>Jw17363;9N> zWyY1dm@A*xRj!uOjh~lEKV5f4?-;6V)c3bk?r^6{A4&sF<5nBSb(-WgP8wx}zfJMl zv&*n&pkdEu!=9CfJwpt8wixz2X4oTb$v14dD$JvDei+wyku-1}Mo9zLgETN01KYx| z$A!2XLKiU$a0UJs#w=zfhZavU6L2fU!PzB*DQsIR#CF)SoVx%Vg5SQ#P3}eQz~!0R zxpSSsuB|*5EH9{FJtJJ%=9XS<3w;=H5abwxPvATgOeJnXfdoHgMjOhgC?FM*iu_`G`zai<5jOi z197Nys&r_sbZTW*C*?y$kM5|%>6V^K-0(N}KKM;o1#iJSuo~WlzrtEr2OHr7IA2%I z-|^}lYwO<7J)Z@24;!Byd=EH5kGWm3hOpn4&y2l2JAW~#r*^&WH+ufl%YSl zU2(*=phASV!eDm9BXd-C$Es&{ER08nS1;Y7bXgv)r1W8Esp8upRs0J`71w}Nu>#(M z_3%Daf}yhhTxX>_j=imNOSCdbdGoohs`^HZ5~N>$WCEDfdfGcHA(EU2mYPT{P0wF1)(>S!5R}4b}f5twF~Pw6%*y+S(iY zH^uO;pT-$|Z|FFsp~fkVHBM=)aY|#2*Y>-?Gx7bEaz7JO8ta?VSYJoucyM^)!Owsd z88>w7XsoZJvAzyNUq6i;!cqChOr?vWeiT~yc9ycGixg(&DjBy)Vf9nWilpF{LcXmY zozqgjvDOnlP&(^no0UFc79-!{d6PZmF2$m6|3HbVtlF$R9TMB}K34JF-k*%Hwg<3A zgFIv|t8!0$(dSBLANke7k+!V%?O5?bxbKB|U+&4bT=Er9cmzM+Nbo+`$=#2YKi%<02adU;BojpaL*J^!XJQpqaM>Y<<-x3s8hsPzEH|#JxKC=U+G;LSO%IYOKhershP555$tYqKzlO{ zQ<^DrG*gz^sLXAyeaRxNQK7G_Y0uc3@r<1{wJDF<@vl{s>-T@HboHAAmZN5xH0=`> zsAk$V?GwAeCrwQPOIS0VHtiD@wIK5x>_?Y+nxH*t+=y}V4DQicV#nX;xm!;skv|n<$v_A8fUrWwZD^n?*RSv#_#u zefbibWHya)@D-cJmTV9=zQH2rMPr@1S0DL|Neu&*sGi41uBG zX660^Y=^y2!`lY=)**6)_pQSj&UJ7OF2EJI3fDm$DMWW3fs=f=NP@K?P5O zo1xnjo`2v4czp`@lJr6$2E!R{F&AJvM(=@sPoWenUBasp$X>?n1;%4c9$44%=m}3^ z*mKagf=6PgfgfQa#!iPX*7Fhr4q*7VFlPfsg0hj<1sn0cbt?}syV?B1N3a8S!EX2j zK83xo5B9@B2oM&1>rv%nC0hTvTIs6)=P_l8`;48D;qesQ3~#||_#RHf{Y>{H*pW(b zfqZG42T#CacpLr#R+MT7d;6k2jJ%WQRoDi*K)y(>h1UIea)SaW>4z(85q<(I@e~C4 zPz-$r@`@RD!N=epjFO9+;sJX2Wx^41R)(kT!&V;K)#74mRg7UC@EJ zjT+__A|2sQ_>6!#0PP5h_RtTqVKzJr-$4y*9ff;gFMI{d@(2uAIujYfis&4!KFWMO z#(sdC{}b>hcm)>!k-Y%Cw3@V?fB*DcR-XD!NmN<}5(5V-JJ%@p^|Vag_E~2=BSekX zyIxgV>3SP=v?XIZd7JC=+6Jlj1_Y89ixV&Ws6=_I{vk;Ht!4kmRNWU!^LfGQP<>di z8fK~9L!L8Oebln%6Qt^3)g3UEdfjC6lf+L@J9V%={G1XK@B-PlkzI1io9znNw)eBn z-DS>M#%a}#J}3OFbXy*x-f3C#DZQcUT+0G!%-`uNk$5dbO(kqF$@08-=ngjAJ%ngs&k6v#sX`Cuu(?URR`vNj+OS#~``(dUM%iSB1etb(`UU0^Yb zTmxL|kzCi2>!A`h0M~LPuO1>d!DgVp$X(t&FvTGvgE0vydXeV@#ha!lPrA@Z(}O4d zuuM;+;ua(0_eO=CM*3+Z{fUuYW~BES>6eXknwsJ1(DMUt`pY!Zqx2^t)Ep&1-yfk~ z*8?Kex_-*y#gVKpcr0IfK_rEZA38d0CM&Z1UA4@5Jep1L>+gvC)$T2Z?6_4Q)m06T?sjUN{9SPi zy6OP(EW48DMU@M?ssq|7t17q0t6FG~{3*Il{tKW_%}}p+a;ivuBXjZwsyqA1Izgxt z3~iwugg_{Sfh_O9IUFLOBSb+fW%>21$zcl&i#`AfE%*D`MK u;G}^G>6t0L6OtX7z3ujt%-(6qgA;nECk`H%nviZE