Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utcsri!utegc!lamy From: lamy@ai.toronto.edu Newsgroups: comp.text Subject: dvi2ps/PostScript package (part 3) Message-ID: <8612010055.AA09693@ephemeral.ai.toronto.edu> Date: Sun, 30-Nov-86 20:02:58 EST Article-I.D.: ephemera.8612010055.AA09693 Posted: Sun Nov 30 20:02:58 1986 Date-Received: Sun, 30-Nov-86 21:40:11 EST Organization: University of Toronto, AI group Lines: 831 Checksum: 44042 part 3 of 3 #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # findfile.c # LaserPrep.uu # This archive created: Sun Nov 30 19:06:12 1986 export PATH; PATH=/bin:$PATH if test -f 'findfile.c' then echo shar: will not over-write existing file "'findfile.c'" else cat << \SHAR_EOF > 'findfile.c' /* findfile.c * Copyright 1985 Massachusetts Institute of Technology */ #include #include #include #include "findfile.h" int findfileindir(area, name, mag, s, nname, nmag) char *area,*name,*s,*nname; int mag,*nmag; { FILE *f; char buf[BUFSIZ]; int found = 0; sprintf(s,"%s/SUBDIR",area); if (!access(s,0)) sprintf(s,"%s/%s/%s.%dpxl",area,name,name,mag); else sprintf(s,"%s/%s.%dpxl",area,name,mag); if (!access(s,4)) { strcpy(nname,name); *nmag = mag; return(-1); } else { sprintf(buf,"%s/NEEDED",area); if (!access(buf,2)) { sprintf(s,"%s.%dpxl\n",name,mag); f = fopen(buf,"r+"); while (fgets(buf,sizeof(buf),f)) if (!strcmp(buf,s)) found++; if (!found) fputs(s,f); fclose(f); } return(0); } } /* true if it found a file, false otherwise; name is in s */ int findfile(dirvec,dirveclen,area, name, mag, s, nname, nmag) char *dirvec[],*area,*name,*s,*nname; int dirveclen,mag,*nmag; { int i,point; char family[128]; strcpy(nname,name); *nmag = mag; point = -1; (void) sscanf(name,"%[^0123456789.]%d",family,&point); /* First check dir area given in DVI file */ if (*area && findfileindir(area, name, mag, s, nname, nmag)) return(-1); /* Then check along dirvec */ for (i = 0; i < dirveclen; i++) if (findfileindir(dirvec[i], name, mag, s, nname, nmag)) return(-1); /* next check for closest magnification along dirvec */ return(findanyfile(dirvec,dirveclen,family,point,mag,name,s,nname,nmag)); } int strdiff(s1,s2) char *s1,*s2; { register int diff = 0; while (*s1 && *s2) diff += abs(*s1++ - *s2++); while (*s1) diff += *s1++; while (*s2) diff += *s2++; return(diff); } scanpdir(dir,name, family,point,mag, bestfamily,bestname,bestpoint,bestmag, min_df,min_dp,min_dm) char *dir,*name,*family,*bestfamily,*bestname; int point,mag,*bestpoint,*bestmag,*min_df,*min_dp,*min_dm; { DIR *dirstream; struct direct *dirrecord; char qfamily[128]; int qpoint,qmag,df,dp,dm; if (dirstream = opendir(dir)) { while (dirrecord = readdir(dirstream)) { if (!strcmp(dirrecord->d_name+dirrecord->d_namlen-3,"pxl")) { qpoint = -1; qmag = -1; (void) sscanf(dirrecord->d_name,"%[^0123456789.]%d.%d", qfamily,&qpoint,&qmag); df = strdiff(family,qfamily); dp = abs(point - qpoint); dm = abs(mag - qmag); if ((df < *min_df) || (df == *min_df && dp < *min_dp) || (df == *min_df && dp == *min_dp && dm < *min_dm)) { sprintf(bestname,"%s/%s",dir,dirrecord->d_name); strcpy(bestfamily,qfamily); *bestpoint = qpoint; *bestmag = qmag; *min_df = df; *min_dp = dp; *min_dm = dm; } } } closedir(dirstream); } } scandir(dir,name, family,point,mag, bestfamily,bestname,bestpoint,bestmag, min_df,min_dp,min_dm) char *dir,*name,*family,*bestfamily,*bestname; int point,mag,*bestpoint,*bestmag,*min_df,*min_dp,*min_dm; { DIR *dirstream; struct direct *dirrecord; int df; char pdir[MAXNAMLEN]; if (dirstream = opendir(dir)) { while (dirrecord = readdir(dirstream)) { if (dirrecord->d_name[0] != '.') { df = strdiff(name,dirrecord->d_name); if (df <= *min_df) { sprintf(pdir,"%s/%s",dir,dirrecord->d_name); scanpdir(pdir,name, family,point,mag, bestfamily,bestname,bestpoint,bestmag, min_df,min_dp,min_dm); } } } closedir(dirstream); } } /* finds the best match to the desired font */ int findanyfile(dirvec,dirveclen,family,point,mag,name,s,nname,nmag) char *dirvec[],*family,*name,*s,*nname; int dirveclen,point,mag,*nmag; { char foo[MAXNAMLEN],bestname[MAXNAMLEN],bestfamily[128]; int min_df,min_dp,min_dm,df,dp,dm,i,bestpoint,bestmag; bestname[0] = '\0'; min_df = min_dp = min_dm = 9999999; for (i = 0; i < dirveclen; i++) { sprintf(foo,"%s/SUBDIR",dirvec[i]); if (!access(foo,0)) scandir(dirvec[i],name, family,point,mag, bestfamily,bestname,&bestpoint,&bestmag, &min_df,&min_dp,&min_dm); else scanpdir(dirvec[i],name, family,point,mag, bestfamily,bestname,&bestpoint,&bestmag, &min_df,&min_dp,&min_dm); } if (bestname[0]) { if (bestpoint > 0) sprintf(nname,"%s%d",bestfamily,bestpoint); else strcpy(nname,bestfamily); *nmag = bestmag; strcpy(s,bestname); if ((strcmp(bestfamily,family) || bestpoint != point || abs(bestmag - mag) > 2)) fprintf(stderr, "Substituted font %s at mag %d for %s at mag %d.\n", nname,(bestmag * 4 + 3) / 6, name,(mag * 4 + 3) / 6); return(-1); } return(0); } SHAR_EOF fi # end of overwriting check if test -f 'LaserPrep.uu' then echo shar: will not over-write existing file "'LaserPrep.uu'" else cat << \SHAR_EOF > 'LaserPrep.uu' begin 644 LaserPrep.ps M)2$*)3 P,# P,# P,# *)2!#;W!Y4FEG:'0@07!P;&4@0V]M<'5T97(L($EN M8RX@,3DX-"P@,3DX-2 @($%L;"!2:6=H=',@4F5S97)V960N"B4*)2 D2&5A M9&5R.B!,87-E0HE(%)E M;6]V960@8VAA2!E;G5M97)A=&EO;BX@($9O M;G1S(&QI:V4@4WEM8F]L(&%N9 HE(%IA<&9$:6YG8F%T2!P=7-H:6YG('1H92!S=')I;F<@;V8@96YC0HE($]R:6=I;F%L(&9I;&4L(&%S(&5X=')A8W1E9"!B>2!T>7!I;F<@8V]N M=')O;"U+(&EM;65D:6%T96QY(&%F=&5R"B4@&ETV-US!]:69E;'-E(&5X8V@@TQ7(#(@97%]8FEN9"!D968*+V]K>W-YTQ7(# @9W0@86YD?6EF?6)I;F0@9&5F M"B5O:WMS=&%T=7-D:6-T(&)E9VEN(#D@&-H(# @;F4@;W)[.2 P(#,@7,@,2!D968*+VYL=R N,C0@9&5F"B]P<'(@ M6RTS,B M,CDN-3(@-S8R(#4X,BXT.%T@9&5F"B]P9W,@,3,R,"!D968*+W!O M&(@-3 P(&%R&-H(&1E9GUB9&8*+WAL>VYE9R!E>&-H(&YE9R!TV9P>V=S879E(#$@WUB:6YD"F1U< HR(&-O<'D*761E9@IC=7)R96YT&1F M("]R;W0@>&1F("]F'!O"!A;F1[;&5G86Q]:68*<&=S M(#$R,3(@97%[9'5P>VYO=&5]:68@-30@,S(N-"!TV$TVYO=&5]:68@<'AS('!YS,@:6YD97@@,R!I;F1E>"!X;"!P<'(@86QO860@<&]P M(#,@+3$@&-H('-U8B S(#$@ M&-H(#,@+3$@W-H;W<@<&]P('!O<'UB9&8*+V]B M;'M[,"XR,3(U-3<@;75L?7MP;W @,'UI9F5LS$R-WUI9F5LW!S(&9G(#4@+3$@"!A;F0@<'5T?6)D9@HO&-H('!U='UB9&8*+VUX,2!M871R:7@@9&5F"B]M>#(@;6%TWUB9&8*+V)U>V-U2!C=7)R M96YT;&EN97=I9'1H(&-U&-H(&%L;V%D(&QE;F=T: IF9R U('-F;'LQ?7LP?6EF M96QS92!P=70@;6P@86P@=&<@8VD@<&YS=B!P;G-H"C)T(&%L;V%D('!O<" S M82!A;&]A9"!P;W @;7@R(&%L;V%D('!O<"!M>#$@86QO860@<&]P(&UT>"!C M=7)R96YT;6%T#,@86QO860@<&]P('!S('!M(')E M#,@87-T;W)E('!O<'UB9&8*+V)N>R]P;2!S879E M(&1E9B!M>#,@"!M>#$@87-T;W)E('!O<"!M>#(@87-T;W)E('!O<" S82!A M&1F("]P;G-V('AD9B!G M=R O8VD@>&1F("]T9R!X9&8@+V%L('AD9B O;6P@>&1F"B]S9FP@9F<@-2!G M970@,"!N92!D968@87)R87D@87-T;W)E(&5X8V@@W-A=F4@=FUS=&%T=7,@97AC:"!S=6(@-3 P,# @;'0*>R@E)5M\ M,'Q=)24I/7!R:6YT(&9L=7-H?6EF('!O<"!R97-T;W)E?6)D9@HO=&-[,S(W M-C@@9&EV(&%D9" S(#$@2!D968*+W1P>S-A M(&%S=&]R92!P;W!]8F1F"B]T='MM>#(@8W5R"!P;W @8W5R M2 R="!A;&]A9"!P;W @<6$@,B!C;W!Y('1R86YS M;&%T92 S82!A;&]A9"!P;W @97AC:"!D=7 @,"!E<0I[<&]P?7LQ(&5Q>RTQ M(#%]>S$@+3%]:69E;'-E('-C86QE?6EF96QS92!R;W1A=&4@<&]P(&YE9R!E M>&-H(&YE9R!E>&-H('1R86YS;&%T92!M;W9E=&]]8F1F"B]T97MM>#(@R]F:V(@9F%L2!D968@+V-I(# @9&5F("]M;" P(&1E9B O86P@,"!D968@,R!E<7LQ('-E M=&=R87E]:69]8F1F"B]T8GLS(&5Q>S$@7UI9B!P;W @<&]P('!O M<'UB9&8*+V1A;7MM;"!A9&0@+VUL('AD9B!D=7 @;&5N9W1H('-B(&5X8V@@ M8VD@97AC:"!D=7 *8VD@861D("]C:2!X9&8@9V5T:6YT97)V86P@8V]P>2!D M=7 @=VD@<&]P(&1U<"!A;"!A9&0@+V%L('AD9@IC=7)R96YT9W)A>7MS971G MW!O<"!S82 R M(&=E=" P(&YE>V1U<"!W:2!P;W @9'5P(#,@+3$@2!M>#$@V1U<"!F>GMF>GU]8F1F"B]T;7MS879E(&5X8VA[9'5P('1Y<&4@9'5P("]A M71Y<&4@97$@97AC:" O<&%C:V5D87)R87ET>7!E(&5Q(&]R"GME>&5C M?7MD=7 @='EP92 O9&EC='1Y<&4@97%[9FMB>W-E=&9O;G0@9F<@97AC:" W M(&5X8V@@<'5T?7MP;W @<&]P?6EF96QS97UI9GUI9F5L&(@97AC:" P(&5X8V@@9V5T:6YT97)V86P@87-T;W)E M(&5X8V@@<&]P(&5S?6)D9@HO:V)[?6)D9@HO9'9[9'5P(# @;F5[9&EV?7MP M;W!]:69E;'-E?6)D9@HO97-[,R M,2!R;VQL(&1U<"!S82 X(&=E= IS82 Q M(&=E=" P(&YE>R]M;"!M;" N,B!P&-H(&1U<" Q(&5Q"GMP;W @+W1V(&%L(&UL(&=T>R]L M;"!L;V%D("]M;"!M;"!A;"!D=B!D969]>WMS:&]W('!O<"!P;W!]+VUL(#$@ M9&5F?6EF96QS92!D969]>V1U<" S(&5Q"GMP;W @+W1V(&%L(&UL(&=T>R]L M;"!L;V%D("]M;"!M;"!A;"!D=B!D969]>VUL(&%L('-U8B P(')M;W9E=&][ M7UB9&8*+W!O<#1[<&]P M('!O<"!P;W @<&]P?6)D9@HO:71[VUX,2!I=')A;G-F;W)M?6EF?6)D M9@HO9VU[97AC:"!I="!M;W9E=&]]8F1F"B]L;7MD;&T@97AE8WUB9&8*+V1L M;7M[<&]P(&-U&-H M('!O<"!S=6(@,"!E>&-H(&ET(')M;W9E=&]]?6)D9@HO9FU[W-T871U&-H('!U='UB9&8*+VUF>V1U<" O;6$@97AC:"!D968@ M,"!G='MF;2!S92 O=#$@-2!S="!O:R!M82 Q(&=T(&%N9'LO=#(@,"!S=" O M=#,@,"!S= IS=&%T=7-D:6-T("]M86YU86QF965D=&EM96]U=" S-C P('!U M= I]:69]:69]8F1F"B]J;GMO:WMS=&%T=7-D:6-T(&5X8V@@+VIO8FYA;64@ M97AC:"!P=71]>W!O<'UI9F5LV5X8VA]:68@<&]P?6)D9@HO;6%X>S(@8V]P>2!L='ME M>&-H?6EF('!O<'UB9&8*+V1H>V9G(#8@,2!P=70@87)R87D@87-T;W)E(&5X M8V@@<&]P(&5X8V@@<&]P(&5X8V@@V=S879E(&YL=R!P>7,@9&EV('-E=&QI;F5W:61T:" P('-E=&=R M87E]8F1F"B]D;&EN>V5X8V@@8W5RVQI;F5T;R!C=7)R96YT<&]I;G0@,"!D M;V]P(&UO=F5T;WT*>V5X8V@@8W5R&1F("] >"!X9&8@9G![<&YL:"! M>"!L='MP;FQV($!Y(&=E"GMP;FQH('!N;'8@;6]V971O($!X($!Y(&QI;F5T M;R!P;G-H(# @W!N M;&@@<&YL=B!M;W9E=&\@<&YS:" P(')L:6YE=&\@0'@@<&YS:"!A9&0@0'D@ M;&EN971O(# @<&YS=B!R;&EN971O"G!N2!G= I[0'@@ M0'D@;6]V971O('!N"!P;G-H(&%D9"! >2!P;G-V(&%D9"!L M:6YE=&\@<&YS:"!N96<@,"!R;&EN971O"C @<&YS=B!N96<@&-H(#0@97AC:"!P=70@9F<@97AC:" S M(&5X8V@@<'5T(&=W('!NR] 9B!X9&8@ M+T!O<"!X9&8@+T!E('AD9B O0',@>&1F("] &1F("] ="!X9&8@9W-A=F4*0'(@0&P@861D(#(@9&EV($!B($!T(&%D9" R M(&1I=B!T"! ;W @9&]O M<"!GV1U<" P(&5Q(&)AV1U<"!P;G-H(#(@9&EV(&QE M(&5X8V@@<&YS=B R(&1I=B!L92!OR] ;W @>&1F(#(N(&1I M=B O0'<@>&1F(#(N(&1I=B O0&@@>&1F"B] &1F("] ="!X9&8*0'0@0&(@97$@0&P@0'(@97$@0'<@;75P(&]R(&]R>T!T M($!L($!B($!R($!O<"!R8WT*>T!R($!L('-U8B R+B!D:78@9'5P($!W(&QT M>R] =R!X9&9]>W!O<'UI9F5LV5X M8V@@;&EN971O?61E9GUD969]8F1F"B]P;'ME>&-H(&QI;F5T;WUB9&8*+V5P M>V1U<" P(&5Q>WMM;W9E=&]]>V5X8V@@;&EN?7M]>R@E)5M\,7Q=)24I/2!F M;'5S:'UP871H9F]R86QL"G!O<"!GV9R M97$@W5S97)D:6-T("]S;6]O=&@@:VYO=VY]8F1F"B]X.'LS M(&)I='-H:69T?6)D9@HO>#1[,B!B:71S:&EF='UB9&8*+V0T>RTR(&)I='-H M:69T?6)D9@HO>&9[+C$R(&UU;"!E>&-H(#@N(&1I=GUB9&8*+V1B>R]B;6]D M92!X9&8*&8@97AC:"!D M8R!T2!X9B N.38@ M;75L(&5X8V@@2!N96<@ M,2!A9&0@97AC:"!N96<@,2!A9&0@97AC:" R(')C?6EF"F)M;V1E(#,@97$@ M8FUO9&4@-R!E<2!O#0@+T!D>2!X9&8@,B!S=6(@>#0@+T!D>"!X9&8@ M+T!I9'@@>&1F"D!I9'@@-2!B:71S:&EF="! 9'D@8FUO9&4@,"!E<2!B;6]D M92 Q(&5Q(&)M;V1E(#,@97$@;W(@;W(@0&1X(# @,"! 9'D@." P(#9A(&%S M=&]R90I[0&8@0&1Y(&0T(#0@861D($!I9'@@;75L('-T#0@R] 9'D@>&1F(#(@&1F("] :61X('AD9@HO0'AS M($!I9'@@" P(# @0&1Y(# @," V82!A MT!P?6EM86=E;6%S:R! <"! <"!P;W T?6EF96QS92!R97-T;W)E M?6)D9@HO=V0@,30@9&EC="!D968*+VUF;VYT(#$T(&1I8W0@9&5F"B]M9&9[ M;69O;G0@=V-H96-K(&YO='LO;69O;G0@,30@9&EC="!D969]:68@;69O;G0@ M8F5G:6X@>&1F(&5N9'UB9&8*+V-F>WLQ(&EN9&5X("]&240@;F5[=&UP(#,@ M,2!R;VQL('!U='U[<&]P('!O<'UI9F5LW1M<" O16YC;V1I;F<@;6%C=F5C('!U='UI9GUB9&8*+V1U>V9I;F1F;VYT M(&1U<"!L96YG=&@@9&EC=" O=&UP(&5X8V@@9&5F(&-F?6)D9@HO;F9[=&UP M(&1E9FEN969O;G0@<&]P?6)D9@HO&-H(&1E9B!D=2!M=B!N M9GUB9&8*+V9E>W1M<" O16YC;V1I;F<@,B!C;W!Y(&=E="!D=7 @;&5N9W1H M(&%R'-[,"!S97)V97)D:6-T(&)E9VEN(&5X:71S97)V M97)]8F1F"B]B;6)C>W=D(&)E9VEN"B]CV9D(&)E9VEN"F1U M<" T(&=E=" X(&)I='-H:69T(#$@:6YD97@@-2!G970@861D"F5X8V@@9'5P M(# @9V5T(#@@8FET" Q(&=E="!A9&0@97AC:"!D=7 @ M,B!G970@:VT@861D(&5X8V@@,R!G970@>&T@86QO860@<&]P"F5N9"!D=7 @ M&1F(&YE9R O9&5S8R!X9&8*+VAW9"!L;V%D M(# @9V5T(&1I=B T(#$@&1F"C @8V]F9B!D97-C(&)I='<@8V]F9B!A9&0@V-O9F8@9&5S8R!TS$@ M861D?6EF("]B>7<@>&1F"ELR(#<@-"!I;F1E>"!S=6(@8FETS!]:69E;'-E"G-H>S(@:6YD97@@,B!I M;F1E>"!B>7<@9V5T:6YT97)V86P@"!B>7<@9V5T:6YT97)V M86P@8V]P>2!P;W *8GEW(&%D9"!E>&-H(#,@:6YD97@@861D(&5X8VA]"!G970@-B!I;F1E M>" R(&EN9&5X(&)Y=R!M;V0@9V5T(&%N9"!R9R S(#$@#0@#0@=')U92 R(&EN9&5X M(# @,"!S:"!X-"!N96<*,3,@:6YD97@@>#0@."!A9&0@,2!I;F1E>"!N96<@ M-F$@87-T;W)E>V)Y=R!S:"!M=6P@,38@;75L('-TW)G?6EM86=E;6%S:WUI M9F5LS,@:6YD97@@9&EV(#0@,2!R;VQL"C(@:6YD97@@9&EV(#$@-2 R(')O M;&P*97AC:"!D:78@-" Q(')O;&P*-"!A2!ARXY-GU[,2Y]:69E;'-E"B]E>&-H(&QO860@ M+V1I=B!L;V%D(#0@+V%R HX($Q7*WMP86-K961A7U[87)R87D@87-T;W)E?6EF96QS92!C M=G@@8F1F"B]B9GL*;69O;G0@8F5G:6X*+T9O;G14>7!E(#,@9&5F"B]&;VYT M36%TWMGS @9V5T(#$R-"!E<7UB9&8*+V%P;GMS-S4@8W9S(&%P MW,W-2!C=G,@9'5P?6)D9@HO>'![<'5T(&-V;GUB9&8*+W-C MWAC(#$@-C8@>'!]8F1F"B]S:7-[>&,@,B W,R!X<'UB9&8* M+W-O8GMX8R R(#WAC(#0@.#,@>'!]8F1F"B]D9'ME M>&-H(#$@:6YD97@@861D(#,@,2!R;VQL(&%D9"!E>&-H?6)D9@HOVUO M=F5T;R!D=7 @;'=S?6)D9@HO:W=N>V1U<"!&;VYT1&ER96-T;W)Y(&5X8V@@ M:VYO=VY[9FEN9&9O;G0@97AC:"!P;W!]?6)D9@HO9VQ[,2!C=7)R96YT9W)A M>2!S=6(@7UB9&8*+VUM>R]M9F]N=" Q,"!D:6-T(&1E9B!M9F]N M="!B96=I;@HO1F]N=$UA=')I>"!;,2 P(# @,2 P(#!=(&1E9@HO1F]N=%1Y M<&4@,R!D968*+T5N8V]D:6YG(&UA8W9E8R!D968*+V1F(#0@:6YD97@@9FEN M9&9O;G0@9&5F"B]&;VYT0D)O>"!;," P(#$@,5T@9&5F"B]X9&$@>&1F("]M M8F,@>&1F"B]"=6EL9$-H87)[=V0@8F5G:6X@+V-R('AD9B O9F0@>&1F("]C M&5C(&5N9"!M9F]N="!D969I;F5F;VYT?6)D9@HO86-[9'5P('-C&QE M;F=T:" Q(&%D9"!D:6-T(&1E9B!O9F0@8V8@;78*=&UP(&1U<"!D=7 @+U-T M7,@9&EV('!S(&1I=B!D=7 @,3(@ M;'1[<&]P(#$R?6EF('!U= HO4&%I;G14>7!E(#(@<'5T(&1E9FEN969O;G1] M:69E;'-E?6)D9@HO;6)[9'5P('-BV)B8WU[?6UM M?6EF96QS92!S9F1]8F1F"B]M;WMD=7 @&-H>W!O<'U[8F]C M?7M];6U]:69E;'-E('-F9'UB9&8*+VUS>V1U<"!SV5X8VA[<&]P M?7MBWUM;7UI9F5LW-CV1U<"!SV5X8V@@9'5P(&%C('!O M<'MS8W,@9FEN9&9O;G0@+V1F,B!X9&9]>V%S8WU[?6UM?6EF96QS92!S9F1] M8F1F"B]A;WLO9FUV('1R=64@9&5F(&]U?6)D9B O87-[+V9M=B!TR]F;78@9F%L&-H(&1A(&%D9"!E>&-H(&=R M97-T;W)E('-E=&-H87)W:61T: ICV9D("]D9B!G970@R]D82 N,#4@9&5F(&9D("]D9B!G970@&-H(&1A(&%D9"!E>&-H(&=R97-T;W)E('-E=&-H87)W:61T M: ICS(Q-#7MP;W @9'5P(&%P;GL](&9L=7-H?7MD=7 @2!D968*+S)A(#(@ M87)R87D@9&5F"B\S<2 S(&%R&-H(#,@+3$@S,@+3$@"!M=6P@,R Q(')O;&P@;75L?6)D9@HO<6Y[-F$@97AC:"!G970@;75L M?6)D9@HO<4$@+C$V-C8V-R!D968@+W%"("XX,S,S,S,@9&5F("]Q0R N-2!D M968*+W%X>S9A(&%S=&]R92!P;W *<4$@,"!Q;B!Q0B R('%N(&%D9" @('%! M(#$@<6X@<4(@,R!Q;B!A9&0*<4(@,B!Q;B!Q02 T('%N(&%D9" @('%"(#,@ M<6X@<4$@-2!Q;B!A9&0*<4,@,B!Q;B!Q0R T('%N(&%D9" @('%#(#,@<6X@ M<4,@-2!Q;B!A9&1]8F1F"B]Q<'LV(&-O<'D@,3(@+3(@"!C=7)V971O?6)D9@HO<6E[>V5X8V@@-"!C M;W!Y(#)A(&%S=&]R92!A;&]A9"!P;W @<6$@+C4@<6T@;F5W<&%T:"!M;W9E M=&]]>V5X8V@@,B!C;W!Y(#8@+3(@WMQ8R R82!A;&]A9"!P;W @<7@@8W5R=F5T;WU[97AC M:" T(&-O<'D@<7,@<6$@<7@@8W5R=F5T;WUI9F5LS @9&]O<'UI9B!GV-UV-U2!M;W9E=&]]8F1F"B]E9GMG M&-H>S,R(&5Q>S$@861D?6EF?69OS,@ M,2!R;VQL(&5X8V@@9'5P(&%BW!O<"!P;W @<&]P?0I[S$@:6YD97@@&-H('!O<"!D=B P(#0@+3(@&-H('=I9'1HW!O<"!D=7 @,"!E<2 S(&EN9&5X(# @;&4@;W)[ M<&]P(&QE;F=T:"!D:78@," S("TQ(')O;&P@87-H;W=]"GLQ,"!M=6P@97AC M:"!L96YG=&@@861D(&1I=B!D=7 @,3 @;75L(# @,S(@-" M,2!R;VQL(# @ M-B M,2!R;VQL(&%W:61T:'-H;W<*?6EF96QS97UI9F5LW-A(#<@9V5T(# @97%[<&]P(#)]:69]:69E;'-E('-A(#$@9V5T M(# @;F4*+WQ?7U]?7U]3>6UB;VP@W!S(#$U(&1I=GUI9F5LV=S879E(&-U7,@9&EV('-E=&QI;F5W M:61T:'UI9B!S=')O:V4@9W)EV=E="!T"!G970@;71X(&-O;F-A=&UA M=')I>"!E>&-H('1R=65]>W!O<"!P;W @<&]P(&9A;'-E?0II9F5LW!O M<"!P;W @9F%LV5X8V@@ M=')U97U[<&]P(&9A;'-E?6EF96QS97U[9F%L" O961I97)E7)I9VAT("]T HO87!P;&4@+T]G" O56=R879E M("]D;W1L97-S:2 O8VER8W5M9FQE>" O=&EL9&4*+VUA8W)O;B O8G)E=F4@ M+V1O=&%C8V5N=" O&1F(&-F(&UV"B]M>'9;+WIEPHO&-H(#$@:6YD97@@,R!E<7ME>&ET?0I[<&]P?6EF96QS97U[0'0@ M=&AE>S @97AI='UI9GUI9F5L&-H('!O<'UB9&8*+W-F>S8V M('=R:71E4E,R,S(@2!G970@=W)I=&524S(S M,B!R9" V-"!E<2!A;F1]8F1F"B]A9GMR9" V-"!N97LO0'@@-"XU('-T>W-F M>V5X:71]:68@0'@@=&AE"GLO0'@@-"XU('-T*"4E6W-T871UW0Q('1H97LO=#$@=#(@=&AE('1Y(#0@97$@;W)[>W0S('1H M97ME>&ET?6EF?6QO;W @,3@@SD@&-H('-T(#0N-2!A9&0@+W0S(&5X8V@@W!O(#4R-#(X."!A;F0@,"!E<7ME>&ET?6EF"D!T('1H97LH)25;" T+C4@WLV-B!WR]T>2 H # , S #(I('1Y(&=E="!D969]:69E;'-E($!X('1H90I[ M*"4E6W-T871U" T+C4@"!C;W!Y<&%G97UR97!E870@9G@@S$@9V5[ M9G@@V5R87-E<&%G97UI9F5L'!O&1F('!O<"!C=" S.2 P M('!U= HQ,"!F>B P(&9S(#(@1B O?%]?7U]?7T-O=7)I97(@9FYT?6)D9@HO M8V1[?6)D9@HO;W![+W-F;"!F86QS92!D968@+W!M('-A=F4@9&5F?6)D9@HO M8W![;F]T>W5S97)D:6-T("\C8V]P:65S(# @<'5T?6EF(&UA(# @9W1[>W0Q M('1H97ME>&ET?6EF?6QO;W!]:69[<'!]>W-P?6EF96QS92!P;2!R97-T;W)E M?6)D9@HO<'A[," S(#$@WUB9&8*+W!S8GLO M=7,@V-UV1U<"!T>7!E(&1U<" O87)R87ET>7!E(&5Q(&5X8V@@+W!A8VME9&%R"!E>&5C(&UX,R!C=7)R96YT M;6%TW-T871U&-H(#$Y M-B!A9&0@97AC:" S,#0@861D(#@@9&EV(')O=6YD(&-V:2!FW-E='!A8VMI;F=] M:68*/#%!-S-$-S%!.38Q1D)",D%#,3E"134X1#(V03(Y1#4X14,S030W-$-& M144S1$5&,CDP145",C@U,C0Q041!,C5"13DV1$0R14$P0T$P.#,Q0D,Q,#$Q M,#$S145$,#$V1$,Q1$5#148U148Q,S0Y0C P1C(T0C0Q1$(Q-3A&,T1$1D1! M-$(W034U-T4U04,Q138W.3E%-#9#0S(Y,4(P0D1".#4T.$4V.$%"-D9&,T)$ M-48W,S5!139$-31#-3$V03,S0S)"-D1#,T,V-S$S-CA$,4)#,#%$,T-",34T M139"0C)!,$$X-D%#-#0Y13$X14(X-T1!130P.$1#,D%"-$$V03 Q0D1!0CA! M1#=!0C@R.#5#,3$W.$$R1C4Y0T8Y,4,T1C@T,$$T.#0Y0C$P-D(S-30U034Q M13,Y-S)%-C5&.#-!-C5&-D(Q03DV13A&-$8U049%.3DX-T%$-39#-3)%.$5" M1$(R-D$Y1#9&-D9#0CV5E>&5C?6EF"B4@9F]N M='!R97 N<',)"0D)9W)E:60@5&AU(%-E<" R-2 Q-3HT,#HP,R Q.3@V"B4* M)2!097)F;W)MPH@('!O<"!S8W)A=&-H(&-VPH@(" @<&]P(" @)24@:6=N;W)E(&%N>2!F M;VYT(&YA;64@=&AA="!D;V5S;B=T('-T87)T('=I=&@@82!L971T97(*("!] M>PH@(" @)24@2 O(VYM M(&5X8V@@9&5F"B @(" C;FT@;&5N9W1H(#<@861D('-T2!E>&-H(&MN;W=N('L* M"6-L96%R"B @("!]>PH@(" @(" @("-N;2!C=FX@9'5P"B @(" @(" @9FEN M9&9O;G0@+T5N8V]D:6YG(&=E="!3=&%N9&%R9$5N8V]D:6YG(&5Q"B @(" @ M(" @>W1R=65]>V9A;'-E?6EF96QS90H)