home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume41 / wwfs / part05 < prev    next >
Encoding:
Text File  |  1994-01-16  |  89.8 KB  |  2,827 lines

  1. Newsgroups: comp.sources.misc
  2. From: youki-k@is.aist-nara.ac.jp (Youki Kadobayashi)
  3. Subject: v41i090:  wwfs - WorldWide File System, Part05/22
  4. Message-ID: <1994Jan17.021140.8734@sparky.sterling.com>
  5. X-Md4-Signature: aaf39cecf3fac3532fc185c83959d22d
  6. Sender: kent@sparky.sterling.com (Kent Landfield)
  7. Organization: Sterling Software
  8. Date: Mon, 17 Jan 1994 02:11:40 GMT
  9. Approved: kent@sparky.sterling.com
  10.  
  11. Submitted-by: youki-k@is.aist-nara.ac.jp (Youki Kadobayashi)
  12. Posting-number: Volume 41, Issue 90
  13. Archive-name: wwfs/part05
  14. Environment: UNIX, inet
  15.  
  16. #! /bin/sh
  17. # This is a shell archive.  Remove anything before this line, then feed it
  18. # into a shell via "sh file" or similar.  To overwrite existing files,
  19. # type "sh file -c".
  20. # Contents:  csd/ftp.c doc/panel.ps.C saps/kill-csd.sh
  21. # Wrapped by kent@sparky on Sun Jan 16 17:48:22 1994
  22. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
  23. echo If this archive is complete, you will see the following message:
  24. echo '          "shar: End of archive 5 (of 22)."'
  25. if test -f 'csd/ftp.c' -a "${1}" != "-c" ; then 
  26.   echo shar: Will not clobber existing file \"'csd/ftp.c'\"
  27. else
  28.   echo shar: Extracting \"'csd/ftp.c'\" \(9948 characters\)
  29.   sed "s/^X//" >'csd/ftp.c' <<'END_OF_FILE'
  30. X/* 
  31. X * WorldWide File System
  32. X * Copyright (c) 1992,1993 Youki Kadobayashi
  33. X * Copyright (c) 1992,1993 Osaka University
  34. X * All rights reserved.
  35. X *
  36. X * Permission to use, copy, modify and distribute this software and its
  37. X * documentation is hereby granted, provided that the following conditions
  38. X * are met:
  39. X * 1. Both the copyright notice and this permission notice appear in
  40. X *    all copies of the software, derivative works or modified versions,
  41. X *    and any portions thereof, and that both notices appear in
  42. X *    supporting documentation.
  43. X * 2. All advertising materials mentioning features or use of this software
  44. X *    must display the following acknowledgement:
  45. X *      This product includes software developed by the Osaka University
  46. X *      and its contributors.
  47. X * 3. Neither the name of the University nor the names of its contributors
  48. X *    may be used to endorse or promote products derived from this software
  49. X *    without specific prior written permission.
  50. X *
  51. X * THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND OSAKA
  52. X * UNIVERSITY DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES
  53. X * WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
  54. X *
  55. X * Osaka University requests users of this software to return to
  56. X *
  57. X *  Youki Kadobayashi
  58. X *  Department of Information and Computer Sciences
  59. X *  Osaka University, Toyonaka 560, Osaka, Japan
  60. X *
  61. X * any improvements or extensions that they make and grant Osaka
  62. X * University the rights to redistribute these changes.
  63. X */
  64. X/* NFS over FTP */
  65. Xstatic char *AtFSid = "$Header: ftp.c[109.0] Wed Nov 24 03:47:09 1993 youki-k@is.aist-nara.ac.jp saved $";
  66. X
  67. X#include <sys/ioctl.h>        /* for FIONBIO */
  68. X#include <ctype.h>        /* for isdigit */
  69. X#include <string.h>        /* for strchr */
  70. X#include "wfs.h"
  71. X#include "util.h"
  72. X#include "global.h"
  73. X
  74. X/* public functions  */
  75. Xvoid ftp_getuda(), ftp_keepalive(), ftp_close(), ftp_shutdown();
  76. X
  77. Xwf_proto proto_ftp = {
  78. X    "FTP", cmfs_getattr, err_getattr_miss,
  79. X    cmfs_lookup, err_lookup_miss, cmfs_readlink,
  80. X    cmfs_read, ftp_read_miss, cmfs_readdir, ftp_readdir_miss,
  81. X    ftp_getuda, ftp_keepalive, ftp_close, ftp_shutdown, 0
  82. X};
  83. X
  84. X/* debug */
  85. Xwf_req *cs_ftp_debug;
  86. X
  87. Xvoid
  88. Xftp_getuda()
  89. X{
  90. X    /* XXX: not used? */
  91. X}
  92. X
  93. Xvoid
  94. Xftp_keepalive()
  95. X{
  96. X    /* XXX: TCP keepalive could be used */
  97. X}
  98. X
  99. Xvoid
  100. Xftp_close(cp)
  101. Xwf_conn *cp;
  102. X{
  103. X#ifdef VERBOSE
  104. X    dlog("closing FTP connection to %s", cp->srv->name);
  105. X#endif
  106. X    if (cp->thrdp && cs_state < Finishing) {
  107. X        dlog("transfer aborted");
  108. X    }
  109. X    send(cp->id, "QUIT\r\n", 6, 0);
  110. X    so_clear(cp->id);
  111. X    so_unregister(cp->id, WF_SO_ALL);
  112. X    close(cp->id);
  113. X    cp->thrdp = (wf_thrd *)0;
  114. X}
  115. X
  116. Xvoid
  117. Xftp_shutdown(cp, howto)
  118. Xwf_conn *cp;
  119. Xint howto;
  120. X{
  121. X    so_clear(cp->id);
  122. X    so_unregister(cp->id, WF_SO_ALL);
  123. X    shutdown(cp->id, howto);
  124. X}
  125. X
  126. X/* connection */
  127. Xint
  128. Xftp_conn_open(c)
  129. Xwf_thrd *c;    /* cp */
  130. X{
  131. X    int so, opt;
  132. X    static void ftp_conn_nbio();
  133. X
  134. X    so = c->cp->id = socket(AF_INET, SOCK_STREAM, 0);
  135. X    if (so < 0) {
  136. X        errno_diag();
  137. X        return -1;
  138. X    }
  139. X#ifdef VERBOSE
  140. X    talk(c->client, "opening FTP connection to %s", c->cp->srv->name);
  141. X    dlog("opening FTP connection to %s", c->cp->srv->name);
  142. X#endif
  143. X
  144. X    opt = 1;
  145. X    ioctl(so, FIONBIO, &opt);
  146. X#ifdef HZ
  147. X    opt = 3 * HZ;                /* 3sec */
  148. X    setsockopt(so, SOL_SOCKET, SO_SNDTIMEO, (char *)&opt, sizeof(int));
  149. X    setsockopt(so, SOL_SOCKET, SO_RCVTIMEO, (char *)&opt, sizeof(int));
  150. X#endif
  151. X    c->step = FTPS_CONN_INIT;
  152. X    ftp_conn_nbio(c);
  153. X    return so;
  154. X}
  155. X
  156. Xstatic void
  157. Xftp_conn_fail(c)
  158. Xwf_thrd *c;
  159. X{
  160. X    c->flag |= WF_THREAD_ERROR;
  161. X    c->step = FTPS_CONN_FAIL;
  162. X    wakeup(&c->cp);
  163. X}
  164. X
  165. Xstatic void
  166. Xftp_conn_nbio(c)
  167. Xwf_thrd *c;
  168. X{
  169. X    int so = c->cp->id;
  170. X    int ret;
  171. X    static wf_thrd x;
  172. X
  173. X    switch (c->step) {
  174. X    case FTPS_CONN_INIT:
  175. X        c->give_up = ftp_conn_fail;
  176. X        c->closure = (void *)c;
  177. X        c->cp->thrdp = &x;    /* fake */
  178. X        connect(so, (struct sockaddr *)&c->cp->srv->sin,
  179. X            sizeof (sockaddr_in));
  180. X        so_register(so, WF_SO_READ|WF_SO_WRITE);
  181. X        so_callback(so, ftp_conn_nbio, c);
  182. X        c->step = FTPS_CONN_USER;
  183. X        return;
  184. X    case FTPS_CONN_USER:
  185. X        so_unregister(so, WF_SO_WRITE);
  186. X        ret = tcp_send(so, "USER anonymous\r\n");
  187. X        if (cs_ftp_debug) {
  188. X            req_send(cs_ftp_debug, "USER anonymous\r\n");
  189. X        }
  190. X        if (ret < 0) {
  191. X            c->flag |= WF_THREAD_ERROR;
  192. X            srv_flag(c->cp->srv, WF_SRV_REFUSED);
  193. X            break;
  194. X        }
  195. X        c->step = FTPS_CONN_PASS;
  196. X        return;
  197. X    case FTPS_CONN_PASS:
  198. X        ret = ftp_recv_status(c->cp);
  199. X        if (ret == 331) {
  200. X            tcp_send(so, "PASS wwfs@%s.%s\r\n",
  201. X                 cs_hostname, cs_domain);
  202. X            if (cs_ftp_debug) {
  203. X                req_send(cs_ftp_debug, "PASS wwfs@%s.%s\r\n",
  204. X                     cs_hostname, cs_domain);
  205. X            }
  206. X            c->step = FTPS_CONN_TYPE;
  207. X        } else if (ret == 230) {
  208. X            /* "230 User logged in, proceed." */
  209. X            goto bypass_pass;
  210. X        } else if (ret == 0 || ret < 400) {
  211. X            /* expect more replies */
  212. X            c->step = FTPS_CONN_PASS;
  213. X        } else {
  214. X            /* "530 User anonymous unknown" or somesuch */
  215. X            ftp_reply_diag(ret);
  216. X            c->flag |= WF_THREAD_ERROR;
  217. X            srv_flag(c->cp->srv, WF_SRV_REFUSED);
  218. X            break;
  219. X        }
  220. X        return;
  221. X    case FTPS_CONN_TYPE:
  222. X        ret = ftp_recv_status(c->cp);
  223. X        if (ret == 230) {
  224. X        bypass_pass:
  225. X            tcp_send(so, "TYPE I\r\n");
  226. X            if (cs_ftp_debug) {
  227. X                req_send(cs_ftp_debug, "TYPE I\r\n");
  228. X            }
  229. X            c->step = FTPS_CONN_FIN;
  230. X        } else if (ret == 0 || ret < 400) {
  231. X            /* expect more replies */
  232. X            c->step = FTPS_CONN_TYPE;
  233. X        } else {
  234. X            /* e.g., "530 Too many users connected currently" */
  235. X            ftp_reply_diag(ret);
  236. X            c->flag |= WF_THREAD_ERROR;
  237. X            srv_flag(c->cp->srv, WF_SRV_REFUSED);
  238. X            break;
  239. X        }
  240. X        return;
  241. X    case FTPS_CONN_FIN:
  242. X        ret = ftp_recv_status(c->cp);
  243. X        if (ret == 200) {
  244. X            so_clear(so);
  245. X            c->cp->thrdp = (wf_thrd *)0;
  246. X            so_callback(so, ftp_recv_junk, (void *)so);
  247. X            break;
  248. X        } else if (ret == 0 || ret < 400) {
  249. X            /* expect more replies */
  250. X            c->step = FTPS_CONN_FIN;
  251. X        } else {
  252. X            ftp_reply_diag(ret);
  253. X        }
  254. X        return;
  255. X    }
  256. X    c->step = FTPS_PROMPT;
  257. X    wakeup(&c->cp);
  258. X}
  259. X
  260. Xint
  261. Xftp_recv_status(cp)
  262. Xwf_conn *cp;
  263. X{
  264. X    long navail;
  265. X    int nread;
  266. X    int ret, so, status = 0;
  267. X    char *bufp, *p, *q;
  268. X
  269. X    so = cp->id;
  270. X    bufp = so_getbuf(so);
  271. X    ioctl(so, FIONREAD, &navail);
  272. X    nread = MIN(navail, NFS_MAXDATA);
  273. X    if (nread == 0) {
  274. X        if (cp->thrdp) cp->thrdp->flag |= WF_THREAD_ERROR;
  275. X        srv_flag(cp->srv, WF_SRV_XABORT);
  276. X        return 426;    /* connection closed */
  277. X    }
  278. X    ret = recv(so, bufp, nread, MSG_PEEK);
  279. X    if (ret < 0) {
  280. X        errno_diag();
  281. X        if (cp->thrdp) cp->thrdp->flag |= WF_THREAD_ERROR;
  282. X        return 451;    /* local error */
  283. X    }
  284. X    bufp[nread] = '\0';
  285. X    if ((q = strrchr(bufp, '\n')) == NULL)
  286. X        return 0;    /* too fast? */
  287. X    recv(so, bufp, q-bufp+1, 0);
  288. X    q[1] = '\0';
  289. X    p = bufp;
  290. X    while (*p) {
  291. X        q = strchr(p, '\n');
  292. X        if (isdigit(*p) && isspace(p[3])) {
  293. X            status = atoi(p);
  294. X            if (status > 400 && cp->thrdp)
  295. X                cp->thrdp->flag |= WF_THREAD_ERROR;
  296. X        }
  297. X        p = q+1;
  298. X    }
  299. X    return status;
  300. X}
  301. X
  302. Xvoid
  303. Xftp_recv_junk(so)    /* firewall */
  304. Xint so;
  305. X{
  306. X    long navail;
  307. X    int nread, ret, optlen;
  308. X    char *bufp;
  309. X
  310. X    bufp = so_getbuf(so);
  311. X    ioctl(so, FIONREAD, &navail);
  312. X    nread = MIN(navail, NFS_MAXDATA-64);
  313. X    if (nread == 0) {
  314. X        optlen = sizeof(int);
  315. X        getsockopt(so, SOL_SOCKET, SO_ERROR, &ret, &optlen);
  316. X        if (ret && ret < sys_nerr)
  317. X            dlog("ftp_recv_junk: %s", sys_errlist[ret]);
  318. X        conn_dropped(so);
  319. X        return;
  320. X    }
  321. X    ret = recv(so, bufp, nread, 0);
  322. X    if (ret < 0) {
  323. X        errno_diag();
  324. X        return;
  325. X    }
  326. X    bufp[nread] = '\0';
  327. X    dlog("ftp_recv_junk(%d): %s", so, bufp);
  328. X}
  329. X
  330. Xvoid
  331. Xftp_reply_diag(ret)
  332. Xint ret;
  333. X{
  334. X    /* See RFC959 for details */
  335. X    char *p;
  336. X
  337. X    switch (ret) {
  338. X    case 110:
  339. X        p = "110 Restart marker reply.";
  340. X        break;
  341. X    case 120:
  342. X        p = "120 Service ready in nnn minutes.";
  343. X        break;
  344. X    case 125:
  345. X        p = "125 Data connection already open; transfer starting.";
  346. X        break;
  347. X    case 150:
  348. X        p = "150 File status okay; about to open data connection.";
  349. X        break;
  350. X    case 200:
  351. X        p = "200 Command okay.";
  352. X        break;
  353. X    case 202:
  354. X        p = "202 Command not implemented, superflous at this state.";
  355. X        break;
  356. X    case 211:
  357. X        p = "211 System status, or system help reply.";
  358. X        break;
  359. X    case 212:
  360. X        p = "212 Directory status.";
  361. X        break;
  362. X    case 213:
  363. X        p = "213 File status.";
  364. X        break;
  365. X    case 214:
  366. X        p = "214 Help message.";
  367. X        break;
  368. X    case 215:
  369. X        p = "215 NAME system type.";
  370. X        break;
  371. X    case 220:
  372. X        p = "220 Service ready for new user.";
  373. X        break;
  374. X    case 221:
  375. X        p = "221 Service closing control connection.";
  376. X        break;
  377. X    case 225:
  378. X        p = "225 Data connection open; no transfer in progress.";
  379. X        break;
  380. X    case 226:
  381. X        p = "226 Closing data connection.";
  382. X        break;
  383. X    case 227:
  384. X        p = "227 Entering passive mode.";
  385. X        break;
  386. X    case 230:
  387. X        p = "230 User logged in, proceed.";
  388. X        break;
  389. X    case 250:
  390. X        p = "250 Requested file action okay, completed.";
  391. X        break;
  392. X    case 257:
  393. X        p = "257 PATHNAME created.";
  394. X        break;
  395. X    case 331:
  396. X        p = "331 User name okay, need password.";
  397. X        break;
  398. X    case 332:
  399. X        p = "332 Need account for login.";
  400. X        break;
  401. X    case 350:
  402. X        p = "350 Requested file action pending further information.";
  403. X        break;
  404. X    case 421:
  405. X        p = "421 Service not available, closing control connection.";
  406. X        break;
  407. X    case 425:
  408. X        p = "425 Can't open data connection.";
  409. X        break;
  410. X    case 426:
  411. X        p = "426 Connection closed; transfer aborted.";
  412. X        break;
  413. X    case 450:
  414. X        p = "450 Requested file action not taken.";
  415. X        break;
  416. X    case 451:
  417. X        p = "451 Requested action aborted: local error in processing.";
  418. X        break;
  419. X    case 452:
  420. X        p = "452 Requested action not taken. Insufficient storage space in system.";
  421. X        break;
  422. X    case 500:
  423. X        p = "500 Syntax error, command unrecognized.";
  424. X        break;
  425. X    case 501:
  426. X        p = "501 Syntax error in parameters or arguments.";
  427. X        break;
  428. X    case 502:
  429. X        p = "502 Command not implemented.";
  430. X        break;
  431. X    case 503:
  432. X        p = "503 Bad sequence of commands.";
  433. X        break;
  434. X    case 504:
  435. X        p = "504 Command not implemented for that parameter.";
  436. X        break;
  437. X    case 530:
  438. X        p = "530 Not logged in.";
  439. X        break;
  440. X    case 532:
  441. X        p = "532 Need account for storing files.";
  442. X        break;
  443. X    case 550:
  444. X        p = "550 Requested action not taken. File unavailable.";
  445. X        break;
  446. X    case 551:
  447. X        p = "551 Requested action aborted: page type unknown.";
  448. X        break;
  449. X    case 552:
  450. X        p = "552 Requested file action aborted. Exceeded storage allocation.";
  451. X        break;
  452. X    case 553:
  453. X        p = "553 Requested action not taken. File name not allowed.";
  454. X        break;
  455. X    default:
  456. X        dlog("ftp_reply_diag: unknown reply code %d", ret);
  457. X        return;
  458. X    }
  459. X    dlog(p);
  460. X}
  461. X
  462. END_OF_FILE
  463.   if test 9948 -ne `wc -c <'csd/ftp.c'`; then
  464.     echo shar: \"'csd/ftp.c'\" unpacked with wrong size!
  465.   fi
  466.   # end of 'csd/ftp.c'
  467. fi
  468. if test -f 'doc/panel.ps.C' -a "${1}" != "-c" ; then 
  469.   echo shar: Will not clobber existing file \"'doc/panel.ps.C'\"
  470. else
  471.   echo shar: Extracting \"'doc/panel.ps.C'\" \(76144 characters\)
  472.   sed "s/^X//" >'doc/panel.ps.C' <<'END_OF_FILE'
  473. X13.039368 0 286.702942 249.631958 line
  474. Xgrestore
  475. X[] 0 setdash
  476. X0 0 1.448819 setup
  477. X0 nxsetgray
  478. X34.771667 0 286.702942 245.285492 line
  479. Xgrestore
  480. X[] 0 setdash
  481. X0 0 1.448819 setup
  482. X0 nxsetgray
  483. X10.86615 0 286.702942 240.939041 line
  484. Xgrestore
  485. X[] 0 setdash
  486. X0 0 1.448819 setup
  487. X0 nxsetgray
  488. X21.732269 0 286.702942 236.59259 line
  489. Xgrestore
  490. X[] 0 setdash
  491. X0 0 1.448819 setup
  492. X0 nxsetgray
  493. X13.039368 0 286.702942 232.24614 line
  494. Xgrestore
  495. Xgrestore
  496. X[] 0 setdash
  497. X0 0 2.897638 setup
  498. X[] 0 setdash
  499. X0 0 1.448819 setup
  500. X0 setgray
  501. X355.798248 209.867111 419.546265 291.000977 0 ArcRect stroke
  502. Xgrestore
  503. X[] 0 setdash
  504. X0 0 1.448819 setup
  505. X0 nxsetgray
  506. X23.181152 11.590546 355.798248 291.001007 line
  507. Xgrestore
  508. X[] 0 setdash
  509. X0 0 1.448819 setup
  510. X0 nxsetgray
  511. X23.181091 11.590546 419.546295 291.001007 line
  512. Xgrestore
  513. X[] 0 setdash
  514. X0 0 1.448819 setup
  515. X0 nxsetgray
  516. X23.181091 11.590576 419.546295 209.867111 line
  517. Xgrestore
  518. X[] 0 setdash
  519. X0 0 1.448819 setup
  520. X0 nxsetgray
  521. X63.747986 0 378.979401 302.591553 line
  522. Xgrestore
  523. X[] 0 setdash
  524. X0 0 1.448819 setup
  525. X0 nxsetgray
  526. X0 -81.133865 442.727386 302.591553 line
  527. Xgrestore
  528. X[] 0 setdash
  529. X0 0 1.448819 setup
  530. X0 nxsetgray
  531. X344.207703 195.378937 422.443909 206.969482 0 ArcRect stroke
  532. Xgrestore
  533. X[] 0 setdash
  534. X0 0 1.448819 setup
  535. X0 nxsetgray
  536. X11.88031 5.795273 344.207703 206.969482 line
  537. Xgrestore
  538. X[] 0 setdash
  539. X0 0 1.448819 setup
  540. X0 nxsetgray
  541. X34.916565 17.385849 422.443909 206.969482 line
  542. Xgrestore
  543. X[] 0 setdash
  544. X0 0 1.448819 setup
  545. X0 nxsetgray
  546. X34.771698 17.385818 422.443909 195.378937 line
  547. Xgrestore
  548. X[] 0 setdash
  549. X0 0 1.448819 setup
  550. X0 nxsetgray
  551. X14.48822 0 442.727386 224.355331 line
  552. Xgrestore
  553. X[] 0 setdash
  554. X0 0 1.448819 setup
  555. X0 nxsetgray
  556. X0 -11.590576 457.215607 224.355331 line
  557. Xgrestore
  558. X[] 0 setdash
  559. X0 0 1.448819 setup
  560. Xgsave
  561. X0.333293 nxsetgray
  562. X364.49118 218.560028 410.853394 221.457657 0 ArcRect fill
  563. Xgrestore
  564. X0 setgray
  565. X364.49118 218.560028 410.853394 221.457657 0 ArcRect stroke
  566. Xgrestore
  567. X[] 0 setdash
  568. X0 0 1.448819 setup
  569. Xgsave
  570. X0.333293 nxsetgray
  571. X364.49118 227.25296 410.853394 230.150589 0 ArcRect fill
  572. Xgrestore
  573. X0 setgray
  574. X364.49118 227.25296 410.853394 230.150589 0 ArcRect stroke
  575. Xgrestore
  576. X[] 0 setdash
  577. X0 0 1.448819 setup
  578. Xgsave
  579. X0.333293 nxsetgray
  580. X364.49118 235.945862 410.853394 238.843506 0 ArcRect fill
  581. Xgrestore
  582. X0 setgray
  583. X364.49118 235.945862 410.853394 238.843506 0 ArcRect stroke
  584. Xgrestore
  585. X[] 0 setdash
  586. X0 0 1.448819 setup
  587. Xgsave
  588. X0.333293 nxsetgray
  589. X364.49118 244.638779 410.853394 247.536407 0 ArcRect fill
  590. Xgrestore
  591. X0 setgray
  592. X364.49118 244.638779 410.853394 247.536407 0 ArcRect stroke
  593. Xgrestore
  594. X[] 0 setdash
  595. X0 0 1.448819 setup
  596. Xgsave
  597. X0.333293 nxsetgray
  598. X364.49118 253.331711 410.853394 256.22934 0 ArcRect fill
  599. Xgrestore
  600. X0 setgray
  601. X364.49118 253.331711 410.853394 256.22934 0 ArcRect stroke
  602. Xgrestore
  603. Xgrestore
  604. Xgrestore
  605. X1 setgray
  606. X0 setgray
  607. X0.333333 setgray
  608. Xgsave
  609. X0 0 792 1008 rectclip
  610. X[1 0 0 -1 0 1008] concat
  611. Xgrestore
  612. X%%Trailer
  613. X
  614. X%%EndDocument
  615. Xcount __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore
  616. Xgrestore
  617. Xgrestore
  618. X[] 0 setdash
  619. X0 0 3.622047 setup
  620. X[] 0 setdash
  621. X0 0 2.173229 setup
  622. X0 setgray
  623. X56.503944 27.817322 50.108124 596.158508 oval stroke
  624. Xgrestore
  625. X[] 0 setdash
  626. X0 0 2.173229 setup
  627. X0 setgray
  628. X13.039364 6.258911 63.079456 585.621094 oval stroke
  629. Xgrestore
  630. X[] 0 setdash
  631. X0 0 2.173229 setup
  632. X0 setgray
  633. X6.780472 3.303284 58.732994 578.319031 oval stroke
  634. Xgrestore
  635. X[] 0 setdash
  636. X0 0 2.173229 setup
  637. Xgsave
  638. X74 execuserobject setfont
  639. X0 nxsetgray
  640. X[1 0 0 -1 0 1222] concat
  641. X75 execuserobject setfont
  642. X0 nxsetgray
  643. X62 614 moveto (") show
  644. Xgrestore
  645. Xgrestore
  646. X[] 0 setdash
  647. X0 0 2.173229 setup
  648. Xgsave
  649. X75 execuserobject setfont
  650. X0 nxsetgray
  651. X[1 0 0 -1 0 1224] concat
  652. X75 execuserobject setfont
  653. X0 nxsetgray
  654. X88 615 moveto (") show
  655. Xgrestore
  656. Xgrestore
  657. X[] 0 setdash
  658. X0 0 2.173229 setup
  659. X0 0 translate
  660. X1 1 scale
  661. X0 nxsetgray
  662. Xgsave
  663. Xnewpath
  664. Xsystemdict
  665. Xbegin
  666. X65 600 91 621 setbbox
  667. X79.529388 618.17749 moveto
  668. X67.011597 602.877991 lineto
  669. X88.222321 602.877991 lineto
  670. X79.529396 618.177429 lineto
  671. Xend
  672. Xstroke
  673. Xgrestore
  674. Xgrestore
  675. Xgrestore
  676. X[] 0 setdash
  677. X0 0 0.2 setup
  678. X31.761808 522.451843 transform
  679. Xgsave __NXbasematrix setmatrix itransform translate
  680. X0 0 82.346588 82.346588 rectclip
  681. X0 0 translate
  682. X0 rotate
  683. X0.6 0.6 scale
  684. X-130 -179 translate
  685. X
  686. X/__NXEPSSave save def /showpage {} def
  687. X_NXLevel2{/_NXsethsb where{pop}{/_NXsethsb /sethsbcolor load def}ifelse /sethsbcolor{_NXsethsb currentrgbcolor nxsetrgbcolor}def /setrgbcolor{nxsetrgbcolor}bind def /setgray{nxsetgray}bind def
  688. X/_NXcimage where{pop}{/_NXcimage /colorimage load def}ifelse /colorimage{dup 3 eq{true 2 index{1 index}{1}ifelse 7 add 1 roll _NXCalibratedImage}{_NXcimage}ifelse}def}if
  689. X0 setgray 0 setlinecap 1 setlinewidth
  690. X0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def
  691. X%%BeginDocument: 
  692. X%!PS-Adobe-2.0 EPSF-2.0
  693. X%%Title: 
  694. X%%Creator: DrawPlus
  695. X%%CreationDate: Mon Dec 14 13:45:43 1992
  696. X%%For: youki
  697. X%%DocumentFonts: (atend)
  698. X%%Pages: 0 0
  699. X%%BoundingBox: 130 179 230 273
  700. X%%NXNextStepVersion: 3.0
  701. X%%EndComments
  702. X
  703. X%%BeginProcSet: /usr/lib/NextStep/printPackage.ps 3.0
  704. X%!
  705. X% NeXT Printing Package
  706. X% Version: 3.0J
  707. X% Modified by Canon based on Version 3.0 , 1992.01.07
  708. X% Copyright: 1988, NeXT, Inc.
  709. X
  710. X/__NXdef{1 index where{pop pop pop}{def}ifelse}bind def
  711. X/__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def
  712. X/UserObjects 10 array __NXdef
  713. X/defineuserobject{
  714. X    exch dup 1 add dup UserObjects length gt{
  715. X        array dup 0 UserObjects putinterval
  716. X        /UserObjects exch def
  717. X    }{pop}ifelse UserObjects exch 3 -1 roll put
  718. X}__NXbdef
  719. X/undefineuserobject{UserObjects exch null put}__NXbdef
  720. X/execuserobject{UserObjects exch get exec}__NXbdef
  721. X/__NXRectPath{4 2 roll moveto 1 index 0 rlineto
  722. X0 exch rlineto neg 0 rlineto closepath}__NXbdef
  723. X/__NXProcessRectArgs{
  724. X    1 index type /arraytype eq{
  725. X        exch 0 4 2 index length 1 sub{
  726. X            dup 3 add 1 exch{1 index exch get exch}for
  727. X            5 1 roll 5 index exec
  728. X        }for pop pop
  729. X    }{exec}ifelse
  730. X}__NXbdef
  731. X/rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef
  732. X/rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef
  733. X/rectstroke{
  734. X    gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{
  735. X        {gsave __NXRectPath null concat stroke grestore}
  736. X        dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs
  737. X    }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore
  738. X}__NXbdef
  739. X/_NXLevel2 systemdict /languagelevel known {languagelevel 2 ge}{false}ifelse __NXdef
  740. X/xyshow{
  741. X    0 1 3 index length 1 sub{
  742. X        currentpoint 4 index 3 index 1 getinterval show
  743. X        3 index 3 index 2 mul 1 add get add exch
  744. X        3 index    3 index 2 mul get add exch moveto pop
  745. X    }for pop pop
  746. X}__NXbdef
  747. X/xshow{
  748. X    0 1 3 index length 1 sub{
  749. X        currentpoint 4 index 3 index 1 getinterval show
  750. X        exch 3 index 3 index get add exch moveto pop
  751. X    }for pop pop
  752. X}__NXbdef
  753. X/yshow{
  754. X    0 1 3 index length 1 sub{
  755. X        currentpoint 4 index 3 index 1 getinterval show
  756. X        3 index 3 index get add moveto pop
  757. X    }for pop pop
  758. X}__NXbdef
  759. X/arct{arcto pop pop pop pop}__NXbdef
  760. X/setbbox{pop pop pop pop}__NXbdef
  761. X/ucache{}__NXbdef
  762. X/ucachestatus{mark 0 0 0 0 0}__NXbdef
  763. X/setucacheparams{cleartomark}__NXbdef
  764. X/uappend{systemdict begin cvx exec end}__NXbdef
  765. X/ueofill{gsave newpath uappend eofill grestore}__NXbdef
  766. X/ufill{gsave newpath uappend fill grestore}__NXbdef
  767. X/ustroke{
  768. X    gsave newpath dup length 6 eq
  769. X    {exch uappend concat}{uappend}ifelse
  770. X    stroke grestore
  771. X}__NXbdef
  772. X/__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse
  773. X/ustrokepath{
  774. X    newpath dup length 6 eq{
  775. X        exch uappend __NXustrokepathMatrix currentmatrix exch concat
  776. X        strokepath setmatrix
  777. X    }{uappend strokepath}ifelse
  778. X} __NXbdef
  779. X/upath{
  780. X    [exch {/ucache cvx}if pathbbox /setbbox cvx
  781. X     {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx
  782. X} __NXbdef
  783. X/setstrokeadjust{pop}__NXbdef
  784. X/currentstrokeadjust{false}__NXbdef
  785. X/selectfont{exch findfont exch
  786. Xdup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef
  787. X/_NXCombineArrays{
  788. X    counttomark dup 2 add index dup length 3 -1 roll {
  789. X        2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch
  790. X    }repeat pop pop pop
  791. X}__NXbdef
  792. X/flushgraphics{}def
  793. X/setwindowtype{pop pop}def
  794. X/currentwindowtype{pop 0}def
  795. X/setalpha{pop}def
  796. X/currentalpha{1.0}def
  797. X/hidecursor{}def
  798. X/obscurecursor{}def
  799. X/revealcursor{}def
  800. X/setcursor{4 {pop}repeat}bind def
  801. X/showcursor{}def
  802. X
  803. X/SharedFontDirectory FontDirectory __NXdef
  804. X/_JPN /GothicBBB-Medium-EUC-H dup findfont /FontName get eq def
  805. X
  806. X_JPN {
  807. X  mark { /NJ12-88-CFEncoding findencoding } stopped {
  808. X    /defineresource {
  809. X      pop dup 3 1 roll userdict /EncodingDirectory get 3 1 roll readonly put
  810. X    } __NXbdef
  811. X    /GothicBBB-Medium-EUC-H findfont begin
  812. X    Encoding dup length array copy dup dup dup length 2 idiv dup getinterval
  813. X    0 exch putinterval
  814. X    FMapType 2 eq {
  815. X        dup 16#0E 78 put dup 16#20 89 put
  816. X        0 1 9 {dup 16#75 add exch 79 add 2 index 3 1 roll put} for
  817. X    }{
  818. X        dup 16#1D 78 put dup 16#41 89 put
  819. X        0 1 9 {dup dup add 16#EB add exch 79 add 2 index 3 1 roll put} for
  820. X    } ifelse
  821. X    /NJ12-88-CFEncoding exch /Encoding defineresource pop
  822. X    /EUCEncoding FDepVector 10 get /Encoding get /Encoding defineresource pop
  823. X    end
  824. X  } if cleartomark
  825. X} if
  826. X
  827. X/_@Private dup where {pop pop}{50 dict def}ifelse
  828. X/__NJdef _JPN {{//_@Private 3 1 roll put}}{{pop pop}} ifelse bind def
  829. X/__NJbdef _JPN {{//_@Private 2 index known {pop pop}{bind //_@Private 3 1 roll put}ifelse}}{{pop pop}} ifelse bind def
  830. X/_str 128 string __NJdef
  831. X/_find { % /FName _find FontOrFName bool
  832. X    false 0 {dup 3 index known {3 -1 roll get exch pop true exit}{pop}ifelse} forall
  833. X} bind dup 1
  834. X[/SharedFontDirectory dup where {exch get}{pop}ifelse //FontDirectory] put //_@Private 3 1 roll put
  835. X/_copyfont@ { % -font- extension _copyfont@ -dict-
  836. X    1 index maxlength add dict begin {
  837. X    1 index /FID ne 2 index /UniqueID ne and {def}{pop pop}ifelse
  838. X    } forall currentdict end
  839. X} __NJbdef
  840. X/_bind { % /n1 /n2 _bind /n1+2
  841. X    exch dup length 2 index length add _str 4 2 roll
  842. X    _str cvs length exch dup length string cvs putinterval
  843. X    _str exch 0 exch getinterval cvn
  844. X} __NJbdef
  845. X/NDEncoding 256 array dup 0 1 255 {/.notdef put dup} for pop __NJdef
  846. X/_shiftE { % /Fname start length target -font- _shiftE -dict-
  847. X    0 _copyfont@ begin Encoding 4 2 roll getinterval NDEncoding 256 array
  848. X    copy dup 4 -2 roll putinterval Encoding length 256 eq {
  849. X    dup dup 0 128 getinterval 128 exch putinterval } if
  850. X    /Encoding exch def /FontName exch def currentdict end
  851. X} __NJbdef
  852. X/_makeSGFDV { % - _makeSGFDV [FDV]
  853. X    [ _FN /.WP-Symbol _bind findfont
  854. X    _SGFN /.rFC _bind dup 0 96 32 5 index _shiftE definefont
  855. X    _SGFN /.rFD _bind dup 96 32 32 6 index _shiftE definefont
  856. X    _SGFN /.rFE _bind dup 0 128 0 _FN /-Ext-H _bind findfont dup /Encoding get
  857. X    16#2d get exch /FDepVector get exch get _shiftE dup /Encoding 2 copy get
  858. X    [16#f0 16#f1 16#f2 16#f5 16#f6 16#f7 16#fa 16#fb 16#fc] {
  859. X    dup 2 index exch /.notdef put 128 sub 1 index exch /.notdef put
  860. X    } forall put definefont
  861. X    ] dup 0 /NotDefFont findfont put
  862. X} __NJbdef
  863. X/_defSGaiji { % /fullname /basename _defSGaiji -sysGaiji-
  864. X    /_FN exch __NJdef /_SGFN exch __NJdef 15 dict
  865. X    dup /FontName _SGFN put    dup /FontType 0 put
  866. X    dup /FMapType 2 put        dup /FontMatrix matrix put
  867. X    dup /FontBBox {0 -140 1000 880} put
  868. X    dup /Encoding 256 array 0 1 255 {1 index exch 0 put}for
  869. X    dup 16#FC 1 put    dup 16#FD 2 put    dup 16#FE 3 put put
  870. X    dup /FDepVector _makeSGFDV put    dup /isNeXTGaiji true put
  871. X    _SGFN exch definefont
  872. X} __NJbdef
  873. X/_defNeXTF { % /fullname /basename Hflag _defNeXTF
  874. X2 index _find { 4 1 roll pop pop pop}{pop
  875. X    /_FN 2 index __NJdef {/-EUC-H}{/-EUC-V}ifelse _bind findfont
  876. X    1 _copyfont@ begin
  877. X    /FontName 1 index def
  878. X    /UserGaijiName _FN /-NeXT-UserGaiji _bind def
  879. X    /Encoding Encoding dup length array copy FMapType 2 eq {dup 16#8E 78 put
  880. X    0 1 9 {dup 16#F5 add exch 79 add 2 index 3 1 roll put} for
  881. X    }{  dup 16#11D 78 put
  882. X    0 1 9 {dup dup add 16#1EB add exch 79 add 2 index 3 1 roll put} for
  883. X    } ifelse def
  884. X    /FDepVector [FDepVector aload pop _FN /.Hankaku _bind
  885. X    dup /_ _bind exch 128 128 0 3 index findfont _shiftE definefont
  886. X    UserGaijiName findfont dup /isNeXTGaiji 2 copy known {
  887. X        get {/FDepVector get 1 7 getinterval aload pop
  888. X        }{pop /NotDefFont findfont 6 {dup} repeat}ifelse
  889. X    }{pop pop pop /NotDefFont findfont 6 {dup} repeat}ifelse
  890. X    _FN /-NeXT-SystemGaiji _bind findfont /FDepVector get 1 3 getinterval
  891. X    aload pop] def
  892. X    currentdict end definefont
  893. X}ifelse
  894. X} __NJbdef
  895. X/_findNarrow { % /FName _findNarrow -font-
  896. X    dup _str cvs (Narrow) anchorsearch {pop cvn exch _find {exch pop}{
  897. X    exch findfont 0 _copyfont@ dup /FontName 3 index put
  898. X    dup /FontMatrix 2 copy get [5 6 div 0 0 1 0 0] matrix concatmatrix put
  899. X    definefont}ifelse
  900. X    }{pop findfont}ifelse
  901. X} __NJbdef
  902. X/_defmixfont@ { % /FName [/ASCII /KANJI shiftmtx] _defmixfont@ -font-
  903. X    aload pop /_@shiftmatrix exch __NJdef (-NeXT-H) _bind findfont
  904. X    /_EUC exch __NJdef _findNarrow /_@ASCII exch __NJdef
  905. X    dup /_ exch _bind dup _EUC /Encoding get length 2 idiv dup 0 _EUC _shiftE
  906. X    dup /Encoding 2 copy get dup
  907. X    3 index /FMapType get 5 eq {16#41}{16#20}ifelse 89 put  put
  908. X    dup /FontMatrix _@shiftmatrix put
  909. X    dup /FDepVector [ _EUC /FDepVector get aload pop _EUC /FMapType get 5 eq {
  910. X    /_S_ _@ASCII /FontName get _bind _@ASCII 0 _copyfont@
  911. X    dup /Encoding 2 copy get 256 array copy dup dup dup 0 128 getinterval
  912. X    128 exch putinterval 0 _@ASCII /Encoding get 128 128 getinterval
  913. X    putinterval put dup /FontName 3 index put definefont
  914. X    }{_@ASCII}ifelse
  915. X     _@shiftmatrix matrix invertmatrix makefont] put definefont
  916. X    15 dict begin
  917. X    /FontName 2 index def
  918. X    /FontType 0 def     /PaintType 0 def
  919. X    /FMapType 4 def     /FontMatrix matrix def
  920. X    /Encoding [0 1] def /PrefEnc 1 index /Encoding get def
  921. X    /FontBBox _@ASCII /FontBBox get 4 array copy cvx
  922. X        dup 2 get 1000 lt {dup 2 1000 put}if
  923. X        dup 3 get 880 lt {dup 3 880 put}if def
  924. X    /FontInfo _@ASCII /FontInfo get def
  925. X    /FDepVector [_@ASCII 4 -1 roll] def
  926. X    currentdict end definefont
  927. X} __NJbdef
  928. X/Ryumin-Light-NeXT-H {/Ryumin-Light true _defNeXTF} __NJbdef
  929. X/Ryumin-Light-NeXT-V {/Ryumin-Light false _defNeXTF} __NJbdef
  930. X/GothicBBB-Medium-NeXT-H {/GothicBBB-Medium true _defNeXTF} __NJbdef
  931. X/GothicBBB-Medium-NeXT-V {/GothicBBB-Medium false _defNeXTF} __NJbdef
  932. X/Ryumin-Light-NeXT-SystemGaiji {/Ryumin-Light _defSGaiji} __NJbdef
  933. X/GothicBBB-Medium-NeXT-SystemGaiji {/GothicBBB-Medium _defSGaiji} __NJbdef
  934. X/FixedRyuminCourier-Light {
  935. X    [/NarrowCourier /Ryumin-Light matrix] _defmixfont@} __NJbdef
  936. X/FixedRyuminCourier-LightOblique {
  937. X    [/NarrowCourier-Oblique /Ryumin-Light [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef
  938. X/FixedRyuminCourier-Bold {
  939. X    [/NarrowCourier-Bold /Ryumin-Light matrix] _defmixfont@} __NJbdef
  940. X/FixedRyuminCourier-BoldOblique {
  941. X    [/NarrowCourier-BoldOblique /Ryumin-Light [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef
  942. X/RyuminTimes-Light {
  943. X    [/Times-Roman /Ryumin-Light matrix] _defmixfont@} __NJbdef
  944. X/RyuminTimes-LightOblique {
  945. X    [/Times-Italic /Ryumin-Light [1 0 .277325 1 0 0]] _defmixfont@} __NJbdef
  946. X/RyuminTimes-Bold {
  947. X    [/Times-Bold /Ryumin-Light matrix] _defmixfont@} __NJbdef
  948. X/RyuminTimes-BoldOblique {
  949. X    [/Times-BoldItalic /Ryumin-Light [1 0 .277325 1 0 0]] _defmixfont@} __NJbdef
  950. X/FixedGothicBBBCourier {
  951. X    [/NarrowCourier /GothicBBB-Medium matrix] _defmixfont@} __NJbdef
  952. X/FixedGothicBBBCourier-Oblique {
  953. X    [/NarrowCourier-Oblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef
  954. X/FixedGothicBBBCourier-Bold {
  955. X    [/NarrowCourier-Bold /GothicBBB-Medium matrix] _defmixfont@} __NJbdef
  956. X/FixedGothicBBBCourier-BoldOblique {
  957. X    [/NarrowCourier-BoldOblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef
  958. X/GothicBBBHelvetica {
  959. X    [/Helvetica /GothicBBB-Medium matrix] _defmixfont@} __NJbdef
  960. X/GothicBBBHelvetica-Oblique {
  961. X    [/Helvetica-Oblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef
  962. X/GothicBBBHelvetica-Bold {
  963. X    [/Helvetica-Bold /GothicBBB-Medium matrix] _defmixfont@} __NJbdef
  964. X/GothicBBBHelvetica-BoldOblique {
  965. X    [/Helvetica-BoldOblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef
  966. X/TitleGothicBBBHelvetica {
  967. X    [/Helvetica /GothicBBB-Medium matrix] _defmixfont@} __NJbdef
  968. X/TitleGothicBBBHelvetica-Bold {
  969. X    [/Helvetica-Bold /GothicBBB-Medium matrix] _defmixfont@} __NJbdef
  970. X
  971. X/NextStepEncoding where not{
  972. X/NextStepEncoding StandardEncoding 256 array copy def
  973. X0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave
  974. X/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
  975. X/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute
  976. X/Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright
  977. X176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior
  978. X204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave
  979. X/aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute
  980. X/ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth
  981. X/ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute
  982. X/ucircumflex 246/udieresis/yacute 252/thorn/ydieresis]
  983. X{dup type /nametype eq
  984. X {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse
  985. X}forall pop
  986. X/NextStepEncoding NextStepEncoding readonly def
  987. X/_NXfstr 128 string dup 0 (_NX) putinterval def
  988. X/_NXfindfont /findfont load def
  989. X
  990. X/NJEncoding NextStepEncoding /Encoding defineresource pop
  991. X
  992. X/findfont{
  993. X % Because we can never let NextStepEncoding get into
  994. X % SharedFontDirectory, we cannot reencode a font to NextStepEncoding
  995. X % if we are in shared mode.  So if currentshared is true,
  996. X % we call the normal findfont and return that
  997. X /currentshared where {pop currentshared} {false} ifelse
  998. X {_NXfindfont}{dup //_@Private exch known {
  999. X   //_@Private begin dup load exec end
  1000. X }{dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll
  1001. X  getinterval cvn exch FontDirectory 2 index known 
  1002. X  {pop FontDirectory exch get}
  1003. X  {_NXfindfont dup /Encoding get StandardEncoding eq
  1004. X   {    dup length dict exch
  1005. X    {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall
  1006. X     dup /Encoding NextStepEncoding put definefont
  1007. X    }{exch pop} ifelse
  1008. X    }ifelse
  1009. X   }ifelse
  1010. X  }ifelse
  1011. X}bind def
  1012. X}{pop}ifelse
  1013. X/_NXImageString {/__NXImageString where{pop}{/__NXImageString 4000 string __NXdef}ifelse __NXImageString}__NXbdef
  1014. X/_NXDoImageOp{
  1015. X    3 dict begin /parr 5 array def 1 index{dup}{1}ifelse /chans exch def
  1016. X    chans 2 add 2 roll parr 0 chans getinterval astore pop
  1017. X    5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse
  1018. X    4 index mul /totbytes exch def pop exch pop
  1019. X    gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore
  1020. X    {0 1 chans 1 sub{parr exch get exec length totbytes exch sub /totbytes exch def}for totbytes 0 le{exit}if}loop end
  1021. X}__NXbdef
  1022. X/alphaimage{1 add _NXDoImageOp}def
  1023. X_NXLevel2{ 
  1024. X    /NXCalibratedRGBColorSpace where{pop}{
  1025. X        /NXCalibratedRGBColorSpace
  1026. X        {mark /NXCalibratedRGB /ColorSpace findresource exch pop}stopped
  1027. X        {cleartomark /NXCalibratedRGB[/CIEBasedABC 2 dict dup begin 
  1028. X        /MatrixLMN[.4124 .2126 .0193 .3576 .7152 .1192 .1805 .0722 .9505]def
  1029. X        /WhitePoint[.9505 1 1.089] def end] /ColorSpace defineresource}if def}ifelse
  1030. X    /nxsetrgbcolor{NXCalibratedRGBColorSpace setcolorspace setcolor}__NXbdef
  1031. X    /nxsetgray{dup dup nxsetrgbcolor}__NXbdef
  1032. X    /_NXSetCMYKOrRGB{nxsetrgbcolor pop pop pop pop}__NXbdef 
  1033. X    /_NXCalibratedImage{exch{array astore dup length true}{false}ifelse
  1034. X        8 -1 roll{NXCalibratedRGBColorSpace setcolorspace}if
  1035. X        8 dict dup 9 1 roll begin /ImageType 1 def /MultipleDataSources exch def
  1036. X        currentcolorspace 0 get /Indexed eq{pop /Decode[0 2 6 index exp 1 sub]def}
  1037. X        {2 mul dup array /Decode exch def 1 sub 0 1 3 -1 roll{Decode exch dup 2 mod put}for}ifelse
  1038. X        /DataSource exch def /ImageMatrix exch def 
  1039. X        /BitsPerComponent exch def /Height exch def /Width exch def end image}__NXbdef
  1040. X} {
  1041. X    /setcmykcolor{
  1042. X        1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll
  1043. X        4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor}__NXbdef
  1044. X    /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef
  1045. X    /colorimage{_NXDoImageOp}__NXbdef
  1046. X    /nxsetrgbcolor{setrgbcolor}__NXbdef /nxsetgray{setgray}__NXbdef
  1047. X    /setpattern{pop .5 setgray}__NXbdef
  1048. X    /_NXSetCMYKOrRGB{pop pop pop setcmykcolor}__NXbdef 
  1049. X    /_NXCalibratedImage{dup 1 eq {pop pop image}{colorimage}ifelse pop}__NXbdef
  1050. X} ifelse
  1051. X%%EndProcSet
  1052. X
  1053. X_NXLevel2{/_NXsethsb where{pop}{/_NXsethsb /sethsbcolor load def}ifelse /sethsbcolor{_NXsethsb currentrgbcolor nxsetrgbcolor}def /setrgbcolor{nxsetrgbcolor}bind def /setgray{nxsetgray}bind def
  1054. X}if
  1055. Xgsave
  1056. X /__NXbasematrix matrix currentmatrix def
  1057. Xgrestore
  1058. X%%EndProlog
  1059. X%%BeginSetup
  1060. X/PatternDict 25 dict def PatternDict begin /1 /verticals1 def /2 /verticals2 def /3 /holizontal1 def /4 /holizontal2 def /5 /lattice1 def /6 /lattice2 def /7 /point1 def /8 /point2 def /9 /oblique1 def /10 /oblique2 def /11 /oblique3 def /12 /oblique4 def /13 /oblique5 def /14 /oblique6 def /15 /block def /16 /zetsuen1 def /17 /zetsuen2 def /18 /batsu def /19 /glass1 def /20 /glass2 def /21 /circle3 def /22 /tanten1 def /23 /tanten2 def /24 /tanten3 def /25 /tanten4 def end /space {
  1061. X    newpath
  1062. X} def /verticals1 {
  1063. X    5 0 moveto 5 20 lineto 10 0 moveto 10 20 lineto 15 0 moveto 15 20 lineto 20 0 moveto 20 20 lineto stroke
  1064. X} def /verticals2 {
  1065. X    8 0 moveto 8 20 lineto 18 0 moveto 18 20 lineto stroke
  1066. X} def /holizontal1 {
  1067. X    0 5 moveto 20 5 lineto 0 10 moveto 20 10 lineto 0 15 moveto 20 15 lineto 0 20 moveto 20 20 lineto stroke
  1068. X} def /holizontal2 {
  1069. X    0 10 moveto 20 10 lineto 0 20 moveto 20 20 lineto stroke
  1070. X} def /lattice1 {
  1071. X    5 0 moveto 5 20 lineto 10 0 moveto 10 20 lineto 15 0 moveto 15 20 lineto 20 0 moveto 20 20 lineto 0 5 moveto 20 5 lineto 0 10 moveto 20 10 lineto 0 15 moveto 20 15 lineto 0 20 moveto 20 20 lineto stroke
  1072. X} def /lattice2 {
  1073. X    5 0 moveto 5 20 lineto 15 0 moveto 15 20 lineto 0 5 moveto 20 5 lineto 0 15 moveto 20 15 lineto stroke
  1074. X} def /point1 {
  1075. X    5 5 moveto 5 5 1 0 360 arc 5 15 moveto 5 15 1 0 360 arc 15 5 moveto 15 5 1 0 360 arc 15 15 moveto 15 15 1 0 360 arc fill
  1076. X} def /point2 {
  1077. X    10 10 moveto 10 10 1 0 360 arc 1 0 moveto 0 0 1 0 90 arc 0 19 moveto 0 20 1 270 360 arc 20 1 moveto 20 0 1 90 180 arc 19 20 moveto 20 20 1 180 270 arc fill
  1078. X} def /oblique1 {
  1079. X    5 0 moveto 0 5 lineto 10 0 moveto 0 10 lineto 15 0 moveto 0 15 lineto 20 0 moveto 0 20 lineto 20 5 moveto 5 20 lineto 20 10 moveto 10 20 lineto 20 15 moveto 15 20 lineto stroke
  1080. X} def /oblique2 {
  1081. X    5 0 moveto 0 5 lineto 15 0 moveto 0 15 lineto 20 5 moveto 5 20 lineto 20 15 moveto 15 20 lineto stroke
  1082. X} def /oblique3 {
  1083. X    15 0 moveto 20 5 lineto 10 0 moveto 20 10 lineto 5 0 moveto 20 15 lineto 0 0 moveto 20 20 lineto 0 5 moveto 15 20 lineto 0 10 moveto 10 20 lineto 0 15 moveto 5 20 lineto stroke
  1084. X} def /oblique4 {
  1085. X    15 0 moveto 20 5 lineto 5 0 moveto 20 15 lineto 0 5 moveto 15 20 lineto 0 15 moveto 5 20 lineto stroke
  1086. X} def /oblique5 {
  1087. X    10 0 moveto 0 10 lineto 20 0 moveto 0 20 lineto 20 10 moveto 10 20 lineto 10 0 moveto 20 10 lineto 0 0 moveto 20 20 lineto 0 10 moveto 10 20 lineto stroke
  1088. X} def /oblique6 {
  1089. X    5 0 moveto 0 5 lineto 10 0 moveto 0 10 lineto 15 0 moveto 0 15 lineto 20 0 moveto 0 20 lineto 20 5 moveto 5 20 lineto 20 10 moveto 10 20 lineto 20 15 moveto 15 20 lineto 10 0 moveto 20 10 lineto 15 0 moveto 20 5 lineto 5 0 moveto 20 15 lineto 0 0 moveto 20 20 lineto 0 5 moveto 15 20 lineto 0 10 moveto 10 20 lineto 0 15 moveto 5 20 lineto stroke
  1090. X} def /heart {
  1091. X    10 0 moveto 2 2 2 15 10 7 curveto 18 15 18 2 10 0 curveto closepath fill
  1092. X} def /block {
  1093. X    0 10 moveto 20 10 lineto 0 20 moveto 20 20 lineto 10 10 moveto 10 20 lineto 20 0 moveto 20 10 lineto stroke
  1094. X} def /wave {
  1095. X    0 10 moveto 5 10 5 180 360 arc 20 10 moveto 15 10 5 0 180 arc stroke
  1096. X} def /batsu {
  1097. X    0 0 moveto 2 2 lineto 0 20 moveto 2 18 lineto 8 8 moveto 12 12 lineto 8 12 moveto 12 8 lineto 18 18 moveto 20 20 lineto 18 2 moveto 20 0 lineto stroke
  1098. X} def /zetsuen1 {
  1099. X    0 20 moveto 10 0 lineto 10 20 moveto 20 0 lineto 0 0 moveto 20 0 lineto 0 10 moveto 20 10 lineto stroke
  1100. X} def /zetsuen2 {
  1101. X    0 0 moveto 10 20 lineto 10 0 moveto 20 20 lineto 0 0 moveto 20 0 lineto 0 10 moveto 20 10 lineto stroke
  1102. X} def /glass1 {
  1103. X    0 18 moveto 2 20 lineto 0 2 moveto 18 20 lineto 2 0 moveto 20 18 lineto 18 0 moveto 20 2 lineto stroke
  1104. X} def /glass2 {
  1105. X    0 2 moveto 2 0 lineto 0 18 moveto 18 0 lineto 2 20 moveto 20 2 lineto 18 20 moveto 20 18 lineto stroke
  1106. X} def /circle3 {
  1107. X    20 13.75 moveto 20 10 3.75 90 180 arc 17.5 10 1.25 180 360 arc 15 10 3.75 0 180 arc 12.5 10 1.25 180 360 arc 10 10 3.75 0 180 arc 7.5 10 1.25 180 360 arc 5 10 3.75 0 180 arc 2.5 10 1.25 180 360 arc 0 10 3.75 0 90 arc 20 3.75 moveto 20 0 3.75 90 180 arc 17.5 0 1.25 180 360 arc 15 0 3.75 0 180 arc 12.5 0 1.25 180 360 arc 10 0 3.75 0 180 arc 7.5 0 1.25 180 360 arc 5 0 3.75 0 180 arc 2.5 0 1.25 180 360 arc 0 0 3.75 0 90 arc stroke
  1108. X} def /circle2 {
  1109. X    20 10 moveto 20 2.5 7.5 90 180 arc 15 2.5 2.5 180 360 arc 10 2.5 7.5 0 180 arc 5 2.5 2.5 180 360 arc 0 2.5 7.5 0 90 arc stroke
  1110. X} def /circle1 {
  1111. X    20 20 moveto 20 5 15 90 180 arc 10 5 5 180 360 arc 0 5 15 0 90 arc stroke
  1112. X} def /tanten1 {
  1113. X    5 0 moveto 5 2 lineto 15 0 moveto 15 2 lineto 0 5 moveto 0 7 lineto 10 5 moveto 10 7 lineto 20 5 moveto 20 7 lineto 5 10 moveto 5 12 lineto 15 10 moveto 15 12 lineto 0 15 moveto 0 17 lineto 10 15 moveto 10 17 lineto 20 15 moveto 20 17 lineto stroke
  1114. X} def /tanten2 {
  1115. X    5 0 moveto 7 0 lineto 15 0 moveto 17 0 lineto 0 5 moveto 2 5 lineto 10 5 moveto 12 5 lineto 0 5 moveto 2 5 lineto 5 10 moveto 7 10 lineto 15 10 moveto 17 10 lineto 0 15 moveto 2 15 lineto 10 15 moveto 12 15 lineto 0 15 moveto 2 15 lineto stroke
  1116. X} def /tanten3 {
  1117. X    5 20 moveto 7 18 lineto 15 20 moveto 17 18 lineto 0 5 moveto 2 3 lineto 10 5 moveto 12 3 lineto 5 10 moveto 7 8 lineto 15 10 moveto 17 8 lineto 0 15 moveto 2 13 lineto 10 15 moveto 12 13 lineto stroke
  1118. X} def /tanten4 {
  1119. X    5 0 moveto 7 2 lineto 15 0 moveto 17 2 lineto 10 5 moveto 12 7 lineto 0 5 moveto 2 7 lineto 5 10 moveto 7 12 lineto 15 10 moveto 17 12 lineto 10 15 moveto 12 17 lineto 0 15 moveto 2 17 lineto stroke
  1120. X} def /tpatstr 10 string def /setdrawpat {
  1121. X    tpatstr cvs cvn PatternDict exch get cvx /hatchingpattern exch def
  1122. X} def /showHorizon {
  1123. X    gsave stx ptnwidth enx {
  1124. X        pop hatchingpattern ptnwidth 0 translate
  1125. X    } for grestore
  1126. X} def /showPattern {
  1127. X    gsave 1 setgray fill grestore stx sty translate newpath [] 0 setdash 1 setlinewidth sty ptnwidth eny {
  1128. X        pop showHorizon 0 ptnwidth translate
  1129. X    } for
  1130. X} def /fillpattern {
  1131. X    /ptnno exch def /eny exch def /enx exch def /drwsty exch def /drwstx exch def /ptnwidth 20 def /stx ptnwidth drwstx ptnwidth div truncate mul def /sty ptnwidth drwsty ptnwidth div truncate mul def gsave clip ptnno setdrawpat showPattern grestore
  1132. X} def /fillpatterneo {
  1133. X    /ptnno exch def /eny exch def /enx exch def /drwsty exch def /drwstx exch def /ptnwidth 20 def /stx ptnwidth drwstx ptnwidth div truncate mul def /sty ptnwidth drwsty ptnwidth div truncate mul def gsave eoclip ptnno setdrawpat showPattern grestore
  1134. X} def /ArcRect {
  1135. X    /r exch def /ey exch def /ex exch def /sy exch def /sx exch def newpath sx ex le {
  1136. X        sx r add
  1137. X    } {
  1138. X        sx r sub
  1139. X    } ifelse sy moveto ex sy ex ey r arcto 4 {
  1140. X        pop
  1141. X    } repeat ex ey sx ey r arcto 4 {
  1142. X        pop
  1143. X    } repeat sx ey sx sy r arcto 4 {
  1144. X        pop
  1145. X    } repeat sx sy ex sy r arcto 4 {
  1146. X        pop
  1147. X    } repeat closepath
  1148. X} def /oval {
  1149. X    /y exch def /x exch def /h exch def /w exch def matrix currentmatrix w h x y translate scale newpath 0.5 0.5 0.5 0 360 arc setmatrix
  1150. X} def /line {
  1151. X    moveto rlineto stroke
  1152. X} def /setup {
  1153. X    setlinewidth setlinecap setlinejoin gsave
  1154. X} def /arrow0 {
  1155. X    newpath moveto dup rotate [] 0 setdash ah neg aw rlineto a0h aw neg rlineto a0h neg aw neg rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate
  1156. X} def /arrow1 {
  1157. X    newpath moveto dup rotate [] 0 setdash a1h neg a1w rmoveto a1h a1w neg rlineto a1h neg a1w neg rlineto a1h a1w rmoveto closepath gsave 0 setlinejoin stroke grestore neg rotate
  1158. X} def /arrow2 {
  1159. X    newpath [] 0 setdash ac 0 360 arc pop closepath gsave 0 setlinejoin stroke grestore fill
  1160. X} def
  1161. X%%EndSetup
  1162. X0 0 792 1008 rectclip
  1163. X130 179 100 94 rectclip
  1164. X130 179 100 94 rectclip
  1165. X[] 0 setdash
  1166. X0 0 0.2 setup
  1167. X[] 0 setdash
  1168. X0 0 1.448819 setup
  1169. X0 nxsetgray
  1170. X155.473022 241.883942 moveto 155.473022 215.805191 155.473022 215.805191 181.4431 215.805191 curveto stroke
  1171. Xgrestore
  1172. X[] 0 setdash
  1173. X0 0 1.448819 setup
  1174. X0 nxsetgray
  1175. X155.473022 233.190994 moveto 155.473022 259.269745 155.473022 259.269745 181.4431 259.269745 curveto stroke
  1176. Xgrestore
  1177. X[] 0 setdash
  1178. X0 0 1.448819 setup
  1179. X0 nxsetgray
  1180. X207.630508 241.883942 moveto 207.630508 215.805191 207.630508 215.805191 181.4431 215.805191 curveto stroke
  1181. Xgrestore
  1182. X[] 0 setdash
  1183. X0 0 1.448819 setup
  1184. X0 nxsetgray
  1185. X207.630493 233.191025 moveto 207.630493 259.269745 207.630493 259.269745 181.4431 259.269745 curveto stroke
  1186. Xgrestore
  1187. X[] 0 setdash
  1188. X0 0 1.448819 setup
  1189. X0 nxsetgray
  1190. X153.191116 213.631958 209.695053 261.442993 0 ArcRect stroke
  1191. Xgrestore
  1192. X[] 0 setdash
  1193. X0 0 1.448819 setup
  1194. X0 nxsetgray
  1195. X8.692932 -8.692902 209.695053 261.442993 line
  1196. Xgrestore
  1197. X[] 0 setdash
  1198. X0 0 1.448819 setup
  1199. X0 nxsetgray
  1200. X0 -28.251999 218.387985 252.750092 line
  1201. Xgrestore
  1202. X[] 0 setdash
  1203. X0 0 1.448819 setup
  1204. X0 nxsetgray
  1205. X-8.692932 -10.866135 218.387985 224.498093 line
  1206. Xgrestore
  1207. X[] 0 setdash
  1208. X0 0 1.448819 setup
  1209. X0 nxsetgray
  1210. X56.503937 0 153.191116 211.458725 line
  1211. Xgrestore
  1212. X[] 0 setdash
  1213. X0 0 1.448819 setup
  1214. X0 nxsetgray
  1215. X0 -8.692917 209.695053 211.458725 line
  1216. Xgrestore
  1217. X[] 0 setdash
  1218. X0 0 1.448819 setup
  1219. X0 nxsetgray
  1220. X-10.866119 -10.866135 209.695053 202.765808 line
  1221. Xgrestore
  1222. X[] 0 setdash
  1223. X0 0 1.448819 setup
  1224. X0 nxsetgray
  1225. X0 6.519684 198.828934 191.899673 line
  1226. Xgrestore
  1227. X[] 0 setdash
  1228. X0 0 1.448819 setup
  1229. X0 nxsetgray
  1230. X10.866119 13.039368 198.828934 198.419357 line
  1231. Xgrestore
  1232. X[] 0 setdash
  1233. X0 0 1.448819 setup
  1234. X0 nxsetgray
  1235. X0 6.519684 142.324997 191.899673 line
  1236. Xgrestore
  1237. X[] 0 setdash
  1238. X0 0 1.448819 setup
  1239. X0 nxsetgray
  1240. X10.974792 13.365356 142.324997 198.419357 line
  1241. Xgrestore
  1242. X[] 0 setdash
  1243. X0 0 1.448819 setup
  1244. X0 nxsetgray
  1245. X56.503937 0 142.324997 198.419357 line
  1246. Xgrestore
  1247. X[] 0 setdash
  1248. X0 0 1.448819 setup
  1249. X0 nxsetgray
  1250. X-56.503937 0 198.828934 191.899673 line
  1251. Xgrestore
  1252. X[] 0 setdash
  1253. X0 0 1.448819 setup
  1254. X0 nxsetgray
  1255. X26.078735 0 159.710815 252.750092 line
  1256. Xgrestore
  1257. X[] 0 setdash
  1258. X0 0 1.448819 setup
  1259. X0 nxsetgray
  1260. X13.039368 0 159.710815 248.40361 line
  1261. Xgrestore
  1262. X[] 0 setdash
  1263. X0 0 1.448819 setup
  1264. X0 nxsetgray
  1265. X34.771637 0 159.710815 244.057144 line
  1266. Xgrestore
  1267. X[] 0 setdash
  1268. X0 0 1.448819 setup
  1269. X0 nxsetgray
  1270. X10.866135 0 159.710815 239.710693 line
  1271. Xgrestore
  1272. X[] 0 setdash
  1273. X0 0 1.448819 setup
  1274. X0 nxsetgray
  1275. X21.732285 0 159.710815 235.364243 line
  1276. Xgrestore
  1277. X[] 0 setdash
  1278. X0 0 1.448819 setup
  1279. X0 nxsetgray
  1280. X13.039368 0 159.710815 231.017792 line
  1281. Xgrestore
  1282. Xgrestore
  1283. X1 setgray
  1284. X0 setgray
  1285. X0.333333 setgray
  1286. Xgsave
  1287. X0 0 792 1008 rectclip
  1288. X[1 0 0 -1 0 1008] concat
  1289. Xgrestore
  1290. X%%Trailer
  1291. X
  1292. X%%EndDocument
  1293. Xcount __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore
  1294. Xgrestore
  1295. Xgrestore
  1296. X[] 0 setdash
  1297. X0 0 3.622047 setup
  1298. X[] 0 setdash
  1299. X0 0 2.173229 setup
  1300. X0 setgray
  1301. X56.503944 27.817352 50.108116 482.800964 oval stroke
  1302. Xgrestore
  1303. X[] 0 setdash
  1304. X0 0 2.173229 setup
  1305. X0 setgray
  1306. X13.039368 6.258881 63.079445 472.26358 oval stroke
  1307. Xgrestore
  1308. X[] 0 setdash
  1309. X0 0 2.173229 setup
  1310. X0 setgray
  1311. X6.780472 3.303314 58.732986 464.961548 oval stroke
  1312. Xgrestore
  1313. X[] 0 setdash
  1314. X0 0 2.173229 setup
  1315. Xgsave
  1316. X75 execuserobject setfont
  1317. X0 nxsetgray
  1318. X[1 0 0 -1 0 995] concat
  1319. X75 execuserobject setfont
  1320. X0 nxsetgray
  1321. X62 501 moveto (") show
  1322. Xgrestore
  1323. Xgrestore
  1324. X[] 0 setdash
  1325. X0 0 2.173229 setup
  1326. Xgsave
  1327. X75 execuserobject setfont
  1328. X0 nxsetgray
  1329. X[1 0 0 -1 0 996] concat
  1330. X75 execuserobject setfont
  1331. X0 nxsetgray
  1332. X88 501 moveto (") show
  1333. Xgrestore
  1334. Xgrestore
  1335. X[] 0 setdash
  1336. X0 0 2.173229 setup
  1337. X0 0 translate
  1338. X1 1 scale
  1339. X0 nxsetgray
  1340. Xgsave
  1341. Xnewpath
  1342. Xsystemdict
  1343. Xbegin
  1344. X65 487 91 507 setbbox
  1345. X79.529381 504.819946 moveto
  1346. X67.011597 489.520508 lineto
  1347. X88.222313 489.520508 lineto
  1348. X79.529396 504.819946 lineto
  1349. Xend
  1350. Xstroke
  1351. Xgrestore
  1352. Xgrestore
  1353. Xgrestore
  1354. X[] 0 setdash
  1355. X0 0 0.2 setup
  1356. X31.761808 409.094360 transform
  1357. Xgsave __NXbasematrix setmatrix itransform translate
  1358. X0 0 82.346588 82.346588 rectclip
  1359. X0 0 translate
  1360. X0 rotate
  1361. X0.6 0.6 scale
  1362. X-130 -179 translate
  1363. X
  1364. X/__NXEPSSave save def /showpage {} def
  1365. X_NXLevel2{/_NXsethsb where{pop}{/_NXsethsb /sethsbcolor load def}ifelse /sethsbcolor{_NXsethsb currentrgbcolor nxsetrgbcolor}def /setrgbcolor{nxsetrgbcolor}bind def /setgray{nxsetgray}bind def
  1366. X/_NXcimage where{pop}{/_NXcimage /colorimage load def}ifelse /colorimage{dup 3 eq{true 2 index{1 index}{1}ifelse 7 add 1 roll _NXCalibratedImage}{_NXcimage}ifelse}def}if
  1367. X0 setgray 0 setlinecap 1 setlinewidth
  1368. X0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def
  1369. X%%BeginDocument: 
  1370. X%!PS-Adobe-2.0 EPSF-2.0
  1371. X%%Title: 
  1372. X%%Creator: DrawPlus
  1373. X%%CreationDate: Mon Dec 14 13:45:43 1992
  1374. X%%For: youki
  1375. X%%DocumentFonts: (atend)
  1376. X%%Pages: 0 0
  1377. X%%BoundingBox: 130 179 230 273
  1378. X%%NXNextStepVersion: 3.0
  1379. X%%EndComments
  1380. X
  1381. X%%BeginProcSet: /usr/lib/NextStep/printPackage.ps 3.0
  1382. X%!
  1383. X% NeXT Printing Package
  1384. X% Version: 3.0J
  1385. X% Modified by Canon based on Version 3.0 , 1992.01.07
  1386. X% Copyright: 1988, NeXT, Inc.
  1387. X
  1388. X/__NXdef{1 index where{pop pop pop}{def}ifelse}bind def
  1389. X/__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def
  1390. X/UserObjects 10 array __NXdef
  1391. X/defineuserobject{
  1392. X    exch dup 1 add dup UserObjects length gt{
  1393. X        array dup 0 UserObjects putinterval
  1394. X        /UserObjects exch def
  1395. X    }{pop}ifelse UserObjects exch 3 -1 roll put
  1396. X}__NXbdef
  1397. X/undefineuserobject{UserObjects exch null put}__NXbdef
  1398. X/execuserobject{UserObjects exch get exec}__NXbdef
  1399. X/__NXRectPath{4 2 roll moveto 1 index 0 rlineto
  1400. X0 exch rlineto neg 0 rlineto closepath}__NXbdef
  1401. X/__NXProcessRectArgs{
  1402. X    1 index type /arraytype eq{
  1403. X        exch 0 4 2 index length 1 sub{
  1404. X            dup 3 add 1 exch{1 index exch get exch}for
  1405. X            5 1 roll 5 index exec
  1406. X        }for pop pop
  1407. X    }{exec}ifelse
  1408. X}__NXbdef
  1409. X/rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef
  1410. X/rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef
  1411. X/rectstroke{
  1412. X    gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{
  1413. X        {gsave __NXRectPath null concat stroke grestore}
  1414. X        dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs
  1415. X    }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore
  1416. X}__NXbdef
  1417. X/_NXLevel2 systemdict /languagelevel known {languagelevel 2 ge}{false}ifelse __NXdef
  1418. X/xyshow{
  1419. X    0 1 3 index length 1 sub{
  1420. X        currentpoint 4 index 3 index 1 getinterval show
  1421. X        3 index 3 index 2 mul 1 add get add exch
  1422. X        3 index    3 index 2 mul get add exch moveto pop
  1423. X    }for pop pop
  1424. X}__NXbdef
  1425. X/xshow{
  1426. X    0 1 3 index length 1 sub{
  1427. X        currentpoint 4 index 3 index 1 getinterval show
  1428. X        exch 3 index 3 index get add exch moveto pop
  1429. X    }for pop pop
  1430. X}__NXbdef
  1431. X/yshow{
  1432. X    0 1 3 index length 1 sub{
  1433. X        currentpoint 4 index 3 index 1 getinterval show
  1434. X        3 index 3 index get add moveto pop
  1435. X    }for pop pop
  1436. X}__NXbdef
  1437. X/arct{arcto pop pop pop pop}__NXbdef
  1438. X/setbbox{pop pop pop pop}__NXbdef
  1439. X/ucache{}__NXbdef
  1440. X/ucachestatus{mark 0 0 0 0 0}__NXbdef
  1441. X/setucacheparams{cleartomark}__NXbdef
  1442. X/uappend{systemdict begin cvx exec end}__NXbdef
  1443. X/ueofill{gsave newpath uappend eofill grestore}__NXbdef
  1444. X/ufill{gsave newpath uappend fill grestore}__NXbdef
  1445. X/ustroke{
  1446. X    gsave newpath dup length 6 eq
  1447. X    {exch uappend concat}{uappend}ifelse
  1448. X    stroke grestore
  1449. X}__NXbdef
  1450. X/__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse
  1451. X/ustrokepath{
  1452. X    newpath dup length 6 eq{
  1453. X        exch uappend __NXustrokepathMatrix currentmatrix exch concat
  1454. X        strokepath setmatrix
  1455. X    }{uappend strokepath}ifelse
  1456. X} __NXbdef
  1457. X/upath{
  1458. X    [exch {/ucache cvx}if pathbbox /setbbox cvx
  1459. X     {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx
  1460. X} __NXbdef
  1461. X/setstrokeadjust{pop}__NXbdef
  1462. X/currentstrokeadjust{false}__NXbdef
  1463. X/selectfont{exch findfont exch
  1464. Xdup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef
  1465. X/_NXCombineArrays{
  1466. X    counttomark dup 2 add index dup length 3 -1 roll {
  1467. X        2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch
  1468. X    }repeat pop pop pop
  1469. X}__NXbdef
  1470. X/flushgraphics{}def
  1471. X/setwindowtype{pop pop}def
  1472. X/currentwindowtype{pop 0}def
  1473. X/setalpha{pop}def
  1474. X/currentalpha{1.0}def
  1475. X/hidecursor{}def
  1476. X/obscurecursor{}def
  1477. X/revealcursor{}def
  1478. X/setcursor{4 {pop}repeat}bind def
  1479. X/showcursor{}def
  1480. X
  1481. X/SharedFontDirectory FontDirectory __NXdef
  1482. X/_JPN /GothicBBB-Medium-EUC-H dup findfont /FontName get eq def
  1483. X
  1484. X_JPN {
  1485. X  mark { /NJ12-88-CFEncoding findencoding } stopped {
  1486. X    /defineresource {
  1487. X      pop dup 3 1 roll userdict /EncodingDirectory get 3 1 roll readonly put
  1488. X    } __NXbdef
  1489. X    /GothicBBB-Medium-EUC-H findfont begin
  1490. X    Encoding dup length array copy dup dup dup length 2 idiv dup getinterval
  1491. X    0 exch putinterval
  1492. X    FMapType 2 eq {
  1493. X        dup 16#0E 78 put dup 16#20 89 put
  1494. X        0 1 9 {dup 16#75 add exch 79 add 2 index 3 1 roll put} for
  1495. X    }{
  1496. X        dup 16#1D 78 put dup 16#41 89 put
  1497. X        0 1 9 {dup dup add 16#EB add exch 79 add 2 index 3 1 roll put} for
  1498. X    } ifelse
  1499. X    /NJ12-88-CFEncoding exch /Encoding defineresource pop
  1500. X    /EUCEncoding FDepVector 10 get /Encoding get /Encoding defineresource pop
  1501. X    end
  1502. X  } if cleartomark
  1503. X} if
  1504. X
  1505. X/_@Private dup where {pop pop}{50 dict def}ifelse
  1506. X/__NJdef _JPN {{//_@Private 3 1 roll put}}{{pop pop}} ifelse bind def
  1507. X/__NJbdef _JPN {{//_@Private 2 index known {pop pop}{bind //_@Private 3 1 roll put}ifelse}}{{pop pop}} ifelse bind def
  1508. X/_str 128 string __NJdef
  1509. X/_find { % /FName _find FontOrFName bool
  1510. X    false 0 {dup 3 index known {3 -1 roll get exch pop true exit}{pop}ifelse} forall
  1511. X} bind dup 1
  1512. X[/SharedFontDirectory dup where {exch get}{pop}ifelse //FontDirectory] put //_@Private 3 1 roll put
  1513. X/_copyfont@ { % -font- extension _copyfont@ -dict-
  1514. X    1 index maxlength add dict begin {
  1515. X    1 index /FID ne 2 index /UniqueID ne and {def}{pop pop}ifelse
  1516. X    } forall currentdict end
  1517. X} __NJbdef
  1518. X/_bind { % /n1 /n2 _bind /n1+2
  1519. X    exch dup length 2 index length add _str 4 2 roll
  1520. X    _str cvs length exch dup length string cvs putinterval
  1521. X    _str exch 0 exch getinterval cvn
  1522. X} __NJbdef
  1523. X/NDEncoding 256 array dup 0 1 255 {/.notdef put dup} for pop __NJdef
  1524. X/_shiftE { % /Fname start length target -font- _shiftE -dict-
  1525. X    0 _copyfont@ begin Encoding 4 2 roll getinterval NDEncoding 256 array
  1526. X    copy dup 4 -2 roll putinterval Encoding length 256 eq {
  1527. X    dup dup 0 128 getinterval 128 exch putinterval } if
  1528. X    /Encoding exch def /FontName exch def currentdict end
  1529. X} __NJbdef
  1530. X/_makeSGFDV { % - _makeSGFDV [FDV]
  1531. X    [ _FN /.WP-Symbol _bind findfont
  1532. X    _SGFN /.rFC _bind dup 0 96 32 5 index _shiftE definefont
  1533. X    _SGFN /.rFD _bind dup 96 32 32 6 index _shiftE definefont
  1534. X    _SGFN /.rFE _bind dup 0 128 0 _FN /-Ext-H _bind findfont dup /Encoding get
  1535. X    16#2d get exch /FDepVector get exch get _shiftE dup /Encoding 2 copy get
  1536. X    [16#f0 16#f1 16#f2 16#f5 16#f6 16#f7 16#fa 16#fb 16#fc] {
  1537. X    dup 2 index exch /.notdef put 128 sub 1 index exch /.notdef put
  1538. X    } forall put definefont
  1539. X    ] dup 0 /NotDefFont findfont put
  1540. X} __NJbdef
  1541. X/_defSGaiji { % /fullname /basename _defSGaiji -sysGaiji-
  1542. X    /_FN exch __NJdef /_SGFN exch __NJdef 15 dict
  1543. X    dup /FontName _SGFN put    dup /FontType 0 put
  1544. X    dup /FMapType 2 put        dup /FontMatrix matrix put
  1545. X    dup /FontBBox {0 -140 1000 880} put
  1546. X    dup /Encoding 256 array 0 1 255 {1 index exch 0 put}for
  1547. X    dup 16#FC 1 put    dup 16#FD 2 put    dup 16#FE 3 put put
  1548. X    dup /FDepVector _makeSGFDV put    dup /isNeXTGaiji true put
  1549. X    _SGFN exch definefont
  1550. X} __NJbdef
  1551. X/_defNeXTF { % /fullname /basename Hflag _defNeXTF
  1552. X2 index _find { 4 1 roll pop pop pop}{pop
  1553. X    /_FN 2 index __NJdef {/-EUC-H}{/-EUC-V}ifelse _bind findfont
  1554. X    1 _copyfont@ begin
  1555. X    /FontName 1 index def
  1556. X    /UserGaijiName _FN /-NeXT-UserGaiji _bind def
  1557. X    /Encoding Encoding dup length array copy FMapType 2 eq {dup 16#8E 78 put
  1558. X    0 1 9 {dup 16#F5 add exch 79 add 2 index 3 1 roll put} for
  1559. X    }{  dup 16#11D 78 put
  1560. X    0 1 9 {dup dup add 16#1EB add exch 79 add 2 index 3 1 roll put} for
  1561. X    } ifelse def
  1562. X    /FDepVector [FDepVector aload pop _FN /.Hankaku _bind
  1563. X    dup /_ _bind exch 128 128 0 3 index findfont _shiftE definefont
  1564. X    UserGaijiName findfont dup /isNeXTGaiji 2 copy known {
  1565. X        get {/FDepVector get 1 7 getinterval aload pop
  1566. X        }{pop /NotDefFont findfont 6 {dup} repeat}ifelse
  1567. X    }{pop pop pop /NotDefFont findfont 6 {dup} repeat}ifelse
  1568. X    _FN /-NeXT-SystemGaiji _bind findfont /FDepVector get 1 3 getinterval
  1569. X    aload pop] def
  1570. X    currentdict end definefont
  1571. X}ifelse
  1572. X} __NJbdef
  1573. X/_findNarrow { % /FName _findNarrow -font-
  1574. X    dup _str cvs (Narrow) anchorsearch {pop cvn exch _find {exch pop}{
  1575. X    exch findfont 0 _copyfont@ dup /FontName 3 index put
  1576. X    dup /FontMatrix 2 copy get [5 6 div 0 0 1 0 0] matrix concatmatrix put
  1577. X    definefont}ifelse
  1578. X    }{pop findfont}ifelse
  1579. X} __NJbdef
  1580. X/_defmixfont@ { % /FName [/ASCII /KANJI shiftmtx] _defmixfont@ -font-
  1581. X    aload pop /_@shiftmatrix exch __NJdef (-NeXT-H) _bind findfont
  1582. X    /_EUC exch __NJdef _findNarrow /_@ASCII exch __NJdef
  1583. X    dup /_ exch _bind dup _EUC /Encoding get length 2 idiv dup 0 _EUC _shiftE
  1584. X    dup /Encoding 2 copy get dup
  1585. X    3 index /FMapType get 5 eq {16#41}{16#20}ifelse 89 put  put
  1586. X    dup /FontMatrix _@shiftmatrix put
  1587. X    dup /FDepVector [ _EUC /FDepVector get aload pop _EUC /FMapType get 5 eq {
  1588. X    /_S_ _@ASCII /FontName get _bind _@ASCII 0 _copyfont@
  1589. X    dup /Encoding 2 copy get 256 array copy dup dup dup 0 128 getinterval
  1590. X    128 exch putinterval 0 _@ASCII /Encoding get 128 128 getinterval
  1591. X    putinterval put dup /FontName 3 index put definefont
  1592. X    }{_@ASCII}ifelse
  1593. X     _@shiftmatrix matrix invertmatrix makefont] put definefont
  1594. X    15 dict begin
  1595. X    /FontName 2 index def
  1596. X    /FontType 0 def     /PaintType 0 def
  1597. X    /FMapType 4 def     /FontMatrix matrix def
  1598. X    /Encoding [0 1] def /PrefEnc 1 index /Encoding get def
  1599. X    /FontBBox _@ASCII /FontBBox get 4 array copy cvx
  1600. X        dup 2 get 1000 lt {dup 2 1000 put}if
  1601. X        dup 3 get 880 lt {dup 3 880 put}if def
  1602. X    /FontInfo _@ASCII /FontInfo get def
  1603. X    /FDepVector [_@ASCII 4 -1 roll] def
  1604. X    currentdict end definefont
  1605. X} __NJbdef
  1606. X/Ryumin-Light-NeXT-H {/Ryumin-Light true _defNeXTF} __NJbdef
  1607. X/Ryumin-Light-NeXT-V {/Ryumin-Light false _defNeXTF} __NJbdef
  1608. X/GothicBBB-Medium-NeXT-H {/GothicBBB-Medium true _defNeXTF} __NJbdef
  1609. X/GothicBBB-Medium-NeXT-V {/GothicBBB-Medium false _defNeXTF} __NJbdef
  1610. X/Ryumin-Light-NeXT-SystemGaiji {/Ryumin-Light _defSGaiji} __NJbdef
  1611. X/GothicBBB-Medium-NeXT-SystemGaiji {/GothicBBB-Medium _defSGaiji} __NJbdef
  1612. X/FixedRyuminCourier-Light {
  1613. X    [/NarrowCourier /Ryumin-Light matrix] _defmixfont@} __NJbdef
  1614. X/FixedRyuminCourier-LightOblique {
  1615. X    [/NarrowCourier-Oblique /Ryumin-Light [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef
  1616. X/FixedRyuminCourier-Bold {
  1617. X    [/NarrowCourier-Bold /Ryumin-Light matrix] _defmixfont@} __NJbdef
  1618. X/FixedRyuminCourier-BoldOblique {
  1619. X    [/NarrowCourier-BoldOblique /Ryumin-Light [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef
  1620. X/RyuminTimes-Light {
  1621. X    [/Times-Roman /Ryumin-Light matrix] _defmixfont@} __NJbdef
  1622. X/RyuminTimes-LightOblique {
  1623. X    [/Times-Italic /Ryumin-Light [1 0 .277325 1 0 0]] _defmixfont@} __NJbdef
  1624. X/RyuminTimes-Bold {
  1625. X    [/Times-Bold /Ryumin-Light matrix] _defmixfont@} __NJbdef
  1626. X/RyuminTimes-BoldOblique {
  1627. X    [/Times-BoldItalic /Ryumin-Light [1 0 .277325 1 0 0]] _defmixfont@} __NJbdef
  1628. X/FixedGothicBBBCourier {
  1629. X    [/NarrowCourier /GothicBBB-Medium matrix] _defmixfont@} __NJbdef
  1630. X/FixedGothicBBBCourier-Oblique {
  1631. X    [/NarrowCourier-Oblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef
  1632. X/FixedGothicBBBCourier-Bold {
  1633. X    [/NarrowCourier-Bold /GothicBBB-Medium matrix] _defmixfont@} __NJbdef
  1634. X/FixedGothicBBBCourier-BoldOblique {
  1635. X    [/NarrowCourier-BoldOblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef
  1636. X/GothicBBBHelvetica {
  1637. X    [/Helvetica /GothicBBB-Medium matrix] _defmixfont@} __NJbdef
  1638. X/GothicBBBHelvetica-Oblique {
  1639. X    [/Helvetica-Oblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef
  1640. X/GothicBBBHelvetica-Bold {
  1641. X    [/Helvetica-Bold /GothicBBB-Medium matrix] _defmixfont@} __NJbdef
  1642. X/GothicBBBHelvetica-BoldOblique {
  1643. X    [/Helvetica-BoldOblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef
  1644. X/TitleGothicBBBHelvetica {
  1645. X    [/Helvetica /GothicBBB-Medium matrix] _defmixfont@} __NJbdef
  1646. X/TitleGothicBBBHelvetica-Bold {
  1647. X    [/Helvetica-Bold /GothicBBB-Medium matrix] _defmixfont@} __NJbdef
  1648. X
  1649. X/NextStepEncoding where not{
  1650. X/NextStepEncoding StandardEncoding 256 array copy def
  1651. X0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave
  1652. X/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
  1653. X/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute
  1654. X/Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright
  1655. X176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior
  1656. X204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave
  1657. X/aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute
  1658. X/ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth
  1659. X/ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute
  1660. X/ucircumflex 246/udieresis/yacute 252/thorn/ydieresis]
  1661. X{dup type /nametype eq
  1662. X {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse
  1663. X}forall pop
  1664. X/NextStepEncoding NextStepEncoding readonly def
  1665. X/_NXfstr 128 string dup 0 (_NX) putinterval def
  1666. X/_NXfindfont /findfont load def
  1667. X
  1668. X/NJEncoding NextStepEncoding /Encoding defineresource pop
  1669. X
  1670. X/findfont{
  1671. X % Because we can never let NextStepEncoding get into
  1672. X % SharedFontDirectory, we cannot reencode a font to NextStepEncoding
  1673. X % if we are in shared mode.  So if currentshared is true,
  1674. X % we call the normal findfont and return that
  1675. X /currentshared where {pop currentshared} {false} ifelse
  1676. X {_NXfindfont}{dup //_@Private exch known {
  1677. X   //_@Private begin dup load exec end
  1678. X }{dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll
  1679. X  getinterval cvn exch FontDirectory 2 index known 
  1680. X  {pop FontDirectory exch get}
  1681. X  {_NXfindfont dup /Encoding get StandardEncoding eq
  1682. X   {    dup length dict exch
  1683. X    {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall
  1684. X     dup /Encoding NextStepEncoding put definefont
  1685. X    }{exch pop} ifelse
  1686. X    }ifelse
  1687. X   }ifelse
  1688. X  }ifelse
  1689. X}bind def
  1690. X}{pop}ifelse
  1691. X/_NXImageString {/__NXImageString where{pop}{/__NXImageString 4000 string __NXdef}ifelse __NXImageString}__NXbdef
  1692. X/_NXDoImageOp{
  1693. X    3 dict begin /parr 5 array def 1 index{dup}{1}ifelse /chans exch def
  1694. X    chans 2 add 2 roll parr 0 chans getinterval astore pop
  1695. X    5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse
  1696. X    4 index mul /totbytes exch def pop exch pop
  1697. X    gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore
  1698. X    {0 1 chans 1 sub{parr exch get exec length totbytes exch sub /totbytes exch def}for totbytes 0 le{exit}if}loop end
  1699. X}__NXbdef
  1700. X/alphaimage{1 add _NXDoImageOp}def
  1701. X_NXLevel2{ 
  1702. X    /NXCalibratedRGBColorSpace where{pop}{
  1703. X        /NXCalibratedRGBColorSpace
  1704. X        {mark /NXCalibratedRGB /ColorSpace findresource exch pop}stopped
  1705. X        {cleartomark /NXCalibratedRGB[/CIEBasedABC 2 dict dup begin 
  1706. X        /MatrixLMN[.4124 .2126 .0193 .3576 .7152 .1192 .1805 .0722 .9505]def
  1707. X        /WhitePoint[.9505 1 1.089] def end] /ColorSpace defineresource}if def}ifelse
  1708. X    /nxsetrgbcolor{NXCalibratedRGBColorSpace setcolorspace setcolor}__NXbdef
  1709. X    /nxsetgray{dup dup nxsetrgbcolor}__NXbdef
  1710. X    /_NXSetCMYKOrRGB{nxsetrgbcolor pop pop pop pop}__NXbdef 
  1711. X    /_NXCalibratedImage{exch{array astore dup length true}{false}ifelse
  1712. X        8 -1 roll{NXCalibratedRGBColorSpace setcolorspace}if
  1713. X        8 dict dup 9 1 roll begin /ImageType 1 def /MultipleDataSources exch def
  1714. X        currentcolorspace 0 get /Indexed eq{pop /Decode[0 2 6 index exp 1 sub]def}
  1715. X        {2 mul dup array /Decode exch def 1 sub 0 1 3 -1 roll{Decode exch dup 2 mod put}for}ifelse
  1716. X        /DataSource exch def /ImageMatrix exch def 
  1717. X        /BitsPerComponent exch def /Height exch def /Width exch def end image}__NXbdef
  1718. X} {
  1719. X    /setcmykcolor{
  1720. X        1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll
  1721. X        4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor}__NXbdef
  1722. X    /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef
  1723. X    /colorimage{_NXDoImageOp}__NXbdef
  1724. X    /nxsetrgbcolor{setrgbcolor}__NXbdef /nxsetgray{setgray}__NXbdef
  1725. X    /setpattern{pop .5 setgray}__NXbdef
  1726. X    /_NXSetCMYKOrRGB{pop pop pop setcmykcolor}__NXbdef 
  1727. X    /_NXCalibratedImage{dup 1 eq {pop pop image}{colorimage}ifelse pop}__NXbdef
  1728. X} ifelse
  1729. X%%EndProcSet
  1730. X
  1731. X_NXLevel2{/_NXsethsb where{pop}{/_NXsethsb /sethsbcolor load def}ifelse /sethsbcolor{_NXsethsb currentrgbcolor nxsetrgbcolor}def /setrgbcolor{nxsetrgbcolor}bind def /setgray{nxsetgray}bind def
  1732. X}if
  1733. Xgsave
  1734. X /__NXbasematrix matrix currentmatrix def
  1735. Xgrestore
  1736. X%%EndProlog
  1737. X%%BeginSetup
  1738. X/PatternDict 25 dict def PatternDict begin /1 /verticals1 def /2 /verticals2 def /3 /holizontal1 def /4 /holizontal2 def /5 /lattice1 def /6 /lattice2 def /7 /point1 def /8 /point2 def /9 /oblique1 def /10 /oblique2 def /11 /oblique3 def /12 /oblique4 def /13 /oblique5 def /14 /oblique6 def /15 /block def /16 /zetsuen1 def /17 /zetsuen2 def /18 /batsu def /19 /glass1 def /20 /glass2 def /21 /circle3 def /22 /tanten1 def /23 /tanten2 def /24 /tanten3 def /25 /tanten4 def end /space {
  1739. X    newpath
  1740. X} def /verticals1 {
  1741. X    5 0 moveto 5 20 lineto 10 0 moveto 10 20 lineto 15 0 moveto 15 20 lineto 20 0 moveto 20 20 lineto stroke
  1742. X} def /verticals2 {
  1743. X    8 0 moveto 8 20 lineto 18 0 moveto 18 20 lineto stroke
  1744. X} def /holizontal1 {
  1745. X    0 5 moveto 20 5 lineto 0 10 moveto 20 10 lineto 0 15 moveto 20 15 lineto 0 20 moveto 20 20 lineto stroke
  1746. X} def /holizontal2 {
  1747. X    0 10 moveto 20 10 lineto 0 20 moveto 20 20 lineto stroke
  1748. X} def /lattice1 {
  1749. X    5 0 moveto 5 20 lineto 10 0 moveto 10 20 lineto 15 0 moveto 15 20 lineto 20 0 moveto 20 20 lineto 0 5 moveto 20 5 lineto 0 10 moveto 20 10 lineto 0 15 moveto 20 15 lineto 0 20 moveto 20 20 lineto stroke
  1750. X} def /lattice2 {
  1751. X    5 0 moveto 5 20 lineto 15 0 moveto 15 20 lineto 0 5 moveto 20 5 lineto 0 15 moveto 20 15 lineto stroke
  1752. X} def /point1 {
  1753. X    5 5 moveto 5 5 1 0 360 arc 5 15 moveto 5 15 1 0 360 arc 15 5 moveto 15 5 1 0 360 arc 15 15 moveto 15 15 1 0 360 arc fill
  1754. X} def /point2 {
  1755. X    10 10 moveto 10 10 1 0 360 arc 1 0 moveto 0 0 1 0 90 arc 0 19 moveto 0 20 1 270 360 arc 20 1 moveto 20 0 1 90 180 arc 19 20 moveto 20 20 1 180 270 arc fill
  1756. X} def /oblique1 {
  1757. X    5 0 moveto 0 5 lineto 10 0 moveto 0 10 lineto 15 0 moveto 0 15 lineto 20 0 moveto 0 20 lineto 20 5 moveto 5 20 lineto 20 10 moveto 10 20 lineto 20 15 moveto 15 20 lineto stroke
  1758. X} def /oblique2 {
  1759. X    5 0 moveto 0 5 lineto 15 0 moveto 0 15 lineto 20 5 moveto 5 20 lineto 20 15 moveto 15 20 lineto stroke
  1760. X} def /oblique3 {
  1761. X    15 0 moveto 20 5 lineto 10 0 moveto 20 10 lineto 5 0 moveto 20 15 lineto 0 0 moveto 20 20 lineto 0 5 moveto 15 20 lineto 0 10 moveto 10 20 lineto 0 15 moveto 5 20 lineto stroke
  1762. X} def /oblique4 {
  1763. X    15 0 moveto 20 5 lineto 5 0 moveto 20 15 lineto 0 5 moveto 15 20 lineto 0 15 moveto 5 20 lineto stroke
  1764. X} def /oblique5 {
  1765. X    10 0 moveto 0 10 lineto 20 0 moveto 0 20 lineto 20 10 moveto 10 20 lineto 10 0 moveto 20 10 lineto 0 0 moveto 20 20 lineto 0 10 moveto 10 20 lineto stroke
  1766. X} def /oblique6 {
  1767. X    5 0 moveto 0 5 lineto 10 0 moveto 0 10 lineto 15 0 moveto 0 15 lineto 20 0 moveto 0 20 lineto 20 5 moveto 5 20 lineto 20 10 moveto 10 20 lineto 20 15 moveto 15 20 lineto 10 0 moveto 20 10 lineto 15 0 moveto 20 5 lineto 5 0 moveto 20 15 lineto 0 0 moveto 20 20 lineto 0 5 moveto 15 20 lineto 0 10 moveto 10 20 lineto 0 15 moveto 5 20 lineto stroke
  1768. X} def /heart {
  1769. X    10 0 moveto 2 2 2 15 10 7 curveto 18 15 18 2 10 0 curveto closepath fill
  1770. X} def /block {
  1771. X    0 10 moveto 20 10 lineto 0 20 moveto 20 20 lineto 10 10 moveto 10 20 lineto 20 0 moveto 20 10 lineto stroke
  1772. X} def /wave {
  1773. X    0 10 moveto 5 10 5 180 360 arc 20 10 moveto 15 10 5 0 180 arc stroke
  1774. X} def /batsu {
  1775. X    0 0 moveto 2 2 lineto 0 20 moveto 2 18 lineto 8 8 moveto 12 12 lineto 8 12 moveto 12 8 lineto 18 18 moveto 20 20 lineto 18 2 moveto 20 0 lineto stroke
  1776. X} def /zetsuen1 {
  1777. X    0 20 moveto 10 0 lineto 10 20 moveto 20 0 lineto 0 0 moveto 20 0 lineto 0 10 moveto 20 10 lineto stroke
  1778. X} def /zetsuen2 {
  1779. X    0 0 moveto 10 20 lineto 10 0 moveto 20 20 lineto 0 0 moveto 20 0 lineto 0 10 moveto 20 10 lineto stroke
  1780. X} def /glass1 {
  1781. X    0 18 moveto 2 20 lineto 0 2 moveto 18 20 lineto 2 0 moveto 20 18 lineto 18 0 moveto 20 2 lineto stroke
  1782. X} def /glass2 {
  1783. X    0 2 moveto 2 0 lineto 0 18 moveto 18 0 lineto 2 20 moveto 20 2 lineto 18 20 moveto 20 18 lineto stroke
  1784. X} def /circle3 {
  1785. X    20 13.75 moveto 20 10 3.75 90 180 arc 17.5 10 1.25 180 360 arc 15 10 3.75 0 180 arc 12.5 10 1.25 180 360 arc 10 10 3.75 0 180 arc 7.5 10 1.25 180 360 arc 5 10 3.75 0 180 arc 2.5 10 1.25 180 360 arc 0 10 3.75 0 90 arc 20 3.75 moveto 20 0 3.75 90 180 arc 17.5 0 1.25 180 360 arc 15 0 3.75 0 180 arc 12.5 0 1.25 180 360 arc 10 0 3.75 0 180 arc 7.5 0 1.25 180 360 arc 5 0 3.75 0 180 arc 2.5 0 1.25 180 360 arc 0 0 3.75 0 90 arc stroke
  1786. X} def /circle2 {
  1787. X    20 10 moveto 20 2.5 7.5 90 180 arc 15 2.5 2.5 180 360 arc 10 2.5 7.5 0 180 arc 5 2.5 2.5 180 360 arc 0 2.5 7.5 0 90 arc stroke
  1788. X} def /circle1 {
  1789. X    20 20 moveto 20 5 15 90 180 arc 10 5 5 180 360 arc 0 5 15 0 90 arc stroke
  1790. X} def /tanten1 {
  1791. X    5 0 moveto 5 2 lineto 15 0 moveto 15 2 lineto 0 5 moveto 0 7 lineto 10 5 moveto 10 7 lineto 20 5 moveto 20 7 lineto 5 10 moveto 5 12 lineto 15 10 moveto 15 12 lineto 0 15 moveto 0 17 lineto 10 15 moveto 10 17 lineto 20 15 moveto 20 17 lineto stroke
  1792. X} def /tanten2 {
  1793. X    5 0 moveto 7 0 lineto 15 0 moveto 17 0 lineto 0 5 moveto 2 5 lineto 10 5 moveto 12 5 lineto 0 5 moveto 2 5 lineto 5 10 moveto 7 10 lineto 15 10 moveto 17 10 lineto 0 15 moveto 2 15 lineto 10 15 moveto 12 15 lineto 0 15 moveto 2 15 lineto stroke
  1794. X} def /tanten3 {
  1795. X    5 20 moveto 7 18 lineto 15 20 moveto 17 18 lineto 0 5 moveto 2 3 lineto 10 5 moveto 12 3 lineto 5 10 moveto 7 8 lineto 15 10 moveto 17 8 lineto 0 15 moveto 2 13 lineto 10 15 moveto 12 13 lineto stroke
  1796. X} def /tanten4 {
  1797. X    5 0 moveto 7 2 lineto 15 0 moveto 17 2 lineto 10 5 moveto 12 7 lineto 0 5 moveto 2 7 lineto 5 10 moveto 7 12 lineto 15 10 moveto 17 12 lineto 10 15 moveto 12 17 lineto 0 15 moveto 2 17 lineto stroke
  1798. X} def /tpatstr 10 string def /setdrawpat {
  1799. X    tpatstr cvs cvn PatternDict exch get cvx /hatchingpattern exch def
  1800. X} def /showHorizon {
  1801. X    gsave stx ptnwidth enx {
  1802. X        pop hatchingpattern ptnwidth 0 translate
  1803. X    } for grestore
  1804. X} def /showPattern {
  1805. X    gsave 1 setgray fill grestore stx sty translate newpath [] 0 setdash 1 setlinewidth sty ptnwidth eny {
  1806. X        pop showHorizon 0 ptnwidth translate
  1807. X    } for
  1808. X} def /fillpattern {
  1809. X    /ptnno exch def /eny exch def /enx exch def /drwsty exch def /drwstx exch def /ptnwidth 20 def /stx ptnwidth drwstx ptnwidth div truncate mul def /sty ptnwidth drwsty ptnwidth div truncate mul def gsave clip ptnno setdrawpat showPattern grestore
  1810. X} def /fillpatterneo {
  1811. X    /ptnno exch def /eny exch def /enx exch def /drwsty exch def /drwstx exch def /ptnwidth 20 def /stx ptnwidth drwstx ptnwidth div truncate mul def /sty ptnwidth drwsty ptnwidth div truncate mul def gsave eoclip ptnno setdrawpat showPattern grestore
  1812. X} def /ArcRect {
  1813. X    /r exch def /ey exch def /ex exch def /sy exch def /sx exch def newpath sx ex le {
  1814. X        sx r add
  1815. X    } {
  1816. X        sx r sub
  1817. X    } ifelse sy moveto ex sy ex ey r arcto 4 {
  1818. X        pop
  1819. X    } repeat ex ey sx ey r arcto 4 {
  1820. X        pop
  1821. X    } repeat sx ey sx sy r arcto 4 {
  1822. X        pop
  1823. X    } repeat sx sy ex sy r arcto 4 {
  1824. X        pop
  1825. X    } repeat closepath
  1826. X} def /oval {
  1827. X    /y exch def /x exch def /h exch def /w exch def matrix currentmatrix w h x y translate scale newpath 0.5 0.5 0.5 0 360 arc setmatrix
  1828. X} def /line {
  1829. X    moveto rlineto stroke
  1830. X} def /setup {
  1831. X    setlinewidth setlinecap setlinejoin gsave
  1832. X} def /arrow0 {
  1833. X    newpath moveto dup rotate [] 0 setdash ah neg aw rlineto a0h aw neg rlineto a0h neg aw neg rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate
  1834. X} def /arrow1 {
  1835. X    newpath moveto dup rotate [] 0 setdash a1h neg a1w rmoveto a1h a1w neg rlineto a1h neg a1w neg rlineto a1h a1w rmoveto closepath gsave 0 setlinejoin stroke grestore neg rotate
  1836. X} def /arrow2 {
  1837. X    newpath [] 0 setdash ac 0 360 arc pop closepath gsave 0 setlinejoin stroke grestore fill
  1838. X} def
  1839. X%%EndSetup
  1840. X0 0 792 1008 rectclip
  1841. X130 179 100 94 rectclip
  1842. X130 179 100 94 rectclip
  1843. X[] 0 setdash
  1844. X0 0 0.2 setup
  1845. X[] 0 setdash
  1846. X0 0 1.448819 setup
  1847. X0 nxsetgray
  1848. X155.473022 241.883942 moveto 155.473022 215.805191 155.473022 215.805191 181.4431 215.805191 curveto stroke
  1849. Xgrestore
  1850. X[] 0 setdash
  1851. X0 0 1.448819 setup
  1852. X0 nxsetgray
  1853. X155.473022 233.190994 moveto 155.473022 259.269745 155.473022 259.269745 181.4431 259.269745 curveto stroke
  1854. Xgrestore
  1855. X[] 0 setdash
  1856. X0 0 1.448819 setup
  1857. X0 nxsetgray
  1858. X207.630508 241.883942 moveto 207.630508 215.805191 207.630508 215.805191 181.4431 215.805191 curveto stroke
  1859. Xgrestore
  1860. X[] 0 setdash
  1861. X0 0 1.448819 setup
  1862. X0 nxsetgray
  1863. X207.630493 233.191025 moveto 207.630493 259.269745 207.630493 259.269745 181.4431 259.269745 curveto stroke
  1864. Xgrestore
  1865. X[] 0 setdash
  1866. X0 0 1.448819 setup
  1867. X0 nxsetgray
  1868. X153.191116 213.631958 209.695053 261.442993 0 ArcRect stroke
  1869. Xgrestore
  1870. X[] 0 setdash
  1871. X0 0 1.448819 setup
  1872. X0 nxsetgray
  1873. X8.692932 -8.692902 209.695053 261.442993 line
  1874. Xgrestore
  1875. X[] 0 setdash
  1876. X0 0 1.448819 setup
  1877. X0 nxsetgray
  1878. X0 -28.251999 218.387985 252.750092 line
  1879. Xgrestore
  1880. X[] 0 setdash
  1881. X0 0 1.448819 setup
  1882. X0 nxsetgray
  1883. X-8.692932 -10.866135 218.387985 224.498093 line
  1884. Xgrestore
  1885. X[] 0 setdash
  1886. X0 0 1.448819 setup
  1887. X0 nxsetgray
  1888. X56.503937 0 153.191116 211.458725 line
  1889. Xgrestore
  1890. X[] 0 setdash
  1891. X0 0 1.448819 setup
  1892. X0 nxsetgray
  1893. X0 -8.692917 209.695053 211.458725 line
  1894. Xgrestore
  1895. X[] 0 setdash
  1896. X0 0 1.448819 setup
  1897. X0 nxsetgray
  1898. X-10.866119 -10.866135 209.695053 202.765808 line
  1899. Xgrestore
  1900. X[] 0 setdash
  1901. X0 0 1.448819 setup
  1902. X0 nxsetgray
  1903. X0 6.519684 198.828934 191.899673 line
  1904. Xgrestore
  1905. X[] 0 setdash
  1906. X0 0 1.448819 setup
  1907. X0 nxsetgray
  1908. X10.866119 13.039368 198.828934 198.419357 line
  1909. Xgrestore
  1910. X[] 0 setdash
  1911. X0 0 1.448819 setup
  1912. X0 nxsetgray
  1913. X0 6.519684 142.324997 191.899673 line
  1914. Xgrestore
  1915. X[] 0 setdash
  1916. X0 0 1.448819 setup
  1917. X0 nxsetgray
  1918. X10.974792 13.365356 142.324997 198.419357 line
  1919. Xgrestore
  1920. X[] 0 setdash
  1921. X0 0 1.448819 setup
  1922. X0 nxsetgray
  1923. X56.503937 0 142.324997 198.419357 line
  1924. Xgrestore
  1925. X[] 0 setdash
  1926. X0 0 1.448819 setup
  1927. X0 nxsetgray
  1928. X-56.503937 0 198.828934 191.899673 line
  1929. Xgrestore
  1930. X[] 0 setdash
  1931. X0 0 1.448819 setup
  1932. X0 nxsetgray
  1933. X26.078735 0 159.710815 252.750092 line
  1934. Xgrestore
  1935. X[] 0 setdash
  1936. X0 0 1.448819 setup
  1937. X0 nxsetgray
  1938. X13.039368 0 159.710815 248.40361 line
  1939. Xgrestore
  1940. X[] 0 setdash
  1941. X0 0 1.448819 setup
  1942. X0 nxsetgray
  1943. X34.771637 0 159.710815 244.057144 line
  1944. Xgrestore
  1945. X[] 0 setdash
  1946. X0 0 1.448819 setup
  1947. X0 nxsetgray
  1948. X10.866135 0 159.710815 239.710693 line
  1949. Xgrestore
  1950. X[] 0 setdash
  1951. X0 0 1.448819 setup
  1952. X0 nxsetgray
  1953. X21.732285 0 159.710815 235.364243 line
  1954. Xgrestore
  1955. X[] 0 setdash
  1956. X0 0 1.448819 setup
  1957. X0 nxsetgray
  1958. X13.039368 0 159.710815 231.017792 line
  1959. Xgrestore
  1960. Xgrestore
  1961. X1 setgray
  1962. X0 setgray
  1963. X0.333333 setgray
  1964. Xgsave
  1965. X0 0 792 1008 rectclip
  1966. X[1 0 0 -1 0 1008] concat
  1967. Xgrestore
  1968. X%%Trailer
  1969. X
  1970. X%%EndDocument
  1971. Xcount __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore
  1972. Xgrestore
  1973. Xgrestore
  1974. X[] 0 setdash
  1975. X0 0 2.897638 setup
  1976. Xgsave
  1977. X75 execuserobject setfont
  1978. X0 nxsetgray
  1979. X[1 0 0 -1 0 1137] concat
  1980. X/Times-Bold findfont 24 scalefont [1 0 0 -1 0 0] makefont
  1981. X31
  1982. Xexch
  1983. Xdefineuserobject
  1984. X31 execuserobject setfont
  1985. X0 nxsetgray
  1986. X418 529 moveto (With WWFS, you can be) show
  1987. X418 558 moveto (polite network citizen) show
  1988. X418 587 moveto (without any expert) show
  1989. X418 616 moveto (knowledge.) show
  1990. Xgrestore
  1991. Xgrestore
  1992. X[] 0 setdash
  1993. X0 0 0.724409 setup
  1994. X0 nxsetgray
  1995. X694.708679 0 11.862212 669.496033 line
  1996. Xgrestore
  1997. X[] 0 setdash
  1998. X0 0 0.724409 setup
  1999. X0 nxsetgray
  2000. X694.708679 0 11.862212 375.165405 line
  2001. Xgrestore
  2002. X[] 0 setdash
  2003. X0 0 0.724409 setup
  2004. Xgsave
  2005. X31 execuserobject setfont
  2006. X0 nxsetgray
  2007. X[1 0 0 -1 0 911] concat
  2008. X73 execuserobject setfont
  2009. X0 nxsetgray
  2010. X418 421 moveto (An application-level gateway named Cluster Server is) show
  2011. X418 435 moveto (currently under active development. Cluster Server) show
  2012. X418 449 moveto (enable users to access existing anonymous ftp servers) show
  2013. X418 463 moveto (just as ordinary NFS servers. Cluster Server relieve) show
  2014. X418 477 moveto (the burden of archive administration, and drastically) show
  2015. X418 491 moveto (reduce the amount of duplicate file transfer.) show
  2016. Xgrestore
  2017. Xgrestore
  2018. X[] 0 setdash
  2019. X0 0 0.724409 setup
  2020. Xgsave
  2021. X73 execuserobject setfont
  2022. X0 nxsetgray
  2023. X[1 0 0 -1 0 1557] concat
  2024. X73 execuserobject setfont
  2025. X0 nxsetgray
  2026. X418 753 moveto (In today's Internet, anonymous ftp have been widely) show
  2027. X418 767 moveto (used for long-haul file transfer. As the scale of the) show
  2028. X418 781 moveto (Internet grows beyond human's comprehension,) show
  2029. X418 795 moveto (duplicate file transfer have been occupying significant) show
  2030. X418 809 moveto (portion of nationwide backbone networks.) show
  2031. Xgrestore
  2032. Xgrestore
  2033. X[] 0 setdash
  2034. X0 0 0.724409 setup
  2035. X0 setgray
  2036. X33.685062 258.251984 84.39373 287.228363 0 ArcRect stroke
  2037. Xgrestore
  2038. X[] 0 setdash
  2039. X0 0 0.2 setup
  2040. Xgsave
  2041. X73 execuserobject setfont
  2042. X0 nxsetgray
  2043. X[1 0 0 -1 0 539] concat
  2044. X74 execuserobject setfont
  2045. X0 nxsetgray
  2046. X44 272 moveto (NFS) show
  2047. Xgrestore
  2048. Xgrestore
  2049. X[] 0 setdash
  2050. X0 0 0.724409 setup
  2051. X0 setgray
  2052. X33.685062 229.275604 84.39373 258.251984 0 ArcRect stroke
  2053. Xgrestore
  2054. X[] 0 setdash
  2055. X0 0 0.2 setup
  2056. Xgsave
  2057. X74 execuserobject setfont
  2058. X0 nxsetgray
  2059. X[1 0 0 -1 0 489] concat
  2060. Xgsave
  2061. X43 236 41 17 rectclip
  2062. X74 execuserobject setfont
  2063. X0 nxsetgray
  2064. X43 250 moveto (RPC) show
  2065. Xgrestore
  2066. Xgrestore
  2067. Xgrestore
  2068. X[] 0 setdash
  2069. X0 0 0.724409 setup
  2070. X0 setgray
  2071. X33.685062 200.29921 84.39373 229.275604 0 ArcRect stroke
  2072. Xgrestore
  2073. X[] 0 setdash
  2074. X0 0 0.2 setup
  2075. Xgsave
  2076. X74 execuserobject setfont
  2077. X0 nxsetgray
  2078. X[1 0 0 -1 0 430] concat
  2079. Xgsave
  2080. X44 207 39 16 rectclip
  2081. X74 execuserobject setfont
  2082. X0 nxsetgray
  2083. X44 221 moveto (XDR) show
  2084. Xgrestore
  2085. Xgrestore
  2086. Xgrestore
  2087. X[] 0 setdash
  2088. X0 0 0.724409 setup
  2089. X0 setgray
  2090. X33.685062 171.322861 84.39373 200.29921 0 ArcRect stroke
  2091. Xgrestore
  2092. X[] 0 setdash
  2093. X0 0 0.2 setup
  2094. Xgsave
  2095. X74 execuserobject setfont
  2096. X0 nxsetgray
  2097. X[1 0 0 -1 0 371] concat
  2098. Xgsave
  2099. X44 178 39 15 rectclip
  2100. X74 execuserobject setfont
  2101. X0 nxsetgray
  2102. X44 192 moveto (UDP) show
  2103. Xgrestore
  2104. Xgrestore
  2105. Xgrestore
  2106. X[] 0 setdash
  2107. X0 0 0.724409 setup
  2108. X0 setgray
  2109. X33.685062 142.346481 84.39373 171.322861 0 ArcRect stroke
  2110. Xgrestore
  2111. X[] 0 setdash
  2112. X0 0 0.2 setup
  2113. Xgsave
  2114. X74 execuserobject setfont
  2115. X0 nxsetgray
  2116. X[1 0 0 -1 0 307] concat
  2117. X74 execuserobject setfont
  2118. X0 nxsetgray
  2119. X44 156 moveto (IP) show
  2120. Xgrestore
  2121. Xgrestore
  2122. X[] 0 setdash
  2123. X0 0 0.724409 setup
  2124. X0 setgray
  2125. X135.102386 258.251984 185.81105 287.228363 0 ArcRect stroke
  2126. Xgrestore
  2127. X[] 0 setdash
  2128. X0 0 0.2 setup
  2129. Xgsave
  2130. X74 execuserobject setfont
  2131. X0 nxsetgray
  2132. X[1 0 0 -1 0 539] concat
  2133. X74 execuserobject setfont
  2134. X0 nxsetgray
  2135. X145 272 moveto (NFS) show
  2136. Xgrestore
  2137. Xgrestore
  2138. X[] 0 setdash
  2139. X0 0 0.724409 setup
  2140. X0 setgray
  2141. X135.102386 229.275604 185.81105 258.251984 0 ArcRect stroke
  2142. Xgrestore
  2143. X[] 0 setdash
  2144. X0 0 0.2 setup
  2145. Xgsave
  2146. X74 execuserobject setfont
  2147. X0 nxsetgray
  2148. X[1 0 0 -1 0 481] concat
  2149. X74 execuserobject setfont
  2150. X0 nxsetgray
  2151. X145 243 moveto (RPC) show
  2152. Xgrestore
  2153. Xgrestore
  2154. X[] 0 setdash
  2155. X0 0 0.724409 setup
  2156. X0 setgray
  2157. X135.102386 200.29921 185.81105 229.275604 0 ArcRect stroke
  2158. Xgrestore
  2159. X[] 0 setdash
  2160. X0 0 0.2 setup
  2161. Xgsave
  2162. X74 execuserobject setfont
  2163. X0 nxsetgray
  2164. X[1 0 0 -1 0 424] concat
  2165. X74 execuserobject setfont
  2166. X0 nxsetgray
  2167. X145 214 moveto (XDR) show
  2168. Xgrestore
  2169. Xgrestore
  2170. X[] 0 setdash
  2171. X0 0 0.724409 setup
  2172. X0 setgray
  2173. X135.102386 171.322861 185.81105 200.29921 0 ArcRect stroke
  2174. Xgrestore
  2175. X[] 0 setdash
  2176. X0 0 0.2 setup
  2177. Xgsave
  2178. X74 execuserobject setfont
  2179. X0 nxsetgray
  2180. X[1 0 0 -1 0 364] concat
  2181. X74 execuserobject setfont
  2182. X0 nxsetgray
  2183. X145 185 moveto (UDP) show
  2184. Xgrestore
  2185. Xgrestore
  2186. X[] 0 setdash
  2187. X0 0 0.724409 setup
  2188. X0 setgray
  2189. X135.102386 142.346481 185.81105 171.322861 0 ArcRect stroke
  2190. Xgrestore
  2191. X[] 0 setdash
  2192. X0 0 0.2 setup
  2193. Xgsave
  2194. X74 execuserobject setfont
  2195. X0 nxsetgray
  2196. X[1 0 0 -1 0 307] concat
  2197. X74 execuserobject setfont
  2198. X0 nxsetgray
  2199. X145 156 moveto (IP) show
  2200. Xgrestore
  2201. Xgrestore
  2202. X[] 0 setdash
  2203. X0 0 0.724409 setup
  2204. X0 setgray
  2205. X200.29924 200.29921 251.007904 229.275604 0 ArcRect stroke
  2206. Xgrestore
  2207. X[] 0 setdash
  2208. X0 0 0.2 setup
  2209. Xgsave
  2210. X74 execuserobject setfont
  2211. X0 nxsetgray
  2212. X[1 0 0 -1 0 424] concat
  2213. X74 execuserobject setfont
  2214. X0 nxsetgray
  2215. X209 214 moveto (FTP) show
  2216. Xgrestore
  2217. Xgrestore
  2218. X[] 0 setdash
  2219. X0 0 0.724409 setup
  2220. X0 setgray
  2221. X200.29924 171.322861 251.007904 200.29924 0 ArcRect stroke
  2222. Xgrestore
  2223. X[] 0 setdash
  2224. X0 0 0.724409 setup
  2225. Xgsave
  2226. X74 execuserobject setfont
  2227. X0 nxsetgray
  2228. X[1 0 0 -1 0 365] concat
  2229. X74 execuserobject setfont
  2230. X0 nxsetgray
  2231. X210 185 moveto (TCP) show
  2232. Xgrestore
  2233. Xgrestore
  2234. X[] 0 setdash
  2235. X0 0 0.724409 setup
  2236. X0 setgray
  2237. X200.29924 142.346481 251.007904 171.322861 0 ArcRect stroke
  2238. Xgrestore
  2239. X[] 0 setdash
  2240. X0 0 0.2 setup
  2241. Xgsave
  2242. X74 execuserobject setfont
  2243. X0 nxsetgray
  2244. X[1 0 0 -1 0 307] concat
  2245. X74 execuserobject setfont
  2246. X0 nxsetgray
  2247. X210 156 moveto (IP) show
  2248. Xgrestore
  2249. Xgrestore
  2250. X[] 0 setdash
  2251. X0 0 0.724409 setup
  2252. X0 setgray
  2253. X301.716614 200.29921 352.425262 229.275604 0 ArcRect stroke
  2254. Xgrestore
  2255. X[] 0 setdash
  2256. X0 0 0.724409 setup
  2257. Xgsave
  2258. X74 execuserobject setfont
  2259. X0 nxsetgray
  2260. X[1 0 0 -1 0 424] concat
  2261. X74 execuserobject setfont
  2262. X0 nxsetgray
  2263. X310 214 moveto (FTP) show
  2264. Xgrestore
  2265. Xgrestore
  2266. X[] 0 setdash
  2267. X0 0 0.724409 setup
  2268. X0 setgray
  2269. X301.716614 171.322861 352.425262 200.29921 0 ArcRect stroke
  2270. Xgrestore
  2271. X[] 0 setdash
  2272. X0 0 0.724409 setup
  2273. Xgsave
  2274. X74 execuserobject setfont
  2275. X0 nxsetgray
  2276. X[1 0 0 -1 0 364] concat
  2277. X74 execuserobject setfont
  2278. X0 nxsetgray
  2279. X310 185 moveto (TCP) show
  2280. Xgrestore
  2281. Xgrestore
  2282. X[] 0 setdash
  2283. X0 0 0.724409 setup
  2284. X0 setgray
  2285. X301.716614 142.346481 352.425262 171.322861 0 ArcRect stroke
  2286. Xgrestore
  2287. X[] 0 setdash
  2288. X0 0 0.724409 setup
  2289. Xgsave
  2290. X74 execuserobject setfont
  2291. X0 nxsetgray
  2292. X[1 0 0 -1 0 307] concat
  2293. X74 execuserobject setfont
  2294. X0 nxsetgray
  2295. X310 156 moveto (IP) show
  2296. Xgrestore
  2297. Xgrestore
  2298. X[] 0 setdash
  2299. X0 0 0.724409 setup
  2300. X0 setgray
  2301. X230.000031 229.275635 moveto 230.000031 308.960663 230.000031 308.960663 193.055145 308.960663 curveto stroke
  2302. X/ah {
  2303. X    5 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2304. X} def /aw {
  2305. X    2 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2306. X} def /a0h {
  2307. X    1.5 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2308. X} def /a1h {
  2309. X    5 1.591549 mul currentlinewidth 1 sub 3 div 1 add mul
  2310. X} def /a1w {
  2311. X    2 1.591549 mul currentlinewidth 1 sub 3 div 1 add mul
  2312. X} def /ac {
  2313. X    2 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2314. X} def 270.002655 230.000031 229.275635 0 0 eq {
  2315. X    arrow0
  2316. X} {
  2317. X    0 1 eq {
  2318. X        arrow1
  2319. X    } {
  2320. X        arrow2
  2321. X    } ifelse
  2322. X} ifelse
  2323. Xgrestore
  2324. X[] 0 setdash
  2325. X0 0 0.724409 setup
  2326. X0 setgray
  2327. X157.196884 287.228455 moveto 157.196884 308.960663 157.196884 308.960663 193.055145 308.960663 curveto stroke
  2328. X/ah {
  2329. X    5 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2330. X} def /aw {
  2331. X    2 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2332. X} def /a0h {
  2333. X    1.5 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2334. X} def /a1h {
  2335. X    5 1.591549 mul currentlinewidth 1 sub 3 div 1 add mul
  2336. X} def /a1w {
  2337. X    2 1.591549 mul currentlinewidth 1 sub 3 div 1 add mul
  2338. X} def /ac {
  2339. X    2 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2340. X} def 270.002655 157.196884 287.228455 0 0 eq {
  2341. X    arrow0
  2342. X} {
  2343. X    0 1 eq {
  2344. X        arrow1
  2345. X    } {
  2346. X        arrow2
  2347. X    } ifelse
  2348. X} ifelse
  2349. Xgrestore
  2350. X[] 0 setdash
  2351. X0 0 0.724409 setup
  2352. X0 setgray
  2353. X0 21.7323 55.417343 287.228363 line
  2354. X/ah {
  2355. X    5 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2356. X} def /aw {
  2357. X    2 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2358. X} def /a0h {
  2359. X    1.5 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2360. X} def /a1h {
  2361. X    5 1.591549 mul currentlinewidth 1 sub 3 div 1 add mul
  2362. X} def /a1w {
  2363. X    2 1.591549 mul currentlinewidth 1 sub 3 div 1 add mul
  2364. X} def /ac {
  2365. X    2 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2366. X} def -87.400017 55.417343 287.228363 0 0 eq {
  2367. X    arrow0
  2368. X} {
  2369. X    0 1 eq {
  2370. X        arrow1
  2371. X    } {
  2372. X        arrow2
  2373. X    } ifelse
  2374. X} ifelse
  2375. X/ah {
  2376. X    5 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2377. X} def /aw {
  2378. X    2 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2379. X} def /a0h {
  2380. X    1.5 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2381. X} def /a1h {
  2382. X    5 1.591549 mul currentlinewidth 1 sub 3 div 1 add mul
  2383. X} def /a1w {
  2384. X    2 1.591549 mul currentlinewidth 1 sub 3 div 1 add mul
  2385. X} def /ac {
  2386. X    2 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2387. X} def 92.599983 55.417343 308.960663 0 0 eq {
  2388. X    arrow0
  2389. X} {
  2390. X    0 1 eq {
  2391. X        arrow1
  2392. X    } {
  2393. X        arrow2
  2394. X    } ifelse
  2395. X} ifelse
  2396. Xgrestore
  2397. X[] 0 setdash
  2398. X0 0 0.724409 setup
  2399. X0 setgray
  2400. X0 79.685059 323.448853 229.275604 line
  2401. X/ah {
  2402. X    5 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2403. X} def /aw {
  2404. X    2 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2405. X} def /a0h {
  2406. X    1.5 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2407. X} def /a1h {
  2408. X    5 1.591549 mul currentlinewidth 1 sub 3 div 1 add mul
  2409. X} def /a1w {
  2410. X    2 1.591549 mul currentlinewidth 1 sub 3 div 1 add mul
  2411. X} def /ac {
  2412. X    2 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2413. X} def -89.286469 323.448853 229.275604 0 0 eq {
  2414. X    arrow0
  2415. X} {
  2416. X    0 1 eq {
  2417. X        arrow1
  2418. X    } {
  2419. X        arrow2
  2420. X    } ifelse
  2421. X} ifelse
  2422. X/ah {
  2423. X    5 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2424. X} def /aw {
  2425. X    2 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2426. X} def /a0h {
  2427. X    1.5 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2428. X} def /a1h {
  2429. X    5 1.591549 mul currentlinewidth 1 sub 3 div 1 add mul
  2430. X} def /a1w {
  2431. X    2 1.591549 mul currentlinewidth 1 sub 3 div 1 add mul
  2432. X} def /ac {
  2433. X    2 1.591549 mul currentlinewidth 1 sub 5 div 1 add mul
  2434. X} def 90.713531 323.448853 308.960663 0 0 eq {
  2435. X    arrow0
  2436. X} {
  2437. X    0 1 eq {
  2438. X        arrow1
  2439. X    } {
  2440. X        arrow2
  2441. X    } ifelse
  2442. X} ifelse
  2443. Xgrestore
  2444. X[] 0 setdash
  2445. X0 0 0.724409 setup
  2446. Xgsave
  2447. X74 execuserobject setfont
  2448. X0 nxsetgray
  2449. X[1 0 0 -1 0 643] concat
  2450. X74 execuserobject setfont
  2451. X0 nxsetgray
  2452. X146 325 moveto (Cluster server) show
  2453. Xgrestore
  2454. Xgrestore
  2455. X[] 0 setdash
  2456. X0 0 0.724409 setup
  2457. Xgsave
  2458. X74 execuserobject setfont
  2459. X0 nxsetgray
  2460. X[1 0 0 -1 0 640] concat
  2461. X74 execuserobject setfont
  2462. X0 nxsetgray
  2463. X286 322 moveto (File server) show
  2464. Xgrestore
  2465. Xgrestore
  2466. X[] 0 setdash
  2467. X0 0 0.724409 setup
  2468. Xgsave
  2469. X74 execuserobject setfont
  2470. X0 nxsetgray
  2471. X[1 0 0 -1 0 640] concat
  2472. X74 execuserobject setfont
  2473. X0 nxsetgray
  2474. X42 322 moveto (Client) show
  2475. Xgrestore
  2476. Xgrestore
  2477. X[] 0 setdash
  2478. X0 0 1.811024 setup
  2479. X[] 0 setdash
  2480. X0 0 1.811024 setup
  2481. X0 setgray
  2482. X94.173233 0 62.661438 127.858261 line
  2483. Xgrestore
  2484. X[] 0 setdash
  2485. X0 0 1.811024 setup
  2486. X0 setgray
  2487. X0 14.48822 62.661438 127.858261 line
  2488. X/ah {
  2489. X    5 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2490. X} def /aw {
  2491. X    2 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2492. X} def /a0h {
  2493. X    1.5 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2494. X} def /a1h {
  2495. X    5 1.394366 mul currentlinewidth 1 sub 3 div 1 add mul
  2496. X} def /a1w {
  2497. X    2 1.394366 mul currentlinewidth 1 sub 3 div 1 add mul
  2498. X} def /ac {
  2499. X    2 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2500. X} def 93.573784 62.661438 142.346481 0 0 eq {
  2501. X    arrow0
  2502. X} {
  2503. X    0 1 eq {
  2504. X        arrow1
  2505. X    } {
  2506. X        arrow2
  2507. X    } ifelse
  2508. X} ifelse
  2509. Xgrestore
  2510. X[] 0 setdash
  2511. X0 0 1.811024 setup
  2512. X0 nxsetgray
  2513. X0 14.48822 156.834671 127.858261 line
  2514. X/ah {
  2515. X    5 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2516. X} def /aw {
  2517. X    2 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2518. X} def /a0h {
  2519. X    1.5 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2520. X} def /a1h {
  2521. X    5 1.394366 mul currentlinewidth 1 sub 3 div 1 add mul
  2522. X} def /a1w {
  2523. X    2 1.394366 mul currentlinewidth 1 sub 3 div 1 add mul
  2524. X} def /ac {
  2525. X    2 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2526. X} def 93.573784 156.834671 142.346481 0 0 eq {
  2527. X    arrow0
  2528. X} {
  2529. X    0 1 eq {
  2530. X        arrow1
  2531. X    } {
  2532. X        arrow2
  2533. X    } ifelse
  2534. X} ifelse
  2535. Xgrestore
  2536. Xgrestore
  2537. X[] 0 setdash
  2538. X0 0 1.811024 setup
  2539. X[] 0 setdash
  2540. X0 0 1.811024 setup
  2541. X0 setgray
  2542. X94.173279 0 229.275635 127.858299 line
  2543. Xgrestore
  2544. X[] 0 setdash
  2545. X0 0 1.811024 setup
  2546. X0 setgray
  2547. X0 15.936989 229.275635 127.858299 line
  2548. X/ah {
  2549. X    5 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2550. X} def /aw {
  2551. X    2 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2552. X} def /a0h {
  2553. X    1.5 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2554. X} def /a1h {
  2555. X    5 1.394366 mul currentlinewidth 1 sub 3 div 1 add mul
  2556. X} def /a1w {
  2557. X    2 1.394366 mul currentlinewidth 1 sub 3 div 1 add mul
  2558. X} def /ac {
  2559. X    2 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2560. X} def 93.363907 229.275635 143.795288 0 0 eq {
  2561. X    arrow0
  2562. X} {
  2563. X    0 1 eq {
  2564. X        arrow1
  2565. X    } {
  2566. X        arrow2
  2567. X    } ifelse
  2568. X} ifelse
  2569. Xgrestore
  2570. X[] 0 setdash
  2571. X0 0 1.811024 setup
  2572. X0 nxsetgray
  2573. X-1.086578 15.936989 324.535492 127.858299 line
  2574. X/ah {
  2575. X    5 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2576. X} def /aw {
  2577. X    2 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2578. X} def /a0h {
  2579. X    1.5 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2580. X} def /a1h {
  2581. X    5 1.394366 mul currentlinewidth 1 sub 3 div 1 add mul
  2582. X} def /a1w {
  2583. X    2 1.394366 mul currentlinewidth 1 sub 3 div 1 add mul
  2584. X} def /ac {
  2585. X    2 1.394366 mul currentlinewidth 1 sub 5 div 1 add mul
  2586. X} def 96.707382 323.448914 143.795288 0 0 eq {
  2587. X    arrow0
  2588. X} {
  2589. X    0 1 eq {
  2590. X        arrow1
  2591. X    } {
  2592. X        arrow2
  2593. X    } ifelse
  2594. X} ifelse
  2595. Xgrestore
  2596. Xgrestore
  2597. X/k {
  2598. X    1 1 gt {
  2599. X        1 1 sub 2 div 1 add
  2600. X    } {
  2601. X        1
  2602. X    } ifelse
  2603. X} def [ 2 k mul 2 k mul ] 0 setdash
  2604. X0 0 1.448819 setup
  2605. X0 nxsetgray
  2606. X-279.984283 0 375.244141 201.385849 line
  2607. Xgrestore
  2608. X/k {
  2609. X    1 1 gt {
  2610. X        1 1 sub 2 div 1 add
  2611. X    } {
  2612. X        1
  2613. X    } ifelse
  2614. X} def [ 2 k mul 2 k mul ] 0 setdash
  2615. X0 0 1.448819 setup
  2616. X0 nxsetgray
  2617. X0 93.81102 96.346474 202.472458 line
  2618. Xgrestore
  2619. X/k {
  2620. X    1 1 gt {
  2621. X        1 1 sub 2 div 1 add
  2622. X    } {
  2623. X        1
  2624. X    } ifelse
  2625. X} def [ 2 k mul 2 k mul ] 0 setdash
  2626. X0 0 1.448819 setup
  2627. X0 nxsetgray
  2628. X-73.165359 0 96.346474 296.283478 line
  2629. Xgrestore
  2630. X/k {
  2631. X    1 1 gt {
  2632. X        1 1 sub 2 div 1 add
  2633. X    } {
  2634. X        1
  2635. X    } ifelse
  2636. X} def [ 2 k mul 2 k mul ] 0 setdash
  2637. X0 0 1.448819 setup
  2638. Xgsave
  2639. X74 execuserobject setfont
  2640. X0 nxsetgray
  2641. X[1 0 0 -1 0 232] concat
  2642. X/Helvetica-Bold findfont 10 scalefont [1 0 0 -1 0 0] makefont
  2643. X76
  2644. Xexch
  2645. Xdefineuserobject
  2646. X76 execuserobject setfont
  2647. X0 nxsetgray
  2648. X54 118 moveto (communication channel) show
  2649. Xgrestore
  2650. Xgrestore
  2651. X/k {
  2652. X    1 1 gt {
  2653. X        1 1 sub 2 div 1 add
  2654. X    } {
  2655. X        1
  2656. X    } ifelse
  2657. X} def [ 2 k mul 2 k mul ] 0 setdash
  2658. X0 0 1.448819 setup
  2659. Xgsave
  2660. X76 execuserobject setfont
  2661. X0 nxsetgray
  2662. X[1 0 0 -1 0 232] concat
  2663. X76 execuserobject setfont
  2664. X0 nxsetgray
  2665. X222 118 moveto (communication channel) show
  2666. Xgrestore
  2667. Xgrestore
  2668. X/k {
  2669. X    1 1 gt {
  2670. X        1 1 sub 2 div 1 add
  2671. X    } {
  2672. X        1
  2673. X    } ifelse
  2674. X} def [ 2 k mul 2 k mul ] 0 setdash
  2675. X0 0 1.448819 setup
  2676. Xgsave
  2677. X76 execuserobject setfont
  2678. X0 nxsetgray
  2679. X[1 0 0 -1 0 423] concat
  2680. X74 execuserobject setfont
  2681. X0 nxsetgray
  2682. X362 216 moveto (User) show
  2683. Xgrestore
  2684. Xgrestore
  2685. X/k {
  2686. X    1 1 gt {
  2687. X        1 1 sub 2 div 1 add
  2688. X    } {
  2689. X        1
  2690. X    } ifelse
  2691. X} def [ 2 k mul 2 k mul ] 0 setdash
  2692. X0 0 1.448819 setup
  2693. Xgsave
  2694. X74 execuserobject setfont
  2695. X0 nxsetgray
  2696. X[1 0 0 -1 0 377] concat
  2697. X74 execuserobject setfont
  2698. X0 nxsetgray
  2699. X363 193 moveto (Kernel) show
  2700. Xgrestore
  2701. Xgrestore
  2702. X/k {
  2703. X    1 1 gt {
  2704. X        1 1 sub 2 div 1 add
  2705. X    } {
  2706. X        1
  2707. X    } ifelse
  2708. X} def [ 2 k mul 2 k mul ] 0 setdash
  2709. X0 0 1.448819 setup
  2710. Xgsave
  2711. X74 execuserobject setfont
  2712. X0 nxsetgray
  2713. X[1 0 0 -1 0 603] concat
  2714. X31 execuserobject setfont
  2715. X0 nxsetgray
  2716. X418 279 moveto (Combination of LAN- and) show
  2717. X418 308 moveto (WAN-standard protocols) show
  2718. X418 337 moveto (open new possibilities.) show
  2719. Xgrestore
  2720. Xgrestore
  2721. X/k {
  2722. X    1 1 gt {
  2723. X        1 1 sub 2 div 1 add
  2724. X    } {
  2725. X        1
  2726. X    } ifelse
  2727. X} def [ 2 k mul 2 k mul ] 0 setdash
  2728. X0 0 1.448819 setup
  2729. Xgsave
  2730. X31 execuserobject setfont
  2731. X0 nxsetgray
  2732. X[1 0 0 -1 0 287] concat
  2733. X73 execuserobject setfont
  2734. X0 nxsetgray
  2735. X418 56 moveto (Our novel implementation technology made it the) show
  2736. X418 70 moveto (practical solution; the combination of NFS, the) show
  2737. X418 84 moveto (industrial standard distributed file system and FTP,) show
  2738. X418 98 moveto (the Internet standard file transfer protocol. We made) show
  2739. X418 112 moveto (it possible to access existing public Internet archives) show
  2740. X418 126 moveto (without modifying client's operating system.) show
  2741. X418 140 moveto (Combination of other protocols are also possible; we) show
  2742. X418 154 moveto (provide the framework for multi-protocol software.) show
  2743. X418 182 moveto (WWFS will rescue the Internet from backward) show
  2744. X418 196 moveto (compatibility issues, and accelerate the evolution of) show
  2745. X418 210 moveto (the Internet. With the advent of innovative network) show
  2746. X418 224 moveto (services, it will eventually open up new application) show
  2747. X418 238 moveto (areas.) show
  2748. Xgrestore
  2749. Xgrestore
  2750. X1 setgray
  2751. X0 setgray
  2752. X0.333333 setgray
  2753. Xgsave
  2754. X0 0 717.165344 1032.283447 rectclip
  2755. X[1 0 0 -1 0 1032.283447] concat
  2756. Xgsave
  2757. X1 nxsetgray
  2758. X416 111.283447 284 94 rectfill
  2759. X31 execuserobject setfont
  2760. X0 nxsetgray
  2761. X418 134.283447 moveto (Traditional file transfer) show
  2762. X418 163.283447 moveto (service results in) show
  2763. X418 192.283447 moveto (waste of bandwidth.) show
  2764. Xgrestore
  2765. Xgrestore
  2766. Xgrestore
  2767. Xshowpage
  2768. X__NXsheetsavetoken restore
  2769. X%%PageTrailer
  2770. X%%DocumentFonts: Helvetica-Bold
  2771. X%%+ Times-Bold
  2772. X%%+ Times-Roman
  2773. X%%Trailer
  2774. X%%DocumentFonts: Helvetica-Bold
  2775. X%%+ Times-Bold
  2776. X%%+ Times-Roman
  2777. X%%Pages: 1 1
  2778. X%%BoundingBox:16 17 579 825
  2779. X
  2780. END_OF_FILE
  2781.   if test 76144 -ne `wc -c <'doc/panel.ps.C'`; then
  2782.     echo shar: \"'doc/panel.ps.C'\" unpacked with wrong size!
  2783.   elif test -f 'doc/panel.ps.A' && test -f 'doc/panel.ps.B'; then
  2784.     echo shar: Combining  \"'doc/panel.ps'\" \(235281 characters\)
  2785.     cat 'doc/panel.ps.A' 'doc/panel.ps.B' 'doc/panel.ps.C' > 'doc/panel.ps'
  2786.     if test 235281 -ne `wc -c <'doc/panel.ps'`; then
  2787.       echo shar: \"'doc/panel.ps'\" combined with wrong size!
  2788.     else
  2789.       rm doc/panel.ps.A doc/panel.ps.B doc/panel.ps.C
  2790.     fi
  2791.   fi
  2792.   # end of 'doc/panel.ps.C'
  2793. fi
  2794. if test -f 'saps/kill-csd.sh' -a "${1}" != "-c" ; then 
  2795.   echo shar: Will not clobber existing file \"'saps/kill-csd.sh'\"
  2796. else
  2797.   echo shar: Extracting \"'saps/kill-csd.sh'\" \(63 characters\)
  2798.   sed "s/^X//" >'saps/kill-csd.sh' <<'END_OF_FILE'
  2799. X#!/bin/sh
  2800. X#
  2801. X. /etc/csd.conf
  2802. Xkill $* `cat $WWFSDIR/log/csd.pid`
  2803. END_OF_FILE
  2804.   if test 63 -ne `wc -c <'saps/kill-csd.sh'`; then
  2805.     echo shar: \"'saps/kill-csd.sh'\" unpacked with wrong size!
  2806.   fi
  2807.   chmod +x 'saps/kill-csd.sh'
  2808.   # end of 'saps/kill-csd.sh'
  2809. fi
  2810. echo shar: End of archive 5 \(of 22\).
  2811. cp /dev/null ark5isdone
  2812. MISSING=""
  2813. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ; do
  2814.     if test ! -f ark${I}isdone ; then
  2815.     MISSING="${MISSING} ${I}"
  2816.     fi
  2817. done
  2818. if test "${MISSING}" = "" ; then
  2819.     echo You have unpacked all 22 archives.
  2820.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  2821. else
  2822.     echo You still must unpack the following archives:
  2823.     echo "        " ${MISSING}
  2824. fi
  2825. exit 0
  2826. exit 0 # Just in case...
  2827.