home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume36 / securlib / part02 < prev    next >
Encoding:
Text File  |  1993-03-11  |  58.1 KB  |  1,013 lines

  1. Newsgroups: comp.sources.misc
  2. From: phil@pex.eecs.nwu.edu (William LeFebvre)
  3. Subject: v36i016:  securelib - Shared library control for network daemon access, Part02/03
  4. Message-ID: <1993Mar12.214505.8275@sparky.imd.sterling.com>
  5. X-Md4-Signature: ecdb364e8a6e9a5263147f970b6577e8
  6. Date: Fri, 12 Mar 1993 21:45:05 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: phil@pex.eecs.nwu.edu (William LeFebvre)
  10. Posting-number: Volume 36, Issue 16
  11. Archive-name: securelib/part02
  12. Environment: SunOS 4.1.x
  13.  
  14. #! /bin/sh
  15. # This is a shell archive.  Remove anything before this line, then feed it
  16. # into a shell via "sh file" or similar.  To overwrite existing files,
  17. # type "sh file -c".
  18. # Contents:  _okaddr.c extract_lib patchlevel.h securelib.ps.B start.X
  19. # Wrapped by kent@sparky on Fri Mar 12 09:49:53 1993
  20. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
  21. echo If this archive is complete, you will see the following message:
  22. echo '          "shar: End of archive 2 (of 3)."'
  23. if test -f '_okaddr.c' -a "${1}" != "-c" ; then 
  24.   echo shar: Will not clobber existing file \"'_okaddr.c'\"
  25. else
  26.   echo shar: Extracting \"'_okaddr.c'\" \(7948 characters\)
  27.   sed "s/^X//" >'_okaddr.c' <<'END_OF_FILE'
  28. X/*
  29. X *  securelib:  a package to enhance network security.
  30. X *
  31. X *  Written by William LeFebvre, EECS Department, Northwestern University
  32. X *  Internet address:  phil@eecs.nwu.edu
  33. X *
  34. X *  Configuration file code added by Sam Horrocks (sam@ics.uci.edu).
  35. X */
  36. X
  37. X/* Edit these def's to customize for your site. */
  38. X
  39. X#ifndef CONF_FILE
  40. X#define CONF_FILE "/etc/securelib.conf" /* Name of the config file           *
  41. X                     * (may be overridden by cc)         */
  42. X#endif
  43. X
  44. X#define MAX_LINES 8                     /* Maximum number of config lines    *
  45. X                                         * that can apply to one process     */
  46. X
  47. X#define ENV_NAME "SL_NAME"              /* Name of the environment variable  *
  48. X                                         * to use to filter the config file. */
  49. X
  50. X#define ALL_NAME "all"                  /* Name used in config file for      *
  51. X                                         * lines that apply to all processes */
  52. X
  53. X#define STAT_TIMEOUT (60*60)            /* Time to wait before stat'ing      *
  54. X                                         * the config file again.            */
  55. X
  56. X#define MAX_TOKEN 40                    /* Maximum size of one token in the  *
  57. X                                         * configuration file                */
  58. X
  59. X#define BUF_SIZE 80                     /* Size of buffer used to read file. */
  60. X
  61. X
  62. X#include <sys/types.h>
  63. X#include <sys/socket.h>
  64. X#include <netinet/in.h>
  65. X#include <sys/stat.h>
  66. X#include <sys/time.h>
  67. X#include <stdio.h>
  68. X#include <ctype.h>
  69. X
  70. Xstruct conf_line {                      /* Info about config file line */
  71. X    u_long adr, mask
  72. X};
  73. X
  74. Xstatic int next_token();
  75. Xextern char *getenv();
  76. Xextern time_t time();
  77. Xextern u_long inet_addr();
  78. X
  79. X
  80. X/*
  81. X * _ok_address - check the sockaddr "addr" (of length "addrlen") to see
  82. X *               if it corresponds to an acceptable host.  Return true
  83. X *               (non-zero) if acceptable, otherwise return false (zero).
  84. X *               If "addr" is NULL or if "addrlen" is not long enough,
  85. X *               then use "getpeername" on socket "s" to determine the
  86. X *               address of the connecting host.
  87. X */
  88. X
  89. X_ok_address(s, addr, addrlen)
  90. X
  91. Xint s;
  92. Xstruct sockaddr *addr;
  93. Xint addrlen;
  94. X
  95. X{
  96. X    struct sockaddr peername;    /* in case we need to use getpeername */
  97. X    int peernamelen;             /* ditto */
  98. X    u_long ip_addr;
  99. X
  100. X    /* was addr actually used and was it sufficient? */
  101. X    if (addr == (struct sockaddr *)0 || addrlen < (2+2+sizeof(struct in_addr)))
  102. X    {
  103. X    /* no, so get the info with getpeername */
  104. X    peernamelen = sizeof(peername);
  105. X    if (getpeername(s, &peername, &peernamelen) < 0)
  106. X    {
  107. X        /* not sure what the appropriate thing to do here is... */
  108. X        /* so we will return "not ok" just to be safe */
  109. X        return(0);
  110. X    }
  111. X
  112. X    /* for remainder of this function: */
  113. X    addr = &peername;
  114. X    }
  115. X
  116. X    /* now, verify the socket type */
  117. X    if (addr->sa_family == AF_INET)
  118. X    {
  119. X    static struct conf_line conf[MAX_LINES];
  120. X    static int nconf;
  121. X    static time_t last_stat_time, last_mtime;
  122. X    struct timeval now;
  123. X    int i;
  124. X
  125. X    (void) gettimeofday(&now, (struct timezone*)0);
  126. X
  127. X    /* Decide whether to read our config file */
  128. X    if (last_stat_time == 0 ||
  129. X        (now.tv_sec - last_stat_time) > STAT_TIMEOUT)
  130. X    {
  131. X        struct stat stbuf;
  132. X        char *conf_file = CONF_FILE;
  133. X        char *my_name = getenv(ENV_NAME);
  134. X        char fil_buf[BUF_SIZE], buf[MAX_TOKEN];
  135. X        FILE fil;
  136. X
  137. X        last_stat_time = now.tv_sec;
  138. X        bzero((char*)&fil, sizeof(fil));
  139. X
  140. X        /* Stat the config file.  If it changed, open it */
  141. X        if (stat(conf_file, &stbuf) != -1 &&
  142. X        last_mtime != stbuf.st_mtime &&
  143. X        freopen(conf_file, "r", &fil) == &fil)
  144. X        {
  145. X        /* Update the timestamp */
  146. X        last_mtime = stbuf.st_mtime;
  147. X        nconf = 0;
  148. X
  149. X        /* Use the buffer on the stack instead of malloc'ing */
  150. X        setbuffer(&fil, fil_buf, sizeof(fil_buf));
  151. X
  152. X        /* Grab the "name" */
  153. X        while ((i = next_token(&fil, buf, sizeof(buf))) != EOF)
  154. X        {
  155. X            /* If only token on the line, ignore */
  156. X            if (i == '\n') continue;
  157. X
  158. X            /* Comment -- read until end of line then next line */
  159. X            if (buf[0] == '#') {
  160. X            while (next_token(&fil, buf, sizeof(buf)) == 0) ;
  161. X            continue;
  162. X            }
  163. X
  164. X            /*
  165. X             * Check to make sure this says "all" or that it matches
  166. X             * the name given in the environment variable.
  167. X             */
  168. X            if (strcmp(buf, ALL_NAME) == 0 ||
  169. X                (my_name != NULL && strcmp(buf, my_name) == 0))
  170. X            {
  171. X            /* Get next token, if last on line, ignore */
  172. X            if (next_token(&fil, buf, sizeof(buf)) != 0)
  173. X                continue;
  174. X
  175. X            /* Got address */
  176. X            conf[nconf].adr = inet_addr(buf);
  177. X
  178. X            /* Get next token (mask) */
  179. X            i = next_token(&fil, buf, sizeof(buf));
  180. X
  181. X            /* Only ignore if we got no text at all */
  182. X            if (i != EOF)
  183. X            {
  184. X                /* Add to list, quit if array is full */
  185. X                conf[nconf++].mask = inet_addr(buf);
  186. X                if (nconf == MAX_LINES) break;
  187. X            }
  188. X
  189. X            /* If not at end-of-line, keep reading til we are */
  190. X            /* why isn't this outside the if(strcmp...) ??? */
  191. X            while (i == 0)
  192. X            {
  193. X                i = next_token(&fil, buf, sizeof(buf));
  194. X            }
  195. X            }
  196. X        }
  197. X        (void) fclose(&fil);
  198. X        }
  199. X    }
  200. X
  201. X    /* Config lines now in memory so start checking address */
  202. X    /* grab just the address */
  203. X    ip_addr = ((struct sockaddr_in *)addr)->sin_addr.s_addr;
  204. X
  205. X    /*
  206. X     * Go through the conf array, turn off the bits given by the mask
  207. X     * and then compare the result with the address.  A match means
  208. X     * that this address is ok.
  209. X     */
  210. X    for (i = 0; i < nconf; ++i)
  211. X    {
  212. X        if ((ip_addr & ~conf[i].mask) == conf[i].adr) return 1;
  213. X    }
  214. X
  215. X    /* no match, so we can't approve the address */
  216. X    return 0;
  217. X    }
  218. X    else
  219. X    {
  220. X    /* we don't know how to handle non-Internet connections, so
  221. X       we will give them all blanket approval */
  222. X    return 1;
  223. X    }
  224. X    /*NOTREACHED*/
  225. X}
  226. X
  227. X/*
  228. X * Grab one token out of fp.  Defined as the next string of non-whitespace
  229. X * in the file.  After we get the token, continue reading until EOF, end of
  230. X * line or the next token.  If it's the last token on the line, return '\n'
  231. X * for the value.  If we get EOF before reading a token, return EOF.  In all
  232. X * other cases return 0.
  233. X */
  234. Xstatic int next_token(fp, buf, bufsz)
  235. X
  236. XFILE *fp;
  237. Xchar *buf;
  238. Xint bufsz;
  239. X
  240. X{
  241. X    int c;
  242. X    char *eb = buf+(bufsz-1);
  243. X
  244. X    /* Discard inital whitespace */
  245. X    while (isspace(c = getc(fp))) ;
  246. X
  247. X    /* EOF seen before any token so return EOF */
  248. X    if (c == EOF) return -1;
  249. X
  250. X    /* Form a token in buf */
  251. X    do {
  252. X    if (buf < eb) *buf++ = c;
  253. X    c = getc(fp);
  254. X    } while (!isspace(c) && c != EOF);
  255. X    *buf = '\0';
  256. X
  257. X    /* Discard trailing tabs and spaces */
  258. X    while (c == ' ' || c == '\t') c = getc(fp);
  259. X
  260. X    /* Put back the char that was non-whitespace (putting back EOF is ok) */
  261. X    (void) ungetc(c, fp);
  262. X
  263. X    /* If we ended with a newline, return that, otherwise return 0 */
  264. X    return (c == '\n' ? '\n' : 0);
  265. X}
  266. X
  267. X/*
  268. X * _addrcpy(to, tolenptr, from, fromlen)
  269. X *
  270. X * copy an address from "from" to "to".  "fromlen" is the length of the
  271. X * from address.  "tolenptr" points to the length that is available in
  272. X * the buffer "to" and will be modified the reflect the actual number of
  273. X * bytes copied.  Under no circumstances will more than *tolenptr bytes
  274. X * be copied (even if *tolenptr == 0).
  275. X *
  276. X * This is a global routine and is used in the modified accept call.
  277. X */
  278. X
  279. X_addrcpy(to, tolenp, from, fromlen)
  280. X
  281. Xstruct sockaddr *to, *from;
  282. Xint *tolenp;
  283. Xint fromlen;
  284. X
  285. X{
  286. X    register int amt = 0;
  287. X
  288. X    /*
  289. X     *  Explanation:  amt is initialized to 0.  If to is null, then the
  290. X     *  second half of the && conditional is not done (K&R guarantees
  291. X     *  this).  Therefore, amt gets set to *tolenp iff amt != NULL.
  292. X     *  Then, if *tolenp is greater than 0, the lesser of amt (*tolenp)
  293. X     *  and fromlen is used as the length of the copy.  Thus, amt is always
  294. X     *  the number of bytes copied, even if that number is 0 (indicating
  295. X     *  that no copying was done).
  296. X     */
  297. X
  298. X    if (to != (struct sockaddr *)0 && (amt = *tolenp) > 0)
  299. X    {
  300. X    if (fromlen < amt)
  301. X    {
  302. X        amt = fromlen;
  303. X    }
  304. X    bcopy((char *)from, (char *)to, amt);
  305. X    }
  306. X    *tolenp = amt;
  307. X}
  308. END_OF_FILE
  309.   if test 7948 -ne `wc -c <'_okaddr.c'`; then
  310.     echo shar: \"'_okaddr.c'\" unpacked with wrong size!
  311.   fi
  312.   # end of '_okaddr.c'
  313. fi
  314. if test -f 'extract_lib' -a "${1}" != "-c" ; then 
  315.   echo shar: Will not clobber existing file \"'extract_lib'\"
  316. else
  317.   echo shar: Extracting \"'extract_lib'\" \(371 characters\)
  318.   sed "s/^X//" >'extract_lib' <<'END_OF_FILE'
  319. X#!/bin/csh -fv
  320. Xcd $1
  321. Xif (! -e tmp) then
  322. X    mkdir tmp
  323. X    cd tmp
  324. X    ar x ../libc_pic.a
  325. X    rm __.SYMDEF
  326. X    mv rpc_dtablesize. rpc_dtablesize.o
  327. X    mv rpc_commondata. rpc_commondata.o
  328. X        mv xccs.multibyte. xccs.multibyte.o
  329. X    cd ..
  330. Xendif
  331. Xgrep _okaddr.o lorder-sparc >/dev/null
  332. Xif ($status == 1) then
  333. X    mv lorder-sparc lorder-sparc.orig
  334. X    cat <<'EOF' >>lorder-sparc
  335. X_okaddr.o
  336. X'EOF'
  337. Xendif
  338. END_OF_FILE
  339.   if test 371 -ne `wc -c <'extract_lib'`; then
  340.     echo shar: \"'extract_lib'\" unpacked with wrong size!
  341.   fi
  342.   # end of 'extract_lib'
  343. fi
  344. if test -f 'patchlevel.h' -a "${1}" != "-c" ; then 
  345.   echo shar: Will not clobber existing file \"'patchlevel.h'\"
  346. else
  347.   echo shar: Extracting \"'patchlevel.h'\" \(21 characters\)
  348.   sed "s/^X//" >'patchlevel.h' <<'END_OF_FILE'
  349. X#define PATCHLEVEL 4
  350. END_OF_FILE
  351.   if test 21 -ne `wc -c <'patchlevel.h'`; then
  352.     echo shar: \"'patchlevel.h'\" unpacked with wrong size!
  353.   fi
  354.   # end of 'patchlevel.h'
  355. fi
  356. if test -f 'securelib.ps.B' -a "${1}" != "-c" ; then 
  357.   echo shar: Will not clobber existing file \"'securelib.ps.B'\"
  358. else
  359.   echo shar: Extracting \"'securelib.ps.B'\" \(46421 characters\)
  360.   sed "s/^X//" >'securelib.ps.B' <<'END_OF_FILE'
  361. X0007800000078000000780000007800000078000000FC00000FFFC0000191F7E9E1F>I<FFFF80
  362. X000F80F0000780780007803C0007801E0007801E0007801F0007801F0007801F0007801F000780
  363. X1E0007801E0007803C00078078000780F00007FF80000781C0000780E0000780F0000780700007
  364. X807800078078000780780007807C0007807C0007807C0007807C0407807E0407803E040FC01E08
  365. XFFFC0F10000003E01E207E9E21>82 D<07E0800C1980100780300380600180600180E00180E000
  366. X80E00080E00080F00000F000007800007F00003FF0001FFC000FFE0003FF00001F800007800003
  367. XC00003C00001C08001C08001C08001C08001C0C00180C00380E00300F00600CE0C0081F8001221
  368. X7D9F19>I<7FFFFFE0780F01E0600F0060400F0020400F0020C00F0030800F0010800F0010800F
  369. X0010800F0010000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000
  370. X0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
  371. X000F0000001F800007FFFE001C1F7E9E21>I<FFFC3FF80FC007C0078003800780010007800100
  372. X078001000780010007800100078001000780010007800100078001000780010007800100078001
  373. X000780010007800100078001000780010007800100078001000780010007800100078001000380
  374. X02000380020001C0020001C0040000E008000070180000382000000FC0001D207E9E22>I<FFF0
  375. X03FE1F8000F80F0000600F800060078000400780004003C0008003C0008003C0008001E0010001
  376. XE0010001F0010000F0020000F0020000F806000078040000780400003C0800003C0800003C0800
  377. X001E1000001E1000001F3000000F2000000F20000007C0000007C0000007C00000038000000380
  378. X0000038000000100001F207F9E22>I<FFF07FF81FF01F800FC007C00F00078003800F00078001
  379. X000F0007C00100078007C00200078007C00200078007C0020003C009E0040003C009E0040003C0
  380. X09E0040003E010F00C0001E010F0080001E010F0080001F02078080000F02078100000F0207810
  381. X0000F0403C10000078403C20000078403C20000078C03E2000003C801E4000003C801E4000003C
  382. X801E4000001F000F8000001F000F8000001F000F8000001E00078000000E00070000000E000700
  383. X00000C000300000004000200002C207F9E2F>I<7FF83FF80FE00FC007C0070003C0020001E004
  384. X0001F00C0000F0080000781000007C1000003C2000003E4000001E4000000F8000000F80000007
  385. X80000003C0000007E0000005E0000009F0000018F8000010780000207C0000603C0000401E0000
  386. X801F0001800F0001000780020007C0070003C01F8007E0FFE01FFE1F1F7F9E22>I<FEFEC0C0C0
  387. XC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0FE
  388. XFE072D7CA10D>91 D<080410082010201040204020804080408040B85CFC7EFC7E7C3E381C0F0E
  389. X7B9F17>I<FEFE0606060606060606060606060606060606060606060606060606060606060606
  390. X060606060606060606FEFE072D7FA10D>I<1FE000303000781800781C00300E00000E00000E00
  391. X000E0000FE00078E001E0E00380E00780E00F00E10F00E10F00E10F01E10781E103867200F83C0
  392. X14147E9317>97 D<0E0000FE00000E00000E00000E00000E00000E00000E00000E00000E00000E
  393. X00000E00000E3E000EC3800F01C00F00E00E00E00E00700E00700E00780E00780E00780E00780E
  394. X00780E00780E00700E00700E00E00F00E00D01C00CC300083E0015207F9F19>I<03F80E0C1C1E
  395. X381E380C70007000F000F000F000F000F000F00070007000380138011C020E0C03F010147E9314
  396. X>I<000380003F8000038000038000038000038000038000038000038000038000038000038003
  397. XE380061B801C0780380380380380700380700380F00380F00380F00380F00380F00380F0038070
  398. X03807003803803803807801C07800E1B8003E3F815207E9F19>I<03F0000E1C001C0E00380700
  399. X380700700700700380F00380F00380FFFF80F00000F00000F00000700000700000380080180080
  400. X0C010007060001F80011147F9314>I<007C00C6018F038F070607000700070007000700070007
  401. X00FFF0070007000700070007000700070007000700070007000700070007000700070007000700
  402. X7FF01020809F0E>I<0000E003E3300E3C301C1C30380E00780F00780F00780F00780F00780F00
  403. X380E001C1C001E380033E0002000002000003000003000003FFE001FFF800FFFC03001E0600070
  404. XC00030C00030C00030C000306000603000C01C038003FC00141F7F9417>I<0E0000FE00000E00
  405. X000E00000E00000E00000E00000E00000E00000E00000E00000E00000E3E000E43000E81800F01
  406. XC00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
  407. XC00E01C00E01C0FFE7FC16207F9F19>I<1C001E003E001E001C00000000000000000000000000
  408. X0E007E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00FF
  409. XC00A1F809E0C>I<00E001F001F001F000E0000000000000000000000000007007F000F0007000
  410. X700070007000700070007000700070007000700070007000700070007000700070007000700070
  411. X6070F060F0C061803F000C28829E0E>I<0E0000FE00000E00000E00000E00000E00000E00000E
  412. X00000E00000E00000E00000E00000E0FF00E03C00E03000E02000E04000E08000E10000E30000E
  413. X70000EF8000F38000E1C000E1E000E0E000E07000E07800E03800E03C00E03E0FFCFF815207F9F
  414. X18>I<0E00FE000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
  415. X0E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00B20809F0C>I<0E1F01F0
  416. X00FE618618000E81C81C000F00F00E000F00F00E000E00E00E000E00E00E000E00E00E000E00E0
  417. X0E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00
  418. XE00E000E00E00E000E00E00E00FFE7FE7FE023147F9326>I<0E3E00FE43000E81800F01C00F01
  419. XC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
  420. XC00E01C0FFE7FC16147F9319>I<01F800070E001C03803801C03801C07000E07000E0F000F0F0
  421. X00F0F000F0F000F0F000F0F000F07000E07000E03801C03801C01C0380070E0001F80014147F93
  422. X17>I<0E3E00FEC3800F01C00F00E00E00E00E00F00E00700E00780E00780E00780E00780E0078
  423. X0E00780E00700E00F00E00E00F01E00F01C00EC3000E3E000E00000E00000E00000E00000E0000
  424. X0E00000E00000E0000FFE000151D7F9319>I<03E0800619801C05803C07803803807803807003
  425. X80F00380F00380F00380F00380F00380F003807003807803803803803807801C0B800E138003E3
  426. X80000380000380000380000380000380000380000380000380003FF8151D7E9318>I<0E78FE8C
  427. X0F1E0F1E0F0C0E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00F147F
  428. X9312>I<1F9030704030C010C010C010E00078007F803FE00FF00070803880188018C018C018E0
  429. X30D0608F800D147E9312>I<020002000200060006000E000E003E00FFF80E000E000E000E000E
  430. X000E000E000E000E000E000E000E080E080E080E080E080610031001E00D1C7F9B12>I<0E01C0
  431. XFE1FC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
  432. X0E01C00E01C00E03C00603C0030DC001F1FC16147F9319>I<FF83F81E01E01C00C00E00800E00
  433. X800E008007010007010003820003820003820001C40001C40001EC0000E80000E8000070000070
  434. X0000700000200015147F9318>I<FF9FE1FC3C0780701C0300601C0380200E0380400E0380400E
  435. X03C0400707C0800704C0800704E080038861000388710003C8730001D0320001D03A0000F03C00
  436. X00E01C0000E01C0000601800004008001E147F9321>I<7FC3FC0F01E00701C007018003810001
  437. XC20000E40000EC00007800003800003C00007C00004E000087000107000303800201C00601E01E
  438. X01E0FF07FE1714809318>I<FF83F81E01E01C00C00E00800E00800E0080070100070100038200
  439. X03820003820001C40001C40001EC0000E80000E800007000007000007000002000002000004000
  440. X004000004000F08000F08000F100006200003C0000151D7F9318>I<3FFF380E200E201C403840
  441. X78407000E001E001C00380078007010E011E011C0338027006700EFFFE10147F9314>I<FFFFFC
  442. X1601808C17>I<FFFFFFFFFFF02C01808C2D>I E /Fl 40 122 df<000E00001E00007E0007FE00
  443. XFFFE00FFFE00F8FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00
  444. X00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00
  445. X00FE0000FE0000FE0000FE0000FE0000FE007FFFFE7FFFFE7FFFFE17277BA622>49
  446. XD<00FF800003FFF0000FFFFC001F03FE003800FF007C007F80FE003FC0FF003FC0FF003FE0FF00
  447. X1FE0FF001FE07E001FE03C003FE000003FE000003FC000003FC000007F8000007F000000FE0000
  448. X00FC000001F8000003F0000003E00000078000000F0000001E0000003C00E0007000E000E000E0
  449. X01C001C0038001C0070001C00FFFFFC01FFFFFC03FFFFFC07FFFFFC0FFFFFF80FFFFFF80FFFFFF
  450. X801B277DA622>I<007F800003FFF00007FFFC000F81FE001F00FF003F80FF003F807F803F807F
  451. X803F807F801F807F800F007F800000FF000000FF000000FE000001FC000001F8000007F00000FF
  452. XC00000FFF0000001FC0000007E0000007F0000007F8000003FC000003FC000003FE000003FE03C
  453. X003FE07E003FE0FF003FE0FF003FE0FF003FC0FF007FC07E007F807C007F003F01FE001FFFFC00
  454. X07FFF00000FF80001B277DA622>I<00000E0000001E0000003E0000007E000000FE000000FE00
  455. X0001FE000003FE0000077E00000E7E00000E7E00001C7E0000387E0000707E0000E07E0000E07E
  456. X0001C07E0003807E0007007E000E007E000E007E001C007E0038007E0070007E00E0007E00FFFF
  457. XFFF8FFFFFFF8FFFFFFF80000FE000000FE000000FE000000FE000000FE000000FE000000FE0000
  458. X00FE00007FFFF8007FFFF8007FFFF81D277EA622>I<0C0003000F803F000FFFFE000FFFFC000F
  459. XFFF8000FFFF0000FFFE0000FFFC0000FFE00000E0000000E0000000E0000000E0000000E000000
  460. X0E0000000E7FC0000FFFF8000F80FC000E003E000C003F0000001F8000001FC000001FC000001F
  461. XE000001FE018001FE07C001FE0FE001FE0FE001FE0FE001FE0FE001FC0FC001FC078003F807800
  462. X3F803C007F001F01FE000FFFF80003FFF00000FF80001B277DA622>I<0007F000003FFC0000FF
  463. XFE0001FC0F0003F01F8007E03F800FC03F801FC03F801F803F803F801F003F8000007F0000007F
  464. X0000007F000000FF000000FF0FC000FF3FF800FF707C00FFC03E00FFC03F00FF801F80FF801FC0
  465. XFF001FC0FF001FE0FF001FE0FF001FE07F001FE07F001FE07F001FE07F001FE03F001FE03F001F
  466. XC01F801FC01F803F800FC03F0007E07E0003FFFC0000FFF000003FC0001B277DA622>I<380000
  467. X003E0000003FFFFFF03FFFFFF03FFFFFF07FFFFFE07FFFFFC07FFFFF807FFFFF0070000E007000
  468. X0E0070001C00E0003800E0007000E000E0000000E0000001C00000038000000780000007800000
  469. X0F0000000F0000001F0000001F0000003F0000003E0000003E0000007E0000007E0000007E0000
  470. X007E000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000007C00
  471. X00003800001C297CA822>I<000003800000000007C00000000007C0000000000FE0000000000F
  472. XE0000000000FE0000000001FF0000000001FF0000000003FF8000000003FF8000000003FF80000
  473. X000073FC0000000073FC00000000F3FE00000000E1FE00000000E1FE00000001C0FF00000001C0
  474. XFF00000003C0FF80000003807F80000007807FC0000007003FC0000007003FC000000E003FE000
  475. X000E001FE000001E001FF000001C000FF000001FFFFFF000003FFFFFF800003FFFFFF800007800
  476. X07FC0000700003FC0000700003FC0000E00001FE0000E00001FE0001E00001FF0001C00000FF00
  477. X01C00000FF00FFFE001FFFFEFFFE001FFFFEFFFE001FFFFE2F297EA834>65
  478. XD<00003FF001800003FFFE0380000FFFFF8780003FF007DF8000FF8001FF8001FE00007F8003FC
  479. X00003F8007F000001F800FF000000F801FE0000007801FE0000007803FC0000007803FC0000003
  480. X807FC0000003807F80000003807F8000000000FF8000000000FF8000000000FF8000000000FF80
  481. X00000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000007F80000000
  482. X007F80000000007FC0000003803FC0000003803FC0000003801FE0000003801FE0000007000FF0
  483. X0000070007F000000E0003FC00001E0001FE00003C0000FF8000F800003FF007E000000FFFFFC0
  484. X000003FFFF000000003FF8000029297CA832>67 D<FFFFFCFFFFFCFFFFFC01FE0001FE0001FE00
  485. X01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00
  486. X01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00
  487. X01FE0001FE0001FE0001FE0001FE0001FE00FFFFFCFFFFFCFFFFFC16297EA81A>73
  488. XD<FFFFF001FFFCFFFFF001FFFCFFFFF001FFFC03FC00001E0003FC00003C0003FC0000780003FC
  489. X0000F00003FC0001E00003FC0003C00003FC0007000003FC001E000003FC003C000003FC007800
  490. X0003FC00F0000003FC01E0000003FC0380000003FC07C0000003FC1FC0000003FC3FE0000003FC
  491. X7FF0000003FCFFF8000003FDE7F8000003FF83FC000003FF01FE000003FE01FF000003FC00FF00
  492. X0003FC007F800003FC003FC00003FC003FC00003FC001FE00003FC000FF00003FC000FF80003FC
  493. X0007F80003FC0003FC0003FC0001FE0003FC0001FF0003FC0000FF0003FC00007F80FFFFF00FFF
  494. XFEFFFFF00FFFFEFFFFF00FFFFE2F297DA836>75 D<FFFFFC0000FFFFFC0000FFFFFC000003FC00
  495. X000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC
  496. X00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003
  497. XFC00000003FC00000003FC00000003FC00000003FC00000003FC0001C003FC0001C003FC0001C0
  498. X03FC0001C003FC0003C003FC00038003FC00038003FC00078003FC00078003FC000F8003FC000F
  499. X8003FC001F8003FC007F8003FC01FF00FFFFFFFF00FFFFFFFF00FFFFFFFF0022297DA829>I<FF
  500. XFC0000FFFEFFFE0000FFFEFFFF0000FFFE03FF8000038003FF8000038003BFC0000380039FE000
  501. X0380039FF0000380038FF80003800387F80003800383FC0003800381FE0003800381FF00038003
  502. X80FF80038003807FC0038003803FC0038003801FE0038003800FF0038003800FF80380038007FC
  503. X0380038003FC0380038001FE0380038000FF0380038000FF83800380007FC3800380003FE38003
  504. X80001FE3800380000FF38003800007FB8003800007FF8003800003FF8003800001FF8003800000
  505. XFF80038000007F80038000007F80038000003F80038000001F80038000000F80FFFE00000780FF
  506. XFE00000380FFFE000003802F297DA836>78 D<FFFFFFF800FFFFFFFF00FFFFFFFFC003FC003FE0
  507. X03FC000FF003FC0007F803FC0007FC03FC0003FC03FC0003FE03FC0003FE03FC0003FE03FC0003
  508. XFE03FC0003FE03FC0003FE03FC0003FE03FC0003FC03FC0007FC03FC0007F803FC000FF003FC00
  509. X3FE003FFFFFF8003FFFFFE0003FC00000003FC00000003FC00000003FC00000003FC00000003FC
  510. X00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003
  511. XFC00000003FC00000003FC000000FFFFF00000FFFFF00000FFFFF0000027297DA82F>80
  512. XD<FFFFFFE00000FFFFFFFE0000FFFFFFFF800003FC007FE00003FC000FF00003FC0007F80003FC
  513. X0007FC0003FC0003FC0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003FE
  514. X0003FC0003FE0003FC0003FC0003FC0007F80003FC0007F80003FC001FE00003FC007FC00003FF
  515. XFFFE000003FFFFF0000003FC00FC000003FC007F000003FC003F800003FC003F800003FC001FC0
  516. X0003FC001FE00003FC001FE00003FC001FE00003FC001FE00003FC001FE00003FC001FF00003FC
  517. X001FF00003FC001FF00003FC001FF00703FC001FF80703FC000FF80703FC0007F80EFFFFF003FE
  518. X1CFFFFF001FFF8FFFFF0003FF030297DA834>82 D<007F806003FFF0E007FFF9E00F807FE01F00
  519. X1FE03E0007E07C0003E07C0001E0FC0001E0FC0001E0FC0000E0FE0000E0FE0000E0FF000000FF
  520. XC000007FFE00007FFFE0003FFFFC001FFFFE000FFFFF8007FFFFC003FFFFE000FFFFE00007FFF0
  521. X00007FF000000FF8000007F8000003F8600001F8E00001F8E00001F8E00001F8F00001F0F00001
  522. XF0F80003F0FC0003E0FF0007C0FFE01F80F3FFFF00E0FFFE00C01FF0001D297CA826>I<7FFFFF
  523. XFFFFC07FFFFFFFFFC07FFFFFFFFFC07F803FC03FC07E003FC007C078003FC003C078003FC003C0
  524. X70003FC001C0F0003FC001E0F0003FC001E0E0003FC000E0E0003FC000E0E0003FC000E0E0003F
  525. XC000E0E0003FC000E000003FC0000000003FC0000000003FC0000000003FC0000000003FC00000
  526. X00003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003F
  527. XC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC00000
  528. X00003FC0000000003FC0000000003FC0000000003FC00000007FFFFFE000007FFFFFE000007FFF
  529. XFFE0002B287EA730>I<FFFFE07FFFF007FFF0FFFFE07FFFF007FFF0FFFFE07FFFF007FFF003FC
  530. X0001FE00001C0003FC0001FE00001C0001FE0001FF0000380001FE0000FF0000380001FF0000FF
  531. X0000780000FF0000FF8000700000FF0000FF8000700000FF8000FF8000F000007F8001FFC000E0
  532. X00007F8001FFC000E000003FC003FFE001C000003FC0039FE001C000003FE0039FE003C000001F
  533. XE0070FF0038000001FE0070FF0038000001FF00F0FF0078000000FF00E07F8070000000FF00E07
  534. XF80700000007F81E07FC0E00000007F81C03FC0E00000007FC1C03FC1E00000003FC3801FE1C00
  535. X000003FC3801FE1C00000001FE7801FF3800000001FE7000FF3800000001FE7000FF3800000000
  536. XFFF000FFF000000000FFE0007FF000000000FFE0007FF0000000007FC0003FE0000000007FC000
  537. X3FE0000000003FC0003FC0000000003F80001FC0000000003F80001FC0000000001F80001F8000
  538. X0000001F00000F80000000001F00000F80000000000E00000700000044297FA847>87
  539. XD<01FF800007FFF0000F81F8001FC07E001FC07E001FC03F000F803F8007003F8000003F800000
  540. X3F8000003F80000FFF8000FFFF8007FC3F800FE03F803F803F803F003F807F003F80FE003F80FE
  541. X003F80FE003F80FE003F807E007F807F00DF803F839FFC0FFF0FFC01FC03FC1E1B7E9A21>97
  542. XD<FFE0000000FFE0000000FFE00000000FE00000000FE00000000FE00000000FE00000000FE000
  543. X00000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE1
  544. XFE00000FE7FF80000FFE07E0000FF801F0000FF000F8000FE000FC000FE000FE000FE0007F000F
  545. XE0007F000FE0007F000FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F80
  546. X0FE0007F800FE0007F000FE0007F000FE0007F000FE000FE000FE000FC000FF001F8000FF803F0
  547. X000F9E07E0000F07FF80000E01FC0000212A7EA926>I<001FF80000FFFE0003F01F0007E03F80
  548. X0FC03F801F803F803F801F007F800E007F0000007F000000FF000000FF000000FF000000FF0000
  549. X00FF000000FF000000FF0000007F0000007F0000007F8000003F8001C01F8001C00FC0038007E0
  550. X070003F01E0000FFFC00001FE0001A1B7E9A1F>I<00003FF80000003FF80000003FF800000003
  551. XF800000003F800000003F800000003F800000003F800000003F800000003F800000003F8000000
  552. X03F800000003F800000003F800000003F800001FE3F80000FFFBF80003F03FF80007E00FF8000F
  553. XC007F8001F8003F8003F8003F8007F0003F8007F0003F8007F0003F800FF0003F800FF0003F800
  554. XFF0003F800FF0003F800FF0003F800FF0003F800FF0003F8007F0003F8007F0003F8007F0003F8
  555. X003F8003F8001F8003F8000F8007F80007C00FF80003F03BFF8000FFF3FF80003FC3FF80212A7E
  556. XA926>I<003FE00001FFF80003F07E0007C01F000F801F801F800F803F800FC07F000FC07F0007
  557. XC07F0007E0FF0007E0FF0007E0FFFFFFE0FFFFFFE0FF000000FF000000FF0000007F0000007F00
  558. X00007F0000003F8000E01F8000E00FC001C007E0038003F81F0000FFFE00001FF0001B1B7E9A20
  559. X>I<0007F0003FFC00FE3E01F87F03F87F03F07F07F07F07F03E07F00007F00007F00007F00007
  560. XF00007F00007F000FFFFC0FFFFC0FFFFC007F00007F00007F00007F00007F00007F00007F00007
  561. XF00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007
  562. XF0007FFF807FFF807FFF80182A7EA915>I<00FF81F003FFE7F80FC1FE7C1F80FC7C1F007C383F
  563. X007E107F007F007F007F007F007F007F007F007F007F007F007F003F007E001F007C001F80FC00
  564. X0FC1F8001FFFE00018FF800038000000380000003C0000003E0000003FFFF8001FFFFF001FFFFF
  565. X800FFFFFC007FFFFE01FFFFFF03E0007F07C0001F8F80000F8F80000F8F80000F8F80000F87C00
  566. X01F03C0001E01F0007C00FC01F8003FFFE00007FF0001E287E9A22>I<FFE0000000FFE0000000
  567. XFFE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000
  568. X000FE00000000FE00000000FE00000000FE00000000FE00000000FE07F00000FE1FFC0000FE787
  569. XE0000FEE03F0000FF803F0000FF803F8000FF003F8000FF003F8000FE003F8000FE003F8000FE0
  570. X03F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000F
  571. XE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F800FFFE3FFF80FFFE3FFF80
  572. XFFFE3FFF80212A7DA926>I<07000F801FC03FE03FE03FE01FC00F800700000000000000000000
  573. X0000000000FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
  574. X0FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2B7DAA14>I<FFE00000FFE00000FFE00000
  575. X0FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000
  576. X000FE000000FE000000FE01FFC0FE01FFC0FE01FFC0FE007800FE00F000FE01E000FE03C000FE0
  577. X78000FE0E0000FE3C0000FE7C0000FEFE0000FFFE0000FFFF0000FF3F8000FE3F8000FC1FC000F
  578. XC0FE000FC07F000FC07F000FC03F800FC01FC00FC00FC00FC00FE0FFFC3FFEFFFC3FFEFFFC3FFE
  579. X1F2A7EA924>107 D<FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
  580. X0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F
  581. XE00FE00FE00FE00FE0FFFEFFFEFFFE0F2A7DA914>I<FFC07F800FF000FFC1FFE03FFC00FFC383
  582. XF0707E000FC603F8C07F000FCC01F9803F000FD801FF003F800FF001FE003F800FF001FE003F80
  583. X0FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC
  584. X003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800F
  585. XE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F80FFFE1FFFC3
  586. XFFF8FFFE1FFFC3FFF8FFFE1FFFC3FFF8351B7D9A3A>I<FFC07F0000FFC1FFC000FFC787E0000F
  587. XCE03F0000FD803F0000FD803F8000FF003F8000FF003F8000FE003F8000FE003F8000FE003F800
  588. X0FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8
  589. X000FE003F8000FE003F8000FE003F8000FE003F8000FE003F800FFFE3FFF80FFFE3FFF80FFFE3F
  590. XFF80211B7D9A26>I<003FE00001FFFC0003F07E000FC01F801F800FC03F800FE03F0007E07F00
  591. X07F07F0007F07F0007F0FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF
  592. X0007F87F0007F07F0007F03F800FE03F800FE01F800FC00FC01F8007F07F0001FFFC00003FE000
  593. X1D1B7E9A22>I<FFE1FE0000FFE7FF8000FFFE07E0000FF803F0000FF001F8000FE000FC000FE0
  594. X00FE000FE000FF000FE0007F000FE0007F000FE0007F800FE0007F800FE0007F800FE0007F800F
  595. XE0007F800FE0007F800FE0007F800FE0007F000FE000FF000FE000FF000FE000FE000FE001FC00
  596. X0FF001F8000FF803F0000FFE0FE0000FE7FF80000FE1FC00000FE00000000FE00000000FE00000
  597. X000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000000FFFE000000FFFE00
  598. X0000FFFE00000021277E9A26>I<FFC1F0FFC7FCFFCE3E0FD87F0FD87F0FF07F0FF03E0FF01C0F
  599. XE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000F
  600. XE0000FE0000FE000FFFF00FFFF00FFFF00181B7E9A1C>114 D<03FE300FFFF01E03F03800F070
  601. X0070F00070F00070F80070FC0000FFE0007FFE007FFF803FFFE01FFFF007FFF800FFF80003FC00
  602. X00FC60007CE0003CF0003CF00038F80038FC0070FF01E0F7FFC0C1FF00161B7E9A1B>I<007000
  603. X00700000700000700000F00000F00000F00001F00003F00003F00007F0001FFFF0FFFFF0FFFFF0
  604. X07F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F000
  605. X07F03807F03807F03807F03807F03807F03803F03803F87001F86000FFC0001F8015267FA51B>
  606. XI<FFE03FF800FFE03FF800FFE03FF8000FE003F8000FE003F8000FE003F8000FE003F8000FE003
  607. XF8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE0
  608. X03F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE007F80007E007F80007
  609. XE00FF80003F03BFF8001FFF3FF80003FC3FF80211B7D9A26>I<FFFE03FF80FFFE03FF80FFFE03
  610. XFF8007F000700007F000700007F800F00003F800E00003FC01E00001FC01C00001FC01C00000FE
  611. X03800000FE038000007F070000007F070000007F8F0000003F8E0000003FDE0000001FDC000000
  612. X1FDC0000000FF80000000FF80000000FF800000007F000000007F000000003E000000003E00000
  613. X0001C00000211B7F9A24>I<FFFE7FFC0FFEFFFE7FFC0FFEFFFE7FFC0FFE0FE007E000E007F003
  614. XF001C007F003F001C007F807F803C003F807F8038003F807F8038001FC0EFC070001FC0EFC0700
  615. X01FE1EFC0F0000FE1C7E0E0000FE1C7E0E0000FF383F1E00007F383F1C00007F783F3C00003FF0
  616. X1FB800003FF01FB800003FF01FF800001FE00FF000001FE00FF000000FC007E000000FC007E000
  617. X000FC007E00000078003C00000078003C0002F1B7F9A32>I<FFFE03FF80FFFE03FF80FFFE03FF
  618. X8007F000700007F000700007F800F00003F800E00003FC01E00001FC01C00001FC01C00000FE03
  619. X800000FE038000007F070000007F070000007F8F0000003F8E0000003FDE0000001FDC0000001F
  620. XDC0000000FF80000000FF80000000FF800000007F000000007F000000003E000000003E0000000
  621. X01C000000001C000000003800000000380000038078000007C07000000FE0F000000FE0E000000
  622. XFE1E000000FE3C0000007C780000003FE00000000FC000000021277F9A24>121
  623. XD E /Fm 5 118 df<01F007080C08181C3838300070007000E000E000E000E000E000E008E010
  624. X602030C01F000E127B9113>99 D<01E007100C1018083810701070607F80E000E000E000E000E0
  625. X00E0086010602030C01F000D127B9113>101 D<3C3C26C2468747078E068E000E000E001C001C
  626. X001C001C0038003800380038007000300010127C9112>114 D<01F006080C080C1C18181C001F
  627. X001FC00FF007F0007800386030E030C030806060C01F000E127D9111>I<1E0300270700470700
  628. X470700870E00870E000E0E000E0E001C1C001C1C001C1C001C1C00383880383880183880183900
  629. X1C5900078E0011127C9116>117 D E /Fn 4 109 df<7E0000FE00007E00000E00000E00000E00
  630. X000E00000E3E000EFF000FFF800F83C00F00E00E00E00E00700E00700E00700E00700E00700E00
  631. X700E00E00F01E00F83C00FFF800EFF00063C001419809816>98 D<03F80FFC1FFE3C1E780C7000
  632. XE000E000E000E000E000F000700778073E0E1FFC0FF803F010127D9116>I<018003C003C00180
  633. X00000000000000007FC07FC07FC001C001C001C001C001C001C001C001C001C001C001C001C07F
  634. XFFFFFF7FFF101A7D9916>105 D<FFC000FFC000FFC00001C00001C00001C00001C00001C00001
  635. XC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001
  636. XC000FFFF80FFFF80FFFF8011197E9816>108 D E /Fo 35 122 df<007E1F0001C1B1800303E3
  637. XC00703C3C00E03C1800E01C0000E01C0000E01C0000E01C0000E01C0000E01C000FFFFFC000E01
  638. XC0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E
  639. X01C0000E01C0000E01C0000E01C0000E01C0000E01C0007F87FC001A1D809C18>11
  640. XD<007E0001C1800301800703C00E03C00E01800E00000E00000E00000E00000E0000FFFFC00E01
  641. XC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
  642. XC00E01C00E01C07F87F8151D809C17>I<6060F0F0F8F868680808080808081010101020204040
  643. X80800D0C7F9C15>34 D<60F0F8680808081010204080050C7C9C0C>39 D<60F0F0701010101020
  644. X204080040C7C830C>44 D<FFE0FFE00B0280890E>I<60F0F06004047C830C>I<FFF00F000F000F
  645. X000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
  646. X0F000F000F000F00FFF00C1C7F9B0F>73 D<003F800000E0E0000380380007001C000E000E001C
  647. X0007003C00078038000380780003C0780003C0700001C0F00001E0F00001E0F00001E0F00001E0
  648. XF00001E0F00001E0F00001E0F00001E0700001C0780003C0780003C0380003803C0007801C0007
  649. X000E000E0007001C000380380000E0E000003F80001B1E7E9C20>79 D<FFFF00000F01E0000F00
  650. X78000F003C000F001C000F001E000F001E000F001E000F001E000F001C000F003C000F0078000F
  651. X01E0000FFF00000F03C0000F00E0000F00F0000F0078000F0078000F0078000F0078000F007800
  652. X0F0078000F0078100F0078100F0038100F003C20FFF01C20000007C01C1D7E9B1F>82
  653. XD<07E0801C1980300580700380600180E00180E00080E00080E00080F00000F800007C00007FC0
  654. X003FF8001FFE0007FF0000FF80000F800007C00003C00001C08001C08001C08001C0C00180C001
  655. X80E00300D00200CC0C0083F800121E7E9C17>I<7FFFFFC0700F01C0600F00C0400F0040400F00
  656. X40C00F0020800F0020800F0020800F0020000F0000000F0000000F0000000F0000000F0000000F
  657. X0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000
  658. X0F0000000F0000001F800003FFFC001B1C7F9B1E>I<08081010202040404040808080808080B0
  659. XB0F8F8787830300D0C7A9C15>92 D<1FC000307000783800781C00301C00001C00001C0001FC00
  660. X0F1C00381C00701C00601C00E01C40E01C40E01C40603C40304E801F870012127E9115>97
  661. XD<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C7C001D86
  662. X001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C00C01C01C01C01
  663. X801E030019060010F800131D7F9C17>I<07E00C301878307870306000E000E000E000E000E000
  664. XE00060007004300418080C3007C00E127E9112>I<003F00000700000700000700000700000700
  665. X00070000070000070000070000070003E7000C1700180F00300700700700600700E00700E00700
  666. XE00700E00700E00700E00700600700700700300700180F000C370007C7E0131D7E9C17>I<03E0
  667. X0C301818300C700E6006E006FFFEE000E000E000E00060007002300218040C1803E00F127F9112
  668. X>I<00F8018C071E061E0E0C0E000E000E000E000E000E00FFE00E000E000E000E000E000E000E
  669. X000E000E000E000E000E000E000E000E000E007FE00F1D809C0D>I<00038003C4C00C38C01C38
  670. X80181800381C00381C00381C00381C001818001C38000C300013C0001000003000001800001FF8
  671. X001FFF001FFF803003806001C0C000C0C000C0C000C06001803003001C0E0007F800121C7F9215
  672. X>I<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C7C001C
  673. X87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
  674. X03801C03801C0380FF9FF0141D7F9C17>I<18003C003C00180000000000000000000000000000
  675. X00FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80091D
  676. X7F9C0C>I<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C
  677. X3FC01C0F001C0C001C08001C10001C20001C40001CE0001DE0001E70001C78001C38001C3C001C
  678. X1C001C0E001C0F001C0F80FF9FE0131D7F9C16>107 D<FC001C001C001C001C001C001C001C00
  679. X1C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
  680. X00FF80091D7F9C0C>I<FC7E07E0001C838838001D019018001E01E01C001C01C01C001C01C01C
  681. X001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C0
  682. X1C001C01C01C001C01C01C001C01C01C00FF8FF8FF8021127F9124>I<FC7C001C87001D03001E
  683. X03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
  684. X0380FF9FF014127F9117>I<03F0000E1C00180600300300700380600180E001C0E001C0E001C0
  685. XE001C0E001C0E001C06001807003803003001806000E1C0003F00012127F9115>I<FC7C001D86
  686. X001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C01C01C01C01C01
  687. X801E03001D06001CF8001C00001C00001C00001C00001C00001C00001C0000FF8000131A7F9117
  688. X>I<FCE01D301E781E781C301C001C001C001C001C001C001C001C001C001C001C001C00FFC00D
  689. X127F9110>114 D<1F9030704030C010C010E010F8007F803FE00FF000F880388018C018C018E0
  690. X10D0608FC00D127F9110>I<04000400040004000C000C001C003C00FFE01C001C001C001C001C
  691. X001C001C001C001C001C101C101C101C101C100C100E2003C00C1A7F9910>I<FC1F801C03801C
  692. X03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C07800C
  693. X07800E1B8003E3F014127F9117>I<FF07E03C03801C01001C01000E02000E0200070400070400
  694. X07040003880003880003D80001D00001D00000E00000E00000E00000400013127F9116>I<FF3F
  695. XCFE03C0F03801C0701801C0701001C0B01000E0B82000E0B82000E1182000711C4000711C40007
  696. X20C40003A0E80003A0E80003C0680001C0700001C0700001803000008020001B127F911E>I<FF
  697. X07E03C03801C01001C01000E02000E020007040007040007040003880003880003D80001D00001
  698. XD00000E00000E00000E000004000004000008000008000F08000F10000F300006600003C000013
  699. X1A7F9116>121 D E /Fp 7 117 df<00038000000380000007C0000007C0000007C000000FE000
  700. X000FE000001FF000001BF000001BF0000031F8000031F8000061FC000060FC0000E0FE0000C07E
  701. X0000C07E0001803F0001FFFF0003FFFF8003001F8003001F8006000FC006000FC00E000FE00C00
  702. X07E0FFC07FFEFFC07FFE1F1C7E9B24>65 D<0FF8001C1E003E0F803E07803E07C01C07C00007C0
  703. X007FC007E7C01F07C03C07C07C07C0F807C0F807C0F807C0780BC03E13F80FE1F815127F9117>
  704. X97 D<FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F3F80
  705. X1FE1E01F80701F00781F003C1F003C1F003E1F003E1F003E1F003E1F003E1F003E1F003C1F003C
  706. X1F00781F80701EC1E01C3F00171D7F9C1B>I<03FC000E0E001C1F003C1F00781F00780E00F800
  707. X00F80000F80000F80000F80000F800007800007801803C01801C03000E0E0003F80011127E9115
  708. X>I<FE3E00FE47001E8F801E8F801E8F801F07001F00001F00001F00001F00001F00001F00001F
  709. X00001F00001F00001F0000FFF000FFF00011127F9114>114 D<1FD830786018E018E018F000FF
  710. X807FE07FF01FF807FC007CC01CC01CE01CE018F830CFC00E127E9113>I<030003000300030007
  711. X0007000F000F003FFCFFFC1F001F001F001F001F001F001F001F001F001F0C1F0C1F0C1F0C0F08
  712. X079803F00E1A7F9913>I E /Fq 20 122 df<00007F00800003808100000E0063000038002700
  713. X0070001F0000E0000E0001C0000E000380000E000700000E000F000004000E000004001E000004
  714. X003C000004003C00000800780000000078000000007800000000F000000000F000000000F00000
  715. X0000F000000000F000000000E000000000E000002000E000002000E000004000E000004000F000
  716. X00800070000080007000010000380002000018000400001C0008000006003000000381C0000000
  717. XFE000000212479A223>67 D<00FFFFF000000F003C00000F000E00000F000700001E000380001E
  718. X000380001E0001C0001E0001C0003C0001C0003C0001E0003C0001E0003C0001E000780001E000
  719. X780001E000780001E000780001E000F00003C000F00003C000F00003C000F00003C001E0000780
  720. X01E000078001E000070001E0000F0003C0000E0003C0001C0003C0003C0003C000380007800070
  721. X00078000E000078001C00007800700000F801C0000FFFFF0000023227DA125>I<00FFFFFF8000
  722. X0F000780000F000180000F000180001E000180001E000180001E000100001E000100003C000100
  723. X003C000100003C010100003C01000000780200000078020000007806000000780E000000FFFC00
  724. X0000F00C000000F00C000000F00C000001E008000001E008000001E008040001E000080003C000
  725. X080003C000080003C000100003C000100007800020000780006000078000C000078001C0000F80
  726. X07C000FFFFFF800021227DA121>I<00FF000FFC000F8001E0000F800180000FC000800013C001
  727. X000013C001000011E001000011E001000021E002000020F002000020F002000020F00200004078
  728. X04000040780400004078040000403C040000803C080000803E080000801E080000801E08000100
  729. X1F100001000F100001000F10000100079000020007A000020007A000020003E000020003E00004
  730. X0003C000040001C000040001C0000C0001C0001E00008000FFC000800026227DA124>78
  731. XD<0001F020000E0C40001802C0003001C0006001C000E0018000C0018001C0018001C0018003C0
  732. X010003C0010003C0000003C0000003E0000001F8000001FF000000FFE000007FF000001FF80000
  733. X03FC0000007C0000003C0000001E0000001E0000001E0020001C0020001C0020001C0020001800
  734. X6000380060003000700060007000C000C8018000C607000081FC00001B247DA21B>83
  735. XD<3FFE03FF03C0007803C0006003C00020078000400780004007800040078000400F0000800F00
  736. X00800F0000800F0000801E0001001E0001001E0001001E0001003C0002003C0002003C0002003C
  737. X0002007800040078000400780004007800040070000800F0000800F00010007000100070002000
  738. X700040003000400038018000180200000E0C000003F00000202377A124>85
  739. XD<00F8C00185C00705C00E03800E03801C03803C0380380700780700780700780700F00E00F00E
  740. X00F00E00F00E10F01C20701C20703C20305C40308C400F078014157B9419>97
  741. XD<00F803840E021C023C0238027804F018FFE0F000F000E000E000E000E000E002E00260047018
  742. X30600F800F157A9416>101 D<00F0000FE00000E00000E00000E00001C00001C00001C00001C0
  743. X00038000038000038000038000070000071F0007218007C0C00F00E00F00E00E00E00E00E01C01
  744. XC01C01C01C01C01C01C0380380380380380380380704700708700E08700E10700610E006206003
  745. XC016237DA219>104 D<00C001E001C001C0000000000000000000000000000000001C00230043
  746. X0043008700870087000E000E001C001C001C00380038003840708070807080710032001C000B21
  747. X7BA00F>I<1C0F80F8002610C10C00476066060087807807008780780700870070070087007007
  748. X000E00E00E000E00E00E000E00E00E000E00E00E001C01C01C001C01C01C001C01C01C001C01C0
  749. X3820380380384038038070403803807080380380308070070031003003001E0023157B9428>
  750. X109 D<1C0F002631C04740C08780E08780E08700E08700E00E01C00E01C00E01C00E01C01C0380
  751. X1C03801C03801C0704380708380E08380E103806107006203003C016157B941B>I<007E0001C3
  752. X000381800701C00E01C01C01E03C01E03801E07801E07801E07801E0F003C0F003C0F00380F007
  753. X80700700700E00700C0030180018700007C00013157B9419>I<01C1F002621804741C08780C08
  754. X700E08700E08701E00E01E00E01E00E01E00E01E01C03C01C03C01C03C01C07803807003807003
  755. XC0E003C1C0072380071E000700000700000E00000E00000E00000E00001C00001C00001C0000FF
  756. XC000171F7F9419>I<1C1F002620804741C08783C08703C08701808700000E00000E00000E0000
  757. X0E00001C00001C00001C00001C000038000038000038000038000070000030000012157B9415>
  758. X114 D<00FC000183000200800401800C03800C03000C00000F00000FF00007FC0003FE00003E00
  759. X000F00000700700700F00600F00600E004004008002030001FC00011157D9414>I<00C001C001
  760. XC001C001C003800380038003800700FFF8070007000E000E000E000E001C001C001C001C003800
  761. X380038003810702070207040708031001E000D1F7C9E10>I<1E03802307C04387C04383C08381
  762. XC08700C08700C00700800E00800E00800E00801C01001C01001C01001C02001C02001C04001C08
  763. X001C08000C300003C00012157B9416>118 D<1E0060E02300E1F04380E1F04381C0F08381C070
  764. X8701C0308701C030070380200E0380200E0380200E0380201C0700401C0700401C0700401C0700
  765. X801C0700801C0701001C0F01000C0F020006138C0003E0F0001C157B9420>I<1E003023007043
  766. X80704380E08380E08700E08700E00701C00E01C00E01C00E01C01C03801C03801C03801C03801C
  767. X07001C07001C07001C0F000C3E0003CE00000E00000E00001C00601C00F03800F03000E0600080
  768. XC0004380003E0000141F7B9418>121 D E /Fr 11 119 df<FFFFFFC00F8007C0078001C00780
  769. X00C007800040078000400780006007800020078000200780002007802020078020000780200007
  770. X802000078060000780E00007FFE0000780E0000780600007802000078020000780200007802000
  771. X0780000007800000078000000780000007800000078000000780000007800000078000000FC000
  772. X00FFFE00001B227EA120>70 D<FFFE00000FC00000078000000780000007800000078000000780
  773. X000007800000078000000780000007800000078000000780000007800000078000000780000007
  774. X800000078000000780000007800000078000000780000007800080078000800780008007800080
  775. X078001800780018007800100078003000780030007800F000F803F00FFFFFF0019227EA11E>76
  776. XD<FFF03FFC03FE1F8007E000F80F0003C000700F0003C000200F0003C00020078001E000400780
  777. X01E00040078001E0004003C002F0008003C002F0008003C002F0008001E00478010001E0047801
  778. X0001E00478010000F0083C020000F0083C020000F0083C020000F8183E06000078101E04000078
  779. X101E0400007C101E0400003C200F0800003C200F0800003C200F0800001E40079000001E400790
  780. X00001E40079000000F8003E000000F8003E000000F8003E00000070001C00000070001C0000007
  781. X0001C0000003000180000002000080002F237FA132>87 D<0FE0001838003C0C003C0E00180700
  782. X00070000070000070000FF0007C7001E07003C0700780700700700F00708F00708F00708F00F08
  783. X7817083C23900FC1E015157E9418>97 D<0E0000FE00001E00000E00000E00000E00000E00000E
  784. X00000E00000E00000E00000E00000E00000E00000E1F000E61C00E80600F00300E00380E003C0E
  785. X001C0E001E0E001E0E001E0E001E0E001E0E001E0E001E0E001C0E003C0E00380F00700C80600C
  786. X41C0083F0017237FA21B>I<01FC000707000C03801C01C03801C07801E07000E0F000E0FFFFE0
  787. XF00000F00000F00000F00000F000007000007800203800201C00400E008007030000FC0013157F
  788. X9416>101 D<1C001E003E001E001C00000000000000000000000000000000000E00FE001E000E
  789. X000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFC00A227FA1
  790. X0E>105 D<0E00FE001E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
  791. X0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00B237F
  792. XA20E>108 D<0E1FC07F00FE60E183801E807201C00F003C00E00F003C00E00E003800E00E0038
  793. X00E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E00
  794. X3800E00E003800E00E003800E00E003800E00E003800E00E003800E0FFE3FF8FFE27157F942A>
  795. XI<0E3CFE461E8F0F0F0F060F000E000E000E000E000E000E000E000E000E000E000E000E000E00
  796. X0F00FFF010157F9413>114 D<FFC1FE1E00780E00300E00200E00200700400700400380800380
  797. X8003808001C10001C10000E20000E20000E2000074000074000038000038000038000010001715
  798. X7F941A>118 D E /Fs 22 122 df<0000007C0000000000007C000000000000FE000000000000
  799. XFE000000000000FE000000000001FF000000000001FF000000000003FF800000000003FF800000
  800. X000007FFC00000000007FFC00000000007FFC0000000000FFFE0000000000F7FE0000000001F7F
  801. XF0000000001E3FF0000000001E3FF0000000003E3FF8000000003C1FF8000000007C1FFC000000
  802. X00780FFC00000000780FFC00000000F80FFE00000000F007FE00000001F007FF00000001E003FF
  803. X00000001E003FF00000003E003FF80000003C001FF80000007C001FFC00000078000FFC0000007
  804. X8000FFC000000FFFFFFFE000000FFFFFFFE000001FFFFFFFF000001E00003FF000001E00003FF0
  805. X00003C00003FF800003C00001FF800007C00001FFC00007800000FFC00007800000FFC0000F000
  806. X0007FE0000F0000007FE0001F0000007FF0003F8000003FF00FFFFC001FFFFFEFFFFC001FFFFFE
  807. XFFFFC001FFFFFE37317DB03E>65 D<FFFFFFFFF00000FFFFFFFFFF0000FFFFFFFFFFC00000FFC0
  808. X00FFF00000FFC0000FFC0000FFC00007FE0000FFC00001FF0000FFC00000FF8000FFC000007FC0
  809. X00FFC000003FE000FFC000003FE000FFC000001FF000FFC000001FF000FFC000001FF800FFC000
  810. X000FF800FFC000000FFC00FFC000000FFC00FFC000000FFC00FFC000000FFC00FFC000000FFE00
  811. XFFC000000FFE00FFC000000FFE00FFC000000FFE00FFC000000FFE00FFC000000FFE00FFC00000
  812. X0FFE00FFC000000FFE00FFC000000FFE00FFC000000FFE00FFC000000FFE00FFC000000FFC00FF
  813. XC000000FFC00FFC000000FFC00FFC000000FFC00FFC000000FF800FFC000001FF800FFC000001F
  814. XF800FFC000001FF000FFC000003FE000FFC000003FE000FFC000007FC000FFC00000FF8000FFC0
  815. X0001FF0000FFC00003FE0000FFC0000FFC0000FFC0007FF000FFFFFFFFFFE000FFFFFFFFFF0000
  816. XFFFFFFFFF0000037317EB03F>68 D<FFFFC000007FFFF0FFFFE000007FFFF0FFFFF000007FFFF0
  817. X00FFF8000000F80000FFFC000000700000FFFE000000700000EFFF000000700000E7FF80000070
  818. X0000E3FF800000700000E1FFC00000700000E0FFE00000700000E07FF00000700000E07FF80000
  819. X700000E03FFC0000700000E01FFE0000700000E00FFF0000700000E007FF8000700000E003FF80
  820. X00700000E001FFC000700000E000FFE000700000E0007FF000700000E0007FF800700000E0003F
  821. XFC00700000E0001FFE00700000E0000FFF00700000E00007FF80700000E00003FF80700000E000
  822. X01FFC0700000E00000FFE0700000E000007FF0700000E000007FF8700000E000003FFC700000E0
  823. X00001FFE700000E000000FFF700000E0000007FFF00000E0000003FFF00000E0000001FFF00000
  824. XE0000000FFF00000E00000007FF00000E00000007FF00000E00000003FF00000E00000001FF000
  825. X00E00000000FF00000E000000007F00000E000000003F00001F000000001F000FFFFE0000000F0
  826. X00FFFFE00000007000FFFFE000000070003C317EB041>78 D<00000FFE0000000000FFFFE00000
  827. X0007FFFFFC0000001FFC07FF0000003FE000FF800000FF80003FE00001FF00001FF00003FE0000
  828. X0FF80007FC000007FC0007FC000007FC000FF8000003FE001FF8000003FF001FF0000001FF003F
  829. XF0000001FF803FF0000001FF803FF0000001FF807FE0000000FFC07FE0000000FFC07FE0000000
  830. XFFC0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0
  831. X000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FF
  832. XE07FE0000000FFC07FE0000000FFC07FF0000001FFC07FF0000001FFC03FF0000001FF803FF000
  833. X0001FF801FF8000003FF001FF8000003FF000FFC000007FE000FFC000007FE0007FE00000FFC00
  834. X03FF00001FF80001FF80003FF00000FFC0007FE000003FE000FF8000001FFC07FF00000007FFFF
  835. XFC00000000FFFFE0000000000FFE00000033317BB03E>I<FFFFFFFFC0000000FFFFFFFFFC0000
  836. X00FFFFFFFFFF80000000FFC001FFE0000000FFC0003FF0000000FFC0000FFC000000FFC00007FC
  837. X000000FFC00007FE000000FFC00003FF000000FFC00003FF000000FFC00003FF800000FFC00003
  838. XFF800000FFC00003FF800000FFC00003FF800000FFC00003FF800000FFC00003FF800000FFC000
  839. X03FF000000FFC00003FF000000FFC00007FE000000FFC00007FC000000FFC0000FFC000000FFC0
  840. X003FF0000000FFC001FFE0000000FFFFFFFF80000000FFFFFFFC00000000FFFFFFFE00000000FF
  841. XC003FF00000000FFC000FFC0000000FFC0007FE0000000FFC0003FE0000000FFC0003FF0000000
  842. XFFC0001FF0000000FFC0001FF8000000FFC0001FF8000000FFC0001FF8000000FFC0001FF80000
  843. X00FFC0001FF8000000FFC0001FFC000000FFC0001FFC000000FFC0001FFC000000FFC0001FFC00
  844. X4000FFC0001FFC00E000FFC0001FFE00E000FFC0000FFE00E000FFC0000FFF01C000FFC00007FF
  845. X83C0FFFFFFC003FFFF80FFFFFFC000FFFF00FFFFFFC0000FFC003B317EB03E>82
  846. XD<001FF0018000FFFF038003FFFFC78007F00FFF800F8001FF801F00007F803F00001F803E0000
  847. X0F807E00000F807E00000780FE00000780FE00000780FE00000380FF00000380FF00000380FF80
  848. X000000FFE00000007FFC0000007FFFE000007FFFFE00003FFFFFC0001FFFFFF0001FFFFFF8000F
  849. XFFFFFC0003FFFFFE0001FFFFFF00007FFFFF80001FFFFF800000FFFFC0000007FFC0000000FFE0
  850. X0000003FE00000003FE00000001FE06000001FE0E000000FE0E000000FE0E000000FE0E000000F
  851. XC0F000000FC0F000000FC0F800001F80FC00001F80FF00003F00FFC0007E00FFFC01FC00F1FFFF
  852. XF800E03FFFE000C007FF000023317BB02E>I<007FF8000003FFFF000007FFFFC0000FE01FE000
  853. X1FF007F0001FF003F8001FF003FC001FF001FE000FE001FE0007C001FE00010001FE00000001FE
  854. X00000001FE000001FFFE00003FFFFE0001FFF1FE0007FE01FE000FF001FE001FC001FE003F8001
  855. XFE007F8001FE00FF0001FE00FF0001FE00FF0001FE00FF0001FE00FF0003FE007F8003FE007FC0
  856. X0EFE003FF03CFF000FFFF87FF807FFF03FF800FF800FF825207E9F28>97
  857. XD<0007FF00007FFFE000FFFFF003FC03F807F007FC0FE007FC1FE007FC3FC007FC3FC003F87FC0
  858. X01F07F8000407F800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF
  859. X8000007F8000007FC000007FC000003FC0000E3FE0000E1FE0001C0FF0001C07F8007803FF01F0
  860. X00FFFFE0007FFF800007FC001F207D9F25>99 D<00000007E0000003FFE0000003FFE0000003FF
  861. XE00000003FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE0000000
  862. X1FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE0000FF81FE0007F
  863. XFF1FE001FFFFDFE003FE03FFE007F800FFE00FE0003FE01FE0001FE03FC0001FE03FC0001FE07F
  864. X80001FE07F80001FE07F80001FE0FF80001FE0FF80001FE0FF80001FE0FF80001FE0FF80001FE0
  865. XFF80001FE0FF80001FE0FF80001FE07F80001FE07F80001FE07F80001FE03FC0001FE03FC0001F
  866. XE01FC0003FE00FE0007FE007F001FFE003FC07DFF001FFFF9FFF007FFE1FFF000FF01FFF28327D
  867. XB12E>I<0007FC0000003FFF800000FFFFE00003FC07F00007F801F8000FE000FC001FE0007E00
  868. X3FC0007E003FC0003F007FC0003F007F80003F007F80003F80FF80003F80FF80003F80FFFFFFFF
  869. X80FFFFFFFF80FFFFFFFF80FF80000000FF80000000FF800000007F800000007F800000003FC000
  870. X00003FC00003801FC00003801FE00007800FF0000F0007F8001E0003FE00FC0000FFFFF800003F
  871. XFFE0000003FF000021207E9F26>I<001FF007E000FFFE3FF001FFFF7FF807F83FF1F80FE00FE1
  872. XF80FE00FE0F01FC007F0601FC007F0003FC007F8003FC007F8003FC007F8003FC007F8003FC007
  873. XF8001FC007F0001FC007F0000FE00FE0000FE00FE00007F83FC00007FFFF000006FFFE00000E1F
  874. XF000000E000000001E000000001E000000001F000000001F800000001FFFFFC0000FFFFFF8000F
  875. XFFFFFE0007FFFFFF0003FFFFFF8007FFFFFFC01FFFFFFFE03F00007FE07E00000FF0FC000007F0
  876. XFC000003F0FC000003F0FC000003F0FC000003F07E000007E03F00000FC01FC0003F800FF801FF
  877. X0007FFFFFE0000FFFFF000001FFF8000252F7E9F29>103 D<01C00007F0000FF8000FF8001FFC
  878. X001FFC001FFC000FF8000FF80007F00001C0000000000000000000000000000000000000000000
  879. X0000000001F800FFF800FFF800FFF8000FF80007F80007F80007F80007F80007F80007F80007F8
  880. X0007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F8
  881. X0007F80007F80007F80007F800FFFF80FFFF80FFFF8011337DB217>105
  882. XD<01F8000000FFF8000000FFF8000000FFF80000000FF800000007F800000007F800000007F800
  883. X000007F800000007F800000007F800000007F800000007F800000007F800000007F800000007F8
  884. X00000007F800000007F800000007F8007FFC07F8007FFC07F8007FFC07F8001FC007F8001F0007
  885. XF8003E0007F800780007F801F00007F803E00007F807800007F81F000007F83E000007F87C0000
  886. X07F9FE000007FBFF000007FFFF800007FF7FC00007FE3FE00007F81FE00007F01FF00007F00FF8
  887. X0007F007FC0007F003FE0007F001FF0007F000FF0007F000FF8007F0007FC007F0003FE007F000
  888. X3FF0FFFF80FFFFFFFF80FFFFFFFF80FFFF28327EB12C>107 D<03F007F8000FF000FFF03FFF00
  889. X7FFE00FFF07FFF80FFFF00FFF0F03FC1E07F800FF1C01FE3803FC007F3000FE6001FC007F6000F
  890. XFC001FE007FE000FFC001FE007FC000FF8001FE007FC000FF8001FE007F8000FF0001FE007F800
  891. X0FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8
  892. X000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007
  893. XF8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE0
  894. X07F8000FF0001FE007F8000FF0001FE007F8000FF0001FE0FFFFC1FFFF83FFFFFFFFC1FFFF83FF
  895. XFFFFFFC1FFFF83FFFF40207D9F45>109 D<03F007F80000FFF03FFF0000FFF07FFF8000FFF0F0
  896. X3FC0000FF1C01FE00007F3000FE00007F6000FF00007FE000FF00007FC000FF00007FC000FF000
  897. X07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F800
  898. X0FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000
  899. X07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000FFFFC1
  900. XFFFF80FFFFC1FFFF80FFFFC1FFFF8029207D9F2E>I<0007FE0000003FFFC00000FFFFF00003FC
  901. X03FC0007F000FE000FE0007F001FC0003F803FC0003FC03FC0003FC07F80001FE07F80001FE07F
  902. X80001FE0FF80001FF0FF80001FF0FF80001FF0FF80001FF0FF80001FF0FF80001FF0FF80001FF0
  903. XFF80001FF07F80001FE07F80001FE07F80001FE03FC0003FC03FC0003FC01FE0007F800FE0007F
  904. X0007F801FE0003FE07FC0001FFFFF800003FFFC0000007FE000024207E9F29>I<03F03F00FFF0
  905. X7FC0FFF1FFE0FFF3C7F00FF38FF807F70FF807F60FF807FE0FF807FC07F007FC03E007FC008007
  906. XF8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80000
  907. X07F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80000FFFFE000FFFFE0
  908. X00FFFFE0001D207E9F22>114 D<00FF870007FFEF001FFFFF003F007F003C001F0078000F00F8
  909. X000700F8000700F8000700FC000700FF000000FFF800007FFFC0003FFFF0003FFFFC000FFFFE00
  910. X07FFFF0001FFFF80001FFF800000FFC000001FC060000FC0E00007C0E00007C0F00007C0F80007
  911. X80F8000F80FE000F00FF803E00FFFFFC00F3FFF800C07FC0001A207D9F21>I<00380000380000
  912. X380000380000380000780000780000780000F80000F80001F80003F80007F8001FF800FFFFFEFF
  913. XFFFEFFFFFE07F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007
  914. XF80007F80007F80007F80007F80007F80707F80707F80707F80707F80707F80707F80703F80E03
  915. XFC0E01FE1C00FFF8007FF0000FE0182E7EAD20>I<01F80003F000FFF801FFF000FFF801FFF000
  916. XFFF801FFF0000FF8001FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F800
  917. X0FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000
  918. X07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F800
  919. X0FF00007F8000FF00007F8001FF00007F8001FF00003F8003FF00003F8006FF00001FE03CFF800
  920. X00FFFF8FFF80007FFF0FFF80000FFC0FFF8029207D9F2E>I<FFFF0FFFF01FFEFFFF0FFFF01FFE
  921. XFFFF0FFFF01FFE0FF0007E0001F00FF8007F0001E007F8007F0001C007F8003F8003C003FC003F
  922. X80038003FC007FC0038003FE007FC0078001FE00FFC0070001FF00EFE00F0000FF00EFE00E0000
  923. XFF01C7F00E00007F81C7F01C00007F83C7F01C00007FC383F83C00003FC383F83800003FC701FC
  924. X3800001FE701FC7000001FEF01FC7000001FFE00FEF000000FFE00FEE000000FFC007FE0000007
  925. XFC007FC0000007FC007FC0000007F8003FC0000003F8003F80000003F0001F80000001F0001F00
  926. X000001E0000F00000000E0000E000037207E9F3C>119 D<FFFF801FFEFFFF801FFEFFFF801FFE
  927. X07F80003E007F80001C007FC0003C003FC00038003FE00078001FE00070001FF000F0000FF000E
  928. X0000FF801E00007F801C00007FC03C00003FC03800003FE03800001FE07000001FE07000000FF0
  929. XE000000FF0E000000FF9E0000007F9C0000007FFC0000003FF80000003FF80000001FF00000001
  930. XFF00000000FE00000000FE000000007C000000007C000000003800000000380000000070000000
  931. X007000000000F000003C00E000007E01E00000FF01C00000FF03800000FF07800000FF0F000000
  932. X7A3E0000007FFC0000003FF80000000FC0000000272E7E9F2C>121 D E
  933. Xend
  934. X%%EndProlog
  935. X%%BeginSetup
  936. X%%Feature: *Resolution 300
  937. XTeXDict begin 
  938. X%%EndSetup
  939. X%%Page: 1 1
  940. Xbop 101 190 a Fs(Restricting)27 b(Net)n(w)n(ork)e(Access)h(to)i(System)e
  941. X(Daemons)734 281 y(under)h(SunOS)785 407 y Fr(William)14 b(LeF)l(eb)o(vre)778
  942. X511 y Fq(EECS)j(Dep)n(artment)715 567 y(Northwestern)h(University)884
  943. X735 y Fp(Abstract)251 811 y Fo(The)d(implemen)o(tation)d(of)j(most)f(net)o(w)
  944. Xo(ork)h(daemons)f(giv)o(es)h(little)f(consideration)i(to)f(the)g(im-)189
  945. X861 y(plications)h(of)h(w)o(orldwide)f(access.)30 b(In)18 b(some)e(cases,)j
  946. X(suc)o(h)f(access)h(can)f(p)q(ermit)e(the)i(w)o(orldwide)189
  947. X911 y(distribution)12 b(of)g(sensitiv)o(e)h(information,)c(suc)o(h)k(as)g
  948. X(encrypted)h(passw)o(ords.)19 b(In)12 b(other)h(cases,)h(lo)q(cal)189
  949. X960 y(c)o(hanges)k(can)g(b)q(e)g(e\013ected)i(b)o(y)d(pro)q(cesses)k(running)
  950. Xc(an)o(ywhere)h(on)g(the)g(net)o(w)o(ork.)29 b(The)18 b(shared)189
  951. X1010 y(library)c(mec)o(hanism)f(of)i(SunOS)h(can)f(b)q(e)h(used)g(to)f(pro)o
  952. X(vide)g(a)g(\\wrapp)q(er")h(around)f(certain)h(dae-)189 1060
  953. Xy(mons.)22 b(This)16 b(wrapp)q(er)g(tak)o(es)g(the)h(form)d(of)h(an)g
  954. X(alternate)i Fn(libc)d Fo(shared)j(library)m(.)22 b(Rather)16
  955. Xb(than)189 1110 y(linking)e(against)h(the)i(standard)f Fn(libc)p
  956. XFo(,)f(a)h(daemon)e(is)i(directed)h(to)f(link)f(against)g(this)h(alternate)
  957. X189 1160 y Fm(se)n(cur)n(e)10 b Fo(library)m(.)16 b(The)11
  958. Xb(secure)i(library)d(has)h(an)f(augmen)o(ted)g(form)f(of)h(certain)h(net)o(w)
  959. Xo(ork-related)h(sys-)189 1210 y(tem)f(calls)h(whic)o(h)g(\014rst)h(p)q
  960. X(erform)f(the)h(true)g(system)f(call)g(then)h(c)o(hec)o(k)g(the)g(so)q(c)o(k)
  961. END_OF_FILE
  962.   if test 46421 -ne `wc -c <'securelib.ps.B'`; then
  963.     echo shar: \"'securelib.ps.B'\" unpacked with wrong size!
  964.   elif test -f 'securelib.ps.A' && test -f 'securelib.ps.C'; then
  965.     echo shar: Combining  \"'securelib.ps'\" \(131349 characters\)
  966.     cat 'securelib.ps.A' 'securelib.ps.B' 'securelib.ps.C' > 'securelib.ps'
  967.     if test 131349 -ne `wc -c <'securelib.ps'`; then
  968.       echo shar: \"'securelib.ps'\" combined with wrong size!
  969.     else
  970.       rm securelib.ps.A securelib.ps.B securelib.ps.C
  971.     fi
  972.   fi
  973.   # end of 'securelib.ps.B'
  974. fi
  975. if test -f 'start.X' -a "${1}" != "-c" ; then 
  976.   echo shar: Will not clobber existing file \"'start.X'\"
  977. else
  978.   echo shar: Extracting \"'start.X'\" \(183 characters\)
  979.   sed "s/^X//" >'start.X' <<'END_OF_FILE'
  980. X#!/bin/sh
  981. X#
  982. X# Start a daemon with the secure library.
  983. X#
  984. X# Usage: %DESTDIR%/start program args
  985. X#
  986. XSL_NAME=`basename $1`
  987. XLD_LIBRARY_PATH=%DESTDIR%
  988. Xexport LD_LIBRARY_PATH SL_NAME
  989. Xexec $@
  990. END_OF_FILE
  991.   if test 183 -ne `wc -c <'start.X'`; then
  992.     echo shar: \"'start.X'\" unpacked with wrong size!
  993.   fi
  994.   # end of 'start.X'
  995. fi
  996. echo shar: End of archive 2 \(of 3\).
  997. cp /dev/null ark2isdone
  998. MISSING=""
  999. for I in 1 2 3 ; do
  1000.     if test ! -f ark${I}isdone ; then
  1001.     MISSING="${MISSING} ${I}"
  1002.     fi
  1003. done
  1004. if test "${MISSING}" = "" ; then
  1005.     echo You have unpacked all 3 archives.
  1006.     rm -f ark[1-9]isdone
  1007. else
  1008.     echo You still must unpack the following archives:
  1009.     echo "        " ${MISSING}
  1010. fi
  1011. exit 0
  1012. exit 0 # Just in case...
  1013.